Compare commits

...

22 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
5d01e2c289 电子投保被保人信息页面新市民弹唱修改 2023-09-28 09:44:47 +08:00
liu.xiaofeng@ebiz-digits.com
c240ec3e87 保单详情隐藏新市民字段 2023-09-27 17:31:14 +08:00
liu.xiaofeng@ebiz-digits.com
a1dad761c5 新市民字段位置调整 新市民提示弹窗样式调整 2023-09-27 17:14:17 +08:00
liu.xiaofeng@ebiz-digits.com
53a2557f0e 投保流程 被保人新市民必填校验逻辑修改 2023-09-25 15:59:49 +08:00
liu.xiaofeng@ebiz-digits.com
76b1a7cc97 投保流程 选择客户后赋值客户信息的新市民身份以及新市民类型字段 2023-09-22 17:51:03 +08:00
liu.xiaofeng@ebiz-digits.com
c8f625d69b 编辑客户信息 关于新市民身份以及新市民类型字段赋值逻辑的修改 2023-09-22 17:43:07 +08:00
liu.xiaofeng@ebiz-digits.com
69f97a9154 客户管理的新增和修改页面 保存时入参增加新市民以及新市民类型字段 2023-09-22 16:22:34 +08:00
liu.xiaofeng@ebiz-digits.com
8785c06314 客户管理的新增和修改页面 关于新市民字段值修改 2023-09-22 16:08:25 +08:00
liu.xiaofeng@ebiz-digits.com
e1362d14a2 新市民类型修改为0否1是 2023-09-22 15:12:37 +08:00
liu.xiaofeng@ebiz-digits.com
98ea659bcf 增加判断代理人区域信息的获取功能 如果代理人是广西地区展示新市民相关字段 如果不是就不展示 2023-09-20 17:20:46 +08:00
liu.xiaofeng@ebiz-digits.com
2868421396 保单根据接口文档修改 修改字段名称 2023-09-20 17:08:28 +08:00
liu.xiaofeng@ebiz-digits.com
2caaa20c66 根据对接文档修改投保流程的投保人 被保人的新市民字段
根据对接文档修改客户管理的新增 修改基本信息关于新市民字段
2023-09-20 16:25:12 +08:00
liu.xiaofeng@ebiz-digits.com
ad3ab17b6b 投保人被保人点击下一步判断代理人是否是广西地区 如果是广西的话 需校验是否填写新市民身份字段 2023-09-19 16:56:20 +08:00
liu.xiaofeng@ebiz-digits.com
be3e9a6c42 根据代理人地区信息判断是否展示新市民字段 2023-09-19 16:45:44 +08:00
liu.xiaofeng@ebiz-digits.com
5056b43c30 保单详情页面增加新市民身份以及新市民类型相关字段的展示 2023-07-11 16:05:09 +08:00
liu.xiaofeng@ebiz-digits.com
4e482f306a 客户管理的新增客户以及编辑客户页面增加新市民身份以及新市民类型和新市民信息提示相关内容 2023-07-11 15:43:06 +08:00
liu.xiaofeng@ebiz-digits.com
c34f32f138 投保流程被保人页面增加新市民身份以及新市民类型和新市民信息提示相关内容 2023-07-11 15:42:41 +08:00
liu.xiaofeng@ebiz-digits.com
5f52bf0778 投保流程投保人页面增加新市民身份以及新市民类型和新市民信息提示相关内容 2023-07-11 15:42:14 +08:00
liu.xiaofeng@ebiz-digits.com
d192edd25f 建议书pdf预览页面添加请求接口的名称 2023-07-11 10:54:17 +08:00
liu.xiaofeng@ebiz-digits.com
8693195948 建议书pdf预览页面跳转路由添加参数 并在pdf页面根据路由传递的参数请求相关接口并做属性赋值 2023-07-11 10:46:10 +08:00
liu.xiaofeng@ebiz-digits.com
11f4f98543 建议书编辑已选被保人页面点击下一步修改代码逻辑 并修改姓名的正则规则校验 2023-07-11 09:28:23 +08:00
liu.xiaofeng@ebiz-digits.com
af8fe4ab05 建议书预览页面展示页面标题修改一级分享文案逻辑修改 2023-07-11 09:15:50 +08:00
10 changed files with 344 additions and 33 deletions

View File

@@ -1059,6 +1059,36 @@ export default {
text: '户口本'
}
],
// 新市民身份
isNewPeopleFlag: [
{
id: 1,
text: '是'
},
{
id: 0,
text: '否'
}
],
// 新市民类型 创业、就业、子女上学、投奔子女
npType: [
{
id: 1,
text: '创业'
},
{
id: 2,
text: '就业'
},
{
id: 3,
text: '子女上学'
},
{
id: 4,
text: '投奔子女'
}
],
//出生证明
birthType: [
{

View File

@@ -62,6 +62,27 @@
<van-field v-model="userInfo.email" label="电子邮箱" name="电子邮箱" v-validate="'email'" placeholder="请输入" clearable maxlength="50" />
<van-field v-model="userInfo.stature" label="身高cm" name="身高" placeholder="请输入" clearable v-validate="'onlyNumber|stature'" maxlength="5" />
<van-field v-model="userInfo.weight" label=" 体重kg" name="体重" placeholder="请输入" clearable v-validate="'onlyNumber|avoirdupois'" />
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="pr5"></i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1 && manageComCode == '45'"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('11')"
/>
<van-field
:value="userInfo.customerType | idToText('customerType')"
readonly
@@ -196,11 +217,22 @@
<van-popup v-model="censusShow" position="bottom">
<van-area :area-list="areaList" value="110101" :columns-num="2" @confirm="sureArea($event, '3')" @cancel="areaShow = false" />
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import { Field, CellGroup, Cell, Popup, Picker, Checkbox, Area } from 'vant'
import {Field, CellGroup, Cell, Popup, Picker, Checkbox, Area, RadioGroup, Radio} from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import DataDictionary from '@/assets/js/utils/data-dictionary'
@@ -226,11 +258,14 @@ export default {
[FieldDatePicter.name]: FieldDatePicter,
[OccupationPicker.name]: OccupationPicker,
[SelectRadio.name]: SelectRadio,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Area.name]: Area
},
props: ['userInfo'],
data() {
return {
isNewPeopleFlagTipshow: false,
popupShow: false,
areaShow: false, //省级联动
homeShow: false,
@@ -252,6 +287,8 @@ export default {
customerType: '',
customerSource: '',
age: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
effectiveDateTypeAble: false, //长期按钮是否禁用
occupationShowPicker: false,
sexRadio: [
@@ -322,6 +359,9 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
selectClick() {
let title = ''
;[this.occupationShowPicker, title] = [true, '职业类别']
@@ -566,6 +606,8 @@ export default {
this.columns = DataDictionary.customerSource
} else if (pickerType == '9') {
this.columns = DataDictionary.workCondition
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -602,6 +644,8 @@ export default {
;[this.userInfo.customerSource, this.customerSource] = [value.id, value.text]
} else if (this.pickerType == '9') {
;[this.userInfo.workCondition, this.workCondition] = [value.id, value.text]
} else if (this.pickerType == '11') {
;[this.userInfo.npType, this.npType] = [value.id, value.text]
}
},
//区域选择
@@ -739,4 +783,7 @@ export default {
.van-checkbox {
margin-left: auto;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
</style>

View File

@@ -28,7 +28,7 @@
</template>
<script>
import { Field, CellGroup, Cell } from 'vant'
import { Field, CellGroup, Cell, RadioGroup, Radio, } from 'vant'
import { updateCustomerInfo } from '@/api/ebiz/customer/customer'
import formBlock from '@/components/ebiz/customer/formBlock'
@@ -84,7 +84,9 @@ export default {
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
homeZip: '', //家庭邮编
homePhone: '' //家庭电话
homePhone: '', //家庭电话
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
}
}
},
@@ -187,7 +189,9 @@ export default {
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
province: $this.userInfo.province,
city: $this.userInfo.city,
homePhone: $this.userInfo.homePhone
homePhone: $this.userInfo.homePhone,
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
npType: $this.userInfo.npType,
}
}
switch (data.agentCustomerInfoDTO.companyArea) {

View File

@@ -95,7 +95,9 @@ export default {
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
homeZip: '', //家庭邮编
homePhone: '' //家庭电话
homePhone: '', //家庭电话
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
}
}
},
@@ -178,6 +180,8 @@ export default {
$this.userInfo.homeProvince = result.homeProvince
$this.userInfo.homeCity = result.homeCity
$this.userInfo.homeArea = result.homeArea
$this.userInfo.isNewPeopleFlag = result.isNewPeopleFlag
$this.userInfo.npType = result.npType
sessionStorage.setItem('birthday', result.birthday)
sessionStorage.setItem('idType', result.customerIdType)
@@ -341,7 +345,9 @@ export default {
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
province: $this.userInfo.province,
city: $this.userInfo.city,
homePhone: $this.userInfo.homePhone
homePhone: $this.userInfo.homePhone,
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
npType: $this.userInfo.npType,
}
}
switch (data.agentCustomerInfoDTO.companyArea) {

View File

@@ -326,11 +326,11 @@ export default {
//点击下一步
nextStep() {
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
let sex = this.insured.sex == '0'?'男':'女'
let name = sex + this.insured.insuredAge+'岁'
if(this.insured.name == name){
this.insured.name = ''
}
// let sex = this.insured.sex == '0'?'男':'女'
// let name = sex + this.insured.insuredAge+'岁'
// if(this.insured.name == name){
// this.insured.name = ''
// }
//保存有没有社保,在保费计算用到
//localStorage.setItem('proposalMedical', this.insured.medical == '0' ? '1' : '0')
localStorage.proposalMedical = this.insured.medical == '0' ? '1' : '0'

View File

@@ -4,7 +4,7 @@
</div>
</template>
<script>
import { makePdf, share } from '@/api/ebiz/proposal/proposal.js'
import { makePdf, share, getDemo } from '@/api/ebiz/proposal/proposal.js'
import { Toast } from 'vant'
import config from '@/config'
import dataDictionary from '@/assets/js/utils/data-dictionary' //使用数据字典中的险种类型
@@ -31,7 +31,7 @@ export default {
this.init()
}
},
mounted() {
async mounted() {
let riskCode = localStorage.pdfShareCode
dataDictionary.riskType.some(item => {
if (item.code == riskCode) {
@@ -39,6 +39,43 @@ export default {
return true
}
})
if(this.$route.query.proposalOrderNo){
let params = {
proposalInfoDTO: {
proposalNo: this.$route.query.proposalOrderNo
}
}
let res = await getDemo(params)
if(res.result == 0){
let mainRiskNameList = []
res.content.orderDTO.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
if (item01.isMainRisk == '0') {
mainRiskNameList.push(item01.riskName)
}
})
})
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (res.content.orderDTO.insuredDTOs.length > 1) {
this.title = '家庭保障计划'
} else {
this.title = mainRiskNameList[0]
}
}else{
if (res.content.orderDTO.insuredDTOs.length > 1) {
this.title = '家庭保障计划'
} else {
this.title = '保险产品组合计划'
}
}
}
}
weixinShare({
title: this.title,
imgUrl: this.$assetsUrl + 'images/logo.png',

View File

@@ -4,7 +4,7 @@
<div>
<div class="mb50">
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
<div class="white fw500 fs18 div_2">家庭保障计划</div>
<div class="white fw500 fs18 div_2">{{mainRiskName}}</div>
<van-sticky @scroll="testSticky">
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
@@ -279,7 +279,7 @@
</div>
<div class="div_02">
<div class="text-center div_021">
<div class="text-center div_022">家庭保障计划</div>
<div class="text-center div_022">{{mainRiskName}}</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>
@@ -382,6 +382,7 @@ export default {
mainRiskCodes: [],
time: 5,
proposalNo:'',
mainRiskName: ''
}
},
filters: {
@@ -437,6 +438,7 @@ export default {
})
}, 1000)
window['appCallBack'] = this.appCallBack*/
// init方法在微信端存储token接口请求用此token所以init方法前不要请求接口会影响分享微信功能接口会报token为空
this.init()
//校验当前用户权限
funcPermCheck({}).then(res => {
@@ -596,7 +598,7 @@ export default {
}
},
async sharePeople() {
console.log(this.agent,'this.agent.name')
console.log(this.pageShowInfo.insuredDTOs,'this.pageShowInfo.insuredDTOs')
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
@@ -608,25 +610,34 @@ export default {
}
let shareContent;
let resData = await queryPersonal(reqData)
// debugger
//准会员话术改为普通人话术
if(resData.content.length&&resData.content[0].slevel<3){
resData.content[0].sgrade='00'
}
if(resData.content.length&&resData.content[0].glevel<3){
resData.content[0].ggrade='00'
}
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'
}
// 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&&resData.content[0].sgrade!='00') {
if(resData.content[0].glevel<3){
resData.content[0].ggrade='00'
}
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&resData.content[0].ggrade!='00') {
// if(resData.content[0].glevel<3){
// resData.content[0].ggrade='00'
// }
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书请查阅因为国富所以民安';
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
}
console.log(shareContent,'shareContent')
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)
@@ -637,11 +648,23 @@ export default {
riskCodeList.push(item.riskCode)
})
let sameRisk = isAllEqual(riskCodeList)
// 以主险为单位,一个主险,显示主险名称。 多个主险,显示“家庭综合保障计划”,跟被保人人数无关
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(sameRisk){
title= riskList[0].riskName
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= riskList[0].riskName
}
}else{
title='家庭综合保障计划'
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= '保险产品组合计划'
}
}
let res = await getSharingToken({ shareType: 'proposal_demonstrate' })
if (res.result == '0') {
@@ -691,6 +714,32 @@ export default {
this.pageShowInfo.appntDTO = res.content.orderDTO.appntDTO
this.pageShowInfo.insuredDTOs = res.content.orderDTO.insuredDTOs
this.pageShowInfo.showInsuredDTO = this.pageShowInfo.insuredDTOs[0]
let mainRiskNameList = []
that.pageShowInfo.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
if (item01.isMainRisk == '0') {
mainRiskNameList.push(item01.riskName)
}
})
})
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = mainRiskNameList[0]
}
}else{
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = '保险产品组合计划'
}
}
//投保人年龄
// this.pageShowInfo.appntDTO.age = getAge.getAge(this.pageShowInfo.appntDTO.birthdayLabel, new Date())
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
@@ -880,7 +929,17 @@ export default {
},
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
async goPDF() {
this.$router.push({ path: '/proposal/pdf' })
if(this.$route.query.proposalOrderNo){
this.$router.push({
path: '/proposal/pdf',
query: {
proposalOrderNo:this.$route.query.proposalOrderNo
}
})
}else{
this.$router.push({ path: '/proposal/pdf' })
}
// this.$jump({
// flag: 'h5',
// extra: {

View File

@@ -145,6 +145,29 @@
clearable
@blur="checkAvoirdupois(userInfo.avoirdupois)"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('11')"
/>
<div class="p15 pl8 fs14">
<van-radio-group v-model="isElecCont" class="flex">
<label>
@@ -377,6 +400,17 @@
</van-popup> -->
<!--身份证扫描 -->
<van-popup v-model="isScan" position="bottom"><IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan></van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -422,6 +456,7 @@ export default {
},
data() {
return {
isNewPeopleFlagTipshow: false,
renovate: '',
specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他
productCodes: [], //产品编码-用于“产品允许投保人单位列表获取”接口,作为请求参数
@@ -525,6 +560,8 @@ export default {
// householdProvince: '', //户籍省
// householdCity: '' //户籍市
// addressStatus: '0' //是否是联系地址
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
areaList: areaList,
areaLists: areaLists,
@@ -632,6 +669,9 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
workcompanys(list) {
// 单位数据
console.log(list)
@@ -710,7 +750,7 @@ export default {
//弹框选择
toSelect(pickerType, valueKey) {
console.log(valueKey)
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 11、新市民类型
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
@@ -757,6 +797,9 @@ export default {
case '10':
this.columns = DataDictionary.marriage
break
case '11':
this.columns = DataDictionary.npType
break
}
// if (pickerType == '1') {
@@ -838,6 +881,8 @@ export default {
this.userInfo.workcompany = value
} else if (this.pickerType === '10') {
this.userInfo.marriageStatus = value.text
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
@@ -1018,6 +1063,8 @@ export default {
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
// this.userInfo.homeZip = data.homeZip //家庭邮编
// this.userInfo.homePhone = data.homePhone //家庭电话
// this.userInfo.householdProvince = data.province //户籍省
@@ -1042,6 +1089,12 @@ export default {
async nextStep() {
//表单校验, 成功跳转
let valid = await this.$validator.validate()
if(this.manageComCode == '45'){
if(this.userInfo.isNewPeopleFlag !== '0' || this.userInfo.isNewPeopleFlag !== '1'){
this.$toast('新市民身份不能为空')
return false
}
}
// .then(valid => {
if (true === valid) {
localStorage.chooseProductCodesNew = localStorage.chooseProductCodes
@@ -1583,5 +1636,8 @@ export default {
/deep/.van-radio {
margin-left: auto;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
}
</style>

View File

@@ -191,6 +191,29 @@
:readonly="isAppnt"
@blur="checkAvoirdupois(userInfo.avoirdupois)"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('11')"
/>
</van-cell-group>
<!-- 工作信息 -->
<van-cell-group class="mt5" v-if="!isScan">
@@ -440,11 +463,22 @@
<van-popup v-model="isMarriageStatusShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onMarriageConfirm" @cancel="isMarriageStatusShow = false" />
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import { Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog } from 'vant'
import {Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog, RadioGroup, Radio} from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
@@ -480,10 +514,13 @@ export default {
[IdentityCardScan.name]: IdentityCardScan,
[IndexBar.name]: IndexBar,
[Dialog.name]: Dialog,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
SearchField,
},
data() {
return {
isNewPeopleFlagTipshow: false,
isMarriageStatusShow: false,
withRootUser: {
load: false, //防止重复请求
@@ -593,6 +630,8 @@ export default {
// householdProvince: '', //户籍省
// householdCity: '' //户籍市
// addressStatus: '' //是否是联系地址
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
areaList: areaList,
areaLists: areaLists,
@@ -783,6 +822,9 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
workcompanys(list) {
// 单位数据
console.log(list)
@@ -853,7 +895,7 @@ export default {
if (this.isAppnt && pickerType != '7') {
return
}
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、被保险人关系
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 11、新市民类型
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
if (pickerType == '1') {
@@ -882,6 +924,8 @@ export default {
this.columns = DataDictionary.workCondition
} else if (pickerType == '9') {
this.columns = DataDictionary.salarySource
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -1042,6 +1086,8 @@ export default {
this.userInfo.salarySource = value.id
} else if (this.pickerType === '10') {
this.userInfo
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
@@ -1316,6 +1362,8 @@ export default {
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
// this.userInfo.homeZip = data.homeZip //家庭邮编
// this.userInfo.homePhone = data.homePhone //家庭电话
// this.userInfo.householdProvince = data.province //户籍省
@@ -1340,6 +1388,12 @@ export default {
//下一步
async nextStep() {
let valid = await this.$validator.validate()
if(this.manageComCode == '45'){
if(this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined){
this.$toast('新市民身份不能为空')
return false
}
}
// .then(valid => {
if (true === valid) {
// 职业 学龄前儿童 2099908 离休人员 8000003家庭主妇 4071203无业人员 8000001
@@ -2100,5 +2154,8 @@ export default {
display: flex;
flex-direction: row-reverse;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
}
</style>

View File

@@ -20,6 +20,8 @@
<van-cell title="证件类型" :value="appntDTO.idTypeText" />
<van-cell title="证件号码" :value="appntDTO.idNo" />
<van-cell title="联系电话" :value="appntDTO.mobileStar" />
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="appntDTO.isNewPeopleFlagText" />-->
<!-- <van-cell v-if="appntDTO.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="appntDTO.npTypeTypeText" />-->
</van-cell-group>
</van-collapse-item>
@@ -33,6 +35,8 @@
<van-cell title="证件类型" :value="item.idTypeText" />
<van-cell title="证件号码" :value="item.idNo" />
<van-cell title="联系电话" :value="item.mobile" />
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="item.isNewPeopleFlagText" />-->
<!-- <van-cell v-if="item.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="item.npTypeText" />-->
</van-cell-group>
</van-collapse-item>
<div v-for="(itm, i) in item.bnfDTOs" :key="i" class="pb10">
@@ -102,6 +106,7 @@ import { getAuthCode, autchCodeCheck } from '@/api/ebiz/sale/sale'
import { checkPhone } from '@/api/ebiz/customer/customer'
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典进行页面展示
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import riskRules from '@/views/ebiz/common/risk-rules'
export default {
data() {
return {
@@ -131,7 +136,7 @@ export default {
insuredDTOs: [],
// 保单号
contNo: '',
manageComCode:'',//代理人管理机构 52贵州 45广西
list: []
}
},
@@ -150,6 +155,10 @@ export default {
// 获取保单详情
this.getPolicyDetail()
},
async mounted() {
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
},
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
@@ -278,6 +287,8 @@ export default {
that.OrderInfoDTO = orderInfoDTO
// 投保人信息
this.filterData(dataDictionary.sex, 'sex', appntDTO)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', appntDTO)
this.filterData(dataDictionary.npType, 'isNewPeopleFlag', appntDTO)
this.filterData(dataDictionary.idType, 'idType', appntDTO)
that.appntDTO = appntDTO
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
@@ -318,11 +329,15 @@ export default {
}
})
this.filterData(dataDictionary.sex, 'sex', insured)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', insured)
this.filterData(dataDictionary.npType, 'npType', insured)
this.filterData(dataDictionary.idType, 'idType', insured)
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
insured.bnfDTOs.map(bnf => {
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
this.filterData(dataDictionary.sex, 'sex', bnf)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', bnf)
this.filterData(dataDictionary.npType, 'npType', bnf)
this.filterData(dataDictionary.idType, 'idType', bnf)
this.filterData(dataDictionary.relationToAppnt, 'relation', bnf)
})