From c470661da7703335991b8f2a2bc40cf00d926eea Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期日, 23 六月 2024 23:44:59 +0800
Subject: [PATCH] bug修复

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 151 insertions(+), 24 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 0385916..7f4494f 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -155,9 +155,12 @@
   }
 
   .inspection .el-input-group__append {
-    padding: 0 10px;
+    padding: 0 14px;
     color: #3A7BFA;
     background-color: #fff;
+    height: 100%;
+    display: flex;
+    align-items: center;
   }
 
   .inspection .center-box .el-input__inner {
@@ -359,6 +362,7 @@
       v-show="state==1&&fileAdd"
       :on-success="handleSuccessUp" :show-file-list="false"
         accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" :on-change="beforeUpload"
+        style="width: 80px !important;"
         :on-error="onError" ref='upload'>
         <el-button size="small" type="primary">闄勪欢涓婁紶</el-button></el-upload>
       <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
@@ -636,6 +640,10 @@
               this.insOrder.typeName = m.label
             }
           })
+          this.loading = false
+          if(!res.data.sampleProduct||res.data.sampleProduct.length==0){
+            return this.$message.error('璇ヤ换鍔℃病鏈夋牱鍝佷俊鎭�')
+          }
           this.sampleProduct = res.data.sampleProduct
           this.currentSample = this.HaveJson(this.sampleProduct[0])
           let list = await this.getCurrentProduct(this.currentSample.id,0)
@@ -652,7 +660,6 @@
           })
           if (this.currentSample.index == undefined) this.currentSample['index'] = 1
           let bushing = this.currentSample.bushing
-          this.loading = false
           // this.handleTableData()
           this.getTableLists();
           this.componentData.currentId = val;
@@ -1181,9 +1188,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('鈮�')) {
@@ -1205,6 +1214,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
@@ -1231,11 +1241,39 @@
                   }
                   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(arr0[0])
+                  break;
+                // case 'MAX':
+                //   let arr1 = []
+                //   for (var a in comValue) {
+                //     arr1.push(eval(comValue[a]))
+                //   }
+                //   comResult = Math.max(...arr1)
+                //   break;
+                // case 'MIN':
+                //   let arr2 = []
+                //   for (var a in comValue) {
+                //     arr2.push(eval(comValue[a]))
+                //   }
+                //   comResult = Math.median(...arr2)
+                //   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,
                     })
                   })
@@ -1250,18 +1288,17 @@
                   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 {
+                  str = str.replaceAll('MAX', 'Math.max')
+                  str = str.replaceAll('MIN', 'Math.min')
+                  str = str.replaceAll('锛�', ',')
+                  try {
                     if(this.getInspectionValueType(item.i)==1){
                       comResult = eval(str)
                     }else{
                       comResult = str
                     }
+                  } catch (error) {
+
                   }
                   break;
               }
@@ -1343,10 +1380,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;
           }
         }
@@ -1357,7 +1394,70 @@
             item.methodName = item.v.f.split('=').length > 1 && item.v.f.split('=')[1].split('(') && item.v.f.split(
               '=')[1].split('(')[0] ? item.v.f.split('=')[1].split('(')[0] : '鑷畾涔夋柟娉�';
             let valueList = [];
-            if (item.v.f.includes(':')) {
+            if(item.v.f.includes('MAX') || item.v.f.includes('MIN')){
+              item.methodName = '鑷畾涔夋柟娉�'
+              let regex = /[=\+\-\*\%\/\^\s]/g
+              let mode = item.v.f.replace(regex, ' ').split(' ');
+              let that = this
+              if(item.v.f.includes('MAX')){
+                item.v.f = Judgment(item.v.f, 'MAX')
+              }
+              if(item.v.f.includes('MIN')){
+                item.v.f = Judgment(item.v.f, 'MIN')
+              }
+              function Judgment(f,type) {
+                let newF = f
+                let mode4 = mode.filter(m => m&&m.includes(type))
+                mode4.forEach(m => {
+                  let mode0 = m
+                  if(mode0.includes(':')){
+                    let r0 = null;
+                    let c0 = null;
+                    let r1 = null;
+                    let c1 = null;
+                    let mode1 = mode0.split('(')[1].split(')')[0];
+                    let start = mode1.split(':')[0]
+                    let end = mode1.split(':')[1]
+                    c0 = that.comparisonList.find(j => j.label == start.split('')[0]).value
+                    r0 = start.replace(/[a-zA-Z]/g, "") - 1
+                    c1 = that.comparisonList.find(j => j.label == end.split('')[0]).value
+                    r1 = end.replace(/[a-zA-Z]/g, "") - 1
+                    let valueList0 = []
+                    for (let i = Number(r0); i <= Number(r1); i++) {
+                      for (let u = Number(c0); u <= Number(c1); u++) {
+                        valueList0.push({
+                          r: i,
+                          c: u
+                        })
+                      }
+                    }
+                    let valueList1 = []
+                    valueList0.forEach(v => {
+                      let r = '';
+                      let c = '';
+                      r = v.r +1;
+                      c = that.comparisonList.find(j => j.value == v.c).label
+                      valueList1.push(c+r)
+                    })
+                    let mode3 = type+'('+valueList1.join(',')+')'
+                    newF = newF.replace(mode0, mode3)
+                    valueList = [...valueList,...valueList0]
+                  }else{
+                    let mode1 = mode0.replace(type, '').replace(/[=\+\-\*\%\(\)\/\^\s]/g, '');
+                    let modeList = mode1.split(',');
+                    modeList.filter(m => m && !Number(m)).forEach(m => {
+                      let r = m.replace(/[a-zA-Z]/g, "") - 1
+                      let c = that.comparisonList.find(j => j.label == m.split('')[0]).value
+                      valueList.push({
+                        c,
+                        r
+                      })
+                    })
+                  }
+                })
+                return newF
+              }
+            }else if (item.v.f.includes(':')) {
               valueList = [];
               let r0 = null;
               let c0 = null;
@@ -1380,7 +1480,7 @@
               }
             } else {
               valueList = []
-              let regex = /[=\+\-\*\%\(\)\/\s]/g
+              let regex = /[=\+\-\*\%\(\)\/\^\s]/g
               let mode = item.v.f.replace(regex, ' ').split(' ');
               mode.filter(m => m && !Number(m)).forEach(m => {
                 let r = m.replace(/[a-zA-Z]/g, "") - 1
@@ -1395,6 +1495,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) {
@@ -1437,20 +1551,34 @@
         }
       },
       getSystemValue(n) {
+        let code = null
         try {
-          if (this.param[n.i].equipValue.v.v == null || this.param[n.i].equipValue.v.v == '') {
-            this.$message.error('璇峰厛閫夋嫨閲囬泦鐨勮澶�')
-            return
-          }
+          this.param[n.i].equipValue.forEach(a=>{
+            if(a.r === n.r){
+              if (a.v.v == null || a.v.v == '') {
+                this.$message.error('璇峰厛閫夋嫨閲囬泦鐨勮澶�')
+                return
+              }else{
+                code = a.v.v
+              }
+            }
+          })
         } catch (e) {
+          console.log(e);
           this.$message.error('鎵句笉鍒拌澶囧唴瀹�')
         }
-        this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��')
+        console.log(n, code);
+        fetch('http://localhost:82/寰俊鍥剧墖_20240518100811.png').then(res=>res.blob()).then(blob=>{
+          console.log(blob);
+          const url = URL.createObjectURL(blob)
+          console.log(url);
+        })
+        /* this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��')
         for (var a in this.currentSample.insProduct) {
           if (this.currentSample.insProduct[a].id == n.i) {
             this.currentSample.insProduct[a].inspectionItemType = 0
           }
-        }
+        } */
       },
       getEquipOptions(e, id) {
         if (e) {
@@ -1547,7 +1675,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,
@@ -1571,7 +1698,7 @@
                 if(lastChar=='-'){
                   res.data[i] = res.data[i].slice(0, -1);
                 }
-                newData.push(h('p', {style: 'font-size: 12px;'}, (Number(i)+1)+'銆�'+res.data[i]))
+                newData.push(h('p', {style: 'font-size: 14px;color: red;'}, (Number(i)+1)+'銆�'+res.data[i]))
               }
               newData.push(h('p',  { style: 'font-size: 16px;color:#000;margin-top:12px' },'浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�'))
               this.$confirm('鎻愮ず',{

--
Gitblit v1.9.3