src/views/officeProcessAutomation/ApproveManage/approve-template/approveTemplateConstants.js
@@ -159,16 +159,18 @@
  if (val == null || val === "") return "";
  if (Array.isArray(val) && val.length >= 3) {
    const [y, m, d, h = 0, min = 0, s = 0] = val;
    return dayjs(new Date(y, m - 1, d, h, min, s)).format("YYYY-MM-DD HH:mm:ss");
    // return dayjs(new Date(y, m - 1, d, h, min, s)).format("YYYY-MM-DD HH:mm:ss");
      return dayjs(new Date(y, m - 1, d, h, min, s)).format("YYYY-MM-DD");
  }
  if (typeof val === "number") {
    const d = val > 1e12 ? dayjs(val) : dayjs.unix(val);
    return d.isValid() ? d.format("YYYY-MM-DD HH:mm:ss") : "";
    return d.isValid() ? d.format("YYYY-MM-DD") : "";
  }
  const s = String(val).trim();
  if (!s) return "";
  const parsed = dayjs(s.includes("T") ? s : s.replace(/-/g, "/"));
  return parsed.isValid() ? parsed.format("YYYY-MM-DD HH:mm:ss") : s;
  return parsed.isValid() ? parsed.format("YYYY-MM-DD") : s;
}
export function formatDisplayTime(val) {
@@ -343,13 +345,31 @@
  return { ok: true, nodes, name };
}
export function flowNodesSummary(nodes) {
/** 节点层级中文序号:一级 / 二级 / … */
const LEVEL_TEXT = ["一级", "二级", "三级", "四级", "五级", "六级", "七级", "八级", "九级", "十级"];
export function nodeLevelText(index) {
  return LEVEL_TEXT[index] || `第${index + 1}级`;
}
/**
 * 审批节点名称:按「审批类型 + 层级」命名,例如「发货审批·一级」。
 * @param {string} typeName 审批类型/模板名称,如「发货审批」
 * @param {number} index    0 基节点序号
 */
export function nodeDisplayName(typeName, index) {
  const level = nodeLevelText(index);
  const type = (typeName || "").trim();
  return type ? `${type}·${level}` : level;
}
export function flowNodesSummary(nodes, typeName = "") {
  const list = normalizeFlowNodes(nodes);
  if (!list.length) return "—";
  return list
    .map((n, i) => {
      const names = n.approvers.map((a) => a.approverName || "未命名").join("、") || "未配置";
      return `节点${i + 1}(${nodeSignModeLabel(n.signMode)}:${names})`;
      return `${nodeDisplayName(typeName, i)}(${nodeSignModeLabel(n.signMode)}:${names})`;
    })
    .join(" → ");
}