From c263fb316fc23d9db98ce711fda30d81c28d2d9c Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 08 八月 2024 19:02:10 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before --- src/components/view/b1-inspect-order-plan.vue | 198 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 159 insertions(+), 39 deletions(-) diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index f344c46..ea39299 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -1,5 +1,5 @@ <style scoped> - ins-order-plan-main .title { + .ins-order-plan-main .title { font-size: 20px; color: #3A7BFA } @@ -102,11 +102,16 @@ .ins-order-plan-main .el-form-item__label{ color: #000; } + + .ins-order-plan-main .el-table th.el-table__cell>.cell{ + height: 46px; + line-height: 30px; + } </style> <template> <div class="ins-order-plan-main"> <div v-show="activeFace == 0&&state==0" style="height: 100%;"> - <p style="font-size: 16px;padding:19.5px 0px">妫�楠屼换鍔�</p> + <p style="font-size: 16px;padding-left: 20px;text-align: left;height: 60px;line-height: 60px;">妫�楠屼换鍔�</p> <div class="search"> <div class="search_thing"> <div class="search_label">濮旀墭缂栧彿锛�</div> @@ -132,7 +137,7 @@ <el-col :span="21"> <div style="display: flex;align-items: center;margin-bottom: 10px;"> <ul class="tab"> - <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}} + <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label.replace('璇曢獙瀹�','')}} </li> </ul> <div> @@ -150,6 +155,7 @@ </el-row> </div> <ValueTable :tableRowClassName="changeRowClass" class="value-table" ref="insOrderPlan" + :isColumnWidth="true" :url="$api.insOrderPlan.selectInsOrderPlanList" :upUrl="$api.user.updateUser" :componentData="componentData" @handleInspection="handleInspection" :key="upIndex"/> </div> @@ -163,11 +169,24 @@ </el-dialog> <el-dialog title="妫�楠屼氦鎺�" :visible.sync="connectVisible" width="400px"> <div class="search_thing"> - <div class="search_label" style="width:90px">浜ゆ帴浜哄憳锛�</div> + <div class="search_label" style="width:90px"><span class="required-span">* </span>浜ゆ帴浜哄憳锛�</div> <div class="search_input"> - <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-select v-model="connect.connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;" filterable> <el-option v-for="item in personList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </div> + </div> + <div class="search_thing"> + <div class="search_label" style="width:90px"><span class="required-span">* </span>璇曢獙瀹わ細</div> + <div class="search_input"> + <el-select v-model="connect.sonLaboratory" placeholder="璇烽�夋嫨" style="width: 100%;" filterable> + <el-option + v-for="item in sonLaboratoryList" :key="item.value" :label="item.label" :value="item.value"> @@ -184,16 +203,23 @@ <Add :active="activeFace" :currentId="currentId"/> </div> <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/> - </div> + <el-dialog title="鏁版嵁鏌ョ湅" :visible.sync="dataDialogVisible" width="80%"> + <div style="height: 70vh;overflow-y: auto;" v-if="dataDialogVisible"> + <ValueTable ref="ValueTableDataLook" :url="$api.insOrder.selectSampleAndProductByOrderId" + :componentData="componentDataDataLook"/> + </div> + </el-dialog> + </div> </template> <script> import ValueTable from '../tool/value-table.vue' - import Inspection from '../do/b1-inspect-order-plan/Inspection.vue' + import Inspection from '../do/b1-inspect-order-plan/Inspection.vue' import { getYearAndMonthAndDays } from '../../util/date' import Add from '../do/b1-ins-order/add.vue' +import { CellGroup } from 'iview' export default { components: { ValueTable, @@ -212,6 +238,55 @@ tabList: [], active: 1, tabIndex: 0, + componentDataDataLook: { + entity: { + id: 0, + orderBy: { + field: 'sampleCode', + order: 'asc' + } + }, + isIndex: false, + showSelect: false, + select: false, + do: [], + tagField: { + insState: { + select: [] + }, + insResult: { + select: [{ + value: 1, + label: '鍚堟牸', + type: 'success' + },{ + value: 0, + label: '涓嶅悎鏍�', + type: 'danger' + }] + } + }, + selectField: {}, + spanConfig:{ + rows:[ + { + name:'sampleCode', + index:0 + }, + { + name:'sample', + index:1 + }, + { + name:'model', + index:5 + } + ] + }, + requiredAdd: [], + requiredUp: [] + }, + dataDialogVisible: false, componentData: { entity: { sonLaboratory: null, @@ -221,34 +296,56 @@ isIndex: true, showSelect: false, select: false, - sort: false, init: false, + needSort: ['createTime', 'sendTime', 'type', 'appointed', 'insState'], do: [{ + id: '', + font: '鏁版嵁鏌ョ湅', + type: 'text', + method: 'handleDataLook', + //disabFun: (row, index) => { + //const user = JSON.parse(localStorage.getItem('user')) + // let currentUserName = '' + // if(user){ + // currentUserName = user.name + //} + //return row.userName.indexOf(currentUserName)<0 && row.checkName.indexOf(currentUserName)<0 + //} + },{ id: '', font: '妫�楠�', type: 'text', method: 'handleInspection', disabFun: (row, index) => { - return row.userId == null + return row.userName == null || row.insState == 3 || row.insState == 5||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name)) } + // disabFun: (row, index) => { + // return row.userId == null || row.insState == 3 || row.insState == 5 + // } }, { id: '', font: '浜ゆ帴', type: 'text', - method: 'handleConnect' + method: 'handleConnect', + disabFun: (row, index) => { + return row.userName == null || row.insState == 5 || row.insState == 3||(row.userName&&!row.userName.includes(JSON.parse(localStorage.getItem("user")).name)) + } }, { id: '', font: '澶嶆牳', type: 'text', method: 'handleReview', + disabFun: (row, userName) => { + return row.userName == null || row.insState != 3 ||(row.checkName&&!row.checkName.includes(JSON.parse(localStorage.getItem("user")).name)) + } }, { id: '', font: '璁ら', type: 'text', method: 'claimFun', disabFun: (row, index) => { - return row.userId != null + return row.userName != null || row.checkName!=null } } ], @@ -280,10 +377,6 @@ }] } }, - spanConfig:{ - rows:'entrustCode',//鍚堝苟琛�,閫氬父娑夊強涓�涓瓧娈� - cols:[],//鍚堝苟鍒�,閫氬父娑夊強鍑犱釜瀛楁 - }, selectField: {}, requiredAdd: [], requiredUp: [] @@ -298,8 +391,13 @@ orderId: 0, personList:[], connectVisible:false, - connectPerson:'', + connect:{ + connectPerson:'', + sonLaboratory:'' + }, loading:false, + currentTime: null, + sonLaboratoryList:[] } }, created() { @@ -307,12 +405,18 @@ this.getTypeDicts() this.getInsStateDicts() this.getAuthorizedPerson() + this.currentTime = getYearAndMonthAndDays() }, mounted() { this.entityCopy = this.HaveJson(this.componentData.entity) this.getPower() }, methods: { + // 鏁版嵁鏌ョ湅 + handleDataLook(row) { + this.componentDataDataLook.entity.id = row.id + this.dataDialogVisible = true; + }, // 鏉冮檺鍒嗛厤 getPower(radio) { let power = JSON.parse(sessionStorage.getItem('power')) @@ -363,7 +467,8 @@ if (row) { this.sampleUserForm = { entrustCode: row.entrustCode, - insSampleId: row.id + insSampleId: row.id, + sonLaboratory: row.sonLaboratory, } this.claimVisible = true } @@ -379,24 +484,23 @@ this.loading = false; this.$message.success("璁ら鎴愬姛") this.claimVisible = false - this.refreshTable() + this.refreshTable('page') } }).catch(error => { console.error(error) this.loading = false; }) }, - refreshTable() { - this.$refs.insOrderPlan.selectList() + refreshTable(e) { + this.$refs.insOrderPlan.selectList(e) }, changeRowClass({ row, rowIndex }) { - let currentTime = getYearAndMonthAndDays() - if (currentTime === row.appointed) { + if (this.currentTime == row.appointed) { return 'highlight-warning-row-border' - } else if (currentTime > row.appointed) { + } else if (this.currentTime > row.appointed) { return 'highlight-danger-row-border' } return '' @@ -483,7 +587,7 @@ }, goback() { this.state = 0 - this.refreshTable() + this.refreshTable('page') }, handleInspection(row){ this.state = 1; @@ -491,32 +595,48 @@ }, handleConnect(row){ this.orderId = row.id + this.connect = {} this.connectVisible=true; + this.$axios.post(this.$api.insOrderPlan.upPlanUser2, { + orderId:this.orderId, + }).then(res => { + if (res.code === 200&&res.data.length>0) { + this.sonLaboratoryList = []; + res.data.forEach(m=>{ + this.sonLaboratoryList.push({ + value:m, + label:m + }) + }) + this.connect.sonLaboratory = this.sonLaboratoryList[0].value + } + }) }, confirmConnect(){ - if(this.connectPerson){ - this.loading = true; + if(this.connect.connectPerson==null||this.connect.connectPerson==''||this.connect.connectPerson==undefined){ + this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳') + return + } + if(this.connect.sonLaboratory==null||this.connect.sonLaboratory==''||this.connect.sonLaboratory==undefined){ + this.$message.error('鏈�夋嫨璇曢獙瀹�') + return + } + this.loading = true; this.$axios.post(this.$api.insOrderPlan.upPlanUser, { orderId:this.orderId, - userId:this.connectPerson - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - if (res.code === 200 && res.data) { + userId:this.connect.connectPerson, + sonLaboratory:this.connect.sonLaboratory, + }).then(res => { + if (res.code === 200) { this.loading = false; - this.$message.success("浜ゆ帴鎴愬姛") - this.connectVisible = false - this.refreshTable() + this.$message.success("鎿嶄綔鎴愬姛") + this.refreshTable('page') } + this.connectVisible = false }).catch(error => { console.error(error) this.loading = false; }) - }else{ - this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳') - } }, handleReview(row){ this.state = 2; -- Gitblit v1.9.3