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>
<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"> <template v-if="showSuoleaderFields">
<a-form-item label="是否所办领导审批"> <a-form-item label="是否所办领导审批">
<j-switch v-model:value="formData.isNeedAppro" /> <j-switch v-model:value="formData.isNeedAppro" />
@@ -91,6 +101,8 @@
supDeptleaderid?: string | string[]; supDeptleaderid?: string | string[];
showDeadlineField?: boolean; showDeadlineField?: boolean;
deadline?: string | Date; deadline?: string | Date;
showUrgencyLevelField?: boolean;
urgencyLevel?: string | number;
} }
interface DeptOption { interface DeptOption {
@@ -107,6 +119,7 @@
const deptOptions = ref<DeptOption[]>([]); const deptOptions = ref<DeptOption[]>([]);
const showSuoleaderFields = ref(false); const showSuoleaderFields = ref(false);
const showDeadlineField = ref(false); const showDeadlineField = ref(false);
const showUrgencyLevelField = ref(false);
const formData = reactive({ const formData = reactive({
triggerMode: 'immediate', triggerMode: 'immediate',
intervalType: undefined as number | string | undefined, intervalType: undefined as number | string | undefined,
@@ -116,6 +129,7 @@
isNeedAppro: '0', isNeedAppro: '0',
supDeptleaderid: '' as string | string[], supDeptleaderid: '' as string | string[],
deadline: undefined as string | undefined, deadline: undefined as string | undefined,
urgencyLevel: '0' as string | number,
}); });
function resetForm() { function resetForm() {
@@ -127,9 +141,11 @@
formData.isNeedAppro = '0'; formData.isNeedAppro = '0';
formData.supDeptleaderid = ''; formData.supDeptleaderid = '';
formData.deadline = undefined; formData.deadline = undefined;
formData.urgencyLevel = '0';
deptOptions.value = []; deptOptions.value = [];
showSuoleaderFields.value = false; showSuoleaderFields.value = false;
showDeadlineField.value = false; showDeadlineField.value = false;
showUrgencyLevelField.value = false;
} }
function normalizeDeptOptions(options: DeptOption[] = []) { function normalizeDeptOptions(options: DeptOption[] = []) {
@@ -171,6 +187,9 @@
formData.supDeptleaderid = data.supDeptleaderid || ''; formData.supDeptleaderid = data.supDeptleaderid || '';
showDeadlineField.value = !!data.showDeadlineField; showDeadlineField.value = !!data.showDeadlineField;
formData.deadline = normalizeDeadlineValue(data.deadline); formData.deadline = normalizeDeadlineValue(data.deadline);
showUrgencyLevelField.value = !!data.showUrgencyLevelField;
// 急件标记只作为流程发起参数传出,不在弹窗内改写业务表数据。
formData.urgencyLevel = data.urgencyLevel ?? '0';
if (String(formData.isNeedAppro) !== '1') { if (String(formData.isNeedAppro) !== '1') {
formData.supDeptleaderid = ''; formData.supDeptleaderid = '';
} }
@@ -218,6 +237,7 @@
isNeedAppro: showSuoleaderFields.value ? formData.isNeedAppro : undefined, isNeedAppro: showSuoleaderFields.value ? formData.isNeedAppro : undefined,
supDeptleaderid: showSuoleaderFields.value ? (String(formData.isNeedAppro) === '1' ? formData.supDeptleaderid : '') : undefined, supDeptleaderid: showSuoleaderFields.value ? (String(formData.isNeedAppro) === '1' ? formData.supDeptleaderid : '') : undefined,
deadline: showDeadlineField.value ? formData.deadline : undefined, deadline: showDeadlineField.value ? formData.deadline : undefined,
urgencyLevel: showUrgencyLevelField.value ? formData.urgencyLevel : undefined,
}, },
}); });
handleCancel(); handleCancel();
@@ -440,6 +440,8 @@
supDeptleaderid: record?.supDeptleaderid, supDeptleaderid: record?.supDeptleaderid,
showDeadlineField: true, showDeadlineField: true,
deadline: record?.deadline, deadline: record?.deadline,
showUrgencyLevelField: true,
urgencyLevel: record?.urgencyLevel,
}); });
} }
@@ -509,6 +511,7 @@
}; };
const nextSuperviseCount = getNextSuperviseCount(record.superviseCount); const nextSuperviseCount = getNextSuperviseCount(record.superviseCount);
const selectedDeadline = options.deadline || record.deadline; const selectedDeadline = options.deadline || record.deadline;
const selectedUrgencyLevel = options.urgencyLevel ?? record.urgencyLevel ?? '0';
const defaultDeptIds = getResponsibleDeptIds(record); const defaultDeptIds = getResponsibleDeptIds(record);
const flowJsonData = { const flowJsonData = {
...record, ...record,
@@ -516,6 +519,8 @@
supDeptleaderid: options.supDeptleaderid ?? record.supDeptleaderid ?? '', supDeptleaderid: options.supDeptleaderid ?? record.supDeptleaderid ?? '',
superviseCount: nextSuperviseCount, superviseCount: nextSuperviseCount,
deadline: selectedDeadline, deadline: selectedDeadline,
// 发起流程时允许临时调整急件标记,仅写入流程变量和流程中间表。
urgencyLevel: selectedUrgencyLevel,
}; };
const params = { const params = {
@@ -535,7 +540,7 @@
businessId: record.id, businessId: record.id,
title: record.title, title: record.title,
content: record.content, content: record.content,
urgencyLevel: record.urgencyLevel, urgencyLevel: selectedUrgencyLevel,
deptId: options.deptId || defaultDeptIds, deptId: options.deptId || defaultDeptIds,
deptLeaderId: record.responDeptid, deptLeaderId: record.responDeptid,
requireFinishDate: formatDate(selectedDeadline, 'YYYY-MM-DD'), requireFinishDate: formatDate(selectedDeadline, 'YYYY-MM-DD'),