Forráskód Böngészése

Merge remote-tracking branch 'origin/3.3.1-dspf' into 3.3.1-dspf

heyang 1 éve
szülő
commit
2c6f55eb06

+ 61 - 5
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue

@@ -110,7 +110,7 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmountLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -124,7 +124,7 @@
                       <p class="num-title-span">{{listPropsData.chemicalUnit}}</p>
                     </div>
                   </el-form-item>
-                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tareLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -237,9 +237,54 @@
         console.log('rule',rule)
         const list = rule.field.split('.');
         let index = parseFloat(list[1]);
+        let index2 = parseFloat(list[3]);
         let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].list[index2].tare);
         if(value>max){
-            callback(new Error("超出该机柜可存放量"));
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingCapacityLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].tare);
+        if(value>max){
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingTare = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index2 = parseFloat(list[3]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingTareLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
         }else{
           callback();
         }
@@ -287,11 +332,22 @@
           chemicalAmount:[
             { required: true, message: '请输入容器容量', trigger: 'blur' },
             { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
-            { required: true, message: "超出该机柜可存放量", validator: computingCapacity, trigger: "blur" },
+            { required: true, validator: computingCapacity, trigger: "blur" },
+          ],
+          chemicalAmountLock:[
+            { required: true, message: '请输入容器容量', trigger: 'blur' },
+            { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingCapacityLock, trigger: "blur" },
           ],
           tare:[
             { required: true, message: '请输入容器自重', trigger: 'blur' },
-            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTare, trigger: "blur" },
+          ],
+          tareLock:[
+            { required: true, message: '请输入容器自重', trigger: 'blur' },
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTareLock, trigger: "blur" },
           ],
           storageNum:[
             { required: true, message: '请输入存放数量', trigger: 'blur' },

+ 41 - 2
src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue

@@ -109,7 +109,7 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmountLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -123,7 +123,7 @@
                       <p class="num-title-span">{{selectioned.chemicalUnit}}</p>
                     </div>
                   </el-form-item>
-                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tareLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -247,6 +247,22 @@
           callback();
         }
       };
+      const computingCapacityLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].tare);
+        if(value>max){
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
       const computingTare = (rule, value, callback) => {
         console.log('rule',rule)
         const list = rule.field.split('.');
@@ -259,6 +275,19 @@
           callback();
         }
       };
+      const computingTareLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
+        }else{
+          callback();
+        }
+      };
 
       return {
         //限制时间范围
@@ -303,11 +332,21 @@
             { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
             { required: true, validator: computingCapacity, trigger: "blur" },
           ],
+          chemicalAmountLock:[
+            { required: true, message: '请输入容器容量', trigger: 'blur' },
+            { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingCapacityLock, trigger: "blur" },
+          ],
           tare:[
             { required: true, message: '请输入容器自重', trigger: 'blur' },
             { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
             { required: true, validator: computingTare, trigger: "blur" },
           ],
+          tareLock:[
+            { required: true, message: '请输入容器自重', trigger: 'blur' },
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTareLock, trigger: "blur" },
+          ],
           storageNum:[
             { required: true, message: '请输入存放数量', trigger: 'blur' },
             { required: true, message: "请输入存放数量", validator: this.spaceJudgment, trigger: "blur" }