From a34b66fbce395d149da9088a451e7cda891e62cc Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 25 三月 2024 15:24:33 +0800 Subject: [PATCH] 修改u页面样式 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 201 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 170 insertions(+), 31 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index a9d2fe4..055e15c 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -24,7 +24,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: 2px; + 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{ @@ -55,63 +95,85 @@ </el-col> </el-row> <div class="search"> - <el-form :inline="true" :model="searchForm" class="form-inline" label-width="90px"> + <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px"> <el-form-item label="濮旀墭缂栧彿:"> - <el-input clearable v-model="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <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="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="鏍峰搧鍚嶇О:"> - <el-input clearable v-model="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <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="searchForm.sampleName" 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="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="绱ф�ョ▼搴�:"> - <el-input clearable v-model="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="绾﹀畾鏃堕棿:"> - <el-input clearable v-model="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> + <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> - <el-form-item label="褰撳墠鏍峰搧鏁�:"> - <el-input clearable v-model="searchForm.sampleName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> - </el-form-item> + <el-form-item label="褰撳墠鏍峰搧浣嶆暟:" > + <span v-if="currentSample.index">{{ `NO.${currentSample.index}` }}</span> + </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['0']}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>{{ n.v.v}}</span> + </div> + </td> + </tr> + </tbody> + </table> </div> <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" - :destroy-on-close="true" - size="55%"> - <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border highlight-current-row @row-click="handleChangeSample"> - <el-table-column type="index" align="center" label="搴忓彿" width="70" :key="Math.random()"> + size="50%"> + <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> - <el-table-column prop="inspectionItemSubclass" label="鏍峰搧缂栧彿" min-width="100" + <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100px" show-overflow-tooltip></el-table-column> - <el-table-column prop="method" label="鏍峰搧鍨嬪彿" min-min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="sonLaboratory" label="妫�娴嬬姸鎬�" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="unit" label="鏄惁鐣欐牱" min-width="100" 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> + <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> + <template slot-scope="scope"> + <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span> + </template> + </el-table-column> <!-- 妫�楠屽崟浼氭湁涓�涓槸鍚︽湁閰嶅鏍峰搧瀛楁鎺у埗鏄剧ず --> - <el-table-column prop="unit" label="閰嶅鏍峰搧鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="unit" label="閰嶅鏍峰搧鍚嶇О" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="unit" label="閰嶅鏍峰搧鏁伴噺" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" min-width="130px" show-overflow-tooltip v-if="insOrder.mating>0"></el-table-column> + <el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" min-width="130px" show-overflow-tooltip v-if="insOrder.mating>0"></el-table-column> + <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" min-width="130px" show-overflow-tooltip v-if="insOrder.mating>0"></el-table-column> </el-table> </el-drawer> <el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" - :destroy-on-close="true" - size="55%" - :append-to-body="true"> + size="45%"> <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList" :componentData="componentData" - :key="upIndex" v-if="taskVisible"/> + :key="upIndex"/> </el-drawer> </div> </template> @@ -119,7 +181,7 @@ <script> import ValueTable from '../../tool/value-table.vue' export default { - props: ['sonLaboratory'], + props: ['sonLaboratory','orderId'], components: { ValueTable, }, @@ -131,7 +193,6 @@ sampleName: null, state: null }, - productList:[], id: 0, componentData: { entity: { @@ -159,22 +220,47 @@ requiredUp: [] }, upIndex: 0, + insOrder: {}, + sampleProduct: [], + typeList:[], + urgentList:[], + currentSample:{},//褰撳墠鏍峰搧淇℃伅 + tableList:[], } }, created() { this.componentData.entity.sonLaboratory = this.sonLaboratory; + this.id = this.orderId; }, mounted() { this.getTypeDicts() this.getInsStateDicts() }, + watch:{ + id(val){ + this.$axios.post(this.$api.insOrderPlan.doInsOrder,{ + id: val + }).then(res=>{ + this.insOrder = res.data.insOrder; + this.urgentList.forEach(m=>{ + if(m.value==this.insOrder.type){ + this.insOrder.typeName = m.label + } + }) + this.sampleProduct = res.data.sampleProduct + this.currentSample = this.sampleProduct[0] + this.handleTableData() + }) + } + }, methods: { - handleChangeSample(row){ - console.log(1111111111,row) + handleChangeSample(row, column, event){ + this.currentSample = row; + this.handleTableData() this.sampleVisible = false; }, handleChangeTask(row){ - console.log(222222222,row) + this.id = row[0].id; this.taskVisible = false; }, getTypeDicts() { @@ -191,6 +277,7 @@ ele.type = 'danger' } }) + this.urgentList = data; this.componentData.tagField.type.select = data }) }, @@ -209,9 +296,61 @@ ele.type = 'danger' } }) + this.typeList = data this.componentData.tagField.insState.select = data }) }, + 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 + }) + } } } </script> -- Gitblit v1.9.3