yxk-20260527-党委会发起流程:

在发起流程弹窗中新增“是否急件”,像 deadline 一样回显并允许修改。修改后的 urgencyLevel 只写入流程提交数据。
This commit is contained in:
ye1023
2026-05-27 09:44:58 +08:00
parent 5f75a6dc85
commit 8da05bb6b3
2 changed files with 26 additions and 1 deletions
@@ -30,6 +30,16 @@
/>
</a-form-item>
<a-form-item v-if="showUrgencyLevelField" label="是否急件">
<JDictSelectTag
v-model:value="formData.urgencyLevel"
dictCode="yn"
placeholder="请选择是否急件"
allow-clear
:getPopupContainer="(node) => node?.parentNode"
/>
</a-form-item>
<template v-if="showSuoleaderFields">
<a-form-item label="是否所办领导审批">
<j-switch v-model:value="formData.isNeedAppro" />
@@ -91,6 +101,8 @@
supDeptleaderid?: string | string[];
showDeadlineField?: boolean;
deadline?: string | Date;
showUrgencyLevelField?: boolean;
urgencyLevel?: string | number;
}
interface DeptOption {
@@ -107,6 +119,7 @@
const deptOptions = ref<DeptOption[]>([]);
const showSuoleaderFields = ref(false);
const showDeadlineField = ref(false);
const showUrgencyLevelField = ref(false);
const formData = reactive({
triggerMode: 'immediate',
intervalType: undefined as number | string | undefined,
@@ -116,6 +129,7 @@
isNeedAppro: '0',
supDeptleaderid: '' as string | string[],
deadline: undefined as string | undefined,
urgencyLevel: '0' as string | number,
});
function resetForm() {
@@ -127,9 +141,11 @@
formData.isNeedAppro = '0';
formData.supDeptleaderid = '';
formData.deadline = undefined;
formData.urgencyLevel = '0';
deptOptions.value = [];
showSuoleaderFields.value = false;
showDeadlineField.value = false;
showUrgencyLevelField.value = false;
}
function normalizeDeptOptions(options: DeptOption[] = []) {
@@ -171,6 +187,9 @@
formData.supDeptleaderid = data.supDeptleaderid || '';
showDeadlineField.value = !!data.showDeadlineField;
formData.deadline = normalizeDeadlineValue(data.deadline);
showUrgencyLevelField.value = !!data.showUrgencyLevelField;
// 急件标记只作为流程发起参数传出,不在弹窗内改写业务表数据。
formData.urgencyLevel = data.urgencyLevel ?? '0';
if (String(formData.isNeedAppro) !== '1') {
formData.supDeptleaderid = '';
}
@@ -218,6 +237,7 @@
isNeedAppro: showSuoleaderFields.value ? formData.isNeedAppro : undefined,
supDeptleaderid: showSuoleaderFields.value ? (String(formData.isNeedAppro) === '1' ? formData.supDeptleaderid : '') : undefined,
deadline: showDeadlineField.value ? formData.deadline : undefined,
urgencyLevel: showUrgencyLevelField.value ? formData.urgencyLevel : undefined,
},
});
handleCancel();
@@ -440,6 +440,8 @@
supDeptleaderid: record?.supDeptleaderid,
showDeadlineField: true,
deadline: record?.deadline,
showUrgencyLevelField: true,
urgencyLevel: record?.urgencyLevel,
});
}
@@ -509,6 +511,7 @@
};
const nextSuperviseCount = getNextSuperviseCount(record.superviseCount);
const selectedDeadline = options.deadline || record.deadline;
const selectedUrgencyLevel = options.urgencyLevel ?? record.urgencyLevel ?? '0';
const defaultDeptIds = getResponsibleDeptIds(record);
const flowJsonData = {
...record,
@@ -516,6 +519,8 @@
supDeptleaderid: options.supDeptleaderid ?? record.supDeptleaderid ?? '',
superviseCount: nextSuperviseCount,
deadline: selectedDeadline,
// 发起流程时允许临时调整急件标记,仅写入流程变量和流程中间表。
urgencyLevel: selectedUrgencyLevel,
};
const params = {
@@ -535,7 +540,7 @@
businessId: record.id,
title: record.title,
content: record.content,
urgencyLevel: record.urgencyLevel,
urgencyLevel: selectedUrgencyLevel,
deptId: options.deptId || defaultDeptIds,
deptLeaderId: record.responDeptid,
requireFinishDate: formatDate(selectedDeadline, 'YYYY-MM-DD'),