From 15f18f555a4d728db4cd335ec36dab3f0671c3a5 Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期一, 25 三月 2024 18:01:20 +0800 Subject: [PATCH] 检验任务 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 132 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 121 insertions(+), 11 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 1c57def..8372cd4 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -7,13 +7,11 @@ .search { width: 100%; margin-bottom: 10px; - height: 140px; background-color: #fff; border-radius: 3px; } .search .form-inline { - height: 50px; padding-top: 20px; padding-left: 50px; } @@ -24,7 +22,47 @@ background-color: #fff; border-radius: 3px; padding: 20px; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; } + .tables{ + /* width: 800px; */ + } + .tables td{ + height: 40px; + width: 100px; + text-align: center; + font-size: 14px; + } + .content{ + display: flex; + width: 100%; + height: 100%; + align-items: center; + justify-content: left; + padding: 5px; + box-sizing: border-box; + } + .content-h-0{ + justify-content: center; + } + .content-h-1{ + justify-content: start; + } + .content-h-2{ + justify-content: end; + } + .content-v-0{ + align-items: center; + } + .content-v-1{ + align-items: start; + } + .content-v-2{ + align-items: end; + } </style> <style> .el-form-item__label{ @@ -45,7 +83,7 @@ } </style> <template> - <div> + <div v-loading="loading"> <el-row class="title"> <el-col :span="12" style="padding-left: 20px;">妫�楠屽崟璇︽儏</el-col> <el-col :span="12" style="text-align: right;"> @@ -78,29 +116,45 @@ <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="褰撳墠鏍峰搧浣嶆暟:" > - <span v-if="currentSample.index">{{ `NO.${currentSample.index}` }}</span> + <el-tag v-if="currentSample.index">{{ `NO.${currentSample.index}` }}</el-tag> </el-form-item> </el-form> </div> <div class="center"> + <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> + <tbody> + <tr v-for="(m,i) in item.arr" :key="i"> + <td + v-for="(n,j) in m" + :key="j" + :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" + :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" + :style="`background:${n.v.bg};font-family:${n.v.ff};color:${n.v.fc};font-size:${n.v.fs}px;width:${item.style.columnlen[j]}px;height:${item.style.rowlen[i]}px;font-wight:${n.v.bl?'bold':''};`"> + <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"> + <span v-if="n.v.ps===undefined || n.v.ps.value!='妫�楠屽��'">{{ n.v.v}}</span> + </div> + </td> + </tr> + </tbody> + </table> </div> <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" - size="50%"> + :size="500"> <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName"> - <el-table-column type="index" align="center" label="搴忓彿" width="70px" :key="Math.random()"> + <el-table-column type="index" align="center" label="搴忓彿" width="65px" :key="Math.random()"> </el-table-column> <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100px" show-overflow-tooltip></el-table-column> <el-table-column prop="model" label="鏍峰搧鍨嬪彿" min-width="100px" show-overflow-tooltip></el-table-column> - <el-table-column prop="insState" label="妫�娴嬬姸鎬�" min-width="100px" show-overflow-tooltip> + <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="95px" show-overflow-tooltip> <template slot-scope="scope"> <el-tag v-for="(item, i) in typeList" :key="i" v-if="item.value == scope.row.insState" :type="item.type" size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> </template> </el-table-column> - <el-table-column prop="isLeave" label="鏄惁鐣欐牱" min-width="100px" show-overflow-tooltip> + <el-table-column prop="isLeave" label="鏄惁鐣欐牱" width="95px" show-overflow-tooltip align="center"> <template slot-scope="scope"> <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span> </template> @@ -114,7 +168,7 @@ <el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" - size="45%"> + :size="500"> <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList" :componentData="componentData" :key="upIndex"/> @@ -143,7 +197,7 @@ sonLaboratory: null, userId: 0 }, - isIndex: true, + isIndex: false, showSelect: true, select: false, selectMethod:'handleChangeTask', @@ -169,6 +223,8 @@ typeList:[], urgentList:[], currentSample:{},//褰撳墠鏍峰搧淇℃伅 + tableList:[], + loading: false } }, created() { @@ -181,6 +237,7 @@ }, watch:{ id(val){ + this.loading = true this.$axios.post(this.$api.insOrderPlan.doInsOrder,{ id: val }).then(res=>{ @@ -192,16 +249,20 @@ }) this.sampleProduct = res.data.sampleProduct this.currentSample = this.sampleProduct[0] + if(this.currentSample.index==undefined)this.currentSample['index'] = 1 + this.loading = false + this.handleTableData() }) } }, methods: { handleChangeSample(row, column, event){ this.currentSample = row; + this.handleTableData() this.sampleVisible = false; }, handleChangeTask(row){ - this.id = row[0].id; + if(row.length > 0)this.id = row[0].id; this.taskVisible = false; }, getTypeDicts() { @@ -243,6 +304,55 @@ }, tableRowClassName({ row, rowIndex }){ row.index = rowIndex + 1; + }, + handleTableData(){ + const mySet1 = new Set(); + this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m=>{ + let num0 = mySet1.size; + mySet1.add(JSON.stringify({ + inspectionItem:m.inspectionItem, + templateId:m.templateId + })) + let num1 = mySet1.size; + if(num1>num0){ + return m + } + }) + this.tableList.map(item=>{ + const mySet0 = new Set(); + let arr = []; + let arrItem = []; + item.template.forEach((m,i)=>{ + let num0 = mySet0.size; + mySet0.add(m.r) + let num1 = mySet0.size; + if(num0<num1){ + if(arrItem.length>0){ + arr.push(arrItem) + arrItem = [] + } + if(m.v.mc){ + if(m.v.mc.rs||m.v.mc.cs){ + arrItem.push(m) + } + }else{ + arrItem.push(m) + } + }else{ + if(m.v.mc){ + if(m.v.mc.rs||m.v.mc.cs){ + arrItem.push(m) + } + }else{ + arrItem.push(m) + } + } + }) + arr.push(arrItem) + item.arr = arr; + return item + }) + console.log(this.tableList); } } } -- Gitblit v1.9.3