| | |
| | | [APPROVAL_MODULE_KEYS.RESIGN]: { |
| | | label: "离职申请", |
| | | approvalType: "resign", |
| | | typeLabels: ["离职", "离职申请"], |
| | | typeLabels: ["离职", "离职申请", "离职审批"], |
| | | }, |
| | | [APPROVAL_MODULE_KEYS.WORK_HANDOVER]: { |
| | | label: "工作交接", |
| | | approvalType: "work_handover", |
| | | typeLabels: ["工作交接", "交接"], |
| | | typeLabels: ["工作交接", "交接", "工作交接审批"], |
| | | }, |
| | | [APPROVAL_MODULE_KEYS.LEAVE]: { |
| | | label: "请假申请", |
| | | approvalType: "leave", |
| | | typeLabels: ["请假", "请假申请"], |
| | | typeLabels: ["请假", "请假申请", "请假审批"], |
| | | }, |
| | | [APPROVAL_MODULE_KEYS.OVERTIME]: { |
| | | label: "加班申请", |
| | | approvalType: "overtime", |
| | | typeLabels: ["加班", "加班申请"], |
| | | typeLabels: ["加班", "加班申请", "加班审批"], |
| | | }, |
| | | [APPROVAL_MODULE_KEYS.TRAVEL_REIMBURSE]: { |
| | | label: "差旅报销", |
| | |
| | | |
| | | return cfg.approvalType || null; |
| | | } |
| | | |
| | | /** 收集与模块相关的全部 businessType 取值(枚举值 + approvalType),用于模板列表过滤 */ |
| | | export function getModuleMatchingBusinessTypes(moduleKey, typeOptions = []) { |
| | | const cfg = getApprovalModuleConfig(moduleKey); |
| | | if (!cfg) return []; |
| | | |
| | | const values = new Set(); |
| | | const primary = resolveModuleBusinessType(moduleKey, typeOptions); |
| | | if (primary != null && primary !== "") values.add(primary); |
| | | if (cfg.approvalType) values.add(cfg.approvalType); |
| | | |
| | | const labels = [cfg.label, ...(cfg.typeLabels || [])].filter(Boolean); |
| | | for (const opt of typeOptions || []) { |
| | | const optLabel = String(opt?.label || "").trim(); |
| | | if (!optLabel) continue; |
| | | const matched = labels.some( |
| | | (l) => optLabel === l || optLabel.includes(l) || l.includes(optLabel) |
| | | ); |
| | | if (matched && opt.value != null && opt.value !== "") { |
| | | values.add(opt.value); |
| | | } |
| | | } |
| | | return [...values]; |
| | | } |