Merge branch 'shf' of https://sinanoaq.cn:8888/r/ztqt into shf
| | |
| | | // IMG_API: '"http://220.171.99.118:4100/upload/"', |
| | | // BASE_API: '"http://192.168.0.35:8006"', |
| | | // IMG_API: '"http://192.168.0.35:8006/upload/"', |
| | | BASE_API: '"http://222.92.213.21:8006/zhongtai"', |
| | | IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"', |
| | | // BASE_API: '"http://222.92.213.21:8006/zhongtai"', |
| | | // IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"', |
| | | BASE_API: '"http://192.168.2.66:8006"', |
| | | IMG_API: '"http://192.168.2.66:8006/upload/"', |
| | | // BASE_API: '"http://220.171.99.118:4101/api"', |
| | | // IMG_API: '"http://220.171.99.118:4101/api/upload/"', |
| | | }; |
| | |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | } |
| | | |
| | | export function emergencyPlanUpload(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/emergencyPlan/upload', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
对比新文件 |
| | |
| | | import {getToken} from "../utils/auth"; |
| | | import request from '@/utils/request' |
| | | |
| | | export function majorEquipmentList(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipment/page', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentAdd(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipment/add', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentMod(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipment/mod', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentDel(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipment/del', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | export function majorEquipmentErt(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipment/getMajorEquipment', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | export function majorEquipmentLis() { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/getUserList', |
| | | method: 'post', |
| | | }); |
| | | } |
对比新文件 |
| | |
| | | import {getToken} from "../utils/auth"; |
| | | import request from '@/utils/request' |
| | | |
| | | export function majorEquipmentList(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentAlarm/page', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentAdd(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentAlarm/add', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentMod(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentAlarm/mod', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentDel(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentAlarm/del', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
对比新文件 |
| | |
| | | import {getToken} from "../utils/auth"; |
| | | import request from '@/utils/request' |
| | | |
| | | export function majorEquipmentList(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentData/page', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentAdd(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentData/add', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentMod(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentData/mod', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentDel(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentData/del', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function majorEquipmentImport(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/majorEquipmentData/import', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | |
| | | return roles.some(role => permissionRoles.indexOf(role) >= 0) |
| | | } |
| | | |
| | | const whiteList = ['/login', '/auth-redirect','/agreement','/register'] // no redirect whitelist |
| | | const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/equipmentAlarm'] // no redirect whitelist |
| | | |
| | | router.beforeEach((to, from, next) => { |
| | | NProgress.start() // start progress bar |
| | |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/productionEquipment', |
| | | // 重大生产设备 |
| | | component: () => import('@/views/productionEquipment'), |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/instrumentData', |
| | | // 重大仪表实时数据 |
| | | component: () => import('@/views/instrumentData'), |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/equipmentAlarm', |
| | | // 设备报警信息 |
| | | component: () => import('@/views/equipmentAlarm'), |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/', |
| | | component: Layout, |
| | | redirect: '/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/analyseUnit/index', |
| | |
| | | component: () => import('@/views/safetyproduction/reviewXG'), |
| | | meta: { title: '自查清单_修改', icon: '' } |
| | | } |
| | | ] |
| | | ] |
| | | }, |
| | | { |
| | | id: 2, |
| | | parentId: 0, |
| | | path: '/majorHazardSourceMonitoring', |
| | | component: Layout, |
| | | name: '重大危险源监测', |
| | | meta: { title: '重大危险源监测', icon: 'el-icon-dash' }, |
| | | children: [ |
| | | { |
| | | id: 1, |
| | | parentId: 0, |
| | | path: '/productionEquipment', |
| | | name: '生产设备', |
| | | component: () => import('@/views/majorHazardSourceMonitoring/productionEquipment'), |
| | | meta: { title: '生产设备', icon: '' } |
| | | }, |
| | | { |
| | | id: 2, |
| | | parentId: 0, |
| | | path: '/equipmentAlarm', |
| | | name: '设备报警信息', |
| | | component: () => import('@/views/majorHazardSourceMonitoring/equipmentAlarm'), |
| | | meta: { title: '设备报警信息', icon: '' } |
| | | }, |
| | | { |
| | | id: 3, |
| | | parentId: 0, |
| | | path: '/instrumentData', |
| | | name: '仪表实时数据', |
| | | component: () => import('@/views/majorHazardSourceMonitoring/instrumentData'), |
| | | meta: { title: '仪表实时数据', icon: '' } |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | | |
| | | export default new Router({ |
| | |
| | | :total="recordTotal" |
| | | > |
| | | </el-pagination> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible" width="30%"> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible" width="40%"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="预案名称" prop="name"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="文件类型"> |
| | | <el-radio-group v-model="form.fileType"> |
| | | <el-radio label="0">图片</el-radio> |
| | | <el-radio label="1">文件</el-radio> |
| | | <el-radio :label=0 >图片</el-radio> |
| | | <el-radio :label=1 >文件</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.fileType==0" label="图片上传"> |
| | | <el-input ></el-input> |
| | | <upload-img v-bind:imgList="form.fileList" @uploadImgSuccess="uploadImgSuccess" @removeImgSuccess="removeImgSuccess"></upload-img> |
| | | </el-form-item> |
| | | <el-form-item label="文件链接" v-if="form.fileType==1"> |
| | | <SingleImageUpload></SingleImageUpload> |
| | | <upload-file v-bind:url="fileUrl" v-bind:name="fileName" @uploadFileSuccess="uploadFileSuccess" ></upload-file> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" :rows="5" type="textarea"></el-input> |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import SingleImageUpload from "@/components/Upload/singleImage.vue"; |
| | | import uploadImg from "@/views/contingencyplan/uploadImg.vue"; |
| | | import uploadFile from "@/views/contingencyplan/uploadFile.vue"; |
| | | import { |
| | | emergencyPlanList, |
| | | emergencyPlanAdd, |
| | |
| | | emergencyPlanDel, |
| | | } from "@/api/emergencyplan.js"; |
| | | export default { |
| | | components: { SingleImageUpload }, |
| | | components: { uploadImg , uploadFile}, |
| | | data() { |
| | | return { |
| | | name:"111", |
| | | url:"222", |
| | | path:"emergencyPlan", |
| | | |
| | | dialogVisible: false, |
| | | title: "", |
| | | pageSize: 10, |
| | |
| | | form: { |
| | | name: "", |
| | | fileType: 0, |
| | | fileList: [{ fileName: "", fileUrl: "" }], |
| | | fileList: [], |
| | | remark: "", |
| | | }, |
| | | listQuery: { |
| | |
| | | name: "", |
| | | }, |
| | | }, |
| | | fileName:"", |
| | | fileUrl:"", |
| | | list: [], |
| | | rules: { |
| | | name: [ |
| | |
| | | this.emergencyPlan(); |
| | | }, |
| | | methods: { |
| | | |
| | | uploadFileSuccess(res){ |
| | | this.fileName=res.fileName |
| | | this.fileUrl=res.fileUrl |
| | | if (this.fileName=="" || this.fileUrl==""){ |
| | | this.form.fileList=[] |
| | | } |
| | | this.form.fileList=[{ |
| | | fileName: this.fileName, |
| | | fileUrl:this.fileUrl |
| | | }] |
| | | }, |
| | | |
| | | uploadImgSuccess(res){ |
| | | let file = { |
| | | fileUrl : res.fileUrl, |
| | | fileName : res.fileName |
| | | } |
| | | this.form.fileList.push(file) |
| | | }, |
| | | |
| | | removeImgSuccess(res){ |
| | | this.form.fileList=res.fileList |
| | | }, |
| | | |
| | | async emergencyPlan() { |
| | | var res = await emergencyPlanList(this.listQuery); |
| | | console.log(res); |
| | | if (res.data.code === "200") { |
| | | this.list = res.data.result.records; |
| | | this.recordTotal = res.data.result.total |
| | |
| | | this.title = "新增"; |
| | | this.form = { |
| | | name: "", |
| | | fileType: "0", |
| | | fileList: [{ fileName: "", fileUrl: "" }], |
| | | fileType: 0, |
| | | fileList: [], |
| | | remark: "", |
| | | }; |
| | | } else { |
| | | this.title = "编辑"; |
| | | this.form = value; |
| | | this.fileUrl=value.fileList[0].fileUrl; |
| | | this.fileName=value.fileList[0].fileName |
| | | } |
| | | }, |
| | | addemergencyPlan() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | console.log(132,this.form) |
| | | if (this.title === "新增") { |
| | | emergencyPlanAdd(this.form).then((res) => { |
| | | if (res.data.code === "200") { |
| | |
| | | background-color: #034EA2; |
| | | border: 1px solid #034EA2; |
| | | } |
| | | </style> |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="display: flex"> |
| | | <el-input :disabled="true" type="text" size="medium" v-model="viewName" style="width: 60%" ></el-input> |
| | | <el-upload |
| | | v-if="!disabled" |
| | | action="" |
| | | multiple |
| | | :limit="1" |
| | | :file-list="fileList" |
| | | :http-request="uploadSectionFile" |
| | | :show-file-list="false" |
| | | :before-upload="beforeUpload" |
| | | :on-success="handleSuccess" |
| | | :on-error="handleError" |
| | | > |
| | | <div style=""> |
| | | <el-button v-if="!fileName" type="primary" size="small" style="margin-left:25px;;width:65px;height:36px;display: flex;align-items: center;justify-content: center">上传<i class="el-icon-upload el-icon--right"></i></el-button> |
| | | </div> |
| | | </el-upload> |
| | | |
| | | <div style="display: flex"> |
| | | <a v-if="!disabled&&fileName"> |
| | | <el-button @click="downLoadFile(downloadUrl)" slot="tip" type="primary" size="small" style="margin-left:25px;width:65px;height:36px;display: flex;align-items: center;justify-content: center"> |
| | | 下载<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </a> |
| | | <el-button v-if="!disabled&&fileName" slot="tip" type="primary" size="small " @click="handleClear" style="margin-left:5px;width:65px;height:36px;display: flex;align-items: center;justify-content: center" |
| | | >清除<i class="el-icon-delete el-icon--right"></i></el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import {emergencyPlanUpload} from "@/api/emergencyplan.js"; |
| | | |
| | | export default { |
| | | props: { |
| | | name: { |
| | | type: String |
| | | }, |
| | | url: { |
| | | type: String |
| | | }, |
| | | disabled: { |
| | | type: Boolean |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | action: '', |
| | | viewName:'', |
| | | fileName: '', |
| | | filePath: '', |
| | | downloadUrl: '', |
| | | fileList: [], |
| | | } |
| | | }, |
| | | mounted() { |
| | | setTimeout(() => { |
| | | this.fileName = this.$props.name; |
| | | this.downloadUrl = this.$props.url; |
| | | this.viewName=this.$props.name |
| | | }, 100); |
| | | }, |
| | | watch: { |
| | | name() { |
| | | this.fileName = this.$props.name; |
| | | this.downloadUrl = this.$props.url; |
| | | this.viewName=this.$props.name; |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | downLoadFile(fileUrl){ |
| | | console.log(123,fileUrl) |
| | | let a = document.createElement('a') |
| | | // a.href = this.defaultUrl+`/upload/downloadNew?path=`+encodeURI(fileUrl) |
| | | a.href = process.env.BASE_API + '/upload/'+fileUrl |
| | | a.click(); |
| | | }, |
| | | |
| | | downloadFile(){ |
| | | |
| | | }, |
| | | uploadSectionFile(param) { |
| | | let form = new FormData(); |
| | | form.append('file', param.file); |
| | | emergencyPlanUpload(form).then(res=>{ |
| | | if (res.data.code==200){ |
| | | this.fileName = res.data.result.fileName; |
| | | this.viewName=res.data.result.fileName; |
| | | this.downloadUrl=res.data.result.fileUrl |
| | | this.$nextTick(() => { |
| | | this.$emit('uploadFileSuccess', { |
| | | fileName: this.fileName, |
| | | fileUrl: this.downloadUrl |
| | | }); |
| | | }); |
| | | this.$message({ |
| | | type:'success', |
| | | message:'上传成功', |
| | | duration:2000, |
| | | }) |
| | | }else { |
| | | this.$message.error('上传失败,系统未知错误!错误码为【500】'); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleClear(){ |
| | | this.fileName = ''; |
| | | this.fileList = []; |
| | | this.viewName="" |
| | | this.$emit('uploadFileSuccess', { |
| | | fileUrl: '', |
| | | fileName: '' |
| | | }); |
| | | }, |
| | | |
| | | beforeUpload(file) { |
| | | }, |
| | | handleError(err, file, fileList) { |
| | | this.$message.error('上传失败,系统未知错误!错误码为【500】'); |
| | | }, |
| | | handleSuccess(err, file, fileList) { |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
对比新文件 |
| | |
| | | <template> |
| | | <div > |
| | | <el-upload |
| | | action="" |
| | | :disabled="disabled" |
| | | list-type="picture-card" |
| | | :file-list="fileList" |
| | | :http-request="handleUpload" |
| | | :beforeUpload="beforeUploadImg" |
| | | :on-success="handleSuccess" |
| | | :on-error="handleError" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | > |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible" :modal="false"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | |
| | | import {emergencyPlanUpload} from "@/api/emergencyplan.js"; |
| | | |
| | | export default { |
| | | props: { |
| | | disabled: {//是否可用 |
| | | type: Boolean, |
| | | default:false |
| | | }, |
| | | imgList: {//存储路径 |
| | | type: Array, |
| | | default:[] |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogImageUrl: '', |
| | | dialogVisible: false, |
| | | |
| | | fileList:[], |
| | | fileUrl:"", |
| | | fileName:"", |
| | | |
| | | }; |
| | | }, |
| | | watch:{}, |
| | | created:function () {}, |
| | | mounted(){ |
| | | |
| | | if (this.imgList!=null){ |
| | | for(let i = 0 ;i < this.imgList.length ; i++){ |
| | | this.imgList[i].url = process.env.IMG_API + 'emergencyPlan/'+this.imgList[i].fileName |
| | | this.fileList.push(this.imgList[i]) |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | handleRemove(file, fileList) { |
| | | for (let a = 0;a<this.fileList.length;a++){ |
| | | if(file.uid == this.fileList[a].uid){ |
| | | this.fileList.splice(a,1); |
| | | } |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$emit('removeImgSuccess', { |
| | | fileList:this.fileList |
| | | }); |
| | | }); |
| | | }, |
| | | handlePreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | beforeUploadImg(file) { |
| | | const isJPG = file.type === 'image/jpeg'; |
| | | const isPNG = file.type === 'image/png'; |
| | | if (!isJPG && !isPNG) { |
| | | this.$message.error('上传图片只能是 JPG 或者 PNG 格式!'); |
| | | } |
| | | return (isJPG || isPNG) ; |
| | | }, |
| | | handleError(err, file, fileList){ |
| | | this.$message.error('上传失败,系统未知错误!错误码为【500】'); |
| | | }, |
| | | handleUpload(param){ |
| | | let formData = new FormData(); |
| | | formData.append('file', param.file); //添加键值 |
| | | emergencyPlanUpload(formData).then(res=>{ |
| | | if (res.data.code==200){ |
| | | this.fileUrl = res.data.result.fileUrl |
| | | this.fileName = res.data.result.fileName |
| | | this.fileList.push( |
| | | { |
| | | fileUrl: res.data.result.fileUrl, |
| | | fileName:res.data.result.fileName, |
| | | url:process.env.IMG_API + 'emergencyPlan/'+res.data.result.fileName |
| | | } |
| | | ) |
| | | this.$nextTick(() => { |
| | | this.$emit('uploadImgSuccess', { |
| | | fileName: this.fileName, |
| | | fileUrl: this.fileUrl |
| | | }); |
| | | }); |
| | | this.$message({ |
| | | type:'success', |
| | | message:'上传成功', |
| | | duration:2000, |
| | | }) |
| | | } else{ |
| | | this.$message.error('上传失败,系统未知错误!'); |
| | | } |
| | | }) |
| | | }, |
| | | handleSuccess(response, file, fileList) { |
| | | }, |
| | | } |
| | | } |
| | | </script> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="设备名称"> |
| | | <el-input v-model="listQuery.filter.equipmentName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="状态"> |
| | | <el-select v-model="listQuery.filter.status" placeholder="请选择状态"> |
| | | <el-option v-for="item in unitIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center"> |
| | | <el-button type="primary" icon="el-icon-search" @click="find()" class="btns" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | class="btns" |
| | | @click="handleClick('', '新增')" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-table :data="list" border style="width: 100%"> |
| | | <el-table-column prop="equipmentName" align="center" label="设备名称"> |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.status == 0">已处理</span> |
| | | <span v-if="scope.row.status == 1">未处理</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="alarmTime" label="报警时间" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="alarmInfo" label="报警信息" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注" align="center"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleClick(scope.row, '编辑')" |
| | | type="text" |
| | | size="small" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | @click="deleteById(scope.row.id)" |
| | | style="color: red" |
| | | >删除</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="text-align:right"> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="recordTotal" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | > |
| | | <el-form ref="form" :rules="rules" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备名称" prop="equipmentId"> |
| | | <el-select |
| | | v-model="form.equipmentId" |
| | | placeholder="请选择设备名称" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in equipmentName" |
| | | :key="item.value" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select |
| | | v-model="form.status" |
| | | placeholder="请选择设备状态" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in unitIdOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="报警时间" prop="alarmTime"> |
| | | <el-date-picker |
| | | v-model="form.alarmTime" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="报警信息" prop="alarmInfo"> |
| | | <el-input v-model="form.alarmInfo" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input type="textarea" v-model="form.remark" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" class="btns" @click="AddelementManagement()" |
| | | >确 定</el-button |
| | | > |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { |
| | | majorEquipmentList, |
| | | majorEquipmentAdd, |
| | | majorEquipmentMod, |
| | | majorEquipmentDel, |
| | | } from "@/api/majorEquipmentAlarm.js"; |
| | | import { majorEquipmentErt } from "@/api/majorEquipment.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | title: "", |
| | | form: { |
| | | equipmentId: "", |
| | | status: "", |
| | | alarmTime: "", |
| | | alarmInfo:"", |
| | | remark:"", |
| | | }, |
| | | alarmTime:"", |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | list: [], |
| | | listQuery: { |
| | | filter: { |
| | | equipmentName: "", |
| | | }, |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | type:'', |
| | | rules: { |
| | | |
| | | }, |
| | | equipmentName:[], |
| | | unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.elementManagementL(); |
| | | }, |
| | | methods: { |
| | | async elementManagementL() { |
| | | var res = await majorEquipmentList(this.listQuery); |
| | | console.log(res); |
| | | if (res.data.code == 200) { |
| | | this.list = res.data.result.records; |
| | | this.recordTotal = res.data.result.total |
| | | this.pageSize=res.data.result.size; |
| | | this.currentPage = res.data.result.current |
| | | } |
| | | }, |
| | | handleClick(value, type) { |
| | | this.dialogVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs["form"].clearValidate(); |
| | | }); |
| | | majorEquipmentErt().then(res=>{ |
| | | console.log(res) |
| | | this.equipmentName=res.data.result |
| | | }) |
| | | if (type == "新增") { |
| | | this.title = "新增"; |
| | | this.form = { |
| | | equipmentId: "", |
| | | status:'', |
| | | remark:"", |
| | | alarmTime:"", |
| | | alarmInfo:"" |
| | | }; |
| | | } else { |
| | | this.title = "编辑"; |
| | | this.form = value; |
| | | } |
| | | }, |
| | | AddelementManagement() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.title == "新增") { |
| | | majorEquipmentAdd(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "新增成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | majorEquipmentMod(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "编辑成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | his.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | deleteById(val) { |
| | | majorEquipmentDel({id:val}).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | title: "成功", |
| | | message: "删除成功", |
| | | type: "success", |
| | | duration: 2000, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | find(){ |
| | | this.elementManagementL(); |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.listQuery.pageSize = val |
| | | this.elementManagementL(); |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.listQuery.pageIndex = val |
| | | this.elementManagementL(); |
| | | }, |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .btns { |
| | | background-color: #034ea2; |
| | | border: 1px solid #034ea2; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="设备名称"> |
| | | <el-input v-model="listQuery.filter.equipmentName"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" style="text-align: center"> |
| | | <el-button type="primary" icon="el-icon-search" @click="find()" class="btns" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | class="btns" |
| | | @click="handleClick('', '新增')" |
| | | >新增</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | class="btns" |
| | | @click="importData()" |
| | | >导入</el-button |
| | | > |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-table :data="list" border style="width: 100%"> |
| | | <el-table-column label="设备编号" align="center" prop="equipmentSerialNumber"> |
| | | </el-table-column> |
| | | <el-table-column prop="equipmentName" label="设备名称" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="rangeLowerLimit" label="仪表量程下限" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="rangeUpperLimit" label="仪表量程上限" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="highHighLiquidAlarm" label="高高液位报警值" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="highLiquidAlarm" label="高液位报警值" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="lowLiquidAlarm" label="低液位报警值" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="lowLowLiquidAlarm" label="低低液位报警值" align="center"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleClick(scope.row, '编辑')" |
| | | type="text" |
| | | size="small" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | @click="deleteById(scope.row.id)" |
| | | style="color: red" |
| | | >删除</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="text-align:right"> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="recordTotal" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | > |
| | | <el-form ref="form" :rules="rules" :model="form" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备名称" prop="equipmentId"> |
| | | <el-select |
| | | v-model="form.equipmentId" |
| | | placeholder="请选择设备名称" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in equipmentName" |
| | | :key="item.value" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检测时间" prop="monitoringTime"> |
| | | <el-date-picker |
| | | v-model="form.monitoringTime" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="选择日期时间" |
| | | style="width: 100%;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="仪表量程下限" prop="rangeLowerLimit"> |
| | | <el-input v-model.number="form.rangeLowerLimit" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="仪表量程上限" prop="rangeLowerLimit"> |
| | | <el-input v-model.number="form.rangeUpperLimit" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="高高液位报警值" prop="rangeUpperLimit"> |
| | | <el-input v-model.number="form.highHighLiquidAlarm" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="高液位报警值" prop="alarmInfo"> |
| | | <el-input v-model.number="form.highLiquidAlarm" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="低液位报警值" prop="alarmInfo"> |
| | | <el-input v-model.number="form.lowLiquidAlarm" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="低低液位报警值" prop="alarmInfo"> |
| | | <el-input v-model.number="form.lowLowLiquidAlarm" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" class="btns" @click="AddelementManagement()" |
| | | >确 定</el-button |
| | | > |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { |
| | | majorEquipmentList, |
| | | majorEquipmentAdd, |
| | | majorEquipmentImport, |
| | | majorEquipmentMod, |
| | | majorEquipmentDel, |
| | | } from "@/api/majorEquipmentData.js"; |
| | | import { majorEquipmentErt } from "@/api/majorEquipment.js"; |
| | | import XLSX from 'xlsx' |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | title: "", |
| | | form: { |
| | | equipmentId: "", |
| | | monitoringTime:"", |
| | | rangeLowerLimit: "", |
| | | rangeUpperLimit: "", |
| | | highHighLiquidAlarm:"", |
| | | highLiquidAlarm:"", |
| | | lowLiquidAlarm:"", |
| | | lowLowLiquidAlarm:"", |
| | | }, |
| | | alarmTime:"", |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | list: [], |
| | | listQuery: { |
| | | filter: { |
| | | equipmentId: "", |
| | | status:'', |
| | | }, |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | // type:'', |
| | | rules: { |
| | | rangeLowerLimit:{ type: 'number', message: '仪表量程下限必须为数字值'}, |
| | | rangeUpperLimit:{ type: 'number', message: '仪表量程上限必须为数字值'}, |
| | | highHighLiquidAlarm:{ type: 'number', message: '高高液位报警值必须为数字值'}, |
| | | highLiquidAlarm:{ type: 'number', message: '高液位报警值必须为数字值'}, |
| | | lowLiquidAlarm:{ type: 'number', message: '低液位报警值必须为数字值'}, |
| | | lowLowLiquidAlarm:{ type: 'number', message: '低低液位报警值必须为数字值'}, |
| | | }, |
| | | equipmentName:[], |
| | | unitIdOptions:[{label:"已处理",value:0},{label:"未处理",value:1}] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.elementManagementL(); |
| | | this.initMajorEquipment() |
| | | }, |
| | | methods: { |
| | | |
| | | importData(){ |
| | | let input = document.createElement('input'); input.type = 'file'; |
| | | input.addEventListener('change', (event) => { |
| | | this.exportData(event) |
| | | }) |
| | | input.click() |
| | | }, |
| | | exportData (event) { |
| | | this.ishowFile = true // 销毁 |
| | | if (!event.currentTarget.files.length) { |
| | | return |
| | | } |
| | | const that = this |
| | | // 拿取文件对象 |
| | | var f = event.currentTarget.files[0] |
| | | // 用FileReader来读取 |
| | | var reader = new FileReader() |
| | | // 重写FileReader上的readAsBinaryString方法 |
| | | FileReader.prototype.readAsBinaryString = function (f) { |
| | | var binary = '' |
| | | var wb // 读取完成的数据 |
| | | var outdata // 你需要的数据 |
| | | var reader = new FileReader() |
| | | reader.onload = function (e) { |
| | | // 读取成Uint8Array,再转换为Unicode编码(Unicode占两个字节) |
| | | var bytes = new Uint8Array(reader.result) |
| | | var length = bytes.byteLength |
| | | for (var i = 0; i < length; i++) { |
| | | binary += String.fromCharCode(bytes[i]) |
| | | } |
| | | // 接下来就是xlsx了,具体可看api |
| | | wb = XLSX.read(binary, { |
| | | type: 'binary' |
| | | }) |
| | | outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) |
| | | // 自定义方法向父组件传递数据 |
| | | var list=JSON.parse(JSON.stringify(outdata)) //读取的数据 |
| | | var arr=[] //传到后台的数据 |
| | | |
| | | |
| | | if(list!=null && list.length>0){ |
| | | for(var i=0;i<list.length;i++){ |
| | | var obj=new Object() |
| | | obj.index=list[i].序号 |
| | | obj.equipmentName=list[i].设备名称?list[i].设备名称:"" |
| | | obj.equipmentSerialNumber=list[i].设备编号?list[i].设备编号:"" |
| | | obj.monitoringTime=list[i].监测时间?list[i].监测时间:"" |
| | | if(list[i].仪表量程下限!=null && list[i].仪表量程下限!="" && isNaN(list[i].仪表量程下限)){ |
| | | that.$message("序号为"+(i+1)+"的仪表量程下限不是数字","warning") |
| | | return |
| | | } |
| | | if(list[i].仪表量程上限!=null && list[i].仪表量程上限!="" && isNaN(list[i].仪表量程上限)){ |
| | | that.$message("序号为"+(i+1)+"的仪表量程上限不是数字","warning") |
| | | return |
| | | } |
| | | if(list[i].高高液位报警值!=null && list[i].高高液位报警值!="" && isNaN(list[i].高高液位报警值)){ |
| | | that.$message("序号为"+(i+1)+"的高高液位报警值不是数字","warning") |
| | | return |
| | | } |
| | | if(list[i].高液位报警值!=null && list[i].高液位报警值!="" && isNaN(list[i].高液位报警值)){ |
| | | that.$message("序号为"+(i+1)+"的高液位报警值不是数字","warning") |
| | | return |
| | | } |
| | | if(list[i].低液位报警值!=null && list[i].低液位报警值!="" && isNaN(list[i].低液位报警值)){ |
| | | that.$message("序号为"+(i+1)+"的低液位报警值不是数字","warning") |
| | | return |
| | | } |
| | | if(list[i].低低液位报警值!=null && list[i].低低液位报警值!="" && isNaN(list[i].低低液位报警值)){ |
| | | that.$message("序号为"+(i+1)+"的低低液位报警值不是数字","warning") |
| | | return |
| | | } |
| | | obj.rangeLowerLimit=list[i].仪表量程下限?list[i].仪表量程下限:"" |
| | | obj.rangeUpperLimit=list[i].仪表量程上限?list[i].仪表量程上限:"" |
| | | obj.highHighLiquidAlarm=list[i].高高液位报警值?list[i].高高液位报警值:"" |
| | | obj.highLiquidAlarm=list[i].高液位报警值?list[i].高液位报警值:"" |
| | | obj.lowLiquidAlarm=list[i].低液位报警值?list[i].低液位报警值:"" |
| | | obj.lowLowLiquidAlarm=list[i].低低液位报警值?list[i].低低液位报警值:"" |
| | | arr.push(obj) |
| | | } |
| | | } |
| | | //判空(名称/编号/时间) |
| | | let nullArr=that.checkNull(arr) |
| | | if(nullArr.nullNameArr.length>0){ |
| | | that.$message("模板中序号为("+nullArr.nullNameArr+")的设备名称不能为空","error") |
| | | return |
| | | } |
| | | if(nullArr.nullNumArr.length>0){ |
| | | that.$message("模板中序号为("+nullArr.nullNumArr+")的设备编号不能为空","error") |
| | | return |
| | | } |
| | | if(nullArr.nullTimeArr.length>0){ |
| | | that.$message("模板中序号为("+nullArr.nullTimeArr+")的监测时间不能为空","error") |
| | | return |
| | | } |
| | | //判断设备编号对应的设备是否存在,如果都存在的了则设置设备id |
| | | let res=that.checkExist(arr) |
| | | if(res.nullArr.length>0){ |
| | | that.$message("模板中序号为("+res.nullArr+")的设备编号没有对应的设备!","error") |
| | | return |
| | | } |
| | | that.insertData(res.resArr) |
| | | } |
| | | reader.readAsArrayBuffer(f) |
| | | } |
| | | reader.readAsBinaryString(f) |
| | | }, |
| | | |
| | | insertData(data){ |
| | | majorEquipmentImport(data).then(res=>{ |
| | | if (res.data.code == 200) { |
| | | this.$message({ |
| | | type:'success', |
| | | message:'导入成功', |
| | | duration:2000, |
| | | }) |
| | | |
| | | }else{ |
| | | this.$message.error('导入失败,系统未知错误!'); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | checkExist(excelArr){ |
| | | let res={ |
| | | nullArr:[], |
| | | resArr:[], |
| | | } |
| | | |
| | | let NumArr=[] |
| | | let IdArr=[] |
| | | for (let i = 0 ; i < this.equipmentName.length ; i++){ |
| | | NumArr.push(this.equipmentName[i].serialNumber) |
| | | IdArr.push(this.equipmentName[i].id) |
| | | } |
| | | for (let j = 0 ; j < excelArr.length ; j++){ |
| | | if (NumArr.indexOf(excelArr[j].equipmentSerialNumber)==-1) { |
| | | res.nullArr.push(excelArr[j].index) |
| | | }else{ |
| | | let index = NumArr.indexOf(excelArr[j].equipmentSerialNumber) |
| | | excelArr[j].equipmentId=IdArr[index] |
| | | } |
| | | } |
| | | res.resArr=excelArr |
| | | return res; |
| | | }, |
| | | |
| | | checkNull(excelArr){ |
| | | let nullArr={ |
| | | nullNameArr:[], |
| | | nullNumArr:[], |
| | | nullTimeArr:[], |
| | | } |
| | | if(excelArr!=null && excelArr.length>0){ |
| | | for (let j=0;j<excelArr.length;j++){ |
| | | if (excelArr[j].equipmentName==null || excelArr[j].equipmentName=='') { |
| | | nullArr.nullNameArr.push(excelArr[j].index) |
| | | } |
| | | if (excelArr[j].equipmentSerialNumber==null || excelArr[j].equipmentSerialNumber=='') { |
| | | nullArr.nullNumArr.push(excelArr[j].index) |
| | | } |
| | | if (excelArr[j].monitoringTime==null || excelArr[j].monitoringTime=='') { |
| | | nullArr.nullTimeArr.push(excelArr[j].index) |
| | | } |
| | | } |
| | | } |
| | | return nullArr |
| | | }, |
| | | |
| | | initMajorEquipment(){ |
| | | majorEquipmentErt().then(res=>{ |
| | | if (res.data.code == 200) { |
| | | this.equipmentName=res.data.result |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | async elementManagementL() { |
| | | var res = await majorEquipmentList(this.listQuery); |
| | | if (res.data.code == 200) { |
| | | this.list = res.data.result.records; |
| | | this.recordTotal = res.data.result.total |
| | | this.pageSize=res.data.result.size; |
| | | this.currentPage = res.data.result.current |
| | | } |
| | | }, |
| | | handleClick(value, type) { |
| | | this.dialogVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs["form"].clearValidate(); |
| | | }); |
| | | if (type == "新增") { |
| | | this.title = "新增"; |
| | | this.form = { |
| | | equipmentId: "", |
| | | monitoringTime:"", |
| | | rangeLowerLimit: "", |
| | | rangeUpperLimit: "", |
| | | highHighLiquidAlarm:"", |
| | | highLiquidAlarm:"", |
| | | lowLiquidAlarm:"", |
| | | lowLowLiquidAlarm:"", |
| | | }; |
| | | } else { |
| | | this.title = "编辑"; |
| | | this.form = value; |
| | | } |
| | | }, |
| | | AddelementManagement() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.title == "新增") { |
| | | majorEquipmentAdd(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "新增成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | majorEquipmentMod(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "编辑成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | his.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | deleteById(val) { |
| | | majorEquipmentDel({id:val}).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | title: "成功", |
| | | message: "删除成功", |
| | | type: "success", |
| | | duration: 2000, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | find(){ |
| | | this.elementManagementL(); |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.listQuery.pageSize = val |
| | | this.elementManagementL(); |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.listQuery.pageIndex = val |
| | | this.elementManagementL(); |
| | | }, |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .btns { |
| | | background-color: #034ea2; |
| | | border: 1px solid #034ea2; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="设备名称"> |
| | | <el-input v-model="listQuery.filter.name"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="设备状态"> |
| | | <el-select v-model="listQuery.filter.status" placeholder="请选择设备状态"> |
| | | <el-option v-for="item in unitIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4" style="text-align: center"> |
| | | <el-button type="primary" icon="el-icon-search" @click="find()" class="btns" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | class="btns" |
| | | @click="handleClick('', '新增')" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-table :data="list" border style="width: 100%"> |
| | | <el-table-column prop="serialNumber" align="center" label="设备编号"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" align="center" label="设备名称"> |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.status == 0">在用</span> |
| | | <span v-if="scope.row.status == 1">停用</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="volume" label="容积" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="userId" label="负责人" align="center"> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="handleClick(scope.row, '编辑')" |
| | | type="text" |
| | | size="small" |
| | | >编辑</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | @click="deleteById(scope.row.id)" |
| | | style="color: red" |
| | | >删除</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="text-align:right"> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="recordTotal" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | > |
| | | <el-form ref="form" :rules="rules" :model="form" label-width="80px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备编号" prop="serialNumber"> |
| | | <el-input v-model.number="form.serialNumber" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备名称" prop="name"> |
| | | <el-input v-model="form.name" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select |
| | | v-model="form.status" |
| | | placeholder="请选择设备状态" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in unitIdOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="容积" prop="volume"> |
| | | <el-input v-model.number="form.volume" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="userId"> |
| | | <el-input v-model="form.userId" maxlength="50"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" class="btns" @click="AddelementManagement()" |
| | | >确 定</el-button |
| | | > |
| | | <el-button @click="dialogVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { |
| | | majorEquipmentList, |
| | | majorEquipmentAdd, |
| | | majorEquipmentMod, |
| | | majorEquipmentDel, |
| | | } from "@/api/majorEquipment.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | title: "", |
| | | form: { |
| | | name: "", |
| | | status: "", |
| | | volume: "", |
| | | serialNumber:"", |
| | | }, |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | list: [], |
| | | listQuery: { |
| | | filter: { |
| | | name: "", |
| | | }, |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | type:'', |
| | | rules: { |
| | | serialNumber:{ required: true, message: '容积必须为数字值'}, |
| | | volume:{ type: 'number', message: '负责人必须为数字值'}, |
| | | name: [ |
| | | { required: true, message: "预案名称不能为空", trigger: "change" }, |
| | | ], |
| | | }, |
| | | unitIdOptions:[{label:"在用",value:0},{label:"停用",value:1}] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.elementManagementL(); |
| | | }, |
| | | methods: { |
| | | async elementManagementL() { |
| | | var res = await majorEquipmentList(this.listQuery); |
| | | console.log(res); |
| | | if (res.data.code == 200) { |
| | | this.list = res.data.result.records; |
| | | this.recordTotal = res.data.result.total |
| | | this.pageSize=res.data.result.size; |
| | | this.currentPage = res.data.result.current |
| | | } |
| | | }, |
| | | handleClick(value, type) { |
| | | this.dialogVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs["form"].clearValidate(); |
| | | }); |
| | | if (type == "新增") { |
| | | this.title = "新增"; |
| | | this.form = { |
| | | serialNumber:'', |
| | | name: "", |
| | | volume:"", |
| | | userId:"", |
| | | status:"" |
| | | }; |
| | | } else { |
| | | this.title = "编辑"; |
| | | this.form = value; |
| | | } |
| | | }, |
| | | AddelementManagement() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.title == "新增") { |
| | | majorEquipmentAdd(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "新增成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | majorEquipmentMod(this.form).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.dialogVisible = false; |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "编辑成功", |
| | | title: "成功", |
| | | }); |
| | | } else { |
| | | his.$message({ |
| | | type: "warning", |
| | | message: res.data.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | deleteById(val) { |
| | | majorEquipmentDel({id:val}).then((res) => { |
| | | if (res.data.code == 200) { |
| | | this.elementManagementL(); |
| | | this.$notify({ |
| | | title: "成功", |
| | | message: "删除成功", |
| | | type: "success", |
| | | duration: 2000, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | find(){ |
| | | this.elementManagementL(); |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.listQuery.pageSize = val |
| | | this.elementManagementL(); |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.listQuery.pageIndex = val |
| | | this.elementManagementL(); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | .btns { |
| | | background-color: #034ea2; |
| | | border: 1px solid #034ea2; |
| | | } |
| | | </style> |