| | |
| | | <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; |