From 6afb492942b17ebdb80f8e57af1b0df7ba5ee821 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 09 四月 2026 15:29:50 +0800
Subject: [PATCH] fix: 版本更新修改

---
 src/pages/index.vue |   80 +++++++++++++++++++++++++++++----------
 1 files changed, 59 insertions(+), 21 deletions(-)

diff --git a/src/pages/index.vue b/src/pages/index.vue
index 3c122d7..3998a68 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>
@@ -197,12 +197,16 @@
       <view class="bottom-space" />
     </scroll-view>
 
+    <DownloadProgressMask />
   </view>
 </template>
 
 <script setup>
 import { computed, onMounted, ref } from "vue";
+import { onShow } from "@dcloudio/uni-app";
 import { analysisCustomerContractAmounts, getBusiness } from "@/api/viewIndex";
+import { createVersionUpgradeChecker } from "@/utils/versionUpgrade";
+import DownloadProgressMask from "@/components/DownloadProgressMask.vue";
 
 const imgNum1 = "/static/images/index/num1.png";
 const imgNum2 = "/static/images/index/num2.png";
@@ -211,26 +215,22 @@
 const quickTools = [
   {
     label: "鐢熶骇鎶ュ伐",
-    icon: "/static/images/icon/shengchanbaogong@2x.png",
-    bgColor: "linear-gradient(135deg,#3b82f6,#2563eb)",
+    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",
   },
 ];
@@ -244,6 +244,8 @@
 const contractSummary = ref({ sum: "0", chain: "0", yny: "0" });
 
 // 瀹㈡埛鍚堝悓閲戦鍒嗘瀽锛氭棤闇�绛涢�夐」锛堟寜鎺ュ彛榛樿杩斿洖灞曠ず锛�
+
+const { triggerVersionCheck } = createVersionUpgradeChecker({ logPrefix: "[version-index]" });
 
 function toggleOverview() {
   overviewExpanded.value = !overviewExpanded.value;
@@ -469,7 +471,12 @@
   } catch (e) {
     isCanvas2d.value = false;
   }
+  triggerVersionCheck("onMounted");
   loadHome();
+});
+
+onShow(() => {
+  triggerVersionCheck("onShow");
 });
 </script>
 
@@ -604,27 +611,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 {
@@ -1050,4 +1077,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