26
26
<script setup lang="ts">
27
27
import SimpleProcessModel from ' ./SimpleProcessModel.vue'
28
28
import { SimpleFlowNode , NodeType , NodeId , NODE_DEFAULT_TEXT } from ' ./consts'
29
- import { getModel } from ' @/api/bpm/model'
30
- import { getForm , FormVO } from ' @/api/bpm/form'
29
+ import { getForm } from ' @/api/bpm/form'
31
30
import { handleTree } from ' @/utils/tree'
32
31
import * as RoleApi from ' @/api/system/role'
33
32
import * as DeptApi from ' @/api/system/dept'
@@ -43,17 +42,21 @@ defineOptions({
43
42
const emits = defineEmits ([' success' ]) // 保存成功事件
44
43
45
44
const props = defineProps ({
46
- modelId : {
45
+ modelName : {
47
46
type: String ,
48
47
required: false
49
48
},
50
- modelKey: {
51
- type: String ,
52
- required: false
49
+ // 流程表单 ID
50
+ modelFormId: {
51
+ type: Number ,
52
+ required: false ,
53
+ default: undefined ,
53
54
},
54
- modelName: {
55
- type: String ,
56
- required: false
55
+ // 表单类型
56
+ modelFormType: {
57
+ type: Number ,
58
+ required: false ,
59
+ default: BpmModelFormType .NORMAL ,
57
60
},
58
61
// 可发起流程的人员编号
59
62
startUserIds: {
@@ -70,7 +73,31 @@ const props = defineProps({
70
73
const processData = inject (' processData' ) as Ref
71
74
const loading = ref (false )
72
75
const formFields = ref <string []>([])
73
- const formType = ref (20 )
76
+ const formType = ref (props .modelFormType );
77
+
78
+ // 监听 modelFormType 变化
79
+ watch (
80
+ () => props .modelFormType ,
81
+ (newVal ) => {
82
+ formType .value = newVal ;
83
+ },
84
+ );
85
+
86
+ // 监听 modelFormId 变化
87
+ watch (
88
+ () => props .modelFormId ,
89
+ async (newVal ) => {
90
+ if (newVal ) {
91
+ const form = await getForm (newVal );
92
+ formFields .value = form ?.fields ;
93
+ } else {
94
+ // 如果 modelFormId 为空,清空表单字段
95
+ formFields .value = [];
96
+ }
97
+ },
98
+ { immediate: true },
99
+ );
100
+
74
101
const roleOptions = ref <RoleApi .RoleVO []>([]) // 角色列表
75
102
const postOptions = ref <PostApi .PostVO []>([]) // 岗位列表
76
103
const userOptions = ref <UserApi .UserVO []>([]) // 用户列表
@@ -90,6 +117,8 @@ provide('startUserIds', props.startUserIds)
90
117
provide (' startDeptIds' , props .startDeptIds )
91
118
provide (' tasks' , [])
92
119
provide (' processInstance' , {})
120
+
121
+
93
122
const message = useMessage () // 国际化
94
123
const processNodeTree = ref <SimpleFlowNode | undefined >()
95
124
provide (' processNodeTree' , processNodeTree )
@@ -169,17 +198,17 @@ const validateNode = (node: SimpleFlowNode | undefined, errorNodes: SimpleFlowNo
169
198
onMounted (async () => {
170
199
try {
171
200
loading .value = true
172
- // 获取表单字段
173
- if (props .modelId ) {
174
- const bpmnModel = await getModel (props .modelId )
175
- if (bpmnModel ) {
176
- formType .value = bpmnModel .formType
177
- if (formType .value === BpmModelFormType .NORMAL && bpmnModel .formId ) {
178
- const bpmnForm = (await getForm (bpmnModel .formId )) as unknown as FormVO
179
- formFields .value = bpmnForm ?.fields
180
- }
181
- }
182
- }
201
+ // // 获取表单字段
202
+ // if (props.modelId) {
203
+ // const bpmnModel = await getModel(props.modelId)
204
+ // if (bpmnModel) {
205
+ // formType.value = bpmnModel.formType
206
+ // if (formType.value === BpmModelFormType.NORMAL && bpmnModel.formId) {
207
+ // const bpmnForm = (await getForm(bpmnModel.formId)) as unknown as FormVO
208
+ // formFields.value = bpmnForm?.fields
209
+ // }
210
+ // }
211
+ // }
183
212
// 获得角色列表
184
213
roleOptions .value = await RoleApi .getSimpleRoleList ()
185
214
// 获得岗位列表
0 commit comments