From a441299ebbfca9567ced69f669f68569b6f7ca0c Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 12 十二月 2025 09:31:42 +0800
Subject: [PATCH] fix: 修改数据看板

---
 src/views/DataBoard/DataBoardHome.vue |    6 +++---
 src/views/DataBoard/hooks/index.ts    |    7 ++++---
 src/utils/common/common.ts            |   25 +++++++++++++++++++++++++
 3 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/src/utils/common/common.ts b/src/utils/common/common.ts
index b0d960d..063053a 100644
--- a/src/utils/common/common.ts
+++ b/src/utils/common/common.ts
@@ -87,6 +87,31 @@
     if (!realPhoneNumber) return '';
     return realPhoneNumber.replace(/^(\d{3})(\d*)(\d{4})$/, '$1 $2 $3');
   }
+
+  /**
+   * 瀛楃涓茶劚鏁忥細涓棿鏇挎崲涓�*
+   * @param {string} str - 寰呭鐞嗙殑瀛楃涓�
+   */
+  static maskString({ str, start = 3, end = 2 }: { str: string; start?: number; end?: number }) {
+    // 绌哄��/闈炲瓧绗︿覆澶勭悊
+    if (!str || typeof str !== 'string') return str || '';
+
+    const len = str.length;
+    // 杈圭晫鍦烘櫙锛氶暱搴︹墹5鏃讹紝鏃犻渶鏇挎崲锛堝墠3+鍚�2宸茶鐩栧叏閮ㄥ瓧绗︼級
+    if (len <= 5) return str;
+
+    // 鎴彇鍓�3涓瓧绗�
+    const prefix = str.slice(0, start);
+    // 鎴彇鍚�2涓瓧绗�
+    const suffix = str.slice(-end);
+    // 涓棿闇�瑕佹浛鎹㈢殑闀垮害 = 鎬婚暱搴� - 鍓�3 - 鍚�2
+    const middleLength = len - start - end;
+    // 鐢熸垚瀵瑰簲闀垮害鐨�*
+    const middle = '*'.repeat(middleLength);
+
+    // 鎷兼帴缁撴灉
+    return prefix + middle + suffix;
+  }
 }
 
 export function paginateList<T>(list: T[], pageIndex: number, pageSize: number) {
diff --git a/src/views/DataBoard/DataBoardHome.vue b/src/views/DataBoard/DataBoardHome.vue
index 9230863..15e19a8 100644
--- a/src/views/DataBoard/DataBoardHome.vue
+++ b/src/views/DataBoard/DataBoardHome.vue
@@ -46,7 +46,7 @@
           </div>
         </div>
         <div class="data-board-home-content-right">
-          <DataBoardContentItem title="浜ゆ槗Top5浼佷笟">
+          <DataBoardContentItem title="浜ゆ槗Top浼佷笟">
             <DataBoardTableView
               :tableData="dataBoardOutputValueRankList"
               unit="鍏�"
@@ -54,14 +54,14 @@
               customerName="浜ゆ槗棰�"
             ></DataBoardTableView>
           </DataBoardContentItem>
-          <DataBoardContentItem title="鍔冲姟浜哄憳Top5浼佷笟">
+          <DataBoardContentItem title="鍔冲姟浜哄憳Top浼佷笟">
             <DataBoardTableView
               :tableData="enterpriseClientUserRankList"
               unit="浜�"
               customerName="浜哄憳鏁伴噺"
             ></DataBoardTableView>
           </DataBoardContentItem>
-          <DataBoardContentItem title="骞冲彴娑堣垂Top5浼佷笟" :hasBottom="false">
+          <DataBoardContentItem title="骞冲彴娑堣垂Top浼佷笟" :hasBottom="false">
             <DataBoardTableView
               :tableData="bountyUseAmountRankList"
               unit="鍏�"
diff --git a/src/views/DataBoard/hooks/index.ts b/src/views/DataBoard/hooks/index.ts
index cd5ed35..cd7cb22 100644
--- a/src/views/DataBoard/hooks/index.ts
+++ b/src/views/DataBoard/hooks/index.ts
@@ -1,6 +1,7 @@
 import { useQuery } from '@tanstack/vue-query';
 import { useIntervalFn } from '@vueuse/core';
 import * as dataBoardServices from '@/services/api/DataBoard';
+import { StringUtils } from '@/utils';
 
 export function useIntervalValue<T>(initValue: T) {
   const value = ref(initValue);
@@ -157,7 +158,7 @@
 
   const bountyUseAmountRankList = computed(() =>
     detail.value.items?.map((x) => ({
-      name: x.enterpriseName,
+      name: StringUtils.maskString({ str: x.enterpriseName }),
       value: x.amount,
     }))
   );
@@ -291,7 +292,7 @@
 
   const dataBoardOutputValueRankList = computed(() =>
     detail.value.items?.map((x) => ({
-      name: x.enterpriseName,
+      name: StringUtils.maskString({ str: x.enterpriseName }),
       value: x.outputValue,
     }))
   );
@@ -320,7 +321,7 @@
 
   const enterpriseClientUserRankList = computed(() =>
     detail.value.items?.map((x) => ({
-      name: x.enterpriseName,
+      name: StringUtils.maskString({ str: x.enterpriseName }),
       value: x.count,
     }))
   );

--
Gitblit v1.9.1