From 0f8aca36a23b098e40d94c5f0207b1cb5e409fa9 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 19 六月 2024 14:30:29 +0800
Subject: [PATCH] 修改检验任务bug

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |   54 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 261e82a..489bd8d 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -1161,6 +1161,7 @@
         }
         this.excelMethodList.forEach(item => {
           if (item.valueList.find(m => m.r == r && m.c == c)) {
+            console.log(item)
             var comValue = {}
             item.valueList.forEach(a => {
               list.forEach(b => {
@@ -1188,9 +1189,11 @@
             })
             if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps != undefined && item.v.ps.value == '缁撹') {
               if (this.currentSample.insProduct.find(m => m.id == item.i)) {
-                let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&');
+                let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
                 let res = Object.values(comValue)[0]
-                let comp = ask.map((m, i) => {
+                let comp = []
+                if(ask){
+                  comp = ask.map((m, i) => {
                   if (m.includes('=')) {
                     return res == m.split('=')[1]
                   } else if (m.includes('鈮�')) {
@@ -1212,6 +1215,7 @@
                     return res >= (k[0] - k[1]) && res <= (k[0] + k[1])
                   }
                 })
+                }
                 if(this.getInspectionValueType(item.i)==1){
                   if (comp.every(m => m)) {
                     item.v.v = 1
@@ -1238,11 +1242,25 @@
                   }
                   comResult = sum
                   break;
+                case 'MEDIAN':
+                  let arr = []
+                  for (var a in comValue) {
+                    arr.push(comValue[a])
+                  }
+                  comResult = this.median(arr)
+                  break;
+                case 'APS':
+                  let arr0 = []
+                  for (var a in comValue) {
+                    arr0.push(comValue[a])
+                  }
+                  comResult = Math.abs(arr[0])
+                  break;
                 default:
                   let valueList = [];
                   item.valueList.forEach(a => {
                     valueList.push({
-                      name: `${this.comparisonList[a.c].label}${a.r+1}`,
+                      name: `${this.comparisonList.find(e=>e.value==a.c).label}${a.r+1}`,
                       value: 0,
                     })
                   })
@@ -1257,21 +1275,18 @@
                   valueList.forEach(b => {
                     str = str.replace(b.name, b.value)
                   })
-                  if (item.v.f.includes('/')) {
-                    if (Object.getOwnPropertyNames(comValue).length == valueList.length) {
-                      comResult = eval(str)
-                    } else {
-                      comResult = ''
-                    }
-                  } else {
+                  try {
                     if(this.getInspectionValueType(item.i)==1){
                       comResult = eval(str)
                     }else{
                       comResult = str
                     }
+                  } catch (error) {
+
                   }
                   break;
               }
+              console.log(comResult)
               list.forEach(a => {
                 if (a[0].r == item.r && comResult != '') {
                   for (var b in a) {
@@ -1350,10 +1365,10 @@
               this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m])
               break;
             case 'resValue':
-              this.tableList[0].lastValue = value.v.v
+              this.tableList[0].lastValue = value?value.v.v:''
               break;
             case 'insResult':
-              this.tableList[0].insResult = value.v.v
+              this.tableList[0].insResult = value?value.v.v:''
               break;
           }
         }
@@ -1402,6 +1417,20 @@
             return item;
           })
         }
+      },
+      median(arr) {
+          // 瀵规暟缁勮繘琛屾帓搴�
+          const sortedArr = arr.sort((a, b) => a - b);
+          // 璁$畻鏁扮粍闀垮害鐨勪竴鍗�
+          const half = Math.floor(sortedArr.length / 2);
+          // 濡傛灉鏁扮粍闀垮害涓哄鏁帮紝杩斿洖涓棿鐨勫厓绱狅紱濡傛灉涓哄伓鏁帮紝杩斿洖涓棿涓や釜鍏冪礌鐨勫钩鍧囧��
+          if (sortedArr.length % 2) {
+              // 濂囨暟浣嶇疆鐨勫厓绱�
+              return sortedArr[half];
+          } else {
+              // 鍋舵暟浣嶇疆鐨勫钩鍧囧��
+              return (sortedArr[half - 1] + sortedArr[half]) / 2;
+          }
       },
       getInspectionValueType(id) {
         for (var a in this.currentSample.insProduct) {
@@ -1568,7 +1597,6 @@
           laboratory: this.sonLaboratory,
         }).then(res => {
           if (res.code === 200) {
-            console.log(res.data)
             if(!res.data||res.data.length==0){
               this.$axios.post(this.$api.insOrderPlan.submitPlan, {
                 orderId: this.orderId,

--
Gitblit v1.9.3