From f523d27d06577ab5fa447787a013ddfa79d823ac Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 23 三月 2026 15:50:13 +0800
Subject: [PATCH] 升级app 1.首页图标修改
---
src/pages/index.vue | 110 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 78 insertions(+), 32 deletions(-)
diff --git a/src/pages/index.vue b/src/pages/index.vue
index 0c17b0f..510527d 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -19,10 +19,10 @@
:key="item.label"
@click="handleQuickTool(item)"
>
- <view class="quick-icon" :style="{ background: item.bgColor }">
- <image :src="item.icon" class="quick-icon-img" mode="aspectFit" />
+ <view class="icon-container">
+ <image :src="item.icon" class="item-icon" mode="aspectFit" />
</view>
- <text class="quick-text">{{ item.label }}</text>
+ <text class="item-label">{{ item.label }}</text>
</up-grid-item>
</up-grid>
</view>
@@ -55,7 +55,6 @@
</view>
</view>
</view>
- <image class="card-icon" :src="imgSales" mode="widthFix" />
</view>
<view class="overview-card purchase">
@@ -72,7 +71,6 @@
</view>
</view>
</view>
- <image class="card-icon" :src="imgPurchase" mode="widthFix" />
</view>
<view class="overview-card stock">
@@ -89,7 +87,6 @@
</view>
</view>
</view>
- <image class="card-icon" :src="imgStock" mode="widthFix" />
</view>
</view>
</view>
@@ -207,9 +204,6 @@
import { computed, onMounted, ref } from "vue";
import { analysisCustomerContractAmounts, getBusiness } from "@/api/viewIndex";
-const imgSales = "/static/images/index/xiaoshoushuju.png";
-const imgPurchase = "/static/images/index/caigoushuju.png";
-const imgStock = "/static/images/index/kucunshuju.png";
const imgNum1 = "/static/images/index/num1.png";
const imgNum2 = "/static/images/index/num2.png";
const imgNum3 = "/static/images/index/num3.png";
@@ -217,26 +211,22 @@
const quickTools = [
{
label: "鐢熶骇鎶ュ伐",
- icon: "/static/images/icon/shengchanbaogong@2x.png",
- bgColor: "linear-gradient(135deg,#3b82f6,#2563eb)",
- route: "/pages/productionManagement/productionReport/index",
+ icon: "/static/images/icon/shengchanbaogong.svg",
+ action: "scan",
},
{
label: "璁惧宸℃",
- icon: "/static/images/icon/xunjianshangchuan@2x.png",
- bgColor: "linear-gradient(135deg,#22c55e,#16a34a)",
+ icon: "/static/images/icon/xunjianshangchuan.svg",
route: "/pages/inspectionUpload/index",
},
{
label: "璁惧淇濆吇",
- icon: "/static/images/icon/shbeibaoyang@2x.png",
- bgColor: "linear-gradient(135deg,#f97316,#ea580c)",
+ icon: "/static/images/icon/shebeibaoyang.svg",
route: "/pages/equipmentManagement/upkeep/index",
},
{
label: "璁惧鎶ヤ慨",
- icon: "/static/images/icon/shbeibaoxiu@2x.png",
- bgColor: "linear-gradient(135deg,#a855f7,#7c3aed)",
+ icon: "/static/images/icon/shebeibaoxiu.svg",
route: "/pages/equipmentManagement/repair/index",
},
];
@@ -256,6 +246,28 @@
}
function handleQuickTool(item) {
+ if (item?.action === "scan") {
+ // 鐢熶骇鎶ュ伐 - 璋冪敤鎵爜
+ uni.scanCode({
+ success: (res) => {
+ console.log("鎵爜缁撴灉:", res);
+ // 瑙f瀽鎵爜缁撴灉骞惰烦杞埌鐢熶骇鎶ュ伐椤甸潰
+ try {
+ const scanResult = JSON.parse(res.result);
+ uni.navigateTo({
+ url: `/pages/productionManagement/productionReport/index?orderRow=${encodeURIComponent(JSON.stringify(scanResult))}`
+ });
+ } catch (e) {
+ console.error("鎵爜缁撴灉瑙f瀽澶辫触:", e);
+ uni.showToast({ title: "鏃犳晥鐨勪簩缁寸爜", icon: "none" });
+ }
+ },
+ fail: (err) => {
+ console.error("鎵爜澶辫触:", err);
+ }
+ });
+ return;
+ }
if (!item?.route) return;
uni.navigateTo({ url: item.route });
}
@@ -576,7 +588,7 @@
}
.scroll {
- height: calc(100vh - env(safe-area-inset-top) - 10px);
+ min-height: calc(100vh - env(safe-area-inset-top) - 10px);
}
.section {
@@ -588,27 +600,47 @@
padding: 6px 0 2px;
}
-.quick-icon {
- width: 44px;
- height: 44px;
+.icon-container {
+ width: 36px;
+ height: 36px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
- box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
+ margin-bottom: 0.375rem;
+ transition: all 0.2s ease;
+ position: relative;
+ overflow: hidden;
+ animation: fadeInScale 0.5s ease both;
}
-.quick-icon-img {
- width: 26px;
- height: 26px;
+.item-icon {
+ width: 36px;
+ height: 36px;
+ display: block;
}
-.quick-text {
- margin-top: 6px;
+.icon-container:active {
+ transform: scale(0.97);
+}
+
+.item-label {
font-size: 12px;
color: #555555;
text-align: center;
- white-space: nowrap;
+ display: block;
+ line-height: 1.4;
+ font-weight: 500;
+ margin-top: 4px;
+ margin-bottom: 6px;
+}
+
+:deep(.up-grid-item) {
+ padding: 6px 0;
+}
+
+:deep(.up-grid-item__content) {
+ padding: 0;
}
.section-header {
@@ -686,13 +718,16 @@
}
.overview-card.sales {
- background: linear-gradient(135deg, #e9fbff 0%, #d8fbff 100%);
+ background: url("/static/images/index/xiaoshoushuju.png") no-repeat center center;
+ background-size: cover;
}
.overview-card.purchase {
- background: linear-gradient(135deg, #fff4e7 0%, #ffe7ce 100%);
+ background: url("/static/images/index/caigoushuju.png") no-repeat center center;
+ background-size: cover;
}
.overview-card.stock {
- background: linear-gradient(135deg, #eaf0ff 0%, #dbe6ff 100%);
+ background: url("/static/images/index/kucunshuju.png") no-repeat center center;
+ background-size: cover;
}
.card-left {
@@ -1031,4 +1066,15 @@
color: #e9edf3;
}
}
+
+@keyframes fadeInScale {
+ 0% {
+ opacity: 0;
+ transform: translateY(0.5rem) scale(0.96);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0) scale(1);
+ }
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.3