1
1
<template >
2
2
<el-drawer v-model =" drawerVisible" title =" 子任务" size =" 70%" >
3
+ <!-- 当前任务 -->
3
4
<template #header >
4
5
<h4 >【{{ baseTask.name }} 】审批人:{{ baseTask.assigneeUser?.nickname }}</h4 >
5
- <el-button style =" margin-left : 5px " v-if =" showSubSignButton(baseTask)" type =" danger" plain @click =" handleSubSign(baseTask)" >
6
- <Icon icon =" ep:remove" />
7
- 减签
6
+ <el-button
7
+ style =" margin-left : 5px "
8
+ v-if =" isSubSignButtonVisible(baseTask)"
9
+ type =" danger"
10
+ plain
11
+ @click =" handleSubSign(baseTask)"
12
+ >
13
+ <Icon icon =" ep:remove" /> 减签
8
14
</el-button >
9
15
</template >
10
- <el-table :data =" tableData" style =" width : 100% " row-key =" id" border >
16
+ <!-- 子任务列表 -->
17
+ <el-table :data =" baseTask.children" style =" width : 100% " row-key =" id" border >
11
18
<el-table-column prop =" assigneeUser.nickname" label =" 审批人" />
12
19
<el-table-column prop =" assigneeUser.deptName" label =" 所在部门" />
13
20
<el-table-column label =" 审批状态" prop =" result" >
32
39
<el-table-column label =" 操作" prop =" operation" >
33
40
<template #default =" scope " >
34
41
<el-button
35
- v-if =" showSubSignButton (scope.row)"
42
+ v-if =" isSubSignButtonVisible (scope.row)"
36
43
type =" danger"
37
44
plain
38
45
@click =" handleSubSign(scope.row)"
39
46
>
40
- <Icon icon =" ep:remove" />
41
- 减签
47
+ <Icon icon =" ep:remove" /> 减签
42
48
</el-button >
43
49
</template >
44
50
</el-table-column >
45
51
</el-table >
46
- <!-- 减签 -->
52
+ <!-- 减签 -->
47
53
<TaskSubSignDialogForm ref =" taskSubSignDialogForm" />
48
54
</el-drawer >
49
55
</template >
@@ -53,12 +59,11 @@ import { DICT_TYPE } from '@/utils/dict'
53
59
import { dateFormatter } from ' @/utils/formatTime'
54
60
import TaskSubSignDialogForm from ' ./TaskSubSignDialogForm.vue'
55
61
56
- const message = useMessage () // 消息弹窗
57
- defineOptions ({ name: ' ProcessInstancechildrenList' })
62
+ defineOptions ({ name: ' ProcessInstanceChildrenTaskList' })
58
63
64
+ const message = useMessage () // 消息弹窗
59
65
const drawerVisible = ref (false ) // 抽屉的是否展示
60
66
61
- const tableData = ref <any []>([]) // 表格数据
62
67
const baseTask = ref <object >({})
63
68
/** 打开弹窗 */
64
69
const open = async (task : any ) => {
@@ -67,30 +72,22 @@ const open = async (task: any) => {
67
72
return
68
73
}
69
74
baseTask .value = task
70
- // 设置表格数据
71
- tableData .value = task .children
72
- // 展开抽屉
75
+ // 展开抽屉
73
76
drawerVisible .value = true
74
77
}
75
78
defineExpose ({ open }) // 提供 openModal 方法,用于打开弹窗
76
79
77
- const emit = defineEmits ([' success' ]) // 定义 success 事件,用于操作成功后的回调
78
-
79
- /**
80
- * 减签
81
- */
80
+ /** 发起减签 */
82
81
const taskSubSignDialogForm = ref ()
83
82
const handleSubSign = (item ) => {
84
83
taskSubSignDialogForm .value .open (item .id )
84
+ // TODO @海洋:减签后,需要刷新下界面哈
85
85
}
86
86
87
- /**
88
- * 显示减签按钮
89
- * @param task
90
- */
91
- const showSubSignButton = (task : any ) => {
92
- if (! isEmpty (task .children )){
93
- // 有子任务,且子任务有任意一个是 待处理 和 待前置任务完成 则显示减签按钮
87
+ /** 是否显示减签按钮 */
88
+ const isSubSignButtonVisible = (task : any ) => {
89
+ if (task && task .children && ! isEmpty (task .children )) {
90
+ // 有子任务,且子任务有任意一个是 待处理 和 待前置任务完成 则显示减签按钮
94
91
const subTask = task .children .find ((item ) => item .result === 1 || item .result === 9 )
95
92
return ! isEmpty (subTask )
96
93
}
0 commit comments