|  |  | 
 |  |  |   <GlobalWindow :title="param.id ? '编辑运维记录' : '新建运维记录'" :confirmWorking="subLoading" :visible.sync="isShowModal" | 
 |  |  |     width="600px" @close="close" @confirm="handleSub"> | 
 |  |  |     <el-form :model="param" ref="paramRef" :rules="rules"> | 
 |  |  |       <el-form-item label="选择设备" prop="code"> | 
 |  |  |       <el-form-item label="选择设备" prop="deviceId"> | 
 |  |  |         <el-select v-model="param.deviceId" filterable clearable> | 
 |  |  |           <el-option v-for="item in deviceList" :value="item" :label="item"></el-option> | 
 |  |  |           <el-option v-for="item in deviceList" :value="item.id" :label="item.name"></el-option> | 
 |  |  |         </el-select> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="运维人员" prop="code"> | 
 |  |  |         <el-select v-model="param.realName" filterable clearable> | 
 |  |  |           <el-option v-for="item in 10" :value="item" :label="item"></el-option> | 
 |  |  |       <el-form-item label="运维人员" prop="userId"> | 
 |  |  |         <el-select v-model="param.userId" filterable clearable> | 
 |  |  |           <el-option v-for="item in staffList" :value="item.id" :label="item.realname"></el-option> | 
 |  |  |         </el-select> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="设备状态" prop=""> | 
 |  |  |         <el-select v-model="param.status" filterable clearable> | 
 |  |  |           <el-option value="0" label="正常"></el-option> | 
 |  |  |           <el-option value="1" label="损坏"></el-option> | 
 |  |  |           <el-option value="2" label="报废"></el-option> | 
 |  |  |           <el-option :value="0" label="正常"></el-option> | 
 |  |  |           <el-option :value="1" label="损坏"></el-option> | 
 |  |  |           <el-option :value="2" label="报废"></el-option> | 
 |  |  |         </el-select> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="现场照片" prop=""> | 
 |  |  | 
 |  |  |           </div> | 
 |  |  |         </div> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="运维备注" prop=""> | 
 |  |  |         <el-input type="textarea" :rows="4" v-model="param.remark" placeholder="请输入" /> | 
 |  |  |       <el-form-item label="运维备注" prop="content"> | 
 |  |  |         <el-input type="textarea" :rows="4" v-model="param.content" placeholder="请输入" /> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="运维时间" prop=""> | 
 |  |  |       <el-form-item label="运维时间" prop="dealDate"> | 
 |  |  |         <el-date-picker v-model="param.dealDate" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" | 
 |  |  |           type="datetime"></el-date-picker> | 
 |  |  |       </el-form-item> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     </el-form> | 
 |  |  |   </GlobalWindow> | 
 |  |  | </template> | 
 |  |  | 
 |  |  | import GlobalWindow from '@/components/common/GlobalWindow' | 
 |  |  | import UploadAvatarImage from '@/components/common/UploadAvatarImage' | 
 |  |  | import { fetchList } from '@/api/Inspection/device' | 
 |  |  | import { getUserList } from '@/api/system/user' | 
 |  |  | import { create, updateById } from '@/api/Inspection/deviceRecord' | 
 |  |  | import { Message, Loading } from 'element-ui' | 
 |  |  | import dayjs from 'dayjs' | 
 |  |  | export default { | 
 |  |  |   components: { GlobalWindow, UploadAvatarImage }, | 
 |  |  |   data() { | 
 |  |  | 
 |  |  |       subLoading: false, | 
 |  |  |       param: {}, | 
 |  |  |       deviceList: [], | 
 |  |  |       staffList: [], | 
 |  |  |       rules: { | 
 |  |  |         name: [{ required: true, message: '请输入' }], | 
 |  |  |         code: [{ required: true, message: '请输入' }] | 
 |  |  |         dealDate: [{ required: true, message: '请选择' }], | 
 |  |  |         deviceId: [{ required: true, message: '请选择' }], | 
 |  |  |         content: [{ required: true, message: '请输入' }], | 
 |  |  |         // code: [{ required: true, message: '请输入' }], | 
 |  |  |       }, | 
 |  |  |  | 
 |  |  |       loadingInstance: null, | 
 |  |  |       uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch', | 
 |  |  |       fileList: [], | 
 |  |  |       uploadData: { | 
 |  |  |         folder: 'HIDDEN_DANGER_FILE' | 
 |  |  |         folder: 'YW_DEVICE' | 
 |  |  |       }, | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created() { | 
 |  |  |     this.initData() | 
 |  |  |     this.$set(this.param, 'dealDate', dayjs().format('YYYY-MM-DD HH:mm:ss')) | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     handleSub() { | 
 |  |  |       const { param, subLoading } = this | 
 |  |  |       const { param, subLoading, fileList } = this | 
 |  |  |       this.$refs['paramRef'].validate((valid) => { | 
 |  |  |         if (valid) { | 
 |  |  |           let fn = param.id ? updateById : create | 
 |  |  |           if(fileList && fileList.length > 0){ | 
 |  |  |             param.multifileList = fileList | 
 |  |  |           } | 
 |  |  |           this.subLoading = true | 
 |  |  |           fn(param).then(res => { | 
 |  |  |             if (res.code == 200) { | 
 |  |  |               this.subLoading = false | 
 |  |  |             this.subLoading = false | 
 |  |  |               this.$emit('success') | 
 |  |  |               Message.success('保存成功') | 
 |  |  |               this.close() | 
 |  |  |             } | 
 |  |  |           }).catch(() => { | 
 |  |  |             this.subLoading = false | 
 |  |  |           }) | 
 |  |  | 
 |  |  |         capacity: 1000, | 
 |  |  |         page: 1, | 
 |  |  |       }).then(res => { | 
 |  |  |         this.deviceList = res || [] | 
 |  |  |         this.deviceList = res.records | 
 |  |  |       }) | 
 |  |  |  | 
 |  |  |       getUserList({}).then(res => { | 
 |  |  |         this.staffList = res | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     changeSel(e) { | 
 |  |  |       if (e && e.length == 1) { | 
 |  |  | 
 |  |  |       if (['.mp4', '.avi', '.flv', '.wmv'].some(char => item.imgaddr.includes(char))) { | 
 |  |  |         this.fileList.push({ | 
 |  |  |           type: 1, | 
 |  |  |           objType: 6, | 
 |  |  |           fileurl: item.imgaddr, | 
 |  |  |           fileurlFull: item.url | 
 |  |  |         }) | 
 |  |  |       } else { | 
 |  |  |         this.fileList.push({ | 
 |  |  |           type: 0, | 
 |  |  |           objType: 6, | 
 |  |  |           fileurl: item.imgaddr, | 
 |  |  |           fileurlFull: item.url | 
 |  |  |         }) | 
 |  |  | 
 |  |  | .file_list { | 
 |  |  |   display: flex; | 
 |  |  |   flex-wrap: wrap; | 
 |  |  |   .avatar-uploader{ | 
 |  |  |  | 
 |  |  |   .avatar-uploader { | 
 |  |  |     width: 92px; | 
 |  |  |     height: 92px; | 
 |  |  |     display: flex; | 
 |  |  | 
 |  |  |     align-items: center; | 
 |  |  |     border: 1px dashed #d9d9d9; | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   .item { | 
 |  |  |     width: 92px; | 
 |  |  |     max-height: 92px; |