From 1d44f1083701f0978baa2f1a0e1256dfa69c369c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 28 八月 2026 23:37:42 +0800
Subject: [PATCH] 天津_建诚恒商贸 1.备件管理-新增独立备件出库功能入口,支持直接完成备件领用出库操作。 2.设备保养-支持按日期分组折叠展示,分组条目可展开查看明细;单条明细行末尾增加【保养完成】操作按钮,可单独办结单条保养任务;折叠汇总状态下,新增【一键保养完成】批量操作按钮,快速办结当前分组全部保养项。 3.设备巡检-按日期分组折叠展示,分组支持展开查看明细;每条巡检明细后增设【巡检完成】按钮,支持单独办结单条巡检记录;分组折叠未展开状态下,提供【一键巡检完成】批量操作,统一办结该分组下所有巡检任务。 4.增值税对比-优化数据展示逻辑,列表展示各订单增值税明细;页面右侧新增柱状可视化图表,直观对比进销项增值税数据。 5.管理驾驶舱-指标修改:将顶部「销售产品数」调整为「销售订单数」;时间筛选:页面左上角新增日期范围下拉筛选控件,所有统计指标标注当前筛选时段;

---
 src/views/officeProcessAutomation/ApproveManage/approve-shared/useApprovalTemplateBinding.js |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-shared/useApprovalTemplateBinding.js b/src/views/officeProcessAutomation/ApproveManage/approve-shared/useApprovalTemplateBinding.js
index de056d2..d49ec53 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-shared/useApprovalTemplateBinding.js
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-shared/useApprovalTemplateBinding.js
@@ -17,6 +17,7 @@
 } from "../approve-list/approveListConstants.js";
 import {
   getApprovalModuleConfig,
+  getModuleMatchingBusinessTypes,
   resolveModuleBusinessType,
 } from "./approvalModuleRegistry.js";
 import {
@@ -60,10 +61,29 @@
     return "";
   });
 
+  const matchingBusinessTypes = computed(() => {
+    if (fixedBusinessType != null && fixedBusinessType !== "") return [fixedBusinessType];
+    if (isUniversal) {
+      const t = selectedBusinessType.value;
+      return t != null && t !== "" ? [t] : [];
+    }
+    if (moduleKey) {
+      return getModuleMatchingBusinessTypes(moduleKey, businessTypeOptions.value);
+    }
+    const t = resolvedBusinessType.value;
+    return t != null && t !== "" ? [t] : [];
+  });
+
   const templateCards = computed(() => {
-    const type = resolvedBusinessType.value;
-    if (type == null || type === "") return [];
-    return allTemplates.value.filter((card) => matchBusinessTypeValue(card.businessType, type));
+    const types = matchingBusinessTypes.value;
+    if (!types.length) return [];
+    return allTemplates.value.filter((card) =>
+      types.some(
+        (t) =>
+          matchBusinessTypeValue(card.businessType, t) ||
+          matchBusinessTypeValue(card.approvalType, t)
+      )
+    );
   });
 
   const activeTemplate = computed(() => bindingForm.templateSnapshot || null);
@@ -87,7 +107,17 @@
   const selectedBusinessTypeLabel = computed(() => businessTypeLabel(resolvedBusinessType.value));
 
   function countTemplatesByBusinessType(type) {
-    return allTemplates.value.filter((card) => matchBusinessTypeValue(card.businessType, type)).length;
+    const types =
+      moduleKey && !fixedBusinessType
+        ? getModuleMatchingBusinessTypes(moduleKey, businessTypeOptions.value)
+        : [type];
+    return allTemplates.value.filter((card) =>
+      types.some(
+        (t) =>
+          matchBusinessTypeValue(card.businessType, t) ||
+          matchBusinessTypeValue(card.approvalType, t)
+      )
+    ).length;
   }
 
   async function loadTemplates() {

--
Gitblit v1.9.3