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