Skip to content

Commit 7467b0b

Browse files
committed
fix:监听表单字段,调用流程预测节点
1 parent b03711e commit 7467b0b

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -154,17 +154,21 @@ const initProcessInfo = async (row: any, formVariables?: any) => {
154154
// 这里暂时无需加载流程图,因为跳出到另外个 Tab;
155155
}
156156
}
157-
158-
// 监听 formVariables 的变化
157+
// 预测流程节点会因为输入的参数值而产生新的预测结果值,所以需重新预测一次
159158
watch(
160159
detailForm.value,
161-
(newValue, oldValue) => {
162-
console.log('formVariables 发生了变化')
163-
console.log('新值:', newValue)
164-
console.log('旧值:', oldValue)
160+
(newValue) => {
161+
if (newValue && Object.keys(newValue.value).length > 0) {
162+
// startUserSelectTasks.value = []
163+
// startUserSelectAssignees.value = []
164+
getApprovalDetail({
165+
id: props.selectProcessDefinition.id,
166+
processVariablesStr: newValue.value
167+
})
168+
}
165169
},
166170
{
167-
deep: true // 深度监听,当对象内部属性变化时也会触发回调
171+
immediate: true
168172
}
169173
)
170174
@@ -232,19 +236,7 @@ const submitForm = async () => {
232236
}
233237
// 流程表单校验
234238
await fApi.value.validate()
235-
// 临时保存已选择的审批人信息,避免重新预测后已选择的审批人丢失
236-
const savedAssignees = { ...startUserSelectAssignees.value }
237-
// 预测流程节点会因为输入的参数值而产生新的预测结果值,所以在提交时需重新预测一次
238-
await getApprovalDetail({
239-
id: props.selectProcessDefinition.id,
240-
processVariablesStr: detailForm.value?.value
241-
})
242-
// 恢复已选择的审批人信息
243-
Object.keys(savedAssignees).forEach((id) => {
244-
if (startUserSelectAssignees.value[id]) {
245-
startUserSelectAssignees.value[id] = savedAssignees[id]
246-
}
247-
})
239+
// debugger
248240
// 如果有指定审批人,需要校验
249241
if (startUserSelectTasks.value?.length > 0) {
250242
for (const userTask of startUserSelectTasks.value) {

0 commit comments

Comments
 (0)