From cd948d4615d3ae6c571e4ed04275e851632a2dba Mon Sep 17 00:00:00 2001 From: lxp <1928192722@qq.com> Date: 星期五, 09 八月 2024 09:24:20 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before --- src/components/do/b1-inspect-order-plan/Inspection.vue | 295 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 214 insertions(+), 81 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 9608259..c454335 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -22,7 +22,7 @@ .search .form-inline { padding-top: 20px; - padding-left: 50px; + padding-left: 0px; } .center { @@ -254,18 +254,20 @@ </el-col> </el-row> <div class="search"> - <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px"> + <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px" label-position="right"> <el-form-item label="濮旀墭缂栧彿:"> <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="鏍峰搧缂栧彿:"> - <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode"> + <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> + </el-tooltip> </el-form-item> <el-form-item label="鏍峰搧鍚嶇О:"> <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="鏍峰搧鏁伴噺:"> - <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> </el-form-item> <el-form-item label="涓嬪彂鏃堕棿:"> <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input> @@ -279,6 +281,10 @@ <el-form-item label="褰撳墠鏍峰搧浣嶆暟:"> <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> </el-form-item> + <el-form-item label="澶囨敞:"> + <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span> + <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> --> + </el-form-item> </el-form> </div> <div class="center"> @@ -291,8 +297,19 @@ </el-radio-group> </div> <div style="display: flex;align-items: center;"> + <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'"> 濂楃锛�</span> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> + <el-option + v-for="item in casing" + :key="item.id" + :label="item.color" + :value="item.id"> + <span style="float: left">{{ item.color}}</span> + <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> + </el-option> + </el-select> <span v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦甯︼細</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> <el-option v-for="item in fibers" :key="item.value" @@ -303,7 +320,7 @@ </el-option> </el-select> <span v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦锛�</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> <el-option v-for="item in fiber" :label="item.bushColor+'-'+item.color" @@ -367,6 +384,7 @@ <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-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">涓嶅垽瀹�</span> <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> </template> </template> @@ -400,7 +418,7 @@ <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div> <i class="el-icon-caret-right table_caret" style="width: 16px;" - v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i> + v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> </div> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'"> @@ -595,6 +613,7 @@ <template slot-scope="scope"> <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </el-table-column> @@ -674,6 +693,7 @@ <template v-else> <span v-if="item.insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="item.insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="item.insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </td> @@ -747,6 +767,7 @@ size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> </template> </el-table-column> + <el-table-column prop="checkName" label="妫�楠屼汉" min-width="80px" show-overflow-tooltip></el-table-column> <el-table-column prop="isLeave" label="鏄惁鐣欐牱" width="95px" show-overflow-tooltip align="center"> <template slot-scope="scope"> <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span> @@ -925,6 +946,8 @@ requiredUp: [] }, upIndex: 0, + changeType:null, + getReportModelLoading:false, insOrder: {}, sampleProduct: [], typeList: [], @@ -967,6 +990,7 @@ temptList:null, fiber:[], fibers:[], + casing:[], currentTab:null, wareForm:{ inspectionItem:1, @@ -1031,7 +1055,8 @@ } ], getDataIndex:[], - getDataIndexLoading:false + getDataIndexLoading:false, + changeType:null, } }, computed: { @@ -1089,15 +1114,18 @@ } let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - // console.log(this.currentSample) + this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.determineWhetherToCollectData() @@ -1123,19 +1151,30 @@ }, currentTable(val1, val0) { if (val0 != null && val1 != val0) { + if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ + if(this.casing.length>0){ + this.handleChange(this.casing[0].id,3) + } + return + } + if(this.changeType&&this.changeType>0){ + return + } this.tableLists.forEach(async (m, i) => { if (m.templateId == val1) { let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - // console.log(this.currentSample) + this.param = {} this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getReportModel(this.currentSample.id) @@ -1162,9 +1201,6 @@ this.tableList = this.tableLists.filter(m => m.templateId == val1) this.handleTableData() } - // this.$delete(this.tableList,0) - // this.$set(this.tableList, 0, m) - // this.handleTableData() } }) } @@ -1272,6 +1308,32 @@ value:data[i][j].result, frequency:data[i].frequency } + let list = this.tableList[0].arr + list.forEach((item,index)=>{ + let num0 = 0; + let str = '' + let str0 = i+','+j + item.forEach(m=>{ + if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ + if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ + if(num0==0){ + str = m.v.v+',' + num0++ + } + } + if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ + if(num0==1){ + str = str+m.v.v + } + } + } + if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ + if(!m.v.v){ + this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) + } + } + }) + }) }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ let str0 = i+','+j let list = this.tableList[0].arr @@ -1301,10 +1363,10 @@ if(str0==str){ maxNum = num } - if(data[i][j].equipName&&data[i][j].equipValue){ - if(!m.v.v){ - this.changeEquip(data[i][j].equipValue,m) - } + } + if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ + if(!m.v.v){ + this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) } } }) @@ -1358,6 +1420,7 @@ this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁') return } + this.getDataIndex.sort((a, b) => a - b); for (let i=0;i<this.getData.length;i++){ for(let j=0;j<this.getData[i].child.length;j++){ let arr = [] @@ -1512,6 +1575,23 @@ ] obj.value0 = insValue[0].v obj.value1 = insValue[1].v + }else if(insValue&&insValue.length==1){ + this.param[obj.id].insValue = [ + { + i:obj.id, + v:{ + v:insValue[0].v + } + }, + { + i:obj.id, + v:{ + v:'' + } + } + ] + obj.value0 = insValue[0].v + obj.value1 = '' } break; case 'comValue': @@ -1981,14 +2061,18 @@ this.currentSample = this.HaveJson(row) let list = await this.getCurrentProduct(row.id,0) this.currentSample.insProduct = this.HaveJson(list) + this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getReportModel(row.id) @@ -2007,19 +2091,35 @@ currentTable:this.currentTable })); }, + handleCasing(inspectionItem){ + if(this.changeType!=3){ + if(inspectionItem.includes('鏉惧绠�')){ + return false + }else{ + return true + } + }else{ + return true + } + }, getReportModel(id){ if(this.PROJECT!='妫�娴嬩腑蹇�'){ return } + this.getReportModelLoading = true this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => { + this.getReportModelLoading = false this.fibers = res.data['鍏夌氦甯�'] this.fiber = res.data['鍏夌氦'] + this.casing = res.data['濂楃'] }) }, async handleChange(m,type){ + this.changeType = type if(m){ let list = await this.getCurrentProduct(m,type) if(list.length>0){ + this.param = {} list.forEach(a => { this.param[a.id] = { insValue: [], @@ -2036,7 +2136,8 @@ type: 'saveData', tableList:this.tableList, param:this.param, - currentTable:this.currentTable + currentTable:this.currentTable, + bushing:m })); }else{ this.tableLists = [] @@ -2541,33 +2642,53 @@ this.handleExcelMethod() }, changeInput(m, code, n) { + // let str = code.split('-') + // let pId = str[3] + // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){ + // let inspectionItem = '' + // let idS = [] + // let child = 0 + // for (let i in this.currentSample.insProduct) { + // if(this.currentSample.insProduct[i].id==pId){ + // inspectionItem = this.currentSample.insProduct[i].inspectionItem + // } + // } + // for (let i in this.currentSample.insProduct) { + // if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){ + // idS.push(this.currentSample.insProduct[i].id) + // } + // } + // for (let i = 0;i<idS.length;i++) { + // if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){ + // child++ + // } + // } + // if(child==0){ + // n.v.v = null + // this.$message.error('璇峰厛濉啓璁惧淇℃伅') + // return + // } + // } let str = code.split('-') let pId = str[3] - if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){ - let inspectionItem = '' - let idS = [] - let child = 0 - for (let i in this.currentSample.insProduct) { - if(this.currentSample.insProduct[i].id==pId){ - inspectionItem = this.currentSample.insProduct[i].inspectionItem + for(let i =0;i<this.currentSample.insProduct.length;i++){ + if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/')){ + this.tableList[0].arr.forEach(item=>{ + item.forEach(m=>{ + if(m.i==pId&&m.v.ps&&m.v.ps.value=='缁撹'){ + this.$set(m.v,'v',3) + } + }) + }) + if(this.param[pId].insResult&&this.param[pId].insResult.v){ + this.param[pId].insResult.v.v = 3 } - } - for (let i in this.currentSample.insProduct) { - if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){ - idS.push(this.currentSample.insProduct[i].id) - } - } - for (let i = 0;i<idS.length;i++) { - if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){ - child++ - } - } - if(child==0){ - n.v.v = null - this.$message.error('璇峰厛濉啓璁惧淇℃伅') + this.saveInsContext() return } } + // this.currentTable. + // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){} if (n) { // if (this.PROJECT === '瑁呭鐢电紗') { // let num2 = new this.$Big(n.v.v) @@ -2617,18 +2738,6 @@ } } } - // let obj = this.param[code.split('-')[3]] - // this.tableList[0].arr.forEach(item=>{ - // item.forEach(m=>{ - // if(obj&&obj.insResult&&m.c==obj.insResult.c&&m.r==obj.insResult.r){ - // m.v.v = obj.insResult.v.v - // } - // if(obj&&obj.resValue&&m.c==obj.resValue.c&&m.r==obj.resValue.r){ - // m.v.v = obj.resValue.v.v - // } - // }) - // }) - // console.log(this.tableList,this.param) this.saveInsContext() }) break; @@ -3047,11 +3156,15 @@ console.log(999,error); } }, - changeEquip(val, n) { + changeEquip(val, n,v) { + this.$set(n.v,'v',val) this.tableList[0].arr.forEach((item,index)=>{ item.forEach((m,i)=>{ if(this.param[m.i]){ this.param[m.i].state = 1 + } + if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'&&v){ + this.$set(m.v,'v',v) } }) }) @@ -3060,14 +3173,31 @@ delete this.param[i] } } + if(val&&v){ + for (let i1 in this.param[n.i].equipName) { + if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { + this.$delete(this.param[n.i].equipValue[i1].v,'v') + this.$set(this.param[n.i].equipValue[i1].v,'v',val) + this.$delete(this.param[n.i].equipName[i1].v,'v') + this.$set(this.param[n.i].equipName[i1].v,'v',v) + } + } + } for (let i in this.equipOptions) { - if (this.equipOptions[i].value === val) { + if (this.equipOptions[i].value == val) { for (let i1 in this.param[n.i].equipName) { if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { this.$delete(this.param[n.i].equipValue[i1].v,'v') this.$set(this.param[n.i].equipValue[i1].v,'v',val) this.$delete(this.param[n.i].equipName[i1].v,'v') this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label) + this.tableList[0].arr.forEach((item,index)=>{ + item.forEach((m)=>{ + if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'){ + this.$set(m.v,'v',this.equipOptions[i].label) + } + }) + }) } } } @@ -3130,14 +3260,17 @@ let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getTableLists() -- Gitblit v1.9.3