| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | |
| | | </template> --> |
| | | <!-- 控制的弹框 --> |
| | | <AddControl ref="control" :Arr="Arr" /> |
| | | <!-- 控制的弹框 --> |
| | | <TaskControlModal |
| | | ref="control" |
| | | :activeName="activeName" |
| | |
| | | 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') |
| | | return true; |
| | | } |
| | | this.listData.number=number |
| | | if(this.index){ |
| | | this.TasksCopy[this.index].number=number |
| | | } |
| | | if(val){ |
| | | this.getTaskInfo(this.activeName,'new') |
| | | } |
| | | }, |
| | | getModelList(){ |
| | |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 根据当前展示的是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 = []; |
| | |
| | | }); |
| | | this.TasksCopy[i].Arr=res.data.Params ? res.data.Params : [] |
| | | // this.isFinsh=Number(i)+1 |
| | | this.$forceUpdate() |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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(() => { |
| | |
| | | // }, 60000); |
| | | // } |
| | | // } |
| | | |
| | | |
| | | }); |
| | | // this.TasksCopy.push(this.object) |
| | | // this.TasksCopy.push(this.object) |
| | |
| | | width: 100%; |
| | | height: 30px; |
| | | // text-align: left; |
| | | font-size: 24px; |
| | | font-size: 28px!important; |
| | | margin: 0; |
| | | text-align: center; |
| | | line-height: 36px; |