c
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
<script setup>
|
||||
import CG11BJ06 from "@/ui/CG11BJ06.vue";
|
||||
import CG29BJ05 from "@/ui/CG29BJ05.vue";
|
||||
const featureMap = {
|
||||
G09SC02: {
|
||||
name: "婚姻状态",
|
||||
@@ -17,7 +15,7 @@ const featureMap = {
|
||||
remark: '查询结果为"未婚或尚未登记结婚"时,表示婚姻登记处暂无相关的登记记录。婚姻状态信息由婚姻登记处逐级上报,可能存在数据遗漏或更新滞后。当前可查询的婚姻状态包括:未婚或尚未登记结婚、已婚、离异。如您对查询结果有疑问,请联系客服反馈。',
|
||||
},
|
||||
G27BJ05: {
|
||||
name: "借贷申请记录",
|
||||
name: "本人需求推测",
|
||||
component: defineAsyncComponent(() =>
|
||||
import("@/ui/CBankLoanApplication.vue")
|
||||
),
|
||||
@@ -45,7 +43,7 @@ const featureMap = {
|
||||
component: defineAsyncComponent(() => import("@/ui/CLawsuitPP.vue")),
|
||||
},
|
||||
G05HZ01: {
|
||||
name: "股东人企关系",
|
||||
name: "名下企业关联",
|
||||
component: defineAsyncComponent(() =>
|
||||
import("@/ui/CRelatedEnterprises.vue")
|
||||
),
|
||||
@@ -120,6 +118,10 @@ const featureMap = {
|
||||
name: "名下车辆",
|
||||
component: defineAsyncComponent(() => import("@/ui/CCAR061.vue")),
|
||||
},
|
||||
QCXG9P1C: {
|
||||
name: "名下车辆",
|
||||
component: defineAsyncComponent(() => import("@/ui/CQCXG9P1C.vue")),
|
||||
},
|
||||
COM187: {
|
||||
name: "限制出境查询",
|
||||
component: defineAsyncComponent(() => import("@/ui/CCOM187.vue")),
|
||||
@@ -181,7 +183,7 @@ const featureMap = {
|
||||
),
|
||||
},
|
||||
PersonEnterprisePro: {
|
||||
name: "人企关系加强版",
|
||||
name: "名下企业关联",
|
||||
component: defineAsyncComponent(() =>
|
||||
import("@/ui/CPersonEnterprisePro/index.vue")
|
||||
),
|
||||
@@ -195,6 +197,27 @@ const featureMap = {
|
||||
component: defineAsyncComponent(() => import("@/ui/CG11BJ06.vue")),
|
||||
remark: "暂无学历信息记录可能是因为学历信息不公开、暂无高等教育学历(大专及以上学历)或学历较早未被数字化收录。",
|
||||
},
|
||||
FLXGDEA9: {
|
||||
name: "本人不良",
|
||||
component: defineAsyncComponent(() => import("@/ui/CFLXGDEA9.vue")),
|
||||
},
|
||||
IVYZ6G7H: {
|
||||
name: "婚姻状态(补证版)",
|
||||
component: defineAsyncComponent(() => import("@/ui/CIVYZ6G7H.vue")),
|
||||
},
|
||||
IVYZ3A7F: {
|
||||
name: "学历信息查询(含学校名称)",
|
||||
component: defineAsyncComponent(() => import("@/ui/CIVYZ3A7F.vue")),
|
||||
},
|
||||
YYSY7D3E: {
|
||||
name: "携号转网查询",
|
||||
component: defineAsyncComponent(() => import("@/ui/CYYSY7D3E.vue")),
|
||||
},
|
||||
IVYZ3P9M: {
|
||||
name: "学历信息",
|
||||
component: defineAsyncComponent(() => import("@/ui/IVYZ3P9M.vue")),
|
||||
remark: '学历信息展示学生姓名、身份证号、学校、专业、入学与毕业时间、学历层次以及学习形式等字段,可结合字典编码了解具体含义。',
|
||||
},
|
||||
};
|
||||
|
||||
import LEmpty from "@/components/LEmpty.vue";
|
||||
@@ -215,6 +238,8 @@ const orderNo = ref("");
|
||||
const isEmpty = ref(false);
|
||||
const isPending = ref(false);
|
||||
const reportScore = ref(0);
|
||||
const queryState = ref("");
|
||||
const pollingInterval = ref(null);
|
||||
|
||||
onMounted(() => {
|
||||
const query = new URLSearchParams(window.location.search);
|
||||
@@ -225,10 +250,15 @@ onMounted(() => {
|
||||
orderNo.value = route.query.orderNo;
|
||||
}
|
||||
if (!orderId.value && !orderNo.value) return;
|
||||
|
||||
getReport();
|
||||
});
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
if (pollingInterval.value) {
|
||||
clearInterval(pollingInterval.value);
|
||||
}
|
||||
});
|
||||
|
||||
const getReport = async () => {
|
||||
let queryUrl = "";
|
||||
if (orderNo.value) {
|
||||
@@ -242,20 +272,57 @@ const getReport = async () => {
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
reportData.value = data.value.data.query_data.sort((a, b) => {
|
||||
return a.feature.sort - b.feature.sort;
|
||||
});
|
||||
productId.value = data.value.data.product_id;
|
||||
reportParams.value = data.value.data.query_params;
|
||||
reportName.value = data.value.data.product_name;
|
||||
reportDateTime.value = data.value.data.create_time;
|
||||
reportScore.value = calculateScore(reportData.value);
|
||||
queryState.value = data.value.data.query_state;
|
||||
|
||||
if (queryState.value === "paid" || queryState.value === "success") {
|
||||
reportData.value = data.value.data.query_data.sort((a, b) => {
|
||||
return a.feature.sort - b.feature.sort;
|
||||
});
|
||||
productId.value = data.value.data.product_id;
|
||||
reportParams.value = data.value.data.query_params;
|
||||
reportName.value = data.value.data.product_name;
|
||||
reportDateTime.value = data.value.data.create_time;
|
||||
reportScore.value = calculateScore(reportData.value);
|
||||
isDone.value = true;
|
||||
console.log("reportData", reportData.value);
|
||||
// 如果成功,清除轮询
|
||||
if (pollingInterval.value) {
|
||||
clearInterval(pollingInterval.value);
|
||||
pollingInterval.value = null;
|
||||
}
|
||||
} else if (queryState.value === "pending") {
|
||||
// 如果是pending状态且没有轮询,启动轮询
|
||||
if (!pollingInterval.value) {
|
||||
pollingInterval.value = setInterval(() => {
|
||||
getReport();
|
||||
}, 1000); // 每1秒轮询一次
|
||||
}
|
||||
} else if (queryState.value === "failed") {
|
||||
isEmpty.value = true;
|
||||
isDone.value = true;
|
||||
|
||||
// 如果失败,清除轮询
|
||||
if (pollingInterval.value) {
|
||||
clearInterval(pollingInterval.value);
|
||||
pollingInterval.value = null;
|
||||
}
|
||||
} else if (queryState.value === "refunded") {
|
||||
isEmpty.value = true;
|
||||
isDone.value = true;
|
||||
|
||||
// 如果已退款,清除轮询
|
||||
if (pollingInterval.value) {
|
||||
clearInterval(pollingInterval.value);
|
||||
pollingInterval.value = null;
|
||||
}
|
||||
}
|
||||
} else if (data.value.code === 200003) {
|
||||
isEmpty.value = true;
|
||||
isDone.value = true;
|
||||
} else if (data.value.code === 200002) {
|
||||
isPending.value = true;
|
||||
isDone.value = true;
|
||||
}
|
||||
isDone.value = true;
|
||||
}
|
||||
};
|
||||
// 对请求参数进行脱敏处理
|
||||
@@ -364,14 +431,14 @@ const calculateScore = (reportData) => {
|
||||
FIN019: 100, // 银行卡黑名单
|
||||
|
||||
// 高风险指标(中优先级)
|
||||
G27BJ05: 40, // 借贷申请记录
|
||||
G27BJ05: 40, // 本人需求推测
|
||||
G28BJ05: 40, // 借贷行为记录
|
||||
G03HZ01: 70, // 手机号码风险
|
||||
|
||||
// 中风险指标(低优先级)
|
||||
G19BJ02: 50, // 手机二次卡
|
||||
G02BJ02: 50, // 手机在网时长
|
||||
G05HZ01: 50, // 人企关系
|
||||
G05HZ01: 50, // 名下企业关联
|
||||
|
||||
// 验证指标(最低优先级)
|
||||
G15BJ02: 25, // 手机三要素
|
||||
@@ -418,7 +485,7 @@ const calculateScore = (reportData) => {
|
||||
// 不计入风险
|
||||
break;
|
||||
|
||||
case "G27BJ05": // 借贷申请记录
|
||||
case "G27BJ05": // 本人需求推测
|
||||
if (data) {
|
||||
// 检查是否有申请记录(有则表示风险)
|
||||
let hasRisk = false;
|
||||
@@ -629,16 +696,18 @@ const calculateScore = (reportData) => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="min-h-full from-blue-100 to-white bg-gradient-to-b">
|
||||
<div v-if="queryState === 'pending'" class="loading-container">
|
||||
<div class="loading-spinner"></div>
|
||||
<p>报告生成中,请稍候...</p>
|
||||
</div>
|
||||
<div v-else-if="queryState === 'failed' || queryState === 'refunded'" class="p-4">
|
||||
<LEmpty />
|
||||
</div>
|
||||
<div v-else-if="queryState === 'paid' || queryState === 'success'"
|
||||
class="min-h-full from-blue-100 to-white bg-gradient-to-b">
|
||||
<template v-if="isDone">
|
||||
<!-- 当reportData.length > 1时使用van-tabs -->
|
||||
<van-tabs
|
||||
v-if="reportData.length > 1"
|
||||
v-model:active="active"
|
||||
scrollspy
|
||||
sticky
|
||||
:offset-top="46"
|
||||
>
|
||||
<van-tabs v-if="reportData.length > 1" v-model:active="active" scrollspy sticky :offset-top="46">
|
||||
<div class="flex flex-col gap-y-4 p-4">
|
||||
<LEmpty v-if="isEmpty" />
|
||||
<LPendding v-if="isPending" />
|
||||
@@ -655,54 +724,29 @@ const calculateScore = (reportData) => {
|
||||
<div id="overdiv" class="title mb-4">基本信息</div>
|
||||
<div class="card">
|
||||
<div class="flex flex-col gap-y-2">
|
||||
<LTitle
|
||||
title="报告信息"
|
||||
type="blue-green"
|
||||
></LTitle>
|
||||
<LTitle title="报告信息" type="blue-green"></LTitle>
|
||||
<div class="flex flex-col gap-2 my-2">
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>报告时间:</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2">
|
||||
<span class="text-gray-700 font-bold">报告时间:</span>
|
||||
<span class="text-gray-600">{{
|
||||
reportDateTime
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="!isEmpty"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>报告项目:</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="!isEmpty">
|
||||
<span class="text-gray-700 font-bold">报告项目:</span>
|
||||
<span class="text-gray-600">
|
||||
{{ reportName }}</span
|
||||
>
|
||||
{{ reportName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<template
|
||||
v-if="
|
||||
Object.keys(reportParams).length !=
|
||||
0
|
||||
"
|
||||
>
|
||||
<LTitle
|
||||
title="报告对象"
|
||||
type="blue-green"
|
||||
></LTitle>
|
||||
<template v-if="
|
||||
Object.keys(reportParams).length !=
|
||||
0
|
||||
">
|
||||
<LTitle title="报告对象" type="blue-green"></LTitle>
|
||||
<div class="flex flex-col gap-2 my-2">
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.name"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.name">
|
||||
<span class="text-gray-700 font-bold">姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -710,31 +754,20 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.id_card"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.id_card">
|
||||
<span class="text-gray-700 font-bold">身份证号</span>
|
||||
<span class="text-gray-600">
|
||||
{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
reportParams?.id_card
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameMan"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>男方姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameMan">
|
||||
<span class="text-gray-700 font-bold">男方姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -742,14 +775,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardMan"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>男方身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardMan">
|
||||
<span class="text-gray-700 font-bold">男方身份证号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
@@ -757,14 +785,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameWoman"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>女方姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameWoman">
|
||||
<span class="text-gray-700 font-bold">女方姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -772,14 +795,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardWoman"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>女方身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardWoman">
|
||||
<span class="text-gray-700 font-bold">女方身份证号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
@@ -787,14 +805,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.bank_card"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>银行卡号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.bank_card">
|
||||
<span class="text-gray-700 font-bold">银行卡号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"bank_card",
|
||||
@@ -802,14 +815,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.mobile"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>手机号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.mobile">
|
||||
<span class="text-gray-700 font-bold">手机号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"mobile",
|
||||
@@ -817,16 +825,10 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="
|
||||
reportParams?.verification_code
|
||||
"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>验证码</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="
|
||||
reportParams?.verification_code
|
||||
">
|
||||
<span class="text-gray-700 font-bold">验证码</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"code",
|
||||
@@ -834,14 +836,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.car_license"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>车牌号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.car_license">
|
||||
<span class="text-gray-700 font-bold">车牌号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"car_license",
|
||||
@@ -849,14 +846,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_name"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>企业名称</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_name">
|
||||
<span class="text-gray-700 font-bold">企业名称</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"ent_name",
|
||||
@@ -864,14 +856,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_code"
|
||||
>
|
||||
<span
|
||||
class="text-gray-700 font-bold"
|
||||
>企业代码</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_code">
|
||||
<span class="text-gray-700 font-bold">企业代码</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"ent_code",
|
||||
@@ -880,23 +867,16 @@ const calculateScore = (reportData) => {
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="flex flex-col gap-4">
|
||||
<div
|
||||
class="flex items-center bg-blue-100 rounded-xl px-4 py-2 flex-1"
|
||||
>
|
||||
<div class="flex items-center bg-blue-100 rounded-xl px-4 py-2 flex-1">
|
||||
<div
|
||||
class="bg-green-500 w-12 h-12 text-white text-xl flex items-center justify-center rounded-full mr-4"
|
||||
>
|
||||
class="bg-green-500 w-12 h-12 text-white text-xl flex items-center justify-center rounded-full mr-4">
|
||||
✔
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
class="font-bold text-lg"
|
||||
>
|
||||
<div class="font-bold text-lg">
|
||||
身份证检查结果
|
||||
</div>
|
||||
<div
|
||||
class="text-sm text-gray-600"
|
||||
>
|
||||
<div class="text-sm text-gray-600">
|
||||
身份证信息核验通过
|
||||
</div>
|
||||
</div>
|
||||
@@ -906,32 +886,20 @@ const calculateScore = (reportData) => {
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<LRemark
|
||||
content="如查询的姓名/身份证与运营商提供的不一致,可能会存在报告内容不匹配的情况"
|
||||
/>
|
||||
<LRemark content="如查询的姓名/身份证与运营商提供的不一致,可能会存在报告内容不匹配的情况" />
|
||||
</van-tab>
|
||||
<van-tab
|
||||
v-for="(item, index) in reportData"
|
||||
:key="index"
|
||||
:title="featureMap[item.data.apiID]?.name"
|
||||
>
|
||||
<van-tab v-for="(item, index) in reportData" :key="index"
|
||||
:title="featureMap[item.data.apiID]?.name">
|
||||
<div id="lawsuit" class="title mb-4">
|
||||
{{ featureMap[item.data.apiID]?.name }}
|
||||
</div>
|
||||
<component
|
||||
:is="featureMap[item.data.apiID]?.component"
|
||||
:data="item.data.data"
|
||||
:params="reportParams"
|
||||
:isMerriageProduct="
|
||||
item.data.apiID === 'G09SC02' ||
|
||||
<component :is="featureMap[item.data.apiID]?.component" :data="item.data.data"
|
||||
:params="reportParams" :isMerriageProduct="item.data.apiID === 'G09SC02' ||
|
||||
item.data.apiID === 'IDV044'
|
||||
"
|
||||
>
|
||||
">
|
||||
</component>
|
||||
<LRemark
|
||||
v-if="featureMap[item.data.apiID]?.remark"
|
||||
:content="featureMap[item.data.apiID]?.remark"
|
||||
/>
|
||||
<LRemark v-if="featureMap[item.data.apiID]?.remark"
|
||||
:content="featureMap[item.data.apiID]?.remark" />
|
||||
</van-tab>
|
||||
</template>
|
||||
</div>
|
||||
@@ -946,43 +914,23 @@ const calculateScore = (reportData) => {
|
||||
<div class="flex flex-col gap-y-2">
|
||||
<LTitle title="报告信息" type="blue-green"></LTitle>
|
||||
<div class="flex flex-col gap-2 my-2">
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>报告时间:</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2">
|
||||
<span class="text-gray-700 font-bold">报告时间:</span>
|
||||
<span class="text-gray-600">{{
|
||||
reportDateTime
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="!isEmpty"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>报告项目:</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="!isEmpty">
|
||||
<span class="text-gray-700 font-bold">报告项目:</span>
|
||||
<span class="text-gray-600">
|
||||
{{ reportName }}</span
|
||||
>
|
||||
{{ reportName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<template
|
||||
v-if="Object.keys(reportParams).length != 0"
|
||||
>
|
||||
<LTitle
|
||||
title="报告对象"
|
||||
type="blue-green"
|
||||
></LTitle>
|
||||
<template v-if="Object.keys(reportParams).length != 0">
|
||||
<LTitle title="报告对象" type="blue-green"></LTitle>
|
||||
<div class="flex flex-col gap-2 my-2">
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.name"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.name">
|
||||
<span class="text-gray-700 font-bold">姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -990,29 +938,18 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.id_card"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.id_card">
|
||||
<span class="text-gray-700 font-bold">身份证号</span>
|
||||
<span class="text-gray-600">
|
||||
{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
reportParams?.id_card
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameMan"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>男方姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.nameMan">
|
||||
<span class="text-gray-700 font-bold">男方姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -1020,13 +957,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardMan"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>男方身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.idCardMan">
|
||||
<span class="text-gray-700 font-bold">男方身份证号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
@@ -1034,13 +966,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.nameWoman"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>女方姓名</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.nameWoman">
|
||||
<span class="text-gray-700 font-bold">女方姓名</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"name",
|
||||
@@ -1048,13 +975,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardWoman"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>女方身份证号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.idCardWoman">
|
||||
<span class="text-gray-700 font-bold">女方身份证号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"id_card",
|
||||
@@ -1062,13 +985,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.bank_card"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>银行卡号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.bank_card">
|
||||
<span class="text-gray-700 font-bold">银行卡号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"bank_card",
|
||||
@@ -1076,13 +994,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.mobile"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>手机号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.mobile">
|
||||
<span class="text-gray-700 font-bold">手机号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"mobile",
|
||||
@@ -1090,13 +1003,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.verification_code"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>验证码</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.verification_code">
|
||||
<span class="text-gray-700 font-bold">验证码</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"code",
|
||||
@@ -1104,13 +1013,9 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.car_license"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>车牌号</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.car_license">
|
||||
<span class="text-gray-700 font-bold">车牌号</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"car_license",
|
||||
@@ -1118,13 +1023,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_name"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>企业名称</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.ent_name">
|
||||
<span class="text-gray-700 font-bold">企业名称</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"ent_name",
|
||||
@@ -1132,13 +1032,8 @@ const calculateScore = (reportData) => {
|
||||
)
|
||||
}}</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between border-b pb-2 pl-2"
|
||||
v-if="reportParams?.ent_code"
|
||||
>
|
||||
<span class="text-gray-700 font-bold"
|
||||
>企业代码</span
|
||||
>
|
||||
<div class="flex justify-between border-b pb-2 pl-2" v-if="reportParams?.ent_code">
|
||||
<span class="text-gray-700 font-bold">企业代码</span>
|
||||
<span class="text-gray-600">{{
|
||||
maskValue(
|
||||
"ent_code",
|
||||
@@ -1147,21 +1042,16 @@ const calculateScore = (reportData) => {
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="flex flex-col gap-4">
|
||||
<div
|
||||
class="flex items-center bg-blue-100 rounded-xl px-4 py-2 flex-1"
|
||||
>
|
||||
<div class="flex items-center bg-blue-100 rounded-xl px-4 py-2 flex-1">
|
||||
<div
|
||||
class="bg-green-500 w-12 h-12 text-white text-xl flex items-center justify-center rounded-full mr-4"
|
||||
>
|
||||
class="bg-green-500 w-12 h-12 text-white text-xl flex items-center justify-center rounded-full mr-4">
|
||||
✔
|
||||
</div>
|
||||
<div>
|
||||
<div class="font-bold text-lg">
|
||||
身份证检查结果
|
||||
</div>
|
||||
<div
|
||||
class="text-sm text-gray-600"
|
||||
>
|
||||
<div class="text-sm text-gray-600">
|
||||
身份证信息核验通过
|
||||
</div>
|
||||
</div>
|
||||
@@ -1171,28 +1061,20 @@ const calculateScore = (reportData) => {
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<LRemark
|
||||
content="如查询的姓名/身份证与运营商提供的不一致,可能会存在报告内容不匹配的情况"
|
||||
/>
|
||||
<LRemark content="如查询的姓名/身份证与运营商提供的不一致,可能会存在报告内容不匹配的情况" />
|
||||
<!-- 显示报告数据 -->
|
||||
|
||||
<template v-for="(item, index) in reportData" :key="index">
|
||||
<div id="lawsuit" class="title">
|
||||
{{ featureMap[item.data.apiID]?.name }}
|
||||
</div>
|
||||
<component
|
||||
:is="featureMap[item.data.apiID]?.component"
|
||||
:data="item.data.data"
|
||||
:params="reportParams"
|
||||
:isMerriageProduct="
|
||||
item.data.apiID === 'G09SC02' ||
|
||||
<component :is="featureMap[item.data.apiID]?.component" :data="item.data.data"
|
||||
:params="reportParams" :isMerriageProduct="item.data.apiID === 'G09SC02' ||
|
||||
item.data.apiID === 'IDV044'
|
||||
"
|
||||
>
|
||||
">
|
||||
</component>
|
||||
<LRemark
|
||||
v-if="featureMap[item.data.apiID]?.remark"
|
||||
:content="featureMap[item.data.apiID]?.remark"
|
||||
/>
|
||||
<LRemark v-if="featureMap[item.data.apiID]?.remark"
|
||||
:content="featureMap[item.data.apiID]?.remark" />
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
@@ -1207,9 +1089,7 @@ const calculateScore = (reportData) => {
|
||||
本报告的数据由用户本人明确授权后,我们才向相关合法存有用户个人数据的机构调取本报告相关内容,本平台只做大数据的获取与分析,仅向用户个人展示参考。
|
||||
</div>
|
||||
<p>
|
||||
报告有效期<strong class="text-red-500"
|
||||
>15天</strong
|
||||
>,过期自动删除。
|
||||
报告有效期<strong class="text-red-500">15天</strong>,过期自动删除。
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -1226,6 +1106,10 @@ const calculateScore = (reportData) => {
|
||||
</div>
|
||||
<div class="disclaimer">
|
||||
<div class="flex flex-col items-center">
|
||||
<div class="flex items-center">
|
||||
<img class="w-4 h-4 mr-2" src="@/assets/images/public_security_record_icon.png" alt="公安备案" />
|
||||
<text>桂公网安备45010002451084号</text>
|
||||
</div>
|
||||
<div>
|
||||
<a class="text-blue-500" href="https://beian.miit.gov.cn">
|
||||
桂ICP备2024038462号
|
||||
@@ -1255,4 +1139,37 @@ const calculateScore = (reportData) => {
|
||||
padding-bottom: 60px;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
|
||||
.loading-spinner {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border: 4px solid #f3f3f3;
|
||||
border-top: 4px solid #3498db;
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #666;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user