From a1a6630f2eabfc78a379b5808b1bf7231a084d0b Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 11 十月 2023 18:02:44 +0800 Subject: [PATCH] 工序弹框的 列表和详情的更新同步 --- src/views/visualization.vue | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/views/visualization.vue b/src/views/visualization.vue index 7755273..de42bc4 100644 --- a/src/views/visualization.vue +++ b/src/views/visualization.vue @@ -343,11 +343,11 @@ <div class="process-params-title"> <el-popover width="200" - :content="taskData.number" + :content="list.number" placement="top-start" trigger="click" > - <span slot="reference">宸ヨ壓缂栧彿锛歿{ taskData.number }}</span> + <span slot="reference">宸ヨ壓缂栧彿锛歿{ list.number }}</span> </el-popover> </div> @@ -524,7 +524,7 @@ <div class="right-person-box" v-if="workers && workers.length > 0"> <dl class="right-small-person" - v-for="(item, index) in workers" + v-for="(item, index) in deduplicateWorkers(displayWorkers())" :key="index" > <dt> @@ -639,6 +639,7 @@ import ProcessModel from "../components/ProcessModel.vue"; import TaskControlModal from "@/components/TaskControlModal.vue"; import {channelNameConfig} from "@/common/constants"; +import _ from 'lodash' export default { components: { TaskControlModal, @@ -660,6 +661,8 @@ // 鍙充晶瀹屾垚 finishShow:{}, workers:[], + // 淇濆瓨褰撳墠涓嶅悓閫氶亾鐨勫�肩彮浜� + channelWorkersMap:{0:[],1:[]}, TasksCopy:[], Tasks: [ { @@ -808,13 +811,17 @@ // } }, methods: { + deduplicateWorkers(workers){ + return _.uniqBy(workers,ele=>ele.workerName) + }, updateGet(number,val){ + if(val){ + this.getTaskInfo(this.activeName,'new') + return true; + } this.listData.number=number if(this.index){ this.TasksCopy[this.index].number=number - } - if(val){ - this.getTaskInfo(this.activeName,'new') } }, getModelList(){ @@ -1072,6 +1079,25 @@ }); }, + /** + * 鏍规嵁褰撳墠灞曠ず鐨勬槸0閫氶亾杩樻槸1閫氶亾杩樻槸涓や釜閫氶亾灞曠ず瀵瑰簲鐨勫�肩彮浜� + * @return {*[]} + */ + displayWorkers(){ + let showWorkers = [] + if (this.activeName===1){ + showWorkers =[...this.channelWorkersMap[0]] + }else if (this.activeName===2){ + showWorkers =[...this.channelWorkersMap[0],...this.channelWorkersMap[1]] + }else if (this.activeName===3){ + showWorkers =[...this.channelWorkersMap[1]] + }else { + return [] + } + + return showWorkers + }, + getTaskInfo(val,info) { this.Tasks = []; this.TasksCopy=[] @@ -1101,6 +1127,16 @@ } } this.workers=res.data.workers?res.data.workers:[] + + // 灏嗗�肩彮浜烘牴鎹�氶亾鍙峰垎缁� + const groupByChannel= _.groupBy(res.data.Tasks,ele=>ele.Channel) + const taskList0= _.first(groupByChannel[0]) + const taskList1= _.first(groupByChannel[1]) + const worker0List = taskList0?.Procedure?.procedure?.workers ?? [] + const worker1List = taskList1?.Procedure?.procedure?.workers ?? [] + this.channelWorkersMap['0'] =worker0List + this.channelWorkersMap['1'] =worker1List + for (let i in this.TasksCopy) { this.TasksCopy[i].procedureList = []; this.TasksCopy[i].inputMaterials = []; @@ -1131,6 +1167,7 @@ }); this.TasksCopy[i].Arr=res.data.Params ? res.data.Params : [] // this.isFinsh=Number(i)+1 + this.$forceUpdate() } }); } @@ -1138,11 +1175,12 @@ this.setInterCard("outputMaterials", "cardBox3&" + i, i); } this.getProcessModelList(); + this.getStartArr() this.cutClick(val?val:1) - if(info){ + if(info=='new'){ return true; } - this.getStartArr() + this.getProgressInfo(); if (!this.procInfoTimer&&!this.resprocInfoTimer) { this.procInfoTimer = setInterval(() => { @@ -1748,7 +1786,7 @@ width: 100%; height: 30px; // text-align: left; - font-size: 24px; + font-size: 28px!important; margin: 0; text-align: center; line-height: 36px; -- Gitblit v1.8.0