| | |
| | | } |
| | | 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 => { |
| | |
| | | }) |
| | | 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('≥')) { |
| | |
| | | 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 |
| | |
| | | } |
| | | 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, |
| | | }) |
| | | }) |
| | |
| | | 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) { |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | } |
| | | } 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 |
| | |
| | | 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) { |
| | |
| | | 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, |