소스 검색

fix: 修正样品数量计算逻辑

yusheng 2 달 전
부모
커밋
aec2c94f07
1개의 변경된 파일30개의 추가작업 그리고 3개의 파일을 삭제
  1. 30 3
      src/views/inspectionWork/edit.vue

+ 30 - 3
src/views/inspectionWork/edit.vue

@@ -406,6 +406,21 @@
           return '小样';
         };
       },
+      //按样品
+      getSampleQuantityYp() {
+        return (key) => {
+          let num = 0;
+
+          this.form.taskMonadList?.forEach((item) => {
+            num += Number(item[key]) || 0;
+          });
+          this.form.requestEntrustList?.forEach((item) => {
+            num += Number(item[key]) || 0;
+          });
+          return num;
+        };
+      },
+      //按质检
       getSampleQuantity() {
         return (key) => {
           let num = Number(this.form.taskMonadInfo?.[key]) || 0;
@@ -634,9 +649,6 @@
       },
       inputValue(key, totalKey) {
         if (totalKey == 'sampleQualifiedNumber') {
-          console.log(this.form.retainedSampleQuantity);
-          console.log(this.form.lossNumber);
-          console.log(this.form.sampleQualifiedNumber);
           if (
             Number(this.form.retainedSampleQuantity || 0) +
               Number(this.form.lossNumber || 0) >
@@ -657,6 +669,9 @@
             this.form[key] = 0;
           }
         }
+        if (this.form[key] < this.getSampleQuantityYp(key)) {
+          this.form[key] = this.getSampleQuantityYp(key) || 0;
+        }
       },
 
       //
@@ -1252,6 +1267,18 @@
         await this.queryQualitySamplContent();
         // 来源清单
         await this.getQueryQualityInventory();
+        if (this.form.recordingMethod != 1) {
+          [
+            'retainedSampleQuantity',
+            'retainedSampleUnqualified',
+            'lossNumber',
+            'lossNumberUnqualified'
+          ].forEach((key) => {
+            this.form[key] =
+              this.form[key] || this.getSampleQuantityYp(key) || 0;
+          });
+        }
+        // this.getSampleQuantityYp()
       },
       // getNewData(val) {
       //   console.log(val, '清单列表')