yyb
2026-05-19 9d89dedf542a7b9f8e2549c44723771133f79ef2
src/pages/oa/ApproveManage/approve-template/index.vue
@@ -48,8 +48,8 @@
          <up-divider />
          <view class="item-details">
            <view class="detail-row">
              <text class="detail-label">模板类型</text>
              <text class="detail-value">{{ templateTypeText(item.templateType) }}</text>
              <text class="detail-label">审批类型</text>
              <text class="detail-value">{{ businessTypeText(item.businessType) }}</text>
            </view>
            <view class="detail-row">
              <text class="detail-label">审批节点</text>
@@ -115,8 +115,14 @@
    deleteApprovalTemplate,
    listApprovalTemplatePage,
  } from "@/api/oa/approvalTemplate.js";
  import {
    buildTypeLabelMap,
    fetchApprovalTemplateTypes,
    getTemplateTypeLabel,
  } from "../../_utils/approvalTemplateType.js";
  const EDIT_STORAGE_KEY = "oa_approve_template_edit_row";
  const typeLabelMap = ref({});
  const queryParams = reactive({
    templateName: "",
@@ -155,12 +161,15 @@
    return "info";
  };
  const templateTypeText = type => {
    const val = Number(type);
    if (val === 0) return "系统内置";
    if (val === 1) return "自定义";
    return "-";
  };
  const businessTypeText = type =>
    getTemplateTypeLabel(type, typeLabelMap.value);
  const loadTemplateTypes = () =>
    fetchApprovalTemplateTypes()
      .then(opts => {
        typeLabelMap.value = buildTypeLabelMap(opts);
      })
      .catch(() => {});
  const nodeCount = item => {
    const count = item?.nodes?.length;
@@ -266,6 +275,7 @@
  };
  onShow(() => {
    loadTemplateTypes();
    handleSearch();
  });
</script>