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