From 06f6e49c7519ccf7f1e9788cffbca4180f79321f Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期一, 09 十月 2023 21:25:24 +0800 Subject: [PATCH] feat: 当前值班人员根据当前通道切换; 值班人员去重 --- src/views/visualization.vue | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/views/visualization.vue b/src/views/visualization.vue index 163be06..de42bc4 100644 --- a/src/views/visualization.vue +++ b/src/views/visualization.vue @@ -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,6 +811,9 @@ // } }, methods: { + deduplicateWorkers(workers){ + return _.uniqBy(workers,ele=>ele.workerName) + }, updateGet(number,val){ if(val){ this.getTaskInfo(this.activeName,'new') @@ -1073,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=[] @@ -1102,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 = []; @@ -1145,7 +1180,7 @@ if(info=='new'){ return true; } - + this.getProgressInfo(); if (!this.procInfoTimer&&!this.resprocInfoTimer) { this.procInfoTimer = setInterval(() => { -- Gitblit v1.8.0