修复查看认证信息弹窗内容为空的问题
This commit is contained in:
parent
74043ba5e1
commit
54bed52a3b
@ -201,7 +201,7 @@ export default {
|
|||||||
whoisProtectionLoading: false,
|
whoisProtectionLoading: false,
|
||||||
domainOwner: null,
|
domainOwner: null,
|
||||||
realNameStatus: 'unverified', // 实名认证状态:verified, unverified
|
realNameStatus: 'unverified', // 实名认证状态:verified, unverified
|
||||||
realNameInfo: null, // 实名认证信息
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -390,8 +390,7 @@ export default {
|
|||||||
|
|
||||||
renderDialog(h(JsiteDomainRealNameInfoDialog, {
|
renderDialog(h(JsiteDomainRealNameInfoDialog, {
|
||||||
domain: this.domain,
|
domain: this.domain,
|
||||||
domainDoc: this.$domain.pg,
|
domainDoc: this.$domain.pg
|
||||||
realNameInfo: this.realNameInfo
|
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
// 显示上传实名资料
|
// 显示上传实名资料
|
||||||
@ -408,34 +407,8 @@ export default {
|
|||||||
onUploadSuccess() {
|
onUploadSuccess() {
|
||||||
toast.success('实名资料上传成功!');
|
toast.success('实名资料上传成功!');
|
||||||
this.getDomainOwner(); // 重新获取域名所有者信息(包含实名认证状态)
|
this.getDomainOwner(); // 重新获取域名所有者信息(包含实名认证状态)
|
||||||
this.getRealNameInfo(); // 重新获取实名详细信息
|
|
||||||
},
|
|
||||||
// 获取域名实名认证信息
|
|
||||||
async getRealNameInfo() {
|
|
||||||
if (!this.$domain.pg?.domain) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
const getRealNameRequest = createResource({
|
|
||||||
url: 'jcloud.api.domain_west.get_west_domain_real_info',
|
|
||||||
params: {
|
|
||||||
domain: this.$domain.pg.domain
|
|
||||||
},
|
|
||||||
onSuccess: (response) => {
|
|
||||||
if (response && response.status === "success" && response.data) {
|
|
||||||
this.realNameInfo = response.data;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onError: (error) => {
|
|
||||||
console.error('获取域名实名信息失败:', error);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
getRealNameRequest.submit();
|
|
||||||
} catch (error) {
|
|
||||||
console.error('获取域名实名信息失败:', error);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
// 监听域名数据变化,重新获取所有者信息
|
// 监听域名数据变化,重新获取所有者信息
|
||||||
@ -483,8 +456,6 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.realNameStatus = 'unverified';
|
this.realNameStatus = 'unverified';
|
||||||
}
|
}
|
||||||
// 获取域名实名认证信息
|
|
||||||
this.getRealNameInfo();
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -14,6 +14,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else-if="realNameData" class="space-y-6">
|
<div v-else-if="realNameData" class="space-y-6">
|
||||||
|
|
||||||
|
|
||||||
<!-- 认证状态 -->
|
<!-- 认证状态 -->
|
||||||
<div class="bg-gradient-to-r from-green-50 to-emerald-50 rounded-xl p-6 border border-green-200">
|
<div class="bg-gradient-to-r from-green-50 to-emerald-50 rounded-xl p-6 border border-green-200">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
@ -38,15 +40,36 @@
|
|||||||
<div class="p-6">
|
<div class="p-6">
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<InfoItem label="域名" :value="realNameData.domain" />
|
<div>
|
||||||
<InfoItem label="注册日期" :value="formatDate(realNameData.regdate)" />
|
<dt class="text-sm font-medium text-gray-600">域名</dt>
|
||||||
<InfoItem label="到期日期" :value="formatDate(realNameData.rexpiredate)" />
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.domain || '未填写' }}</dd>
|
||||||
<InfoItem label="认证状态" :value="getStatusText(realNameData.c_status)" />
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">注册时间</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ formatDateTime(realNameData.regdate) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">到期时间</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ formatDateTime(realNameData.rexpiredate) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">域名状态</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ getDomainStatusText(realNameData.status) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<InfoItem label="模板ID" :value="realNameData.c_sysid" />
|
<div>
|
||||||
<InfoItem label="注册类型" :value="getRegTypeText(realNameData.c_regtype)" />
|
<dt class="text-sm font-medium text-gray-600">实名状态</dt>
|
||||||
<InfoItem label="域名状态" :value="realNameData.status" />
|
<dd class="mt-1 text-sm text-gray-900">{{ getRealNameStatusText(realNameData.real_name_status?.r_status) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">注册类型</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ getRegTypeText(realNameData.c_regtype) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">模板ID</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.c_sysid || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -63,71 +86,92 @@
|
|||||||
<div class="p-6">
|
<div class="p-6">
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<InfoItem label="中文姓名" :value="getFullChineseName()" />
|
<div>
|
||||||
<InfoItem label="英文姓名" :value="getFullEnglishName()" />
|
<dt class="text-sm font-medium text-gray-600">中文姓名</dt>
|
||||||
<InfoItem v-if="realNameData.owner.dom_org_m" label="中文单位" :value="realNameData.owner.dom_org_m" />
|
<dd class="mt-1 text-sm text-gray-900">{{ getFullChineseName() || '未填写' }}</dd>
|
||||||
<InfoItem v-if="realNameData.owner.dom_org" label="英文单位" :value="realNameData.owner.dom_org" />
|
</div>
|
||||||
<InfoItem label="邮箱" :value="realNameData.owner.dom_em" />
|
|
||||||
|
<div v-if="realNameData.owner?.dom_org_m">
|
||||||
|
<dt class="text-sm font-medium text-gray-600">中文单位</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner.dom_org_m || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">邮箱</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_em || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<InfoItem label="电话" :value="realNameData.owner.dom_ph" />
|
<div>
|
||||||
<InfoItem label="传真" :value="realNameData.owner.dom_fax" />
|
<dt class="text-sm font-medium text-gray-600">电话</dt>
|
||||||
<InfoItem label="国家/地区" :value="realNameData.owner.dom_co" />
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_ph || '未填写' }}</dd>
|
||||||
<InfoItem label="省份" :value="realNameData.owner.dom_st_m || realNameData.owner.dom_st" />
|
</div>
|
||||||
<InfoItem label="城市" :value="realNameData.owner.dom_ct_m || realNameData.owner.dom_ct" />
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">传真</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_fax || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">国家/地区</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_co || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">省份</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_st_m || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">城市</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_ct_m || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<InfoItem label="地址" :value="realNameData.owner.dom_adr_m || realNameData.owner.dom_adr1" />
|
<div>
|
||||||
<InfoItem label="邮编" :value="realNameData.owner.dom_pc" />
|
<dt class="text-sm font-medium text-gray-600">地址</dt>
|
||||||
</div>
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_adr_m || '未填写' }}</dd>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">邮编</dt>
|
||||||
<!-- 联系人信息 -->
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.owner?.dom_pc || '未填写' }}</dd>
|
||||||
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
|
|
||||||
<!-- 管理联系人 -->
|
|
||||||
<ContactCard
|
|
||||||
title="管理联系人"
|
|
||||||
icon="UserCircleIcon"
|
|
||||||
:contact="realNameData.admin"
|
|
||||||
type="admin"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 技术联系人 -->
|
|
||||||
<ContactCard
|
|
||||||
title="技术联系人"
|
|
||||||
icon="SettingsIcon"
|
|
||||||
:contact="realNameData.tech"
|
|
||||||
type="tech"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 缴费联系人 -->
|
|
||||||
<ContactCard
|
|
||||||
title="缴费联系人"
|
|
||||||
icon="CreditCardIcon"
|
|
||||||
:contact="realNameData.billing"
|
|
||||||
type="bill"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- DNS服务器 -->
|
|
||||||
<div class="bg-white rounded-xl border border-gray-200 shadow-sm">
|
|
||||||
<div class="px-6 py-4 border-b border-gray-100">
|
|
||||||
<h3 class="text-lg font-semibold text-gray-900 flex items-center">
|
|
||||||
<GlobeIcon class="h-5 w-5 mr-2 text-blue-600" />
|
|
||||||
DNS服务器
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
<div class="p-6">
|
|
||||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
||||||
<div v-for="(dns, index) in getDnsServers()" :key="index" class="bg-gray-50 rounded-lg p-4">
|
|
||||||
<div class="text-sm font-medium text-gray-600 mb-1">DNS{{ index + 1 }}</div>
|
|
||||||
<div class="font-mono text-sm text-gray-900">{{ dns || '未设置' }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 实名证件信息 -->
|
||||||
|
<div v-if="realNameData.orgfile" class="bg-white rounded-xl border border-gray-200 shadow-sm">
|
||||||
|
<div class="px-6 py-4 border-b border-gray-100">
|
||||||
|
<h3 class="text-lg font-semibold text-gray-900 flex items-center">
|
||||||
|
<FileTextIcon class="h-5 w-5 mr-2 text-blue-600" />
|
||||||
|
实名证件信息
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div class="p-6">
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
|
<div class="space-y-4">
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">实名证件类型</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ getDocumentTypeText(realNameData.orgfile.f_type) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">实名证件号码</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.orgfile.f_code || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="space-y-4">
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">证件上传时间</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ formatDateTime(realNameData.orgfile.f_date) || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dt class="text-sm font-medium text-gray-600">证件ID</dt>
|
||||||
|
<dd class="mt-1 text-sm text-gray-900">{{ realNameData.orgfile.f_sysid || '未填写' }}</dd>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
@ -135,63 +179,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Dialog, createResource } from 'jingrow-ui';
|
import { Dialog, createResource } from 'jingrow-ui';
|
||||||
import { toast } from 'vue-sonner';
|
|
||||||
import CheckCircleIcon from '~icons/lucide/check-circle';
|
import CheckCircleIcon from '~icons/lucide/check-circle';
|
||||||
import AlertTriangleIcon from '~icons/lucide/alert-triangle';
|
import AlertTriangleIcon from '~icons/lucide/alert-triangle';
|
||||||
import FileTextIcon from '~icons/lucide/file-text';
|
import FileTextIcon from '~icons/lucide/file-text';
|
||||||
import UserIcon from '~icons/lucide/user';
|
import UserIcon from '~icons/lucide/user';
|
||||||
import UserCircleIcon from '~icons/lucide/user-circle';
|
|
||||||
import SettingsIcon from '~icons/lucide/settings';
|
|
||||||
import CreditCardIcon from '~icons/lucide/credit-card';
|
|
||||||
import GlobeIcon from '~icons/lucide/globe';
|
|
||||||
|
|
||||||
// 信息项组件
|
|
||||||
const InfoItem = {
|
|
||||||
props: ['label', 'value'],
|
|
||||||
template: `
|
|
||||||
<div>
|
|
||||||
<dt class="text-sm font-medium text-gray-600">{{ label }}</dt>
|
|
||||||
<dd class="mt-1 text-sm text-gray-900">{{ value || '未填写' }}</dd>
|
|
||||||
</div>
|
|
||||||
`
|
|
||||||
};
|
|
||||||
|
|
||||||
// 联系人卡片组件
|
|
||||||
const ContactCard = {
|
|
||||||
props: ['title', 'icon', 'contact', 'type'],
|
|
||||||
components: { UserCircleIcon, SettingsIcon, CreditCardIcon },
|
|
||||||
template: `
|
|
||||||
<div class="bg-white rounded-xl border border-gray-200 shadow-sm">
|
|
||||||
<div class="px-4 py-3 border-b border-gray-100">
|
|
||||||
<h4 class="text-sm font-medium text-gray-900 flex items-center">
|
|
||||||
<component :is="icon" class="h-4 w-4 mr-2 text-blue-600" />
|
|
||||||
{{ title }}
|
|
||||||
</h4>
|
|
||||||
</div>
|
|
||||||
<div class="p-4 space-y-3">
|
|
||||||
<div>
|
|
||||||
<div class="text-xs font-medium text-gray-600">姓名</div>
|
|
||||||
<div class="text-sm text-gray-900">{{ getContactName() }}</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="text-xs font-medium text-gray-600">邮箱</div>
|
|
||||||
<div class="text-sm text-gray-900">{{ contact[type + '_em'] || '未填写' }}</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="text-xs font-medium text-gray-600">电话</div>
|
|
||||||
<div class="text-sm text-gray-900">{{ contact[type + '_ph'] || '未填写' }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`,
|
|
||||||
methods: {
|
|
||||||
getContactName() {
|
|
||||||
const chineseName = (this.contact[this.type + '_ln_m'] || '') + (this.contact[this.type + '_fn_m'] || '');
|
|
||||||
const englishName = (this.contact[this.type + '_ln'] || '') + ' ' + (this.contact[this.type + '_fn'] || '');
|
|
||||||
return chineseName || englishName.trim() || '未填写';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'JsiteDomainRealNameInfoDialog',
|
name: 'JsiteDomainRealNameInfoDialog',
|
||||||
@ -200,18 +195,11 @@ export default {
|
|||||||
CheckCircleIcon,
|
CheckCircleIcon,
|
||||||
AlertTriangleIcon,
|
AlertTriangleIcon,
|
||||||
FileTextIcon,
|
FileTextIcon,
|
||||||
UserIcon,
|
UserIcon
|
||||||
UserCircleIcon,
|
|
||||||
SettingsIcon,
|
|
||||||
CreditCardIcon,
|
|
||||||
GlobeIcon,
|
|
||||||
InfoItem,
|
|
||||||
ContactCard
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
domain: String,
|
domain: String,
|
||||||
domainDoc: Object,
|
domainDoc: Object
|
||||||
realNameInfo: Object
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -223,12 +211,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async loadRealNameInfo() {
|
async loadRealNameInfo() {
|
||||||
if (this.realNameInfo) {
|
console.log('loadRealNameInfo called, domainDoc:', this.domainDoc);
|
||||||
this.realNameData = this.realNameInfo;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.domainDoc?.domain) {
|
if (!this.domainDoc?.domain) {
|
||||||
|
console.error('域名信息不存在, domainDoc:', this.domainDoc);
|
||||||
this.error = '域名信息不存在';
|
this.error = '域名信息不存在';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -243,11 +229,24 @@ export default {
|
|||||||
domain: this.domainDoc.domain
|
domain: this.domainDoc.domain
|
||||||
},
|
},
|
||||||
onSuccess: (response) => {
|
onSuccess: (response) => {
|
||||||
|
console.log('API响应:', response);
|
||||||
|
|
||||||
|
// 修复API响应处理逻辑
|
||||||
|
let data = null;
|
||||||
if (response && response.status === "success" && response.data) {
|
if (response && response.status === "success" && response.data) {
|
||||||
this.realNameData = response.data;
|
data = response.data;
|
||||||
|
} else if (response && response.message && response.message.status === "success" && response.message.data) {
|
||||||
|
data = response.message.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data) {
|
||||||
|
console.log('提取的数据:', data);
|
||||||
|
this.realNameData = data;
|
||||||
} else {
|
} else {
|
||||||
|
console.error('无效的响应格式:', response);
|
||||||
this.error = '获取实名认证信息失败';
|
this.error = '获取实名认证信息失败';
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
@ -263,24 +262,49 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
formatDate(dateStr) {
|
formatDateTime(dateStr) {
|
||||||
if (!dateStr) return '未知';
|
if (!dateStr) return '未知';
|
||||||
try {
|
try {
|
||||||
const date = new Date(dateStr);
|
const date = new Date(dateStr);
|
||||||
return date.toLocaleDateString('zh-CN');
|
return date.toLocaleString('zh-CN', {
|
||||||
|
year: 'numeric',
|
||||||
|
month: '2-digit',
|
||||||
|
day: '2-digit',
|
||||||
|
hour: '2-digit',
|
||||||
|
minute: '2-digit',
|
||||||
|
second: '2-digit'
|
||||||
|
});
|
||||||
} catch {
|
} catch {
|
||||||
return dateStr;
|
return dateStr;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getStatusText(status) {
|
getDomainStatusText(status) {
|
||||||
const statusMap = {
|
const statusMap = {
|
||||||
1: '已通过',
|
'ok': '正常',
|
||||||
2: '审核中',
|
'pending': '待处理',
|
||||||
3: '审核失败',
|
'error': '错误'
|
||||||
4: '待上传'
|
|
||||||
};
|
};
|
||||||
return statusMap[status] || status || '未知';
|
return statusMap[status] || status || '未知';
|
||||||
},
|
},
|
||||||
|
getRealNameStatusText(status) {
|
||||||
|
const statusMap = {
|
||||||
|
1: '实名成功',
|
||||||
|
2: '实名中',
|
||||||
|
3: '实名失败',
|
||||||
|
0: '未实名'
|
||||||
|
};
|
||||||
|
return statusMap[status] || status || '未知';
|
||||||
|
},
|
||||||
|
getDocumentTypeText(type) {
|
||||||
|
const typeMap = {
|
||||||
|
1: '身份证',
|
||||||
|
2: '护照',
|
||||||
|
3: '工商营业执照(填统一社会信用代码)',
|
||||||
|
4: '组织机构代码证',
|
||||||
|
5: '其他'
|
||||||
|
};
|
||||||
|
return typeMap[type] || type || '未知';
|
||||||
|
},
|
||||||
getRegTypeText(regType) {
|
getRegTypeText(regType) {
|
||||||
const typeMap = {
|
const typeMap = {
|
||||||
'I': '个人',
|
'I': '个人',
|
||||||
@ -293,24 +317,8 @@ export default {
|
|||||||
const lastName = this.realNameData.owner.dom_ln_m || '';
|
const lastName = this.realNameData.owner.dom_ln_m || '';
|
||||||
const firstName = this.realNameData.owner.dom_fn_m || '';
|
const firstName = this.realNameData.owner.dom_fn_m || '';
|
||||||
return lastName + firstName || '未填写';
|
return lastName + firstName || '未填写';
|
||||||
},
|
|
||||||
getFullEnglishName() {
|
|
||||||
if (!this.realNameData?.owner) return '未填写';
|
|
||||||
const lastName = this.realNameData.owner.dom_ln || '';
|
|
||||||
const firstName = this.realNameData.owner.dom_fn || '';
|
|
||||||
return (lastName + ' ' + firstName).trim() || '未填写';
|
|
||||||
},
|
|
||||||
getDnsServers() {
|
|
||||||
if (!this.realNameData?.dns_hosts) return [];
|
|
||||||
return [
|
|
||||||
this.realNameData.dns_hosts.dns_host1,
|
|
||||||
this.realNameData.dns_hosts.dns_host2,
|
|
||||||
this.realNameData.dns_hosts.dns_host3,
|
|
||||||
this.realNameData.dns_hosts.dns_host4,
|
|
||||||
this.realNameData.dns_hosts.dns_host5,
|
|
||||||
this.realNameData.dns_hosts.dns_host6
|
|
||||||
].filter(Boolean);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loadRealNameInfo();
|
this.loadRealNameInfo();
|
||||||
|
|||||||
@ -389,12 +389,18 @@ export default {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
params: formData,
|
params: formData,
|
||||||
onSuccess: (response) => {
|
onSuccess: (response) => {
|
||||||
if (response && response.status === "success") {
|
// 修复API响应处理逻辑,支持两种响应格式
|
||||||
|
if (response && response.message && response.message.status === "success") {
|
||||||
|
toast.success('实名资料上传成功,请等待审核');
|
||||||
|
this.$emit('success');
|
||||||
|
this.$emit('close');
|
||||||
|
} else if (response && response.status === "success") {
|
||||||
toast.success('实名资料上传成功,请等待审核');
|
toast.success('实名资料上传成功,请等待审核');
|
||||||
this.$emit('success');
|
this.$emit('success');
|
||||||
this.$emit('close');
|
this.$emit('close');
|
||||||
} else {
|
} else {
|
||||||
toast.error(response.message || '上传失败,请重试');
|
const errorMessage = response?.message?.message || response?.message || '上传失败,请重试';
|
||||||
|
toast.error(errorMessage);
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user