|
|
|
@ -277,21 +277,30 @@ |
|
|
|
|
class="flex items-center mb-3"> |
|
|
|
|
<div class="radio-wrap"> |
|
|
|
|
<span class="label">{{ item.name }}</span> |
|
|
|
|
<el-radio-group v-model="form.creditScoringStrategyList[i].tacticsSelectedStatus"> |
|
|
|
|
<el-radio v-for="(option, j) in item?.recordChildren[0]?.subject?.itemList" |
|
|
|
|
<el-radio-group v-model="form.creditScoringStrategyList[i].tacticsSelectedStatus" |
|
|
|
|
@change="getCredits(i)"> |
|
|
|
|
<el-radio v-for="(option, j) in whethers1" |
|
|
|
|
:key="j" |
|
|
|
|
:label="option.itemId">{{ option.options }}</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-select v-if="form.creditScoringStrategyList[i].tacticsSelectedStatus === 803" |
|
|
|
|
class="ml-5" |
|
|
|
|
<template v-if="form.creditScoringStrategyList[i].tacticsSelectedStatus === 803 && item.blackList"> |
|
|
|
|
<el-select class="ml-5 mr-3" |
|
|
|
|
v-model="form.creditScoringStrategyList[i].tacticsId" |
|
|
|
|
placeholder="请选择"> |
|
|
|
|
<el-option v-for="item in credits.filter(e => !e.scoringObject)" |
|
|
|
|
<el-option v-for="item in item?.blackList" |
|
|
|
|
:key="item" |
|
|
|
|
:value="item.scoreCardName" /> |
|
|
|
|
:label="item.scoreCardName" |
|
|
|
|
:value="item.id" /> |
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
<img v-if="form.creditScoringStrategyList[i].tacticsId" |
|
|
|
|
src="@/assets/svgs/preview.svg" |
|
|
|
|
alt="" |
|
|
|
|
class="cursor-pointer" |
|
|
|
|
@click="previewCredits(item, i)"> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
@ -327,20 +336,24 @@ |
|
|
|
|
:key="i" |
|
|
|
|
class="radio-wrap mb-3"> |
|
|
|
|
<span class="label">{{ item.name }}</span> |
|
|
|
|
<el-radio-group v-model="form.interestRatePricingModelList[i].tacticsSelectedStatus"> |
|
|
|
|
<el-radio-group v-model="form.interestRatePricingModelList[i].tacticsSelectedStatus" |
|
|
|
|
@change="getRate(i)"> |
|
|
|
|
<el-radio v-for="(option, j) in whethers1" |
|
|
|
|
:key="j" |
|
|
|
|
:label="option.itemId">{{ option.options }}</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
|
|
|
|
|
<template v-if="form.interestRatePricingModelList[i].tacticsSelectedStatus === 803 && item.blackList"> |
|
|
|
|
<el-select v-if="form.interestRatePricingModelList[i].tacticsSelectedStatus === 803" |
|
|
|
|
class="ml-5" |
|
|
|
|
class="ml-5 mr-3" |
|
|
|
|
v-model="form.interestRatePricingModelList[i].tacticsId" |
|
|
|
|
placeholder="请选择"> |
|
|
|
|
<el-option v-for="item in config[2]?.recordChildren[4]?.recordChildren[1]?.recordChildren[1]?.subject?.itemList" |
|
|
|
|
<el-option v-for="item in item?.blackList" |
|
|
|
|
:key="item.itemId" |
|
|
|
|
:label="item.options" |
|
|
|
|
:value="item.itemId" /> |
|
|
|
|
:label="item.modelName" |
|
|
|
|
:value="item.id" /> |
|
|
|
|
</el-select> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="radio-wrap items-start mb-3"> |
|
|
|
@ -363,19 +376,20 @@ |
|
|
|
|
|
|
|
|
|
<div class="radio-wrap items-start mb-3"> |
|
|
|
|
<span class="label">企业利率模型</span> |
|
|
|
|
<el-radio-group v-model="form.interestRatePricingModelList[2].tacticsSelectedStatus"> |
|
|
|
|
<el-radio-group v-model="form.interestRatePricingModelList[2].tacticsSelectedStatus" |
|
|
|
|
@change="getRate(2)"> |
|
|
|
|
<el-radio v-for="(option, j) in whethers1" |
|
|
|
|
:key="j" |
|
|
|
|
:label="option.itemId">{{ option.options }}</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<el-select v-if="form.interestRatePricingModelList[2].tacticsSelectedStatus === 803" |
|
|
|
|
<el-select v-if="form.interestRatePricingModelList[2].tacticsSelectedStatus === 803 && form.interestRatePricingModelList[2].blackList" |
|
|
|
|
class="ml-5" |
|
|
|
|
v-model="form.interestRatePricingModelList[2].tacticsId" |
|
|
|
|
placeholder="请选择"> |
|
|
|
|
<el-option v-for="item in config[2]?.recordChildren[4]?.recordChildren[1]?.recordChildren[1]?.subject?.itemList" |
|
|
|
|
<el-option v-for="item in form.interestRatePricingModelList[2].blackList" |
|
|
|
|
:key="item.itemId" |
|
|
|
|
:label="item.options" |
|
|
|
|
:value="item.itemId" /> |
|
|
|
|
:label="item.modelName" |
|
|
|
|
:value="item.id" /> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -563,20 +577,30 @@ |
|
|
|
|
:key="i" |
|
|
|
|
class="radio-wrap mb-3"> |
|
|
|
|
<span class="label min-w-[85px]">{{ item.name }}</span> |
|
|
|
|
<el-radio-group v-model="form.postLoanSelectionStrategyList[i].tacticsSelectedStatus"> |
|
|
|
|
<el-radio-group v-model="form.postLoanSelectionStrategyList[i].tacticsSelectedStatus" |
|
|
|
|
@change="getAfter(i)"> |
|
|
|
|
<el-radio v-for="(option, j) in item?.recordChildren[0]?.subject?.itemList" |
|
|
|
|
:key="j" |
|
|
|
|
:label="option.itemId">{{ option.options }}</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
|
|
|
|
|
<template v-if="form.postLoanSelectionStrategyList[i].tacticsSelectedStatus === 803 && item.blackList"> |
|
|
|
|
<el-select v-if="form.postLoanSelectionStrategyList[i].tacticsSelectedStatus === 803" |
|
|
|
|
class="ml-5" |
|
|
|
|
class="ml-5 mr-3" |
|
|
|
|
v-model="form.postLoanSelectionStrategyList[i].tacticsId" |
|
|
|
|
placeholder="请选择"> |
|
|
|
|
<el-option v-for="item in config[2]?.recordChildren[4]?.recordChildren[1]?.recordChildren[1]?.subject?.itemList" |
|
|
|
|
<el-option v-for="item in item.blackList" |
|
|
|
|
:key="item.itemId" |
|
|
|
|
:label="item.options" |
|
|
|
|
:value="item.itemId" /> |
|
|
|
|
:label="item.strategyName" |
|
|
|
|
:value="item.strategyId" /> |
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
<img v-if="form.postLoanSelectionStrategyList[i].tacticsId" |
|
|
|
|
src="@/assets/svgs/preview.svg" |
|
|
|
|
alt="" |
|
|
|
|
class="cursor-pointer" |
|
|
|
|
@click="previewAfter(item, i)"> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
@ -616,7 +640,6 @@ import type { TabsPaneContext, FormInstance } from 'element-plus'; |
|
|
|
|
import { findById, riskSave, riskUpdate, riskControlDetailsAreDisplayed } from '@/api/bank'; |
|
|
|
|
import { getProcessInformationBasedOnRoles, addOperation } from '@/api/judgment'; |
|
|
|
|
import { |
|
|
|
|
listCredit, |
|
|
|
|
accessStrategyGovernmentBlacklistList, |
|
|
|
|
accessStrategyCreditBlacklist, |
|
|
|
|
accessStrategyBusinessBlacklist, |
|
|
|
@ -624,6 +647,14 @@ import { |
|
|
|
|
accessStrategyEnterpriseBlacklist, |
|
|
|
|
accessStrategyAntiFraudStrategy, |
|
|
|
|
accessStrategyNegativeIndustryStrategy, |
|
|
|
|
listCredit, |
|
|
|
|
quotaModelList, |
|
|
|
|
interestRateModelList, |
|
|
|
|
fiveLevelClassification, |
|
|
|
|
postLoanInspection, |
|
|
|
|
postCreditScore, |
|
|
|
|
postLoanWarning, |
|
|
|
|
collectionAfterLoan, |
|
|
|
|
} from '@/api/model'; |
|
|
|
|
import { useRouter, useRoute } from 'vue-router'; |
|
|
|
|
import { handleId, getIds, getUsername } from '@/utils/common'; |
|
|
|
@ -684,7 +715,6 @@ const route = useRoute(); |
|
|
|
|
const id = computed(() => +route.query.id); |
|
|
|
|
const curTab = ref<string>(route.query.show ? 'tab2' : 'tab1'); |
|
|
|
|
const config = ref<any[]>([]); |
|
|
|
|
const credits = ref<Record<string, any>[]>([]); |
|
|
|
|
const info = ref<Record<string, any>>({}); |
|
|
|
|
const whethers = ref<Record<string, any>>([ |
|
|
|
|
{ |
|
|
|
@ -764,6 +794,7 @@ let form = reactive<RuleForm>({ |
|
|
|
|
|
|
|
|
|
const curPreviewTitle = ref<string>(); |
|
|
|
|
const assessNames = ['政务黑名单', '征信黑名单', '商采黑名单', '行内黑名单', '企业黑名单', '反欺诈策略', '负面行业黑名单策略']; |
|
|
|
|
const afterNames = ['五级分类策略', '贷后检查策略', '贷后评分卡', '贷后预警策略', '贷后催收策略']; |
|
|
|
|
const dynamicComponentMap = { |
|
|
|
|
'150': defineAsyncComponent(() => import('../strategy/150/Detail.vue')), |
|
|
|
|
'151': defineAsyncComponent(() => import('../strategy/151/Detail.vue')), |
|
|
|
@ -772,10 +803,13 @@ const dynamicComponentMap = { |
|
|
|
|
'154': defineAsyncComponent(() => import('../strategy/154/Detail.vue')), |
|
|
|
|
'155': defineAsyncComponent(() => import('../strategy/155/Detail.vue')), |
|
|
|
|
'156': defineAsyncComponent(() => import('../strategy/156/Detail.vue')), |
|
|
|
|
// '148': defineAsyncComponent(() => import('./Credit.vue')), |
|
|
|
|
// '702': defineAsyncComponent(() => import('./Risk1.vue')), |
|
|
|
|
// '703': defineAsyncComponent(() => import('./Risk2.vue')), |
|
|
|
|
// '704': defineAsyncComponent(() => import('./Risk3.vue')), |
|
|
|
|
'512': defineAsyncComponent(() => import('../strategy/512/Detail.vue')), |
|
|
|
|
'513': defineAsyncComponent(() => import('../strategy/513/Detail.vue')), |
|
|
|
|
'1029': defineAsyncComponent(() => import('../afterLoan/1029/Detail.vue')), |
|
|
|
|
'1030': defineAsyncComponent(() => import('../afterLoan/1030/Detail.vue')), |
|
|
|
|
'1031': defineAsyncComponent(() => import('../afterLoan/1031/Detail.vue')), |
|
|
|
|
'1032': defineAsyncComponent(() => import('../afterLoan/1032/Detail.vue')), |
|
|
|
|
'1033': defineAsyncComponent(() => import('../afterLoan/1033/Detail.vue')), |
|
|
|
|
}; |
|
|
|
|
const app = getCurrentInstance().appContext.app; |
|
|
|
|
for (const [name, asyncComponent] of Object.entries(dynamicComponentMap)) { |
|
|
|
@ -804,6 +838,64 @@ const getAccess = async (i: number) => { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 信用评分策略 |
|
|
|
|
const getCredits = async (i: number) => { |
|
|
|
|
const list = config.value[2]?.recordChildren[2]?.recordChildren; |
|
|
|
|
if (!list[i].blackList) { |
|
|
|
|
try { |
|
|
|
|
const res = await listCredit({ |
|
|
|
|
...strategyParams, |
|
|
|
|
type: i, |
|
|
|
|
}); |
|
|
|
|
if (res) list[i].blackList = res.data.records; |
|
|
|
|
} finally { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 利率定价模型 |
|
|
|
|
const getRate = async (i: number) => { |
|
|
|
|
const list = config.value[2].recordChildren[4].recordChildren; |
|
|
|
|
if (!list[i].blackList) { |
|
|
|
|
try { |
|
|
|
|
let res; |
|
|
|
|
if (!i) { |
|
|
|
|
res = await quotaModelList({ |
|
|
|
|
...strategyParams, |
|
|
|
|
type: 1, |
|
|
|
|
}); // 个人利率模型 |
|
|
|
|
} else if (i === 1) { |
|
|
|
|
res = await interestRateModelList({ |
|
|
|
|
...strategyParams, |
|
|
|
|
type: 1, |
|
|
|
|
}); // 个人额度模型 |
|
|
|
|
} else if (i === 2) { |
|
|
|
|
res = await interestRateModelList({ |
|
|
|
|
...strategyParams, |
|
|
|
|
type: 2, |
|
|
|
|
}); // 企业利率模型 |
|
|
|
|
form.interestRatePricingModelList[2].blackList = res.page.records; |
|
|
|
|
} |
|
|
|
|
if (res && i !== 2) list[i].blackList = res.page.records; |
|
|
|
|
} finally { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 贷后管理 |
|
|
|
|
const getAfter = async (i: number) => { |
|
|
|
|
const list = config.value[7]?.recordChildren; |
|
|
|
|
if (!list[i].blackList) { |
|
|
|
|
try { |
|
|
|
|
let res; |
|
|
|
|
if (!i) res = await fiveLevelClassification(strategyParams); // 五级分类策略 |
|
|
|
|
if (i === 1) res = await postLoanInspection(strategyParams); // 贷后检查策略 |
|
|
|
|
if (i === 2) res = await postCreditScore(strategyParams); // 贷后评分卡 |
|
|
|
|
if (i === 3) res = await postLoanWarning(strategyParams); // 贷后预警策略 |
|
|
|
|
if (i === 4) res = await collectionAfterLoan(strategyParams); // 贷后催收策略 |
|
|
|
|
if (res) list[i].blackList = res.page.records; |
|
|
|
|
} finally { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// 配置项 |
|
|
|
|
const getConfig = async () => { |
|
|
|
|
const { process } = await getProcessInformationBasedOnRoles(info.value.productType ? 71 : 70); // 个人70,企业71 |
|
|
|
@ -874,39 +966,6 @@ const getConfig = async () => { |
|
|
|
|
e.tacticsSelectedStatus === 803 && getAccess(i); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const { data } = await listCredit({ |
|
|
|
|
...getIds(), |
|
|
|
|
pageNum: 1, |
|
|
|
|
pageSize: 1000, |
|
|
|
|
}); |
|
|
|
|
credits.value = [ |
|
|
|
|
{ |
|
|
|
|
scoringObject: 0, |
|
|
|
|
scoreCardName: '个人信用评分策略', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
scoringObject: 0, |
|
|
|
|
scoreCardName: '个人评分-评级贷', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
scoringObject: 0, |
|
|
|
|
scoreCardName: '个人标准评分卡', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
scoringObject: 1, |
|
|
|
|
scoreCardName: '企业标准评分卡', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
scoringObject: 1, |
|
|
|
|
scoreCardName: '大型企业评分卡', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
scoringObject: 1, |
|
|
|
|
scoreCardName: '小型企业评分卡', |
|
|
|
|
}, |
|
|
|
|
...data, |
|
|
|
|
]; |
|
|
|
|
}; |
|
|
|
|
// 详情 |
|
|
|
|
const getDetail = async () => { |
|
|
|
@ -1135,11 +1194,14 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
|
|
|
|
|
// 信用评分策略 |
|
|
|
|
const list2 = data.creditScoringStrategyList; |
|
|
|
|
if (list2.length) { |
|
|
|
|
const list = config.value[2]?.recordChildren[2]?.recordChildren; |
|
|
|
|
list2[0].tacticsSelectedStatus && lcRule.push(handleId(1307, 327, list2[0].tacticsSelectedStatus, `${preIds},114,129,1046,1307`, 1)); |
|
|
|
|
// list2[0].tacticsId && lcRule.push(handleId(1390, 339, list2[0].tacticsId, `${preIds},114,129,1046,1390`, 3)); |
|
|
|
|
list2[0].tacticsId && lcRule.push(handleId(1390, 339, list[0].blackList.find((e) => e.id === list2[0].tacticsId)?.scoreCardName || '', `${preIds},114,129,1046,1390`, 3)); |
|
|
|
|
|
|
|
|
|
list2[1].tacticsSelectedStatus && lcRule.push(handleId(1391, 327, list2[1].tacticsSelectedStatus, `${preIds},114,129,1047,1391`, 1)); |
|
|
|
|
// list2[1].tacticsId && lcRule.push(handleId(1392, 339, list2[1].tacticsId, `${preIds},114,129,1047,1392`, 3)); |
|
|
|
|
list2[1].tacticsId && lcRule.push(handleId(1392, 339, list[1].blackList.find((e) => e.id === list2[1].tacticsId)?.scoreCardName || '', `${preIds},114,129,1047,1392`, 3)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 风险度策略 |
|
|
|
|
data.personalRiskDegreeStrategySelectedStatus && lcRule.push(handleId(1301, 327, data.personalRiskDegreeStrategySelectedStatus, preIds + ',114,130,1301', 1)); |
|
|
|
@ -1147,17 +1209,20 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
|
|
|
|
|
// 利率定价模型 |
|
|
|
|
const list3 = data.interestRatePricingModelList; |
|
|
|
|
if (list3.length) { |
|
|
|
|
const list = config.value[2].recordChildren[4].recordChildren; |
|
|
|
|
list3[0].tacticsSelectedStatus && lcRule.push(handleId(1398, 327, list3[0].tacticsSelectedStatus, `${preIds},114,131,1394,1398`, 1)); |
|
|
|
|
// list3[0].tacticsId && lcRule.push(handleId(1399, 339, list3[0].tacticsId, `${preIds},114,131,1394,1399`, 3)); |
|
|
|
|
list3[0].tacticsId && lcRule.push(handleId(1399, 339, list[0].blackList.find((e) => e.id === list3[0].tacticsId)?.modelName || '', `${preIds},114,131,1394,1399`, 3)); |
|
|
|
|
|
|
|
|
|
list3[1].tacticsSelectedStatus && lcRule.push(handleId(1400, 327, list3[1].tacticsSelectedStatus, `${preIds},114,131,1395,1400`, 1)); |
|
|
|
|
// list3[1].tacticsId && lcRule.push(handleId(1401, 339, list3[1].tacticsId, `${preIds},114,131,1395,1401`, 3)); |
|
|
|
|
list3[1].tacticsId && lcRule.push(handleId(1401, 339, list[1].blackList.find((e) => e.id === list3[1].tacticsId)?.modelName || '', `${preIds},114,131,1395,1401`, 3)); |
|
|
|
|
|
|
|
|
|
data.enterpriseQuotaModelSelectedStatus && lcRule.push(handleId(1402, 327, data.enterpriseQuotaModelSelectedStatus, preIds + ',114,131,1396,1402', 1)); |
|
|
|
|
data.enterpriseQuotaModel && lcRule.push(handleId(1403, 338, data.enterpriseQuotaModel, preIds + ',114,131,1396,1403', 1)); |
|
|
|
|
|
|
|
|
|
list3[2].tacticsSelectedStatus && lcRule.push(handleId(1404, 327, list3[2].tacticsSelectedStatus, `${preIds},114,131,1397,1404`, 1)); |
|
|
|
|
// list3[2].tacticsId && lcRule.push(handleId(1405, 339, list3[2].tacticsId, `${preIds},114,131,1397,1405`, 3)); |
|
|
|
|
list3[2].tacticsId && lcRule.push(handleId(1405, 339, list3[2].blackList.find((e) => e.id === list3[2].tacticsId)?.modelName || '', `${preIds},114,131,1397,1405`, 3)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
data.dueDiligenceMode && lcRule.push(handleId(132, 56, data.dueDiligenceMode, preIds + ',115,132', 1)); |
|
|
|
|
data.dueDiligenceContent && lcRule.push(handleId(133, 57, data.dueDiligenceContent, preIds + ',115,133', 1)); |
|
|
|
@ -1180,6 +1245,26 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
|
|
|
|
|
data.guaranteeContractSelectedStatus && lcRule.push(handleId(1273, 325, data.guaranteeContractSelectedStatus, preIds + ',118,139,309,1273', 1)); |
|
|
|
|
data.guaranteeContract && lcRule.push(handleId(1272, 144, data.guaranteeContract, preIds + ',118,139,309,1272', 1)); |
|
|
|
|
|
|
|
|
|
// 贷后管理 |
|
|
|
|
const list4 = data.postLoanSelectionStrategyList; |
|
|
|
|
if (list4.length) { |
|
|
|
|
const list = config.value[7]?.recordChildren; |
|
|
|
|
list4[0].tacticsSelectedStatus && lcRule.push(handleId(1411, 327, list4[0].tacticsSelectedStatus, `${preIds},119,1406,1411`, 1)); |
|
|
|
|
list4[0].tacticsId && lcRule.push(handleId(1412, 339, list[0].blackList.find((e) => e.strategyId === list4[0].tacticsId)?.strategyName || '', `${preIds},119,1406,1412`, 3)); |
|
|
|
|
|
|
|
|
|
list4[1].tacticsSelectedStatus && lcRule.push(handleId(1413, 327, list4[1].tacticsSelectedStatus, `${preIds},119,1407,1413`, 1)); |
|
|
|
|
list4[1].tacticsId && lcRule.push(handleId(1414, 339, list[1].blackList.find((e) => e.strategyId === list4[1].tacticsId)?.strategyName || '', `${preIds},119,1407,1414`, 3)); |
|
|
|
|
|
|
|
|
|
list4[2].tacticsSelectedStatus && lcRule.push(handleId(1415, 327, list4[2].tacticsSelectedStatus, `${preIds},119,1408,1415`, 1)); |
|
|
|
|
list4[2].tacticsId && lcRule.push(handleId(1416, 339, list[2].blackList.find((e) => e.strategyId === list4[2].tacticsId)?.strategyName || '', `${preIds},119,1408,1416`, 3)); |
|
|
|
|
|
|
|
|
|
list4[3].tacticsSelectedStatus && lcRule.push(handleId(1417, 327, list4[3].tacticsSelectedStatus, `${preIds},119,1409,1417`, 1)); |
|
|
|
|
list4[3].tacticsId && lcRule.push(handleId(1418, 339, list[3].blackList.find((e) => e.strategyId === list4[3].tacticsId)?.strategyName || '', `${preIds},119,1409,1418`, 3)); |
|
|
|
|
|
|
|
|
|
list4[4].tacticsSelectedStatus && lcRule.push(handleId(1419, 327, list4[4].tacticsSelectedStatus, `${preIds},119,1410,1419`, 1)); |
|
|
|
|
list4[4].tacticsId && lcRule.push(handleId(1420, 339, list[4].blackList.find((e) => e.strategyId === list4[4].tacticsId)?.strategyName || '', `${preIds},119,1410,1420`, 3)); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
data.provideMaterialSelectedStatus && lcRule.push(handleId(1294, 325, data.provideMaterialSelectedStatus, preIds + ',72,75,1294', 1)); |
|
|
|
|
data.accountMaterials && lcRule.push(handleId(1295, 20, data.accountMaterials, preIds + ',72,75,1295', 1)); |
|
|
|
@ -1239,11 +1324,14 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
|
|
|
|
|
// 信用评分策略 |
|
|
|
|
const list2 = data.creditScoringStrategyList; |
|
|
|
|
if (list2.length) { |
|
|
|
|
const list = config.value[2]?.recordChildren[2]?.recordChildren; |
|
|
|
|
list2[0].tacticsSelectedStatus && lcRule.push(handleId(1364, 327, list2[0].tacticsSelectedStatus, `${preIds},74,84,1304,1364`, 1)); |
|
|
|
|
// list2[0].tacticsId && lcRule.push(handleId(1366, 327, list2[0].tacticsId, `${preIds},74,84,1304,1366`, 3)); |
|
|
|
|
list2[0].tacticsId && lcRule.push(handleId(1366, 339, list[0].blackList.find((e) => e.id === list2[0].tacticsId)?.scoreCardName || '', `${preIds},74,84,1304,1366`, 3)); |
|
|
|
|
|
|
|
|
|
list2[1].tacticsSelectedStatus && lcRule.push(handleId(1365, 327, list2[1].tacticsSelectedStatus, `${preIds},74,84,1305,1365`, 1)); |
|
|
|
|
// list2[1].tacticsId && lcRule.push(handleId(1367, 339, list2[1].tacticsId, `${preIds},74,84,1305,1367`, 3)); |
|
|
|
|
list2[1].tacticsId && lcRule.push(handleId(1367, 339, list[1].blackList.find((e) => e.id === list2[1].tacticsId)?.scoreCardName || '', `${preIds},74,84,1305,1367`, 3)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 风险度策略 |
|
|
|
|
data.personalRiskDegreeStrategySelectedStatus && lcRule.push(handleId(1339, 327, data.personalRiskDegreeStrategySelectedStatus, preIds + '74,85,1339', 1)); |
|
|
|
@ -1251,17 +1339,20 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
|
|
|
|
|
// 利率定价模型 |
|
|
|
|
const list3 = data.interestRatePricingModelList; |
|
|
|
|
if (list3.length) { |
|
|
|
|
const list = config.value[2].recordChildren[4].recordChildren; |
|
|
|
|
list3[0].tacticsSelectedStatus && lcRule.push(handleId(1310, 327, list3[0].tacticsSelectedStatus, `${preIds},74,86,1308,1310`, 1)); |
|
|
|
|
// list3[0].tacticsId && lcRule.push(handleId(1360, 339, list3[0].tacticsId, `${preIds},74,86,1308,1360`, 3)); |
|
|
|
|
list3[0].tacticsId && lcRule.push(handleId(1360, 339, list[0].blackList.find((e) => e.id === list3[0].tacticsId)?.modelName || '', `${preIds},74,86,1308,1360`, 3)); |
|
|
|
|
|
|
|
|
|
list3[1].tacticsSelectedStatus && lcRule.push(handleId(1311, 327, list3[1].tacticsSelectedStatus, `${preIds},74,86,1309,1311`, 1)); |
|
|
|
|
// list3[1].tacticsId && lcRule.push(handleId(1361, 339, list3[1].tacticsId, `${preIds},74,86,1309,1361`, 3)); |
|
|
|
|
list3[1].tacticsId && lcRule.push(handleId(1361, 339, list[1].blackList.find((e) => e.id === list3[1].tacticsId)?.modelName || '', `${preIds},74,86,1309,1361`, 3)); |
|
|
|
|
|
|
|
|
|
data.enterpriseQuotaModelSelectedStatus && lcRule.push(handleId(1343, 327, data.enterpriseQuotaModelSelectedStatus, preIds + '74,86,1341,1343', 1)); |
|
|
|
|
data.enterpriseQuotaModel && lcRule.push(handleId(1362, 338, data.enterpriseQuotaModel, preIds + ',74,86,1341,1362', 1)); |
|
|
|
|
|
|
|
|
|
list3[2].tacticsSelectedStatus && lcRule.push(handleId(1344, 327, list3[2].tacticsSelectedStatus, `${preIds},74,86,1342,1344`, 1)); |
|
|
|
|
// list3[2].tacticsId && lcRule.push(handleId(1363, 339, list3[2].tacticsId, `${preIds},74,86,1342,1363`, 3)); |
|
|
|
|
list3[2].tacticsId && lcRule.push(handleId(1363, 339, list3[2].blackList.find((e) => e.id === list3[2].tacticsId)?.modelName || '', `${preIds},74,86,1342,1363`, 3)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
data.dueDiligenceMode && lcRule.push(handleId(88, 32, data.dueDiligenceMode, preIds + ',87,88', 1)); |
|
|
|
|
data.dueDiligenceContent && lcRule.push(handleId(89, 33, data.dueDiligenceContent, preIds + ',87,89', 1)); |
|
|
|
@ -1286,21 +1377,24 @@ const addRecord = async (data: Record<string, any>) => { |
|
|
|
|
data.guaranteeContract && lcRule.push(handleId(1252, 147, data.guaranteeContract, preIds + ',96,98,313,1252', 1)); |
|
|
|
|
|
|
|
|
|
// 贷后管理 |
|
|
|
|
const list4 = data.bankRiskControlAllocationTacticsList; |
|
|
|
|
const list4 = data.postLoanSelectionStrategyList; |
|
|
|
|
if (list4.length) { |
|
|
|
|
const list = config.value[7]?.recordChildren; |
|
|
|
|
list4[0].tacticsSelectedStatus && lcRule.push(handleId(1350, 327, list4[0].tacticsSelectedStatus, `${preIds},99,1345,1350`, 1)); |
|
|
|
|
// list4[0].tacticsId && lcRule.push(handleId(1355, 339, govList.value.find((e) => e.strategyId === list4[0].tacticsId)?.strategyName, `${preIds},99,1345,1355`, 3)); |
|
|
|
|
list4[0].tacticsId && lcRule.push(handleId(1355, 339, list[0].blackList.find((e) => e.strategyId === list4[0].tacticsId)?.strategyName || '', `${preIds},99,1345,1355`, 3)); |
|
|
|
|
|
|
|
|
|
list4[1].tacticsSelectedStatus && lcRule.push(handleId(1351, 327, list4[1].tacticsSelectedStatus, `${preIds},99,1346,1351`, 1)); |
|
|
|
|
// list4[1].tacticsId && lcRule.push(handleId(1356, 339, govList.value.find((e) => e.strategyId === list4[1].tacticsId)?.strategyName, `${preIds},99,1346,1356`, 3)); |
|
|
|
|
list4[1].tacticsId && lcRule.push(handleId(1356, 339, list[1].blackList.find((e) => e.strategyId === list4[1].tacticsId)?.strategyName || '', `${preIds},99,1346,1356`, 3)); |
|
|
|
|
|
|
|
|
|
list4[2].tacticsSelectedStatus && lcRule.push(handleId(1352, 327, list4[2].tacticsSelectedStatus, `${preIds},99,1347,1352`, 1)); |
|
|
|
|
// list4[2].tacticsId && lcRule.push(handleId(1357, 339, govList.value.find((e) => e.strategyId === list4[2].tacticsId)?.strategyName, `${preIds},99,1347,1357`, 3)); |
|
|
|
|
list4[2].tacticsId && lcRule.push(handleId(1357, 339, list[2].blackList.find((e) => e.strategyId === list4[2].tacticsId)?.strategyName || '', `${preIds},99,1347,1357`, 3)); |
|
|
|
|
|
|
|
|
|
list4[3].tacticsSelectedStatus && lcRule.push(handleId(1353, 327, list4[3].tacticsSelectedStatus, `${preIds},99,1348,1353`, 1)); |
|
|
|
|
// list4[3].tacticsId && lcRule.push(handleId(1358, 339, govList.value.find((e) => e.strategyId === list4[3].tacticsId)?.strategyName, `${preIds},99,1348,1358`, 3)); |
|
|
|
|
list4[3].tacticsId && lcRule.push(handleId(1358, 339, list[3].blackList.find((e) => e.strategyId === list4[3].tacticsId)?.strategyName || '', `${preIds},99,1348,1358`, 3)); |
|
|
|
|
|
|
|
|
|
list4[4].tacticsSelectedStatus && lcRule.push(handleId(1354, 327, list4[4].tacticsSelectedStatus, `${preIds},99,1349,1354`, 1)); |
|
|
|
|
// list4[4].tacticsId && lcRule.push(handleId(1359, 339, govList.value.find((e) => e.strategyId === list4[4].tacticsId)?.strategyName, `${preIds},99,1349,1359`, 3)); |
|
|
|
|
list4[4].tacticsId && lcRule.push(handleId(1359, 339, list[4].blackList.find((e) => e.strategyId === list4[4].tacticsId)?.strategyName || '', `${preIds},99,1349,1359`, 3)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
await addOperation({ |
|
|
|
@ -1320,6 +1414,27 @@ const preview = (row: Record<string, any>, i: number) => { |
|
|
|
|
curPreviewTitle.value = `查看${assessNames[i]}策略`; |
|
|
|
|
visible.value = true; |
|
|
|
|
}; |
|
|
|
|
// 预览信用评分策略 |
|
|
|
|
const previewCredits = (row: Record<string, any>, i: number) => { |
|
|
|
|
const { tacticsId } = form.creditScoringStrategyList[i]; |
|
|
|
|
curRow.value = { |
|
|
|
|
id: tacticsId, |
|
|
|
|
}; |
|
|
|
|
curPreview.value = i ? '513' : '512'; |
|
|
|
|
curPreviewTitle.value = `查看${i ? '企业' : '个人'}信用评分策略`; |
|
|
|
|
visible.value = true; |
|
|
|
|
}; |
|
|
|
|
// 预览贷后管理 |
|
|
|
|
const previewAfter = (row: Record<string, any>, i: number) => { |
|
|
|
|
const { tacticsId } = form.postLoanSelectionStrategyList[i]; |
|
|
|
|
curRow.value = { |
|
|
|
|
strategyId: tacticsId, |
|
|
|
|
strategyName: row.blackList.find((e) => e.strategyId === tacticsId)?.strategyName, |
|
|
|
|
}; |
|
|
|
|
curPreview.value = Object.keys(dynamicComponentMap)[i + 9]; |
|
|
|
|
curPreviewTitle.value = `查看${afterNames[i]}策略`; |
|
|
|
|
visible.value = true; |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|