From b9c1609389907ebd10f2f523c2d0922c0c7b1682 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 23 三月 2026 11:46:05 +0800
Subject: [PATCH] 升级app 1.添加功能模块

---
 src/pages/works.vue |  251 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 168 insertions(+), 83 deletions(-)

diff --git a/src/pages/works.vue b/src/pages/works.vue
index 7528e8a..3d7c2c9 100644
--- a/src/pages/works.vue
+++ b/src/pages/works.vue
@@ -1,5 +1,27 @@
 <template>
   <view class="content">
+    <!-- 鍗忓悓鍔炲叕妯″潡 -->
+    <view class="common-module collaboration-module"
+          v-if="hasCollaborationItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">鍗忓悓鍔炲叕</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in collaborationItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
     <!-- 钀ラ攢绠$悊妯″潡 -->
     <view class="common-module marketing-module"
           v-if="hasMarketingItems">
@@ -22,7 +44,7 @@
         </up-grid>
       </view>
     </view>
-    <!--    &lt;!&ndash; 閲囪喘绠$悊妯″潡 &ndash;&gt;-->
+    <!-- 閲囪喘绠$悊妯″潡 -->
     <view class="common-module purchase-module"
           v-if="hasPurchaseItems">
       <view class="module-header">
@@ -34,72 +56,6 @@
         <up-grid :border="false"
                  col="4">
           <up-grid-item v-for="(item, index) in purchaseItems"
-                        :key="index"
-                        @click="handleCommonItemClick(item)">
-            <view class="icon-container">
-              <image :src="item.icon" class="item-icon"></image>
-            </view>
-            <text class="item-label">{{item.label}}</text>
-          </up-grid-item>
-        </up-grid>
-      </view>
-    </view>
-    <!-- &lt;!&ndash; 鍗忓悓鍔炲叕妯″潡 &ndash;&gt; -->
-    <view class="common-module collaboration-module"
-          v-if="hasCollaborationItems">
-      <view class="module-header">
-        <view class="module-title-container">
-          <text class="module-title">鍗忓悓鍔炲叕</text>
-        </view>
-      </view>
-      <view class="module-content">
-        <up-grid :border="false"
-                 col="4">
-          <up-grid-item v-for="(item, index) in collaborationItems"
-                        :key="index"
-                        @click="handleCommonItemClick(item)">
-            <view class="icon-container">
-              <image :src="item.icon" class="item-icon"></image>
-            </view>
-            <text class="item-label">{{item.label}}</text>
-          </up-grid-item>
-        </up-grid>
-      </view>
-    </view>
-    <!-- 瀹夊叏鐢熶骇妯″潡 -->
-    <view class="common-module collaboration-module"
-          v-if="hasSafetyItems">
-      <view class="module-header">
-        <view class="module-title-container">
-          <text class="module-title">瀹夊叏鐢熶骇</text>
-        </view>
-      </view>
-      <view class="module-content">
-        <up-grid :border="false"
-                 col="4">
-          <up-grid-item v-for="(item, index) in safetyItems"
-                        :key="index"
-                        @click="handleCommonItemClick(item)">
-            <view class="icon-container">
-              <image :src="item.icon" class="item-icon"></image>
-            </view>
-            <text class="item-label">{{item.label}}</text>
-          </up-grid-item>
-        </up-grid>
-      </view>
-    </view>
-    <!-- 璐ㄩ噺绠$悊妯″潡 -->
-    <view class="common-module collaboration-module"
-          v-if="hasQualityItems">
-      <view class="module-header">
-        <view class="module-title-container">
-          <text class="module-title">璐ㄩ噺绠$悊</text>
-        </view>
-      </view>
-      <view class="module-content">
-        <up-grid :border="false"
-                 col="4">
-          <up-grid-item v-for="(item, index) in qualityItems"
                         :key="index"
                         @click="handleCommonItemClick(item)">
             <view class="icon-container">
@@ -154,6 +110,94 @@
         </up-grid>
       </view>
     </view>
+    <!-- 璐㈠姟绠$悊妯″潡 -->
+    <view class="common-module finance-module"
+          v-if="hasFinanceManagementItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">璐㈠姟绠$悊</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in financeManagementItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
+    <!-- 妗f绠$悊妯″潡 -->
+    <view class="common-module archive-module"
+          v-if="hasArchiveManagementItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">妗f绠$悊</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in archiveManagementItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
+    <!-- 鍞悗鏈嶅姟妯″潡 -->
+    <view class="common-module after-sales-module"
+          v-if="hasAfterSalesServiceItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">鍞悗鏈嶅姟</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in afterSalesServiceItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
+    <!-- 璐ㄩ噺绠$悊妯″潡 -->
+    <view class="common-module collaboration-module"
+          v-if="hasQualityItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">璐ㄩ噺绠$悊</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in qualityItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
     <!-- 璁惧绠$悊妯″潡 -->
     <view class="common-module equipment-module"
           v-if="hasEquipmentItems">
@@ -166,6 +210,28 @@
         <up-grid :border="false"
                  col="4">
           <up-grid-item v-for="(item, index) in equipmentItems"
+                        :key="index"
+                        @click="handleCommonItemClick(item)">
+            <view class="icon-container">
+              <image :src="item.icon" class="item-icon"></image>
+            </view>
+            <text class="item-label">{{item.label}}</text>
+          </up-grid-item>
+        </up-grid>
+      </view>
+    </view>
+    <!-- 瀹夊叏鐢熶骇妯″潡 -->
+    <view class="common-module collaboration-module"
+          v-if="hasSafetyItems">
+      <view class="module-header">
+        <view class="module-title-container">
+          <text class="module-title">瀹夊叏鐢熶骇</text>
+        </view>
+      </view>
+      <view class="module-content">
+        <up-grid :border="false"
+                 col="4">
+          <up-grid-item v-for="(item, index) in safetyItems"
                         :key="index"
                         @click="handleCommonItemClick(item)">
             <view class="icon-container">
@@ -216,6 +282,26 @@
       label: "閿�鍞彴璐�",
     },
     {
+      icon: "/static/images/icon/kehuwanglai.svg",
+      label: "瀹㈡埛寰�鏉�",
+    },
+  ]);
+
+  // 閲囪喘绠$悊鍔熻兘鏁版嵁
+  const purchaseItems = reactive([
+    {
+      icon: "/static/images/icon/caigoutaizhang.svg",
+      label: "閲囪喘鍙拌处",
+    },
+    {
+      icon: "/static/images/icon/gongyingshangwanglai.svg",
+      label: "渚涘簲鍟嗗線鏉�",
+    },
+  ]);
+
+  // 璐㈠姟绠$悊鍔熻兘鏁版嵁
+  const financeManagementItems = reactive([
+    {
       icon: "/static/images/icon/kaipiaodengji.svg",
       label: "寮�绁ㄧ櫥璁�",
     },
@@ -230,18 +316,6 @@
     {
       icon: "/static/images/icon/huikuanliushui.svg",
       label: "鍥炴娴佹按",
-    },
-    {
-      icon: "/static/images/icon/kehuwanglai.svg",
-      label: "瀹㈡埛寰�鏉�",
-    },
-  ]);
-
-  // 閲囪喘绠$悊鍔熻兘鏁版嵁
-  const purchaseItems = reactive([
-    {
-      icon: "/static/images/icon/caigoutaizhang.svg",
-      label: "閲囪喘鍙拌处",
     },
     {
       icon: "/static/images/icon/laipiaodengji.svg",
@@ -259,11 +333,16 @@
       icon: "/static/images/icon/fukuanliushui.svg",
       label: "浠樻娴佹按",
     },
-    {
-      icon: "/static/images/icon/gongyingshangwanglai.svg",
-      label: "渚涘簲鍟嗗線鏉�",
-    },
   ]);
+
+  // 妗f绠$悊鍔熻兘鏁版嵁
+  const archiveManagementItems = reactive([
+  ]);
+
+  // 鍞悗鏈嶅姟鍔熻兘鏁版嵁
+  const afterSalesServiceItems = reactive([
+  ]);
+
   const humanResourcesItems = reactive([
     {
       icon: "/static/images/icon/dakaqiandao.svg",
@@ -917,6 +996,9 @@
     // 杩囨护鍚勪釜妯″潡
     filterArray(marketingItems);
     filterArray(purchaseItems);
+    filterArray(financeManagementItems);
+    filterArray(archiveManagementItems);
+    filterArray(afterSalesServiceItems);
     filterArray(collaborationItems, menuMapping.collaboration.specialMapping);
     filterArray(safetyItems);
     filterArray(humanResourcesItems);
@@ -928,6 +1010,9 @@
   // 妫�鏌ユā鍧楁槸鍚︽湁鑿滃崟椤归渶瑕佹樉绀�
   const hasMarketingItems = computed(() => marketingItems.length > 0);
   const hasPurchaseItems = computed(() => purchaseItems.length > 0);
+  const hasFinanceManagementItems = computed(() => financeManagementItems.length > 0);
+  const hasArchiveManagementItems = computed(() => true);
+  const hasAfterSalesServiceItems = computed(() => true);
   const hasCollaborationItems = computed(() => collaborationItems.length > 0);
   const hasSafetyItems = computed(() => safetyItems.length > 0);
   const hasQualityItems = computed(() => qualityItems.length > 0);

--
Gitblit v1.9.3