diff --git a/apps/web-antd/src/api/bpm/oa/leave/index.ts b/apps/web-antd/src/api/bpm/oa/leave/index.ts index b1afbd255..440674bdd 100644 --- a/apps/web-antd/src/api/bpm/oa/leave/index.ts +++ b/apps/web-antd/src/api/bpm/oa/leave/index.ts @@ -21,11 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) { return requestClient.post('/bpm/oa/leave/create', data); } -/** 更新请假申请 */ -export async function updateLeave(data: BpmOALeaveApi.Leave) { - return requestClient.post('/bpm/oa/leave/update', data); -} - /** 获得请假申请 */ export async function getLeave(id: number) { return requestClient.get(`/bpm/oa/leave/get?id=${id}`); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index 1ac758a6d..b288676f7 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -293,7 +293,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.childProcessSetting.timeoutSetting.timeExpression ?? ''; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); @@ -359,12 +359,12 @@ const loadFormInfo = async () => { }; const getIsoTimeDuration = () => { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue index 0e0ac4cc3..6f578229d 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue @@ -84,12 +84,12 @@ function getShowText(): string { // 获取ISO时间格式 function getIsoTimeDuration() { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; @@ -135,7 +135,7 @@ function openDrawer(node: SimpleFlowNode) { // 固定时长 if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.delaySetting.delayTime; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue index 2afdd6f97..98373821a 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -417,7 +417,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) { configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { const strTimeDuration = node.timeoutHandler.timeDuration; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); timeUnit.value = convertTimeUnit(parseTimeUnit); @@ -563,12 +563,12 @@ function useTimeoutHandler() { if (!configForm.value.timeoutHandlerEnable) { return undefined; } - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (timeUnit.value === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (timeUnit.value === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (timeUnit.value === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; diff --git a/apps/web-antd/src/views/bpm/oa/leave/create.vue b/apps/web-antd/src/views/bpm/oa/leave/create.vue index 9363959f3..cbe2086b4 100644 --- a/apps/web-antd/src/views/bpm/oa/leave/create.vue +++ b/apps/web-antd/src/views/bpm/oa/leave/create.vue @@ -14,7 +14,7 @@ import { Button, Card, Col, message, Row, Space } from 'ant-design-vue'; import dayjs from 'dayjs'; import { getProcessDefinition } from '#/api/bpm/definition'; -import { createLeave, getLeave, updateLeave } from '#/api/bpm/oa/leave'; +import { createLeave, getLeave } from '#/api/bpm/oa/leave'; import { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance'; import { $t } from '#/locales'; import { router } from '#/router'; @@ -88,9 +88,7 @@ async function onSubmit() { }; try { formLoading.value = true; - await (formData.value?.id - ? updateLeave(submitData) - : createLeave(submitData)); + await createLeave(submitData); // 关闭并提示 message.success($t('ui.actionMessage.operationSuccess')); await closeCurrentTab(); diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue index 68fde46df..69d13ddf9 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue @@ -198,7 +198,7 @@ function shouldShowCustomUserSelect( function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) { return ( task.reason && - [BpmNodeTypeEnum.END_EVENT_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( + [BpmNodeTypeEnum.START_USER_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( nodeType, ) ); diff --git a/apps/web-antdv-next/src/api/bpm/oa/leave/index.ts b/apps/web-antdv-next/src/api/bpm/oa/leave/index.ts index b1afbd255..440674bdd 100644 --- a/apps/web-antdv-next/src/api/bpm/oa/leave/index.ts +++ b/apps/web-antdv-next/src/api/bpm/oa/leave/index.ts @@ -21,11 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) { return requestClient.post('/bpm/oa/leave/create', data); } -/** 更新请假申请 */ -export async function updateLeave(data: BpmOALeaveApi.Leave) { - return requestClient.post('/bpm/oa/leave/update', data); -} - /** 获得请假申请 */ export async function getLeave(id: number) { return requestClient.get(`/bpm/oa/leave/get?id=${id}`); diff --git a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index 17efe8160..67cc804dc 100644 --- a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -292,7 +292,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.childProcessSetting.timeoutSetting.timeExpression ?? ''; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); @@ -358,12 +358,12 @@ const loadFormInfo = async () => { }; const getIsoTimeDuration = () => { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; diff --git a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue index 5a9604333..614935237 100644 --- a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue +++ b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue @@ -83,12 +83,12 @@ function getShowText(): string { // 获取ISO时间格式 function getIsoTimeDuration() { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; @@ -134,7 +134,7 @@ function openDrawer(node: SimpleFlowNode) { // 固定时长 if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.delaySetting.delayTime; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); diff --git a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue index 4c5d8dafa..8b12e01d9 100644 --- a/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-antdv-next/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -416,7 +416,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) { configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { const strTimeDuration = node.timeoutHandler.timeDuration; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); timeUnit.value = convertTimeUnit(parseTimeUnit); diff --git a/apps/web-antdv-next/src/views/bpm/oa/leave/create.vue b/apps/web-antdv-next/src/views/bpm/oa/leave/create.vue index 1f44e6e54..862c938e0 100644 --- a/apps/web-antdv-next/src/views/bpm/oa/leave/create.vue +++ b/apps/web-antdv-next/src/views/bpm/oa/leave/create.vue @@ -14,7 +14,7 @@ import { Button, Card, Col, message, Row, Space } from 'antdv-next'; import dayjs from 'dayjs'; import { getProcessDefinition } from '#/api/bpm/definition'; -import { createLeave, getLeave, updateLeave } from '#/api/bpm/oa/leave'; +import { createLeave, getLeave } from '#/api/bpm/oa/leave'; import { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance'; import { $t } from '#/locales'; import { router } from '#/router'; @@ -88,9 +88,7 @@ async function onSubmit() { }; try { formLoading.value = true; - await (formData.value?.id - ? updateLeave(submitData) - : createLeave(submitData)); + await createLeave(submitData); // 关闭并提示 message.success($t('ui.actionMessage.operationSuccess')); await closeCurrentTab(); diff --git a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/time-line.vue b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/time-line.vue index 0422c484b..cd677e373 100644 --- a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/time-line.vue +++ b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/time-line.vue @@ -205,7 +205,7 @@ function shouldShowCustomUserSelect( function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) { return ( task.reason && - [BpmNodeTypeEnum.END_EVENT_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( + [BpmNodeTypeEnum.START_USER_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( nodeType, ) ); diff --git a/apps/web-ele/src/api/bpm/oa/leave/index.ts b/apps/web-ele/src/api/bpm/oa/leave/index.ts index b1afbd255..edf0673bd 100644 --- a/apps/web-ele/src/api/bpm/oa/leave/index.ts +++ b/apps/web-ele/src/api/bpm/oa/leave/index.ts @@ -21,10 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) { return requestClient.post('/bpm/oa/leave/create', data); } -/** 更新请假申请 */ -export async function updateLeave(data: BpmOALeaveApi.Leave) { - return requestClient.post('/bpm/oa/leave/update', data); -} /** 获得请假申请 */ export async function getLeave(id: number) { diff --git a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index 012328cbf..2f68330cf 100644 --- a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -280,7 +280,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.childProcessSetting.timeoutSetting.timeExpression ?? ''; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); @@ -346,12 +346,12 @@ const loadFormInfo = async () => { }; const getIsoTimeDuration = () => { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; diff --git a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue index ccf9f45ab..e837251e6 100644 --- a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue +++ b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/delay-timer-node-config.vue @@ -83,12 +83,12 @@ function getShowText(): string { // 获取ISO时间格式 function getIsoTimeDuration() { - let strTimeDuration = 'PT'; + let strTimeDuration = 'P'; if (configForm.value.timeUnit === TimeUnitType.MINUTE) { - strTimeDuration += `${configForm.value.timeDuration}M`; + strTimeDuration += `T${configForm.value.timeDuration}M`; } if (configForm.value.timeUnit === TimeUnitType.HOUR) { - strTimeDuration += `${configForm.value.timeDuration}H`; + strTimeDuration += `T${configForm.value.timeDuration}H`; } if (configForm.value.timeUnit === TimeUnitType.DAY) { strTimeDuration += `${configForm.value.timeDuration}D`; @@ -134,7 +134,7 @@ function openDrawer(node: SimpleFlowNode) { // 固定时长 if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { const strTimeDuration = node.delaySetting.delayTime; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); diff --git a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue index e46348248..0befb8c67 100644 --- a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -402,7 +402,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) { configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { const strTimeDuration = node.timeoutHandler.timeDuration; - const parseTime = strTimeDuration.slice(2, -1); + const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? ''; const parseTimeUnit = strTimeDuration.slice(-1); configForm.value.timeDuration = Number.parseInt(parseTime); timeUnit.value = convertTimeUnit(parseTimeUnit); diff --git a/apps/web-ele/src/views/bpm/oa/leave/create.vue b/apps/web-ele/src/views/bpm/oa/leave/create.vue index 7f08c6966..6d1b6926d 100644 --- a/apps/web-ele/src/views/bpm/oa/leave/create.vue +++ b/apps/web-ele/src/views/bpm/oa/leave/create.vue @@ -21,7 +21,7 @@ import { } from 'element-plus'; import { getProcessDefinition } from '#/api/bpm/definition'; -import { createLeave, getLeave, updateLeave } from '#/api/bpm/oa/leave'; +import { createLeave, getLeave } from '#/api/bpm/oa/leave'; import { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance'; import { $t } from '#/locales'; import { router } from '#/router'; @@ -95,9 +95,7 @@ async function onSubmit() { }; try { formLoading.value = true; - await (formData.value?.id - ? updateLeave(submitData) - : createLeave(submitData)); + await createLeave(submitData); // 关闭并提示 ElMessage.success($t('ui.actionMessage.operationSuccess')); await closeCurrentTab(); diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/index.vue b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue index 8e63adaf1..d5f1dcd81 100644 --- a/apps/web-ele/src/views/bpm/processInstance/detail/index.vue +++ b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue @@ -42,7 +42,7 @@ import { registerComponent } from '#/utils'; import ProcessInstanceBpmnViewer from './modules/bpm-viewer.vue'; import ProcessInstanceOperationButton from './modules/operation-button.vue'; -import ProcessssPrint from './modules/process-print.vue'; +import ProcessPrint from './modules/process-print.vue'; import ProcessInstanceSimpleViewer from './modules/simple-bpm-viewer.vue'; import BpmProcessInstanceTaskList from './modules/task-list.vue'; import ProcessInstanceTimeline from './modules/time-line.vue'; @@ -200,7 +200,7 @@ const refresh = () => { }; const [PrintModal, printModalApi] = useVbenModal({ - connectedComponent: ProcessssPrint, + connectedComponent: ProcessPrint, destroyOnClose: true, }); @@ -343,7 +343,12 @@ onMounted(async () => { - +