licp
2024-06-07 32a95699e59c5c65e18c08643266c9cbfa380ee4
src/components/view/a6-device-management.vue
@@ -107,14 +107,14 @@
                     </div>
                  </el-image>
                  <!-- 表单 -->
                  <el-form :label-position="labelPosition" :model="formData" label-width="100px">
                  <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="生产厂家:">
@@ -132,7 +132,7 @@
                     <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="购置日期:">
@@ -140,7 +140,7 @@
                                    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>
@@ -205,13 +205,13 @@
            <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="图片:">
@@ -258,14 +258,14 @@
                     </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="生产厂家:">
@@ -286,7 +286,7 @@
            <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="购置日期:">
@@ -294,7 +294,7 @@
                        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>
@@ -348,13 +348,13 @@
            <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.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="图片:">
@@ -378,6 +378,49 @@
            </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>
@@ -428,6 +471,11 @@
                  font: '档案修订',
                  type: 'text',
                  method: 'isUpdate'
               }, {
                  id: 'handleConfig',
                  font: '数采配置',
                  type: 'text',
                  method: 'handleConfig'
               }],
               tagField: {
                  deviceStatus: {
@@ -480,6 +528,9 @@
            subordinateDepartmentsList: [],
            upLoad: false,
            upLoad2: false,
        dialogVisible3:false,
        upLoad3:false,
        configForm:{}
         }
      },
      computed: {
@@ -527,6 +578,7 @@
            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
@@ -537,6 +589,12 @@
               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)
@@ -667,11 +725,39 @@
            }
         },
         submitForm() {
        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.join()
        this.formData.insProductIds = this.formData.insProductIds?this.formData.insProductIds.join():''
        this.upLoad = true;
            this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
               headers: {
@@ -693,6 +779,34 @@
            })
         },
         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;
        this.formData2.insProductIds = this.formData2.insProductIds.join()
            this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, {
@@ -717,7 +831,63 @@
               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>