From a60b00f8055adde2a372f1626e3e495801c22f47 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 28 十一月 2025 16:24:49 +0800
Subject: [PATCH] fix: bug

---
 src/views/EmploymentManage/EmploymentSignList.vue      |    7 ++++++-
 src/views/ServiceChargeManage/ServiceChargeDetail.vue  |    6 ++++++
 src/views/FlexJobManage/components/StaffInfoDialog.vue |   12 ++++++++++--
 src/views/EmploymentManage/CheckReceiveTaskDetail.vue  |    7 ++++++-
 src/utils/common/common.ts                             |    5 +++++
 5 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/utils/common/common.ts b/src/utils/common/common.ts
index 9965df0..f338db2 100644
--- a/src/utils/common/common.ts
+++ b/src/utils/common/common.ts
@@ -130,3 +130,8 @@
   }
   return null;
 }
+
+export const hiddenIDNumberForEnd4 = (realIDNumber: string) => {
+  if (!realIDNumber) return '';
+  return realIDNumber.replace(/^(\d+)(.{4})$/, '$1****');
+};
diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index 84924f9..dba13ae 100644
--- a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
+++ b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -63,7 +63,7 @@
 import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
 import * as taskServices from '@/services/api/task';
 import { useQuery } from '@tanstack/vue-query';
-import { OrderUtils } from '@/utils';
+import { hiddenIDNumberForEnd4, OrderUtils } from '@/utils';
 import dayjs from 'dayjs';
 import CheckManageDialog from './components/CheckManageDialog.vue';
 import ManualCheckManageDialog from './components/ManualCheckManageDialog.vue';
@@ -163,6 +163,11 @@
       gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
       lastSubmitTime: { type: 'date' },
       checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
+      identity: {
+        formatter: (row: API.GetCheckReceiveTaskQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index b999a58..8d502d0 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -47,7 +47,7 @@
 import { Message } from '@bole-core/core';
 import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
 import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
-import { convertApi2FormUrlOnlyOne } from '@/utils';
+import { convertApi2FormUrlOnlyOne, hiddenIDNumberForEnd4 } from '@/utils';
 import * as taskUserServices from '@/services/api/taskUser';
 import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
 
@@ -137,6 +137,11 @@
     columnsRenderProps: {
       gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
       hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+      identity: {
+        formatter: (row: API.GetTaskUsersQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );
diff --git a/src/views/FlexJobManage/components/StaffInfoDialog.vue b/src/views/FlexJobManage/components/StaffInfoDialog.vue
index 0dd52d5..389d985 100644
--- a/src/views/FlexJobManage/components/StaffInfoDialog.vue
+++ b/src/views/FlexJobManage/components/StaffInfoDialog.vue
@@ -27,7 +27,7 @@
           >
             <ProFormText
               placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
-              v-model.trim="form.identity"
+              v-model.trim="_identity"
               @blur="handleCalculateAge"
             ></ProFormText>
           </ProFormItemV2>
@@ -152,7 +152,7 @@
   ProFormUpload,
   ProFormInputNumber,
 } from '@bole-core/components';
-import { calculateAge, deepClone, format } from '@/utils';
+import { calculateAge, deepClone, format, hiddenIDNumberForEnd4 } from '@/utils';
 import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
 import { BoleRegExp } from '@bole-core/core';
 
@@ -182,6 +182,14 @@
 const form = defineModel<Form>('form');
 let defaultForm: Form = null;
 
+const _identity = computed({
+  get: () =>
+    form.value.isDetail ? hiddenIDNumberForEnd4(form.value.identity) : form.value.identity,
+  set(val) {
+    form.value.identity = val;
+  },
+});
+
 watch(
   visible,
   (visible) => {
diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index 1c4d21a..6748247 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -148,6 +148,7 @@
 import {
   downloadFile,
   downloadFileByUrl,
+  hiddenIDNumberForEnd4,
   paginateList,
   setOssFileName,
   setOSSLink,
@@ -312,6 +313,11 @@
       },
       timeoutFee: { type: 'money' },
       otherFee: { type: 'money' },
+      identity: {
+        formatter: (row: API.GetSettlementTaskUsersQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );

--
Gitblit v1.9.1