diff --git a/src/composables/useDefaultApprovalReason.ts b/src/composables/useDefaultApprovalReason.ts new file mode 100644 index 0000000..865be19 --- /dev/null +++ b/src/composables/useDefaultApprovalReason.ts @@ -0,0 +1,139 @@ +/** + * 默认审批意见 — 统一管理各 BPM 表单的审批意见模板 + * + * 层级: + * 通用 → 跨领域复用 + * 巡视整改 → DqInspectTask 特有 + * 习讲话/党委事项 → BgXiSpeak / BgPartymatter 特有 + */ + +// ========== 工具函数 ========== + +export function splitDeptNames(value: any): string[] { + return String(value || '') + .split(/[,,;;、]/) + .map((item) => item.trim()) + .filter(Boolean); +} + +export function normalizeDeptNames(value: any): string { + return splitDeptNames(value).join('、'); +} + +// ========== 通用审批意见 ========== + +export function buildApproveReason() { + return '同意。'; +} + +export function buildDeptHandlerFeedbackReason() { + return '已完成反馈,请领导审批。'; +} + +export function buildDeptLeaderAssignReason(userNameText?: string) { + return userNameText ? `请${userNameText}办理。` : ''; +} + +export function buildDeptLeaderDirectFeedbackReason() { + return '已完成反馈。'; +} + +export function buildSuperviseConfirmAllReason() { + return '已确认全部反馈事项。'; +} + +export function buildSuperviseCheckReason() { + return '已核查。'; +} + +export function buildJiJianCheckReason() { + return '已监察。'; +} + +// ========== 巡视整改领域 ========== + +export function buildCollectDoneReason() { + return '已收集完成,同意。'; +} + +export function buildSecretaryApprovedReason() { + return '党委书记已审批。'; +} + +export function buildDisciplineSecretaryApprovedReason() { + return '纪委书记已审批。'; +} + +export function buildDeptLeaderApprovedReason() { + return '责任部门负责人已审批。'; +} + +export function buildChargeDeptApprovedReason() { + return '责任经办部门已审批。'; +} + +export function buildChargeLeaderApprovedReason() { + return '分管所领导已审批。'; +} + +export function buildAlreadyApprovedReason() { + return '已审批。'; +} + +export function buildAlreadyReviewedReason() { + return '已审查。'; +} + +export function buildPleaseDeptHandleReason() { + return '请相关部门办理。'; +} + +export function buildLaunchSupervisionReason() { + return '已发起督办流程。'; +} + +export function buildPartyMassesConfirmedReason() { + return '党群经办人已确认。'; +} + +export function buildAssignProcessReason() { + return '分配人办理流程。'; +} + +export function buildJiJianCheckedReason() { + return '纪检经办人已监察。'; +} + +// ========== 习讲话/党委事项领域 ========== + +// 目前全部复用通用审批意见,如有领域特有意见在此追加 + +/** + * 返回常用 builder 集合,组件按需解构使用 + */ +export function useDefaultApprovalReason() { + return { + splitDeptNames, + normalizeDeptNames, + buildApproveReason, + buildDeptHandlerFeedbackReason, + buildDeptLeaderAssignReason, + buildDeptLeaderDirectFeedbackReason, + buildSuperviseConfirmAllReason, + buildSuperviseCheckReason, + buildJiJianCheckReason, + buildCollectDoneReason, + buildSecretaryApprovedReason, + buildDisciplineSecretaryApprovedReason, + buildDeptLeaderApprovedReason, + buildChargeDeptApprovedReason, + buildChargeLeaderApprovedReason, + buildAlreadyApprovedReason, + buildAlreadyReviewedReason, + buildPleaseDeptHandleReason, + buildLaunchSupervisionReason, + buildPartyMassesConfirmedReason, + buildAssignProcessReason, + buildJiJianCheckedReason, + }; +} diff --git a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue index 67c9a5f..35b5a5f 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakBPMForm.vue @@ -285,6 +285,16 @@ import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue'; import DeptRoleUserSelectRadioGroup from '/@/components/semri/userComponent/DeptRoleUserSelectRadioGroup.vue'; import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervision'; +import { + buildApproveReason, + buildDeptHandlerFeedbackReason, + buildDeptLeaderAssignReason, + buildDeptLeaderDirectFeedbackReason, + buildSuperviseConfirmAllReason, + buildSuperviseCheckReason, + buildJiJianCheckReason, + normalizeDeptNames, +} from '/@/composables/useDefaultApprovalReason'; const { isDisabledAuth, hasPermission, initBpmFormData } = usePermission(); const userStore = useUserStore(); @@ -437,45 +447,39 @@ import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervi // ==================== 默认审批意见 ==================== const handleReasonTemplateMap: Record string> = { - // TODO: 填写各节点的 taskDefKey // 部门负责人审批 / 所党委审批 / 督办部门负责人审批 / 纪检负责人审批 - // 'Task_': buildApproveReason, - // 部门经办人反馈完成情况 / 收集流程部门经办人填写 / 反馈流程部门经办人填写反馈 - // 'Task_': buildDeptHandlerFeedbackReason, - // 部门负责人接受任务并分配 - // 'Task_': buildDeptLeaderAssignReason, - // 部门负责人直接反馈 - // 'Task_': buildDeptLeaderDirectFeedbackReason, - // 督办部门经办人确认全部反馈事项 - // 'Task_': buildSuperviseConfirmAllReason, - // 督办经办人核查 / 反馈流程督办经办人核查 - // 'Task_': buildSuperviseCheckReason, - // 纪检经办人监察 - // 'Task_': buildJiJianCheckReason, Task_15sm4w5: buildApproveReason, Task_00i7rrp: buildApproveReason, - Task_00v3pcv: buildDeptHandlerFeedbackReason, Task_04bazej: buildApproveReason, - Task_08zb04x: buildDeptHandlerFeedbackReason, Task_0bj578x: buildApproveReason, - Task_0jrgrzs: buildDeptHandlerFeedbackReason, Task_0mf32ge: buildApproveReason, Task_0zmn6ik: buildApproveReason, Task_133caii: buildApproveReason, - Task_15sm4w5: buildApproveReason, Task_175afz2: buildApproveReason, Task_1ogk921: buildApproveReason, - Task_1v9ce78: buildDeptLeaderAssignReason, Task_1w4vxgc: buildApproveReason, Task_1wfkrvj: buildApproveReason, // 反馈流程节点 Task_005iiwi: buildApproveReason, Task_06di2wf: buildApproveReason, - Task_0bahwr8: buildJiJianCheckReason, - Task_0sialna: buildDeptLeaderDirectFeedbackReason, - Task_12vdqzv: buildDeptHandlerFeedbackReason, - Task_13olnz1: buildSuperviseCheckReason, Task_1l650tz: buildApproveReason, + // 部门经办人反馈完成情况 / 收集流程部门经办人填写 / 反馈流程部门经办人填写反馈 + Task_00v3pcv: buildDeptHandlerFeedbackReason, + Task_08zb04x: buildDeptHandlerFeedbackReason, + Task_0jrgrzs: buildDeptHandlerFeedbackReason, + Task_12vdqzv: buildDeptHandlerFeedbackReason, + // 部门负责人接受任务并分配 + Task_1v9ce78: () => buildDeptLeaderAssignReason( + normalizeDeptNames(subApproveUserNameText.value || subApproveUser.value), + ), + // 部门负责人直接反馈 + Task_0sialna: buildDeptLeaderDirectFeedbackReason, + // 督办部门经办人确认全部反馈事项 + // (暂无映射,预留 buildSuperviseConfirmAllReason) + // 督办经办人核查 / 反馈流程督办经办人核查 + Task_13olnz1: buildSuperviseCheckReason, + // 纪检经办人监察 + Task_0bahwr8: buildJiJianCheckReason, }; const defaultHandleReason = computed(() => { @@ -483,35 +487,6 @@ import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervi return builder ? builder() : ''; }); - function buildApproveReason() { - return '同意。'; - } - - function buildDeptHandlerFeedbackReason() { - return '已完成反馈,请领导审批。'; - } - - function buildDeptLeaderAssignReason() { - const userNameText = normalizeDeptNames(subApproveUserNameText.value || subApproveUser.value); - return userNameText ? `请${userNameText}办理。` : ''; - } - - function buildDeptLeaderDirectFeedbackReason() { - return '已完成反馈。'; - } - - function buildSuperviseConfirmAllReason() { - return '已确认全部反馈事项。'; - } - - function buildSuperviseCheckReason() { - return '已核查。'; - } - - function buildJiJianCheckReason() { - return '已监察。'; - } - onMounted(() => { initFormData(); }); @@ -784,17 +759,6 @@ import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervi .join(','); } - function normalizeDeptNames(value: any) { - return splitDeptNames(value).join('、'); - } - - function splitDeptNames(value: any) { - return String(value || '') - .split(/[,,;;、]/) - .map((item) => item.trim()) - .filter(Boolean); - } - async function resolveSubApproveUserName(value: any) { const resolveVersion = ++userResolveVersion.value; const usernames = normalizeUsernameList(value); diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue index 22776ca..90787a2 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMForm.vue @@ -245,6 +245,23 @@ import SzDeptUserModal from '/@/components/semri/deptUserComponent/SzDeptUserMod import { list as progressList, deleteOne as progressDelete } from '../../inspectProgress/DqInspectProgress.api'; import { usePermission } from '/@/hooks/web/usePermission'; import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervision'; +import { + buildApproveReason, + buildDeptHandlerFeedbackReason, + buildCollectDoneReason, + buildSecretaryApprovedReason, + buildDisciplineSecretaryApprovedReason, + buildDeptLeaderApprovedReason, + buildChargeDeptApprovedReason, + buildChargeLeaderApprovedReason, + buildAlreadyApprovedReason, + buildAlreadyReviewedReason, + buildPleaseDeptHandleReason, + buildLaunchSupervisionReason, + buildPartyMassesConfirmedReason, + buildAssignProcessReason, + buildJiJianCheckedReason, +} from '/@/composables/useDefaultApprovalReason'; import TaskHandleInnerContent from '/@/views/super/bpm/process/personalOffice/myHandleTask/content/TaskHandleInnerContent.vue'; import DqInspectTaskBPMFeedbackModal from './DqInspectTaskBPMFeedbackModal.vue'; import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue'; @@ -289,24 +306,24 @@ import { PARTY_COMMITTEE_DEPT_ID, SDW_LEADER_ROLE_ID } from '/@/constant/supervi const defaultCcUsers = ref>([]); const handleReasonTemplateMap: Record string> = { - Task_0g8sc6n: () => '同意。', - Task_0ixi1rs: () => '已收集完成,同意。', - Task_0l5ik22: () => '同意。', - Task_0mbr735: () => '已完成反馈,请领导审批。', - Task_0mxtg05: () => '已审批。', - Task_14226iy: () => '已审查。', - Task_1c64uvl: () => '请相关部门办理。', - Task_1i99s6v: () => '同意。', - Task_1nj4k7b: () => '已发起督办流程。', + Task_0g8sc6n: buildApproveReason, + Task_0ixi1rs: buildCollectDoneReason, + Task_0l5ik22: buildApproveReason, + Task_0mbr735: buildDeptHandlerFeedbackReason, + Task_0mxtg05: buildAlreadyApprovedReason, + Task_14226iy: buildAlreadyReviewedReason, + Task_1c64uvl: buildPleaseDeptHandleReason, + Task_1i99s6v: buildApproveReason, + Task_1nj4k7b: buildLaunchSupervisionReason, - Task_09qxoto: () => '纪委书记已审批。', - Task_0cfjknn: () => '党委书记已审批。', - Task_0r2vutj: () => '责任经办部门已审批。', - Task_1azpeqj: () => '纪检经办人已监察。', - Task_1cvft2f: () => '党群经办人已确认。', - Task_1k1zt37: () => '分管所领导已审批。', - Task_1k36lmv: () => '责任部门负责人已审批。', - Task_1k6n75g: () => '分配人办理流程。', + Task_09qxoto: buildDisciplineSecretaryApprovedReason, + Task_0cfjknn: buildSecretaryApprovedReason, + Task_0r2vutj: buildChargeDeptApprovedReason, + Task_1azpeqj: buildJiJianCheckedReason, + Task_1cvft2f: buildPartyMassesConfirmedReason, + Task_1k1zt37: buildChargeLeaderApprovedReason, + Task_1k36lmv: buildDeptLeaderApprovedReason, + Task_1k6n75g: buildAssignProcessReason, }; const defaultHandleReason = computed(() => {