From 1e031b35c1ba3721aa6b28344d4ad738ac5cd316 Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Wed, 1 Nov 2023 13:36:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=9D=E5=BA=A6=E6=A8=A1=E5=9E=8B=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 4 +- src/api/model.ts | 8 +- src/layout/components/AppSidebar/Menu.vue | 7 +- src/router/index.ts | 5 +- src/views/Role.vue | 4 +- src/views/config/level/Index.vue | 1 + src/views/product/bank/Add.vue | 6 +- src/views/product/bank/Config.vue | 161 +++++------ src/views/product/interestRate/772.vue | 301 ++++++++++++++++++++ src/views/product/interestRate/773.vue | 176 ++++++++++++ src/views/product/interestRate/CardList.vue | 118 ++++++++ src/views/product/strategy/150.vue | 14 +- 12 files changed, 688 insertions(+), 117 deletions(-) create mode 100644 src/views/product/interestRate/772.vue create mode 100644 src/views/product/interestRate/773.vue create mode 100644 src/views/product/interestRate/CardList.vue diff --git a/.env b/.env index 97571e0..783e5c0 100644 --- a/.env +++ b/.env @@ -2,7 +2,7 @@ VITE_APP_TITLE=金融产品设计及数字化营销沙盘 VITE_PORT=9520 VITE_PROXY=http://192.168.31.125:8080 VITE_PUBLIC_PATH=./ -VITE_BASE_API=http://192.168.31.217:9000 -# VITE_BASE_API=http://121.37.12.51 +# VITE_BASE_API=http://192.168.31.217:9000 +VITE_BASE_API=http://121.37.12.51 VITE_I18N_LOCALE=zh-cn VITE_I18N_FALLBACK_LOCALE=zh-cn diff --git a/src/api/model.ts b/src/api/model.ts index 01bdf32..8f25ead 100644 --- a/src/api/model.ts +++ b/src/api/model.ts @@ -54,11 +54,11 @@ export const personalInterestRateDetails = async (data: Record): Pr export const personalInterestRateSaveOrUpdate = async (data: Record): Promise => (await axios.post(`/product/interestRateModel/personalInterestRateSaveOrUpdate`, data)).data; -export const businessQuotaModelDetails = async (data: Record): Promise => - (await axios.post(`/product/quotaModel/businessQuotaModelDetails?checkpointId=${data.checkpointId}&projectId=${data.projectId}`)).data; +export const businessQuotaModelDetails = async (checkpointId: number, projectId: number): Promise => + (await axios.post(`/product/quotaModel/businessQuotaModelDetails?checkpointId=${checkpointId}&projectId=${projectId}`)).data; export const businessQuotaModelSaveOrUpdate = async (data: Record): Promise => (await axios.post(`/product/quotaModel/businessQuotaModelSaveOrUpdate`, data)).data; -export const personalCreditModelDetails = async (data: Record): Promise => - (await axios.post(`/product/quotaModel/personalCreditModelDetails?checkpointId=${data.checkpointId}&projectId=${data.projectId}`)).data; +export const personalCreditModelDetails = async (checkpointId: number, projectId: number): Promise => + (await axios.post(`/product/quotaModel/personalCreditModelDetails?checkpointId=${checkpointId}&projectId=${projectId}`)).data; export const personalCreditModelSaveOrUpdate = async (data: Record): Promise => (await axios.post(`/product/quotaModel/personalCreditModelSaveOrUpdate`, data)).data; diff --git a/src/layout/components/AppSidebar/Menu.vue b/src/layout/components/AppSidebar/Menu.vue index e4e1e94..ec95fa6 100644 --- a/src/layout/components/AppSidebar/Menu.vue +++ b/src/layout/components/AppSidebar/Menu.vue @@ -36,7 +36,7 @@

产品风控配置

  • + @click="toPage('/product/strategy?&i=2&role=42')"> @@ -45,7 +45,8 @@ alt="" />

    贷前准入模型

  • -
  • +
  • @@ -72,7 +73,7 @@ alt="" />

    审批产品

  • - +
  • = [ { path: 'bank', component: () => import('@/views/product/bank/List.vue'), meta: { title: '银行产品列表' } }, { path: 'bank/:action', component: () => import('@/views/product/bank/CardList.vue'), meta: { title: '产品列表' } }, { path: 'strategy', component: () => import('@/views/product/strategy/CardList.vue'), meta: { title: '产品列表' } }, - { path: 'insurance', component: () => import('@/views/product/insurance/List.vue'), meta: { title: '保险产品列表' } }, - { path: 'insurance/:action', component: () => import('@/views/product/insurance/CardList.vue'), meta: { title: '保险产品列表' } }, + { path: 'insurance', component: () => import('@/views/product/insurance/List.vue'), meta: { title: '保险产品' } }, + { path: 'insurance/:action', component: () => import('@/views/product/insurance/CardList.vue'), meta: { title: '保险产品' } }, + { path: 'interestRate/:action', component: () => import('@/views/product/interestRate/CardList.vue'), meta: { title: '利率定价模型' } }, ], }, { diff --git a/src/views/Role.vue b/src/views/Role.vue index 2815241..f0f8f60 100644 --- a/src/views/Role.vue +++ b/src/views/Role.vue @@ -71,7 +71,7 @@
    -
    + diff --git a/src/views/config/level/Index.vue b/src/views/config/level/Index.vue index b9b8d48..e6565cb 100644 --- a/src/views/config/level/Index.vue +++ b/src/views/config/level/Index.vue @@ -244,6 +244,7 @@ const toAdd = () => { list.value.push({ customsPassName: '', editing: true, + isEnable: 0, }); nextTick(() => { document.querySelector('#tableWrap').scrollTo({ diff --git a/src/views/product/bank/Add.vue b/src/views/product/bank/Add.vue index 187ba11..11f7f2e 100644 --- a/src/views/product/bank/Add.vue +++ b/src/views/product/bank/Add.vue @@ -135,12 +135,12 @@

    选择本产品贷款资金的用途。

    @@ -459,7 +459,7 @@ const addRecord = async (data: Record) => { data.providentFundAndSocialSecurity && lcRule.push(handleId(103, '', '', preIds + ',51,103', '')); // 公积金社保 lcRule.push( - data.loanPurpose === 107 ? handleId(107, 11, data.otherPurposesOfLoan, preIds + ',52,107', 3) : handleId(data.loanPurpose, '', '', preIds + ',52,' + data.loanPurpose, 1), + data.loanPurpose === 107 ? handleId(107, 11, data.otherPurposesOfLoan, preIds + ',52,107', 3) : handleId(data.loanPurpose, '', '', preIds + ',52,' + data.loanPurpose, ''), ); } diff --git a/src/views/product/bank/Config.vue b/src/views/product/bank/Config.vue index 8e174b6..eb24a9f 100644 --- a/src/views/product/bank/Config.vue +++ b/src/views/product/bank/Config.vue @@ -175,19 +175,7 @@ + prop="interestRatePricingModelCheck">
    {{ info.productType ? '企业' : '个人' }}利率模型 + :label="info.productType ? 763 : 762">{{ info.productType ? '企业' : '个人' }}利率模型
    @@ -257,7 +245,7 @@ 抵押物所有权证明 + :label="info.productType ? 265 : 118">抵押物所有权证明
    @@ -411,13 +399,13 @@ const form = reactive({ projectId, accessStrategy: [], accountMaterials: [], - approvalSignature: [], + approvalSignature: '', bankProductsId: computed(() => +route.query.id), borrowerMaterial: [], borrowerMaterialSelect: '', businessMaterials: [], collateral: [], - contractMaterials: [], + contractMaterials: '', corporateCreditScoringStrategiesCheck: false, corporateCreditScoringStrategies: '', corporateInterestRateModel: [], @@ -438,9 +426,9 @@ const form = reactive({ personalCreditScoringStrategies: '', pledgeContractCheck: false, pledgeContract: '', - reviewApproveContent: [], + reviewApproveContent: '', reviewContent: '', - reviewSignature: [], + reviewSignature: '', riskDegreeStrategy: [], runBatchObject: [], selectionStrategy: [], @@ -485,7 +473,6 @@ watch( immediate: true, }, ); -onMounted(() => {}); // 提交 const submit = async (formEl: FormInstance | undefined) => { if (!formEl) return; @@ -495,38 +482,22 @@ const submit = async (formEl: FormInstance | undefined) => { const isEnterprise = info.value.productType === 1; const param = JSON.parse(JSON.stringify(form)); - // if (((isEnterprise && param.borrowerMaterial?.includes(316)) || (!isEnterprise && param.borrowerMaterial?.includes(314))) && !param.borrowerMaterialSelect) - // return ElMessage.error('请选择借款申请表'); - // if ( - // (param.personalCreditScoringStrategiesCheck && !param.personalCreditScoringStrategies) || - // (param.corporateCreditScoringStrategiesCheck && !param.corporateCreditScoringStrategies) - // ) - // return ElMessage.error('请选择信用评分策略'); - // if (param.loanContractCheck && !param.loanContract) return ElMessage.error('请选择借贷合同'); - // if (param.mortgageContractCheck && !param.mortgageContract) return ElMessage.error('请选择抵押合同'); - // if (param.pledgeContractCheck && !param.pledgeContract) return ElMessage.error('请选择质押合同'); - // if (param.guaranteeContractCheck && !param.guaranteeContract) return ElMessage.error('请选择担保合同'); - param.accessStrategy = param.accessStrategy.join(); if ((isEnterprise && param.borrowerMaterial?.includes(316)) || (!isEnterprise && param.borrowerMaterial?.includes(314))) param.borrowerMaterial.splice(1, 0, param.borrowerMaterialSelect); param.borrowerMaterial = param.borrowerMaterial.join(); param.accountMaterials = param.accountMaterials.join(); - param.approvalSignature = param.approvalSignature[0]; // 企业 - // if (isEnterprise) { param.collateral = param.collateral.join(); param.enterpriseMaterial = param.enterpriseMaterial.join(); param.corporateInterestRateModel = param.corporateInterestRateModel.join(); param.materialsForLoanApproval = param.materialsForLoanApproval.join(); - // } else { // 个人 param.businessMaterials = param.businessMaterials.join(); param.mateMaterial = param.mateMaterial.join(); param.individualInterestRateModel = param.individualInterestRateModel.join(); - // } - if (!param.personalCreditScoringStrategiesCheck) param.personalCreditScoringStrategies = ''; - if (!param.corporateCreditScoringStrategiesCheck) param.corporateCreditScoringStrategies = ''; + if (!param.personalCreditScoringStrategiesCheck) param.personalCreditScoringStrategies = 761; + if (!param.corporateCreditScoringStrategiesCheck) param.corporateCreditScoringStrategies = 761; if (!param.interestRatePricingModelCheck) param.interestRatePricingModel = ''; if (!param.loanContractCheck) param.loanContract = ''; @@ -534,17 +505,12 @@ const submit = async (formEl: FormInstance | undefined) => { if (!param.pledgeContractCheck) param.pledgeContract = ''; if (!param.guaranteeContractCheck) param.guaranteeContract = ''; - param.contractMaterials = param.contractMaterials[0]; param.dueDiligenceContent = param.dueDiligenceContent.join(); param.loanApplicationMethod = param.loanApplicationMethod.join(); - param.reviewApproveContent = param.reviewApproveContent[0]; - // if (param.reviewContent) param.reviewContent = 114; - param.reviewSignature = param.reviewSignature[0] || ''; param.riskDegreeStrategy = param.riskDegreeStrategy.join(); param.runBatchObject = param.runBatchObject.join(); param.selectionStrategy = param.selectionStrategy.join(); param.supplementaryMaterials = param.supplementaryMaterials.join(); - if (info.value.riskControlDetails) { param.id = info.value.riskControlDetails.id; await riskUpdate(param); @@ -566,82 +532,89 @@ const submit = async (formEl: FormInstance | undefined) => { // 新增判分记录 const addRecord = async (data: Record) => { const isEnterprise = info.value.productType === 1; - const preIds = `1,${Cookies.get('sand-level')},42,${data.productType ? 71 : 70}`; // 1,关卡id,角色(这个页面是风控经理配置风控),个人/企业(70/71) + const preIds = `1,${Cookies.get('sand-level')},42,66,${isEnterprise ? 71 : 70}`; // 1,关卡id,角色(这个页面是风控经理配置风控),个人/企业(70/71) const lcRule: Array> = []; // 企业 if (isEnterprise) { - lcRule.push( - handleId(120, 44, data.accountMaterials, preIds + ',112,120', 1), - handleId(121, 45, 162, preIds + ',112,121', 1), - handleId(122, 46, data.loanApplicationMethod, preIds + ',113,122', 1), - handleId(123, 47, data.borrowerMaterial, preIds + ',113,123', 1), - handleId(124, 48, data.collateral, preIds + ',113,124', 1), - handleId(125, 49, data.businessMaterials, preIds + ',113,125', 1), - handleId(126, 50, data.supplementaryMaterials, preIds + ',113,126', 1), + data.accountMaterials && lcRule.push(handleId(120, 44, data.accountMaterials, preIds + ',112,120', 1)); + data.sendingAccount && lcRule.push(handleId(121, 45, 162, preIds + ',112,121', 1)); + data.loanApplicationMethod && lcRule.push(handleId(122, 46, data.loanApplicationMethod, preIds + ',113,122', 1)); + + const borrowerMaterial = []; + form.borrowerMaterial.forEach((e) => { + e != 316 && borrowerMaterial.push(e); + }); + borrowerMaterial && lcRule.push(handleId(316, 47, borrowerMaterial.join(), preIds + ',113,123,316', 1)); + data.borrowerMaterialSelect && lcRule.push(handleId(317, 149, data.borrowerMaterialSelect, preIds + ',113,123,317', 1)); + data.collateral && lcRule.push(handleId(124, 48, data.collateral, preIds + ',113,124', 1)); + data.businessMaterials && lcRule.push(handleId(125, 49, data.businessMaterials, preIds + ',113,125', 1)); + data.supplementaryMaterials && lcRule.push(handleId(126, 50, data.supplementaryMaterials, preIds + ',113,126', 1)); + data.runBatchObject && lcRule.push(handleId(127, 51, data.runBatchObject, preIds + ',114,127', 1)); + data.accessStrategy && lcRule.push(handleId(128, 52, data.accessStrategy, preIds + ',114,128', 1)); - handleId(127, 51, data.runBatchObject, preIds + ',114,127', 1), - handleId(128, 52, data.accessStrategy, preIds + ',114,128', 1), - ); // 选择了无才需要给 lcRule.push(handleId(1044, 302, data.personalCreditScoringStrategiesCheck ? 759 : 760, preIds + ',114,129,1046,1044', 1)); + lcRule.push(handleId(1044, 302, data.corporateCreditScoringStrategiesCheck ? 759 : 760, preIds + ',114,129,1047,1044', 1)); data.personalCreditScoringStrategies === 761 && lcRule.push(handleId(1045, 303, data.personalCreditScoringStrategies, preIds + ',114,129,1046,1045', 1)); - data.corporateCreditScoringStrategiesCheck && lcRule.push(handleId(129, 53, '241,' + data.corporateCreditScoringStrategies, preIds + ',114,129', 1)); + data.corporateCreditScoringStrategies === 761 && lcRule.push(handleId(129, 53, '241,' + data.corporateCreditScoringStrategies, preIds + ',114,129', 1)); - lcRule.push(handleId(130, 54, data.riskDegreeStrategy, preIds + ',114,130', 1)); - data.interestRatePricingModelCheck && lcRule.push(handleId(131, 55, '247,' + data.interestRatePricingModel, preIds + ',114,131', 1)); - data.individualInterestRateModel && lcRule.push(handleId(131, 55, data.individualInterestRateModel, preIds + ',114,131', 1)); + data.riskDegreeStrategy && lcRule.push(handleId(130, 54, data.riskDegreeStrategy, preIds + ',114,130', 1)); + data.interestRatePricingModelCheck && lcRule.push(handleId(305, 55, data.interestRatePricingModel, preIds + ',114,131,305', 1)); + data.individualInterestRateModel && lcRule.push(handleId(763, 305, data.individualInterestRateModel, preIds + ',114,131,304', 1)); + + 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)); + data.reviewContent && lcRule.push(handleId(134, 58, data.reviewContent, preIds + ',116,134', 1)); + data.reviewSignature && lcRule.push(handleId(135, 59, data.reviewSignature, preIds + ',116,135', 1)); + data.reviewApproveContent && lcRule.push(handleId(136, 60, data.reviewApproveContent, preIds + ',117,136', 1)); + data.approvalSignature && lcRule.push(handleId(137, 61, data.approvalSignature, preIds + ',117,137', 1)); + data.contractMaterials && lcRule.push(handleId(138, 62, data.contractMaterials, preIds + ',118,138', 1)); - lcRule.push( - handleId(132, 56, data.dueDiligenceMode, preIds + ',115,132', 1), - handleId(133, 57, data.dueDiligenceContent, preIds + ',115,133', 1), - handleId(134, 58, data.reviewContent, preIds + ',116,134', 1), - handleId(135, 59, data.reviewSignature, preIds + ',116,135', 1), - handleId(136, 60, data.reviewApproveContent, preIds + ',117,136', 1), - handleId(137, 61, data.approvalSignature, preIds + ',117,137', 1), - handleId(138, 62, data.contractMaterials, preIds + ',118,138', 1), - ); data.loanContract && lcRule.push(handleId(139, 63, data.loanContract, preIds + ',118,139', 1)); data.mortgageContract && lcRule.push(handleId(139, 63, data.mortgageContract, preIds + ',118,139', 1)); data.pledgeContract && lcRule.push(handleId(139, 63, data.pledgeContract, preIds + ',118,139', 1)); data.guaranteeContract && lcRule.push(handleId(139, 63, data.guaranteeContract, preIds + ',118,139', 1)); - lcRule.push(handleId(140, 64, data.selectionStrategy, preIds + ',119,140', 1)); + data.selectionStrategy && lcRule.push(handleId(140, 64, data.selectionStrategy, preIds + ',119,140', 1)); } else { - lcRule.push( - handleId(75, 20, data.accountMaterials, preIds + ',72,75', 1), - handleId(76, 21, 46, preIds + ',72,76', 1), - handleId(77, 22, data.loanApplicationMethod, preIds + ',73,77', 1), - handleId(78, 23, data.borrowerMaterial, preIds + ',73,78', 1), - handleId(79, 24, data.mateMaterial, preIds + ',73,79', 1), - handleId(80, 25, data.businessMaterials, preIds + ',73,80', 1), - handleId(81, 26, data.supplementaryMaterials, preIds + ',73,81', 1), - handleId(82, 27, data.runBatchObject, preIds + ',74,82', 1), - handleId(83, 28, data.accessStrategy, preIds + ',74,83', 1), - ); + data.accountMaterials && lcRule.push(handleId(75, 20, data.accountMaterials, preIds + ',72,75', 1)); + data.sendingAccount && lcRule.push(handleId(76, 21, 46, preIds + ',72,76', 1)); + data.loanApplicationMethod && lcRule.push(handleId(77, 22, data.loanApplicationMethod, preIds + ',73,77', 1)); + const borrowerMaterial = []; + form.borrowerMaterial.forEach((e) => { + e != 314 && borrowerMaterial.push(e); + }); + borrowerMaterial.length && lcRule.push(handleId(314, 23, borrowerMaterial.join(), preIds + ',73,78,314', 1)); + data.borrowerMaterialSelect && lcRule.push(handleId(315, 148, data.borrowerMaterialSelect, preIds + ',73,78,315', 1)); + data.mateMaterial && lcRule.push(handleId(79, 24, data.mateMaterial, preIds + ',73,79', 1)); + data.businessMaterials && lcRule.push(handleId(80, 25, data.businessMaterials, preIds + ',73,80', 1)); + data.supplementaryMaterials && lcRule.push(handleId(81, 26, data.supplementaryMaterials, preIds + ',73,81', 1)); + data.runBatchObject && lcRule.push(handleId(82, 27, data.runBatchObject, preIds + ',74,82', 1)); + data.accessStrategy && lcRule.push(handleId(83, 28, data.accessStrategy, preIds + ',74,83', 1)); // 选择了无才需要给 lcRule.push(handleId(1044, 302, data.personalCreditScoringStrategiesCheck ? 759 : 760, preIds + ',74,84,1046,1044', 1)); + lcRule.push(handleId(1044, 302, data.corporateCreditScoringStrategiesCheck ? 759 : 760, preIds + ',74,84,1047,1044', 1)); data.personalCreditScoringStrategies === 761 && lcRule.push(handleId(1045, 303, data.personalCreditScoringStrategies, preIds + ',74,84,1046,1045', 1)); - data.corporateCreditScoringStrategiesCheck && lcRule.push(handleId(84, 29, '95,' + data.corporateCreditScoringStrategies, preIds + ',74,84', 1)); + data.corporateCreditScoringStrategies === 761 && lcRule.push(handleId(1047, 303, data.corporateCreditScoringStrategies, preIds + ',74,84,1047,1045', 1)); + + data.riskDegreeStrategy && lcRule.push(handleId(85, 30, data.riskDegreeStrategy, preIds + ',74,85', 1)); + data.interestRatePricingModelCheck && lcRule.push(handleId(303, 141, data.interestRatePricingModel, preIds + ',74,86,303', 1)); + data.individualInterestRateModel && lcRule.push(handleId(302, 304, data.individualInterestRateModel, preIds + ',74,86,302', 1)); - lcRule.push(handleId(85, 30, data.riskDegreeStrategy, preIds + ',74,85', 1)); - data.interestRatePricingModelCheck && lcRule.push(handleId(86, 31, '102,' + data.interestRatePricingModel, preIds + ',74,86', 1)); - data.individualInterestRateModel && lcRule.push(handleId(86, 31, data.individualInterestRateModel, preIds + ',74,86', 1)); + 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)); + data.reviewContent && lcRule.push(handleId(91, 34, data.reviewContent, preIds + ',90,91', 1)); + data.reviewSignature && lcRule.push(handleId(92, 35, data.reviewSignature, preIds + ',90,92', 1)); + data.reviewApproveContent && lcRule.push(handleId(94, 36, data.reviewApproveContent, preIds + ',93,94', 1)); + data.approvalSignature && lcRule.push(handleId(95, 37, data.approvalSignature, preIds + ',93,95', 1)); + data.contractMaterials && lcRule.push(handleId(97, 38, data.contractMaterials, preIds + ',96,97', 1)); - lcRule.push( - handleId(88, 32, data.dueDiligenceMode, preIds + ',87,88', 1), - handleId(89, 33, data.dueDiligenceContent, preIds + ',87,89', 1), - handleId(91, 34, data.reviewContent, preIds + ',90,91', 1), - handleId(92, 35, data.reviewSignature, preIds + ',90,92', 1), - handleId(94, 36, data.reviewApproveContent, preIds + ',93,94', 1), - handleId(95, 37, data.approvalSignature, preIds + ',93,95', 1), - handleId(97, 38, data.contractMaterials, preIds + ',96,97', 1), - ); data.loanContract && lcRule.push(handleId(98, 39, data.loanContract, preIds + ',96,98', 1)); data.mortgageContract && lcRule.push(handleId(98, 39, data.mortgageContract, preIds + ',96,98', 1)); data.pledgeContract && lcRule.push(handleId(98, 39, data.pledgeContract, preIds + ',96,98', 1)); data.guaranteeContract && lcRule.push(handleId(98, 39, data.guaranteeContract, preIds + ',96,98', 1)); - lcRule.push(handleId(99, 40, data.selectionStrategy, preIds + ',99', 1)); + data.selectionStrategy && lcRule.push(handleId(99, 40, data.selectionStrategy, preIds + ',99', 1)); } await addOperation({ diff --git a/src/views/product/interestRate/772.vue b/src/views/product/interestRate/772.vue new file mode 100644 index 0000000..89167e0 --- /dev/null +++ b/src/views/product/interestRate/772.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/src/views/product/interestRate/773.vue b/src/views/product/interestRate/773.vue new file mode 100644 index 0000000..e22e7ab --- /dev/null +++ b/src/views/product/interestRate/773.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/src/views/product/interestRate/CardList.vue b/src/views/product/interestRate/CardList.vue new file mode 100644 index 0000000..51886b4 --- /dev/null +++ b/src/views/product/interestRate/CardList.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/views/product/strategy/150.vue b/src/views/product/strategy/150.vue index 145283c..0bb14a9 100644 --- a/src/views/product/strategy/150.vue +++ b/src/views/product/strategy/150.vue @@ -11,7 +11,7 @@ align="center">