liding
5 天以前 fdd776214d77a657f65fb1555637b03b95e82643
src/views/officeProcessAutomation/ReimburseManage/shared/finReimbursementMappers.js
@@ -342,7 +342,7 @@
    createTime: formatReimbursementDateTime(row.createTime),
    expenseDetails: details.map((d) => ({
      ...d,
      expenseSubject: d.expenseCategory,
      expenseSubject: resolveExpenseSubjectValue(d.expenseCategory ?? d.expenseSubject),
    })),
    travel:
      row.travel && typeof row.travel === "object" && Object.keys(row.travel).length
@@ -388,7 +388,7 @@
    createTime: formatReimbursementDateTime(row.createTime),
    expenseDetails: details.map((d) => ({
      ...d,
      expenseSubject: d.expenseCategory,
      expenseSubject: resolveExpenseSubjectValue(d.expenseCategory ?? d.expenseSubject),
    })),
    details,
    nodes: apiNodes,
@@ -413,6 +413,15 @@
  return hit?.label || subject || "";
}
/** 接口返回的 expenseCategory 可能是中文 label,反转为前端 value;已经是 value 则原样返回 */
function resolveExpenseSubjectValue(val) {
  if (!val) return "";
  const byValue = EXPENSE_SUBJECT_OPTIONS.find((x) => x.value === val);
  if (byValue) return val;
  const byLabel = EXPENSE_SUBJECT_OPTIONS.find((x) => x.label === val);
  return byLabel?.value || val;
}
function expenseCategoryToType(category) {
  const hit = EXPENSE_CATEGORY_OPTIONS.find((x) => x.value === category);
  return hit?.label || category || "";