Skip to content

Commit 173c375

Browse files
committed
流程管理-待办任务
1 parent 06e1e27 commit 173c375

File tree

4 files changed

+128
-88
lines changed

4 files changed

+128
-88
lines changed

src/router/modules/remaining.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,30 @@ const remainingRouter: AppRouteRecordRaw[] = [
317317
title: '查看 OA 请假',
318318
activeMenu: 'bpm/oa/leave/detail'
319319
}
320+
},
321+
{
322+
path: '/bpm/task/done',
323+
component: () => import('@/views/bpm/task/done/index.vue'),
324+
name: 'TaskDone',
325+
meta: {
326+
noCache: true,
327+
hidden: true,
328+
canTo: true,
329+
title: '已办任务',
330+
activeMenu: 'bpm/task/done/index'
331+
}
332+
},
333+
{
334+
path: '/bpm/task/todo',
335+
component: () => import('@/views/bpm/task/todo/index.vue'),
336+
name: 'TaskTodo',
337+
meta: {
338+
noCache: true,
339+
hidden: true,
340+
canTo: true,
341+
title: '代办任务',
342+
activeMenu: 'bpm/task/todo/index'
343+
}
320344
}
321345
]
322346
},

src/types/auto-components.d.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ declare module '@vue/runtime-core' {
2424
DocAlert: typeof import('./../components/DocAlert/index.vue')['default']
2525
Echart: typeof import('./../components/Echart/src/Echart.vue')['default']
2626
Editor: typeof import('./../components/Editor/src/Editor.vue')['default']
27-
ElAlert: typeof import('element-plus/es')['ElAlert']
28-
ElAutoResizer: typeof import('element-plus/es')['ElAutoResizer']
29-
ElAvatar: typeof import('element-plus/es')['ElAvatar']
3027
ElBadge: typeof import('element-plus/es')['ElBadge']
3128
ElButton: typeof import('element-plus/es')['ElButton']
3229
ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
@@ -56,34 +53,25 @@ declare module '@vue/runtime-core' {
5653
ElForm: typeof import('element-plus/es')['ElForm']
5754
ElFormItem: typeof import('element-plus/es')['ElFormItem']
5855
ElIcon: typeof import('element-plus/es')['ElIcon']
59-
ElImage: typeof import('element-plus/es')['ElImage']
6056
ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
6157
ElInput: typeof import('element-plus/es')['ElInput']
62-
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
6358
ElLink: typeof import('element-plus/es')['ElLink']
6459
ElOption: typeof import('element-plus/es')['ElOption']
6560
ElPagination: typeof import('element-plus/es')['ElPagination']
6661
ElPopover: typeof import('element-plus/es')['ElPopover']
67-
ElRadio: typeof import('element-plus/es')['ElRadio']
68-
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
69-
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
7062
ElRow: typeof import('element-plus/es')['ElRow']
7163
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
7264
ElSelect: typeof import('element-plus/es')['ElSelect']
7365
ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
74-
ElSpace: typeof import('element-plus/es')['ElSpace']
7566
ElSwitch: typeof import('element-plus/es')['ElSwitch']
7667
ElTable: typeof import('element-plus/es')['ElTable']
7768
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
78-
ElTableV2: typeof import('element-plus/es')['ElTableV2']
7969
ElTabPane: typeof import('element-plus/es')['ElTabPane']
8070
ElTabs: typeof import('element-plus/es')['ElTabs']
8171
ElTag: typeof import('element-plus/es')['ElTag']
8272
ElTimeline: typeof import('element-plus/es')['ElTimeline']
8373
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
8474
ElTooltip: typeof import('element-plus/es')['ElTooltip']
85-
ElTree: typeof import('element-plus/es')['ElTree']
86-
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
8775
ElUpload: typeof import('element-plus/es')['ElUpload']
8876
Error: typeof import('./../components/Error/src/Error.vue')['default']
8977
FlowCondition: typeof import('./../components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue')['default']

src/views/bpm/task/todo/index.vue

Lines changed: 104 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,113 @@
11
<template>
22
<ContentWrap>
3-
<XTable @register="registerTable">
4-
<template #suspensionState_default="{ row }">
5-
<el-tag type="success" v-if="row.suspensionState === 1">激活</el-tag>
6-
<el-tag type="warning" v-if="row.suspensionState === 2">挂起</el-tag>
7-
</template>
8-
<template #actionbtns_default="{ row }">
9-
<!-- 操作: 审批进度 -->
10-
<XTextButton preIcon="ep:edit-pen" title="审批进度" @click="handleAudit(row)" />
11-
</template>
12-
</XTable>
3+
<!-- 搜索工作栏 -->
4+
<el-form
5+
class="-mb-15px"
6+
:model="queryParams"
7+
ref="queryFormRef"
8+
:inline="true"
9+
label-width="68px"
10+
>
11+
<el-form-item label="任务名称" prop="name">
12+
<el-input
13+
v-model="queryParams.name"
14+
placeholder="请输入任务名称"
15+
clearable
16+
@keyup.enter="handleQuery"
17+
class="!w-240px"
18+
/>
19+
</el-form-item>
20+
<el-form-item label="创建时间" prop="createTime">
21+
<el-date-picker
22+
v-model="queryParams.createTime"
23+
value-format="YYYY-MM-DD HH:mm:ss"
24+
type="daterange"
25+
start-placeholder="开始日期"
26+
end-placeholder="结束日期"
27+
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
28+
class="!w-240px"
29+
/>
30+
</el-form-item>
31+
<el-form-item>
32+
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
33+
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
34+
</el-form-item>
35+
</el-form>
36+
</ContentWrap>
37+
38+
<!-- 列表 -->
39+
<ContentWrap>
40+
<el-table v-loading="loading" :data="list">
41+
<el-table-column label="任务编号" align="center" prop="id" width="300px" />
42+
<el-table-column label="任务名称" align="center" prop="name" />
43+
<el-table-column label="所属流程" align="center" prop="processInstance.name" />
44+
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" />
45+
<el-table-column
46+
label="创建时间"
47+
align="center"
48+
prop="createTime"
49+
width="180"
50+
:formatter="dateFormatter"
51+
/>
52+
<el-table-column label="任务状态" prop="suspensionState">
53+
<template #default="scope">
54+
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
55+
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
56+
</template>
57+
</el-table-column>
58+
<el-table-column label="操作" align="center">
59+
<template #default="scope">
60+
<el-button link type="primary" @click="handleAudit(scope.row)">审批进度</el-button>
61+
</template>
62+
</el-table-column>
63+
</el-table>
64+
<!-- 分页 -->
65+
<Pagination
66+
:total="total"
67+
v-model:page="queryParams.pageNo"
68+
v-model:limit="queryParams.pageSize"
69+
@pagination="getList"
70+
/>
1371
</ContentWrap>
1472
</template>
1573

16-
<script setup lang="ts">
74+
<script setup lang="tsx">
1775
// 业务相关的 import
18-
import { allSchemas } from './todo.data'
1976
import * as TaskApi from '@/api/bpm/task'
20-
77+
import { dateFormatter } from '@/utils/formatTime'
2178
const { push } = useRouter() // 路由
22-
23-
const [registerTable] = useXTable({
24-
allSchemas: allSchemas,
25-
topActionSlots: false,
26-
getListApi: TaskApi.getTodoTaskPage
79+
const loading = ref(true) // 列表的加载中
80+
const total = ref(0) // 列表的总页数
81+
const list = ref([]) // 列表的数据
82+
const queryParams = reactive({
83+
pageNo: 1,
84+
pageSize: 10,
85+
name: '',
86+
createTime: []
2787
})
88+
const queryFormRef = ref() // 搜索的表单
2889
90+
/** 查询任务列表 */
91+
const getList = async () => {
92+
loading.value = true
93+
try {
94+
const data = await TaskApi.getTodoTaskPage(queryParams)
95+
list.value = data.list
96+
total.value = data.total
97+
} finally {
98+
loading.value = false
99+
}
100+
}
101+
/** 搜索按钮操作 */
102+
const handleQuery = () => {
103+
queryParams.pageNo = 1
104+
getList()
105+
}
106+
/** 重置按钮操作 */
107+
const resetQuery = () => {
108+
queryFormRef.value.resetFields()
109+
handleQuery()
110+
}
29111
// 处理审批按钮
30112
const handleAudit = (row) => {
31113
push({
@@ -35,4 +117,8 @@ const handleAudit = (row) => {
35117
}
36118
})
37119
}
120+
/** 初始化 **/
121+
onMounted(() => {
122+
getList()
123+
})
38124
</script>

src/views/bpm/task/todo/todo.data.ts

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)