<template>
|
<div class="product" ref="product">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="个人反欺诈分析" name="first">
|
<el-form ref="creditForm" label-width="165px" inline size="small">
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
个人风险指数信息
|
</p>
|
<p>
|
<!-- {{ personRiskInfo.personAntiSpoofingDesc }} -->
|
风险指数 :<span style="color: red">{{
|
personRiskInfo.riskIndex
|
}}</span>
|
( 指数范围:[0,1000])
|
</p>
|
<p>
|
<!-- {{ personRiskInfo.personAntiSpoofingDesc }} -->
|
命中风险类型 :
|
<span v-if="!personRiskInfo.personAntiSpoofingDesc"
|
>未命中风险</span
|
>{{ personRiskInfo.personAntiSpoofingDesc }}
|
</p>
|
</div>
|
<div v-for="(item, index) in [0]" :key="index">
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
{{ creditKey[item].title }}
|
</p>
|
<div class="form">
|
<template v-for="(data, i) in creditKey[item].data">
|
<el-form-item
|
:label="data.label"
|
:class="{ isLong: data.isLong }"
|
>
|
<el-input
|
v-model="personRiskInfo[data.field]"
|
:type="data.type || 'input'"
|
:disabled="true"
|
>
|
</el-input>
|
</el-form-item>
|
</template>
|
</div>
|
</div>
|
</div>
|
<div class="py-table-container" style="width: 100%">
|
<div class="_block" v-for="(item, index) in tableKeys" :key="index">
|
<p class="title">
|
<span></span>
|
{{ item.title }}
|
</p>
|
<el-table
|
empty-text="根据已提供的查询条件,未能在系统中查得相关信息"
|
:header-cell-style="{ background: '#f5f5f5', color: '#222222' }"
|
highlight-current-row
|
:data="riskInfo[item.modal]"
|
stripe
|
style="width: 100%"
|
>
|
<el-table-column
|
:type="data.type ? 'index' : ''"
|
:property="data.field"
|
:label="data.label"
|
v-for="(data, i) of item.data"
|
:key="i"
|
>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</el-form>
|
</el-tab-pane>
|
<el-tab-pane label="手机号码核查" name="second">
|
<div v-for="(item, index) in [1, 2]" :key="index">
|
<el-form ref="creditForm" label-width="165px" inline size="small">
|
<div class="_block">
|
<p class="title">
|
<span></span>
|
{{ creditKey[item].title }}
|
</p>
|
<div class="form">
|
<template v-for="(data, i) in creditKey[item].data">
|
<el-form-item
|
:label="data.label"
|
:class="{ isLong: data.isLong }"
|
>
|
<el-input
|
v-model="phoneInfos[data.field]"
|
:type="data.type || 'input'"
|
:disabled="true"
|
>
|
</el-input>
|
</el-form-item>
|
</template>
|
</div>
|
</div>
|
</el-form>
|
</div>
|
</el-tab-pane>
|
</el-tabs>
|
<div class="fixedBtn">
|
<!-- <el-button size="medium" plain @click="saveDraft(creditForm)" v-if="applyInfo.phaseNo == '0040' && !isReadonly">
|
保存草稿
|
</el-button>
|
<el-button size="medium" plain @click="save(creditForm)" v-if="applyInfo.phaseNo == '0060' && !isReadonly">保存
|
</el-button> -->
|
<!-- <el-button size="medium" plain @click="prevStep"
|
v-if="(applyInfo.phaseNo == '0040' || applyInfo.phaseNo == '0060') && !isReadonly">上一步</el-button> -->
|
<el-button size="medium" plain @click="prevStep">上一步</el-button>
|
<!-- <el-button size="medium" type="primary" @click="submit(creditForm)"
|
v-if="(applyInfo.phaseNo == '0040' || applyInfo.phaseNo == '0060') && !isReadonly">下一步</el-button> -->
|
<el-button size="medium" type="primary" @click="nextPage()"
|
>下一步</el-button
|
>
|
</div>
|
</div>
|
</template>
|
<script>
|
import {
|
queryRiskInfos,
|
queryPhoneInfos,
|
saveMultiplecreditInfo,
|
submitMultiplecreditInfo,
|
getDictionaryList,
|
} from "@/api/product";
|
import common from "@/utils/common";
|
import Branch from "@views/product/components/Branch";
|
const tabelHeaderKeys = [
|
[
|
{ label: "序号", type: "index", field: "index" },
|
{ label: "标题", field: "bt" },
|
{ label: "案号", field: "ah" },
|
{ label: "立案日期", field: "larq" },
|
],
|
[
|
{ label: "序号", type: "index", field: "index" },
|
{ label: "标题", field: "bt" },
|
{ label: "案号", field: "ah" },
|
{ label: "案件类型", field: "ajlx" },
|
{ label: "审结日期", field: "sjrq" },
|
{ label: "当事人类型", field: "dsrlx" },
|
],
|
[
|
{ label: "序号", type: "index", field: "index" },
|
{ label: "标题", field: "bt" },
|
{ label: "处罚决定书文号", field: "wsh" },
|
{ label: "公告日期", field: "ggrq" },
|
],
|
[
|
{ label: "序号", type: "index", field: "index" },
|
{ label: "标题", field: "bt" },
|
{ label: "案号", field: "ah" },
|
{ label: "公告日期", field: "ggrq" },
|
],
|
[
|
{ label: "序号", type: "index", field: "index" },
|
{ label: "标题", field: "bt" },
|
{ label: "处罚决定书文号", field: "wsh" },
|
{ label: "处罚决定/公告日期", field: "cfrq" },
|
],
|
];
|
export default {
|
data() {
|
return {
|
applyInfo: this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
initialArr: [], //初始数据
|
creditForm: [],
|
creditArr: [],
|
rules: {},
|
repayTypeList: [],
|
fundUnitList: [],
|
provinceList: [],
|
cityList: [],
|
countyList: [],
|
areaList: [],
|
yesNoList: [],
|
riskInfo: {},
|
phoneInfos: {},
|
personRiskInfo: {},
|
activeName: "first",
|
creditKey: [
|
{
|
modal: "personRiskInfo",
|
title: "个人风险信息汇总",
|
data: [
|
{ field: "zxCount", label: "司法执行信息" },
|
{ field: "swCount", label: "税务行政执法信息" },
|
{ field: "sxCount", label: "司法失信信息" },
|
{ field: "alCount", label: "裁判文书信息条数" },
|
{ field: "sdCount", label: "公告送达信息条数" },
|
{ field: "ktCount", label: "开庭公告信息条数" },
|
{ field: "spCount", label: "审判流程信息条数" },
|
{ field: "zbCount", label: "终本案件信息条数" },
|
{ field: "scCount", label: "市场监管信息条数" },
|
{ field: "hgCount", label: "海关信息条数" },
|
{ field: "hbCount", label: "环保信息条数" },
|
{ field: "qtCount", label: "其他行政处罚信息条数" },
|
],
|
},
|
{
|
modal: "riskInfo",
|
title: "个人风险信息汇总",
|
data: [
|
{ field: "operatorDesc", label: "运营商名称" },
|
{ field: "areaInfo", label: "手机号码归属地" },
|
{ field: "phoneCheckResult", label: "手机号码核查结果" },
|
{ field: "nameCheckResult", label: "姓名核查结果" },
|
{ field: "documentNoCheckResult", label: "证件号码核查结果" },
|
],
|
},
|
{
|
modal: "riskInfo",
|
title: "手机号码状态及在网时长查询结果",
|
data: [
|
{ field: "phone", label: "手机号码" },
|
{ field: "operatorDesc", label: "运营商名称" },
|
{ field: "areaInfo", label: "手机号码归属地" },
|
{ field: "phoneStatusDesc", label: "手机号码状态" },
|
{ field: "timeLength", label: "在网时长" },
|
{ field: "cancelTime", label: "最近一次销号时间" },
|
],
|
},
|
],
|
tableKeys: [
|
{
|
modal: "zxsInfos",
|
title: "执行信息",
|
data: tabelHeaderKeys[0],
|
},
|
{
|
modal: "sxsInfos",
|
title: "失信信息",
|
data: tabelHeaderKeys[0],
|
},
|
{
|
modal: "alsInfos",
|
title: "裁判文书概要信息",
|
data: tabelHeaderKeys[1],
|
},
|
{
|
modal: "swsInfos",
|
title: "税务行政执法信息",
|
data: tabelHeaderKeys[2],
|
},
|
{
|
modal: "sdsInfos",
|
title: "公告送达概要信息",
|
data: tabelHeaderKeys[3],
|
},
|
{
|
modal: "ktsInfos",
|
title: "开庭公告概要信息",
|
data: tabelHeaderKeys[3],
|
},
|
{
|
modal: "spsInfos",
|
title: "审判流程概要信息",
|
data: tabelHeaderKeys[0],
|
},
|
{
|
modal: "zbsInfos",
|
title: "终本案件概要信息",
|
data: tabelHeaderKeys[0],
|
},
|
{
|
modal: "scsInfos",
|
title: "市场监管概要信息",
|
data: tabelHeaderKeys[4],
|
},
|
{
|
modal: "hgsInfos",
|
title: "海关信息概要信息",
|
data: tabelHeaderKeys[4],
|
},
|
{
|
modal: "hbsInfos",
|
title: "环保信息概要信息",
|
data: tabelHeaderKeys[4],
|
},
|
{
|
modal: "qtsInfos",
|
title: "其他行政处罚概要信息",
|
data: tabelHeaderKeys[4],
|
},
|
],
|
};
|
},
|
props: {
|
// 申请编号
|
applyInfoProp: {
|
type: Object,
|
defaul: () => {
|
return this.$store.state.product.applyInfo;
|
},
|
},
|
},
|
async created() {
|
if (!this.applyInfoProp) {
|
this.applyInfo = this.$store.state.product.applyInfo;
|
} else {
|
this.applyInfo = this.applyInfoProp;
|
}
|
this.$parent._data.loading = true;
|
if (this.applyInfo.phoneCheckInfo && this.applyInfo.riskInfo) {
|
this.applyInfoDesc(this.applyInfo.phoneCheckInfo, this.applyInfo.riskInfo);
|
} else {
|
const phoneInfos = await this.queryPhoneInfos();
|
const riskInfo = await this.queryRiskInfos();
|
this.applyInfoDesc(phoneInfos, riskInfo);
|
}
|
|
this.$parent._data.loading = false;
|
},
|
components: {
|
Branch,
|
},
|
computed: {
|
isReadonly() {
|
return (
|
this.$parent._data.applyMenu[this.$parent._data.activeIndex].readonly ==
|
"Y"
|
);
|
},
|
},
|
watch: {
|
applyInfoProp: {
|
handler(newVal) {
|
console.log(newVal);
|
console.log("征信信息切换", newVal.phoneCheckInfo, newVal.riskInfo);
|
if (newVal.phoneCheckInfo && newVal.riskInfo) {
|
this.applyInfoDesc(newVal.phoneCheckInfo, newVal.riskInfo);
|
}
|
},
|
},
|
},
|
methods: {
|
//请求或者父组件传过来数据添加描述
|
applyInfoDesc(phoneInfos, riskInfo) {
|
this.phoneInfos = phoneInfos;
|
if (phoneInfos.operator) {
|
switch (phoneInfos.operator) {
|
case "1":
|
phoneInfos.operatorDesc = "中国电信";
|
break;
|
case "2":
|
phoneInfos.operatorDesc = "中国移动";
|
break;
|
case "3":
|
phoneInfos.operatorDesc = "中国联通";
|
break;
|
}
|
}
|
|
if (phoneInfos.phoneStatus) {
|
switch (phoneInfos.phoneStatus) {
|
case "1":
|
phoneInfos.phoneStatusDesc = "正常在用";
|
break;
|
case "2":
|
phoneInfos.phoneStatusDesc = "停机";
|
break;
|
case "3":
|
phoneInfos.phoneStatusDesc = "未启用";
|
break;
|
case "4":
|
phoneInfos.phoneStatusDesc = "已销号";
|
break;
|
case "5":
|
phoneInfos.phoneStatusDesc = "其他";
|
break;
|
case "6":
|
phoneInfos.phoneStatusDesc = "预销号";
|
break;
|
}
|
}
|
this.riskInfo = riskInfo;
|
this.personRiskInfo = riskInfo.personRiskInfo;
|
},
|
//查询征信信息
|
queryRiskInfos() {
|
return new Promise((resolve) => {
|
queryRiskInfos({
|
applySerialNo: this.applyInfo.serialNo,
|
}).then((res) => {
|
resolve(res.result);
|
});
|
});
|
},
|
queryPhoneInfos() {
|
return new Promise((resolve) => {
|
queryPhoneInfos({
|
applySerialNo: this.applyInfo.serialNo,
|
}).then((res) => {
|
resolve(res.result);
|
});
|
});
|
},
|
|
// 上一步或上一页
|
prevStep() {
|
this.applyMenu.forEach((val, index) => {
|
if (val.tabname == "征信信息") {
|
common.tabInfo(
|
this.applyMenu[index - 1].tabname,
|
this.applyInfo.flowno,
|
this
|
);
|
}
|
});
|
},
|
// 下一页
|
nextPage() {
|
// 调用父组件的查询左侧tab的方法
|
this.$parent.updateApplyTabTree("征信信息");
|
},
|
},
|
};
|
</script>
|
<style>
|
.product .form .el-form-item.isLong {
|
width: 100% !important;
|
}
|
</style>
|