移除liquidbase 需求20260817

This commit is contained in:
wkc
2026-08-24 12:31:08 +08:00
parent 9552e2acb8
commit cb29c38bf1
24 changed files with 245 additions and 847 deletions

View File

@@ -82,17 +82,19 @@ assert(
)
assert(
!personalCreateDialog.includes('label="是否有经营佐证"') &&
!personalCreateDialog.includes('prop="bizProof"') &&
!personalCreateDialog.includes('bizProof:') &&
personalCreateDialog.includes('label="是否有营业执照"') &&
personalCreateDialog.includes('prop="bizProof"') &&
personalCreateDialog.includes('bizProof: false') &&
personalCreateDialog.includes('bizProof: this.isOne(this.editData.bizProof)') &&
personalCreateDialog.includes("bizProof: this.form.bizProof ? '1' : '0'") &&
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('collateralNature: this.editData.collateralNature') &&
personalCreateDialog.includes('isNineArea: this.editData.isNineArea') &&
personalCreateDialog.includes('delete data.collType') &&
personalCreateDialog.includes('delete data.collThirdParty'),
'个人新增弹窗开关字段或非抵质押提交字段处理不正确'
'个人新增弹窗营业执照、抵押来源字段、开关字段或非抵质押提交字段处理不正确'
)
assert(
@@ -100,6 +102,19 @@ assert(
'个人详情页缺少贷款用途展示'
)
assert(
personalDetail.includes('label="是否有营业执照"') && personalDetail.includes('detailData.bizProof'),
'个人详情页缺少营业执照展示'
)
assert(
personalDetail.includes('label="抵押物性质"') &&
personalDetail.includes('detailData.collateralNature') &&
personalDetail.includes('label="是否属于九地"') &&
personalDetail.includes('detailData.isNineArea'),
'个人详情页缺少抵押物性质或九地展示'
)
assert(
personalDetail.includes("value === '1'") && personalDetail.includes("value === '0'"),
'个人详情页布尔格式化未兼容 1/0'

View File

@@ -7,15 +7,22 @@ function read(relativePath) {
}
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const summaryStart = personalDetail.indexOf('<el-card class="summary-card">')
const summaryEnd = personalDetail.indexOf('</el-card>', summaryStart)
const summaryCard = personalDetail.slice(summaryStart, summaryEnd)
assert(summaryStart !== -1 && summaryEnd !== -1, '个人流程详情缺少关键信息卡片')
assert(
/label="最终测算利率"/.test(personalDetail),
'个人流程详情左侧缺少“最终测算利率”标签'
!/label="(?:基准利率|浮动BP|最终测算利率)"/.test(summaryCard),
'个人流程详情关键信息不应展示基准利率、浮动BP或最终测算利率'
)
assert(
/return this\.retailOutput\?\.finalCalculateRate \|\| '-'/.test(personalDetail),
'个人流程详情没有使用 finalCalculateRate 展示最终测算利率'
/label="期限"/.test(summaryCard)
&& /label="担保方式"/.test(summaryCard)
&& /label="产品最低利率下限"/.test(summaryCard),
'个人流程详情关键信息缺少期限、担保方式或产品最低利率下限'
)
console.log('personal final calculate rate display assertions passed')
console.log('personal key information display assertions passed')

View File

@@ -9,18 +9,48 @@ function read(relativePath) {
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const modelOutput = read('src/views/loanPricing/workflow/components/ModelOutputDisplay.vue')
function extractCard(source, className) {
const start = source.indexOf(`<el-card class="${className}">`)
const end = source.indexOf('</el-card>', start)
assert(start !== -1 && end !== -1, `缺少卡片: ${className}`)
return source.slice(start, end)
}
const summaryCard = extractCard(personalDetail, 'summary-card')
const detailCard = extractCard(personalDetail, 'detail-card')
const businessInfoStart = detailCard.indexOf('<h4 class="section-title">业务信息</h4>')
const basicInfo = detailCard.slice(0, businessInfoStart)
const businessInfo = detailCard.slice(businessInfoStart)
assert(
personalDetail.includes('label="借款期限"') && personalDetail.includes('detailData.loanTerm'),
'个人详情页缺少借款期限展示'
!basicInfo.includes('label="借款期限"')
&& businessInfo.includes('label="借款期限"')
&& businessInfo.includes('detailData.loanTerm'),
'个人详情页借款期限未展示在业务信息中'
)
;['期限', '担保方式', '产品最低利率下限'].forEach((label) => {
assert(summaryCard.includes(`label="${label}"`), `个人流程详情关键信息缺少字段: ${label}`)
})
;['基准利率', '浮动BP', '最终测算利率'].forEach((label) => {
assert(!summaryCard.includes(`label="${label}"`), `个人流程详情关键信息不应展示字段: ${label}`)
})
assert(
personalDetail.includes('formatRate(retailOutput && retailOutput.minRateProduct)'),
'个人流程详情关键信息未展示产品最低利率下限'
)
const requiredRetailFields = [
'retailOutput.greyBlackCust',
'retailOutput.loanRateHistory',
'retailOutput.minRateProduct',
'retailOutput.smoothRange',
'retailOutput.finalCalculateRate',
'retailOutput.referenceRate'
'retailOutput.referenceRate',
'retailOutput.blackCust',
'retailOutput.branchBp',
'retailOutput.bpLoanUse',
'retailOutput.midPerGasDdc'
]
requiredRetailFields.forEach((field) => {
@@ -28,9 +58,26 @@ requiredRetailFields.forEach((field) => {
})
assert(
modelOutput.indexOf('label="灰黑名单客户"') > modelOutput.indexOf('<h4 class="section-title">基本信息</h4>')
&& modelOutput.indexOf('label="灰黑名单客户"') < modelOutput.indexOf('<h4 class="section-title">测算结果</h4>'),
'灰黑名单客户未展示在个人模型输出基础信息中'
modelOutput.includes("this.resultItem('营业执照', this.formatBoolean(this.retailOutput.bizProof))"),
'个人风险度缺少营业执照或 BP_贷款用途关联展示'
)
assert(
detailCard.includes('label="客户名称"')
&& !detailCard.includes('label="灰黑名单客户"')
&& !detailCard.includes('retailOutput && retailOutput.greyBlackCust'),
'个人流程详情基本信息不应展示灰黑名单客户'
)
assert(
!basicInfo.includes('label="基准利率"')
&& !basicInfo.includes('retailOutput && retailOutput.baseLoanRate'),
'个人流程详情基本信息不应展示基准利率'
)
assert(
!detailCard.includes('label="运行模式"') && !modelOutput.includes('<h4 class="section-title">基本信息</h4>'),
'个人详情仍展示运行模式或模型输出基本信息'
)
console.log('retail display fields assertions passed')

View File

@@ -6,22 +6,22 @@ function read(relativePath) {
return fs.readFileSync(path.join(__dirname, '..', relativePath), 'utf8')
}
function assertModelOutputBeforeDetailCard(source, label) {
function assertDetailCardBeforeModelOutput(source, label) {
const modelOutputIndex = source.indexOf('<ModelOutputDisplay')
const detailCardIndex = source.indexOf('<el-card class="detail-card">')
assert(modelOutputIndex !== -1, `${label} 缺少模型输出卡片`)
assert(detailCardIndex !== -1, `${label} 缺少流程详情卡片`)
assert(
modelOutputIndex < detailCardIndex,
`${label}模型输出卡片应位于流程详情卡片上方`
detailCardIndex < modelOutputIndex,
`${label}流程详情卡片应位于模型输出卡片上方`
)
}
const personalDetail = read('src/views/loanPricing/workflow/components/PersonalWorkflowDetail.vue')
const corporateDetail = read('src/views/loanPricing/workflow/components/CorporateWorkflowDetail.vue')
assertModelOutputBeforeDetailCard(personalDetail, '个人流程详情')
assertModelOutputBeforeDetailCard(corporateDetail, '企业流程详情')
assertDetailCardBeforeModelOutput(personalDetail, '个人流程详情')
assertDetailCardBeforeModelOutput(corporateDetail, '企业流程详情')
console.log('workflow detail card order assertions passed')