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>
- <!-- <!– 閲囪喘绠$悊妯″潡 –>-->
+ <!-- 閲囪喘绠$悊妯″潡 -->
<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>
- <!-- <!– 鍗忓悓鍔炲叕妯″潡 –> -->
- <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