From 42c8c76b00027995e01cbe692198831fbe019f38 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 02 十二月 2025 17:11:49 +0800
Subject: [PATCH] fix: 数据看板

---
 src/views/DataBoard/components/DataBoardCenterMap.vue |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/src/views/DataBoard/components/DataBoardCenterMap.vue b/src/views/DataBoard/components/DataBoardCenterMap.vue
index f88f456..2f7d0c8 100644
--- a/src/views/DataBoard/components/DataBoardCenterMap.vue
+++ b/src/views/DataBoard/components/DataBoardCenterMap.vue
@@ -10,11 +10,13 @@
         :backgroundImage="DataBoardDataInfoBg6"
         label="鍙戞斁棰�"
         v-model:value="sumBountyReleaseAmountValue"
+        :precision="2"
       ></DataBoardDataInfoItem>
       <DataBoardDataInfoItem
         :backgroundImage="DataBoardDataInfoBg7"
         label="浣跨敤棰�"
         v-model:value="sumBountyUseAmountValue"
+        :precision="2"
       ></DataBoardDataInfoItem>
       <DataBoardDataInfoItem
         :backgroundImage="DataBoardDataInfoBg8"
@@ -30,7 +32,7 @@
         v-model:choose="item.choose"
         :parkName="item.parkName"
         :class="item.class"
-        @click="handleClick(item.id)"
+        @click="handleClick(index)"
       ></DataBoardCenterMapMark>
     </div>
   </div>
@@ -49,6 +51,7 @@
 import { useIndustrialParkDropDownList } from '@/hooks';
 import _ from 'lodash';
 import { useIntervalValue } from '../hooks';
+import { useIntervalFn } from '@vueuse/core';
 
 defineOptions({
   name: 'DataBoardCenterMap',
@@ -68,11 +71,11 @@
   insurePeopleCount: 0,
 });
 
-function handleClick(id: string) {
+function handleClick(chooseIndex: number) {
   form.mapList.forEach((item, index) => {
-    item.choose = item.id === id;
+    item.choose = chooseIndex === index;
   });
-  form.industrialParkId = id;
+  form.industrialParkId = dataBoardIndustrialParkList.value[chooseIndex]?.id;
   refetch();
 }
 
@@ -100,15 +103,6 @@
   },
 });
 
-onMounted(async () => {
-  await queryClient.invalidateQueries(['industrialParkServices/getIndustrialParkDropDownList']);
-  if (dataBoardIndustrialParkList.value.length > 0) {
-    form.industrialParkId = dataBoardIndustrialParkList.value[0].id;
-    form.mapList = dataBoardIndustrialParkList.value;
-    refetch();
-  }
-});
-
 const { value: totalCustomerCountValue, changeValue: changeTotalCustomerCount } = useIntervalValue(
   form.totalCustomerCount
 );
@@ -120,6 +114,26 @@
 const { value: insurePeopleCountValue, changeValue: changeInsurePeopleCount } = useIntervalValue(
   form.insurePeopleCount
 );
+
+const { pause, resume } = useIntervalFn(() => {
+  if (dataBoardIndustrialParkList.value.length === 0) return;
+  const index = _.random(0, dataBoardIndustrialParkList.value.length - 1);
+  handleClick(index);
+}, 30000);
+
+onMounted(async () => {
+  await queryClient.invalidateQueries(['industrialParkServices/getIndustrialParkDropDownList']);
+  if (dataBoardIndustrialParkList.value.length > 0) {
+    form.industrialParkId = dataBoardIndustrialParkList.value[0].id;
+    form.mapList = dataBoardIndustrialParkList.value;
+    refetch();
+  }
+  resume();
+});
+
+onUnmounted(() => {
+  pause();
+});
 </script>
 <style lang="scss" scoped>
 @use '@/style/common.scss' as *;

--
Gitblit v1.9.1