From e6c3fccc9e412e79964a6dc2dae4c3da0c80095c Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 26 十一月 2024 15:22:28 +0800 Subject: [PATCH] 完成检验下单、检验任务、报告生成变更 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 150 +++++++++++++++++++++++++++++-------------------- 1 files changed, 88 insertions(+), 62 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index cfc661b..32ee71d 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -259,7 +259,7 @@ <el-row class="title"> <el-col :span="12" style="padding-left: 20px;text-align: left;" :class="{noShow:noBack}">妫�楠屽崟璇︽儏 </el-col> - <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end"> + <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end;margin-top: 16px;"> <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button> <el-select v-model="template" size="medium" placeholder="鐢佃矾棰勮妯℃澘" style="margin-right: 10px;margin-left: 10px;" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')" @change="selectInsProductTemplateById"> @@ -272,7 +272,7 @@ <el-button size="medium" @click="templateDia=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&addInsProductTemplatePower"> <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> </el-button> - <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> + <!-- <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> --> <el-button size="small" type="primary" @click="taskVisible=true" v-show="!isLook">浠诲姟鍒囨崲</el-button> <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1" :loading="submitLoading">鎻愪氦</el-button> @@ -429,10 +429,10 @@ </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧缂栧彿'"> <div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode"> - <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> + <!-- <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> + <!-- <i class="el-icon-caret-right table_caret" style="width: 16px;" + v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> --> </div> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'"> @@ -750,7 +750,8 @@ </div> <el-upload :action="action" :data="{ - orderId:id, + orderId:this.orderId0, + sampleId:id, sonLaboratory:sonLaboratory }" v-if="state==1&&fileAdd" @@ -889,28 +890,31 @@ :rows="2"></el-input> </div> </div> - <table border="1" cellpadding="10" class="thermal-table"> - <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;"> - <td>鏍峰搧</td> - <td>鏍峰搧缂栧彿</td> - <td>鍨嬪彿</td> - <td>妫�楠岄」</td> - <td>妫�楠屽瓙椤�</td> - <td>宸ユ椂</td> - </tr> - <template v-for="(item,index) in sampleProduct"> - <tr> - <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td> - <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td> - <td :rowspan="item.insProduct.length+1">{{ item.model }}</td> + <template v-for="(x,y) in newUserInfo"> + <p style="margin: 10px 0;"><el-tag size="small">{{x.name}}</el-tag> 宸ユ椂濉啓</p> + <table border="1" cellpadding="10" class="thermal-table"> + <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;"> + <td>鏍峰搧</td> + <td>鏍峰搧缂栧彿</td> + <td>鍨嬪彿</td> + <td>妫�楠岄」</td> + <td>妫�楠屽瓙椤�</td> + <td>宸ユ椂</td> </tr> - <tr v-for="(m,i) in item.insProduct" :key="item.id+i"> - <td>{{ m.inspectionItem }}</td> - <td>{{ m.inspectionItemSubclass }}</td> - <td><el-input-number v-model="m.outputWorkTime" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td> - </tr> - </template> - </table> + <template v-for="(item,index) in sampleProduct"> + <tr> + <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td> + <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td> + <td :rowspan="item.insProduct.length+1">{{ item.model }}</td> + </tr> + <tr v-for="(m,i) in item.insProduct" :key="item.id+i"> + <td>{{ m.inspectionItem }}</td> + <td>{{ m.inspectionItemSubclass }}</td> + <td><el-input-number v-model="x.timeArr[i]" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td> + </tr> + </template> + </table> + </template> </div> <span slot="footer" class="dialog-footer"> <el-button @click="experimentDia = false">鍙� 娑�</el-button> @@ -949,7 +953,7 @@ import PowerCapacity from './power-capacity.vue' import filePreview from '../../tool/file-preview.vue' export default { - props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack'], + props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack','orderId0','userInfo'], components: { ValueTable, CircuitParameters1, @@ -1010,8 +1014,9 @@ }, componentData0: { entity: { - insOrderId:'', - sonLaboratory:this.sonLaboratory + insSampleId:'', + sonLaboratory:this.sonLaboratory, + insOrderId:'' }, isIndex: true, showSelect: false, @@ -1156,6 +1161,7 @@ templateLoading:false, templateName:'', addInsProductTemplatePower:false,//閰嶇疆妯℃澘鏉冮檺 + newUserInfo:[] } }, // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� @@ -1191,11 +1197,12 @@ id(val) { this.loading = true this.$axios.post(this.$api.insOrderPlan.doInsOrder, { - id: val, + sampleId: val, laboratory: this.sonLaboratory }).then(async res => { this.insOrder = res.data.insOrder; - this.componentData0.entity.insOrderId = val; + this.componentData0.entity.insSampleId = val; + this.componentData0.entity.insOrderId = this.orderId0; this.$refs.fileList.selectList() this.urgentList.forEach(m => { if (m.value == this.insOrder.type) { @@ -2232,6 +2239,7 @@ this.param = {} // 娓呯┖鍏夌氦閰嶇疆鐩稿叧鏁版嵁 this.fiberOpticTape = [] + this.template = '' this.currentFiberOpticTape = null; this.fiberOptic = [] this.currentFiberOptic = null; @@ -3217,7 +3225,7 @@ }, // 澶嶆牳 upInsReview(e,type) { - this.$confirm(`鏄惁${type}?`, "鎻愮ず", { + this.$confirm(type=='缁撴潫璇曢獙'?'纭缁撴潫璇曢獙锛熺‘瀹氬悗姝ゅ鎵樺崟鍋滄璇曢獙锛屽苟涓旀棤娉曞啀娆℃楠岋紒':`鏄惁${type}?`, "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" @@ -3226,7 +3234,7 @@ // 缁х画璇曢獙 this.reviewLoading = true; this.$axios.post(this.$api.insOrderPlan.verifyPlan, { - orderId: this.orderId, + sampleId: this.orderId, type: e, laboratory: this.sonLaboratory, tell: null @@ -3250,7 +3258,7 @@ if (this.noReason) { this.reviewLoading = true; this.$axios.post(this.$api.insOrderPlan.verifyPlan, { - orderId: this.orderId, + sampleId: this.orderId, type: 0, laboratory: this.sonLaboratory, tell: this.noReason @@ -3279,18 +3287,18 @@ return } } - let num =0 - this.sampleProduct.forEach(item=>{ - item.insProduct.forEach(a=>{ - if(!a.outputWorkTime){ - num++ - } - }) - }) - if(num>0){ - this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�') - return - } + // let num =0 + // this.newUserInfo.forEach(item=>{ + // item.timeArr.forEach(a=>{ + // if(!a){ + // num++ + // } + // }) + // }) + // if(num>0){ + // this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�') + // return + // } this.experimentDia = false this.experimentDia0 = false if(this.insOrder.orderType=='C'){ @@ -3310,6 +3318,21 @@ return } this.experimentDia = true + this.newUserInfo = [] + this.userInfo.name.forEach((item,index)=>{ + let timeArr = [] + this.sampleProduct.forEach(m=>{ + m.insProduct.forEach(a=>{ + timeArr.push(0) + }) + }) + let obj = { + name:item, + id:this.userInfo.ids[index], + timeArr:timeArr + } + this.newUserInfo.push(obj) + }) if (this.sonLaboratory === '鐢佃矾璇曢獙') { this.experimentDia0 = true } @@ -3322,27 +3345,30 @@ this.addVerifyDia = false this.submitLoading = true; this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, { - orderId: this.orderId, + sampleId: this.orderId, laboratory: this.sonLaboratory, }).then(res => { if (res.code === 200) { let auxiliaryOutputWorkingHoursList = [] this.sampleProduct.forEach(item=>{ - item.insProduct.forEach(a=>{ - let obj = { - inspectionItem:a.inspectionItem, - outputWorkTime:a.outputWorkTime, - inspectionItemSubclass:a.inspectionItemSubclass, - sample:item.sampleCode, - insProductId:a.id, - num:item.num1 - } - auxiliaryOutputWorkingHoursList.push(obj) + item.insProduct.forEach((a,i)=>{ + this.newUserInfo.forEach(b=>{ + let obj = { + inspectionItem:a.inspectionItem, + outputWorkTime:b.timeArr[i], + inspectionItemSubclass:a.inspectionItemSubclass, + sample:item.sampleCode, + insProductId:a.id, + num:item.num1, + check:b.id + } + auxiliaryOutputWorkingHoursList.push(obj) + }) }) }) if(!res.data||res.data.length==0){ this.$axios.post(this.$api.insOrderPlan.submitPlan, { - orderId: this.orderId, + sampleId: this.orderId, laboratory: this.sonLaboratory, verifyUser: this.verifyUser, entrustCode: this.insOrder.entrustCode, @@ -3381,7 +3407,7 @@ type: "" }).then(() => { this.$axios.post(this.$api.insOrderPlan.submitPlan, { - orderId: this.orderId, + sampleId: this.orderId, laboratory: this.sonLaboratory, verifyUser: this.verifyUser, auxiliaryOutputWorkingHoursList:auxiliaryOutputWorkingHoursList, @@ -3412,7 +3438,7 @@ async handleCType(){ if(this.insOrder.departmentLims=='璐ㄩ噺閮�'){ await this.$axios.post(this.$api.insOrderPlan.verifyPlan, { - orderId: this.orderId, + sampleId: this.orderId, type: 1, laboratory: this.sonLaboratory, tell: null @@ -3833,7 +3859,7 @@ return } // 淇濆瓨鐗堟湰 - this.saveVersion() + // this.saveVersion() // 濡傛灉妯℃澘鐨勬楠岄」澶氫簡锛屽垯鍒犻櫎澶氫綑鐨� obj.allBandList.forEach(item=>{ item.projectList.forEach((m,i)=>{ -- Gitblit v1.9.3