feat: 优化渲染性能 解决信息未填充完整就开始试算的问题

This commit is contained in:
hz
2025-10-30 14:35:26 +08:00
parent 8395e24cd7
commit 80e8d99c93

View File

@@ -374,7 +374,7 @@
</div> </div>
<!--底部总保费计算--> <!--底部总保费计算-->
<total-premium @submit="nextStep" :money="firstTermTotalPremium" :btn-option="{disable : nextStepFlag, name: '立即投保'}"/> <total-premium @submit="nextStep" :money="firstTermTotalPremium" :btn-option="{ disable: nextStepFlag, name: '立即投保' }" />
<van-action-sheet v-model="show" cancel-text="取消" :actions="policyInfo" @select="openDocument" /> <van-action-sheet v-model="show" cancel-text="取消" :actions="policyInfo" @select="openDocument" />
@@ -404,7 +404,7 @@
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" /> <img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" />
</div> </div>
</div> </div>
<div class="flex justify-content-s align-items-c fs12" v-for="item in riskAmntList"> <div class="flex justify-content-s align-items-c fs12" v-for="item in riskAmntList" :key="item">
<div> <div>
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/coin.png')" alt="" /> <img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/coin.png')" alt="" />
<span class="v-middle">{{ item.accuRiskDesc }}</span> <span class="v-middle">{{ item.accuRiskDesc }}</span>
@@ -517,10 +517,10 @@ export default {
premiumData: [], //试算 premiumData: [], //试算
saleInsuredInfo: syncLocalstorageData( saleInsuredInfo: syncLocalstorageData(
{ sex: '0', birthday: '' }, //投保人信息 { sex: '0', birthday: '' }, //投保人信息
{ name: 'saleInsuredInfo' } { name: 'saleInsuredInfo', insuredAge: '' }
), ),
saleInsuredPersonInfo: syncLocalstorageData( saleInsuredPersonInfo: syncLocalstorageData(
{ sex: '0', birthday: '' }, //投保人信息 { sex: '0', birthday: '', relationToAppnt: '', insuredAge: '' }, //投保人信息
{ name: 'saleInsuredPersonInfo' } { name: 'saleInsuredPersonInfo' }
), ),
trialList: [], trialList: [],
@@ -3433,7 +3433,7 @@ export default {
}) })
resultData = await saveProposal(params) resultData = await saveProposal(params)
} else if (isFrom !== 'orderTrial' && localStorage.isFrom === 'sale') { } else if (isFrom !== 'orderTrial' && localStorage.isFrom === 'sale') {
resultData = this.submitOrder({riskDTO: params, createOrder: false}) resultData = this.submitOrder({ riskDTO: params, createOrder: false })
// todo 处理下一步的逻辑,需要携带数据到下一页中 // todo 处理下一步的逻辑,需要携带数据到下一页中
} else if (isFrom === 'orderTrial' && localStorage.isFrom === 'sale') { } else if (isFrom === 'orderTrial' && localStorage.isFrom === 'sale') {
this.$toast.loading({ this.$toast.loading({
@@ -3567,26 +3567,30 @@ export default {
ele.result = '' ele.result = ''
this.showAdditionRiskPopup = false this.showAdditionRiskPopup = false
}, },
submitOrder({riskDTO = [], createOrder = true} = {}) { submitOrder({ riskDTO = [], createOrder = true } = {}) {
const params = { const params = {
orderType: 'RISK_ORDER_NEW', orderType: 'RISK_ORDER_NEW',
orderDTO: Array.isArray(riskDTO) ? { orderDTO: Array.isArray(riskDTO)
orderInfoDTO: { ? {
orderNo: this.$route.query.orderNo || '', orderInfoDTO: {
productChannel: '0' orderNo: this.$route.query.orderNo || '',
}, productChannel: '0'
// appntDTO: {}, },
// userModel: { // appntDTO: {},
// branchType: this.branchType // userModel: {
// }, // branchType: this.branchType
insuredDTOs: [{ // },
riskDTOLst: [] insuredDTOs: [
}] {
} : riskDTO.orderDTO riskDTOLst: []
}
]
}
: riskDTO.orderDTO
} }
saveOrUpdateOrderInfo(params).then((response) => { saveOrUpdateOrderInfo(params).then(response => {
const { orderNo } = response const { orderNo } = response
localStorage.setItem("orderNo", orderNo) localStorage.setItem('orderNo', orderNo)
if (!createOrder) return if (!createOrder) return
this.$router.replace({ this.$router.replace({
name: 'fiProductDetail', name: 'fiProductDetail',