value
2024-06-21 691440d02d1e5545ebdae1bbf07fa7f5520c689f
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;