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