From 856f10107b7681f91114dc48991ebd121a3a8c3f Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 21 五月 2026 15:20:30 +0800
Subject: [PATCH] 查询条件分类查询区分

---
 src/pages/oa/ApproveManage/approve-list/_components/ApproveInstanceDetailBody.vue |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/pages/oa/ApproveManage/approve-list/_components/ApproveInstanceDetailBody.vue b/src/pages/oa/ApproveManage/approve-list/_components/ApproveInstanceDetailBody.vue
index da62d09..72d30b6 100644
--- a/src/pages/oa/ApproveManage/approve-list/_components/ApproveInstanceDetailBody.vue
+++ b/src/pages/oa/ApproveManage/approve-list/_components/ApproveInstanceDetailBody.vue
@@ -146,6 +146,7 @@
     computeLeaveDurationDisplay,
     computeOvertimeHoursDisplay,
   } from "../../../_utils/approvalModuleApplyExtras.js";
+  import { resolveInstanceFormPayload } from "../../../_utils/approvalModuleListSearch.js";
   import {
     businessStatusTagType,
     businessStatusText,
@@ -161,7 +162,6 @@
     taskStatusTagType,
     taskStatusText,
   } from "../../../_utils/approveListUtils.js";
-  import { parseApprovalFormConfig } from "../../../_utils/approvalFormField.js";
 
   const props = defineProps({
     row: { type: Object, default: () => ({}) },
@@ -186,27 +186,25 @@
   const statusTagType = status =>
     isBusinessModule.value ? businessStatusTagType(status) : instanceStatusTagType(status);
 
-  const displayFields = computed(() =>
-    resolveInstanceDisplayFields(props.row?.formConfig)
-  );
+  const displayFields = computed(() => resolveInstanceDisplayFields(props.row));
 
   const moduleExtraRows = computed(() => {
     const rows = [];
-    const cfg = parseApprovalFormConfig(props.row?.formConfig);
-    const payload = {};
-    (cfg.fields || []).forEach(f => {
-      if (f?.key) payload[f.key] = f.value ?? "";
+    const { fields, formPayload } = resolveInstanceFormPayload(props.row);
+    const payload = { ...formPayload };
+    (fields || []).forEach(f => {
+      if (f?.key && payload[f.key] == null) payload[f.key] = f.value ?? "";
     });
     if (props.moduleKey === APPROVAL_MODULE_KEYS.LEAVE) {
       const balance = payload.leaveBalanceDays;
       if (balance != null && balance !== "") {
         rows.push({ label: "鍋囨湡浣欓", value: `${balance} 澶ー });
       }
-      const days = computeLeaveDurationDisplay(cfg.fields, payload);
+      const days = computeLeaveDurationDisplay(fields, payload);
       if (days) rows.push({ label: "璇峰亣鏃堕暱", value: `${days} 澶ー });
     }
     if (props.moduleKey === APPROVAL_MODULE_KEYS.OVERTIME) {
-      const hours = computeOvertimeHoursDisplay(cfg.fields, payload);
+      const hours = computeOvertimeHoursDisplay(fields, payload);
       if (hours) rows.push({ label: "鍔犵彮鏃堕暱", value: `${hours} 灏忔椂` });
     }
     if (props.moduleKey === APPROVAL_MODULE_KEYS.TRANSFER) {

--
Gitblit v1.9.3