From e02fa5bedb087519dabee9690c13f1b7f8be0787 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 01 四月 2024 15:31:44 +0800 Subject: [PATCH] 完成交接复核功能 --- src/components/view/b1-inspect-order-plan.vue | 128 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 119 insertions(+), 9 deletions(-) diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index 2b397b2..f344c46 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -72,7 +72,7 @@ border-radius: 8px 0 0 8px; } - .tab li:nth-child(3) { + .tab li:nth-last-child(1) { border-radius: 0 8px 8px 0; } @@ -158,13 +158,32 @@ 鏄惁璁ら濮旀墭缂栧彿<span style="color:#33C130">{{sampleUserForm.entrustCode}}</span>鐨勪换鍔� <span slot="footer" class="dialog-footer"> <el-button @click="claimVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button> + <el-button type="primary" @click="confirmClaim" :loading="loading">纭� 瀹�</el-button> + </span> + </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_input"> + <el-select v-model="connectPerson" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option + v-for="item in personList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="connectVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button> </span> </el-dialog> <div style="width: 100%;height: 100%;" v-if="activeFace >0"> <Add :active="activeFace" :currentId="currentId"/> </div> - <Inspection v-if="state==1" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory"/> + <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/> </div> </template> @@ -175,7 +194,6 @@ getYearAndMonthAndDays } from '../../util/date' import Add from '../do/b1-ins-order/add.vue' -import { number } from 'echarts' export default { components: { ValueTable, @@ -217,13 +235,13 @@ id: '', font: '浜ゆ帴', type: 'text', - method: '' + method: 'handleConnect' }, { id: '', font: '澶嶆牳', type: 'text', - method: '' + method: 'handleReview', }, { id: '', font: '璁ら', @@ -262,6 +280,10 @@ }] } }, + spanConfig:{ + rows:'entrustCode',//鍚堝苟琛�,閫氬父娑夊強涓�涓瓧娈� + cols:[],//鍚堝苟鍒�,閫氬父娑夊強鍑犱釜瀛楁 + }, selectField: {}, requiredAdd: [], requiredUp: [] @@ -269,22 +291,62 @@ upIndex: 0, planTotal: 0, insStateList: [], - state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈紝榛樿涓�0 - activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍� + state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0 + activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0 currentId: null, entityCopy: {}, orderId: 0, + personList:[], + connectVisible:false, + connectPerson:'', + loading:false, } }, created() { this.getLaboratoryDicts() this.getTypeDicts() this.getInsStateDicts() + this.getAuthorizedPerson() }, mounted() { this.entityCopy = this.HaveJson(this.componentData.entity) + this.getPower() }, methods: { + // 鏉冮檺鍒嗛厤 + getPower(radio) { + let power = JSON.parse(sessionStorage.getItem('power')) + let inspection = false + let connect = false + let review = false + let claim = false + for (var i = 0; i < power.length; i++) { + if (power[i].menuMethod == 'doInsOrder') { + inspection = true + } + if (power[i].menuMethod == 'upPlanUser') { + connect = true + } + if (power[i].menuMethod == 'verifyPlan') { + review = true + } + if (power[i].menuMethod == 'claimInsOrderPlan') { + claim = true + } + } + if (!claim) { + this.componentData.do.splice(3, 1) + } + if (!review) { + this.componentData.do.splice(2, 1) + } + if (!connect) { + this.componentData.do.splice(1, 1) + } + if (!inspection) { + this.componentData.do.splice(0, 1) + } + }, changeCheckBox(val) { this.componentData.entity.userId = val?0:null this.refreshTable() @@ -307,18 +369,21 @@ } }, confirmClaim() { + this.loading = true; this.$axios.post(this.$api.insOrderPlan.claimInsOrderPlan, this.sampleUserForm, { headers: { 'Content-Type': 'application/json' } }).then(res => { if (res.code === 200 && res.data) { + this.loading = false; this.$message.success("璁ら鎴愬姛") this.claimVisible = false this.refreshTable() } }).catch(error => { console.error(error) + this.loading = false; }) }, refreshTable() { @@ -423,7 +488,52 @@ handleInspection(row){ this.state = 1; this.orderId = row.id - } + }, + handleConnect(row){ + this.orderId = row.id + this.connectVisible=true; + }, + confirmConnect(){ + if(this.connectPerson){ + 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) { + this.loading = false; + this.$message.success("浜ゆ帴鎴愬姛") + this.connectVisible = false + this.refreshTable() + } + }).catch(error => { + console.error(error) + this.loading = false; + }) + }else{ + this.$message.error('鏈�夋嫨浜ゆ帴浜哄憳') + } + }, + handleReview(row){ + this.state = 2; + this.orderId = row.id + }, + getAuthorizedPerson() { + this.$axios.get(this.$api.user.getUserMenu).then(res => { + let data = [] + res.data.forEach(a => { + data.push({ + label: a.name, + value: a.id + }) + }) + this.personList = data + }) + }, } } </script> -- Gitblit v1.9.3