From 09ee2efd8bc38d82aa01e2c0d77b84d398f606b2 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期四, 04 七月 2024 16:26:03 +0800 Subject: [PATCH] 要求值是分数 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 146 ++++++++++++++---------------------------------- 1 files changed, 42 insertions(+), 104 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 27b091c..7e56d4e 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -276,7 +276,7 @@ <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" size="small">{{ item.color }}</el-radio-button> </el-radio-group> - <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;"> + <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'"> <el-form-item label="娓╁害:" style="margin-bottom: 0;"> <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input> <span style="margin-left: 4px;">鈩�</span> @@ -300,9 +300,9 @@ :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"> <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��' && state==1"> <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" - :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" - @input="handleInput(n)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> + :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" + @input="handleInput(n)" @blur="bigNum(n)" + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> </el-input> @@ -319,12 +319,12 @@ v-else-if="getInspectionValueType(n.i) == 4">/</span> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'"> - <!-- <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1" + <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1&&PROJECT=='瑁呭鐢电紗'" class="table_input" v-model="n.v.v" @change="saveInsContext()"> <el-option label="鍚堟牸" :value="1"></el-option> <el-option label="涓嶅悎鏍�" :value="0"></el-option> - </el-select> --> - <template> + </el-select> + <template v-if="PROJECT=='妫�娴嬩腑蹇�'||PROJECT=='瑁呭鐢电紗'&&getInspectionValueType(n.i) != 2 "> <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">鍚堟牸</span> <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span> <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> @@ -1676,14 +1676,8 @@ break } } - if(this.getInspectionValueType(item.i)==1){ - if (!isNaN(parseFloat(c.v.v))) { - if(c.v.v.includes('^')){ - comValue[(tableCode + (c.r + 1))] = c.v.v - }else{ - comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) - } - } + if(this.getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){ + comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v) }else{ comValue[(tableCode + (c.r + 1))] = c.v.v } @@ -1704,33 +1698,39 @@ if(ask){ comp = ask.map((m, i) => { if (m.includes('=')) { - let str = m.split('=')[1] + let str = this.handleFraction(m.split('=')[1]) if(typeof res == 'string'&&typeof str == 'string'){ return res.trim() == str.trim() }else{ return eval(res) == eval(str) } } else if (m.includes('鈮�')) { - return eval(res) >= eval(m.split('鈮�')[1]) + let str = this.handleFraction(m.split('鈮�')[1]) + return eval(res) >= eval(str) }else if (m.includes('鈮�')) { - return eval(res) <= eval(m.split('鈮�')[1]) + let str = this.handleFraction(m.split('鈮�')[1]) + return eval(res) <= eval(str) }else if (m.includes('<')) { - return eval(res) < eval(m.split('<')[1]) + let str = this.handleFraction(m.split('<')[1]) + return eval(res) < eval(str) }else if (m.includes('>')) { - return eval(res) > eval(m.split('>')[1]) + let str = this.handleFraction(m.split('>')[1]) + return eval(res) > eval(str) }else if (m.includes('~')) { let k = m.split('~') - return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) + return eval(res) >= eval(this.handleFraction((k[0]))) && eval(res) <= eval(this.handleFraction(k[1])) }else if(m.includes('-')){ let k = m.split('-') - return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) + return eval(res) >= eval(this.handleFraction(k[0])) && eval(res) <= eval(this.handleFraction(k[1])) }else if(m.includes('卤')){ let k = m.split('卤') - return eval(res) >= eval((k[0] - k[1])) && eval(res) <= eval((k[0] + k[1])) + return eval(res) >= eval((this.handleFraction(k[0]) - this.handleFraction(k[1]))) && eval(res) <= eval((this.handleFraction(k[0]) + this.handleFraction(k[1]))) }else if(m.includes('锛�')){ - return eval(res) > eval(m.split('锛�')[1]) + let str = this.handleFraction(m.split('锛�')[1]) + return eval(res) > eval(str) }else if(m.includes('锛�')){ - return eval(res) < eval(m.split('锛�')[1]) + let str = this.handleFraction(m.split('锛�')[1]) + return eval(res) < eval(str) } }) } @@ -1754,11 +1754,13 @@ }else{ let valueList = []; item.valueList.forEach(a => { + console.log(a) valueList.push({ name: `${this.comparisonList.find(e=>e.value==a.c).label}${a.r+1}`, value: 0, }) }) + console.log(comValue) for (var a in comValue) { valueList.forEach(b => { if (b.name == a) { @@ -1770,88 +1772,11 @@ valueList.forEach(b => { str = str.replace(b.name, b.value) }) + console.log(str) comResult = str } } catch (error) { - } - // comResult = excelFunction.compute(item.v.f.replace(/=/g, ' '),comValue); - // switch (item.methodName) { - // case 'AVERAGE': - // let num = 0 - // for (var a in comValue) { - // num += comValue[a] - // } - // comResult = num / Object.keys(comValue).length - // break; - // case 'SUM': - // let sum = 0 - // for (var a in comValue) { - // sum += comValue[a] - // } - // 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.find(e=>e.value==a.c).label}${a.r+1}`, - // value: 0, - // }) - // }) - // for (var a in comValue) { - // valueList.forEach(b => { - // if (b.name == a) { - // b.value = comValue[a] - // } - // }) - // } - // let str = item.v.f.replace(/=/g, ' '); - // 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) - // }else{ - // comResult = str - // } - // } catch (error) { - - // } - // break; - // } try { list.forEach(a => { if (a[0].r == item.r && comResult !== '') { @@ -1879,6 +1804,13 @@ this.getCurrentInsProduct(pId) } catch (error) { + } + }, + handleFraction(str){ + if(str&&typeof(str)=='string'&&str.includes('/')){ + return eval(str.split('/')[0]/str.split('/')[1]) + }else{ + return str } }, getCurrentInsProduct(pId) { @@ -1999,7 +1931,13 @@ return sum }, handleInput (n) { - n.v.v = n.v.v.replace(/[^\d.^]/g, ''); + n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); + }, + bigNum (n) { + if (n.v.v > 10000 && this.PROJECT === '瑁呭鐢电紗') { + let num2 = new this.$Big(n.v.v) + n.v.v = num2.toExponential() + } }, getInspectionItemType(id) { for (var a in this.currentSample.insProduct) { -- Gitblit v1.9.3