diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
index 5e1c5082..fcb984ce 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
@@ -36,8 +36,16 @@
:rule="approveForm.rule"
/>
+
+
+
@@ -48,14 +56,6 @@
@select-user-confirm="selectUserConfirm"
/>
-
-
-
{
message.warning('表单校验不通过,请先完善表单!!')
return
}
- // 获取修改的流程变量, 暂时只支持流程表单
- const variables = getUpdatedProcessInstanceVariables()
- const param = {
- processInstanceId: props.processInstance.id,
- processVariablesStr: JSON.stringify(variables)
- }
- // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人
- const res = await ProcessInstanceApi.getApprovalDetail(param)
- //当前待审批节点id
- const activityId = res.todoTask?.taskDefinitionKey
- if (res.activityNodes && res.activityNodes.length > 0) {
- // 找到当前节点的索引
- const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
- const nextNode = res.activityNodes[currentNodeIndex + 1]
- if (
- nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
- !nextNode.tasks &&
- nextNode.candidateUsers?.length === 0
- ) {
- // 自选审批人,则弹出选择审批人弹窗
- activityNodes.value = [nextNode]
- dialogVisibleSelectApproveUser.value = true
- }
- }
+ initNextTaskSelectAssigneeFormField()
}
if (type === 'return') {
// 获取退回节点
@@ -744,6 +721,33 @@ const closePropover = (type: string, formRef: FormInstance | undefined) => {
dialogVisibleSelectApproveUser.value = false
}
+/** // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人 */
+const initNextTaskSelectAssigneeFormField = async () => {
+ // 获取修改的流程变量, 暂时只支持流程表单
+ const variables = getUpdatedProcessInstanceVariables()
+ const param = {
+ processInstanceId: props.processInstance.id,
+ processVariablesStr: JSON.stringify(variables)
+ }
+ const res = await ProcessInstanceApi.getApprovalDetail(param)
+ //当前待审批节点id
+ const activityId = res.todoTask?.taskDefinitionKey
+ if (res.activityNodes && res.activityNodes.length > 0) {
+ // 找到当前节点的索引
+ const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
+ const nextNode = res.activityNodes[currentNodeIndex + 1]
+ if (
+ nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
+ !nextNode.tasks &&
+ nextNode.candidateUsers?.length === 0
+ ) {
+ // 自选审批人,则弹出选择审批人弹窗
+ activityNodes.value = [nextNode]
+ dialogVisibleSelectApproveUser.value = true
+ }
+ }
+}
+
/** 处理审批通过和不通过的操作 */
const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) => {
formLoading.value = true
@@ -764,33 +768,10 @@ const handleAudit = async (pass: boolean, formRef: FormInstance | undefined) =>
dialogVisibleSelectApproveUser.value &&
Object.keys(approveReasonForm.selectApproveUser).length === 0
) {
- message.warning('审批人不能为空!')
+ message.warning('下一个节点的审批人不能为空!')
return
}
- // 获取修改的流程变量, 暂时只支持流程表单
const variables = getUpdatedProcessInstanceVariables()
- const param = {
- processInstanceId: props.processInstance.id,
- processVariablesStr: JSON.stringify(variables)
- }
- // 流程通过时,根据表单变量查询新的流程节点,判断下一个节点类型是否为自选审批人
- const res = await ProcessInstanceApi.getApprovalDetail(param)
- //当前待审批节点id
- const activityId = res.todoTask?.taskDefinitionKey
- if (res.activityNodes && res.activityNodes.length > 0) {
- // 找到当前节点的索引
- const currentNodeIndex = res.activityNodes.findIndex((node) => node.id === activityId)
- const nextNode = res.activityNodes[currentNodeIndex + 1]
- if (
- nextNode.candidateStrategy === CandidateStrategy.START_USER_SELECT &&
- !nextNode.tasks &&
- nextNode.candidateUsers?.length === 0
- ) {
- // 自选审批人,则弹出选择审批人弹窗
- activityNodes.value = [nextNode]
- dialogVisibleSelectApproveUser.value = true
- }
- }
// 审批通过数据
const data = {
id: runningTask.value.id,
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
index 60209619..87f8119d 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
@@ -48,7 +48,7 @@ watch(
finishedActivityIds,
finishedSequenceFlowActivityIds
)
- simpleModel.value = newModelView.simpleModel == null ? {} : newModelView.simpleModel
+ simpleModel.value = newModelView.simpleModel ? newModelView.simpleModel : {}
}
}
)
diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue
index ab6c4380..46ecaaee 100644
--- a/src/views/bpm/processInstance/detail/index.vue
+++ b/src/views/bpm/processInstance/detail/index.vue
@@ -178,21 +178,21 @@ const writableFields: Array = [] // 表单可以编辑的字段
/** 获得详情 */
const getDetail = () => {
- const param = {
- processInstanceId: props.id,
- activityId: props.activityId,
- taskId: props.taskId
- }
- getApprovalDetail(param)
+ getApprovalDetail()
getProcessModelView()
}
/** 加载流程实例 */
const BusinessFormComponent = ref(null) // 异步组件
/** 获取审批详情 */
-const getApprovalDetail = async (param?: any) => {
+const getApprovalDetail = async () => {
processInstanceLoading.value = true
try {
+ const param = {
+ processInstanceId: props.id,
+ activityId: props.activityId,
+ taskId: props.taskId
+ }
const data = await ProcessInstanceApi.getApprovalDetail(param)
if (!data) {
message.error('查询不到审批详情信息!')