From e7d45b61ad438bb96c0d0d7f17923f024a1e6aaf Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 18 三月 2026 14:05:29 +0800
Subject: [PATCH] 进销存升级app 1.工作台图标替换
---
src/pages/indexItem.vue | 524 +++++++++++++---------------------------------------------
1 files changed, 117 insertions(+), 407 deletions(-)
diff --git a/src/pages/indexItem.vue b/src/pages/indexItem.vue
index c2b6633..29ef495 100644
--- a/src/pages/indexItem.vue
+++ b/src/pages/indexItem.vue
@@ -14,11 +14,8 @@
<up-grid-item v-for="(item, index) in commonItems"
:key="index"
@click="handleCommonItemClick(item)">
- <view class="icon-container"
- :style="{ background: item.bgColor }">
- <up-icon :name="item.icon"
- :size="58"
- color="#ffffff"></up-icon>
+ <view class="icon-container">
+ <image :src="item.icon" class="item-icon"></image>
</view>
<text class="item-label">{{item.label}}</text>
</up-grid-item>
@@ -35,331 +32,94 @@
import PageHeader from "@/components/PageHeader.vue";
const userStore = useUserStore();
- const kaoqin = reactive([
- {
- icon: "/static/images/icon/gongchuguanli@2x.png",
- label: "鍏嚭绠$悊",
- },
- {
- icon: "/static/images/icon/qingjiaguanli@2x.png",
- label: "璇峰亣绠$悊",
- },
- {
- icon: "/static/images/icon/chuchaiguanli@2x.png",
- label: "鍑哄樊绠$悊",
- },
- ]);
- const caiwu = reactive([
- {
- icon: "/static/images/icon/baoxiaoguanli.png",
- label: "鎶ラ攢绠$悊",
- },
- {
- icon: "/static/images/icon/caigouguanli.png",
- label: "閲囪喘瀹℃壒",
- },
- {
- icon: "/static/images/icon/baojiaguanli.png",
- label: "鎶ヤ环瀹℃壒",
- },
- {
- icon: "/static/images/icon/chukuguanli@2x.png",
- label: "鍙戣揣瀹℃壒",
- },
- ]);
- // 鑰冨嫟璐㈠姟鍚堝苟鑿滃崟锛堣�冨嫟3涓� + 璐㈠姟4涓� = 7涓級
- const kaoqinCaiwu = reactive([
- {
- icon: "/static/images/icon/gongchuguanli@2x.png",
- label: "鍏嚭绠$悊",
- },
- {
- icon: "/static/images/icon/qingjiaguanli@2x.png",
- label: "璇峰亣绠$悊",
- },
- {
- icon: "/static/images/icon/chuchaiguanli@2x.png",
- label: "鍑哄樊绠$悊",
- },
- {
- icon: "/static/images/icon/baoxiaoguanli.png",
- label: "鎶ラ攢绠$悊",
- },
- {
- icon: "/static/images/icon/caigouguanli.png",
- label: "閲囪喘瀹℃壒",
- },
- {
- icon: "/static/images/icon/baojiaguanli.png",
- label: "鎶ヤ环瀹℃壒",
- },
- {
- icon: "/static/images/icon/chukuguanli@2x.png",
- label: "鍙戣揣瀹℃壒",
- },
- ]);
-
- const huiyi = reactive([
- {
- icon: "/static/images/icon/huiyishezhi@2x.png",
- label: "浼氳璁剧疆",
- },
- {
- icon: "/static/images/icon/huiyiliebiao@2x.png",
- label: "浼氳鍒楄〃",
- },
- {
- icon: "/static/images/icon/huiyishenqing@2x.png",
- label: "浼氳鐢宠",
- },
- {
- icon: "/static/images/icon/huiyishenpi@2x.png",
- label: "浼氳瀹℃壒",
- },
- {
- icon: "/static/images/icon/huiyifabu@2x.png",
- label: "浼氳鍙戝竷",
- },
- {
- icon: "/static/images/icon/huiyizongjie@2x.png",
- label: "浼氳鎬荤粨",
- },
- {
- icon: "/static/images/icon/huiyikanban@2x.png",
- label: "浼氳鐪嬫澘",
- },
- ]);
+ const operationType = ref("");
const commonItems = ref([]);
+
+ // 璺敱鏄犲皠閰嶇疆
+ const routeMapping = {
+ "閿�鍞彴璐�": "/pages/sales/salesAccount/index",
+ "寮�绁ㄧ櫥璁�": "/pages/sales/invoicingRegistration/index",
+ "寮�绁ㄥ彴璐�": "/pages/sales/invoiceLedger/index",
+ "鍥炴鐧昏": "/pages/sales/receiptPayment/index",
+ "鍥炴娴佹按": "/pages/sales/receiptPaymentHistory/index",
+ "瀹㈡埛寰�鏉�": "/pages/sales/receiptPaymentLedger/index",
+ "閲囪喘鍙拌处": "/pages/procurementManagement/procurementLedger/index",
+ "鏉ョエ鐧昏": "/pages/procurementManagement/invoiceEntry/index",
+ "鏉ョエ鍙拌处": "/pages/procurementManagement/procurementInvoiceLedger/index",
+ "浠樻鐧昏": "/pages/procurementManagement/paymentEntry/index",
+ "浠樻娴佹按": "/pages/procurementManagement/receiptPaymentHistory/index",
+ "渚涘簲鍟嗗線鏉�": "/pages/procurementManagement/paymentLedger/index",
+ "鍏嚭绠$悊": "/pages/cooperativeOffice/collaborativeApproval/index1",
+ "璇峰亣绠$悊": "/pages/cooperativeOffice/collaborativeApproval/index2",
+ "鍑哄樊绠$悊": "/pages/cooperativeOffice/collaborativeApproval/index3",
+ "鎶ラ攢绠$悊": "/pages/cooperativeOffice/collaborativeApproval/index4",
+ "閲囪喘瀹℃壒": "/pages/cooperativeOffice/collaborativeApproval/index5",
+ "鎶ヤ环瀹℃壒": "/pages/cooperativeOffice/collaborativeApproval/index6",
+ "鍙戣揣瀹℃壒": "/pages/cooperativeOffice/collaborativeApproval/index7",
+ "鍗忓悓瀹℃壒": "/pages/cooperativeOffice/collaborativeApproval/index",
+ "浼氳璁剧疆": "/pages/managementMeetings/meetingSettings/index",
+ "浼氳鍒楄〃": "/pages/managementMeetings/meetingList/index",
+ "浼氳鐢宠": "/pages/managementMeetings/meetApplication/index",
+ "浼氳瀹℃壒": "/pages/managementMeetings/meetExamine/index",
+ "浼氳鍙戝竷": "/pages/managementMeetings/meetPublish/index",
+ "浼氳鎬荤粨": "/pages/managementMeetings/meetSummary/index",
+ "浼氳鐪嬫澘": "/pages/managementMeetings/meetingBoard/index",
+ "閫氱煡鍏憡": "/pages/cooperativeOffice/noticeManagement/index",
+ "鐭ヨ瘑搴�": "/pages/managementMeetings/knowledgeBase/index",
+ "鐢ㄥ嵃绠$悊": "/pages/managementMeetings/sealManagement/index",
+ "瑙勭珷鍒跺害": "/pages/managementMeetings/rulesRegulationsManagement/index",
+ "瀹㈡埛鎷滆": "/pages/cooperativeOffice/clientVisit/index",
+ "鐢熶骇璁㈠崟": "/pages/productionManagement/productionOrder/index",
+ "鐢熶骇娲惧伐": "/pages/productionManagement/productionDispatching/index",
+ "宸ュ簭鎺掍骇": "/pages/productionManagement/processScheduling/index",
+ "鐢熶骇鏍哥畻": "/pages/productionManagement/productionAccounting/index",
+ "璁惧鍙拌处": "/pages/equipmentManagement/ledger/index",
+ "璁惧鎶ヤ慨": "/pages/equipmentManagement/repair/index",
+ "璁惧淇濆吇": "/pages/equipmentManagement/upkeep/index",
+ "璁惧宸℃": "/pages/inspectionUpload/index",
+ "鍒嗘瀽杩芥函": "/pages/equipmentManagement/faultAnalysis/index",
+ "鏅鸿兘娲惧崟": "/pages/equipmentManagement/smartDispatch/index",
+ "浣滀笟鎸囧": "/pages/equipmentManagement/sop/index",
+ "缁撴灉楠岃瘉": "/pages/equipmentManagement/verification/index",
+ };
+
+ // 鑿滃崟閰嶇疆
+ const menuConfig = {
+ "鑰冨嫟绠$悊": [
+ { icon: "/static/images/icon/gongchuguanli.svg", label: "鍏嚭绠$悊" },
+ { icon: "/static/images/icon/qingjiaguanli.svg", label: "璇峰亣绠$悊" },
+ { icon: "/static/images/icon/chuchaiguanli.svg", label: "鍑哄樊绠$悊" },
+ ],
+ "浼氳绠$悊": [
+ { icon: "/static/images/icon/huiyishezhi.svg", label: "浼氳璁剧疆" },
+ { icon: "/static/images/icon/huiyiliebiao.svg", label: "浼氳鍒楄〃" },
+ { icon: "/static/images/icon/huiyishenqing.svg", label: "浼氳鐢宠" },
+ { icon: "/static/images/icon/huiyishenpi.svg", label: "浼氳瀹℃壒" },
+ { icon: "/static/images/icon/huiyifabu.svg", label: "浼氳鍙戝竷" },
+ { icon: "/static/images/icon/huiyizongjie.svg", label: "浼氳鎬荤粨" },
+ { icon: "/static/images/icon/huiyikanban.svg", label: "浼氳鐪嬫澘" },
+ ],
+ "鍗忓悓瀹℃壒": [
+ { icon: "/static/images/icon/gongchuguanli.svg", label: "鍏嚭绠$悊" },
+ { icon: "/static/images/icon/qingjiaguanli.svg", label: "璇峰亣绠$悊" },
+ { icon: "/static/images/icon/chuchaiguanli.svg", label: "鍑哄樊绠$悊" },
+ { icon: "/static/images/icon/baoxiaoguanli.svg", label: "鎶ラ攢绠$悊" },
+ { icon: "/static/images/icon/caigouguanli.svg", label: "閲囪喘瀹℃壒" },
+ { icon: "/static/images/icon/baojiaguanli.svg", label: "鎶ヤ环瀹℃壒" },
+ { icon: "/static/images/icon/chukuguanli.svg", label: "鍙戣揣瀹℃壒" },
+ ],
+ };
+
// 澶勭悊甯哥敤鍔熻兘鐐瑰嚮
const handleCommonItemClick = item => {
- // 鏍规嵁涓嶅悓鐨勫姛鑳介」杩涜璺宠浆
- switch (item.label) {
- case "閿�鍞彴璐�":
- uni.navigateTo({
- url: "/pages/sales/salesAccount/index",
- });
- break;
- case "寮�绁ㄧ櫥璁�":
- uni.navigateTo({
- url: "/pages/sales/invoicingRegistration/index",
- });
- break;
- case "寮�绁ㄥ彴璐�":
- uni.navigateTo({
- url: "/pages/sales/invoiceLedger/index",
- });
- break;
- case "鍥炴鐧昏":
- uni.navigateTo({
- url: "/pages/sales/receiptPayment/index",
- });
- break;
- case "鍥炴娴佹按":
- uni.navigateTo({
- url: "/pages/sales/receiptPaymentHistory/index",
- });
- break;
- case "瀹㈡埛寰�鏉�":
- uni.navigateTo({
- url: "/pages/sales/receiptPaymentLedger/index",
- });
- break;
- case "閲囪喘鍙拌处":
- uni.navigateTo({
- url: "/pages/procurementManagement/procurementLedger/index",
- });
- break;
- case "鏉ョエ鐧昏":
- uni.navigateTo({
- url: "/pages/procurementManagement/invoiceEntry/index",
- });
- break;
- case "鏉ョエ鍙拌处":
- uni.navigateTo({
- url: "/pages/procurementManagement/procurementInvoiceLedger/index",
- });
- break;
- case "浠樻鐧昏":
- uni.navigateTo({
- url: "/pages/procurementManagement/paymentEntry/index",
- });
- break;
- case "浠樻娴佹按":
- uni.navigateTo({
- url: "/pages/procurementManagement/receiptPaymentHistory/index",
- });
- break;
- case "渚涘簲鍟嗗線鏉�":
- uni.navigateTo({
- url: "/pages/procurementManagement/paymentLedger/index",
- });
- break;
- case "鍏嚭绠$悊":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index1",
- });
- break;
- case "璇峰亣绠$悊":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index2",
- });
- break;
- case "鍑哄樊绠$悊":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index3",
- });
- break;
- case "鎶ラ攢绠$悊":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index4",
- });
- break;
- case "閲囪喘瀹℃壒":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index5",
- });
- break;
- case "鎶ヤ环瀹℃壒":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index6",
- });
- break;
- case "鍙戣揣瀹℃壒":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index7",
- });
- break;
- case "浼氳璁剧疆":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetingSettings/index",
- });
- break;
- case "浼氳鍒楄〃":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetingList/index",
- });
- break;
- case "浼氳鐢宠":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetApplication/index",
- });
- break;
- case "浼氳瀹℃壒":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetExamine/index",
- });
- break;
- case "浼氳鍙戝竷":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetPublish/index",
- });
- break;
- case "浼氳鎬荤粨":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetSummary/index",
- });
- break;
- case "浼氳鐪嬫澘":
- uni.navigateTo({
- url: "/pages/managementMeetings/meetingBoard/index",
- });
- break;
- case "閫氱煡鍏憡":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/noticeManagement/index",
- });
- break;
- case "鐭ヨ瘑搴�":
- uni.navigateTo({
- url: "/pages/managementMeetings/knowledgeBase/index",
- });
- break;
- case "鐢ㄥ嵃绠$悊":
- uni.navigateTo({
- url: "/pages/managementMeetings/sealManagement/index",
- });
- break;
- case "瑙勭珷鍒跺害":
- uni.navigateTo({
- url: "/pages/managementMeetings/rulesRegulationsManagement/index",
- });
- break;
-
- case "鍗忓悓瀹℃壒":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index",
- });
- break;
- case "瀹㈡埛鎷滆":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/clientVisit/index",
- });
- break;
- case "鐢熶骇璁㈠崟":
- uni.navigateTo({
- url: "/pages/productionManagement/productionOrder/index",
- });
- break;
- case "鐢熶骇娲惧伐":
- uni.navigateTo({
- url: "/pages/productionManagement/productionDispatching/index",
- });
- break;
- case "宸ュ簭鎺掍骇":
- uni.navigateTo({
- url: "/pages/productionManagement/processScheduling/index",
- });
- break;
- case "鐢熶骇鏍哥畻":
- uni.navigateTo({
- url: "/pages/productionManagement/productionAccounting/index",
- });
- break;
- case "璁惧鍙拌处":
- uni.navigateTo({
- url: "/pages/equipmentManagement/ledger/index",
- });
- break;
- case "璁惧鎶ヤ慨":
- uni.navigateTo({
- url: "/pages/equipmentManagement/repair/index",
- });
- break;
- case "璁惧淇濆吇":
- uni.navigateTo({
- url: "/pages/equipmentManagement/upkeep/index",
- });
- break;
- case "璁惧宸℃":
- uni.navigateTo({
- url: "/pages/inspectionUpload/index",
- });
- break;
- case "鍒嗘瀽杩芥函":
- uni.navigateTo({
- url: "/pages/equipmentManagement/faultAnalysis/index",
- });
- break;
- case "鏅鸿兘娲惧崟":
- uni.navigateTo({
- url: "/pages/equipmentManagement/smartDispatch/index",
- });
- break;
- case "浣滀笟鎸囧":
- uni.navigateTo({
- url: "/pages/equipmentManagement/sop/index",
- });
- break;
- case "缁撴灉楠岃瘉":
- uni.navigateTo({
- url: "/pages/equipmentManagement/verification/index",
- });
- break;
- default:
- uni.showToast({
- title: `鐐瑰嚮浜�${item.label}`,
- icon: "none",
- });
+ const url = routeMapping[item.label];
+ if (url) {
+ uni.navigateTo({ url });
+ } else {
+ uni.showToast({
+ title: `鐐瑰嚮浜�${item.label}`,
+ icon: "none",
+ });
}
};
// 杩斿洖涓婁竴椤�
@@ -371,27 +131,14 @@
// 璁剧疆鐢ㄦ埛淇℃伅
userStore.getInfo();
});
- const operationType = ref("");
onLoad(options => {
if (options.label) {
- // 澶勭悊 URL 鍙傛暟鍙兘鍖呭惈鍏朵粬鏌ヨ鍙傛暟鐨勬儏鍐碉紙濡傦細鍗忓悓瀹℃壒?approveType=6锛�
- // 鍙彁鍙� label 鍙傛暟鐨勫�硷紝鍘婚櫎鍙兘闄勫姞鐨勬煡璇㈠弬鏁�
let labelValue = options.label;
- // 濡傛灉 label 鍖呭惈 ? 绗﹀彿锛屽彧鍙� ? 涔嬪墠鐨勯儴鍒�
if (labelValue.includes("?")) {
labelValue = labelValue.split("?")[0];
}
operationType.value = labelValue;
- if (operationType.value === "鑰冨嫟绠$悊") {
- commonItems.value = kaoqin;
- } else if (operationType.value === "浼氳绠$悊") {
- commonItems.value = huiyi;
- } else if (operationType.value === "璐㈠姟绠$悊") {
- commonItems.value = caiwu;
- } else if (operationType.value === "鍗忓悓瀹℃壒") {
- commonItems.value = kaoqinCaiwu;
- operationType.value = "鍗忓悓瀹℃壒";
- }
+ commonItems.value = menuConfig[labelValue] || [];
}
console.log(operationType.value);
console.log(commonItems.value);
@@ -487,7 +234,7 @@
.bg-img {
width: 100%;
height: 8.75rem;
- background-image: url("../static/images/banner/backview.png");
+ background-image: url("../static/images/banner/backview.svg");
background-size: cover;
border-radius: 0.75rem;
position: relative;
@@ -810,68 +557,27 @@
}
.icon-container {
- width: 3.25rem;
- height: 3.25rem;
- border-radius: 0.75rem;
+ width: 36px;
+ height: 36px;
+ border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.375rem;
- box-shadow: 0 0.1875rem 0.75rem rgba(0, 0, 0, 0.12);
transition: all 0.2s ease;
position: relative;
overflow: hidden;
animation: fadeInScale 0.5s ease both;
+ }
- &::before {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: linear-gradient(
- 135deg,
- rgba(255, 255, 255, 0.1) 0%,
- transparent 50%,
- rgba(255, 255, 255, 0.05) 100%
- );
- opacity: 0;
- transition: opacity 0.3s ease;
- }
+ .item-icon {
+ width: 36px;
+ height: 36px;
+ display: block;
+ }
- &::after {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- border-radius: 0.75rem;
- background: linear-gradient(
- 45deg,
- transparent,
- rgba(255, 255, 255, 0.2),
- transparent
- );
- opacity: 0;
- transition: opacity 0.3s ease;
- }
-
- &:hover {
- transform: translateY(-0.1875rem) scale(1.02);
- box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.18);
-
- &::before,
- &::after {
- opacity: 1;
- }
- }
-
- &:active {
- transform: scale(0.97);
- box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.18);
- }
+ .icon-container:active {
+ transform: scale(0.94);
}
.item-label {
@@ -1080,32 +786,36 @@
}
.icon-container {
- width: 3.25rem;
- height: 3.25rem;
- border-radius: 0.75rem;
+ width: 36px;
+ height: 36px;
+ border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.375rem;
- box-shadow: 0 0.1875rem 0.75rem rgba(0, 0, 0, 0.12);
transition: all 0.2s ease;
position: relative;
overflow: hidden;
animation: fadeInScale 0.5s ease both;
+ }
- &:hover {
- transform: translateY(-0.1875rem) scale(1.02);
- box-shadow: 0 0.5rem 1.5625rem rgba(0, 0, 0, 0.18);
- }
+ .item-icon {
+ width: 36px;
+ height: 36px;
+ display: block;
+ }
- &:active {
- transform: scale(0.97);
- box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.18);
- }
+ .icon-container:active {
+ transform: scale(0.97);
}
.item-label {
- font-size: 0.8125rem;
+ font-size: 12px;
+ color: #555555;
+ text-align: center;
+ display: block;
+ line-height: 1.4;
+ font-weight: 500;
margin-top: 0.25rem;
margin-bottom: 0.625rem;
}
--
Gitblit v1.9.3