diff --git a/src/api/platform/workflow/controller/process.ts b/src/api/platform/workflow/controller/process.ts index bd12584..ee03d7a 100644 --- a/src/api/platform/workflow/controller/process.ts +++ b/src/api/platform/workflow/controller/process.ts @@ -56,6 +56,6 @@ export const queryProcessStatus = (processInsId: string) => defHttp.get({ url: ` export const selfProcessInstanceList = (params: Recordable) => defHttp.get({ url: Api.selfProcessInstanceList, params }); -export const startProcessDefinition = (workflow: Workflow) => defHttp.post({ url: Api.startProcessDefinition, data: workflow }); +export const startProcessDefinition = (workflow: Partial) => defHttp.post({ url: Api.startProcessDefinition, data: workflow }); export const removeHistoryProcessIns = (ids: string) => defHttp.delete({ url: `${Api.removeHistoryProcessIns}${ids}` }); diff --git a/src/views/system/menu/menu.data.ts b/src/views/system/menu/menu.data.ts index 3b1ff44..bd4c5bb 100644 --- a/src/views/system/menu/menu.data.ts +++ b/src/views/system/menu/menu.data.ts @@ -222,7 +222,7 @@ export const formSchema: FormSchema[] = [ } }, { - field: 'keepalive', + field: 'keepAlive', label: '是否缓存', component: 'RadioButtonGroup', defaultValue: '0', diff --git a/src/views/workflow/process/index.vue b/src/views/workflow/process/index.vue index b85e743..f235586 100644 --- a/src/views/workflow/process/index.vue +++ b/src/views/workflow/process/index.vue @@ -48,6 +48,10 @@ import { BasicTree, TreeItem } from '/@/components/Tree'; import { listToTree } from '/@/utils/helper/treeHelper'; import { listProcessCategory } from '/@/api/platform/workflow/extension/controller/processCategory'; + import { getTaskDefinition } from '/@/api/platform/workflow/controller/task'; + import { useUserStore } from '/@/store/modules/user'; + import { formatToDateTime } from '/@/utils/dateUtil'; + import { useRouter } from 'vue-router'; /** 类型规范统一声明定义区域 */ interface TableState { @@ -67,6 +71,8 @@ const state = reactive({ treeData: [] }); + const userStore = useUserStore(); + const { push } = useRouter(); const [registerTable, { reload, getForm }] = useTable({ title: '流程定义列表', api: listProcessDef, @@ -97,7 +103,23 @@ state.treeData = listToTree(await listProcessCategory()); }); - function handleProcessDefinitionStart(record?: Recordable) { + async function handleProcessDefinitionStart(record?: Recordable) { + const tabTitle = `启动流程【${record?.name}】`; + const formTitle = `${userStore.getUserInfo.nickName} 在 ${formatToDateTime()} 发起了 [${record?.name}]`; + const data = await getTaskDefinition( { processDefId: record?.id }); + await push({ + path: '/workflow/task/taskForm', + query: { + _meta: 'y', + processDefId: record?.id, + processDefKey: record?.key, + status: 'start', + title: tabTitle, + formTitle: formTitle, + formType: data.formType, + formKey: data.formKey + } + }); } function handleSelect(selectedKeys: string[]) { diff --git a/src/views/workflow/task/TaskForm.vue b/src/views/workflow/task/TaskForm.vue index d5863a5..12b8478 100644 --- a/src/views/workflow/task/TaskForm.vue +++ b/src/views/workflow/task/TaskForm.vue @@ -1,8 +1,26 @@ diff --git a/src/views/workflow/task/WorkflowPreviewForm.vue b/src/views/workflow/task/WorkflowPreviewForm.vue new file mode 100644 index 0000000..7cbee7f --- /dev/null +++ b/src/views/workflow/task/WorkflowPreviewForm.vue @@ -0,0 +1,112 @@ + +