| | |
| | | </div> |
| | | </el-image> |
| | | <!-- 表单 --> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="100px"> |
| | | <el-form-item label="仪器名称:"> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="120px"> |
| | | <el-form-item label="仪器名称:" required> |
| | | <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称EN:"> |
| | | <el-form-item label="仪器名称EN:" required> |
| | | <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="规格型号:"> |
| | | <el-form-item label="规格型号:" required> |
| | | <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂家:"> |
| | |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:"> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="购置日期:"> |
| | |
| | | format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="启用日期:"> |
| | | <el-form-item label="启用日期:" required> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date" |
| | | format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | |
| | | filterable |
| | | clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="最近校准日期:"> |
| | | <el-form-item label="最近校准日期:" v-if="isUp"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:"> |
| | | <el-form-item label="下次校准日期:" v-if="isUp"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态:"> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):"> |
| | | <el-form-item label="校准周期(月):" required> |
| | | <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="图片:"> |
| | |
| | | </div> |
| | | </el-image> |
| | | <!-- 表单 --> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="100px"> |
| | | <el-form-item label="仪器名称:"> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px"> |
| | | <el-form-item label="仪器名称:" required> |
| | | <el-input v-model="formData2.deviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称EN:"> |
| | | <el-form-item label="仪器名称EN:" required> |
| | | <el-input v-model="formData2.enDeviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="规格型号:"> |
| | | <el-form-item label="规格型号:" required> |
| | | <el-input v-model="formData2.specificationModel" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂家:"> |
| | |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input v-model="formData2.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:"> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input v-model="formData2.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="购置日期:"> |
| | |
| | | format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="启用日期:"> |
| | | <el-form-item label="启用日期:" required> |
| | | <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date" |
| | | format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="检测项目:"> |
| | | <el-cascader |
| | | v-model="formData.insProductIds" |
| | | v-model="formData2.insProductIds" |
| | | :options="options" |
| | | :show-all-levels="false" |
| | | :props="props" |
| | |
| | | style="width:100%" |
| | | collapse-tags |
| | | separator="," |
| | | filterable |
| | | clearable></el-cascader> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="最近校准日期:"> |
| | | <el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:"> |
| | | <el-date-picker style="width:100%" v-model="formData2.latestTraceability" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item label="设备类型:"> |
| | | <el-select v-model="formData2.largeCategory" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" |
| | |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input v-model="formData2.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态:"> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select v-model="formData2.deviceStatus" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.id" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):"> |
| | | <el-form-item label="校准周期(月):" required> |
| | | <el-input v-model="formData2.calibrationDate" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="图片:"> |
| | |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数采配置" :visible.sync="dialogVisible3" width="400px"> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.ip"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>采集地址:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.collectUrl"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>储存地址:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.storageUrl"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>参照:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.refer"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.x"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.y"></el-input> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>公式:</div> |
| | | <el-input size="small" placeholder="请输入" clearable |
| | | v-model="configForm.formula"></el-input> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="dialogVisible3=false">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm3" :loading="upLoad3">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | //是否是档案修订 true不是 false是 |
| | | isUp: true, |
| | | formData: {}, |
| | | formData: { |
| | | }, |
| | | formData2: { |
| | | imageUpload: '', |
| | | imageName: '' |
| | | }, |
| | | value: '', |
| | | props: { multiple: true,emitPath:false,value:'id',label:'name' }, |
| | | props: { multiple: true,emitPath:false,value:'id',label:'name' }, |
| | | options: [], |
| | | labelPosition: 'right', |
| | | dialogVisible: false, |
| | |
| | | font: '档案修订', |
| | | type: 'text', |
| | | method: 'isUpdate' |
| | | }, { |
| | | id: 'handleConfig', |
| | | font: '数采配置', |
| | | type: 'text', |
| | | method: 'handleConfig' |
| | | }], |
| | | tagField: { |
| | | deviceStatus: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'success', |
| | | label: '良好' |
| | | }, { |
| | | value: 1, |
| | | type: 'info', |
| | | label: '报废' |
| | | }, { |
| | | value: 2, |
| | | type: 'danger', |
| | | label: '停用' |
| | | }, { |
| | | value: 3, |
| | | type: 'danger', |
| | | label: '存疑' |
| | | }] |
| | | select: [] |
| | | }, |
| | | equipmentManager: { |
| | | select: [] |
| | |
| | | subordinateDepartmentsList: [], |
| | | upLoad: false, |
| | | upLoad2: false, |
| | | dialogVisible3:false, |
| | | upLoad3:false, |
| | | configForm:{} |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | this.selectEnumByCategory() |
| | | this.selectDevicePrincipal() |
| | | this.obtainItemParameterList() |
| | | this.getInsProductIds() |
| | | this.getInsProductIds() |
| | | }, |
| | | methods: { |
| | | obtainItemParameterList() { |
| | |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | let config = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'upDeviceParameter') { |
| | | up = true |
| | |
| | | if (power[i].menuMethod == 'addDeviceParameter') { |
| | | add = true |
| | | } |
| | | if (power[i].menuMethod == 'numberCollect') { |
| | | config = true |
| | | } |
| | | } |
| | | if (!config) { |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(1, 1) |
| | |
| | | category: "设备状态" |
| | | }).then(res => { |
| | | this.deviceStatusList = res.data |
| | | this.deviceStatusList.forEach(a=>{ |
| | | if(!isNaN(a.value)){ |
| | | a.value = parseInt(a.value) |
| | | } |
| | | }) |
| | | this.componentData.tagField.deviceStatus.select = res.data |
| | | }) |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "设备分类" |
| | |
| | | this.componentData.tagField.insProductIds.select = [] |
| | | this.componentData.selectField.insProductIds.select = [] |
| | | this.options = res.data.map((m,i)=>{ |
| | | m.id = i; |
| | | m.id = m.name; |
| | | let children = m.children.map(n=>{ |
| | | n.label = n.name; |
| | | n.value = n.id; |
| | |
| | | }) |
| | | }, |
| | | handleClose() { |
| | | this.formData = {} |
| | | this.formData2 = { |
| | | imageUpload: '', |
| | | imageName: '' |
| | | } |
| | | this.dialogVisible = false; |
| | | this.upLoad = false; |
| | | }, |
| | | handleClose2() { |
| | | this.formData = {} |
| | | this.formData2 = { |
| | | imageUpload: '', |
| | | imageName: '' |
| | | } |
| | | this.dialogVisible2 = false; |
| | | this.upLoad = false; |
| | | }, |
| | |
| | | //row = 点击对应行值一行值 |
| | | //复制给formData |
| | | this.formData = this.HaveJson(row); |
| | | if(typeof(row.insProductIds)==='number'){ |
| | | row.insProductIds = row.insProductIds+'' |
| | | } |
| | | this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; |
| | | }, |
| | | beforeUpload(file) { |
| | |
| | | } |
| | | }, |
| | | submitForm() { |
| | | this.upLoad = true; |
| | | // let authorizedPerson = this.formData.authorizedPerson.length > 0 ? this.formData.authorizedPerson.join(',') : '' |
| | | // delete this.formData.createTime |
| | | // delete this.formData.updateTime |
| | | // delete this.formData.createUser |
| | | // delete this.formData.updateUser |
| | | // this.formData.authorizedPerson = authorizedPerson |
| | | this.formData.insProductIds = this.formData.insProductIds.join() |
| | | if(!this.formData.deviceName){ |
| | | this.$message.error('未输入仪器名称') |
| | | return |
| | | } |
| | | if(!this.formData.enDeviceName){ |
| | | this.$message.error('未输入仪器名称EN') |
| | | return |
| | | } |
| | | if(!this.formData.specificationModel){ |
| | | this.$message.error('未输入规格型号') |
| | | return |
| | | } |
| | | if(!this.formData.managementNumber){ |
| | | this.$message.error('未输入管理编号') |
| | | return |
| | | } |
| | | if(!this.formData.activationDate){ |
| | | this.$message.error('未输入启用日期') |
| | | return |
| | | } |
| | | if(this.formData.deviceStatus==='' || this.formData.deviceStatus===null){ |
| | | this.$message.error('未选择当前状态') |
| | | return |
| | | } |
| | | if(!this.formData.calibrationDate){ |
| | | this.$message.error('未输入校准周期(月)') |
| | | return |
| | | } |
| | | delete this.formData.createTime |
| | | delete this.formData.updateTime |
| | | delete this.formData.createUser |
| | | delete this.formData.updateUser |
| | | this.formData.insProductIds = this.formData.insProductIds?this.formData.insProductIds.join():'' |
| | | this.upLoad = true; |
| | | this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | |
| | | }) |
| | | }, |
| | | submitForm2() { |
| | | if(!this.formData2.deviceName){ |
| | | this.$message.error('未输入仪器名称') |
| | | return |
| | | } |
| | | if(!this.formData2.enDeviceName){ |
| | | this.$message.error('未输入仪器名称EN') |
| | | return |
| | | } |
| | | if(!this.formData2.specificationModel){ |
| | | this.$message.error('未输入规格型号') |
| | | return |
| | | } |
| | | if(!this.formData2.managementNumber){ |
| | | this.$message.error('未输入管理编号') |
| | | return |
| | | } |
| | | if(!this.formData2.activationDate){ |
| | | this.$message.error('未输入启用日期') |
| | | return |
| | | } |
| | | if(!this.formData2.deviceStatus){ |
| | | this.$message.error('未选择当前状态') |
| | | return |
| | | } |
| | | if(!this.formData2.calibrationDate){ |
| | | this.$message.error('输入校准周期(月)') |
| | | return |
| | | } |
| | | this.upLoad2 = true; |
| | | // let authorizedPerson = this.formData2.authorizedPerson.length > 0 ? this.formData2.authorizedPerson.join(',') : |
| | | // '' |
| | | // this.formData2.authorizedPerson = authorizedPerson |
| | | this.formData.insProductIds = this.formData.insProductIds.join() |
| | | this.formData2.insProductIds = this.formData2.insProductIds.join() |
| | | this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | |
| | | this.dialogVisible2 = false |
| | | this.upLoad2 = false |
| | | }) |
| | | } |
| | | }, |
| | | handleConfig(row){ |
| | | this.configForm = {} |
| | | this.dialogVisible3 = true |
| | | this.$axios.post(this.$api.deviceScope.getNumberCollect+'?id='+row.id).then(res => { |
| | | this.configForm = res.data |
| | | }) |
| | | }, |
| | | submitForm3(){ |
| | | if(!this.configForm.ip){ |
| | | this.$message.error('请填写IP'); |
| | | return |
| | | } |
| | | if(!this.configForm.collectUrl){ |
| | | this.$message.error('请填写采集地址'); |
| | | return |
| | | } |
| | | if(!this.configForm.storageUrl){ |
| | | this.$message.error('请填写储存地址'); |
| | | return |
| | | } |
| | | if(!this.configForm.refer){ |
| | | this.$message.error('请填写参照'); |
| | | return |
| | | } |
| | | if(!this.configForm.x){ |
| | | this.$message.error('请填写X'); |
| | | return |
| | | } |
| | | if(!this.configForm.y){ |
| | | this.$message.error('请填写Y'); |
| | | return |
| | | } |
| | | if(!this.configForm.formula){ |
| | | this.$message.error('请填写公式'); |
| | | return |
| | | } |
| | | |
| | | this.upLoad3 = true |
| | | this.$axios.post(this.$api.deviceScope.numberCollect, this.configForm, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.upLoad3 = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('操作成功') |
| | | this.refreshTable() |
| | | this.dialogVisible3 = false |
| | | }).catch(e => { |
| | | this.$message.error('操作失败') |
| | | this.dialogVisible3 = false |
| | | this.upLoad3 = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |