value
2024-05-16 083c818af77d33d619dba3dc20f94e996225a1c7
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-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="生产厂家:">
@@ -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>
@@ -185,12 +185,12 @@
           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>
@@ -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>
@@ -327,7 +327,7 @@
            </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"
@@ -335,18 +335,9 @@
              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"
@@ -357,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.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="图片:">
@@ -400,13 +391,14 @@
         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,
@@ -439,23 +431,7 @@
               }],
               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: []
@@ -523,7 +499,7 @@
         this.selectEnumByCategory()
         this.selectDevicePrincipal()
         this.obtainItemParameterList()
      this.getInsProductIds()
            this.getInsProductIds()
      },
      methods: {
         obtainItemParameterList() {
@@ -576,6 +552,12 @@
               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: "设备分类"
@@ -604,7 +586,7 @@
          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;
@@ -617,10 +599,20 @@
            })
      },
         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;
         },
@@ -641,6 +633,9 @@
            //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) {
@@ -672,14 +667,40 @@
            }
         },
         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
        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.$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.upLoad = true;
            this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, {
               headers: {
                  'Content-Type': 'application/json'
@@ -700,11 +721,36 @@
            })
         },
         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'