!354 fix: [bpm] OA 请假流程重新发起问题修复

Merge pull request !354 from Jason/master
pull/355/head^2
xingyu 2026-06-05 10:22:47 +00:00 committed by Gitee
commit a0735e1bba
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
22 changed files with 64 additions and 63 deletions

View File

@ -21,11 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) {
return requestClient.post('/bpm/oa/leave/create', data); 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) { export async function getLeave(id: number) {
return requestClient.get<BpmOALeaveApi.Leave>(`/bpm/oa/leave/get?id=${id}`); return requestClient.get<BpmOALeaveApi.Leave>(`/bpm/oa/leave/get?id=${id}`);

View File

@ -293,7 +293,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = const strTimeDuration =
node.childProcessSetting.timeoutSetting.timeExpression ?? ''; node.childProcessSetting.timeoutSetting.timeExpression ?? '';
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);
@ -359,12 +359,12 @@ const loadFormInfo = async () => {
}; };
const getIsoTimeDuration = () => { const getIsoTimeDuration = () => {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;

View File

@ -84,12 +84,12 @@ function getShowText(): string {
// ISO // ISO
function getIsoTimeDuration() { function getIsoTimeDuration() {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;
@ -135,7 +135,7 @@ function openDrawer(node: SimpleFlowNode) {
// //
if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = node.delaySetting.delayTime; const strTimeDuration = node.delaySetting.delayTime;
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);

View File

@ -417,7 +417,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) {
configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable;
if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) {
const strTimeDuration = 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); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
timeUnit.value = convertTimeUnit(parseTimeUnit); timeUnit.value = convertTimeUnit(parseTimeUnit);
@ -563,12 +563,12 @@ function useTimeoutHandler() {
if (!configForm.value.timeoutHandlerEnable) { if (!configForm.value.timeoutHandlerEnable) {
return undefined; return undefined;
} }
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (timeUnit.value === TimeUnitType.MINUTE) { if (timeUnit.value === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (timeUnit.value === TimeUnitType.HOUR) { if (timeUnit.value === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (timeUnit.value === TimeUnitType.DAY) { if (timeUnit.value === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;

View File

@ -14,7 +14,7 @@ import { Button, Card, Col, message, Row, Space } from 'ant-design-vue';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { getProcessDefinition } from '#/api/bpm/definition'; 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 { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { router } from '#/router'; import { router } from '#/router';
@ -88,9 +88,7 @@ async function onSubmit() {
}; };
try { try {
formLoading.value = true; formLoading.value = true;
await (formData.value?.id await createLeave(submitData);
? updateLeave(submitData)
: createLeave(submitData));
// //
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
await closeCurrentTab(); await closeCurrentTab();

View File

@ -198,7 +198,7 @@ function shouldShowCustomUserSelect(
function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) { function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) {
return ( return (
task.reason && task.reason &&
[BpmNodeTypeEnum.END_EVENT_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( [BpmNodeTypeEnum.START_USER_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes(
nodeType, nodeType,
) )
); );

View File

@ -21,11 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) {
return requestClient.post('/bpm/oa/leave/create', data); 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) { export async function getLeave(id: number) {
return requestClient.get<BpmOALeaveApi.Leave>(`/bpm/oa/leave/get?id=${id}`); return requestClient.get<BpmOALeaveApi.Leave>(`/bpm/oa/leave/get?id=${id}`);

View File

@ -292,7 +292,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = const strTimeDuration =
node.childProcessSetting.timeoutSetting.timeExpression ?? ''; node.childProcessSetting.timeoutSetting.timeExpression ?? '';
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);
@ -358,12 +358,12 @@ const loadFormInfo = async () => {
}; };
const getIsoTimeDuration = () => { const getIsoTimeDuration = () => {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;

View File

@ -83,12 +83,12 @@ function getShowText(): string {
// ISO // ISO
function getIsoTimeDuration() { function getIsoTimeDuration() {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;
@ -134,7 +134,7 @@ function openDrawer(node: SimpleFlowNode) {
// //
if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = node.delaySetting.delayTime; const strTimeDuration = node.delaySetting.delayTime;
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);

View File

@ -416,7 +416,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) {
configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable;
if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) {
const strTimeDuration = 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); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
timeUnit.value = convertTimeUnit(parseTimeUnit); timeUnit.value = convertTimeUnit(parseTimeUnit);

View File

@ -14,7 +14,7 @@ import { Button, Card, Col, message, Row, Space } from 'antdv-next';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { getProcessDefinition } from '#/api/bpm/definition'; 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 { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { router } from '#/router'; import { router } from '#/router';
@ -88,9 +88,7 @@ async function onSubmit() {
}; };
try { try {
formLoading.value = true; formLoading.value = true;
await (formData.value?.id await createLeave(submitData);
? updateLeave(submitData)
: createLeave(submitData));
// //
message.success($t('ui.actionMessage.operationSuccess')); message.success($t('ui.actionMessage.operationSuccess'));
await closeCurrentTab(); await closeCurrentTab();

View File

@ -205,7 +205,7 @@ function shouldShowCustomUserSelect(
function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) { function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) {
return ( return (
task.reason && task.reason &&
[BpmNodeTypeEnum.END_EVENT_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( [BpmNodeTypeEnum.START_USER_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes(
nodeType, nodeType,
) )
); );

View File

@ -21,10 +21,6 @@ export async function createLeave(data: BpmOALeaveApi.Leave) {
return requestClient.post('/bpm/oa/leave/create', data); 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) { export async function getLeave(id: number) {

View File

@ -280,7 +280,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.timeoutType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = const strTimeDuration =
node.childProcessSetting.timeoutSetting.timeExpression ?? ''; node.childProcessSetting.timeoutSetting.timeExpression ?? '';
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);
@ -346,12 +346,12 @@ const loadFormInfo = async () => {
}; };
const getIsoTimeDuration = () => { const getIsoTimeDuration = () => {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;

View File

@ -83,12 +83,12 @@ function getShowText(): string {
// ISO // ISO
function getIsoTimeDuration() { function getIsoTimeDuration() {
let strTimeDuration = 'PT'; let strTimeDuration = 'P';
if (configForm.value.timeUnit === TimeUnitType.MINUTE) { if (configForm.value.timeUnit === TimeUnitType.MINUTE) {
strTimeDuration += `${configForm.value.timeDuration}M`; strTimeDuration += `T${configForm.value.timeDuration}M`;
} }
if (configForm.value.timeUnit === TimeUnitType.HOUR) { if (configForm.value.timeUnit === TimeUnitType.HOUR) {
strTimeDuration += `${configForm.value.timeDuration}H`; strTimeDuration += `T${configForm.value.timeDuration}H`;
} }
if (configForm.value.timeUnit === TimeUnitType.DAY) { if (configForm.value.timeUnit === TimeUnitType.DAY) {
strTimeDuration += `${configForm.value.timeDuration}D`; strTimeDuration += `${configForm.value.timeDuration}D`;
@ -134,7 +134,7 @@ function openDrawer(node: SimpleFlowNode) {
// //
if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) { if (configForm.value.delayType === DelayTypeEnum.FIXED_TIME_DURATION) {
const strTimeDuration = node.delaySetting.delayTime; const strTimeDuration = node.delaySetting.delayTime;
const parseTime = strTimeDuration.slice(2, -1); const parseTime = strTimeDuration.match(/\d+/)?.[0] ?? '';
const parseTimeUnit = strTimeDuration.slice(-1); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
configForm.value.timeUnit = convertTimeUnit(parseTimeUnit); configForm.value.timeUnit = convertTimeUnit(parseTimeUnit);

View File

@ -402,7 +402,7 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) {
configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable; configForm.value.timeoutHandlerEnable = node.timeoutHandler?.enable;
if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) { if (node.timeoutHandler?.enable && node.timeoutHandler?.timeDuration) {
const strTimeDuration = 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); const parseTimeUnit = strTimeDuration.slice(-1);
configForm.value.timeDuration = Number.parseInt(parseTime); configForm.value.timeDuration = Number.parseInt(parseTime);
timeUnit.value = convertTimeUnit(parseTimeUnit); timeUnit.value = convertTimeUnit(parseTimeUnit);

View File

@ -21,7 +21,7 @@ import {
} from 'element-plus'; } from 'element-plus';
import { getProcessDefinition } from '#/api/bpm/definition'; 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 { getApprovalDetail as getApprovalDetailApi } from '#/api/bpm/processInstance';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { router } from '#/router'; import { router } from '#/router';
@ -95,9 +95,7 @@ async function onSubmit() {
}; };
try { try {
formLoading.value = true; formLoading.value = true;
await (formData.value?.id await createLeave(submitData);
? updateLeave(submitData)
: createLeave(submitData));
// //
ElMessage.success($t('ui.actionMessage.operationSuccess')); ElMessage.success($t('ui.actionMessage.operationSuccess'));
await closeCurrentTab(); await closeCurrentTab();

View File

@ -42,7 +42,7 @@ import { registerComponent } from '#/utils';
import ProcessInstanceBpmnViewer from './modules/bpm-viewer.vue'; import ProcessInstanceBpmnViewer from './modules/bpm-viewer.vue';
import ProcessInstanceOperationButton from './modules/operation-button.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 ProcessInstanceSimpleViewer from './modules/simple-bpm-viewer.vue';
import BpmProcessInstanceTaskList from './modules/task-list.vue'; import BpmProcessInstanceTaskList from './modules/task-list.vue';
import ProcessInstanceTimeline from './modules/time-line.vue'; import ProcessInstanceTimeline from './modules/time-line.vue';
@ -200,7 +200,7 @@ const refresh = () => {
}; };
const [PrintModal, printModalApi] = useVbenModal({ const [PrintModal, printModalApi] = useVbenModal({
connectedComponent: ProcessssPrint, connectedComponent: ProcessPrint,
destroyOnClose: true, destroyOnClose: true,
}); });
@ -343,7 +343,12 @@ onMounted(async () => {
</ElCol> </ElCol>
</ElRow> </ElRow>
</ElTabPane> </ElTabPane>
<ElTabPane label="流程图" name="diagram" class="pb-20 pr-3"> <ElTabPane
label="流程图"
name="diagram"
:lazy="false"
class="pb-20 pr-3"
>
<ProcessInstanceSimpleViewer <ProcessInstanceSimpleViewer
v-show=" v-show="
processDefinition.modelType && processDefinition.modelType &&
@ -420,7 +425,21 @@ onMounted(async () => {
} }
:deep(.el-tabs__content) { :deep(.el-tabs__content) {
display: flex;
flex: 1;
flex-direction: column;
overflow-y: auto;
}
:deep(.el-tab-pane) {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
} }
/* 流程图 tab 特殊处理:需要内部 flex 布局 */
:deep(#pane-diagram) {
display: flex;
flex-direction: column;
overflow-y: auto;
}
</style> </style>

View File

@ -33,6 +33,7 @@ watch(
view.value = newModelView; view.value = newModelView;
} }
}, },
{ immediate: true },
); );
/** 监听 bpmnXml */ /** 监听 bpmnXml */

View File

@ -278,7 +278,7 @@ async function openPopover(type: string) {
} }
} }
Object.keys(popOverVisible.value).forEach((item) => { Object.keys(popOverVisible.value).forEach((item) => {
if (popOverVisible.value[item]) popOverVisible.value[item] = item === type; popOverVisible.value[item] = item === type;
}); });
if (type === 'approve') { if (type === 'approve') {
// form-create fApi // form-create fApi

View File

@ -56,6 +56,7 @@ watch(
simpleModel.value = newModelView.simpleModel || {}; simpleModel.value = newModelView.simpleModel || {};
} }
}, },
{ immediate: true },
); );
/** 监控模型结构数据 */ /** 监控模型结构数据 */

View File

@ -205,7 +205,7 @@ function shouldShowCustomUserSelect(
function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) { function shouldShowApprovalReason(task: any, nodeType: BpmNodeTypeEnum) {
return ( return (
task.reason && task.reason &&
[BpmNodeTypeEnum.END_EVENT_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes( [BpmNodeTypeEnum.START_USER_NODE, BpmNodeTypeEnum.USER_TASK_NODE].includes(
nodeType, nodeType,
) )
); );