From 691440d02d1e5545ebdae1bbf07fa7f5520c689f Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期五, 21 六月 2024 02:40:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |   86 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 82 insertions(+), 4 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 489bd8d..7f4494f 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -1161,7 +1161,6 @@
         }
         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 => {
@@ -1254,8 +1253,22 @@
                   for (var a in comValue) {
                     arr0.push(comValue[a])
                   }
-                  comResult = Math.abs(arr[0])
+                  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 => {
@@ -1275,6 +1288,9 @@
                   valueList.forEach(b => {
                     str = str.replace(b.name, b.value)
                   })
+                  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)
@@ -1286,7 +1302,6 @@
                   }
                   break;
               }
-              console.log(comResult)
               list.forEach(a => {
                 if (a[0].r == item.r && comResult != '') {
                   for (var b in a) {
@@ -1379,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;

--
Gitblit v1.9.3