From e056fe66322452149d3edf69c3ea99c48da9d43a Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期四, 04 七月 2024 09:49:29 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-inspect-order-plan/Inspection.vue | 263 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 220 insertions(+), 43 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 1b84f9a..9e6591a 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -301,7 +301,8 @@ <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 != '')" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> + @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"> <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> @@ -430,43 +431,29 @@ </el-form-item> </el-form> <el-divider></el-divider> - <el-form :inline="true" :model="wareForm0" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> + <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form-item label="浠櫒鍚嶇О:"> - <el-select v-model="wareForm0.value" placeholder="璇烽�夋嫨" size="small"> - <el-option - v-for="item in temperatureOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> + <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="wareForm0.value" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code0" placeholder="璇烽�夋嫨" size="small"> <el-option - v-for="item in temperatureOptions" + v-for="item in equipOptions" :key="item.value" - :label="item.label" + :label="item.value" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="浠櫒鍚嶇О:" style="margin-left: 80px;"> - <el-select v-model="wareForm0.value" placeholder="璇烽�夋嫨" size="small"> - <el-option - v-for="item in temperatureOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> + <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="wareForm0.value" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code1" placeholder="璇烽�夋嫨" size="small"> <el-option - v-for="item in temperatureOptions" + v-for="item in equipOptions" :key="item.value" - :label="item.label" + :label="item.value" :value="item.value"> </el-option> </el-select> @@ -474,7 +461,9 @@ </el-form> <el-table :data="wareTableData" + ref="wareTableData" border + v-loading="wareTableDataLoading" style="width: 100%;margin-bottom: 30px;" align="center"> <el-table-column label="搴忓彿" @@ -513,7 +502,7 @@ align="center" width="130"> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(m,0)"></el-input> + <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(scope.row)"></el-input> </template> </el-table-column> <el-table-column @@ -522,29 +511,30 @@ align="center" width="130"> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(m,1)"></el-input> + <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(scope.row)"></el-input> </template> </el-table-column> <el-table-column - prop="zip" + prop="comValue" align="center" label="骞冲潎鍊�" min-width="150"> </el-table-column> <el-table-column - prop="lastValue" + prop="resValue" label="琛板噺宸�" align="center" + v-if="wareForm.inspectionItemSubclass!=20" min-width="150"> </el-table-column> <el-table-column prop="insResult" label="缁撹" align="center" - min-width="150"> + min-width="150" v-if="wareForm.inspectionItemSubclass!=20"> <template slot-scope="scope"> <span v-if="scope.row.insResult===1" style="color: green;">鍚堟牸</span> - <span v-if="scope.row.insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="scope.row.insResult===0" style="color: red;">涓嶅悎鏍�</span> <span v-else>寰呭畾</span> </template> </el-table-column> @@ -675,6 +665,7 @@ }, data() { return { + wareTableDataLoading:false, fileAdd:false, sampleVisible: false, taskVisible: false, @@ -814,6 +805,12 @@ humidity:null, temperature:null, }, + equipForm:{ + value0:null, + code0:null, + value1:null, + code1:null, + } } }, computed: { @@ -870,7 +867,7 @@ } let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - console.log(this.currentSample) + // console.log(this.currentSample) this.currentSample.insProduct.forEach(a => { this.param[a.id] = { insValue: [], @@ -912,28 +909,195 @@ }) } }, + equipForm:{ + deep:true, + handler(val){ + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&this.equipOptions&&this.equipOptions.length>0){ + this.param[this.currentSample.insProduct[0].id].equipValue = [] + this.param[this.currentSample.insProduct[0].id].equipName = [] + if(this.equipForm.code0){ + this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label + this.param[this.currentSample.insProduct[0].id].equipValue.push({ + i:this.currentSample.insProduct[0].id, + v:{ + v:this.equipForm.code0 + } + }) + this.param[this.currentSample.insProduct[0].id].equipName.push({ + i:this.currentSample.insProduct[0].id, + v:{ + v:this.equipForm.value0 + } + }) + } + if(this.equipForm.code1){ + this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label + this.param[this.currentSample.insProduct[0].id].equipValue.push({ + i:this.currentSample.insProduct[0].id, + v:{ + v:this.equipForm.code1 + } + }) + this.param[this.currentSample.insProduct[0].id].equipName.push({ + i:this.currentSample.insProduct[0].id, + v:{ + v:this.equipForm.value1 + } + }) + } + this.saveInsContext() + } + } + } }, methods: { - changeItem(m,index){}, + changeItem(row){ + if(row.value0&&row.value1){ + this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(5)) + }else{ + return + } + this.param[row.id].insValue = [ + { + i:row.id, + v:{ + v:row.value0 + } + }, + { + i:row.id, + v:{ + v:row.value1 + } + } + ] + this.param[row.id].comValue = [{ + i:row.id, + v:{ + v:row.comValue + } + }] + if(this.wareForm.inspectionItemSubclass!=20){ + row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):'' + this.param[row.id].resValue.v.v = row.resValue + if(row.ask&&row.resValue){ + console.log(row.ask,row.resValue) + if(row.ask.includes('<')){ + row.insResult = row.resValue<row.ask.split('<')[1]?1:0 + }else if(row.ask.includes('>')){ + row.insResult = row.resValue<row.ask.split('>')[1]?1:0 + }else if(row.ask.includes('=')){ + row.insResult = row.resValue==row.ask.split('=')[1]?1:0 + }else if(row.ask.includes('鈮�')){ + row.insResult = row.resValue>=row.ask.split('鈮�')[1]?1:0 + }else if(row.ask.includes('鈮�')){ + row.insResult = row.resValue<=row.ask.split('鈮�')[1]?1:0 + } + this.param[row.id].insResult.v.v = row.insResult + } + }else{ + this.param[row.id].insResult.v.v = 1 + } + this.$refs.wareTableData.doLayout() + this.saveInsContext() + }, wareFormChange(m,type){ if(m&&type){ this.wareForm[type] = Number(m) } let wareForm = {...this.wareForm} wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'鈩�' + this.wareTableDataLoading = true this.$axios.post(this.$api.insOrderPlan.temCycle,{ sampleId:this.currentSample.id, ...wareForm }).then(res => { + this.wareTableDataLoading = false if (res.code == 201) return let {productVos,sampleVo} = res.data this.wareForm0 = sampleVo productVos = productVos.map(m=>{ let obj = {...m,...m.insProduct} + this.param[obj.id] = { + insValue: [], + comValue: [], + resValue: { + i:obj.id, + v:{ + v:null + } + }, + equipValue: [], + equipName: [], + insResult: { + i:obj.id, + v:{ + v:null + } + } + } + let insProductResult = obj.insProductResult + if(insProductResult){ + for(let i in insProductResult){ + switch (i) { + case 'insValue': + let insValue = JSON.parse(insProductResult[i]) + if(insValue&&insValue.length>1){ + this.param[obj.id].insValue = [ + { + i:obj.id, + v:{ + v:insValue[0].v + } + }, + { + i:obj.id, + v:{ + v:insValue[1].v + } + } + ] + obj.value0 = insValue[0].v + obj.value1 = insValue[1].v + } + break; + case 'comValue': + let comValue = JSON.parse(insProductResult[i]) + if(comValue&&comValue.length>0){ + this.param[obj.id].comValue = [ + { + i:obj.id, + v:{ + v:comValue[0].v + } + } + ] + obj.comValue = comValue[0].v + } + break; + default: + break; + } + } + this.param[obj.id].resValue = { + i:obj.id, + v:{ + v:obj.lastValue + } + } + obj.resValue = obj.lastValue + this.param[obj.id].insResult = { + i:obj.id, + v:{ + v:obj.insResult + } + } + } return obj }) this.wareTableData = productVos }) + this.getEquipOptions(true,this.currentSample.insProduct[0].id) }, subOtherForm(m,type){ let ids = [] @@ -1321,7 +1485,6 @@ } } }) - console.log(5555,a.template) // return ids.forEach(id => { for (let b = 0; b < a.template.length; b++) { @@ -1446,21 +1609,32 @@ } catch (e) {} try { let insValue = JSON.parse(a.insProductResult.insValue) - for (var i = 0; i < insValue.length; i++) { + for (let i = 0; i < insValue.length; i++) { this.param[a.id].insValue[i].v.v = insValue[i].v this.param[a.id].insValue[i].u = insValue[i].u } } catch (e) {} try { let equipValue = JSON.parse(a.insProductResult.equipValue) - for (var i = 0; i < equipValue.length; i++) { - this.param[a.id].equipValue[i].v.v = equipValue[i].v + for (let i = 0; i < equipValue.length; i++) { + console.log(444,this.equipForm) + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){ + // 娓╁害寰幆璧嬪�� + this.$set(this.equipForm,`code`+i,equipValue[i].v) + }else{ + this.param[a.id].equipValue[i].v.v = equipValue[i].v + } } } catch (e) {} try { let equipName = JSON.parse(a.insProductResult.equipName) - for (var i = 0; i < equipName.length; i++) { - this.param[a.id].equipName[i].v.v = equipName[i].v + for (let i = 0; i < equipName.length; i++) { + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){ + // 娓╁害寰幆璧嬪�� + this.$set(this.equipForm,`value`+i,equipName[i].v) + }else{ + this.param[a.id].equipName[i].v.v = equipName[i].v + } } } catch (e) {} try { @@ -1477,7 +1651,6 @@ let id = str[0] let pId = str[3] var list = [] - // console.log(id, 'r', r , 'c',c,this.tableList) for (let a in this.tableList) { if (this.tableList[a].templateId == id) { list = this.tableList[a].arr @@ -1817,6 +1990,9 @@ } return sum }, + handleInput (n) { + n.v.v = n.v.v.replace(/[^\d.^]/g, ''); + }, getInspectionItemType(id) { for (var a in this.currentSample.insProduct) { if (this.currentSample.insProduct[a].id == id) { @@ -1845,14 +2021,14 @@ } }) } catch (e) { - console.log(e); + // console.log(e); this.$message.error('鎵句笉鍒拌澶囧唴瀹�') } - console.log(n, code); + // console.log(n, code); fetch('http://localhost:82/寰俊鍥剧墖_20240518100811.png').then(res=>res.blob()).then(blob=>{ - console.log(blob); + // console.log(blob); const url = URL.createObjectURL(blob) - console.log(url); + // console.log(url); }) /* this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��') for (var a in this.currentSample.insProduct) { @@ -2014,6 +2190,7 @@ }, saveInsContext() { if(this.param){ + console.log(33333,this.param) this.$axios.post(this.$api.insOrderPlan.saveInsContext, { param: JSON.stringify(this.param) }).then(res => { -- Gitblit v1.9.3