| | |
| | | } |
| | | 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 => { |
| | |
| | | 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 => { |
| | |
| | | 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) |
| | |
| | | } |
| | | break; |
| | | } |
| | | console.log(comResult) |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult != '') { |
| | | for (var b in a) { |
| | |
| | | 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; |