From 552ec6b7d8ccc56c379da195fc6c9c74312b1070 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 22 五月 2026 17:57:46 +0800
Subject: [PATCH] OA部分查询条件变更

---
 src/pages/oa/_utils/approvalModuleRegistry.js |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/src/pages/oa/_utils/approvalModuleRegistry.js b/src/pages/oa/_utils/approvalModuleRegistry.js
index 63d0c59..1019d35 100644
--- a/src/pages/oa/_utils/approvalModuleRegistry.js
+++ b/src/pages/oa/_utils/approvalModuleRegistry.js
@@ -6,14 +6,31 @@
   WORK_HANDOVER: "work_handover",
   LEAVE: "leave",
   OVERTIME: "overtime",
+  TRAVEL_REIMBURSE: "travel_reimburse",
+  COST_REIMBURSE: "cost_reimburse",
+  ENTERPRISE_NEWS: "enterprise_news",
+};
+
+/** 瀹℃壒瀹炰緥 listPage businessType锛堜笌鍚庣绾﹀畾涓�鑷达級 */
+export const APPROVAL_BUSINESS_TYPE = {
+  [APPROVAL_MODULE_KEYS.REGULAR]: 10,
+  [APPROVAL_MODULE_KEYS.TRANSFER]: 11,
+  [APPROVAL_MODULE_KEYS.WORK_HANDOVER]: 13,
+  [APPROVAL_MODULE_KEYS.LEAVE]: 14,
+  [APPROVAL_MODULE_KEYS.OVERTIME]: 15,
+  [APPROVAL_MODULE_KEYS.TRAVEL_REIMBURSE]: 16,
+  [APPROVAL_MODULE_KEYS.COST_REIMBURSE]: 17,
+  [APPROVAL_MODULE_KEYS.ENTERPRISE_NEWS]: 18,
 };
 
 export const APPROVAL_MODULE_REGISTRY = {
   [APPROVAL_MODULE_KEYS.REGULAR]: {
     label: "杞鐢宠",
     approvalType: "regular",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.REGULAR],
     typeLabels: ["杞", "杞鐢宠"],
     listFields: [
+      { label: "瀹℃壒鍗曞彿", prop: "instanceNo" },
       { label: "鍏ヨ亴鏃ユ湡", prop: "entryDate" },
       { label: "杞鏃ユ湡", prop: "regularDate" },
     ],
@@ -21,8 +38,10 @@
   [APPROVAL_MODULE_KEYS.TRANSFER]: {
     label: "璋冨矖鐢宠",
     approvalType: "transfer",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.TRANSFER],
     typeLabels: ["璋冨矖", "璋冨姩", "璋冨矖鐢宠", "璋冨姩鐢宠"],
     listFields: [
+      { label: "瀹℃壒鍗曞彿", prop: "instanceNo" },
       { label: "鍘熷矖浣�", prop: "fromPost" },
       { label: "鐩爣宀椾綅", prop: "toPost" },
     ],
@@ -30,8 +49,10 @@
   [APPROVAL_MODULE_KEYS.WORK_HANDOVER]: {
     label: "宸ヤ綔浜ゆ帴",
     approvalType: "work_handover",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.WORK_HANDOVER],
     typeLabels: ["宸ヤ綔浜ゆ帴", "浜ゆ帴", "宸ヤ綔浜ゆ帴瀹℃壒"],
     listFields: [
+      { label: "瀹℃壒鍗曞彿", prop: "instanceNo" },
       { label: "浜ゆ帴浜�", prop: "handoverTo" },
       { label: "浜ゆ帴浜嬮」", prop: "handoverItems" },
     ],
@@ -39,8 +60,10 @@
   [APPROVAL_MODULE_KEYS.LEAVE]: {
     label: "璇峰亣鐢宠",
     approvalType: "leave",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.LEAVE],
     typeLabels: ["璇峰亣", "璇峰亣鐢宠", "璇峰亣瀹℃壒"],
     listFields: [
+      { label: "瀹℃壒鍗曞彿", prop: "instanceNo" },
       { label: "璇峰亣绫诲瀷", prop: "leaveType" },
       { label: "寮�濮嬫椂闂�", prop: "startTime" },
       { label: "缁撴潫鏃堕棿", prop: "endTime" },
@@ -49,11 +72,34 @@
   [APPROVAL_MODULE_KEYS.OVERTIME]: {
     label: "鍔犵彮鐢宠",
     approvalType: "overtime",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.OVERTIME],
     typeLabels: ["鍔犵彮", "鍔犵彮鐢宠", "鍔犵彮瀹℃壒"],
     listFields: [
+      { label: "瀹℃壒鍗曞彿", prop: "instanceNo" },
       { label: "鍔犵彮鏃ユ湡", prop: "overtimeDate" },
       { label: "鏃堕暱(灏忔椂)", prop: "hours" },
     ],
+  },
+  [APPROVAL_MODULE_KEYS.TRAVEL_REIMBURSE]: {
+    label: "宸梾鎶ラ攢",
+    approvalType: "travel_reimburse",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.TRAVEL_REIMBURSE],
+    typeLabels: ["宸梾", "宸梾鎶ラ攢", "鍑哄樊鎶ラ攢"],
+    listFields: [],
+  },
+  [APPROVAL_MODULE_KEYS.COST_REIMBURSE]: {
+    label: "璐圭敤鎶ラ攢",
+    approvalType: "cost_reimburse",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.COST_REIMBURSE],
+    typeLabels: ["璐圭敤", "璐圭敤鎶ラ攢"],
+    listFields: [],
+  },
+  [APPROVAL_MODULE_KEYS.ENTERPRISE_NEWS]: {
+    label: "浼佷笟鏂伴椈",
+    approvalType: "enterprise_news",
+    businessType: APPROVAL_BUSINESS_TYPE[APPROVAL_MODULE_KEYS.ENTERPRISE_NEWS],
+    typeLabels: ["浼佷笟鏂伴椈", "鏂伴椈", "鏂伴椈鍙戝竷"],
+    listFields: [],
   },
 };
 
@@ -66,7 +112,7 @@
   const cfg = getApprovalModuleConfig(moduleKey);
   if (!cfg) return "";
   if (cfg.businessType != null && cfg.businessType !== "") return cfg.businessType;
-  return cfg.approvalType || "";
+  return APPROVAL_BUSINESS_TYPE[moduleKey] ?? "";
 }
 
 function matchBiz(a, b) {
@@ -77,7 +123,9 @@
 export function resolveModuleBusinessType(moduleKey, typeOptions = []) {
   const cfg = getApprovalModuleConfig(moduleKey);
   if (!cfg) return null;
-  if (cfg.businessType != null && cfg.businessType !== "") return cfg.businessType;
+
+  const fixed = getModuleListBusinessType(moduleKey);
+  if (fixed != null && fixed !== "") return fixed;
 
   const labels = [cfg.label, ...(cfg.typeLabels || [])].filter(Boolean);
   const hitByLabel = (typeOptions || []).find(opt => {
@@ -97,17 +145,19 @@
     if (hitByValue?.value != null && hitByValue.value !== "") return hitByValue.value;
   }
 
-  return cfg.approvalType || null;
+  return null;
 }
 
 export function getModuleMatchingBusinessTypes(moduleKey, typeOptions = []) {
   const cfg = getApprovalModuleConfig(moduleKey);
   if (!cfg) return [];
 
+  const fixed = getModuleListBusinessType(moduleKey);
+  if (fixed != null && fixed !== "") return [fixed];
+
   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 || []) {
@@ -123,13 +173,15 @@
   return [...values];
 }
 
-/** 鍒楄〃椤� moduleKey 涓庤矾鐢� pageKey 瀵圭収 */
 export const PAGE_KEY_TO_MODULE = {
   "HrManage/regular-apply": APPROVAL_MODULE_KEYS.REGULAR,
   "HrManage/transfer-apply": APPROVAL_MODULE_KEYS.TRANSFER,
   "HrManage/work-handover": APPROVAL_MODULE_KEYS.WORK_HANDOVER,
   "AttendManage/leave-apply": APPROVAL_MODULE_KEYS.LEAVE,
   "AttendManage/overtime-apply": APPROVAL_MODULE_KEYS.OVERTIME,
+  "ReimburseManage/travel-reimburse": APPROVAL_MODULE_KEYS.TRAVEL_REIMBURSE,
+  "ReimburseManage/cost-reimburse": APPROVAL_MODULE_KEYS.COST_REIMBURSE,
+  "EnterpriseNews/news-manage": APPROVAL_MODULE_KEYS.ENTERPRISE_NEWS,
 };
 
 export function getModuleKeyFromPageKey(pageKey) {

--
Gitblit v1.9.3