ed3526d07bfacf0dca613a0c324db1fe91d4d857..34552cea1cc54f9066fb7d5cbc3c565d907d0ef5
2025-11-28 zhengyiming
fix: bug
34552c 对比 | 目录
2025-11-28 zhengyiming
fix: s
298c52 对比 | 目录
2025-11-28 zhengyiming
fix: s
86d4a8 对比 | 目录
8个文件已修改
119 ■■■■ 已修改文件
package.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pnpm-lock.yaml 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/common/common.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/CPersonManageList.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/components/StaffDetailInfoView.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/BalanceManage.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/TaskManage/SelltementDetailInfo.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/TaskManage/components/SignDetailView.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -22,7 +22,7 @@
  "dependencies": {
    "@bole-12333/chat-kit": "latest",
    "@bole-12333/customer-chat": "latest",
    "@bole-core/components": "^1.3.17",
    "@bole-core/components": "^1.3.25",
    "@bole-core/core": "latest",
    "@bole-core/pretty-layout": "latest",
    "@bole-core/sass-utils": "latest",
pnpm-lock.yaml
@@ -20,8 +20,8 @@
    specifier: latest
    version: 1.0.3(@bole-12333/chat-kit@1.0.1)(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(dayjs@1.11.6)(vue@3.5.11)
  '@bole-core/components':
    specifier: ^1.3.17
    version: 1.3.17(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
    specifier: ^1.3.25
    version: 1.3.25(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
  '@bole-core/core':
    specifier: latest
    version: 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
@@ -1898,8 +1898,8 @@
      vue: 3.5.11(typescript@4.6.4)
    dev: false
  /@bole-core/components@1.3.17(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
    resolution: {integrity: sha512-LNA8MDqa0hE6y4GG2YEn/F9Aj6kG2NfbE33/QJKrD+KhJULtt6v5bdsSTu10nUQFCqFwZtngYkMAcmDvU98bqw==}
  /@bole-core/components@1.3.25(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
    resolution: {integrity: sha512-mJVHHYkviLYvpinlAK7ed+/QHtJvz52o0xxqXdMrED8y/0UnAmSkBGnx2fG3RiJnj/a+t1siJF/r8EpRZgtgTw==}
    peerDependencies:
      '@bole-core/core': '*'
      '@bole-core/sass-utils': '*'
@@ -3747,18 +3747,10 @@
      tuikit-logger: 0.0.4-beta.1
    dev: false
  /@tencentcloud/call-engine-wx@3.3.0:
    resolution: {integrity: sha512-4oXRQhcWiVLX1PxcjCFjnEm53u3oguKsjas7zMvvvgh1UxsA9aiCl6xXIcGZ230w0rP4cQ6hA45S+EZrCIFP1g==}
  /@tencentcloud/call-uikit-vue2.6@4.0.11(vue@3.5.11):
    resolution: {integrity: sha512-2f7raW37qG762pS8PQ+bobAjDy0dh6dIMCuyXcVIGJMAEpw9JkYdYYN/1J+I/hHqXboELhYTYBvxU4XvD0H7kw==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/trtc-component-wx': 1.0.6
      eventemitter3: 4.0.7
    dev: false
  /@tencentcloud/call-uikit-vue2.6@4.0.9(vue@3.5.11):
    resolution: {integrity: sha512-XpB8eZriaKDygAvSN3tae2bzD/coQ2u31DyXcAt5VWcATQ1Cf410qZ0ZAa2yf08mhqHcfQtMT0hzi4etZxbZuw==}
    dependencies:
      '@tencentcloud/call-engine-wx': 3.3.0
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/tui-core': 2.5.1
      '@vue/composition-api': 1.7.2(vue@3.5.11)
@@ -3766,8 +3758,8 @@
      - vue
    dev: false
  /@tencentcloud/call-uikit-vue2@4.0.9:
    resolution: {integrity: sha512-dtG+LHEAqdgkJ4gB43mLAo/ZKo1NN8tBBhTliaccU5xhAuklHG5rns5MRTfdXfNSUirLK1CLfyVqXrNK05g1rA==}
  /@tencentcloud/call-uikit-vue2@4.0.11:
    resolution: {integrity: sha512-AlYdkzKDk5QMEAhZUR4MBnkD91Xou82KO/EZfO0fr5c2jrUKI9N0D8VpvMWWtPCGWO2hNrbeLAhdUxwcax++1g==}
    dependencies:
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
@@ -3781,8 +3773,8 @@
      tuicall-engine-webrtc: 3.1.7
    dev: false
  /@tencentcloud/call-uikit-vue@4.0.9:
    resolution: {integrity: sha512-TcbdRiTgeMVHqH6NS/EW0iyJkaIZxgjU3H/11fxNUjrMQsPyggRjtvCpy0nEfmpGpPDd1zp/d5u0f3O8Hj56rg==}
  /@tencentcloud/call-uikit-vue@4.0.11:
    resolution: {integrity: sha512-SeUPs5Ow/Y+spAlhzu7HeQY9Zjg4BWMl64JbLGrFv6M389hLOhL5ZFmHb9eqkUIggIQoY5Rrkn2A23CxMWUT/w==}
    dependencies:
      '@tencentcloud/call-engine-js': 3.3.0
      '@tencentcloud/chat': 3.5.9
@@ -3792,7 +3784,15 @@
  /@tencentcloud/chat-uikit-engine@2.5.6:
    resolution: {integrity: sha512-hzGkruR3j5S/9hx7HfGBWvHAZ7FZqpkl5LEz0z9sVm3faG/IaBkeTCjPmvN9kGIdDIan8Jn6mhVW57EEx7E8UQ==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/chat': 3.6.1
      tim-profanity-filter-plugin: 1.1.0
      tim-upload-plugin: 1.4.3
    dev: false
  /@tencentcloud/chat-uikit-engine@2.5.7:
    resolution: {integrity: sha512-2C2x84k7D2cCvSQQlxo4Erw1EYrYf0BTz7IJuqkA99ac91ZwO8vNZEtQbd7wF1h7adNMXoxESCjaR24iDBTDhg==}
    dependencies:
      '@tencentcloud/chat': 3.6.1
      tim-profanity-filter-plugin: 1.1.0
      tim-upload-plugin: 1.4.3
    dev: false
@@ -3810,10 +3810,10 @@
      '@tiptap/pm': ^2.0.0-beta.220
      '@tiptap/suggestion': ^2.0.0-beta.220
    dependencies:
      '@tencentcloud/call-uikit-vue': 4.0.9
      '@tencentcloud/call-uikit-vue2': 4.0.9
      '@tencentcloud/call-uikit-vue2.6': 4.0.9(vue@3.5.11)
      '@tencentcloud/chat-uikit-engine': 2.5.6
      '@tencentcloud/call-uikit-vue': 4.0.11
      '@tencentcloud/call-uikit-vue2': 4.0.11
      '@tencentcloud/call-uikit-vue2.6': 4.0.11(vue@3.5.11)
      '@tencentcloud/chat-uikit-engine': 2.5.7
      '@tencentcloud/tui-core': 2.5.1
      '@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.5.1)(vue@3.5.11)
      '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
@@ -3838,23 +3838,14 @@
    resolution: {integrity: sha512-DRCF5o1cZez1xjIFC8UmXE3NpWYfYWQ4+yjKtuOXk09N28dJSfdwYw2jyfJ2N0DWPB6icVCCxh2MDP+sp4HLpw==}
    dev: false
  /@tencentcloud/trtc-cloud-wx@1.0.8:
    resolution: {integrity: sha512-72TYYt6XNTr9Y401qw23YODfhLC9AGniNqb9ACFTVGDtInApHn139kGhKeudgTYEdTObkG1JjUcdkfcknHGhSA==}
    dependencies:
      eventemitter3: 5.0.1
      trtc-wx-sdk: 1.1.14
    dev: false
  /@tencentcloud/trtc-component-wx@1.0.6:
    resolution: {integrity: sha512-3m2ZU3/upx3IJAhSPdElJ2AF1D7L/0JOXUpanYJbrtHlwTWDQ6BOc+p6HgsepE67ltpR7UcYF/BcVHEfpcObkA==}
    dependencies:
      '@tencentcloud/trtc-cloud-wx': 1.0.8
  /@tencentcloud/chat@3.6.1:
    resolution: {integrity: sha512-YKftPfO2Mzo/RhSmUq2806FrB2ZB9AiuVmhHupxXtG6g8RMHTJICQulp6z+3bBzU7qko9BancR8rtvfdpDTpmQ==}
    dev: false
  /@tencentcloud/tui-core@2.0.0:
    resolution: {integrity: sha512-KBwDFWFV+IGtAZ82uCjRi891nMQcAen0wZHdPUUTSNHaWGjYiwOAHD7yw4gC1c5DYqVYMa3tVA7bSBd/hKVZKg==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/chat': 3.6.1
      tim-profanity-filter-plugin: 0.9.0
      tim-upload-plugin: 1.3.0
    dev: false
@@ -3862,7 +3853,7 @@
  /@tencentcloud/tui-core@2.5.1:
    resolution: {integrity: sha512-aXZG0INkV9WvFUHgmVQRibCs10r2u/oVb8qAEjW3maytBiLWOJQiK7dzshK9fnfadJAWQ027cpR8lCKz5r5Tlw==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/chat': 3.6.1
      tim-profanity-filter-plugin: 1.1.0
      tim-upload-plugin: 1.4.3
    dev: false
@@ -8701,10 +8692,6 @@
  /eventemitter3@4.0.7:
    resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
    dev: false
  /eventemitter3@5.0.1:
    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
    dev: false
  /events@3.3.0:
@@ -16020,10 +16007,6 @@
      webrtc-adapter: 8.2.3
    dev: false
  /trtc-wx-sdk@1.1.14:
    resolution: {integrity: sha512-QYV2j5pDlhbM0zykYq8OYaSpjyTn0/YbsK180iNwCLEA61m2KWm2wb1veRBVsTP9Lq0iqbSMU17cOW963vcraA==}
    dev: false
  /ts-api-utils@1.3.0(typescript@4.6.4):
    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
    engines: {node: '>=16'}
@@ -16104,7 +16087,7 @@
  /tuicall-engine-webrtc@3.1.7:
    resolution: {integrity: sha512-MRye9/x/8Gy5aRAfEACLtGhK5RcBLAev7cgCGi7OLNt0Uj28mEJkt1tHs4p7xTQiQj6vcB+7OVTdsxuSq7EmOA==}
    dependencies:
      '@tencentcloud/chat': 3.5.9
      '@tencentcloud/chat': 3.6.1
      rtc-ai-denoiser: 1.1.7
      trtc-cloud-js-sdk: 2.9.3
    dev: false
src/utils/common/common.ts
@@ -146,3 +146,8 @@
  }
  return result;
}
export const hiddenIDNumberForEnd4 = (realIDNumber: string) => {
  if (!realIDNumber) return '';
  return realIDNumber.replace(/^(\d+)(.{4})$/, '$1****');
};
src/views/CPersonManage/CPersonManageList.vue
@@ -74,7 +74,7 @@
} from '@bole-core/components';
import { useAccess, useGlobalEventContext } from '@/hooks';
import CPersonDetailDialog from './components/CPersonDetailDialog.vue';
import { convertApi2FormUrlOnlyOne, format } from '@/utils';
import { convertApi2FormUrlOnlyOne, format, hiddenIDNumberForEnd4 } from '@/utils';
import { ModelValueType } from 'element-plus';
import * as userServices from '@/services/api/user';
@@ -171,6 +171,11 @@
          return row.enterprises ? row.enterprises.map((x) => x).join(',') : '';
        },
      },
      identity: {
        formatter: (row: API.GetPersonalUserInfosQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
src/views/CPersonManage/components/StaffDetailInfoView.vue
@@ -15,7 +15,7 @@
    <ProFormCol>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="身份证号:" prop="identity">
          <ProFormText v-model.trim="form.identity"></ProFormText>
          <ProFormText :model-value="hiddenIDNumberForEnd4(form.identity)"></ProFormText>
        </ProFormItemV2>
      </ProFormColItem>
    </ProFormCol>
@@ -44,10 +44,10 @@
      </ProFormColItem>
    </ProFormCol>
    <ProFormItemV2 label="身份证正面:" prop="identityImg">
      <ProFormImageUpload v-model:file-url="form.identityImg"> </ProFormImageUpload>
      <ProFormImageUpload v-model:file-url="form.identityImg" imgBlur> </ProFormImageUpload>
    </ProFormItemV2>
    <ProFormItemV2 label="身份证反面:" prop="identityBackImg">
      <ProFormImageUpload v-model:file-url="form.identityBackImg"> </ProFormImageUpload>
      <ProFormImageUpload v-model:file-url="form.identityBackImg" imgBlur> </ProFormImageUpload>
    </ProFormItemV2>
  </ProForm>
</template>
@@ -64,7 +64,7 @@
  ProFormRadio,
  UploadUserFile,
} from '@bole-core/components';
import { convertApi2FormUrlOnlyOne, format } from '@/utils';
import { convertApi2FormUrlOnlyOne, format, hiddenIDNumberForEnd4 } from '@/utils';
import { useQuery } from '@tanstack/vue-query';
import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
src/views/FinanceManage/BalanceManage.vue
@@ -53,6 +53,7 @@
import { useAccess } from '@/hooks';
import * as userServices from '@/services/api/user';
import BalanceDetailDialog from './components/BalanceDetailDialog.vue';
import { hiddenIDNumberForEnd4 } from '@/utils';
defineOptions({
  name: 'BalanceManage',
@@ -111,7 +112,13 @@
      balanceMax: null as number,
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
    },
    columnsRenderProps: {},
    columnsRenderProps: {
      identity: {
        formatter: (row: API.GetPersonalUserWalletBalancesQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
src/views/TaskManage/SelltementDetailInfo.vue
@@ -13,7 +13,7 @@
import * as taskUserServices from '@/services/api/taskUser';
import { useQuery } from '@tanstack/vue-query';
import { SettlementReceiveStatusText } from '@/constants';
import { downloadFileByUrl, paginateList, setOSSLink } from '@/utils';
import { downloadFileByUrl, hiddenIDNumberForEnd4, paginateList, setOSSLink } from '@/utils';
defineOptions({
  name: 'SelltementDetailInfo',
@@ -106,6 +106,11 @@
      },
      timeoutFee: { type: 'money' },
      otherFee: { type: 'money' },
      identity: {
        formatter: (row: API.GetSettlementTaskUsersQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
src/views/TaskManage/components/SignDetailView.vue
@@ -10,6 +10,7 @@
<script setup lang="ts">
import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components';
import * as userResumeServices from '@/services/api/userResume';
import { hiddenIDNumberForEnd4 } from '@/utils';
defineOptions({
  name: 'SignDetailView',
@@ -69,6 +70,11 @@
    columnsRenderProps: {
      hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
      gender: { type: 'enum', valueEnum: EnumUserGenderText },
      identity: {
        formatter: (row: API.GetUserResumesQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);