diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts index b131f93..66bca04 100644 --- a/src/locales/langs/en-us.ts +++ b/src/locales/langs/en-us.ts @@ -777,6 +777,39 @@ const local: any = { search:'Search', reset:'Reset', }, + kyc:{ + title:'KYC Authentication Review', + total:'Total', + pass:'Pass', + refuse:'Refuse', + verified:'Verified', + pending:'Pending', + approved:'Approved', + rejected:'Rejected', + unknow:'unknow', + username:'User Name', + realname:'Real Name', + type:'Identification type', + file:'Identification photograph', + picture:'Facial photograph', + status:'Status', + createtime:'Create Time', + operate:'Operate', + confirmtitle:'Confirmation approved.', + confirmcontent:'Are you sure you want to verify this user\'s real-name authentication?', + confirmsuc:'Successfully approved.', + confirmerr:'Operation failed.', + rejecttitle:'Confirm rejection', + rejectcontent:'Are you sure you want to reject this user\'s real-name authentication?', + rejectpla:'Please enter the reason for refusal.', + rejectsuc:'successfully rejected', + searchtime:'Submission Time', + starttime:'Start Time', + endtime:'End Time', + plestatus:'Please select status.', + search:'Search', + reset:'Reset', + } }, form: { required: 'Cannot be empty', diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts index 0111eb5..87fea24 100644 --- a/src/locales/langs/zh-cn.ts +++ b/src/locales/langs/zh-cn.ts @@ -776,8 +776,40 @@ const local:any = { pleclientname:'请输入设备名', search:'搜索', reset:'重置', - }, + kyc:{ + title:'KYC实名认证审核', + total:'共', + pass:'通过', + refuse:'拒绝', + verified:'未认证', + pending:'待审核', + approved:'已通过', + rejected:'已拒绝', + unknow:'未知', + username:'用户名', + realname:'姓名', + type:'证件类型', + file:'证件照片', + picture:'面部照片', + status:'状态', + createtime:'提交时间', + operate:'操作', + confirmtitle:'确认通过', + confirmcontent:'确定要通过该用户的实名认证吗?', + confirmsuc:'审核通过成功', + confirmerr:'操作失败', + rejecttitle:'确认拒绝', + rejectcontent:'确定要拒绝该用户的实名认证吗?', + rejectpla:'请输入拒绝原因', + rejectsuc:'审核拒绝成功', + searchtime:'提交时间', + starttime:'开始时间', + endtime:'结束时间', + plestatus:'请选择状态', + search:'查询', + reset:'重置', + } }, form: { required: '不能为空', diff --git a/src/views/user-center/kyc/index.vue b/src/views/user-center/kyc/index.vue index 628e3bd..bd06f04 100644 --- a/src/views/user-center/kyc/index.vue +++ b/src/views/user-center/kyc/index.vue @@ -8,7 +8,7 @@ @search="handleSearch" /> `共 ${total} 条` + showTotal: (total: number) => `${t('page.kyc.total')} ${total} ` }" :scroll="scrollConfig" class="h-full" @@ -62,7 +62,7 @@ :disabled="record.status !== 'PENDING'" @click="handleApprove(record)" > - 通过 + {{ t('page.kyc.pass') }} - 拒绝 + {{ t('page.kyc.refuse') }} @@ -99,7 +99,8 @@ import { message } from 'ant-design-vue'; import KycSearch from './modules/kyc-search.vue'; - +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); const wrapperEl = shallowRef(null); const { height: wrapperElHeight } = useElementSize(wrapperEl); @@ -137,15 +138,15 @@ const parseFile = (path:string)=>{ const getStatusText = (status: string) => { switch (status) { case 'VERIFIED': - return '未认证'; + return t('page.kyc.verified'); case 'PENDING': - return '待审核'; + return t('page.kyc.pending'); case 'APPROVED': - return '已通过'; + return t('page.kyc.approved'); case 'REJECTED': - return '已拒绝'; + return t('page.kyc.rejected'); default: - return '未知'; + return t('page.kyc.unknow'); } }; @@ -172,28 +173,28 @@ const { { key: 'userName', dataIndex: 'userName', - title: '用户名', + title: t('page.kyc.username'), align: 'center', width: 150 }, { key: 'realName', dataIndex: 'realName', - title: '姓名', + title: t('page.kyc.realname'), align: 'center', width: 150 }, { key: 'idType', dataIndex: 'idType', - title: '证件类型', + title: t('page.kyc.type'), align: 'center', width: 150 }, { key: 'idFile', dataIndex: 'idFile', - title: '证件照片', + title: t('page.kyc.file'), align: 'center', width: 150, // customRender: ({ text }) => h('div', { class: 'image-wrapper' }, [ @@ -211,7 +212,7 @@ const { { key: 'identifyPicture', dataIndex: 'identifyPicture', - title: '面部照片', + title: t('page.kyc.picture'), align: 'center', width: 150, // customRender: ({ text }) => h('div', { class: 'image-wrapper' }, [ @@ -229,20 +230,20 @@ const { { key: 'status', dataIndex: 'status', - title: '状态', + title: t('page.kyc.status'), align: 'center', width: 100 }, { key: 'createTime', dataIndex: 'createTime', - title: '提交时间', + title: t('page.kyc.createtime'), align: 'center', width: 180 }, { key: 'operate', - title: '操作', + title: t('page.kyc.operate'), align: 'center', width: 150, fixed: 'right' @@ -264,16 +265,16 @@ const handleReset = () => { const handleApprove = async (record: Api.Kyc.KycInfo) => { try { AModal.confirm({ - title: '确认通过', - content: '确定要通过该用户的实名认证吗?', + title: t('page.kyc.confirmtitle'), + content: t('page.kyc.confirmcontent'), async onOk() { await approveKyc(record.id, record.userId); - message.success('审核通过成功'); + message.success(t('page.kyc.confirmsuc')); getData(); // 刷新列表 } }); } catch (error) { - message.error('操作失败'); + message.error(t('page.kyc.confirmerr')); console.error('Approve failed:', error); } }; @@ -281,11 +282,11 @@ const handleApprove = async (record: Api.Kyc.KycInfo) => { const handleReject = (record: Api.Kyc.KycInfo) => { let reason = ''; AModal.confirm({ - title: '确认拒绝', + title: t('page.kyc.rejecttitle'), content: h('div', [ - h('p', '确定要拒绝该用户的实名认证吗?'), + h('p', t('page.kyc.rejectcontent')), h(AInput.TextArea, { - placeholder: '请输入拒绝原因', + placeholder: t('page.kyc.rejectpla'), rows: 4, 'onUpdate:value': (val: string) => { reason = val; @@ -294,15 +295,15 @@ const handleReject = (record: Api.Kyc.KycInfo) => { ]), async onOk() { if (!reason.trim()) { - message.error('请输入拒绝原因'); + message.error(t('page.kyc.rejectpla')); return Promise.reject(); } try { await rejectKyc(record.id, record.userId, reason); - message.success('审核拒绝成功'); + message.success(t('page.kyc.rejectsuc')); getData(); // 刷新列表 } catch (error) { - message.error('操作失败'); + message.error(t('page.kyc.confirmerr')); console.error('Reject failed:', error); } } diff --git a/src/views/user-center/kyc/modules/kyc-search.vue b/src/views/user-center/kyc/modules/kyc-search.vue index 9933435..1a01df8 100644 --- a/src/views/user-center/kyc/modules/kyc-search.vue +++ b/src/views/user-center/kyc/modules/kyc-search.vue @@ -6,33 +6,39 @@ layout="inline" class="flex flex-wrap gap-16px items-center" > - + - + - 待审核 - 已通过 - 已拒绝 + {{ t('page.kyc.pending') }} + {{ t('page.kyc.approved') }} + {{ t('page.kyc.rejected') }} - 重置 - 查询 + + {{ t('page.kyc.search') }} + + {{ t('page.kyc.reset') }} @@ -52,6 +58,8 @@ import { DatePicker } from 'ant-design-vue'; import type { FormInstance } from 'ant-design-vue'; +import { useI18n } from 'vue-i18n'; +const { t } = useI18n(); const ARangePicker = DatePicker.RangePicker; import dayjs, { Dayjs } from 'dayjs';