feat: 流程发起时的按钮权限

This commit is contained in:
dap 2025-03-08 12:18:16 +08:00
parent 6170da0870
commit 62d03605a3

View File

@ -8,7 +8,7 @@ import { useVbenModal } from '@vben/common-ui';
import { cloneDeep } from 'lodash-es';
import { useVbenForm } from '#/adapter/form';
import { completeTask } from '#/api/workflow/task';
import { completeTask, getTaskByTaskId } from '#/api/workflow/task';
import { CopyComponent } from '.';
@ -31,6 +31,31 @@ const [BasicModal, modalApi] = useVbenModal({
title: '流程发起',
fullscreenButton: false,
onConfirm: handleSubmit,
async onOpenChange(isOpen) {
if (!isOpen) {
return null;
}
const { taskId } = modalApi.getData() as ModalProps;
//
const resp = await getTaskByTaskId(taskId);
const buttonPermissions: Record<string, boolean> = {};
resp.buttonList.forEach((item) => {
buttonPermissions[item.code] = item.show;
});
//
const copyPermission = buttonPermissions?.copy ?? false;
formApi.updateSchema([
{
fieldName: 'flowCopyList',
dependencies: {
if: copyPermission,
triggerFields: [''],
},
},
]);
},
});
const [BasicForm, formApi] = useVbenForm({