|
|
@@ -1,8 +1,8 @@
|
|
1
|
1
|
<!--
|
|
2
|
2
|
* @Author: ysh
|
|
3
|
3
|
* @Date: 2024-01-03 09:23:11
|
|
4
|
|
- * @LastEditors: wrh
|
|
5
|
|
- * @LastEditTime: 2024-07-16 15:20:45
|
|
|
4
|
+ * @LastEditors: Please set LastEditors
|
|
|
5
|
+ * @LastEditTime: 2024-07-23 16:54:28
|
|
6
|
6
|
-->
|
|
7
|
7
|
|
|
8
|
8
|
<template>
|
|
|
@@ -50,15 +50,7 @@
|
|
50
|
50
|
|
|
51
|
51
|
</el-row>
|
|
52
|
52
|
<el-row :gutter="20">
|
|
53
|
|
- <el-col :span="8" :xs="24">
|
|
54
|
|
- <div class="header">日历</div>
|
|
55
|
|
- <div class="calendar-warpper">
|
|
56
|
|
- <!-- <Calendar></Calendar> -->
|
|
57
|
|
- <el-calendar v-model="times">
|
|
58
|
|
- </el-calendar>
|
|
59
|
|
- </div>
|
|
60
|
|
- </el-col>
|
|
61
|
|
- <el-col :span="16" :xs="24">
|
|
|
53
|
+ <el-col :span="10" :xs="24">
|
|
62
|
54
|
<div class="header">通知公示</div>
|
|
63
|
55
|
<div class="notice-content">
|
|
64
|
56
|
<el-table v-loading="noticeLoading" :data="noticeList" height="320px">
|
|
|
@@ -90,6 +82,34 @@
|
|
90
|
82
|
|
|
91
|
83
|
</div>
|
|
92
|
84
|
</el-col>
|
|
|
85
|
+ <el-col :span="14" :xs="24">
|
|
|
86
|
+ <div class="header">待办任务</div>
|
|
|
87
|
+ <div class="calendar-warpper">
|
|
|
88
|
+ <el-table v-loading="taskLoading" :data="todoList" height="400px">
|
|
|
89
|
+ <el-table-column type="index" label="序号" width="55" align="center" />
|
|
|
90
|
+ <el-table-column label="流程名称" align="center" prop="procDefName" />
|
|
|
91
|
+ <el-table-column label="当前节点" align="center" prop="taskName" />
|
|
|
92
|
+ <el-table-column label="流程发起人" align="center">
|
|
|
93
|
+ <template slot-scope="scope">
|
|
|
94
|
+ <label>{{ scope.row.startUserName }} <el-tag type="info" size="mini">{{ scope.row.startDeptName
|
|
|
95
|
+ }}</el-tag></label>
|
|
|
96
|
+ </template>
|
|
|
97
|
+ </el-table-column>
|
|
|
98
|
+ <el-table-column label="接收时间" align="center" prop="createTime" width="180" />
|
|
|
99
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
100
|
+ <template slot-scope="scope">
|
|
|
101
|
+ <el-button size="mini" type="text" icon="el-icon-edit-outline" @click="handleProcess(scope.row)">处理
|
|
|
102
|
+ </el-button>
|
|
|
103
|
+ </template>
|
|
|
104
|
+ </el-table-column>
|
|
|
105
|
+ </el-table>
|
|
|
106
|
+ </div>
|
|
|
107
|
+ <!-- <div class="calendar-warpper"> -->
|
|
|
108
|
+ <!-- <Calendar></Calendar> -->
|
|
|
109
|
+ <!-- <el-calendar v-model="times"> -->
|
|
|
110
|
+ <!-- </el-calendar> -->
|
|
|
111
|
+ <!-- </div> -->
|
|
|
112
|
+ </el-col>
|
|
93
|
113
|
<!-- <el-col :span="8" :xs="24">
|
|
94
|
114
|
<div class="header">XXXX</div>
|
|
95
|
115
|
<div class="project-content">
|
|
|
@@ -113,6 +133,7 @@ import { todoList } from "@/api/flowable/todo";
|
|
113
|
133
|
import { finishedList } from "@/api/flowable/finished";
|
|
114
|
134
|
import Calendar from '@/components/Calendar';
|
|
115
|
135
|
import { listNotice } from "@/api/system/notice";
|
|
|
136
|
+import { getProcessVariables } from "@/api/flowable/definition"
|
|
116
|
137
|
export default {
|
|
117
|
138
|
dicts: ['sys_notice_status', 'sys_notice_type'],
|
|
118
|
139
|
components: {
|
|
|
@@ -140,7 +161,9 @@ export default {
|
|
140
|
161
|
noticeList: [],// 数据
|
|
141
|
162
|
noticeTotal: 0,
|
|
142
|
163
|
clickNotice: {},
|
|
|
164
|
+ todoList: [],
|
|
143
|
165
|
noticeLoading: true,
|
|
|
166
|
+ taskLoading: true,
|
|
144
|
167
|
noticeQueryParams: {
|
|
145
|
168
|
pageNum: 1,
|
|
146
|
169
|
pageSize: 10
|
|
|
@@ -266,12 +289,15 @@ export default {
|
|
266
|
289
|
},
|
|
267
|
290
|
// 获取考核待办
|
|
268
|
291
|
getDetail() {
|
|
|
292
|
+ this.taskLoading = true;
|
|
269
|
293
|
todoList({
|
|
270
|
294
|
pageNum: 1,
|
|
271
|
|
- pageSize: 10,
|
|
|
295
|
+ pageSize: 999,
|
|
272
|
296
|
name: null
|
|
273
|
297
|
}).then(response => {
|
|
274
|
298
|
this.detail = response.data.total;
|
|
|
299
|
+ this.todoList = response.data.records;
|
|
|
300
|
+ this.taskLoading = false;
|
|
275
|
301
|
});
|
|
276
|
302
|
},
|
|
277
|
303
|
getFinish() {
|
|
|
@@ -329,7 +355,37 @@ export default {
|
|
329
|
355
|
});
|
|
330
|
356
|
}
|
|
331
|
357
|
return html;
|
|
332
|
|
- }
|
|
|
358
|
+ },
|
|
|
359
|
+ handleProcess(row){
|
|
|
360
|
+ let path = this.getRoutePath(row);
|
|
|
361
|
+ getProcessVariables(row.taskId).then(res => {
|
|
|
362
|
+ this.$router.push({
|
|
|
363
|
+ path: path,
|
|
|
364
|
+ query: {
|
|
|
365
|
+ procInsId: row.procInsId,
|
|
|
366
|
+ executionId: row.executionId,
|
|
|
367
|
+ deployId: row.deployId,
|
|
|
368
|
+ taskId: row.taskId,
|
|
|
369
|
+ taskName: row.taskName,
|
|
|
370
|
+ startUser: row.startUserName + '-' + row.startDeptName,
|
|
|
371
|
+ formId: res.data.formId,
|
|
|
372
|
+ procDefName: row.procDefName
|
|
|
373
|
+ }
|
|
|
374
|
+ })
|
|
|
375
|
+ })
|
|
|
376
|
+ },
|
|
|
377
|
+ getRoutePath(row) {
|
|
|
378
|
+ let path;
|
|
|
379
|
+ for (let p of this.publicData.pathRoute) {
|
|
|
380
|
+ if (p.name == row.procDefName) {
|
|
|
381
|
+ path = p.path
|
|
|
382
|
+ break
|
|
|
383
|
+ } else {
|
|
|
384
|
+ path = '/flowable/task/todo/detail/index'
|
|
|
385
|
+ }
|
|
|
386
|
+ }
|
|
|
387
|
+ return path
|
|
|
388
|
+ },
|
|
333
|
389
|
}
|
|
334
|
390
|
}
|
|
335
|
391
|
</script>
|
|
|
@@ -430,6 +486,7 @@ export default {
|
|
430
|
486
|
}
|
|
431
|
487
|
|
|
432
|
488
|
.calendar-warpper {
|
|
|
489
|
+padding: 10px;
|
|
433
|
490
|
width: 100%;
|
|
434
|
491
|
height: 400px;
|
|
435
|
492
|
background-color: #ffffff;
|