From 3848bf666f63878b90411e3e33df9fabfb94a0a2 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期五, 22 三月 2024 16:29:02 +0800 Subject: [PATCH] 完成y检验-任务切换接口对接 --- src/components/tool/value-table.vue | 24 ++++++- src/components/do/b1-inspect-order-plan/Inspection.vue | 110 +++++++++++++++++++++++++++--------- src/components/view/b1-inspect-order-plan.vue | 2 3 files changed, 103 insertions(+), 33 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 20e6813..a9d2fe4 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -47,7 +47,7 @@ <template> <div> <el-row class="title"> - <el-col :span="12" style="padding-left: 20px;">鏍峰搧璇︽儏</el-col> + <el-col :span="12" style="padding-left: 20px;">妫�楠屽崟璇︽儏</el-col> <el-col :span="12" style="text-align: right;"> <el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button> <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button> @@ -94,43 +94,35 @@ </el-table-column> <el-table-column prop="inspectionItemSubclass" label="鏍峰搧缂栧彿" min-width="100" 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="method" label="妫�娴嬩汉" min-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="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> </el-drawer> <el-drawer title="浠诲姟鍒囨崲" :visible.sync="taskVisible" :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="handleChangeTask"> - <el-table-column prop="inspectionItemSubclass" label="濮旀墭缂栧彿" 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="method" label="鏍峰搧鍚嶇О" min-min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="unit" label="绱ф�ョ▼搴�" min-width="100" show-overflow-tooltip> - <template slot-scope="scope"> - <el-tag - :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag> - </template> - </el-table-column> - <el-table-column prop="unit" label="鐘舵��" min-width="100" show-overflow-tooltip> - <template slot-scope="scope"> - <el-tag - :type="scope.row.type" size="medium">{{scope.row.label}}</el-tag> - </template> - </el-table-column> - <el-table-column prop="method" label="绾﹀畾鏃堕棿" min-min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="method" label="涓嬪彂鏃堕棿" min-min-width="100" show-overflow-tooltip></el-table-column> - </el-table> + size="55%" + :append-to-body="true"> + <ValueTable class="value-table" ref="insOrderPlan" + :url="$api.insOrderPlan.selectInsOrderPlanList" :componentData="componentData" + :key="upIndex" v-if="taskVisible"/> </el-drawer> </div> </template> <script> + import ValueTable from '../../tool/value-table.vue' export default { - props: ['orderId'], + props: ['sonLaboratory'], + components: { + ValueTable, + }, data() { return { sampleVisible:false, @@ -140,14 +132,41 @@ state: null }, productList:[], - id: 0 + id: 0, + componentData: { + entity: { + sonLaboratory: null, + userId: 0 + }, + isIndex: true, + showSelect: true, + select: false, + selectMethod:'handleChangeTask', + sort: false, + do: [], + isPage:false, + linkEvent: {}, + tagField: { + type: { + select: [] + }, + insState: { + select: [] + }, + }, + selectField: {}, + requiredAdd: [], + requiredUp: [] + }, + upIndex: 0, } }, created() { - this.id = this.orderId + this.componentData.entity.sonLaboratory = this.sonLaboratory; }, mounted() { - + this.getTypeDicts() + this.getInsStateDicts() }, methods: { handleChangeSample(row){ @@ -157,7 +176,42 @@ handleChangeTask(row){ console.log(222222222,row) this.taskVisible = false; - } + }, + getTypeDicts() { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "绱ф�ョ▼搴�" + }).then(res => { + let data = res.data + data.forEach(ele => { + if (ele.value === '0') { + ele.type = 'success' + } else if (ele.value === '1') { + ele.type = 'warning' + } else if (ele.value === '2') { + ele.type = 'danger' + } + }) + this.componentData.tagField.type.select = data + }) + }, + getInsStateDicts() { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "妫�楠屼换鍔$姸鎬�" + }).then(res => { + let data = res.data + data.forEach(ele => { + //0:寰呮楠� 1:妫�楠屼腑 2:宸叉楠� 3:寰呭鏍� 4:澶嶆牳鏈�氳繃 5:澶嶆牳閫氳繃 + if (['2', '5'].includes(ele.value)) { + ele.type = 'success' + } else if (['1', '3'].includes(ele.value)) { + ele.type = 'warning' + } else if (['0', '4'].includes(ele.value)) { + ele.type = 'danger' + } + }) + this.componentData.tagField.insState.select = data + }) + }, } } </script> diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue index 889071c..63b842a 100644 --- a/src/components/tool/value-table.vue +++ b/src/components/tool/value-table.vue @@ -73,8 +73,9 @@ <template> <div class="value-table"> - <div class="table"> - <el-table ref="eltable" :data="tableData" style="width: 100%;" height="100%" tooltip-effect="dark" border + <div class="table" :style="data.isPage!=undefined&&data.isPage!=true?'height:100%':''"> + <el-table ref="eltable" :data="tableData" style="width: 100%;" height="100%" + tooltip-effect="dark" border @selection-change="selectChange" @select="select" v-loading="loading" @sort-change="sortChange" @row-click="rowClick" :show-summary="data.countFleid!=undefined && data.countFleid.length > 0" :summary-method="getSummaries" :row-class-name="tableRowClassName"> @@ -112,10 +113,10 @@ </el-table-column> </el-table> </div> - <div class="page"> + <div class="page" v-if="data.isPage==undefined||data.isPage"> <el-pagination @size-change="sizeChange" @current-change="currentChange" :current-page="page.current" :page-sizes="[10, 20, 30, 50, 100]" :page-size="page.size" layout="total, sizes, prev, pager, next, jumper" - :total="total"> + :total="total" > </el-pagination> </div> <el-dialog title="缂栬緫" :visible.sync="upDia" :width="data.row==1?'500px':500+data.row * 200 + 'px'"> @@ -231,6 +232,7 @@ import { Page } from 'iview'; +import { data } from 'jquery'; export default { props: { tableRowClassName: { @@ -311,6 +313,7 @@ showSelect: false, select: true, row: 1, + isPage:true,// do: [{ font: '鍒犻櫎', type: 'text' @@ -370,6 +373,13 @@ } else { this.multipleSelection = val[val.length - 1]; } + if(this.data.selectMethod!=undefined){ + if(this.$parent.$el.className.indexOf('el-')==0){ + this.$parent.$parent[this.data.selectMethod](val) + }else{ + this.$parent[this.data.selectMethod](val) + } + } }, select(val, row) { if (!this.data.select) { @@ -395,6 +405,12 @@ }, selectList() { this.loading = true + if(this.data.isPage!=undefined&&this.data.isPage!=true){ + this.page = { + current: -1, + size: -1, + } + } this.$axios.post(this.url, { page: this.page, entity: this.data.entity diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index 4cba208..d3189d5 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -164,7 +164,7 @@ <div style="width: 100%;height: 100%;" v-if="activeFace >0"> <Add :active="activeFace" :currentId="currentId"/> </div> - <Inspection v-if="state==1" @goback="state=0" :orderId="orderId"/> + <Inspection v-if="state==1" @goback="state=0" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory"/> </div> </template> -- Gitblit v1.9.3