| | |
| | | <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> |
| | |
| | | import ProcessModel from "../components/ProcessModel.vue"; |
| | | import TaskControlModal from "@/components/TaskControlModal.vue"; |
| | | import {channelNameConfig} from "@/common/constants"; |
| | | import _ from 'lodash' |
| | | export default { |
| | | components: { |
| | | TaskControlModal, |
| | |
| | | // 右侧完成 |
| | | finishShow:{}, |
| | | workers:[], |
| | | // 保存当前不同通道的值班人 |
| | | channelWorkersMap:{0:[],1:[]}, |
| | | TasksCopy:[], |
| | | Tasks: [ |
| | | { |
| | |
| | | // } |
| | | }, |
| | | methods: { |
| | | deduplicateWorkers(workers){ |
| | | return _.uniqBy(workers,ele=>ele.workerName) |
| | | }, |
| | | updateGet(number,val){ |
| | | if(val){ |
| | | this.getTaskInfo(this.activeName,'new') |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 根据当前展示的是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=[] |
| | |
| | | } |
| | | } |
| | | 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 = []; |
| | |
| | | if(info=='new'){ |
| | | return true; |
| | | } |
| | | |
| | | |
| | | this.getProgressInfo(); |
| | | if (!this.procInfoTimer&&!this.resprocInfoTimer) { |
| | | this.procInfoTimer = setInterval(() => { |