diff --git a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/CorporateLoanPricingCreateDTO.java b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/CorporateLoanPricingCreateDTO.java
index dcd6c6d..de81763 100644
--- a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/CorporateLoanPricingCreateDTO.java
+++ b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/CorporateLoanPricingCreateDTO.java
@@ -65,8 +65,8 @@ public class CorporateLoanPricingCreateDTO implements Serializable {
@Schema(description = "贸易和建筑业企业标识", example = "0")
private String isTradeBuildEnt;
- @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "四类", "排污权抵押", "设备等其他不动产抵押", "存单质押", "股权质押", "其他质押"})
- @Pattern(regexp = "^(一类|二类|三类|四类|排污权抵押|设备等其他不动产抵押|存单质押|股权质押|其他质押)$", message = "抵质押类型必须是:一类、二类、三类、四类、排污权抵押、设备等其他不动产抵押、存单质押、股权质押、其他质押之一")
+ @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "排污权抵押", "其他不动产抵押", "存单质押", "股权质押", "其他质押"})
+ @Pattern(regexp = "^(一类|二类|三类|排污权抵押|其他不动产抵押|存单质押|股权质押|其他质押)$", message = "抵质押类型必须是:一类、二类、三类、排污权抵押、其他不动产抵押、存单质押、股权质押、其他质押之一")
private String collType;
@Schema(description = "抵质押物是否三方所有", example = "0")
diff --git a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java
index c8ca9c3..c993bb7 100644
--- a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java
+++ b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/domain/dto/PersonalLoanPricingCreateDTO.java
@@ -56,7 +56,7 @@ public class PersonalLoanPricingCreateDTO implements Serializable {
@Schema(description = "循环功能", example = "0")
private String loanLoop;
- @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一线", "一类", "二类", "三类", "存单质押", "其他质押"})
+ @Schema(description = "抵质押类型", example = "一类", allowableValues = {"一类", "二类", "三类", "四类", "存单质押", "其他质押"})
private String collType;
@Schema(description = "抵质押物是否三方所有", example = "0")
diff --git a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImpl.java b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImpl.java
index 8501cb0..a1845a5 100644
--- a/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImpl.java
+++ b/ruoyi-loan-pricing/src/main/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImpl.java
@@ -139,8 +139,8 @@ public class LoanPricingWorkflowServiceImpl implements ILoanPricingWorkflowServi
private void validatePersonalCollateralType(LoanPricingWorkflow workflow) {
if ("抵押".equals(workflow.getGuarType())
- && !isOneOf(workflow.getCollType(), "一线", "一类", "二类", "三类")) {
- throw new ServiceException("个人抵押抵质押类型必须是:一线、一类、二类、三类之一");
+ && !isOneOf(workflow.getCollType(), "一类", "二类", "三类", "四类")) {
+ throw new ServiceException("个人抵押抵质押类型必须是:一类、二类、三类、四类之一");
}
if ("质押".equals(workflow.getGuarType())
&& !isOneOf(workflow.getCollType(), "存单质押", "其他质押")) {
@@ -150,8 +150,8 @@ public class LoanPricingWorkflowServiceImpl implements ILoanPricingWorkflowServi
private void validateCorporateCollateralType(LoanPricingWorkflow workflow) {
if ("抵押".equals(workflow.getGuarType())
- && !isOneOf(workflow.getCollType(), "一类", "二类", "三类", "四类", "排污权抵押", "设备等其他不动产抵押")) {
- throw new ServiceException("企业抵押抵质押类型必须是:一类、二类、三类、四类、排污权抵押、设备等其他不动产抵押之一");
+ && !isOneOf(workflow.getCollType(), "一类", "二类", "三类", "排污权抵押", "其他不动产抵押")) {
+ throw new ServiceException("企业抵押抵质押类型必须是:一类、二类、三类、排污权抵押、其他不动产抵押之一");
}
if ("质押".equals(workflow.getGuarType())
&& !isOneOf(workflow.getCollType(), "存单质押", "股权质押", "其他质押")) {
diff --git a/ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImplTest.java b/ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImplTest.java
index 5d727a6..36bceeb 100644
--- a/ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImplTest.java
+++ b/ruoyi-loan-pricing/src/test/java/com/ruoyi/loanpricing/service/impl/LoanPricingWorkflowServiceImplTest.java
@@ -290,36 +290,67 @@ class LoanPricingWorkflowServiceImplTest
}
@Test
- void shouldAllowPersonalMortgageOneLineAndRejectOldOther()
+ void shouldAllowPersonalMortgageFourthCategoryAndRejectOldFirstLine()
{
LoanPricingWorkflow allowedWorkflow = validWorkflow();
allowedWorkflow.setCustType("个人");
allowedWorkflow.setGuarType("抵押");
- allowedWorkflow.setCollType("一线");
+ allowedWorkflow.setCollType("四类");
loanPricingWorkflowService.createLoanPricing(allowedWorkflow);
LoanPricingWorkflow rejectedWorkflow = validWorkflow();
rejectedWorkflow.setCustType("个人");
rejectedWorkflow.setGuarType("抵押");
- rejectedWorkflow.setCollType("其他");
+ rejectedWorkflow.setCollType("一线");
ServiceException exception = assertThrows(ServiceException.class,
() -> loanPricingWorkflowService.createLoanPricing(rejectedWorkflow));
- assertEquals("个人抵押抵质押类型必须是:一线、一类、二类、三类之一", exception.getMessage());
+ assertEquals("个人抵押抵质押类型必须是:一类、二类、三类、四类之一", exception.getMessage());
}
@Test
- void shouldAllowCorporateMortgagePollutionRightAndPledgeEquity()
+ void shouldAllowCorporateNewMortgageTypesAndRejectOldMortgageTypes()
{
- LoanPricingWorkflow mortgageWorkflow = validWorkflow();
- mortgageWorkflow.setCustType("企业");
- mortgageWorkflow.setGuarType("抵押");
- mortgageWorkflow.setCollType("排污权抵押");
+ LoanPricingWorkflow pollutionRightWorkflow = validWorkflow();
+ pollutionRightWorkflow.setCustType("企业");
+ pollutionRightWorkflow.setGuarType("抵押");
+ pollutionRightWorkflow.setCollType("排污权抵押");
- loanPricingWorkflowService.createLoanPricing(mortgageWorkflow);
+ loanPricingWorkflowService.createLoanPricing(pollutionRightWorkflow);
+ LoanPricingWorkflow otherRealEstateWorkflow = validWorkflow();
+ otherRealEstateWorkflow.setCustType("企业");
+ otherRealEstateWorkflow.setGuarType("抵押");
+ otherRealEstateWorkflow.setCollType("其他不动产抵押");
+
+ loanPricingWorkflowService.createLoanPricing(otherRealEstateWorkflow);
+
+ LoanPricingWorkflow oldFourthCategoryWorkflow = validWorkflow();
+ oldFourthCategoryWorkflow.setCustType("企业");
+ oldFourthCategoryWorkflow.setGuarType("抵押");
+ oldFourthCategoryWorkflow.setCollType("四类");
+
+ ServiceException fourthCategoryException = assertThrows(ServiceException.class,
+ () -> loanPricingWorkflowService.createLoanPricing(oldFourthCategoryWorkflow));
+
+ LoanPricingWorkflow oldOtherRealEstateWorkflow = validWorkflow();
+ oldOtherRealEstateWorkflow.setCustType("企业");
+ oldOtherRealEstateWorkflow.setGuarType("抵押");
+ oldOtherRealEstateWorkflow.setCollType("设备等其他不动产抵押");
+
+ ServiceException otherRealEstateException = assertThrows(ServiceException.class,
+ () -> loanPricingWorkflowService.createLoanPricing(oldOtherRealEstateWorkflow));
+
+ String expectedMessage = "企业抵押抵质押类型必须是:一类、二类、三类、排污权抵押、其他不动产抵押之一";
+ assertEquals(expectedMessage, fourthCategoryException.getMessage());
+ assertEquals(expectedMessage, otherRealEstateException.getMessage());
+ }
+
+ @Test
+ void shouldKeepCorporatePledgeTypesUnchanged()
+ {
LoanPricingWorkflow pledgeWorkflow = validWorkflow();
pledgeWorkflow.setCustType("企业");
pledgeWorkflow.setGuarType("质押");
diff --git a/ruoyi-ui/src/views/loanPricing/workflow/components/CorporateCreateDialog.vue b/ruoyi-ui/src/views/loanPricing/workflow/components/CorporateCreateDialog.vue
index cb9dc2a..24e56ae 100644
--- a/ruoyi-ui/src/views/loanPricing/workflow/components/CorporateCreateDialog.vue
+++ b/ruoyi-ui/src/views/loanPricing/workflow/components/CorporateCreateDialog.vue
@@ -100,7 +100,33 @@
抵质押信息
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +207,30 @@ export default {
callback()
}
+ const validateCollateralType = (rule, value, callback) => {
+ if (this.isPledge && !value) {
+ callback(new Error('请选择抵质押类型'))
+ return
+ }
+ callback()
+ }
+
+ const validateCollateralNature = (rule, value, callback) => {
+ if (this.isMortgage && !value) {
+ callback(new Error('请选择抵押物性质'))
+ return
+ }
+ callback()
+ }
+
+ const validateNineArea = (rule, value, callback) => {
+ if (this.requiresNineArea && !value) {
+ callback(new Error('请选择是否属于九地'))
+ return
+ }
+ callback()
+ }
+
// 贷款期限验证
const validateLoanTerm = (rule, value, callback) => {
if (!value && value !== 0) {
@@ -221,6 +271,8 @@ export default {
isGreenLoan: false,
isTradeBuildEnt: false,
collType: undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: false,
couponRate: undefined
},
@@ -255,7 +307,13 @@ export default {
{required: true, message: "请选择历史贷款合同", trigger: "change"}
],
collType: [
- {required: true, message: "请选择抵质押类型", trigger: "change"}
+ {validator: validateCollateralType, trigger: "change"}
+ ],
+ collateralNature: [
+ {validator: validateCollateralNature, trigger: "change"}
+ ],
+ isNineArea: [
+ {validator: validateNineArea, trigger: "change"}
],
couponRate: [
{validator: validateCouponRate, trigger: "blur"}
@@ -275,6 +333,15 @@ export default {
isCollateralGuarantee() {
return this.form.guarType === '抵押' || this.form.guarType === '质押'
},
+ isMortgage() {
+ return this.form.guarType === '抵押'
+ },
+ isPledge() {
+ return this.form.guarType === '质押'
+ },
+ requiresNineArea() {
+ return this.isMortgage && ['普通住宅、土地、厂房', '商业性质不动产'].includes(this.form.collateralNature)
+ },
isStockTransfer() {
return this.form.businessType === '存量转贷'
},
@@ -288,13 +355,13 @@ export default {
return this.isEdit ? '编辑企业利率定价流程' : '新增企业利率定价流程'
},
collateralTypeOptions() {
- if (this.form.guarType === '抵押') {
- return ['一类', '二类', '三类', '四类', '排污权抵押', '设备等其他不动产抵押']
- }
- if (this.form.guarType === '质押') {
+ if (this.isPledge) {
return ['存单质押', '股权质押', '其他质押']
}
return []
+ },
+ collateralNatureOptions() {
+ return ['普通住宅、土地、厂房', '商业性质不动产', '排污权', '其他不动产']
}
},
watch: {
@@ -316,6 +383,12 @@ export default {
return
}
this.resetCouponRateIfNotCertificatePledge()
+ },
+ 'form.collateralNature'(val, oldVal) {
+ if (this.resettingForm || val === oldVal) {
+ return
+ }
+ this.handleCollateralNatureChange()
}
},
methods: {
@@ -353,7 +426,9 @@ export default {
resCover: this.isOne(this.editData.resCover),
isGreenLoan: this.isOne(this.editData.isGreenLoan),
isTradeBuildEnt: this.isOne(this.editData.isTradeBuildEnt),
- collType: this.editData.collType,
+ collType: this.editData.guarType === '质押' ? this.editData.collType : undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: this.isOne(this.editData.collThirdParty),
couponRate: this.editData.couponRate
}
@@ -374,6 +449,8 @@ export default {
isGreenLoan: false,
isTradeBuildEnt: false,
collType: undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: false,
couponRate: undefined
}
@@ -393,14 +470,38 @@ export default {
/** 清空抵质押字段 */
resetCollateralFields() {
this.form.collType = undefined
+ this.form.collateralNature = undefined
+ this.form.isNineArea = undefined
this.form.collThirdParty = false
this.resetCouponRateIfNotCertificatePledge()
this.$nextTick(() => {
if (this.$refs.form) {
- this.$refs.form.clearValidate(['collType', 'collThirdParty', 'couponRate'])
+ this.$refs.form.clearValidate(['collType', 'collateralNature', 'isNineArea', 'collThirdParty', 'couponRate'])
}
})
},
+ handleCollateralNatureChange() {
+ this.form.isNineArea = undefined
+ this.$nextTick(() => {
+ if (this.$refs.form) {
+ this.$refs.form.clearValidate(['isNineArea'])
+ }
+ })
+ },
+ resolveMortgageCollateralType() {
+ if (this.form.collateralNature === '普通住宅、土地、厂房') {
+ return this.form.isNineArea === '是' ? '一类' : '二类'
+ }
+ if (this.form.collateralNature === '商业性质不动产') {
+ return this.form.isNineArea === '是' ? '二类' : '三类'
+ }
+ if (this.form.collateralNature === '排污权') {
+ return '排污权抵押'
+ }
+ if (this.form.collateralNature === '其他不动产') {
+ return '其他不动产抵押'
+ }
+ },
resetCouponRateIfNotCertificatePledge() {
if (!this.isCertificatePledge) {
this.form.couponRate = undefined
@@ -472,6 +573,11 @@ export default {
isGreenLoan: this.form.isGreenLoan ? '1' : '0',
isTradeBuildEnt: this.form.isTradeBuildEnt ? '1' : '0'
}
+ if (this.isMortgage) {
+ data.collType = this.resolveMortgageCollateralType()
+ }
+ delete data.collateralNature
+ delete data.isNineArea
if (this.isCollateralGuarantee) {
data.collThirdParty = this.form.collThirdParty ? '1' : '0'
} else {
@@ -512,6 +618,24 @@ export default {
font-size: 14px;
}
+.nine-area-control {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.nine-area-control .el-select {
+ flex: 1;
+ min-width: 0;
+}
+
+.nine-area-help {
+ flex: 0 0 auto;
+ color: #909399;
+ cursor: help;
+ font-size: 16px;
+}
+
@media screen and (max-width: 768px) {
.workflow-create-form .el-col {
width: 100% !important;
diff --git a/ruoyi-ui/src/views/loanPricing/workflow/components/PersonalCreateDialog.vue b/ruoyi-ui/src/views/loanPricing/workflow/components/PersonalCreateDialog.vue
index bdecb0c..7bed042 100644
--- a/ruoyi-ui/src/views/loanPricing/workflow/components/PersonalCreateDialog.vue
+++ b/ruoyi-ui/src/views/loanPricing/workflow/components/PersonalCreateDialog.vue
@@ -87,7 +87,33 @@
抵质押信息
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -168,6 +194,30 @@ export default {
callback()
}
+ const validateCollateralType = (rule, value, callback) => {
+ if (this.isPledge && !value) {
+ callback(new Error('请选择抵质押类型'))
+ return
+ }
+ callback()
+ }
+
+ const validateCollateralNature = (rule, value, callback) => {
+ if (this.isMortgage && !value) {
+ callback(new Error('请选择抵押物性质'))
+ return
+ }
+ callback()
+ }
+
+ const validateNineArea = (rule, value, callback) => {
+ if (this.requiresNineArea && !value) {
+ callback(new Error('请选择是否属于九地'))
+ return
+ }
+ callback()
+ }
+
return {
loanTermOptions: [
'1', '2', '3', '4', '5', '6'
@@ -192,6 +242,8 @@ export default {
loanRateHistory: undefined,
loanLoop: false,
collType: undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: false,
couponRate: undefined
},
@@ -226,7 +278,13 @@ export default {
{required: true, message: "请选择历史贷款合同", trigger: "change"}
],
collType: [
- {required: true, message: "请选择抵质押类型", trigger: "change"}
+ {validator: validateCollateralType, trigger: "change"}
+ ],
+ collateralNature: [
+ {validator: validateCollateralNature, trigger: "change"}
+ ],
+ isNineArea: [
+ {validator: validateNineArea, trigger: "change"}
],
couponRate: [
{validator: validateCouponRate, trigger: "blur"}
@@ -246,6 +304,15 @@ export default {
isCollateralGuarantee() {
return this.form.guarType === '抵押' || this.form.guarType === '质押'
},
+ isMortgage() {
+ return this.form.guarType === '抵押'
+ },
+ isPledge() {
+ return this.form.guarType === '质押'
+ },
+ requiresNineArea() {
+ return this.isMortgage && ['普通住宅、土地、厂房', '商业性质不动产'].includes(this.form.collateralNature)
+ },
isStockTransfer() {
return this.form.businessType === '存量转贷'
},
@@ -259,13 +326,13 @@ export default {
return this.isEdit ? '编辑个人利率定价流程' : '新增个人利率定价流程'
},
collateralTypeOptions() {
- if (this.form.guarType === '抵押') {
- return ['一线', '一类', '二类', '三类']
- }
- if (this.form.guarType === '质押') {
+ if (this.isPledge) {
return ['存单质押', '其他质押']
}
return []
+ },
+ collateralNatureOptions() {
+ return ['普通住宅、土地、厂房', '商业性质不动产', '其他抵押财产']
}
},
watch: {
@@ -287,6 +354,12 @@ export default {
return
}
this.resetCouponRateIfNotCertificatePledge()
+ },
+ 'form.collateralNature'(val, oldVal) {
+ if (this.resettingForm || val === oldVal) {
+ return
+ }
+ this.handleCollateralNatureChange()
}
},
methods: {
@@ -322,7 +395,9 @@ export default {
businessType: this.editData.businessType,
loanRateHistory: this.editData.loanRateHistory,
loanLoop: this.isOne(this.editData.loanLoop),
- collType: this.editData.collType,
+ collType: this.editData.guarType === '质押' ? this.editData.collType : undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: this.isOne(this.editData.collThirdParty),
couponRate: this.editData.couponRate
}
@@ -341,6 +416,8 @@ export default {
loanRateHistory: undefined,
loanLoop: false,
collType: undefined,
+ collateralNature: undefined,
+ isNineArea: undefined,
collThirdParty: false,
couponRate: undefined
}
@@ -360,14 +437,35 @@ export default {
/** 清空抵质押字段 */
resetCollateralFields() {
this.form.collType = undefined
+ this.form.collateralNature = undefined
+ this.form.isNineArea = undefined
this.form.collThirdParty = false
this.resetCouponRateIfNotCertificatePledge()
this.$nextTick(() => {
if (this.$refs.form) {
- this.$refs.form.clearValidate(['collType', 'collThirdParty', 'couponRate'])
+ this.$refs.form.clearValidate(['collType', 'collateralNature', 'isNineArea', 'collThirdParty', 'couponRate'])
}
})
},
+ handleCollateralNatureChange() {
+ this.form.isNineArea = undefined
+ this.$nextTick(() => {
+ if (this.$refs.form) {
+ this.$refs.form.clearValidate(['isNineArea'])
+ }
+ })
+ },
+ resolveMortgageCollateralType() {
+ if (this.form.collateralNature === '普通住宅、土地、厂房') {
+ return this.form.isNineArea === '是' ? '一类' : '二类'
+ }
+ if (this.form.collateralNature === '商业性质不动产') {
+ return this.form.isNineArea === '是' ? '二类' : '三类'
+ }
+ if (this.form.collateralNature === '其他抵押财产') {
+ return '四类'
+ }
+ },
resetCouponRateIfNotCertificatePledge() {
if (!this.isCertificatePledge) {
this.form.couponRate = undefined
@@ -437,6 +535,11 @@ export default {
...this.form,
loanLoop: this.form.loanLoop ? '1' : '0'
}
+ if (this.isMortgage) {
+ data.collType = this.resolveMortgageCollateralType()
+ }
+ delete data.collateralNature
+ delete data.isNineArea
if (this.isCollateralGuarantee) {
data.collThirdParty = this.form.collThirdParty ? '1' : '0'
} else {
@@ -477,6 +580,24 @@ export default {
font-size: 14px;
}
+.nine-area-control {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.nine-area-control .el-select {
+ flex: 1;
+ min-width: 0;
+}
+
+.nine-area-help {
+ flex: 0 0 auto;
+ color: #909399;
+ cursor: help;
+ font-size: 16px;
+}
+
@media screen and (max-width: 768px) {
.workflow-create-form .el-col {
width: 100% !important;
diff --git a/ruoyi-ui/tests/personal-create-input-params.test.js b/ruoyi-ui/tests/personal-create-input-params.test.js
index 12144f4..ee604a0 100644
--- a/ruoyi-ui/tests/personal-create-input-params.test.js
+++ b/ruoyi-ui/tests/personal-create-input-params.test.js
@@ -52,14 +52,33 @@ assert(
assert(
personalCreateDialog.includes('collateralTypeOptions') &&
- personalCreateDialog.includes("return ['一线', '一类', '二类', '三类']") &&
personalCreateDialog.includes("return ['存单质押', '其他质押']"),
- '个人新增弹窗抵质押类型选项未按担保方式动态切换'
+ '个人新增弹窗应保留质押类型选项'
)
assert(
- personalCreateDialog.includes('{required: true, message: "请选择抵质押类型", trigger: "change"}'),
- '个人新增弹窗抵质押类型应为必填'
+ personalCreateDialog.includes('label="抵押物性质"') &&
+ personalCreateDialog.includes('prop="collateralNature"') &&
+ personalCreateDialog.includes("return ['普通住宅、土地、厂房', '商业性质不动产', '其他抵押财产']") &&
+ personalCreateDialog.includes('label="是否属于九地"') &&
+ personalCreateDialog.includes('九地是指绍兴、杭州、宁波、上海、北京、广州、深圳、南京、苏州') &&
+ personalCreateDialog.includes(':disabled="!requiresNineArea"') &&
+ personalCreateDialog.includes("'无需选择'"),
+ '个人新增弹窗缺少抵押物性质、九地选择或九地说明'
+)
+
+assert(
+ personalCreateDialog.includes("return this.form.isNineArea === '是' ? '一类' : '二类'") &&
+ personalCreateDialog.includes("return this.form.isNineArea === '是' ? '二类' : '三类'") &&
+ personalCreateDialog.includes("return '四类'"),
+ '个人新增弹窗抵押物类型映射不完整'
+)
+
+assert(
+ personalCreateDialog.includes("if (this.isPledge && !value)") &&
+ personalCreateDialog.includes("if (this.isMortgage && !value)") &&
+ personalCreateDialog.includes("if (this.requiresNineArea && !value)"),
+ '个人新增弹窗缺少抵押和质押的条件校验'
)
assert(
@@ -68,6 +87,9 @@ assert(
!personalCreateDialog.includes('bizProof:') &&
personalCreateDialog.includes("loanLoop: this.form.loanLoop ? '1' : '0'") &&
personalCreateDialog.includes("data.collThirdParty = this.form.collThirdParty ? '1' : '0'") &&
+ personalCreateDialog.includes('data.collType = this.resolveMortgageCollateralType()') &&
+ personalCreateDialog.includes('delete data.collateralNature') &&
+ personalCreateDialog.includes('delete data.isNineArea') &&
personalCreateDialog.includes('delete data.collType') &&
personalCreateDialog.includes('delete data.collThirdParty'),
'个人新增弹窗开关字段或非抵质押提交字段处理不正确'