mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 17:56:43 +08:00
【建议书优化需求】新增年龄字段,年龄必填, 出生日期调整为不必填,当出生日期填写时,年龄带出
This commit is contained in:
@@ -610,7 +610,7 @@ export default {
|
|||||||
if (this.isFrom == 'proposal' && !this.saleInsuredPersonInfo.name) {
|
if (this.isFrom == 'proposal' && !this.saleInsuredPersonInfo.name) {
|
||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
let sex = this.saleInsuredPersonInfo.sex == '0'?'男':'女'
|
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>
|
<select-radio class="border-bottom" :radios="sexRadio" label="性别" :value.sync="appntDTO.sex"></select-radio>
|
||||||
<FieldDatePicter
|
<FieldDatePicter
|
||||||
@confirm="dateConfirm"
|
@confirm="dateConfirm"
|
||||||
v-validate="'required'"
|
|
||||||
required
|
|
||||||
label="出生日期"
|
label="出生日期"
|
||||||
name="出生日期"
|
name="出生日期"
|
||||||
:value.sync="appntDTO.birthday"
|
:value.sync="appntDTO.birthday"
|
||||||
@@ -24,6 +22,10 @@
|
|||||||
type="date"
|
type="date"
|
||||||
:flag="true"
|
:flag="true"
|
||||||
></FieldDatePicter>
|
></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
|
<occupation-picker
|
||||||
class="border-bottom"
|
class="border-bottom"
|
||||||
:value.sync="appntDTO.occupationCode"
|
:value.sync="appntDTO.occupationCode"
|
||||||
@@ -40,9 +42,6 @@
|
|||||||
v-validate="'required'"
|
v-validate="'required'"
|
||||||
placeholder="投保人职业"
|
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-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-button type="danger" @click="nextStep" class="bottom-btn fs16">下一步</van-button>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
@@ -59,7 +58,7 @@ import getAge from '@/assets/js/utils/age.js'
|
|||||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||||
import BreadcrumbNavigator from '@/components/ebiz/proposal/BreadcrumbNavigator'
|
import BreadcrumbNavigator from '@/components/ebiz/proposal/BreadcrumbNavigator'
|
||||||
import { getDetail } from '@/api/ebiz/proposal/proposal.js'
|
import { getDetail } from '@/api/ebiz/proposal/proposal.js'
|
||||||
|
import utils from '@/assets/js/utils/date-utils'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -88,7 +87,7 @@ export default {
|
|||||||
customerShowPicker: false,
|
customerShowPicker: false,
|
||||||
occupationShowPicker: false,
|
occupationShowPicker: false,
|
||||||
currentPopupIndex: '',
|
currentPopupIndex: '',
|
||||||
ageFlag: false //年龄输入框是否只读 false-可输入 true-只读
|
// ageFlag: false //年龄输入框是否只读 false-可输入 true-只读
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -123,7 +122,7 @@ export default {
|
|||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
if(!this.appntDTO.name){
|
if(!this.appntDTO.name){
|
||||||
let sex = this.appntDTO.sex == '0'?'男':'女'
|
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
|
this.appntDTO.name = data
|
||||||
},
|
},
|
||||||
dateConfirm(data) {
|
dateConfirm(data) {
|
||||||
|
console.log(data,'data')
|
||||||
let age = getAge.getAge(data, new Date())
|
let age = getAge.getAge(data, new Date())
|
||||||
this.appntDTO.age = age
|
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) {
|
chooseCustomer(data) {
|
||||||
@@ -244,13 +254,13 @@ export default {
|
|||||||
healthGrade,
|
healthGrade,
|
||||||
socialSecurity
|
socialSecurity
|
||||||
}
|
}
|
||||||
this.ageFlag = true
|
// this.ageFlag = true
|
||||||
},
|
},
|
||||||
|
|
||||||
nextStep() {
|
nextStep() {
|
||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
let sex = this.appntDTO.sex == '0'?'男':'女'
|
let sex = this.appntDTO.sex == '0'?'男':'女'
|
||||||
let name = sex + this.appntDTO.age
|
let name = sex + this.appntDTO.age+'岁'
|
||||||
if(this.appntDTO.name == name){
|
if(this.appntDTO.name == name){
|
||||||
this.appntDTO.name = ''
|
this.appntDTO.name = ''
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ export default {
|
|||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
if(!v.name){
|
if(!v.name){
|
||||||
let sex = v.sex == '0'?'男':'女'
|
let sex = v.sex == '0'?'男':'女'
|
||||||
v.name = sex + v.insuredAge
|
v.name = sex + v.insuredAge+'岁'
|
||||||
}
|
}
|
||||||
//addtion数组中筛选出附加险
|
//addtion数组中筛选出附加险
|
||||||
v.riskDTOLst.forEach(s => {
|
v.riskDTOLst.forEach(s => {
|
||||||
|
|||||||
@@ -21,8 +21,6 @@
|
|||||||
|
|
||||||
<FieldDatePicter
|
<FieldDatePicter
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
v-validate="'required'"
|
|
||||||
required
|
|
||||||
label="出生日期"
|
label="出生日期"
|
||||||
name="出生日期"
|
name="出生日期"
|
||||||
:flag="true"
|
:flag="true"
|
||||||
@@ -31,6 +29,10 @@
|
|||||||
:maxDate="currentTime"
|
:maxDate="currentTime"
|
||||||
@confirm="dateConfirm"
|
@confirm="dateConfirm"
|
||||||
></FieldDatePicter>
|
></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
|
<occupation-picker
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
class="border-bottom"
|
class="border-bottom"
|
||||||
@@ -49,9 +51,6 @@
|
|||||||
placeholder="被保险人职业"
|
placeholder="被保险人职业"
|
||||||
/>
|
/>
|
||||||
<select-radio class="border-bottom" :radios="medicalRadio" label="有无社保" :value.sync="insured.medical"></select-radio>
|
<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
|
<van-field
|
||||||
maxlength="11"
|
maxlength="11"
|
||||||
v-model="insured.mobile"
|
v-model="insured.mobile"
|
||||||
@@ -77,6 +76,7 @@ import { CellGroup, Field, Dialog, Toast } from 'vant'
|
|||||||
import getAge from '@/assets/js/utils/age.js'
|
import getAge from '@/assets/js/utils/age.js'
|
||||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||||
import { checkSex, checkRelation } from './rule'
|
import { checkSex, checkRelation } from './rule'
|
||||||
|
import utils from '@/assets/js/utils/date-utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@@ -156,7 +156,7 @@ export default {
|
|||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
if(!this.insured.name){
|
if(!this.insured.name){
|
||||||
let sex = this.insured.sex == '0'?'男':'女'
|
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
|
this.ageShow = this.insured.insuredAge == '-1' ? '0' : this.insured.insuredAge
|
||||||
@@ -171,10 +171,23 @@ export default {
|
|||||||
reset:"1" //1:重制 其他值不变
|
reset:"1" //1:重制 其他值不变
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//设置被保险人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值
|
// //设置被保险人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值
|
||||||
changeAgeInput(val) {
|
// changeAgeInput(val) {
|
||||||
// this.ageShow = val == '-1' ? '0' : val
|
// // this.ageShow = val == '-1' ? '0' : val
|
||||||
this.insured.insuredAge = 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) {
|
selectClick(index) {
|
||||||
this.currentPopupIndex = index
|
this.currentPopupIndex = index
|
||||||
@@ -326,7 +339,7 @@ export default {
|
|||||||
mainPath() {
|
mainPath() {
|
||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
let sex = this.insured.sex == '0'?'男':'女'
|
let sex = this.insured.sex == '0'?'男':'女'
|
||||||
let name = sex + this.insured.insuredAge
|
let name = sex + this.insured.insuredAge+'岁'
|
||||||
if(this.insured.name == name){
|
if(this.insured.name == name){
|
||||||
this.insured.name = ''
|
this.insured.name = ''
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="text-right pv5">
|
<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 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 == 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 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>
|
<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="div_02">
|
||||||
<div class="text-center div_021">
|
<div class="text-center div_021">
|
||||||
<div class="text-center div_022">家庭保障计划</div>
|
<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>
|
</div>
|
||||||
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
|
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
|
||||||
</div>
|
</div>
|
||||||
@@ -485,7 +486,7 @@ export default {
|
|||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
if(!item.name){
|
if(!item.name){
|
||||||
let sex = item.sex == '0'?'男':'女'
|
let sex = item.sex == '0'?'男':'女'
|
||||||
item.name = sex + item.insuredAge
|
item.name = sex + item.insuredAge+'岁'
|
||||||
}
|
}
|
||||||
this.pageShowInfo.showInsuredDTO = item
|
this.pageShowInfo.showInsuredDTO = item
|
||||||
that.$forceUpdate()
|
that.$forceUpdate()
|
||||||
@@ -613,13 +614,13 @@ export default {
|
|||||||
}
|
}
|
||||||
let shareContent;
|
let shareContent;
|
||||||
let resData = await queryPersonal(reqData)
|
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){
|
if(resData.content[0].slevel<3){
|
||||||
resData.content[0].sgrade='00'
|
resData.content[0].sgrade='00'
|
||||||
}
|
}
|
||||||
let sgrade =this.memberConversion(resData.content[0].sgrade);
|
let sgrade =this.memberConversion(resData.content[0].sgrade);
|
||||||
shareContent='国富双冠精英'+resData.content[0].slevel+'级'+sgrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
|
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){
|
if(resData.content[0].glevel<3){
|
||||||
resData.content[0].ggrade='00'
|
resData.content[0].ggrade='00'
|
||||||
}
|
}
|
||||||
@@ -631,7 +632,7 @@ export default {
|
|||||||
let title
|
let title
|
||||||
let riskList = [] //所有险种
|
let riskList = [] //所有险种
|
||||||
let riskCodeList = [] //所有险种code
|
let riskCodeList = [] //所有险种code
|
||||||
this.pageShowInfo.insuredDTOs.map(item => {
|
this.pageShowInfo.insuredDTOs.map(item => {
|
||||||
item.mainRisk.map(item01 => {
|
item.mainRisk.map(item01 => {
|
||||||
if (item01.isMainRisk == '0') { //主险
|
if (item01.isMainRisk == '0') { //主险
|
||||||
riskList.push(item01)
|
riskList.push(item01)
|
||||||
@@ -705,7 +706,7 @@ export default {
|
|||||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||||
if(!v.name){
|
if(!v.name){
|
||||||
let sex = v.sex == '0'?'男':'女'
|
let sex = v.sex == '0'?'男':'女'
|
||||||
v.name = sex + v.insuredAge
|
v.name = sex + v.insuredAge+'岁'
|
||||||
}
|
}
|
||||||
v.riskDTOLstNew = []
|
v.riskDTOLstNew = []
|
||||||
v.riskDTOLst.forEach(risk => {
|
v.riskDTOLst.forEach(risk => {
|
||||||
@@ -930,7 +931,7 @@ export default {
|
|||||||
let text=''
|
let text=''
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case '00':
|
case '00':
|
||||||
text = '准会员'
|
text = '' //准会员不显示
|
||||||
break
|
break
|
||||||
case '01':
|
case '01':
|
||||||
text = '正式会员'
|
text = '正式会员'
|
||||||
|
|||||||
Reference in New Issue
Block a user