Skip to content

Commit 62ad543

Browse files
committed
Merge branch 'feature/bpm' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into feature/bpm
2 parents 503a35f + bd48210 commit 62ad543

File tree

4 files changed

+36
-11
lines changed

4 files changed

+36
-11
lines changed

src/components/SimpleProcessDesignerV2/src/node.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,16 @@ export function useFormFieldsPermission(defaultPermission: FieldPermissionType)
106106
getNodeConfigFormFields
107107
}
108108
}
109+
109110
/**
110-
* @description 获取流程表单的字段
111+
* @description 获取流程表单的字段
111112
*/
112113
export function useFormFields() {
113114
const formFields = inject<Ref<string[]>>('formFields', ref([])) // 流程表单字段
114115
return parseFormCreateFields(unref(formFields))
115116
}
116117

118+
// TODO @芋艿:后续需要把各种类似 useFormFieldsPermission 的逻辑,抽成一个通用方法。
117119
/**
118120
* @description 获取流程表单的字段和发起人字段
119121
*/
@@ -155,19 +157,19 @@ export type UserTaskFormType = {
155157
taskCreateListenerEnable?: boolean
156158
taskCreateListenerPath?: string
157159
taskCreateListener?: {
158-
header: HttpRequestParam[],
160+
header: HttpRequestParam[]
159161
body: HttpRequestParam[]
160162
}
161163
taskAssignListenerEnable?: boolean
162164
taskAssignListenerPath?: string
163165
taskAssignListener?: {
164-
header: HttpRequestParam[],
166+
header: HttpRequestParam[]
165167
body: HttpRequestParam[]
166168
}
167169
taskCompleteListenerEnable?: boolean
168170
taskCompleteListenerPath?: string
169-
taskCompleteListener?:{
170-
header: HttpRequestParam[],
171+
taskCompleteListener?: {
172+
header: HttpRequestParam[]
171173
body: HttpRequestParam[]
172174
}
173175
signEnable: boolean

src/router/modules/remaining.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,18 @@ const remainingRouter: AppRouteRecordRaw[] = [
307307
activityId: route.query.activityId
308308
})
309309
},
310+
{
311+
path: 'process-instance/report',
312+
component: () => import('@/views/bpm/processInstance/report/index.vue'),
313+
name: 'BpmProcessInstanceReport',
314+
meta: {
315+
noCache: true,
316+
hidden: true,
317+
canTo: true,
318+
title: '数据报表',
319+
activeMenu: '/bpm/manager/model'
320+
}
321+
},
310322
{
311323
path: 'oa/leave/create',
312324
component: () => import('@/views/bpm/oa/leave/create.vue'),

src/views/bpm/model/CategoryDraggableModel.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,10 @@
194194
</el-dropdown-item>
195195
<el-dropdown-item
196196
command="handleReport"
197-
v-if="checkPermi(['bpm:model:report']) && scope.row.processDefinition"
197+
v-if="
198+
checkPermi(['bpm:process-instance:manager-query']) &&
199+
scope.row.processDefinition
200+
"
198201
:disabled="!isManagerUser(scope.row)"
199202
>
200203
报表

src/views/bpm/processInstance/report/index.vue

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
:label="item.title"
7373
:prop="item.field"
7474
>
75-
<!-- TODO 目前只支持input类型的字符串搜索 -->
75+
<!-- TODO @lesan:目前只支持input类型的字符串搜索 -->
7676
<el-input
7777
:disabled="item.type !== 'input'"
7878
v-model="queryParams.formFieldsParams[item.field]"
@@ -120,11 +120,12 @@
120120
:prop="item.field"
121121
width="120"
122122
>
123-
<!-- TODO 可以根据formField的type进行展示方式的控制,现在全部以字符串 -->
123+
<!-- TODO @lesan:可以根据formField的type进行展示方式的控制,现在全部以字符串 -->
124124
<template #default="scope">
125125
{{ scope.row.formVariables[item.field] ?? '' }}
126126
</template>
127127
</el-table-column>
128+
<!-- TODO @lesan:可能要类似 manager 那,加个详情和取消? -->
128129
</el-table>
129130
<!-- 分页 -->
130131
<Pagination
@@ -170,21 +171,24 @@ const userList = ref<any[]>([]) // 用户列表
170171
const getList = async () => {
171172
loading.value = true
172173
try {
173-
let queryParamsClone = { ...queryParams }
174-
queryParamsClone.formFieldsParams = JSON.stringify(queryParamsClone.formFieldsParams)
175-
const data = await ProcessInstanceApi.getProcessInstanceManagerPage(queryParamsClone)
174+
const data = await ProcessInstanceApi.getProcessInstanceManagerPage({
175+
...queryParams,
176+
formFieldsParams: JSON.stringify(queryParams.formFieldsParams)
177+
})
176178
list.value = data.list
177179
total.value = data.total
178180
} finally {
179181
loading.value = false
180182
}
181183
}
182184
185+
/** 获取流程定义 */
183186
const getProcessDefinition = async () => {
184187
const processDefinition = await DefinitionApi.getProcessDefinition(processDefinitionId)
185188
formFields.value = parseFormCreateFields(processDefinition.formFields)
186189
}
187190
191+
/** 解析表单字段 */
188192
const parseFormCreateFields = (formFields?: string[]) => {
189193
const result: Array<Record<string, any>> = []
190194
if (formFields) {
@@ -202,6 +206,7 @@ const handleQuery = () => {
202206
}
203207
204208
/** 重置按钮操作 */
209+
// TODO @lesan:动态表单的 search ,无法重置的样子
205210
const resetQuery = () => {
206211
queryFormRef.value.resetFields()
207212
queryFormRef.value.formFieldsParams = {}
@@ -210,8 +215,11 @@ const resetQuery = () => {
210215
211216
/** 初始化 **/
212217
onMounted(async () => {
218+
// 获取流程定义,用于 table column 的展示
213219
await getProcessDefinition()
220+
// 获取流程列表
214221
await getList()
222+
// 获取用户列表
215223
userList.value = await UserApi.getSimpleUserList()
216224
})
217225
</script>

0 commit comments

Comments
 (0)