feat: 修改办理人

This commit is contained in:
dap 2024-12-18 13:57:50 +08:00
parent 877fa1b2d1
commit 86013b44a6
2 changed files with 27 additions and 6 deletions

View File

@ -125,12 +125,9 @@ export function taskOperation(
* @param userId id * @param userId id
*/ */
export function updateAssignee(taskIdList: IDS, userId: ID) { export function updateAssignee(taskIdList: IDS, userId: ID) {
return requestClient.postWithMsg<void>( return requestClient.putWithMsg<void>(
`/workflow/task/updateAssignee/${userId}`, `/workflow/task/updateAssignee/${userId}`,
{ taskIdList,
taskIdList,
userId,
},
); );
} }

View File

@ -34,6 +34,7 @@ import {
getTaskByTaskId, getTaskByTaskId,
taskOperation, taskOperation,
terminationTask, terminationTask,
updateAssignee,
} from '#/api/workflow/task'; } from '#/api/workflow/task';
import { renderDict } from '#/utils/render'; import { renderDict } from '#/utils/render';
@ -316,6 +317,7 @@ function handleReductionSignature(userList: User[]) {
}); });
} }
//
const [FlowInterfereModal, flowInterfereModalApi] = useVbenModal({ const [FlowInterfereModal, flowInterfereModalApi] = useVbenModal({
connectedComponent: flowInterfereModal, connectedComponent: flowInterfereModal,
}); });
@ -323,6 +325,25 @@ function handleFlowInterfere() {
flowInterfereModalApi.setData({ taskId: props.task?.id }); flowInterfereModalApi.setData({ taskId: props.task?.id });
flowInterfereModalApi.open(); flowInterfereModalApi.open();
} }
//
const [UpdateAssigneeModal, updateAssigneeModalApi] = useVbenModal({
connectedComponent: userSelectModal,
});
function handleUpdateAssignee(userList: User[]) {
if (userList.length === 0) return;
const current = userList[0];
if (!current) return;
Modal.confirm({
title: '修改办理人',
content: `确定修改办理人为${current?.nickName}吗?`,
centered: true,
onOk: async () => {
await updateAssignee([props.task!.id], current.userId);
emit('reload');
},
});
}
</script> </script>
<template> <template>
@ -466,8 +487,11 @@ function handleFlowInterfere() {
</Space> </Space>
<Space v-if="type === 'admin'"> <Space v-if="type === 'admin'">
<a-button @click="handleFlowInterfere"> 流程干预 </a-button> <a-button @click="handleFlowInterfere"> 流程干预 </a-button>
<a-button>修改办理人(没做)</a-button> <a-button @click="() => updateAssigneeModalApi.open()">
修改办理人
</a-button>
<FlowInterfereModal @complete="$emit('reload')" /> <FlowInterfereModal @complete="$emit('reload')" />
<UpdateAssigneeModal mode="single" @finish="handleUpdateAssignee" />
</Space> </Space>
</div> </div>
</div> </div>