feat(product):优化产品流程与UI展示

- 新增 DestroyablePopup 组件用于弹窗管理
- 页面 重构 SelectedProduct展示结构,使用 van-field 替代原有布局
- 引入 riskMap 映射文件优化字段展示- 在 CalculatePremium 组件中替换 popup 为 destroyable-popup
- 新增 TitleBar 组件支持自定义布局操作按钮
-优化 InsuranceApplicationFlow 页面结构与逻辑- 添加保障信息模块并支持修改保障计划功能
- 完善组件间数据传递与事件处理机制
This commit is contained in:
hz
2025-11-05 17:18:47 +08:00
parent 2412f7f9a9
commit 7bb4d51d44
6 changed files with 269 additions and 137 deletions

View File

@@ -0,0 +1,29 @@
<script>
export default {
name: 'DestroyablePopup',
data() {
return {
isPopupOpen: this.show, isDestroyPopup: false
}
},
watch: {
isPopupOpen(val) {
this.isPopupOpen = val
this.$emit('update:show', val)
},
show() {
if (this.show) this.isDestroyPopup = false
this.$nextTick(() => this.isPopupOpen = this.show)
}
},
props: ['show']
}
</script>
<template>
<div v-if="!isDestroyPopup">
<van-popup v-model="isPopupOpen" round position="bottom" @closed="()=>{isDestroyPopup = true}">
<slot></slot>
</van-popup>
</div>
</template>