|
|
@@ -146,9 +146,29 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
- <!-- <template #:taskName="{ row }">
|
|
|
- {{ getTaskName(row) }}
|
|
|
- </template> -->
|
|
|
+ <template #taskName="{ row }">
|
|
|
+ <div v-if="taskNameMap[row.id]?.length" class="task-flow">
|
|
|
+ <template v-for="(item, index) in taskNameMap[row.id]">
|
|
|
+ <el-tag
|
|
|
+ :key="item.taskId"
|
|
|
+ size="mini"
|
|
|
+ effect="dark"
|
|
|
+ :type="getTaskTagTypeByStatus(item.flag)"
|
|
|
+ >
|
|
|
+ {{ item.taskTypeName }}
|
|
|
+ </el-tag>
|
|
|
+
|
|
|
+ <!-- 箭头 -->
|
|
|
+ <span
|
|
|
+ v-if="index < taskNameMap[row.id].length - 1"
|
|
|
+ class="task-arrow"
|
|
|
+ >
|
|
|
+ →
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <span v-else>—</span>
|
|
|
+ </template>
|
|
|
|
|
|
<template v-slot:status="{ row }">
|
|
|
<span :class="{ 'ele-text-danger': row.status == 3 }">
|
|
|
@@ -299,7 +319,7 @@
|
|
|
import originCode from './originCode.vue';
|
|
|
import checkAdd from '@/views/checklistManagement/components/checkAdd.vue';
|
|
|
import checkDetails from '@/views/checklistManagement/components/checkDetails.vue';
|
|
|
- import { getProduceTaskList } from '@/api/aps';
|
|
|
+ import { getTaskInstanceList } from '@/api/produce/job';
|
|
|
|
|
|
export default {
|
|
|
mixins: [tableColumnsMixin],
|
|
|
@@ -689,9 +709,10 @@
|
|
|
},
|
|
|
{
|
|
|
prop: 'taskName',
|
|
|
- solt: 'taskName',
|
|
|
+ slot: 'taskName',
|
|
|
label: '工序进度',
|
|
|
- align: 'center'
|
|
|
+ align: 'center',
|
|
|
+ minWidth: 280
|
|
|
},
|
|
|
{
|
|
|
prop: 'singleReport',
|
|
|
@@ -939,43 +960,41 @@
|
|
|
this.reload();
|
|
|
},
|
|
|
|
|
|
- async getTaskName(row) {
|
|
|
- let params = {
|
|
|
- routingId: row.produceRoutingId,
|
|
|
- pageNum: 1,
|
|
|
- size: -1,
|
|
|
- isDetail: true
|
|
|
- };
|
|
|
-
|
|
|
- const result = await getProduceTaskList(params);
|
|
|
-
|
|
|
- return result.list.map((item) => item.name).join(' > ');
|
|
|
- },
|
|
|
-
|
|
|
async loadTaskNames(list) {
|
|
|
- const needLoad = list.filter(
|
|
|
- (item) => !this.taskNameMap[item.id] && item.produceRoutingId
|
|
|
- );
|
|
|
+ for (const row of list) {
|
|
|
+ try {
|
|
|
+ const res = await getTaskInstanceList(row.id);
|
|
|
+ const findIndex = res.findIndex(
|
|
|
+ (item) => item.taskId == row.taskId
|
|
|
+ );
|
|
|
+
|
|
|
+ const markedList = res.map((item, index) => {
|
|
|
+ let flag = 'after';
|
|
|
+
|
|
|
+ if (findIndex != -1) {
|
|
|
+ if (index < findIndex) {
|
|
|
+ flag = '4';
|
|
|
+ } else if (index === findIndex) {
|
|
|
+ flag = '3';
|
|
|
+ } else {
|
|
|
+ flag = '1';
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- for (const row of needLoad) {
|
|
|
- const params = {
|
|
|
- routingId: row.produceRoutingId,
|
|
|
- pageNum: 1,
|
|
|
- size: -1,
|
|
|
- isDetail: true
|
|
|
- };
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ flag
|
|
|
+ };
|
|
|
+ });
|
|
|
|
|
|
- try {
|
|
|
- const res = await getProduceTaskList(params);
|
|
|
- console.log(row, 'row数据');
|
|
|
+ this.$set(this.taskNameMap, row.id, markedList);
|
|
|
|
|
|
- // 存工序名
|
|
|
// this.$set(
|
|
|
// this.taskNameMap,
|
|
|
- // row.id,
|
|
|
+ // row.taskId,
|
|
|
// res.list.map((i) => i.name)
|
|
|
// );
|
|
|
- console.log(res, '工序数据');
|
|
|
+ // console.log(res, '工序数据');
|
|
|
} catch (e) {
|
|
|
this.$set(this.taskNameMap, row.id, []);
|
|
|
}
|
|
|
@@ -1028,7 +1047,7 @@
|
|
|
|
|
|
let res = await URL({ ...params, statusList });
|
|
|
|
|
|
- // this.loadTaskNames(res.list);
|
|
|
+ this.loadTaskNames(res.list);
|
|
|
|
|
|
return res;
|
|
|
},
|