yyb
2026-05-21 856f10107b7681f91114dc48991ebd121a3a8c3f
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) {