mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-10 03:26:45 +08:00
【建议书优化需求】新增年龄字段,年龄必填, 出生日期调整为不必填,当出生日期填写时,年龄带出
This commit is contained in:
@@ -610,7 +610,7 @@ export default {
|
||||
if (this.isFrom == 'proposal' && !this.saleInsuredPersonInfo.name) {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
let sex = this.saleInsuredPersonInfo.sex == '0'?'男':'女'
|
||||
this.saleInsuredPersonInfo.name = sex + this.saleInsuredPersonInfo.insuredAge
|
||||
this.saleInsuredPersonInfo.name = sex + this.saleInsuredPersonInfo.insuredAge+'岁'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
<select-radio class="border-bottom" :radios="sexRadio" label="性别" :value.sync="appntDTO.sex"></select-radio>
|
||||
<FieldDatePicter
|
||||
@confirm="dateConfirm"
|
||||
v-validate="'required'"
|
||||
required
|
||||
label="出生日期"
|
||||
name="出生日期"
|
||||
:value.sync="appntDTO.birthday"
|
||||
@@ -24,6 +22,10 @@
|
||||
type="date"
|
||||
:flag="true"
|
||||
></FieldDatePicter>
|
||||
<div class="border-bottom">
|
||||
<van-field :border="false" required v-model="appntDTO.age" clearable label="年龄" @blur="ageBlur" v-validate="'required'" placeholder="投保人年龄" />
|
||||
<!-- <van-field :border="false" v-model="appntDTO.age" clearable label="年龄" v-validate="'appntAge'" placeholder="投保人年龄" :readonly="ageFlag" /> -->
|
||||
</div>
|
||||
<occupation-picker
|
||||
class="border-bottom"
|
||||
:value.sync="appntDTO.occupationCode"
|
||||
@@ -40,9 +42,6 @@
|
||||
v-validate="'required'"
|
||||
placeholder="投保人职业"
|
||||
/>
|
||||
<div class="border-bottom">
|
||||
<van-field :border="false" v-model="appntDTO.age" clearable label="年龄" v-validate="'appntAge'" placeholder="投保人年龄" :readonly="ageFlag" />
|
||||
</div>
|
||||
<van-field :border="false" maxlength="11" v-model="appntDTO.mobile" clearable label="手机号码" name="手机号码" placeholder="投保人手机号码" v-validate="'mobileLength11|mobileStartWith1|mobile'" />
|
||||
<van-button type="danger" @click="nextStep" class="bottom-btn fs16">下一步</van-button>
|
||||
</van-cell-group>
|
||||
@@ -59,7 +58,7 @@ import getAge from '@/assets/js/utils/age.js'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import BreadcrumbNavigator from '@/components/ebiz/proposal/BreadcrumbNavigator'
|
||||
import { getDetail } from '@/api/ebiz/proposal/proposal.js'
|
||||
|
||||
import utils from '@/assets/js/utils/date-utils'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -88,7 +87,7 @@ export default {
|
||||
customerShowPicker: false,
|
||||
occupationShowPicker: false,
|
||||
currentPopupIndex: '',
|
||||
ageFlag: false //年龄输入框是否只读 false-可输入 true-只读
|
||||
// ageFlag: false //年龄输入框是否只读 false-可输入 true-只读
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -123,7 +122,7 @@ export default {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!this.appntDTO.name){
|
||||
let sex = this.appntDTO.sex == '0'?'男':'女'
|
||||
this.appntDTO.name = sex+this.appntDTO.age
|
||||
this.appntDTO.name = sex+this.appntDTO.age+'岁'
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -217,9 +216,20 @@ export default {
|
||||
this.appntDTO.name = data
|
||||
},
|
||||
dateConfirm(data) {
|
||||
console.log(data,'data')
|
||||
let age = getAge.getAge(data, new Date())
|
||||
this.appntDTO.age = age
|
||||
this.ageFlag = true
|
||||
// this.ageFlag = true
|
||||
},
|
||||
//年龄变化时,清空出生日期
|
||||
//并校验年龄规则按照出生日期的校验规则来定
|
||||
ageBlur(){
|
||||
this.appntDTO.birthday = ''
|
||||
let minAge = getAge.getAge(utils.formatDate(new Date(this.maxDate),'yyyy-MM-dd'), new Date())
|
||||
let maxAge = getAge.getAge('1900-01-01', new Date())
|
||||
if(this.appntDTO.age < minAge || this.appntDTO.age > maxAge){
|
||||
this.$toast('您的年龄不符合投保人的年龄范围')
|
||||
}
|
||||
},
|
||||
//从客户列表选择客户
|
||||
chooseCustomer(data) {
|
||||
@@ -244,13 +254,13 @@ export default {
|
||||
healthGrade,
|
||||
socialSecurity
|
||||
}
|
||||
this.ageFlag = true
|
||||
// this.ageFlag = true
|
||||
},
|
||||
|
||||
nextStep() {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
let sex = this.appntDTO.sex == '0'?'男':'女'
|
||||
let name = sex + this.appntDTO.age
|
||||
let name = sex + this.appntDTO.age+'岁'
|
||||
if(this.appntDTO.name == name){
|
||||
this.appntDTO.name = ''
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ export default {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!v.name){
|
||||
let sex = v.sex == '0'?'男':'女'
|
||||
v.name = sex + v.insuredAge
|
||||
v.name = sex + v.insuredAge+'岁'
|
||||
}
|
||||
//addtion数组中筛选出附加险
|
||||
v.riskDTOLst.forEach(s => {
|
||||
|
||||
@@ -21,8 +21,6 @@
|
||||
|
||||
<FieldDatePicter
|
||||
:disabled="disabled"
|
||||
v-validate="'required'"
|
||||
required
|
||||
label="出生日期"
|
||||
name="出生日期"
|
||||
:flag="true"
|
||||
@@ -31,6 +29,10 @@
|
||||
:maxDate="currentTime"
|
||||
@confirm="dateConfirm"
|
||||
></FieldDatePicter>
|
||||
<div class="border-bottom">
|
||||
<van-field type="digit" :readonly="disabled" v-model="insured.insuredAge" required v-validate="'required'" :value="ageShow" @blur="ageBlur" clearable label="年龄" placeholder="被保险人年龄" />
|
||||
<!-- <van-field :readonly="disabled" :value="ageShow" @input="changeAgeInput($event)" clearable label="年龄" placeholder="被保险人年龄" /> -->
|
||||
</div>
|
||||
<occupation-picker
|
||||
:disabled="disabled"
|
||||
class="border-bottom"
|
||||
@@ -49,9 +51,6 @@
|
||||
placeholder="被保险人职业"
|
||||
/>
|
||||
<select-radio class="border-bottom" :radios="medicalRadio" label="有无社保" :value.sync="insured.medical"></select-radio>
|
||||
<div class="border-bottom">
|
||||
<van-field :readonly="disabled" :value="ageShow" @input="changeAgeInput($event)" clearable label="年龄" placeholder="被保险人年龄" />
|
||||
</div>
|
||||
<van-field
|
||||
maxlength="11"
|
||||
v-model="insured.mobile"
|
||||
@@ -77,6 +76,7 @@ import { CellGroup, Field, Dialog, Toast } from 'vant'
|
||||
import getAge from '@/assets/js/utils/age.js'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { checkSex, checkRelation } from './rule'
|
||||
import utils from '@/assets/js/utils/date-utils'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -156,7 +156,7 @@ export default {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!this.insured.name){
|
||||
let sex = this.insured.sex == '0'?'男':'女'
|
||||
this.insured.name = sex + this.insured.insuredAge
|
||||
this.insured.name = sex + this.insured.insuredAge+'岁'
|
||||
}
|
||||
}
|
||||
this.ageShow = this.insured.insuredAge == '-1' ? '0' : this.insured.insuredAge
|
||||
@@ -171,10 +171,23 @@ export default {
|
||||
reset:"1" //1:重制 其他值不变
|
||||
})
|
||||
},
|
||||
//设置被保险人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值
|
||||
changeAgeInput(val) {
|
||||
// this.ageShow = val == '-1' ? '0' : val
|
||||
this.insured.insuredAge = val
|
||||
// //设置被保险人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值
|
||||
// changeAgeInput(val) {
|
||||
// // this.ageShow = val == '-1' ? '0' : val
|
||||
// this.insured.insuredAge = val
|
||||
// this.$toast('您的年龄不符合投保人的年龄范围')
|
||||
|
||||
// console.log(11111111)
|
||||
// },
|
||||
//年龄变化时,清空出生日期
|
||||
//并校验年龄规则按照出生日期的校验规则来定
|
||||
ageBlur(){
|
||||
this.insured.birthday = ''
|
||||
let minAge = getAge.getAge(utils.formatDate(new Date(this.maxDate),'yyyy-MM-dd'), new Date())
|
||||
let maxAge = getAge.getAge('1900-01-01', new Date())
|
||||
if(this.insured.insuredAge < minAge || this.insured.insuredAge > maxAge){
|
||||
this.$toast('您的年龄不符合被保人的年龄范围')
|
||||
}
|
||||
},
|
||||
selectClick(index) {
|
||||
this.currentPopupIndex = index
|
||||
@@ -326,7 +339,7 @@ export default {
|
||||
mainPath() {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
let sex = this.insured.sex == '0'?'男':'女'
|
||||
let name = sex + this.insured.insuredAge
|
||||
let name = sex + this.insured.insuredAge+'岁'
|
||||
if(this.insured.name == name){
|
||||
this.insured.name = ''
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</div>
|
||||
<div class="text-right pv5">
|
||||
<van-button v-if="active == 2" round size="small" @click="toInsurance(item)" class="mr5" type="danger">转投保</van-button>
|
||||
<van-button v-if="active == 2" round @click="copy(item)" size="small" class="mr5" type="danger">编辑</van-button>
|
||||
<van-button v-if="active == 2" round @click="copy(item)" size="small" class="mr5" type="danger">复制计划书</van-button>
|
||||
<van-button v-if="active == 1" round @click="edit(item)" size="small" class="mr5" type="danger">编辑</van-button>
|
||||
<van-button v-if="active == 2" plain round @click="preview(item)" size="small" class="mr5" type="danger">预览</van-button>
|
||||
<van-button size="small" round :plain="active == 3 ? false : true" @click="deleteProposal(item, active, index)" type="danger">删除</van-button>
|
||||
|
||||
@@ -280,7 +280,8 @@
|
||||
<div class="div_02">
|
||||
<div class="text-center div_021">
|
||||
<div class="text-center div_022">家庭保障计划</div>
|
||||
<div class="text-center div_023">尊敬的{{ pageShowInfo.appntDTO.name.substr(0, 1) }}{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
|
||||
<!-- 如果没有姓名的话,根据性别展示男士或女士 -->
|
||||
<div class="text-center div_023">尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
|
||||
</div>
|
||||
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
|
||||
</div>
|
||||
@@ -485,7 +486,7 @@ export default {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!item.name){
|
||||
let sex = item.sex == '0'?'男':'女'
|
||||
item.name = sex + item.insuredAge
|
||||
item.name = sex + item.insuredAge+'岁'
|
||||
}
|
||||
this.pageShowInfo.showInsuredDTO = item
|
||||
that.$forceUpdate()
|
||||
@@ -613,13 +614,13 @@ export default {
|
||||
}
|
||||
let shareContent;
|
||||
let resData = await queryPersonal(reqData)
|
||||
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade) {
|
||||
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
|
||||
if(resData.content[0].slevel<3){
|
||||
resData.content[0].sgrade='00'
|
||||
}
|
||||
let sgrade =this.memberConversion(resData.content[0].sgrade);
|
||||
shareContent='国富双冠精英'+resData.content[0].slevel+'级'+sgrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
|
||||
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&!resData.content[0].sgrade) {
|
||||
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&!resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
|
||||
if(resData.content[0].glevel<3){
|
||||
resData.content[0].ggrade='00'
|
||||
}
|
||||
@@ -631,7 +632,7 @@ export default {
|
||||
let title
|
||||
let riskList = [] //所有险种
|
||||
let riskCodeList = [] //所有险种code
|
||||
this.pageShowInfo.insuredDTOs.map(item => {
|
||||
this.pageShowInfo.insuredDTOs.map(item => {
|
||||
item.mainRisk.map(item01 => {
|
||||
if (item01.isMainRisk == '0') { //主险
|
||||
riskList.push(item01)
|
||||
@@ -705,7 +706,7 @@ export default {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!v.name){
|
||||
let sex = v.sex == '0'?'男':'女'
|
||||
v.name = sex + v.insuredAge
|
||||
v.name = sex + v.insuredAge+'岁'
|
||||
}
|
||||
v.riskDTOLstNew = []
|
||||
v.riskDTOLst.forEach(risk => {
|
||||
@@ -930,7 +931,7 @@ export default {
|
||||
let text=''
|
||||
switch (status) {
|
||||
case '00':
|
||||
text = '准会员'
|
||||
text = '' //准会员不显示
|
||||
break
|
||||
case '01':
|
||||
text = '正式会员'
|
||||
|
||||
Reference in New Issue
Block a user