Commit 590d2904 by Sweet Zhang

合并test分支

parents b9d3fa54 c5f821e1
...@@ -213,3 +213,11 @@ export function downloadCompressedFile(data) { ...@@ -213,3 +213,11 @@ export function downloadCompressedFile(data) {
method: 'post' method: 'post'
}) })
} }
// 获取保险对账公司列表
export function insuranceReconciliationCompany(data) {
return request({
url: '/insurance/base/api/insuranceReconciliationCompany/page',
data: data,
method: 'post'
})
}
...@@ -25,6 +25,54 @@ const customer = [ ...@@ -25,6 +25,54 @@ const customer = [
} }
] ]
}, },
// 证件信息
{
fatherTitle: '证件信息',
keyType: 'Array', //用于表单收集值时,判断是数组还是对象
key: 'apiCertificateDtoList',
anchorKey: 'apiCertificateDtoList',
moudleType: 'apiCertificateDtoList',
dataLength: 1, //设置dataLength,用于控制子级dom的个数,子级保存一个样例数据,便于加子级数据
showMoudle: true,
showTable: true,
addChildren: true, //是否可以新增子级dom
addChildrenTxt: '证件', //新增按钮得文本
fatherRequired: false, //父级必填,代表个人资料这个模块有必填项
isOpen: false, //dom是否展开
// 表格列配置
columns: [
{
label: '证件类型',
prop: 'documentType',
type: 'select',
dictType: 'csf_id_type',
placeholder: '请选择证件类型',
required: true
},
{
label: '证件号码',
prop: 'idNumber',
type: 'input',
placeholder: '请输入证件号码',
required: true
},
{
label: '证件有效期',
prop: 'certificateValidityPeriod',
type: 'datePicker',
timeType: 'daterange',
placeholder: '请选择证件有效期',
required: true
},
{
label: '是否长期有效',
prop: 'isPermanent',
type: 'radioGroup',
required: false
}
],
data: []
},
// 基础信息 // 基础信息
{ {
fatherTitle: '基础信息', fatherTitle: '基础信息',
...@@ -68,35 +116,35 @@ const customer = [ ...@@ -68,35 +116,35 @@ const customer = [
lg: 8 //栅格布局份数 lg: 8 //栅格布局份数
}, },
{ // {
label: '证件类型', // label: '证件类型',
key: 'documentType', // key: 'documentType',
domType: 'Select', // domType: 'Select',
required: true, // required: true,
disabled: false, // disabled: false,
placeholder: '请选择', // placeholder: '请选择',
dictType: 'csf_id_type', // dictType: 'csf_id_type',
show: true, // show: true,
labelPosition: 'top', //标签的位置 // labelPosition: 'top', //标签的位置
labelWidth: '120px', //标签宽度 // labelWidth: '120px', //标签宽度
sm: 12, //栅格布局份数 // sm: 12, //栅格布局份数
lg: 8 //栅格布局份数 // lg: 8 //栅格布局份数
}, // },
{ // {
label: '证件号码', // label: '证件号码',
key: 'idNumber', // key: 'idNumber',
domType: 'Input', // domType: 'Input',
inputType: 'text', // inputType: 'text',
required: true, // required: true,
maxLength: 20, // maxLength: 20,
disabled: false, // disabled: false,
placeholder: '请输入', // placeholder: '请输入',
show: true, // show: true,
labelPosition: 'top', //标签的位置 // labelPosition: 'top', //标签的位置
labelWidth: '120px', //标签宽度 // labelWidth: '120px', //标签宽度
sm: 12, //栅格布局份数 // sm: 12, //栅格布局份数
lg: 8 //栅格布局份数 // lg: 8 //栅格布局份数
}, // },
{ {
label: '性别', label: '性别',
...@@ -202,7 +250,7 @@ const customer = [ ...@@ -202,7 +250,7 @@ const customer = [
label: '婚姻状况', label: '婚姻状况',
key: 'maritalStatus', key: 'maritalStatus',
domType: 'Select', domType: 'Select',
required: true, required: false,
disabled: false, disabled: false,
placeholder: '请选择', placeholder: '请选择',
dictType: 'csf_marriage', dictType: 'csf_marriage',
...@@ -216,7 +264,7 @@ const customer = [ ...@@ -216,7 +264,7 @@ const customer = [
label: '教育程度', label: '教育程度',
key: 'educationLevel', key: 'educationLevel',
domType: 'Select', domType: 'Select',
required: true, required: false,
disabled: false, disabled: false,
placeholder: '请选择', placeholder: '请选择',
dictType: 'csf_education', dictType: 'csf_education',
...@@ -230,7 +278,7 @@ const customer = [ ...@@ -230,7 +278,7 @@ const customer = [
label: '是否退休', label: '是否退休',
key: 'isRetirement', key: 'isRetirement',
domType: 'Select', domType: 'Select',
required: true, required: false,
disabled: false, disabled: false,
placeholder: '请选择', placeholder: '请选择',
dictType: 'sys_no_yes', dictType: 'sys_no_yes',
...@@ -346,6 +394,21 @@ const customer = [ ...@@ -346,6 +394,21 @@ const customer = [
addChildrenTxt: '税务', //新增按钮得文本 addChildrenTxt: '税务', //新增按钮得文本
fatherRequired: false, //父级必填,代表个人资料这个模块有必填项 fatherRequired: false, //父级必填,代表个人资料这个模块有必填项
isOpen: false, //dom是否展开 isOpen: false, //dom是否展开
// 表格列配置
columns: [
{
label: '税务国家',
prop: 'taxCountry',
type: 'Input',
placeholder: '请输入税务国家'
},
{
label: '税务编号',
prop: 'taxId',
type: 'Input',
placeholder: '请税务编号'
}
],
data: [ data: [
// { // {
// id: Date.now() + Math.floor(Math.random() * 1000), //唯一标识 // id: Date.now() + Math.floor(Math.random() * 1000), //唯一标识
...@@ -434,7 +497,7 @@ const customer = [ ...@@ -434,7 +497,7 @@ const customer = [
key: 'certificateAddress', key: 'certificateAddress',
domType: 'Input', domType: 'Input',
inputType: 'text', inputType: 'text',
required: true, required: false,
maxLength: 20, maxLength: 20,
disabled: false, disabled: false,
placeholder: '请输入', placeholder: '请输入',
......
...@@ -28,7 +28,7 @@ const secondHolder = [ ...@@ -28,7 +28,7 @@ const secondHolder = [
//受益人 //受益人
{ {
showMoudle: false, //模块是否展示 showMoudle: false, //模块是否展示
fatherTitle: '受益人', fatherTitle: '第二持有人',
keyType: 'Object', //用于表单收集值时,判断是数组还是对象 keyType: 'Object', //用于表单收集值时,判断是数组还是对象
key: 'apiSecondHolderInfoDto', key: 'apiSecondHolderInfoDto',
anchorKey: 'apiSecondHolderInfoDto', anchorKey: 'apiSecondHolderInfoDto',
......
...@@ -10,69 +10,114 @@ ...@@ -10,69 +10,114 @@
<div class="status">{{ processInfo.status || '--' }}</div> <div class="status">{{ processInfo.status || '--' }}</div>
<div class="time"> <div class="time">
<span class="iconfont icon-yanqiweiwancheng"></span> <span class="iconfont icon-yanqiweiwancheng"></span>
<span>{{ parseTime(processInfo.createTime) }}{{ <span
processInfo.customerName || '--' >{{ parseTime(processInfo.createTime) }}{{
}}创建</span> processInfo.customerName || '--'
}}创建</span
>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="tabsBox"> <div class="tabsBox">
<el-tabs v-model="activeName" class="demo-tabs" :before-leave="beforeTabLeave" ref="tabPaneRef"> <el-tabs
<el-tab-pane v-for="(tab) in tabsList" :key="tab.name" :label="tab.label" :name="tab.name"> v-model="activeName"
class="demo-tabs"
:before-leave="beforeTabLeave"
ref="tabPaneRef"
>
<el-tab-pane
v-for="(tab, tIndex) in tabsList"
:key="tab.name"
:label="tab.label"
:name="tab.name"
>
<!-- 注意tabPaneBox这个类名与子组件的锚点定位相关,不能轻易改动 --> <!-- 注意tabPaneBox这个类名与子组件的锚点定位相关,不能轻易改动 -->
<div :class="{ tabPaneBox: activeName !== 'appointment' }"> <div :class="{ tabPaneBox: activeName !== 'appointment' }">
<div v-if="tab.name === 'overview'" class="overviewBox"> <div v-if="tab.name === 'overview'" class="overviewBox">
<div class="oneItem" v-for="item in tabsList.filter(item => item.id !== -1 && item.status)" <div
:key="item.id" @click="handleStep(item)"> class="oneItem"
<div class="circle" :class="{ v-for="item in tabsList.filter(item => item.id !== -1 && item.status)"
finfishCircle: item.status == '1', :key="item.id"
unFinishCircle: item.status == '0' @click="handleStep(item)"
}"> >
<div
class="circle"
:class="{
finfishCircle: item.status == '1',
unFinishCircle: item.status == '0'
}"
>
<el-icon v-if="item.status == '1'"> <el-icon v-if="item.status == '1'">
<Check /> <Check />
</el-icon> </el-icon>
<span v-else>{{ item.id }}</span> <span v-else>{{ item.id }}</span>
</div> </div>
<div class="title" :class="{ <div
finfishTitle: item.status == '1', class="title"
unFinishTitle: item.status == '0' :class="{
}"> finfishTitle: item.status == '1',
unFinishTitle: item.status == '0'
}"
>
{{ item.label }} {{ item.label }}
</div> </div>
<div class="status" :class="{ <div
finfishStatus: item.status == '1', class="status"
unFinishStatus: item.status == '0' :class="{
}"> finfishStatus: item.status == '1',
unFinishStatus: item.status == '0'
}"
>
{{ item.status == '1' ? '已完成' : '未完成' }} {{ item.status == '1' ? '已完成' : '未完成' }}
</div> </div>
<div class="operation"> <div class="operation">
<el-icon class="editIcon" v-if="item.status == '0'"> <el-icon class="editIcon" v-if="item.status == '0'">
<EditPen /> <EditPen />
</el-icon> </el-icon>
<div :class="{ <div
finfishOperation: item.status == '1', :class="{
unFinishOperation: item.status == '0' finfishOperation: item.status == '1',
}"> unFinishOperation: item.status == '0'
}"
>
{{ item.status == '1' ? '点击查看详情' : '去填写' }} {{ item.status == '1' ? '点击查看详情' : '去填写' }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<Customer v-if="tab.name === 'customer'" :activeName="activeName" <Customer
:customerBizId="processInfo.customerBizId" @handleSuccess="handleSuccess" v-if="tab.name === 'customer'"
:tabIndex="tabsList.findIndex(t => t.name === 'customer')" anchorContainer=".tabPaneBox" :activeName="activeName"
tabSource="customer" /> :customerBizId="processInfo.customerBizId"
@handleSuccess="handleSuccess"
:tabIndex="tabsList.findIndex(t => t.name === 'customer')"
anchorContainer=".tabPaneBox"
tabSource="customer"
/>
<div v-if="tab.name === 'fnaform'"> <div v-if="tab.name === 'fnaform'">
<FanForm :activeName="activeName" :fnaFormBizId="processInfo.fnaFormBizId" <FanForm
:customerBizId="processInfo.customerBizId" :dictTypeLists="dictTypeLists" :customerInfo="customerInfo" :activeName="activeName"
@handleSuccess="handleSuccess" :tabIndex="tabsList.findIndex(t => t.name === 'fnaform')" :fnaFormBizId="processInfo.fnaFormBizId"
anchorContainer=".tabPaneBox" tabSource="fnaform" /> :customerBizId="processInfo.customerBizId"
:dictTypeLists="dictTypeLists"
:customerInfo="customerInfo"
@handleSuccess="handleSuccess"
:tabIndex="tabsList.findIndex(t => t.name === 'fnaform')"
anchorContainer=".tabPaneBox"
tabSource="fnaform"
/>
</div> </div>
<div v-if="tab.name === 'appointment'"> <div v-if="tab.name === 'appointment'">
<AppointmentEdit :embed="true" editStatus="add" :tabName="activeName" :processDetail="processInfo" <AppointmentEdit
@handleSuccess="handleSuccess" source="fnaList" /> :embed="true"
editStatus="add"
:tabName="activeName"
:processDetail="processInfo"
@handleSuccess="handleSuccess"
source="fnaList"
/>
</div> </div>
<div v-if="tab.name === 'newpolicy'">关联新单内容</div> <div v-if="tab.name === 'newpolicy'">关联新单内容</div>
</div> </div>
...@@ -166,6 +211,40 @@ const tabsList = ref([ ...@@ -166,6 +211,40 @@ const tabsList = ref([
const { csf_fna_status } = proxy.useDict('csf_fna_status') const { csf_fna_status } = proxy.useDict('csf_fna_status')
// 获取各个流程所需要得字典数据 // 获取各个流程所需要得字典数据
const getDictsData = async () => { const getDictsData = async () => {
// 请求每个流程中所涉及到的字典值数据,如果缓存中有,则不再请求
if (dictStore.dictTypeLists.length == 0) {
proxy.useDictLists([
'csf_employment',
'sys_no_yes',
'bx_currency_type',
'csf_liquid_asset_type',
'csf_premium_funding_source',
'csf_customer_type',
'csf_customer_title',
'sys_gender',
'csf_marriage',
'csf_education',
'csf_id_type',
'csf_ap_apply_type',
'csf_ap_meeting_point',
'csf_ap_first_issue',
'csf_ap_dividend',
'csf_ap_frequency',
'csf_ap_rel',
'csf_ap_registration',
'csf_ap_exercise',
'csf_ap_risk',
'csf_ap_movie',
'csf_ap_game',
'wj_question_first_category',
'wj_question_second_category',
'csf_ap_policy_transfer',
'md_bank',
'csf_property_type',
'oss_data_type',
'oss_data_person'
])
}
// 获取租户用户列表 // 获取租户用户列表
const params1 = { const params1 = {
tenantBizId: userStore.projectInfo.tenantBizId, tenantBizId: userStore.projectInfo.tenantBizId,
...@@ -299,41 +378,6 @@ const getDictsData = async () => { ...@@ -299,41 +378,6 @@ const getDictsData = async () => {
}) })
dictStore.setAllInsuranceCompanyList(response9.data.records) dictStore.setAllInsuranceCompanyList(response9.data.records)
} }
// 请求每个流程中所涉及到的字典值数据,如果缓存中有,则不再请求
if (dictStore.dictTypeLists.length == 0) {
proxy.useDictLists([
'csf_employment',
'sys_no_yes',
'bx_currency_type',
'csf_liquid_asset_type',
'csf_premium_funding_source',
'csf_customer_type',
'csf_customer_title',
'sys_gender',
'csf_marriage',
'csf_education',
'csf_id_type',
'csf_ap_apply_type',
'csf_ap_meeting_point',
'csf_ap_first_issue',
'csf_ap_dividend',
'csf_ap_frequency',
'csf_ap_rel',
'csf_ap_registration',
'csf_ap_exercise',
'csf_ap_risk',
'csf_ap_movie',
'csf_ap_game',
'wj_question_first_category',
'wj_question_second_category',
'csf_ap_policy_transfer',
'md_bank',
'csf_property_type',
'oss_data_type',
'oss_data_person'
])
}
} }
// 更新流程 // 更新流程
...@@ -361,6 +405,8 @@ function getProcessInfo(fnaBizId, changeTab, currentTab) { ...@@ -361,6 +405,8 @@ function getProcessInfo(fnaBizId, changeTab, currentTab) {
item.status = '0' item.status = '0'
} }
}) })
console.log('客户资料新增成功', tabsList.value)
csf_fna_status._object.csf_fna_status.forEach(item => { csf_fna_status._object.csf_fna_status.forEach(item => {
if (item.value == res.data.status) { if (item.value == res.data.status) {
processInfo.value.status = item.label processInfo.value.status = item.label
......
<template> <template>
<div style="padding-top: 10px"> <div style="padding-top: 10px">
<div ref="beneficiaryRef"> <div ref="beneficiaryRef">
<CommonForm :showAnchor="false"> <CommonForm :showAnchor="false">
...@@ -277,6 +276,7 @@ const props = defineProps({ ...@@ -277,6 +276,7 @@ const props = defineProps({
anchorContainer: { type: String, default: '' }, //锚点滚动容器 anchorContainer: { type: String, default: '' }, //锚点滚动容器
editStatus: { type: Boolean, default: true }, //编辑状态 editStatus: { type: Boolean, default: true }, //编辑状态
affixOffset: { type: Number }, affixOffset: { type: Number },
isExportAppointment: { type: Boolean, default: false }, //是否导入
tabIndex: { type: [String, Number], default: '' } //tab索引 tabIndex: { type: [String, Number], default: '' } //tab索引
}) })
const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess']) const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess'])
...@@ -589,7 +589,7 @@ const processFormData = async obj => { ...@@ -589,7 +589,7 @@ const processFormData = async obj => {
} }
} }
} }
if (props.idsObj.appointmentBizId) { if (props.idsObj.appointmentBizId ) {
setFormValue(processedData) setFormValue(processedData)
} else { } else {
processedBeneficiaryData.value = oldAppointmentData.value = processedData processedBeneficiaryData.value = oldAppointmentData.value = processedData
...@@ -681,9 +681,8 @@ const confirmDrawer = info => { ...@@ -681,9 +681,8 @@ const confirmDrawer = info => {
newObj.type = drawerInfo.value.key newObj.type = drawerInfo.value.key
newObj.id = drawerInfo.value.id newObj.id = drawerInfo.value.id
newObj.drawerType = drawerInfo.value.drawerType newObj.drawerType = drawerInfo.value.drawerType
form.value.apiBeneficiaryInfoDtoList[drawerInfo.value.l1][ form.value.apiBeneficiaryInfoDtoList[drawerInfo.value.l1][drawerInfo.value.key] =
drawerInfo.value.key `${newObj.region} ${newObj.city} ${newObj.street} ${newObj.location}`
] = `${newObj.region} ${newObj.city} ${newObj.street} ${newObj.location}`
newObj.addressString = `${newObj.region} ${newObj.city} ${newObj.street} ${newObj.location}` newObj.addressString = `${newObj.region} ${newObj.city} ${newObj.street} ${newObj.location}`
// 检查数组中是否已存在相同ID的地址 // 检查数组中是否已存在相同ID的地址
...@@ -858,7 +857,6 @@ const setFormValue = processedData => { ...@@ -858,7 +857,6 @@ const setFormValue = processedData => {
} }
} }
processedBeneficiaryData.value = oldDom processedBeneficiaryData.value = oldDom
console.log('受益人表单', form.value)
console.log('dom', processedBeneficiaryData.value) console.log('dom', processedBeneficiaryData.value)
} }
// 获取校验失败的字段信息 // 获取校验失败的字段信息
...@@ -954,7 +952,15 @@ watch( ...@@ -954,7 +952,15 @@ watch(
} }
} }
) )
//导入预约单成功后,要重新渲染页面回显值
watch(
() => props.isExportAppointment,
newVal => {
if (newVal) {
setFormValue(processedBeneficiaryData.value)
}
}
)
// 暴露给父组件 // 暴露给父组件
defineExpose({ defineExpose({
handleFormValues, handleFormValues,
......
...@@ -249,7 +249,8 @@ import { ...@@ -249,7 +249,8 @@ import {
getAdditionalProductList, getAdditionalProductList,
secondAdditonalList, secondAdditonalList,
getInsuranceCategory, getInsuranceCategory,
getInsuranceCompany getInsuranceCompany,
insuranceReconciliationCompany
} from '@/api/common' } from '@/api/common'
import { editProductPlanInfo, delAdditional } from '@/api/sign/appointment' import { editProductPlanInfo, delAdditional } from '@/api/sign/appointment'
import { updatePolicyProduct, delPolicyAdditional } from '@/api/sign/underwritingMain' import { updatePolicyProduct, delPolicyAdditional } from '@/api/sign/underwritingMain'
...@@ -272,6 +273,7 @@ const props = defineProps({ ...@@ -272,6 +273,7 @@ const props = defineProps({
fatherTabName: { type: String, default: '' }, //一级tab名称 fatherTabName: { type: String, default: '' }, //一级tab名称
anchorContainer: { type: String, default: '' }, //锚点滚动容器 anchorContainer: { type: String, default: '' }, //锚点滚动容器
editStatus: { type: Boolean, default: true }, //编辑状态 editStatus: { type: Boolean, default: true }, //编辑状态
isExportAppointment: { type: Boolean, default: false }, //是否导入
tabIndex: { type: [String, Number], default: '' } //tab索引 tabIndex: { type: [String, Number], default: '' } //tab索引
}) })
const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess']) const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess'])
...@@ -407,53 +409,53 @@ const handleSearchSelectChange = (father, key) => { ...@@ -407,53 +409,53 @@ const handleSearchSelectChange = (father, key) => {
dialogForm.value['productLaunchName'] = item1.label dialogForm.value['productLaunchName'] = item1.label
dialogForm.value['productLaunchBizId'] = item1.value dialogForm.value['productLaunchBizId'] = item1.value
} }
item1.apiAttributeSettingDtoList.forEach(item2 => { // item1.apiAttributeSettingDtoList.forEach(item2 => {
if (item2.fieldBizId == 'field_eWCnuwS3WPKog5kZ' && item.key == 'issueNumber') { // if (item2.fieldBizId == 'field_eWCnuwS3WPKog5kZ' && item.key == 'issueNumber') {
if (item2.value) { // if (item2.value) {
item.options = item2.value // item.options = item2.value
.split(/[,,;;\s]+/) // .split(/[,,;;\s]+/)
.map(item => item.trim()) // .map(item => item.trim())
.filter(item => item !== '') // .filter(item => item !== '')
.map(item => { // .map(item => {
return { label: item, value: item } // return { label: item, value: item }
}) // })
if (item.options.length > 0) dialogForm.value[item.key] = item.options[0].value // if (item.options.length > 0) dialogForm.value[item.key] = item.options[0].value
} // }
} // }
}) // })
}) })
}) })
} }
// 有些产品会没有供款年期,所以这段逻辑先注释掉后续在加 // 有些产品会没有供款年期,所以这段逻辑先注释掉后续在加
// if (key == 'productLaunchMainName') { if (key == 'productLaunchMainName') {
// father.data.forEach(item => { father.data.forEach(item => {
// searchOptions.value['productLaunchMainName'].forEach(item1 => { searchOptions.value['productLaunchMainName'].forEach(item1 => {
// if (item1.value == form.value[father.key][key]) { if (item1.value == form.value[father.key][key]) {
// // form.value[father.key][key] = item1.label form.value[father.key][key] = item1.label
// // form.value[father.key]['productLaunchBizId'] = item1.value form.value[father.key]['productLaunchBizId'] = item1.value
// console.log('item1.apiAttributeSettingDtoList', item1.apiAttributeSettingDtoList) console.log('item1.apiAttributeSettingDtoList', item1.apiAttributeSettingDtoList)
// item1.apiAttributeSettingDtoList.forEach(item2 => { // item1.apiAttributeSettingDtoList.forEach(item2 => {
// if (item2.fieldBizId == 'field_eWCnuwS3WPKog5kZ' && item.key == 'issueNumber') { // if (item2.fieldBizId == 'field_eWCnuwS3WPKog5kZ' && item.key == 'issueNumber') {
// if (item2.value) { // if (item2.value) {
// item.options = item2.value // item.options = item2.value
// .split(/[,,;;\s]+/) // .split(/[,,;;\s]+/)
// .map(item => item.trim()) // .map(item => item.trim())
// .filter(item => item !== '') // .filter(item => item !== '')
// .map(item => { // .map(item => {
// return { label: item, value: item } // return { label: item, value: item }
// }) // })
// if (item.options.length > 0) // if (item.options.length > 0)
// form.value[father.key]['issueNumber'] = item.options[0].value // form.value[father.key]['issueNumber'] = item.options[0].value
// } // }
// console.log(item.options, item, '1111') // console.log(item.options, item, '1111')
// } // }
// }) // })
// } }
// }) })
// }) })
// } }
if (key == 'insuranceTypeName') { if (key == 'insuranceTypeName') {
searchOptions.value['insuranceTypeName'].forEach(item => { searchOptions.value['insuranceTypeName'].forEach(item => {
if (item.value == form.value['apiProductPlanMainInfoDto']['insuranceTypeName']) { if (item.value == form.value['apiProductPlanMainInfoDto']['insuranceTypeName']) {
...@@ -475,6 +477,14 @@ const handleSearchSelectChange = (father, key) => { ...@@ -475,6 +477,14 @@ const handleSearchSelectChange = (father, key) => {
} }
}) })
} }
if (key == 'reconciliationCompanyName') {
searchOptions.value['reconciliationCompanyName'].forEach(item => {
if (form.value[father.key][key] == item.value) {
form.value[father.key][key] = item.label
form.value[father.key].reconciliationCompanyId = item.value
}
})
}
} }
// 下拉框搜索方法 // 下拉框搜索方法
// 搜索方法 // 搜索方法
...@@ -553,7 +563,7 @@ const searchSelectList = async (query, fieldKey) => { ...@@ -553,7 +563,7 @@ const searchSelectList = async (query, fieldKey) => {
showCancel: '0', showCancel: '0',
title: '填写提示' title: '填写提示'
}) })
// row.insuranceType = ''
return return
} }
const params1 = { const params1 = {
...@@ -572,6 +582,23 @@ const searchSelectList = async (query, fieldKey) => { ...@@ -572,6 +582,23 @@ const searchSelectList = async (query, fieldKey) => {
}) })
searchOptions.value[fieldKey] = response1.data.records searchOptions.value[fieldKey] = response1.data.records
} }
} else if (fieldKey == 'reconciliationCompanyName') {
const params1 = {
pageNo: 1,
pageSize: 10,
name: query.trim()
}
const response1 = await insuranceReconciliationCompany(params1)
if (response1.code == 200) {
response1.data.records = response1.data.records.map(item => {
return {
...item,
label: item.name,
value: item.reconciliationCompanyBizId
}
})
searchOptions.value[fieldKey] = response1.data.records
}
} }
} catch (error) { } catch (error) {
console.error(`${fieldKey} 搜索失败`, error) console.error(`${fieldKey} 搜索失败`, error)
...@@ -735,6 +762,15 @@ const handleSelectChange = (father, child) => { ...@@ -735,6 +762,15 @@ const handleSelectChange = (father, child) => {
} }
break break
case 'isPrepay':
// 选是,展示日期
if (form.value[father.key][child.key] == '1') {
resetShow('prepaymentPeriod', true)
} else {
resetShow('prepaymentPeriod', false)
}
break
default: default:
break break
...@@ -805,6 +841,13 @@ const setFormValue = (obj, formData) => { ...@@ -805,6 +841,13 @@ const setFormValue = (obj, formData) => {
) { ) {
filed.show = true filed.show = true
} }
if (
filed.key == 'prepaymentPeriod' &&
obj.apiProductPlanMainInfoDto.isPrepay &&
obj.apiProductPlanMainInfoDto.isPrepay == '1'
) {
filed.show = true
}
} }
// 为附加险增加dom // 为附加险增加dom
if ( if (
...@@ -939,7 +982,15 @@ watch( ...@@ -939,7 +982,15 @@ watch(
} }
} }
) )
//导入预约单成功后,要重新渲染页面回显值
watch(
() => props.isExportAppointment,
newVal => {
if (newVal) {
setFormValue(props.apiProductPlanInfoDto, processedProductData.value)
}
}
)
// 暴露给父组件 // 暴露给父组件
defineExpose({ defineExpose({
handleSubmitForm, handleSubmitForm,
......
...@@ -246,7 +246,8 @@ const props = defineProps({ ...@@ -246,7 +246,8 @@ const props = defineProps({
anchorContainer: { type: String, default: '' }, //锚点滚动容器 anchorContainer: { type: String, default: '' }, //锚点滚动容器
editStatus: { type: Boolean, default: false }, //编辑状态 editStatus: { type: Boolean, default: false }, //编辑状态
affixOffset: { type: Number }, affixOffset: { type: Number },
tabIndex: { type: [String, Number], default: '' } //tab索引 tabIndex: { type: [String, Number], default: '' }, //tab索引
isExportAppointment: { type: Boolean, default: false } //是否导入
}) })
const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess']) const emit = defineEmits(['handleSuccessEdit', 'policyEditSuccess'])
...@@ -757,7 +758,6 @@ watch( ...@@ -757,7 +758,6 @@ watch(
exportValue: null, exportValue: null,
detailInfo: props.apiSecondHolderInfoDto detailInfo: props.apiSecondHolderInfoDto
}) })
console.log(' props.apiSecondHolderInfoDto', props.apiSecondHolderInfoDto)
} else { } else {
processFormData({ processFormData({
domdata: secondHolderDomData, domdata: secondHolderDomData,
...@@ -769,7 +769,19 @@ watch( ...@@ -769,7 +769,19 @@ watch(
} }
} }
) )
//导入预约单成功后,要重新渲染页面回显值
watch(
() => props.isExportAppointment,
newVal => {
if (newVal) {
processFormData({
domdata: secondHolderDomData,
exportValue: null,
detailInfo: props.apiSecondHolderInfoDto
})
}
}
)
// 暴露给父组件 // 暴露给父组件
defineExpose({ defineExpose({
handleFormValues, handleFormValues,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment