From 0c9aa3e1d5cfbf2245f9e7462e1d27cc8c7827d1 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 14 十月 2026 18:29:49 +0800
Subject: [PATCH] feat: 客户签订合同展示、质检合格率卡片、生产订单选择默认状态修正

---
 src/views/bi/dashboard/index.vue |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/src/views/bi/dashboard/index.vue b/src/views/bi/dashboard/index.vue
index 70b9437..98072c2 100644
--- a/src/views/bi/dashboard/index.vue
+++ b/src/views/bi/dashboard/index.vue
@@ -39,7 +39,7 @@
     loading.value = false;
     await nextTick();
     resizeAllCharts();
-    if (!background && dashboardCode.value === 'purchase-sales') {
+    if (!background) {
       const intervals = charts.value.map((chart) => chart.refreshInterval).filter((interval) => interval > 0);
       if (intervals.length) dataRefreshTimer = setInterval(() => {
         if (!loading.value && document.visibilityState === 'visible') loadData(true);
@@ -159,6 +159,11 @@
     return val.slice(0, 10);
   }
   return val;
+}
+
+// 澶у睆琛ㄦ牸銆屽疄鏃舵粴鍔ㄣ�嶏細鏁版嵁澶嶅埗涓�浠斤紝閰嶅悎 CSS marquee 鍋氭棤缂濈旱鍚戞粴鍔�
+function duplicateRows(rows?: Record<string, unknown>[]): Record<string, unknown>[] {
+  return rows ? [...rows, ...rows] : [];
 }
 
 // ======== 鐪嬫澘涓婚鑹� ========
@@ -316,9 +321,9 @@
                   >{{ key }}</th>
                 </tr>
               </thead>
-              <tbody>
+              <tbody class="marquee-tbody">
                 <tr
-                  v-for="(row, ri) in chart.data"
+                  v-for="(row, ri) in duplicateRows(chart.data)"
                   :key="ri"
                   :style="{ animationDelay: `${ri * 50}ms` }"
                 >
@@ -610,7 +615,10 @@
 }
 
 .table-wrap {
-  overflow-x: auto; border-radius: 8px;
+  overflow-x: auto;
+  overflow-y: hidden;
+  max-height: 320px;
+  border-radius: 8px;
   background: rgba(4, 14, 36, 0.55);
   backdrop-filter: blur(6px);
   -webkit-backdrop-filter: blur(6px);
@@ -619,6 +627,12 @@
 
 .data-table {
   width: 100%; border-collapse: collapse; font-size: 12px;
+}
+
+.data-table thead {
+  position: sticky;
+  top: 0;
+  z-index: 2;
 }
 
 .data-table thead th {
@@ -653,6 +667,18 @@
   to { opacity: 1; transform: translateY(0); }
 }
 
+/* 澶у睆琛ㄦ牸銆屽疄鏃舵粴鍔ㄣ�嶏細tbody 澶嶅埗涓�浠藉悗 translateY(-50%) 鏃犵紳寰幆 */
+.marquee-tbody {
+  animation: table-marquee 15s linear infinite;
+}
+.marquee-tbody:hover {
+  animation-play-state: paused;
+}
+@keyframes table-marquee {
+  from { transform: translateY(0); }
+  to { transform: translateY(-50%); }
+}
+
 /* ======== 绌虹姸鎬� ======== */
 .empty-state {
   position: relative; z-index: 1;

--
Gitblit v1.9.3