mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-24 20:42:52 +08:00
合并dc代码
This commit is contained in:
@@ -161,3 +161,12 @@ export function checkSignInvalid(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 提交核保
|
||||
export function selfToHuman(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/insure/selfToHuman', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -523,6 +523,7 @@ export default {
|
||||
sex: insuredDTO.sex,
|
||||
idType: insuredDTO.idType,
|
||||
age: insuredPersonAge,
|
||||
marriage: insuredDTO.marriage,
|
||||
relationToAppnt: insuredDTO.relationToAppnt,
|
||||
medical: insuredDTO.medical,
|
||||
occupationName: insuredDTO.occupationName,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
export default {
|
||||
getAge: function(name, today) {
|
||||
getAge: function (name, today) {
|
||||
return this.getAgeByValue(name, today)
|
||||
},
|
||||
|
||||
getAgeByBirth: function(value, today) {
|
||||
getAgeByBirth: function (value, today) {
|
||||
return this.getAgeByValue(value, today)
|
||||
},
|
||||
getAgeByValue: function(value, today) {
|
||||
getAgeByValue: function (value, today) {
|
||||
var b = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/)
|
||||
if (b == null) {
|
||||
return null
|
||||
@@ -22,7 +22,7 @@ export default {
|
||||
}
|
||||
if (age < 1) {
|
||||
var dayNum = this.getDateDiff(value, nowY + '-' + (today.getMonth() + 1) + '-' + today.getDate())
|
||||
if (dayNum <= 28) {
|
||||
if (dayNum <= 27) {
|
||||
age--
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ export default {
|
||||
/**
|
||||
* 取得两个日期的时间差
|
||||
*/
|
||||
getDateDiff: function(date1, date2) {
|
||||
getDateDiff: function (date1, date2) {
|
||||
var dt1, dt2
|
||||
if (date1 instanceof Date) {
|
||||
dt1 = date1
|
||||
@@ -51,7 +51,7 @@ export default {
|
||||
/**
|
||||
* 字符串转日期
|
||||
*/
|
||||
stringToDate: function(string) {
|
||||
stringToDate: function (string) {
|
||||
return new Date(Date.parse(string.replace(/-/g, '/')))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,246 +2,246 @@
|
||||
export default {
|
||||
//国家地区
|
||||
nativeplace: [
|
||||
{ code: 'CHN', text: '中国' },
|
||||
{ code: 'HKG', text: '中国香港' },
|
||||
{ code: 'MAC', text: '澳门' },
|
||||
{ code: 'TWN', text: '中国台湾' },
|
||||
{ code: 'ABW', text: '阿鲁巴' },
|
||||
{ code: 'AFG', text: '阿富汗' },
|
||||
{ code: 'AGO', text: '安哥拉' },
|
||||
{ code: 'AIA', text: '安圭拉' },
|
||||
{ code: 'ALB', text: '阿尔巴尼亚' },
|
||||
{ code: 'AND', text: '安道尔' },
|
||||
{ code: 'ANT', text: '荷属安的列斯' },
|
||||
{ code: 'ARE', text: '阿联酋' },
|
||||
{ code: 'ARG', text: '阿根廷' },
|
||||
{ code: 'ARM', text: '亚美尼亚' },
|
||||
{ code: 'ASM', text: '美属萨摩亚' },
|
||||
{ code: 'ATA', text: '南极洲' },
|
||||
{ code: 'ATF', text: '法属南部领土' },
|
||||
{ code: 'ATG', text: '安提瓜和巴布达' },
|
||||
{ code: 'AUS', text: '澳大利亚' },
|
||||
{ code: 'AUT', text: '奥地利' },
|
||||
{ code: 'AZE', text: '阿塞拜疆' },
|
||||
{ code: 'BDI', text: '布隆迪' },
|
||||
{ code: 'BEL', text: '比利时' },
|
||||
{ code: 'BEN', text: '贝宁' },
|
||||
{ code: 'BFA', text: '布基纳法索' },
|
||||
{ code: 'BGD', text: '孟加拉国' },
|
||||
{ code: 'BGR', text: '保加利亚' },
|
||||
{ code: 'BHR', text: '巴林' },
|
||||
{ code: 'BHS', text: '巴哈马' },
|
||||
{ code: 'BIH', text: '波斯尼亚和黑塞哥维那' },
|
||||
{ code: 'BLR', text: '白俄罗斯' },
|
||||
{ code: 'BLZ', text: '伯利兹' },
|
||||
{ code: 'BMU', text: '百慕大' },
|
||||
{ code: 'BOL', text: '玻利维亚' },
|
||||
{ code: 'BRA', text: '巴西' },
|
||||
{ code: 'BRB', text: '巴巴多斯' },
|
||||
{ code: 'BRN', text: '文莱' },
|
||||
{ code: 'BTN', text: '不丹' },
|
||||
{ code: 'BVT', text: '布维岛' },
|
||||
{ code: 'BWA', text: '博茨瓦纳' },
|
||||
{ code: 'CAF', text: '中非' },
|
||||
{ code: 'CAN', text: '加拿大' },
|
||||
{ code: 'CCK', text: '科科斯(基林)群岛' },
|
||||
{ code: 'CHE', text: '瑞士' },
|
||||
{ code: 'CHL', text: '智利' },
|
||||
{ code: 'CIV', text: '科特迪瓦' },
|
||||
{ code: 'CMR', text: '喀麦隆' },
|
||||
{ code: 'COD', text: '刚果(金)' },
|
||||
{ code: 'COG', text: '刚果(布)' },
|
||||
{ code: 'COK', text: '库克群岛' },
|
||||
{ code: 'COL', text: '哥伦比亚' },
|
||||
{ code: 'COM', text: '科摩罗' },
|
||||
{ code: 'CPV', text: '佛得角' },
|
||||
{ code: 'CRI', text: '哥斯达黎加' },
|
||||
{ code: 'CUB', text: '古巴' },
|
||||
{ code: 'CXR', text: '圣诞岛' },
|
||||
{ code: 'CYM', text: '开曼群岛' },
|
||||
{ code: 'CYP', text: '塞浦路斯' },
|
||||
{ code: 'CZE', text: '捷克' },
|
||||
{ code: 'DEU', text: '德国' },
|
||||
{ code: 'DJI', text: '吉布提' },
|
||||
{ code: 'DMA', text: '多米尼克' },
|
||||
{ code: 'DNK', text: '丹麦' },
|
||||
{ code: 'DOM', text: '多米尼加共和国' },
|
||||
{ code: 'DZA', text: '阿尔及利亚' },
|
||||
{ code: 'ECU', text: '厄瓜多尔' },
|
||||
{ code: 'EGY', text: '埃及' },
|
||||
{ code: 'ERI', text: '厄立特里亚' },
|
||||
{ code: 'ESH', text: '西撒哈拉' },
|
||||
{ code: 'ESP', text: '西班牙' },
|
||||
{ code: 'EST', text: '爱沙尼亚' },
|
||||
{ code: 'ETH', text: '埃塞俄比亚' },
|
||||
{ code: 'FIN', text: '芬兰' },
|
||||
{ code: 'FJI', text: '斐济' },
|
||||
{ code: 'FLK', text: '马尔维纳斯群岛(福克兰群岛)' },
|
||||
{ code: 'FRA', text: '法国' },
|
||||
{ code: 'FRO', text: '法罗群岛' },
|
||||
{ code: 'FSM', text: '密克罗尼西亚' },
|
||||
{ code: 'GAB', text: '加蓬' },
|
||||
{ code: 'GBR', text: '英国' },
|
||||
{ code: 'GEO', text: '格鲁吉亚' },
|
||||
{ code: 'GHA', text: '加纳' },
|
||||
{ code: 'GIB', text: '直布罗陀' },
|
||||
{ code: 'GIN', text: '几内亚' },
|
||||
{ code: 'GLP', text: '瓜德罗普' },
|
||||
{ code: 'GMB', text: '冈比亚' },
|
||||
{ code: 'GNB', text: '几内亚比绍' },
|
||||
{ code: 'GNQ', text: '赤道几内亚' },
|
||||
{ code: 'GRC', text: '希腊' },
|
||||
{ code: 'GRD', text: '格林纳达' },
|
||||
{ code: 'GRL', text: '格陵兰' },
|
||||
{ code: 'GTM', text: '危地马拉' },
|
||||
{ code: 'GUF', text: '法属圭亚那' },
|
||||
{ code: 'GUM', text: '关岛' },
|
||||
{ code: 'GUY', text: '圭亚那' },
|
||||
{ code: 'HMD', text: '赫德岛和麦克唐纳岛' },
|
||||
{ code: 'HND', text: '洪都拉斯' },
|
||||
{ code: 'HRV', text: '克罗地亚' },
|
||||
{ code: 'HTI', text: '海地' },
|
||||
{ code: 'HUN', text: '匈牙利' },
|
||||
{ code: 'IDN', text: '印度尼西亚' },
|
||||
{ code: 'IND', text: '印度' },
|
||||
{ code: 'IOT', text: '英属印度洋领土' },
|
||||
{ code: 'IRL', text: '爱尔兰' },
|
||||
{ code: 'IRN', text: '伊朗' },
|
||||
{ code: 'IRQ', text: '伊拉克' },
|
||||
{ code: 'ISL', text: '冰岛' },
|
||||
{ code: 'ISR', text: '以色列' },
|
||||
{ code: 'ITA', text: '意大利' },
|
||||
{ code: 'JAM', text: '牙买加' },
|
||||
{ code: 'JOR', text: '约旦' },
|
||||
{ code: 'JPN', text: '日本' },
|
||||
{ code: 'KAZ', text: '哈萨克斯坦' },
|
||||
{ code: 'KEN', text: '肯尼亚' },
|
||||
{ code: 'KGZ', text: '吉尔吉斯斯坦' },
|
||||
{ code: 'KHM', text: '柬埔寨' },
|
||||
{ code: 'KIR', text: '基里巴斯' },
|
||||
{ code: 'KNA', text: '圣基茨和尼维斯' },
|
||||
{ code: 'KOR', text: '韩国' },
|
||||
{ code: 'KWT', text: '科威特' },
|
||||
{ code: 'LAO', text: '老挝' },
|
||||
{ code: 'LBN', text: '黎巴嫩' },
|
||||
{ code: 'LBR', text: '利比里亚' },
|
||||
{ code: 'LBY', text: '利比亚' },
|
||||
{ code: 'LCA', text: '圣卢西亚' },
|
||||
{ code: 'LIE', text: '列支敦士登' },
|
||||
{ code: 'LKA', text: '斯里兰卡' },
|
||||
{ code: 'LSO', text: '莱索托' },
|
||||
{ code: 'LTU', text: '立陶宛' },
|
||||
{ code: 'LUX', text: '卢森堡' },
|
||||
{ code: 'LVA', text: '拉脱维亚' },
|
||||
{ code: 'MAR', text: '摩洛哥' },
|
||||
{ code: 'MCO', text: '摩纳哥' },
|
||||
{ code: 'MDA', text: '摩尔多瓦' },
|
||||
{ code: 'MDG', text: '马达加斯加' },
|
||||
{ code: 'MDV', text: '马尔代夫' },
|
||||
{ code: 'MEX', text: '墨西哥' },
|
||||
{ code: 'MHL', text: '马绍尔群岛' },
|
||||
{ code: 'MKD', text: '马斯顿' },
|
||||
{ code: 'MLI', text: '马里' },
|
||||
{ code: 'MLT', text: '马耳他' },
|
||||
{ code: 'MMR', text: '缅甸' },
|
||||
{ code: 'MNG', text: '蒙古' },
|
||||
{ code: 'MNP', text: '北马里亚纳' },
|
||||
{ code: 'MOZ', text: '莫桑比克' },
|
||||
{ code: 'MRT', text: '毛里塔尼亚' },
|
||||
{ code: 'MSR', text: '蒙特塞拉特' },
|
||||
{ code: 'MTQ', text: '马提尼克' },
|
||||
{ code: 'MUS', text: '毛里求斯' },
|
||||
{ code: 'MWI', text: '马拉维' },
|
||||
{ code: 'MYS', text: '马来西亚' },
|
||||
{ code: 'MYT', text: '马约特' },
|
||||
{ code: 'NAM', text: '纳米比亚' },
|
||||
{ code: 'NCL', text: '新喀里多尼亚' },
|
||||
{ code: 'NER', text: '尼日尔' },
|
||||
{ code: 'NFK', text: '诺福克岛' },
|
||||
{ code: 'NGA', text: '尼日利亚' },
|
||||
{ code: 'NIC', text: '尼加拉瓜' },
|
||||
{ code: 'NIU', text: '纽埃' },
|
||||
{ code: 'NLD', text: '荷兰' },
|
||||
{ code: 'NOR', text: '挪威' },
|
||||
{ code: 'NPL', text: '尼泊尔' },
|
||||
{ code: 'NRU', text: '瑙鲁' },
|
||||
{ code: 'NZL', text: '新西兰' },
|
||||
{ code: 'OMN', text: '阿曼' },
|
||||
{ code: 'PAK', text: '巴基斯坦' },
|
||||
{ code: 'PAN', text: '巴拿马' },
|
||||
{ code: 'PCN', text: '皮特凯恩群岛' },
|
||||
{ code: 'PER', text: '秘鲁' },
|
||||
{ code: 'PHL', text: '菲律宾' },
|
||||
{ code: 'PLW', text: '帕劳' },
|
||||
{ code: 'PNG', text: '巴布亚新几内亚' },
|
||||
{ code: 'POL', text: '波兰' },
|
||||
{ code: 'PRI', text: '波多黎各' },
|
||||
{ code: 'PRK', text: '朝鲜' },
|
||||
{ code: 'PRT', text: '葡萄牙' },
|
||||
{ code: 'PRY', text: '巴拉圭' },
|
||||
{ code: 'PSE', text: '巴勒斯坦' },
|
||||
{ code: 'PYF', text: '法属波利尼西亚' },
|
||||
{ code: 'QAT', text: '卡塔尔' },
|
||||
{ code: 'REU', text: '留尼汪' },
|
||||
{ code: 'ROM', text: '罗马尼亚' },
|
||||
{ code: 'RUS', text: '俄罗斯' },
|
||||
{ code: 'RWA', text: '卢旺达' },
|
||||
{ code: 'SAU', text: '沙特阿拉伯' },
|
||||
{ code: 'SCG', text: '塞尔维亚和黑山' },
|
||||
{ code: 'SDN', text: '苏丹' },
|
||||
{ code: 'SEN', text: '塞内加尔' },
|
||||
{ code: 'SGP', text: '新加坡' },
|
||||
{ code: 'SGS', text: '南乔治亚岛和南桑德韦奇岛' },
|
||||
{ code: 'SHN', text: '圣赫勒拿' },
|
||||
{ code: 'SJM', text: '斯瓦尔巴群岛和扬马群岛' },
|
||||
{ code: 'SLB', text: '所罗门群岛' },
|
||||
{ code: 'SLE', text: '塞拉利昂' },
|
||||
{ code: 'SLV', text: '萨尔瓦多' },
|
||||
{ code: 'SMR', text: '圣马力诺' },
|
||||
{ code: 'SOM', text: '索马里' },
|
||||
{ code: 'SPM', text: '圣皮埃尔和密克隆' },
|
||||
{ code: 'STP', text: '圣多美和普林西比' },
|
||||
{ code: 'SUR', text: '苏里南' },
|
||||
{ code: 'SVK', text: '斯洛伐克' },
|
||||
{ code: 'SVN', text: '斯洛文尼亚' },
|
||||
{ code: 'SWE', text: '瑞典' },
|
||||
{ code: 'SWZ', text: '斯威士兰' },
|
||||
{ code: 'SYC', text: '塞舌尔' },
|
||||
{ code: 'SYR', text: '叙利亚' },
|
||||
{ code: 'TCA', text: '特克斯和凯科斯群岛' },
|
||||
{ code: 'TCD', text: '乍得' },
|
||||
{ code: 'TGO', text: '多哥' },
|
||||
{ code: 'THA', text: '泰国' },
|
||||
{ code: 'TJK', text: '塔吉克斯坦' },
|
||||
{ code: 'TKL', text: '托克劳' },
|
||||
{ code: 'TKM', text: '土库曼斯坦' },
|
||||
{ code: 'TMP', text: '东帝汶' },
|
||||
{ code: 'TON', text: '汤加' },
|
||||
{ code: 'TTO', text: '特立尼达和多巴哥' },
|
||||
{ code: 'TUN', text: '突尼斯' },
|
||||
{ code: 'TUR', text: '土耳其' },
|
||||
{ code: 'TUV', text: '图瓦卢' },
|
||||
{ code: 'TZA', text: '坦桑尼亚' },
|
||||
{ code: 'UGA', text: '乌干达' },
|
||||
{ code: 'UKR', text: '乌克兰' },
|
||||
{ code: 'UMI', text: '美属本土外小岛屿' },
|
||||
{ code: 'URY', text: '乌拉圭' },
|
||||
{ code: 'USA', text: '美国' },
|
||||
{ code: 'UZB', text: '乌兹别克斯坦' },
|
||||
{ code: 'VAT', text: '梵蒂冈' },
|
||||
{ code: 'VCT', text: '圣文森特和格林纳丁斯' },
|
||||
{ code: 'VEN', text: '委内瑞拉' },
|
||||
{ code: 'VGB', text: '英属维尔京群岛' },
|
||||
{ code: 'VIR', text: '美属维尔京群岛' },
|
||||
{ code: 'VNM', text: '越南' },
|
||||
{ code: 'VUT', text: '瓦努阿图' },
|
||||
{ code: 'WLF', text: '瓦利斯和富图纳群岛' },
|
||||
{ code: 'WSM', text: '西萨摩亚' },
|
||||
{ code: 'YEM', text: '也门' },
|
||||
{ code: 'ZAF', text: '南非' },
|
||||
{ code: 'ZAR', text: '扎伊尔' },
|
||||
{ code: 'ZMB', text: '赞比亚' },
|
||||
{ code: 'ZWE', text: '津巴布韦' }
|
||||
{ code: 'CHN', text: '中国' }
|
||||
// { code: 'HKG', text: '中国香港' },
|
||||
// { code: 'MAC', text: '澳门' },
|
||||
// { code: 'TWN', text: '中国台湾' },
|
||||
// { code: 'ABW', text: '阿鲁巴' },
|
||||
// { code: 'AFG', text: '阿富汗' },
|
||||
// { code: 'AGO', text: '安哥拉' },
|
||||
// { code: 'AIA', text: '安圭拉' },
|
||||
// { code: 'ALB', text: '阿尔巴尼亚' },
|
||||
// { code: 'AND', text: '安道尔' },
|
||||
// { code: 'ANT', text: '荷属安的列斯' },
|
||||
// { code: 'ARE', text: '阿联酋' },
|
||||
// { code: 'ARG', text: '阿根廷' },
|
||||
// { code: 'ARM', text: '亚美尼亚' },
|
||||
// { code: 'ASM', text: '美属萨摩亚' },
|
||||
// { code: 'ATA', text: '南极洲' },
|
||||
// { code: 'ATF', text: '法属南部领土' },
|
||||
// { code: 'ATG', text: '安提瓜和巴布达' },
|
||||
// { code: 'AUS', text: '澳大利亚' },
|
||||
// { code: 'AUT', text: '奥地利' },
|
||||
// { code: 'AZE', text: '阿塞拜疆' },
|
||||
// { code: 'BDI', text: '布隆迪' },
|
||||
// { code: 'BEL', text: '比利时' },
|
||||
// { code: 'BEN', text: '贝宁' },
|
||||
// { code: 'BFA', text: '布基纳法索' },
|
||||
// { code: 'BGD', text: '孟加拉国' },
|
||||
// { code: 'BGR', text: '保加利亚' },
|
||||
// { code: 'BHR', text: '巴林' },
|
||||
// { code: 'BHS', text: '巴哈马' },
|
||||
// { code: 'BIH', text: '波斯尼亚和黑塞哥维那' },
|
||||
// { code: 'BLR', text: '白俄罗斯' },
|
||||
// { code: 'BLZ', text: '伯利兹' },
|
||||
// { code: 'BMU', text: '百慕大' },
|
||||
// { code: 'BOL', text: '玻利维亚' },
|
||||
// { code: 'BRA', text: '巴西' },
|
||||
// { code: 'BRB', text: '巴巴多斯' },
|
||||
// { code: 'BRN', text: '文莱' },
|
||||
// { code: 'BTN', text: '不丹' },
|
||||
// { code: 'BVT', text: '布维岛' },
|
||||
// { code: 'BWA', text: '博茨瓦纳' },
|
||||
// { code: 'CAF', text: '中非' },
|
||||
// { code: 'CAN', text: '加拿大' },
|
||||
// { code: 'CCK', text: '科科斯(基林)群岛' },
|
||||
// { code: 'CHE', text: '瑞士' },
|
||||
// { code: 'CHL', text: '智利' },
|
||||
// { code: 'CIV', text: '科特迪瓦' },
|
||||
// { code: 'CMR', text: '喀麦隆' },
|
||||
// { code: 'COD', text: '刚果(金)' },
|
||||
// { code: 'COG', text: '刚果(布)' },
|
||||
// { code: 'COK', text: '库克群岛' },
|
||||
// { code: 'COL', text: '哥伦比亚' },
|
||||
// { code: 'COM', text: '科摩罗' },
|
||||
// { code: 'CPV', text: '佛得角' },
|
||||
// { code: 'CRI', text: '哥斯达黎加' },
|
||||
// { code: 'CUB', text: '古巴' },
|
||||
// { code: 'CXR', text: '圣诞岛' },
|
||||
// { code: 'CYM', text: '开曼群岛' },
|
||||
// { code: 'CYP', text: '塞浦路斯' },
|
||||
// { code: 'CZE', text: '捷克' },
|
||||
// { code: 'DEU', text: '德国' },
|
||||
// { code: 'DJI', text: '吉布提' },
|
||||
// { code: 'DMA', text: '多米尼克' },
|
||||
// { code: 'DNK', text: '丹麦' },
|
||||
// { code: 'DOM', text: '多米尼加共和国' },
|
||||
// { code: 'DZA', text: '阿尔及利亚' },
|
||||
// { code: 'ECU', text: '厄瓜多尔' },
|
||||
// { code: 'EGY', text: '埃及' },
|
||||
// { code: 'ERI', text: '厄立特里亚' },
|
||||
// { code: 'ESH', text: '西撒哈拉' },
|
||||
// { code: 'ESP', text: '西班牙' },
|
||||
// { code: 'EST', text: '爱沙尼亚' },
|
||||
// { code: 'ETH', text: '埃塞俄比亚' },
|
||||
// { code: 'FIN', text: '芬兰' },
|
||||
// { code: 'FJI', text: '斐济' },
|
||||
// { code: 'FLK', text: '马尔维纳斯群岛(福克兰群岛)' },
|
||||
// { code: 'FRA', text: '法国' },
|
||||
// { code: 'FRO', text: '法罗群岛' },
|
||||
// { code: 'FSM', text: '密克罗尼西亚' },
|
||||
// { code: 'GAB', text: '加蓬' },
|
||||
// { code: 'GBR', text: '英国' },
|
||||
// { code: 'GEO', text: '格鲁吉亚' },
|
||||
// { code: 'GHA', text: '加纳' },
|
||||
// { code: 'GIB', text: '直布罗陀' },
|
||||
// { code: 'GIN', text: '几内亚' },
|
||||
// { code: 'GLP', text: '瓜德罗普' },
|
||||
// { code: 'GMB', text: '冈比亚' },
|
||||
// { code: 'GNB', text: '几内亚比绍' },
|
||||
// { code: 'GNQ', text: '赤道几内亚' },
|
||||
// { code: 'GRC', text: '希腊' },
|
||||
// { code: 'GRD', text: '格林纳达' },
|
||||
// { code: 'GRL', text: '格陵兰' },
|
||||
// { code: 'GTM', text: '危地马拉' },
|
||||
// { code: 'GUF', text: '法属圭亚那' },
|
||||
// { code: 'GUM', text: '关岛' },
|
||||
// { code: 'GUY', text: '圭亚那' },
|
||||
// { code: 'HMD', text: '赫德岛和麦克唐纳岛' },
|
||||
// { code: 'HND', text: '洪都拉斯' },
|
||||
// { code: 'HRV', text: '克罗地亚' },
|
||||
// { code: 'HTI', text: '海地' },
|
||||
// { code: 'HUN', text: '匈牙利' },
|
||||
// { code: 'IDN', text: '印度尼西亚' },
|
||||
// { code: 'IND', text: '印度' },
|
||||
// { code: 'IOT', text: '英属印度洋领土' },
|
||||
// { code: 'IRL', text: '爱尔兰' },
|
||||
// { code: 'IRN', text: '伊朗' },
|
||||
// { code: 'IRQ', text: '伊拉克' },
|
||||
// { code: 'ISL', text: '冰岛' },
|
||||
// { code: 'ISR', text: '以色列' },
|
||||
// { code: 'ITA', text: '意大利' },
|
||||
// { code: 'JAM', text: '牙买加' },
|
||||
// { code: 'JOR', text: '约旦' },
|
||||
// { code: 'JPN', text: '日本' },
|
||||
// { code: 'KAZ', text: '哈萨克斯坦' },
|
||||
// { code: 'KEN', text: '肯尼亚' },
|
||||
// { code: 'KGZ', text: '吉尔吉斯斯坦' },
|
||||
// { code: 'KHM', text: '柬埔寨' },
|
||||
// { code: 'KIR', text: '基里巴斯' },
|
||||
// { code: 'KNA', text: '圣基茨和尼维斯' },
|
||||
// { code: 'KOR', text: '韩国' },
|
||||
// { code: 'KWT', text: '科威特' },
|
||||
// { code: 'LAO', text: '老挝' },
|
||||
// { code: 'LBN', text: '黎巴嫩' },
|
||||
// { code: 'LBR', text: '利比里亚' },
|
||||
// { code: 'LBY', text: '利比亚' },
|
||||
// { code: 'LCA', text: '圣卢西亚' },
|
||||
// { code: 'LIE', text: '列支敦士登' },
|
||||
// { code: 'LKA', text: '斯里兰卡' },
|
||||
// { code: 'LSO', text: '莱索托' },
|
||||
// { code: 'LTU', text: '立陶宛' },
|
||||
// { code: 'LUX', text: '卢森堡' },
|
||||
// { code: 'LVA', text: '拉脱维亚' },
|
||||
// { code: 'MAR', text: '摩洛哥' },
|
||||
// { code: 'MCO', text: '摩纳哥' },
|
||||
// { code: 'MDA', text: '摩尔多瓦' },
|
||||
// { code: 'MDG', text: '马达加斯加' },
|
||||
// { code: 'MDV', text: '马尔代夫' },
|
||||
// { code: 'MEX', text: '墨西哥' },
|
||||
// { code: 'MHL', text: '马绍尔群岛' },
|
||||
// { code: 'MKD', text: '马斯顿' },
|
||||
// { code: 'MLI', text: '马里' },
|
||||
// { code: 'MLT', text: '马耳他' },
|
||||
// { code: 'MMR', text: '缅甸' },
|
||||
// { code: 'MNG', text: '蒙古' },
|
||||
// { code: 'MNP', text: '北马里亚纳' },
|
||||
// { code: 'MOZ', text: '莫桑比克' },
|
||||
// { code: 'MRT', text: '毛里塔尼亚' },
|
||||
// { code: 'MSR', text: '蒙特塞拉特' },
|
||||
// { code: 'MTQ', text: '马提尼克' },
|
||||
// { code: 'MUS', text: '毛里求斯' },
|
||||
// { code: 'MWI', text: '马拉维' },
|
||||
// { code: 'MYS', text: '马来西亚' },
|
||||
// { code: 'MYT', text: '马约特' },
|
||||
// { code: 'NAM', text: '纳米比亚' },
|
||||
// { code: 'NCL', text: '新喀里多尼亚' },
|
||||
// { code: 'NER', text: '尼日尔' },
|
||||
// { code: 'NFK', text: '诺福克岛' },
|
||||
// { code: 'NGA', text: '尼日利亚' },
|
||||
// { code: 'NIC', text: '尼加拉瓜' },
|
||||
// { code: 'NIU', text: '纽埃' },
|
||||
// { code: 'NLD', text: '荷兰' },
|
||||
// { code: 'NOR', text: '挪威' },
|
||||
// { code: 'NPL', text: '尼泊尔' },
|
||||
// { code: 'NRU', text: '瑙鲁' },
|
||||
// { code: 'NZL', text: '新西兰' },
|
||||
// { code: 'OMN', text: '阿曼' },
|
||||
// { code: 'PAK', text: '巴基斯坦' },
|
||||
// { code: 'PAN', text: '巴拿马' },
|
||||
// { code: 'PCN', text: '皮特凯恩群岛' },
|
||||
// { code: 'PER', text: '秘鲁' },
|
||||
// { code: 'PHL', text: '菲律宾' },
|
||||
// { code: 'PLW', text: '帕劳' },
|
||||
// { code: 'PNG', text: '巴布亚新几内亚' },
|
||||
// { code: 'POL', text: '波兰' },
|
||||
// { code: 'PRI', text: '波多黎各' },
|
||||
// { code: 'PRK', text: '朝鲜' },
|
||||
// { code: 'PRT', text: '葡萄牙' },
|
||||
// { code: 'PRY', text: '巴拉圭' },
|
||||
// { code: 'PSE', text: '巴勒斯坦' },
|
||||
// { code: 'PYF', text: '法属波利尼西亚' },
|
||||
// { code: 'QAT', text: '卡塔尔' },
|
||||
// { code: 'REU', text: '留尼汪' },
|
||||
// { code: 'ROM', text: '罗马尼亚' },
|
||||
// { code: 'RUS', text: '俄罗斯' },
|
||||
// { code: 'RWA', text: '卢旺达' },
|
||||
// { code: 'SAU', text: '沙特阿拉伯' },
|
||||
// { code: 'SCG', text: '塞尔维亚和黑山' },
|
||||
// { code: 'SDN', text: '苏丹' },
|
||||
// { code: 'SEN', text: '塞内加尔' },
|
||||
// { code: 'SGP', text: '新加坡' },
|
||||
// { code: 'SGS', text: '南乔治亚岛和南桑德韦奇岛' },
|
||||
// { code: 'SHN', text: '圣赫勒拿' },
|
||||
// { code: 'SJM', text: '斯瓦尔巴群岛和扬马群岛' },
|
||||
// { code: 'SLB', text: '所罗门群岛' },
|
||||
// { code: 'SLE', text: '塞拉利昂' },
|
||||
// { code: 'SLV', text: '萨尔瓦多' },
|
||||
// { code: 'SMR', text: '圣马力诺' },
|
||||
// { code: 'SOM', text: '索马里' },
|
||||
// { code: 'SPM', text: '圣皮埃尔和密克隆' },
|
||||
// { code: 'STP', text: '圣多美和普林西比' },
|
||||
// { code: 'SUR', text: '苏里南' },
|
||||
// { code: 'SVK', text: '斯洛伐克' },
|
||||
// { code: 'SVN', text: '斯洛文尼亚' },
|
||||
// { code: 'SWE', text: '瑞典' },
|
||||
// { code: 'SWZ', text: '斯威士兰' },
|
||||
// { code: 'SYC', text: '塞舌尔' },
|
||||
// { code: 'SYR', text: '叙利亚' },
|
||||
// { code: 'TCA', text: '特克斯和凯科斯群岛' },
|
||||
// { code: 'TCD', text: '乍得' },
|
||||
// { code: 'TGO', text: '多哥' },
|
||||
// { code: 'THA', text: '泰国' },
|
||||
// { code: 'TJK', text: '塔吉克斯坦' },
|
||||
// { code: 'TKL', text: '托克劳' },
|
||||
// { code: 'TKM', text: '土库曼斯坦' },
|
||||
// { code: 'TMP', text: '东帝汶' },
|
||||
// { code: 'TON', text: '汤加' },
|
||||
// { code: 'TTO', text: '特立尼达和多巴哥' },
|
||||
// { code: 'TUN', text: '突尼斯' },
|
||||
// { code: 'TUR', text: '土耳其' },
|
||||
// { code: 'TUV', text: '图瓦卢' },
|
||||
// { code: 'TZA', text: '坦桑尼亚' },
|
||||
// { code: 'UGA', text: '乌干达' },
|
||||
// { code: 'UKR', text: '乌克兰' },
|
||||
// { code: 'UMI', text: '美属本土外小岛屿' },
|
||||
// { code: 'URY', text: '乌拉圭' },
|
||||
// { code: 'USA', text: '美国' },
|
||||
// { code: 'UZB', text: '乌兹别克斯坦' },
|
||||
// { code: 'VAT', text: '梵蒂冈' },
|
||||
// { code: 'VCT', text: '圣文森特和格林纳丁斯' },
|
||||
// { code: 'VEN', text: '委内瑞拉' },
|
||||
// { code: 'VGB', text: '英属维尔京群岛' },
|
||||
// { code: 'VIR', text: '美属维尔京群岛' },
|
||||
// { code: 'VNM', text: '越南' },
|
||||
// { code: 'VUT', text: '瓦努阿图' },
|
||||
// { code: 'WLF', text: '瓦利斯和富图纳群岛' },
|
||||
// { code: 'WSM', text: '西萨摩亚' },
|
||||
// { code: 'YEM', text: '也门' },
|
||||
// { code: 'ZAF', text: '南非' },
|
||||
// { code: 'ZAR', text: '扎伊尔' },
|
||||
// { code: 'ZMB', text: '赞比亚' },
|
||||
// { code: 'ZWE', text: '津巴布韦' }
|
||||
],
|
||||
//证件类型 -- 未改动
|
||||
idType: [
|
||||
|
||||
@@ -8,7 +8,7 @@ export function formatRiskList(list, insureList, riskList) {
|
||||
insured[riskList] = []
|
||||
}
|
||||
insured[riskList].forEach(main => {
|
||||
list.firstPrem = ((list.firstPrem * 100 + main.prem * 100) / 100).toFixed(2) //保留两位小数
|
||||
list.firstPrem = ((list.firstPrem * 10000 + main.prem * 10000) / 10000).toFixed(2) //保留两位小数
|
||||
if (main.isMainRisk == '0') {
|
||||
//此时为主险
|
||||
insured.mainRisk.push(main)
|
||||
@@ -44,7 +44,7 @@ export function formatAllRisk(list) {
|
||||
if (risk.isMainRisk == '1') {
|
||||
if (main.mainRiskCode == risk.mainRiskCode) {
|
||||
main.addtion.push(risk)
|
||||
main.prem += risk.prem
|
||||
main.prem = (main.prem * 10000 + risk.prem * 10000) / 10000
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -24,6 +24,9 @@ Validator.extend('required', {
|
||||
return field + '不能为空'
|
||||
},
|
||||
validate(value) {
|
||||
if (value != null && value != undefined) {
|
||||
value = String(value)
|
||||
}
|
||||
if (value) {
|
||||
return true
|
||||
}
|
||||
@@ -131,6 +134,6 @@ Validator.extend('stature', {
|
||||
Validator.extend('avoirdupois', {
|
||||
getMessage: () => '体重输入有误',
|
||||
validate: value => {
|
||||
return /^[0-9]{0,3}([.]{1}[0-9]{1})?$/.test(value) && value > 0.1
|
||||
return /^[0-9]+([.]{1}[0-9]{1})?$/.test(value) && value > 0.1
|
||||
}
|
||||
})
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
<div class="van-cell__title van-field__label">
|
||||
<span>{{ label }}</span>
|
||||
</div>
|
||||
<van-radio-group class="radio-area" v-model="radio" :disabled="disabled">
|
||||
<van-radio @click="handleChoose(itemRadio.value)" :name="itemRadio.value" v-for="(itemRadio, index) in radios" :key="index" :disabled="disabled">
|
||||
<van-radio-group class="radio-area" v-model="radio">
|
||||
<van-radio @click="handleChoose(itemRadio.value)" :name="itemRadio.value" v-for="(itemRadio, index) in radios" :key="index">
|
||||
<div slot="icon"></div>
|
||||
<van-button class="ph30" type="danger" :plain="radio == itemRadio.value ? false : true" round size="small" :disabled="disabled" >{{ itemRadio.label }}</van-button>
|
||||
<van-button class="ph30" type="danger" :plain="radio == itemRadio.value ? false : true" round size="small">{{ itemRadio.label }}</van-button>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
@@ -47,7 +47,7 @@ export default {
|
||||
mounted() {},
|
||||
methods: {
|
||||
handleChoose(value) {
|
||||
if(this.disabled) {
|
||||
if (this.disabled) {
|
||||
return
|
||||
}
|
||||
this.$emit('update:value', value)
|
||||
|
||||
@@ -67,6 +67,10 @@ export default {
|
||||
readonly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -112,6 +116,9 @@ export default {
|
||||
this.$emit('on-choose', data)
|
||||
},
|
||||
chooseCustomer() {
|
||||
if (this.disabled) {
|
||||
return
|
||||
}
|
||||
this.showPicker = true
|
||||
this.$emit('on-click')
|
||||
},
|
||||
|
||||
@@ -31,6 +31,10 @@ export default {
|
||||
type: String,
|
||||
default: '11'
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
default: ''
|
||||
@@ -111,6 +115,9 @@ export default {
|
||||
this.showPicker = false
|
||||
},
|
||||
openOccupation() {
|
||||
if (this.disabled) {
|
||||
return
|
||||
}
|
||||
this.$emit('on-click')
|
||||
this.showPicker = true
|
||||
},
|
||||
|
||||
@@ -119,7 +119,7 @@ export default [
|
||||
name: 'insuranceInformation',
|
||||
component: insuranceInformation,
|
||||
meta: {
|
||||
title: '阅读投保须知'
|
||||
title: '阅读人身保险投保提示'
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -66,7 +66,7 @@ export default {
|
||||
//930折中方案,豁免险选择
|
||||
let chooseProducts = JSON.parse(localStorage.chooseProducts)
|
||||
for (let i = 0; i < chooseProducts.length; i++) {
|
||||
if (chooseProducts[i].productCode == 'DCRS_A0001') {
|
||||
if (chooseProducts[i].productCode == 'DCRS_A0001' && this.result.productCode == 'DCRS_A0001') {
|
||||
this.$toast('豁免险已选!')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -29,10 +29,7 @@
|
||||
:min="riskFactor.minAmt"
|
||||
:max="riskFactor.maxAmt"
|
||||
class="ml10"
|
||||
@change="stepperChange"
|
||||
@plus="plus(index, riskFactorIndex)"
|
||||
@minus="minus(index, riskFactorIndex)"
|
||||
@focus="focus(index, riskFactorIndex)"
|
||||
@change="stepperChange(item.calFactorLst[riskFactorIndex].defaultValue, index, riskFactorIndex)"
|
||||
input-width="100"
|
||||
:integer="true"
|
||||
/>
|
||||
@@ -73,7 +70,7 @@
|
||||
<span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].prem.toFixed(2) | moneyFormat }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" :disabled="nextStepFlag">完成</van-button>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" :disabled="nextStepFlag" v-no-more-click="1000">完成</van-button>
|
||||
<van-action-sheet v-model="show" cancel-text="取消" :actions="policyInfo" @select="openDocument" />
|
||||
|
||||
<!-- 字段选择 -->
|
||||
@@ -185,6 +182,10 @@ export default {
|
||||
this.popupShow = false
|
||||
return false
|
||||
}
|
||||
if (currentEle.code == 'insuYear' && this.ageInfluenceInsuYear(value.value, currentEle)) {
|
||||
this.popupShow = false
|
||||
return false
|
||||
}
|
||||
|
||||
currentEle.showContent = value.text
|
||||
let name = currentEle.code
|
||||
@@ -218,7 +219,7 @@ export default {
|
||||
payEndYearVal = this.getPayEndYearOrInsuYear('payEndYear', currentFactor)
|
||||
}
|
||||
if (payEndYearVal > insuYearVal) {
|
||||
this.$toast('交费期限不能超过保险期间')
|
||||
this.$toast('交费期间不能超过保险期间')
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
@@ -238,7 +239,18 @@ export default {
|
||||
let age = Number(this.saleInsuredPersonInfo.age)
|
||||
for (let i = 0; i < currentEle.rules.length; i++) {
|
||||
if (currentEle.rules[i].payEndYear == value && age > currentEle.rules[i].maxAge) {
|
||||
this.$toast('被保人年龄不适合该交费期限!')
|
||||
this.$toast('被保人年龄不适合该交费期间!')
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
},
|
||||
//年龄对保险期间的影响
|
||||
ageInfluenceInsuYear(value, currentEle) {
|
||||
let age = Number(this.saleInsuredPersonInfo.age)
|
||||
for (let i = 0; i < currentEle.rules.length; i++) {
|
||||
if (currentEle.rules[i].insuYear == value && age > currentEle.rules[i].maxAge) {
|
||||
this.$toast('被保人年龄不适合该保险期间!')
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -254,8 +266,8 @@ export default {
|
||||
let mainAddRelation = influences.amtInfluence[0].mainAddRelation
|
||||
let amtTimes = influences.amtInfluence[0].amtTimes
|
||||
let mainRiskAmt = this.getMainRiskAmt()
|
||||
if (mainAddRelation == 3 && amtTimes == 1) {
|
||||
this.setInputAddtionRiskMaxAmt(mainRiskAmt, index)
|
||||
if (mainAddRelation == 3 && (amtTimes == 1 || amtTimes == 5)) {
|
||||
this.setInputAddtionRiskMaxAmt(mainRiskAmt * amtTimes, index)
|
||||
} else if (mainAddRelation == 3 && amtTimes == 0.2) {
|
||||
this.setAddtionRiskMaxAmt(mainRiskAmt * amtTimes, index)
|
||||
}
|
||||
@@ -304,9 +316,8 @@ export default {
|
||||
this.chooseProducts[index].calFactorLst.forEach(item => {
|
||||
if (item.type == 1) {
|
||||
item.maxAmt = Math.min(mainRiskAmt, item.oldMaxAmt)
|
||||
|
||||
//减保额份数
|
||||
if (item.maxAmt < item.defaultValue) {
|
||||
//减保额份数
|
||||
item.defaultValue = item.maxAmt
|
||||
}
|
||||
}
|
||||
@@ -556,22 +567,14 @@ export default {
|
||||
})
|
||||
},
|
||||
//保额份数变化
|
||||
stepperChange(value) {
|
||||
let currentEle = this.chooseProducts[this.productIndex].calFactorLst[this.calFactorIndex]
|
||||
currentEle.defaultValue = value
|
||||
stepperChange(value, productIndex, calFactorIndex) {
|
||||
// let currentEle = this.chooseProducts[this.productIndex].calFactorLst[this.calFactorIndex]
|
||||
// currentEle.defaultValue = value
|
||||
let currentEle = this.chooseProducts[productIndex].calFactorLst[calFactorIndex]
|
||||
this.mainRiskInfluenceAddRisk()
|
||||
currentEle['amt'] = Number(currentEle.defaultValue) * Number(currentEle.moneyUnit)
|
||||
this.getTrial()
|
||||
},
|
||||
focus(index, index1) {
|
||||
;[this.productIndex, this.calFactorIndex] = [index, index1]
|
||||
},
|
||||
minus(index, index1) {
|
||||
;[this.productIndex, this.calFactorIndex] = [index, index1]
|
||||
},
|
||||
plus(index, index1) {
|
||||
;[this.productIndex, this.calFactorIndex] = [index, index1]
|
||||
},
|
||||
//下一步
|
||||
async nextStep() {
|
||||
//组装险种提交数据
|
||||
@@ -594,9 +597,14 @@ export default {
|
||||
//930折中方案,责任险分档
|
||||
riskItem['amt'] = this.trialList[index].amt
|
||||
}
|
||||
//豁免险保额处理
|
||||
if (item.isRemit == '0') {
|
||||
this.trialInfos[index].amt = this.trialList[0].prem
|
||||
}
|
||||
riskItem = Object.assign(riskItem, this.trialInfos[index])
|
||||
riskDTOLst.push(riskItem)
|
||||
})
|
||||
console.log('riskDTOLst', riskDTOLst)
|
||||
//建议书需要添加全部投保人信息,电投只需要投保人ID
|
||||
let insuredDTOItem = Object.assign(this.saleInsuredPersonInfo, { riskDTOLst: riskDTOLst })
|
||||
let params = {
|
||||
@@ -663,5 +671,8 @@ export default {
|
||||
.prem:last-child {
|
||||
border: none;
|
||||
}
|
||||
/deep/.van-action-sheet__name {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,50 +1,31 @@
|
||||
<template>
|
||||
<div class="user-info-container bg-white mr10 ml10 fs14">
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">销售人员工号</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.jobNo }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">销售人员姓名</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.name }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">性别</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.sex === 1 ? '女' : '男' }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">证件类型</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.cardType }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">证件号码</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.cardNo }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">营业服务部</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.saleArea }}</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item">
|
||||
<van-col span="7">所属公司</van-col>
|
||||
<van-col class="black" span="17">{{ userInfo.company }}</van-col>
|
||||
</van-row>
|
||||
<div class="user-info-container">
|
||||
<van-collapse v-model="activeNames" class="active">
|
||||
<van-collapse-item class="collapse-down" title="保险销售人员资格证" name="1">
|
||||
<van-row class="user-info-item">
|
||||
<van-col class="black" span="7">名称</van-col>
|
||||
<van-col span="17">编号</van-col>
|
||||
</van-row>
|
||||
<van-row class="user-info-item" v-for="(item, index) in userInfo.certificateInfoList" :key="index">
|
||||
<van-col class="black" span="7">{{ item.certificateName }}</van-col>
|
||||
<van-col span="17">{{ item.certificateNo }}</van-col>
|
||||
</van-row>
|
||||
<!-- <van-collapse-item name="1" class="pb10 pt10"> -->
|
||||
<van-cell-group class="pl15 mt10">
|
||||
<van-cell title="业务员工号" :value="userInfo.jobNo" />
|
||||
<van-cell title="业务员姓名" :value="userInfo.name" />
|
||||
<van-cell title="性别" :value="userInfo.sex === 1 ? '女' : '男'" />
|
||||
<van-cell title="证件类型" :value="userInfo.cardType" />
|
||||
<van-cell title="证件号码" :value="userInfo.cardNo" />
|
||||
<van-cell title="营销服务部" :value="userInfo.saleArea" />
|
||||
<van-cell title="所属公司" :value="userInfo.company" />
|
||||
</van-cell-group>
|
||||
<!-- </van-collapse-item> -->
|
||||
<van-collapse-item class="collapse-down p0 mt1 pb10 pt10" title="执业证" name="1">
|
||||
<div v-for="(item, index) in userInfo.certificateInfoList" :key="index">
|
||||
<van-cell-group>
|
||||
<van-cell title="编号" :value="item.certificateNo" />
|
||||
<van-cell title="名称" :value="item.certificateName" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Row, Col, Collapse, CollapseItem } from 'vant'
|
||||
import { Row, Col, Collapse, CollapseItem, Cell, CellGroup } from 'vant'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||
import obj from '@/assets/js/utils/data-dictionary.js'
|
||||
export default {
|
||||
@@ -58,7 +39,7 @@ export default {
|
||||
this.getInfo()
|
||||
},
|
||||
mounted() {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
document.body.style.backgroundColor = '#f5f5f5'
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
@@ -71,8 +52,8 @@ export default {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.userInfo = res
|
||||
document.title = this.userInfo.name + '(' + this.userInfo.jobNo + ')'
|
||||
obj.agentIdType.some(item => {
|
||||
// document.title = this.userInfo.name + '(' + this.userInfo.jobNo + ')'
|
||||
obj.idType.some(item => {
|
||||
if (item.id == res.cardType) {
|
||||
res.cardType = item.text
|
||||
}
|
||||
@@ -84,7 +65,9 @@ export default {
|
||||
[Row.name]: Row,
|
||||
[Col.name]: Col,
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -93,29 +76,31 @@ export default {
|
||||
.user-info-container {
|
||||
.user-info-item {
|
||||
line-height: 40px;
|
||||
color: #999;
|
||||
border-bottom: 1px solid #f1f1f1;
|
||||
van-col[span] {
|
||||
// line-height: 40px;
|
||||
color: #000;
|
||||
margin-left: 100px;
|
||||
}
|
||||
border-bottom: 1px solid #dadada;
|
||||
}
|
||||
.active {
|
||||
padding: 0;
|
||||
.collapse-down {
|
||||
padding: 0;
|
||||
}
|
||||
/deep/.van-cell:not(:last-child)::after {
|
||||
position: absolute;
|
||||
box-sizing: border-box;
|
||||
content: ' ';
|
||||
pointer-events: none;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border-bottom: 1px solid #dadada;
|
||||
-webkit-transform: scaleY(0.5);
|
||||
transform: scaleY(0.5);
|
||||
}
|
||||
.black {
|
||||
color: black;
|
||||
/deep/.van-hairline--top-bottom::after {
|
||||
border: 0;
|
||||
}
|
||||
/deep/ .van-cell {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
/deep/ .van-cell__value {
|
||||
text-align: left !important;
|
||||
}
|
||||
/deep/ .van-collapse-item__content {
|
||||
padding: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
/deep/.van-collapse-item__title {
|
||||
padding-left: 30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
<template>
|
||||
<div class="product-detail-container">
|
||||
<!-- tab 栏 -->
|
||||
<van-tabs v-model="active" color="#E9332EFF" title-active-color="#E9332EFF" class="mt10">
|
||||
<van-tab title="产品特色" class="mt10">
|
||||
<img class="product-detail-introduct-image fl" :src="item" alt="" v-for="(item, index) in introductImages" :key="index" />
|
||||
</van-tab>
|
||||
<van-tab title="产品资料" class="mt10">
|
||||
<van-list>
|
||||
<van-cell
|
||||
class="product-detail-list-item p10 fs12 fw400 bg-white"
|
||||
:title="item.name"
|
||||
is-link
|
||||
v-for="(item, index) in docuList"
|
||||
:key="index"
|
||||
@click="goDocu(item.url, item.type)"
|
||||
/>
|
||||
</van-list>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
<van-sticky>
|
||||
<van-tabs v-model="active" color="#E9332EFF" title-active-color="#E9332EFF" class="mt10">
|
||||
<van-tab title="产品特色" class="mt10"> </van-tab>
|
||||
<van-tab title="产品资料" class="mt10"> </van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
<div v-show="active == '0'" class="pt10 pb45 clearfix">
|
||||
<img class="product-detail-introduct-image fl" :src="item" alt="" v-for="(item, index) in introductImages" :key="index" />
|
||||
</div>
|
||||
<van-list v-show="active == '1'">
|
||||
<van-cell
|
||||
class="product-detail-list-item p10 fs12 fw400 bg-white"
|
||||
:title="item.name"
|
||||
is-link
|
||||
v-for="(item, index) in docuList"
|
||||
:key="index"
|
||||
@click="goDocu(item.url, item.type, item.name)"
|
||||
/>
|
||||
</van-list>
|
||||
<!-- 底部按钮 -->
|
||||
<div class="bottom-area bottom-btn">
|
||||
<van-button class="m-btn fl green" color="#FEEFD8" @click="goProposal">制作建议书</van-button>
|
||||
@@ -27,7 +29,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Tab, Tabs, List, Row, Col, Icon, Cell } from 'vant'
|
||||
import { Tab, Tabs, List, Row, Col, Icon, Cell, Sticky } from 'vant'
|
||||
import { getProductInfo } from '@/api/ebiz/product/product.js'
|
||||
export default {
|
||||
components: {
|
||||
@@ -37,7 +39,8 @@ export default {
|
||||
[Row.name]: Row,
|
||||
[Col.name]: Col,
|
||||
[Icon.name]: Icon,
|
||||
[Cell.name]: Cell
|
||||
[Cell.name]: Cell,
|
||||
[Sticky.name]: Sticky
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -54,37 +57,34 @@ export default {
|
||||
this.getProductDetail(code)
|
||||
},
|
||||
methods: {
|
||||
goDocu(url, type) {
|
||||
// 跳转到产品资料详情
|
||||
// 保存url
|
||||
window.localStorage.setItem('documentInfo', JSON.stringify({ documentUrl: url, documentType: type }))
|
||||
// 保存文件类型
|
||||
// 0-图片, 1-pdf, 2-word, 3-excel
|
||||
window.localStorage.setItem('documentType', type)
|
||||
goDocu(url, type, name) {
|
||||
let pdfUrl = encodeURIComponent(url)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/product/productDocument'
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/product/productDocument`
|
||||
title: name,
|
||||
// url: 'http://47.96.143.111/pdfjs/web/viewer.html?file=' + url //测试代码
|
||||
url: this.$mainUrl + '/pdfjs/web/viewer.html?file=' + pdfUrl
|
||||
}
|
||||
})
|
||||
// 跳转到产品资料详情
|
||||
// 保存url
|
||||
// window.localStorage.setItem('documentInfo', JSON.stringify({ documentUrl: url, documentType: type }))
|
||||
// // 保存文件类型
|
||||
// // 0-图片, 1-pdf, 2-word, 3-excel
|
||||
// window.localStorage.setItem('documentType', type)
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/product/productDocument'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: `/product/productDocument`
|
||||
// }
|
||||
// })
|
||||
},
|
||||
goProposal() {
|
||||
// 跳转到制作建议书( 投保人信息 )
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/insuredInfo'
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/insuredInfo`
|
||||
}
|
||||
})
|
||||
},
|
||||
goInsure() {
|
||||
// 跳转到投保建议
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -95,6 +95,20 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
goInsure() {
|
||||
localStorage.orderNo = ''
|
||||
localStorage.chooseProductCodes = '' //置空所选险种
|
||||
// 跳转到投保建议
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/insuredInfo'
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/insuredInfo`
|
||||
}
|
||||
})
|
||||
},
|
||||
async getProductDetail(code) {
|
||||
// 获取产品详情数据
|
||||
console.log(code)
|
||||
@@ -110,6 +124,10 @@ export default {
|
||||
this.docuList = res.productShowInfo.documents
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -117,19 +135,26 @@ export default {
|
||||
<style lang="scss" scoped>
|
||||
.product-detail-container {
|
||||
.product-detail-introduct-image {
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
width: 100%;
|
||||
}
|
||||
.bottom-area {
|
||||
/deep/.m-btn {
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
border-color: transparent;
|
||||
}
|
||||
/deep/.van-button--default {
|
||||
background-color: #FEEFD8;
|
||||
color: #E9332E;
|
||||
}
|
||||
// /deep/.van-tabs__content {
|
||||
// margin-bottom: 45px;
|
||||
// }
|
||||
// /deep/.van-tabs__content::after {
|
||||
// content: '';
|
||||
// display: table;
|
||||
// clear: both;
|
||||
// }
|
||||
}
|
||||
.bottom-area {
|
||||
/deep/.m-btn {
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
border-color: transparent;
|
||||
}
|
||||
/deep/.van-button--default {
|
||||
background-color: #FEEFD8;
|
||||
color: #E9332E;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -129,19 +129,17 @@ export default {
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(()=> {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack() {
|
||||
// 筛选按钮的点击事件
|
||||
|
||||
@@ -11,15 +11,18 @@
|
||||
v-validate="'required'"
|
||||
name="被保人"
|
||||
required
|
||||
:readonly="disabled"
|
||||
label="姓名"
|
||||
@on-click="selectClick('1')"
|
||||
:parentShowPicker.sync="customerShowPicker"
|
||||
:value.sync="insured.name"
|
||||
:disabled="disabled"
|
||||
></customer-picker>
|
||||
|
||||
<select-radio class="border-bottom" :radios="sexRadio" label="性别" :value.sync="insured.sex"></select-radio>
|
||||
<select-radio :disabled="disabled" class="border-bottom" :radios="sexRadio" label="性别" :value.sync="insured.sex"></select-radio>
|
||||
|
||||
<FieldDatePicter
|
||||
:disabled="disabled"
|
||||
v-validate="'required'"
|
||||
required
|
||||
label="出生日期"
|
||||
@@ -31,6 +34,7 @@
|
||||
@confirm="dateConfirm"
|
||||
></FieldDatePicter>
|
||||
<occupation-picker
|
||||
:disabled="disabled"
|
||||
class="border-bottom"
|
||||
:value.sync="insured.occupationCode"
|
||||
:chooseName.sync="insured.occupationName"
|
||||
@@ -47,9 +51,9 @@
|
||||
placeholder="被保人职业"
|
||||
/>
|
||||
<select-radio class="border-bottom" :radios="medicalRadio" label="有无社保" :value.sync="insured.medical"></select-radio>
|
||||
<div class="border-bottom"><van-field v-model="insured.age" clearable label="年龄" placeholder="被保人年龄" /></div>
|
||||
<div class="border-bottom"><van-field :readonly="disabled" v-model="insured.age" clearable label="年龄" placeholder="被保人年龄" /></div>
|
||||
|
||||
<van-field v-model="insured.mobile" clearable label="手机号码" name="手机号码" placeholder="被保人手机号码" v-validate="'mobile'" />
|
||||
<van-field v-model="insured.mobile" :readonly="disabled" clearable label="手机号码" name="手机号码" placeholder="被保人手机号码" v-validate="'mobile'" />
|
||||
<van-button type="danger" @click="nextStep" class="bottom-btn fs16">下一步</van-button>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
@@ -88,7 +92,7 @@ export default {
|
||||
value: '1'
|
||||
}
|
||||
],
|
||||
currentTime: beforeDate.getBeforeDays(28),
|
||||
currentTime: beforeDate.getBeforeDays(27),
|
||||
insured: {
|
||||
name: '',
|
||||
age: '',
|
||||
@@ -106,7 +110,8 @@ export default {
|
||||
localInfo: '',
|
||||
customerShowPicker: false,
|
||||
occupationShowPicker: false,
|
||||
currentPopupIndex: ''
|
||||
currentPopupIndex: '',
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
|
||||
@@ -125,6 +130,7 @@ export default {
|
||||
this.insured.relationLabel = relationName
|
||||
if (this.insured.relationToAppnt == '1') {
|
||||
//如果是投被同人 就将投保人信息存入被保人信息
|
||||
this.disabled = true
|
||||
this.insured = Object.assign(this.insured, JSON.parse(localStorage.proposalAppnt))
|
||||
this.insured.age = getAge.getAge(this.insured.birthday, new Date())
|
||||
this.insured.medical = '0'
|
||||
@@ -152,19 +158,17 @@ export default {
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(() => {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack() {
|
||||
// 筛选按钮的点击事件
|
||||
@@ -245,7 +249,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '当前信息已经发生改变,有可能影响险种费率,是否确认修改并清除险种信息?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -292,7 +296,6 @@ export default {
|
||||
},
|
||||
//选择客户列表中的客户
|
||||
chooseCustomer(data) {
|
||||
console.log(data)
|
||||
this.customerShowPicker = false
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
@@ -312,7 +315,7 @@ export default {
|
||||
occupationCode,
|
||||
lifeGrade,
|
||||
healthGrade,
|
||||
medical: socialSecurity
|
||||
medical: socialSecurity ? socialSecurity : '0'
|
||||
}
|
||||
Object.assign(this.insured, insured)
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ export function checkSex(cacheSex, localSex, relation) {
|
||||
}
|
||||
export function checkRelation(relation, age) {
|
||||
//当被保人年龄小于8岁 被保人与投保人关系必须为父母
|
||||
if (age < 8 && relation != '3') {
|
||||
if (age < 8 && relation != '4') {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</van-cell-group>
|
||||
<!-- <van-cell-group class="pl20 fs14 flex align-items-c justify-content-s">
|
||||
<van-field label="是否自动垫付" disabled />
|
||||
<van-switch v-model="checked" active-color="#E9332E" inactive-color="#fff" class="mr30" />
|
||||
<van-switch v-model="checked" active-color="#4fc6b3" inactive-color="#fff" class="mr30" />
|
||||
</van-cell-group> -->
|
||||
<van-cell-group class="flex align-items-c">
|
||||
<van-switch-cell v-model="checked" title="是否自动垫交" active-color="#E9332E" inactive-color="#fff" class="ml15 pr30" />
|
||||
@@ -198,19 +198,17 @@ export default {
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(()=> {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack() {
|
||||
this.isclear = true
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
clearable
|
||||
:readonly="isInsured"
|
||||
v-validate="'required'"
|
||||
@blur="getRelatedData(userInfo.idNo)"
|
||||
>
|
||||
</van-field>
|
||||
<FieldDatePicter
|
||||
@@ -55,7 +56,7 @@
|
||||
@confirm="onDateConfirm($event, '0')"
|
||||
ref="certificateValidate"
|
||||
:flag="true"
|
||||
:readonly="isInsured"
|
||||
:readonly="isInsured || idLimit"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
:v-validate="{ required: certiexpiredateRequired }"
|
||||
@@ -66,7 +67,7 @@
|
||||
@confirm="onDateConfirm($event, '1')"
|
||||
ref="certiexpiredate"
|
||||
:flag="certiexpiredateShow"
|
||||
:readonly="isInsured"
|
||||
:readonly="isInsured || idLimit"
|
||||
></FieldDatePicter>
|
||||
<div class="border-bt relative fs14 p10 flex align-center">
|
||||
<van-checkbox v-model="userInfo.effectiveDateType" class="fr" :disabled="effectiveDateTypeAble" @change="effectiveDataTypeChange">长期</van-checkbox>
|
||||
@@ -185,6 +186,9 @@ import utilsAge from '@/assets/js/utils/age'
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import { idToData } from './js/verification'
|
||||
import { selectComp } from './js/methods'
|
||||
let relationToInsured = [{ id: 2, text: '配偶' }, { id: 3, text: '父母' }, { id: 4, text: '子女' }, { id: 5, text: '其他' }]
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -215,6 +219,7 @@ export default {
|
||||
value: '1'
|
||||
}
|
||||
],
|
||||
currentPopupIndex: '',
|
||||
relationToAppnt: '',
|
||||
popupShow: false,
|
||||
areaShow: false,
|
||||
@@ -231,7 +236,6 @@ export default {
|
||||
certiexpiredateRequired: true, //证件截止日期是否需要校验
|
||||
certiexpiredateShow: true, //证件截止日期是否可以选择
|
||||
marriage: '',
|
||||
tempUser: {},
|
||||
userInfo: {
|
||||
name: '',
|
||||
sex: '0',
|
||||
@@ -265,16 +269,15 @@ export default {
|
||||
occupationShowPicker: false,
|
||||
customerShowPicker: false, //客户列表展示
|
||||
isInsured: false, //是被保人本人,
|
||||
idLimit: false //证件起止日期是否只读
|
||||
// 开飞机的小历悦
|
||||
area: '',
|
||||
city: '',
|
||||
province: ''
|
||||
// area: '',
|
||||
// city: '',
|
||||
// province: ''
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
mounted() {
|
||||
window.appCallBack = this.appCallBack
|
||||
this.tempUser = this.userInfo
|
||||
},
|
||||
methods: {
|
||||
//监听名字变化
|
||||
@@ -286,40 +289,41 @@ export default {
|
||||
if (this.isInsured) {
|
||||
return
|
||||
}
|
||||
let title = ''
|
||||
if (index == 1) {
|
||||
;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
} else if (index == 2) {
|
||||
;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
}
|
||||
// this.currentPopupIndex = index
|
||||
// let title = ''
|
||||
// if (index == 1) {
|
||||
// ;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
// } else if (index == 2) {
|
||||
// ;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
// }
|
||||
|
||||
setTimeout(() => {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title,
|
||||
hiddenLeft: '1'
|
||||
}
|
||||
})
|
||||
this.closeBtn()
|
||||
}, 400)
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(()=> {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
// setTimeout(() => {
|
||||
// this.$jump({
|
||||
// flag: 'navigation',
|
||||
// extra: {
|
||||
// title,
|
||||
// hiddenLeft: '1'
|
||||
// }
|
||||
// })
|
||||
// this.closeBtn()
|
||||
// }, 400)
|
||||
// let that = this
|
||||
selectComp(this, index, '3')
|
||||
},
|
||||
// closeBtn() {
|
||||
// // 筛选按钮的显示
|
||||
// this.$jump({
|
||||
// flag: 'webview_right_button',
|
||||
// extra: {
|
||||
// btns: [
|
||||
// {
|
||||
// img: this.$assetsUrl + 'images/del-close.png',
|
||||
// route: { flag: '', extra: {} }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
appCallBack() {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
@@ -328,7 +332,11 @@ export default {
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
this.occupationShowPicker = false
|
||||
if (this.currentPopupIndex == 1) {
|
||||
this.customerShowPicker = false
|
||||
} else if (this.currentPopupIndex == 2) {
|
||||
this.occupationShowPicker = false
|
||||
}
|
||||
},
|
||||
chooseOccupation() {
|
||||
this.$jump({
|
||||
@@ -362,7 +370,7 @@ export default {
|
||||
} else if (pickerType == '6') {
|
||||
this.columns = DataDictionary.marriage
|
||||
} else if (pickerType == '7') {
|
||||
this.columns = DataDictionary.relationToAppnt
|
||||
this.columns = relationToInsured
|
||||
}
|
||||
},
|
||||
//确认选择字段
|
||||
@@ -372,14 +380,20 @@ export default {
|
||||
if (this.pickerType == '1') {
|
||||
;[this.userInfo.nativeplace, this.nativeplace] = [value.id, value.text]
|
||||
} else if (this.pickerType == '2') {
|
||||
this.idLimit = false
|
||||
this.userInfo.idNo = this.userInfo.certificateValidate = this.userInfo.certiexpiredate = this.userInfo.birthday = ''
|
||||
this.userInfo.sex = '0'
|
||||
this.effectiveDateTypeAble = false
|
||||
console.log(value.id)
|
||||
//身份证以外的证件类型可以使用长期
|
||||
if (value.id != '1') {
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
if (value.id == '1') {
|
||||
console.log('123')
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
} else if (value.id == 2 || value.id == 3) {
|
||||
this.effectiveDateTypeAble = true
|
||||
} else {
|
||||
this.effectiveDateTypeAble = false
|
||||
}
|
||||
;[this.userInfo.idType, this.idType] = [value.id, value.text]
|
||||
} else if (this.pickerType == '3') {
|
||||
@@ -399,13 +413,6 @@ export default {
|
||||
this.isInsured = true
|
||||
//获取被保人信息
|
||||
let insuredInfo = res.orderDTO.insuredDTOs[0]
|
||||
// let newUserInfo = this.userInfo
|
||||
// newUserInfo = Object.assign(newUserInfo, insuredInfo)
|
||||
// console.log(this.userInfo)
|
||||
// console.log(res.orderDTO.insuredDTOs[0])
|
||||
// for (let key in this.userInfo) {
|
||||
// this.userInfo[key] = newUserInfo[key]
|
||||
// }
|
||||
for (let key in this.userInfo) {
|
||||
this.userInfo[key] = insuredInfo[key]
|
||||
}
|
||||
@@ -431,7 +438,7 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -450,7 +457,6 @@ export default {
|
||||
}
|
||||
}
|
||||
this.areaName = ''
|
||||
// this.userInfo = this.tempUser
|
||||
;[this.userInfo.relationToInsured, this.relationToAppnt] = [value.id, value.text]
|
||||
}
|
||||
// ;[this.userInfo.relationToInsured, this.relationToAppnt] = [value.id, value.text]
|
||||
@@ -472,7 +478,7 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
break
|
||||
case '1':
|
||||
@@ -505,7 +511,15 @@ export default {
|
||||
//长期判断
|
||||
if (this.userInfo.idType == '1') {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
//出生证有效期
|
||||
if (this.userInfo.idType == '3') {
|
||||
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(val) > Date.parse('1973-01-01')) {
|
||||
this.userInfo.birthday = ''
|
||||
this.$refs.birthday.date = ''
|
||||
return this.$toast('出生证有效期或出生日期有误')
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
@@ -558,31 +572,48 @@ export default {
|
||||
//计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
//数据是否从客户列表拉取
|
||||
this.fromCustomer = true
|
||||
},
|
||||
nextStep() {
|
||||
//与被保人关系是配偶
|
||||
// if (this.userInfo.relationToInsured == '2') {
|
||||
// //被保人不是已婚
|
||||
// if (this.insuredMarriage != '1') {
|
||||
// return this.$toast('与投保人关系不正确')
|
||||
// }
|
||||
// let insuredSex = JSON.parse(localStorage.saleInsuredPersonInfo).sex
|
||||
// let appntSex = JSON.parse(localStorage.saleInsuredInfo).sex
|
||||
// //投被保人性别相同
|
||||
// if (insuredSex == appntSex) {
|
||||
// return this.$toast('性别输入有误')
|
||||
// }
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
|
||||
// //被保人不是已婚
|
||||
// if (this.insuredMarriage != '1') {
|
||||
// return this.$toast('与投保人关系不正确')
|
||||
// }
|
||||
// console.log(this.userInfo.idType)
|
||||
// let insuredSex = JSON.parse(localStorage.saleInsuredPersonInfo).sex
|
||||
// let appntSex = JSON.parse(localStorage.saleInsuredInfo).sex
|
||||
// //投被保人性别相同
|
||||
// if (insuredSex == appntSex) {
|
||||
// return this.$toast('性别输入有误')
|
||||
// }
|
||||
|
||||
console.log(this.userInfo.idType)
|
||||
|
||||
// 页面跳转
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
//与被保人关系是配偶
|
||||
if (this.userInfo.relationToInsured == '2') {
|
||||
let insuredInfo = JSON.parse(localStorage.saleInsuredPersonInfo)
|
||||
//如果被保人是投保人的配偶 或者 投保人不是已婚
|
||||
if (insuredInfo.relationToAppnt == '2' || insuredInfo.marriage != '1') {
|
||||
return this.$toast('与被保人关系有误')
|
||||
}
|
||||
//如果被保人与投保人性别相同
|
||||
if (insuredInfo.sex == this.userInfo.sex) {
|
||||
return this.$toast('性别录入与婚姻状况不符')
|
||||
}
|
||||
|
||||
//如果性别男小于22岁 或者 性别女小于20岁
|
||||
if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) {
|
||||
return this.$toast('年龄与婚姻状况不符')
|
||||
}
|
||||
}
|
||||
|
||||
//如果证件类型是身份证
|
||||
if (this.userInfo.idType == '1') {
|
||||
//校验性别是否与身份证号码位相符
|
||||
@@ -766,7 +797,7 @@ export default {
|
||||
//同投保人联系地址
|
||||
this.areaName = getAreaName([{ code: this.userInfo.province }, { code: this.userInfo.city }, { code: this.userInfo.area }])
|
||||
//详细地址
|
||||
this.userInfo.village = res.orderDTO.appntDTO.homeAddress
|
||||
this.userInfo.village = res.orderDTO.appntDTO.village
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
@@ -807,6 +838,46 @@ export default {
|
||||
let day = date.getDate()
|
||||
day = day.toString().padStart(2, '0')
|
||||
return `${year}-${month}-${day}`
|
||||
},
|
||||
getRelatedData(val) {
|
||||
// if (this.userInfo.idType != '1') {
|
||||
// return
|
||||
// }
|
||||
// //如果证件校验不通过,恢复默认值
|
||||
// if (idToData(val).text) {
|
||||
// ;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
// return this.$toast(idToData(val).text)
|
||||
// }
|
||||
// this.effectiveDateTypeAble = idToData(val).age < 45
|
||||
// this.userInfo.birthday = idToData(val).birthday
|
||||
// this.userInfo.sex = idToData(val).sex
|
||||
if (!['1', '2', '3', 1, 2, 3].includes(this.userInfo.idType)) {
|
||||
return
|
||||
}
|
||||
//如果证件校验不通过,恢复默认值
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = idToData(val).age < 45
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
//如果选择户口本
|
||||
if (this.userInfo.idType == '2') {
|
||||
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
|
||||
this.userInfo.certificateValidate = this.userInfo.birthday
|
||||
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
this.idLimit = true
|
||||
//如果选择出生证明
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
|
||||
this.userInfo.certificateValidate = this.userInfo.birthday
|
||||
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
this.idLimit = true
|
||||
} else {
|
||||
this.idLimit = false
|
||||
}
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
|
||||
@@ -15,13 +15,29 @@
|
||||
<van-field required :label="item.id == '1' ? `${item.text}头像面` : `${item.text}户主页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListIdFront', saleInsuredInfo.idType)" class="flex align-items-e">
|
||||
<van-uploader name="fileListIdFront" v-model="fileListIdFront" :after-read="afterRead" :before-delete="beforeDelete" class="mt10 ml20" :max-count="1" @delete="deleteImg" />
|
||||
<van-uploader
|
||||
name="fileListIdFront"
|
||||
v-model="fileListIdFront"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
@delete="deleteImg"
|
||||
/>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field required :label="item.id == '1' ? `${item.text}国徽页` : `${item.text}本人页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListIdBack', saleInsuredInfo.idType)">
|
||||
<van-uploader name="fileListIdBack" v-model="fileListIdBack" :after-read="afterRead" @delete="deleteImg" :before-delete="beforeDelete" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileListIdBack"
|
||||
v-model="fileListIdBack"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '3' || item.id == '4'">
|
||||
@@ -29,7 +45,15 @@
|
||||
<van-field required :label="item.id == '3' ? `${item.text}` : `${item.text}本人照片页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileLIstImg', saleInsuredInfo.idType)">
|
||||
<van-uploader name="fileLIstImg" v-model="fileLIstImg" :after-read="afterRead" @delete="deleteImg" :before-delete="beforeDelete" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileLIstImg"
|
||||
v-model="fileLIstImg"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '5' || item.id == '6'">
|
||||
@@ -37,7 +61,31 @@
|
||||
<van-field required :label="`${item.text}头像面`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileLIstImg', saleInsuredInfo.idType)">
|
||||
<van-uploader name="fileLIstImg" v-model="fileLIstImg" :after-read="afterRead" @delete="deleteImg" :before-delete="beforeDelete" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileLIstImg"
|
||||
v-model="fileLIstImg"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '7'">
|
||||
<van-cell-group>
|
||||
<van-field required :label="item.text" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('saleInsuredInfoOther', saleInsuredInfo.idType)">
|
||||
<van-uploader
|
||||
name="saleInsuredInfoOther"
|
||||
v-model="saleInsuredInfoOther"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -46,7 +94,15 @@
|
||||
<van-field required label="银行卡账户" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListBank', saleInsuredInfo.idType)" v-if="isAppant == '0'">
|
||||
<van-uploader name="fileListBank" v-model="fileListBank" :after-read="afterRead" @delete="deleteImg" :before-delete="beforeDelete" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileListBank"
|
||||
v-model="fileListBank"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -65,13 +121,29 @@
|
||||
<van-field required :label="item.id == '1' ? `${item.text}头像面` : `${item.text}户主页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListIdFrontInsured', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader name="fileListIdFrontInsured" v-model="fileListIdFrontInsured" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileListIdFrontInsured"
|
||||
v-model="fileListIdFrontInsured"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field required :label="item.id == '1' ? `${item.text}国徽页` : `${item.text}本人页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListIdBackInsured', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader name="fileListIdBackInsured" v-model="fileListIdBackInsured" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileListIdBackInsured"
|
||||
v-model="fileListIdBackInsured"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '3' || item.id == '4'">
|
||||
@@ -79,15 +151,47 @@
|
||||
<van-field required :label="item.id == '3' ? `${item.text}` : `${item.text}本人照片页`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileLIstImgInsured', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader name="fileLIstImgInsured" v-model="fileLIstImgInsured" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileLIstImgInsured"
|
||||
v-model="fileLIstImgInsured"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '5' || item.id == '6'">
|
||||
<van-cell-group>
|
||||
<van-field required :label="`${item.text}头像面`" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileLIstImgInsrued', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader name="fileLIstImgInsrued" v-model="fileLIstImgInsrued" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="1" />
|
||||
<div @click="test('fileLIstImgInsured', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader
|
||||
name="fileLIstImgInsured"
|
||||
v-model="fileLIstImgInsured"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.id == '7'">
|
||||
<van-cell-group>
|
||||
<van-field required :label="item.text" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('saleInsuredPersonInfoOther', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader
|
||||
name="saleInsuredPersonInfoOther"
|
||||
v-model="saleInsuredPersonInfoOther"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,7 +200,15 @@
|
||||
<van-field required label="银行卡账户" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListBankInsured', saleInsuredPersonInfo.idType)" v-if="isAppant == '1'">
|
||||
<van-uploader name="fileListBankInsured" v-model="fileListBankInsured" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="1" />
|
||||
<van-uploader
|
||||
name="fileListBankInsured"
|
||||
v-model="fileListBankInsured"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -109,8 +221,34 @@
|
||||
<span>其他</span>
|
||||
</div>
|
||||
<div class="m20 bg-white">
|
||||
<div @click="test('fileListOther', saleInsuredPersonInfo.idType)">
|
||||
<van-uploader name="fileListOther" v-model="fileListOther" :after-read="afterRead" :before-delete="beforeDelete" @delete="deleteImg" class="mt10 ml20" :max-count="3" />
|
||||
<div @click="test('fileListOther', saleInsuredPersonInfo.idType)" class="flex">
|
||||
<van-uploader
|
||||
name="fileListOtherOne"
|
||||
v-model="fileListOtherOne"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
<van-uploader
|
||||
name="fileListOtherTwo"
|
||||
v-model="fileListOtherTwo"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
<van-uploader
|
||||
name="fileListOtherThree"
|
||||
v-model="fileListOtherThree"
|
||||
:after-read="afterRead"
|
||||
:before-delete="beforeDelete"
|
||||
@delete="deleteImg"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -146,6 +284,10 @@ export default {
|
||||
fileListIdBack: [],
|
||||
// 其他类型页面
|
||||
fileLIstImg: [],
|
||||
// 投保人选择的必选其他
|
||||
saleInsuredInfoOther: [],
|
||||
// 被保人选择的必选其他
|
||||
saleInsuredPersonInfoOther: [],
|
||||
// 银行账户
|
||||
fileListBank: [],
|
||||
// 被保人身份证正面
|
||||
@@ -156,8 +298,11 @@ export default {
|
||||
fileListBankInsured: [],
|
||||
// 被保人其他类型页面
|
||||
fileLIstImgInsured: [],
|
||||
// fileLIstImgInsrued
|
||||
// 其他
|
||||
fileListOther: [],
|
||||
fileListOtherOne: [],
|
||||
fileListOtherTwo: [],
|
||||
fileListOtherThree: [],
|
||||
// 单选框
|
||||
radio: '',
|
||||
// 是否可以点击下一步
|
||||
@@ -340,32 +485,40 @@ export default {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要删除吗'
|
||||
}).then(() => {
|
||||
if (detail.name == 'fileListIdFront') {
|
||||
this.fileListIdFront = []
|
||||
} else if (detail.name == 'fileListIdBack') {
|
||||
this.fileListIdBack = []
|
||||
} else if (detail.name == 'fileLIstImg') {
|
||||
this.fileLIstImg = []
|
||||
} else if (detail.name == 'fileListBank') {
|
||||
this.fileListBank = []
|
||||
} else if (detail.name == 'fileListIdFrontInsured') {
|
||||
this.fileListIdFrontInsured = []
|
||||
} else if (detail.name == 'fileListIdBackInsured') {
|
||||
this.fileListIdBackInsured = []
|
||||
} else if (detail.name == 'fileListBankInsured') {
|
||||
this.fileListBankInsured = []
|
||||
} else if (detail.name == 'fileLIstImgInsured') {
|
||||
this.fileLIstImgInsured = []
|
||||
} else if (detail.name == 'fileListOther') {
|
||||
this.fileListOther = []
|
||||
}
|
||||
this.deleteImg(file)
|
||||
}).catch(() => {
|
||||
// on cancel
|
||||
})
|
||||
|
||||
|
||||
.then(() => {
|
||||
if (detail.name == 'fileListIdFront') {
|
||||
this.fileListIdFront = []
|
||||
} else if (detail.name == 'fileListIdBack') {
|
||||
this.fileListIdBack = []
|
||||
} else if (detail.name == 'fileLIstImg') {
|
||||
this.fileLIstImg = []
|
||||
} else if (detail.name == 'fileListBank') {
|
||||
this.fileListBank = []
|
||||
} else if (detail.name == 'fileListIdFrontInsured') {
|
||||
this.fileListIdFrontInsured = []
|
||||
} else if (detail.name == 'fileListIdBackInsured') {
|
||||
this.fileListIdBackInsured = []
|
||||
} else if (detail.name == 'fileListBankInsured') {
|
||||
this.fileListBankInsured = []
|
||||
} else if (detail.name == 'fileLIstImgInsured') {
|
||||
this.fileLIstImgInsured = []
|
||||
} else if (detail.name == 'fileListOtherOne') {
|
||||
this.fileListOtherOne = []
|
||||
} else if (detail.name == 'fileListOtherTwo') {
|
||||
this.fileListOtherTwo = []
|
||||
} else if (detail.name == 'fileListOtherThree') {
|
||||
this.fileListOtherThree = []
|
||||
} else if (detail.name == 'saleInsuredInfoOther') {
|
||||
this.saleInsuredInfoOther = []
|
||||
} else if (detail.name == 'saleInsuredPersonInfoOther') {
|
||||
this.saleInsuredPersonInfoOther = []
|
||||
}
|
||||
this.deleteImg(file)
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
})
|
||||
},
|
||||
test(type, id) {
|
||||
let that = this
|
||||
@@ -400,6 +553,12 @@ export default {
|
||||
case 'fileLIstImgInsured':
|
||||
that.type = type
|
||||
break
|
||||
case 'saleInsuredPersonInfoOther':
|
||||
that.type = type
|
||||
break
|
||||
case 'saleInsuredInfoOther':
|
||||
that.type = type
|
||||
break
|
||||
}
|
||||
},
|
||||
// 删除图片
|
||||
@@ -458,7 +617,13 @@ export default {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
// res.responseObject.imgList.map(item => {
|
||||
if (that.type == 'fileListIdFront' || that.type == 'fileListIdBack' || that.type == 'fileLIstImg' || that.type == 'fileListBank') {
|
||||
if (
|
||||
that.type == 'fileListIdFront' ||
|
||||
that.type == 'fileListIdBack' ||
|
||||
that.type == 'fileLIstImg' ||
|
||||
that.type == 'fileListBank' ||
|
||||
that.type == 'saleInsuredInfoOther'
|
||||
) {
|
||||
// 是投保人
|
||||
// console.log(that.file)
|
||||
// 证件类型
|
||||
@@ -481,6 +646,8 @@ export default {
|
||||
imageInfoType = '9'
|
||||
} else if (that.type == 'fileLIstImg' && that.id == '6') {
|
||||
imageInfoType = '10'
|
||||
} else if (that.type == 'saleInsuredInfoOther' && that.id == '7') {
|
||||
imageInfoType = '11'
|
||||
}
|
||||
let obj = {
|
||||
businessNo: that.orderNo,
|
||||
@@ -499,7 +666,8 @@ export default {
|
||||
that.type == 'fileListIdFrontInsured' ||
|
||||
that.type == 'fileListIdBackInsured' ||
|
||||
that.type == 'fileListBankInsured' ||
|
||||
that.type == 'fileLIstImgInsured'
|
||||
that.type == 'fileLIstImgInsured' ||
|
||||
that.type == 'saleInsuredPersonInfoOther'
|
||||
) {
|
||||
// 是被保人
|
||||
// 证件类型
|
||||
@@ -524,6 +692,8 @@ export default {
|
||||
imageInfoType = '9'
|
||||
} else if (that.type == 'fileLIstImgInsured' && that.id == '6') {
|
||||
imageInfoType = '10'
|
||||
} else if (that.type == 'saleInsuredPersonInfoOther' && that.id == '7') {
|
||||
imageInfoType = '11'
|
||||
}
|
||||
|
||||
let obj = {
|
||||
@@ -585,6 +755,12 @@ export default {
|
||||
case 'fileLIstImgInsured':
|
||||
that.fileLIstImgInsured = []
|
||||
break
|
||||
case 'saleInsuredInfoOther':
|
||||
that.saleInsuredInfoOther = []
|
||||
break
|
||||
case 'saleInsuredPersonInfoOther':
|
||||
that.saleInsuredPersonInfoOther = []
|
||||
break
|
||||
}
|
||||
this.$toast.clear()
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -682,7 +858,9 @@ export default {
|
||||
fileListIdFrontInsured,
|
||||
fileListIdBackInsured,
|
||||
fileListBankInsured,
|
||||
fileLIstImgInsured
|
||||
fileLIstImgInsured,
|
||||
saleInsuredPersonInfoOther,
|
||||
saleInsuredInfoOther
|
||||
} = this
|
||||
return {
|
||||
fileListIdFront,
|
||||
@@ -693,7 +871,9 @@ export default {
|
||||
fileListIdBackInsured,
|
||||
fileListBankInsured,
|
||||
fileLIstImgInsured,
|
||||
fileLIstImg
|
||||
fileLIstImg,
|
||||
saleInsuredPersonInfoOther,
|
||||
saleInsuredInfoOther
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -735,8 +915,39 @@ export default {
|
||||
val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' && val.fileLIstImg.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileLIstImgInsured.length != '0' && val.fileListBankInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.fileListBank.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileListBank.length != '0' && val.radio !== '')
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
val.radio !== '' &&
|
||||
this.relationToAppnt == '1') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileListBank.length != '0' && val.radio !== '' && this.relationToAppnt == '1') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBank.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBank.length != '0' && val.fileLIstImg.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBankInsured.length != '0' && val.fileLIstImg.length != '0' && val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' &&
|
||||
val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' && val.fileLIstImg.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBank.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.fileListBankInsured.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBank.length != '0' && val.radio !== '' && this.relationToAppnt == '1')
|
||||
) {
|
||||
that.isDisabled = false
|
||||
} else {
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
</div>
|
||||
<div v-for="(it, ind) in list" :key="it.riskName" class="pb10">
|
||||
<!-- <span>{{ it.isMainRisk }}</span> -->
|
||||
<van-collapse-item title="主险信息" :name="ind + 10">
|
||||
<van-collapse-item title="险种信息" :name="ind + 10">
|
||||
<van-cell-group>
|
||||
<van-cell title="险种名称" :value="it.riskName" />
|
||||
<van-cell title="保险期间" :value="it.insuYear" />
|
||||
|
||||
@@ -1,74 +1,74 @@
|
||||
<template>
|
||||
<div class="insuranceInformation-container pb50">
|
||||
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
|
||||
<div class="bg-white flex justify-content-c flex-direction-colunm align-items-center p20 fs14">
|
||||
<h3 style="text-align:center" class="mb20">国富人寿保险股份有限公司人身保险投保须知</h3>
|
||||
<p>尊敬的客户:</p>
|
||||
<p class="mb20"> 感谢您选择国富人寿保险股份有限公司(以下简称“我公司”),为了充分维护您的权益,在填写电子投保书前,敬请您注意以下事项:</p>
|
||||
<h2 style="text-align:center" class="mb20">人身保险投保提示</h2>
|
||||
<p class="mb20">尊敬的客户:</p>
|
||||
<p class="mb20">
|
||||
1.您的本次投保信息将以电子投保书的形式提交给我公司。
|
||||
人身保险是以人的寿命和身体为保险标的的保险。当被保险人发生死亡、伤残、疾病等风险事故时或者达到合同约定的年龄、期限等条件时,保险公司按照保险合同约定给付保险金。人身保险具有保障和长期储蓄功能,可以用于为人们的生活进行长期财务规划。为帮助您更好地认识和购买人身保险产品,保护您的合法权益,我们按中国保监会的要求,请您在填写投保单之前认真阅读以下内容:
|
||||
</p>
|
||||
<p class="mb20 fw600">一、请您确认保险机构和销售人员的合法资格</p>
|
||||
<p class="mb20">
|
||||
请您从持有中国银行保险监督管理委员会颁发《经营保险业务许可证》或《保险兼业代理许可证》的合法机构或持有《保险销售从业人员执业证书》的销售人员处办理保险业务。如需要查询销售人员的销售资格,您可以要求销售人员告知具体查询方式,或登录保险中介监管信息系统查询(网址:http://iir.circ.gov.cn)。
|
||||
</p>
|
||||
<p class="mb20 fw600">二、请您根据实际保险需求和支付能力选择人身保险产品</p>
|
||||
<p class="mb20">
|
||||
请您根据自身已有的保障水平和经济实力等实际情况,选择适合自身需求的保险产品。多数人身保险产品期限较长,如果需要分期交纳保险费,请您充分考虑是否有足够、稳定的财力长期支付保险费,不按时交费可能会影响您的权益。建议您使用银行转账等非现金方式交纳保险费。
|
||||
</p>
|
||||
<p class="mb20 fw600">三、请您详细阅读并充分了解保险合同的条款内容</p>
|
||||
<p class="mb20">
|
||||
请您不要将保险产品的广告、公告、招贴画等宣传材料视同为保险合同,应当要求销售人员向您提供相关保险产品的条款。请您认真阅读并充分理解条款内容,重点关注保险责任、免除保险人责任、投保人及被保险人权利和义务、免赔额或赔付比例的计算、申请理赔的手续、退保相关约定、费用扣除、产品期限等内容。您若对条款内容有疑问,您可以要求销售人员进行解释。
|
||||
</p>
|
||||
<p class="mb20 fw600">四、请您了解“犹豫期”的有关约定</p>
|
||||
<p class="mb20">
|
||||
一年期以上的人身保险产品一般有犹豫期(投保人、被保险人收到保险合同并书面签收保险合同回执的次日零时起15日以内)的有关约定。除合同另有约定外,在犹豫期内,您可以无条件解除保险合同,但应退还保险合同,我们将退还您全部保险费并不会对此收取其他任何费用。
|
||||
</p>
|
||||
<p class="mb20 fw600">五、“犹豫期”后解除保险合同请您慎重</p>
|
||||
<p class="mb20">
|
||||
若您在犹豫期过后解除保险合同,您会有一定的损失。我们自收到解除合同的申请书之日起三十日以内,按照合同约定退还保险合同的现金价值(现金价值表附在正式保险合同之中,您若存在疑问,可要求我们予以解释)。
|
||||
</p>
|
||||
<p class="mb20 fw600">六、请您充分理解并认识分红保险、投资连结保险、万能保险等人身保险新型产品的风险和特点</p>
|
||||
<p class="mb20">
|
||||
(1)如果您选择购买分红保险产品,请您注意以下事项:分红水平主要取决于保险公司的实际经营成果。如果实际经营成果优于定价假设,我们才会将部分盈余分配给您。如果实际经营成果差于定价假设,我们可能不会派发红利。产品说明书或保险利益测算书中关于未来保险合同利益的预测是基于公司精算假设,不能理解为对未来的预期,红利分配是不确定的。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
2.电子投保书的填写:本电子投保书是您与我公司订立保险合同的重 要组成部分。为保障您的权益,请务必保证电子投保书各项内容为投保
|
||||
人和被保险人如实、准确填写。
|
||||
<strong
|
||||
>依据《中华人民共和国保险法》的有 关规定,保险公司就被保险人有关情况的询问,您应当履行如实告知
|
||||
义务,否则我公司有权依法解除保险合同,并对保险合同解除前发生的 保险事故不承担保险责任。所有告知事项均应以书面告知为准,</strong
|
||||
>
|
||||
口头 告知无效。
|
||||
(2)如果您选择购买投资连结保险产品,请您注意以下事项:您应当详细了解投资连结保险的费用扣除情况,包括但不限于初始费用、买入卖出差价、死亡风险保险费、保单管理费、资产管理费、手续费、退保费用等。您应当要求销售人员将投资连结保险账户价值的详细计算方法对您进行解释。投资连结保险产品的投资回报具有不确定性,投资风险完全由您承担。产品说明书或保险利益测算书中关于未来保险合同利益的预测是基于公司精算假设,不能理解为对未来的预期,实际投资可能赢利或出现亏损。如果您选择灵活交费方式的,您应当要求销售人员将您停止交费可能产生的风险和不利后果对您进行详细解释。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
3.投保信息真实性:为保障您的权益,请您务必真实、准确地填写相 关投保信息,包括但不限于投保人、被保险人和受益人的姓名、性别、
|
||||
出生日期、证件类型、证件号码、本人联系电话和联系地址等。如果 您提供的信息不真实、不准确或不完整,可能导致保险合同无效或您 的合法权益受损等。
|
||||
(3)如果您选择购买万能保险产品,请您注意以下事项:万能保险产品通常有最低保证利率的约定,最低保证利率仅针对投资账户中资金。您应当详细了解万能保险的费用扣除情况,包括但不限于初始费用、死亡风险保险费、保单管理费、手续费、退保费用等。您应当要求销售人员将万能保险账户价值的详细计算方法对您进行解释。万能保险产品的投资回报具有不确定性,您要承担部分投资风险。保险公司每月公布的结算利率只能代表一个月的投资情况,不能理解为对全年的预期,结算利率仅针对投资账户中的资金,不针对全部保险费。产品说明书或保险利益测算书中关于未来保险合同利益的预测是基于公司精算假设,最低保证利率之上的投资收益是不确定的,不能理解为对未来的预期。如果您选择灵活交费方式的,您应当要求销售人员将您停止交费可能产生的风险和不利后果对您进行详细解释。
|
||||
</p>
|
||||
<p class="mb20 fw600">七、请您正确认识人身保险新型产品与其他金融产品</p>
|
||||
<p class="mb20">
|
||||
4.您在投保时如有疑问、投保成功后需要查询保单信息、投保成功后 如有资料需要变更以及投诉,请您关注“国富人寿保险”官方微信公众
|
||||
号或前往我公司客户服务中心进行办理,同时还可拨打0771-5723168 咨询。
|
||||
分红保险、投资连结保险、万能保险等人身保险新型产品兼具保险保障功能和投资功能,不同保险产品对于保障功能和投资功能侧重不同,但本质上属于保险产品,产品经营主体是保险公司。您不宜将人身保险新型产品与银行存款、国债、基金等金融产品进行片面比较,更不要把它作为银行存款的替代品。
|
||||
</p>
|
||||
<p class="mb20 fw600">八、选择健康保险产品时请您注意产品特性和条款具体约定</p>
|
||||
<p class="mb20">
|
||||
5.请您仔细阅读保险条款,了解理赔申请方式及理赔应备文件。
|
||||
健康保险产品是具有较强风险保障功能的产品,既有定额给付性质的,也有费用补偿性质的。定额给付性质的健康保险按约定给付保险金,与被保险人是否获得其他医疗费用补偿无关;对于费用补偿性质的健康保险,我们给付的保险金可能会相应扣除被保险人从其他渠道所获的医疗费用补偿。请您注意条款中是否有免赔额或赔付比例的约定、是否有疾病观察期约定。如果我们以附加险形式销售无保证续保条款的健康保险产品,请您注意附加健康保险的保险期间应不小于主险保险期间。
|
||||
</p>
|
||||
<p class="mb20 fw600">九、为未成年子女选择保险产品时保险金额应适当</p>
|
||||
<p class="mb20">
|
||||
6.我公司可为您提供电子保险合同或纸质保险合同,如您选择电子保险 合同,投保成功后我公司将向您投保时所提供的电子邮箱地址发送电子
|
||||
保险合同;如您选择纸质保险合同,投保成功后,我公司线下为您递送 纸质保险合同。为维护您的合法权益,方便我公司为您提供优质服务,
|
||||
请您在收到电子保险合同或纸质保险合同仔细阅读各项内容并确认无误 后,关注“国富人寿保险”官方微信公众号进行保险合同签收。犹豫期
|
||||
从保险合同签收日次日起开始计算,犹豫期内您有全额退保的权利。 犹豫期过后,我公司向您投保时提供的电子邮箱发送电子发票,请您注 意查收。
|
||||
如果您为未成年子女购买保险产品,因被保险人身故给付的保险金总和应符合中国银保监会的有关规定。其主要目的是为了保护未成年人权益,防止道德风险;同时,从整个家庭看,父母是家庭的主要经济来源和支柱,以父母为被保险人购买保险,可以使整个家庭获得更加全面的保险保障。
|
||||
</p>
|
||||
<p class="mb20 fw600">十、请您如实填写投保资料、正确履行如实告知义务等有关情况并亲笔签名</p>
|
||||
<p class="mb20">
|
||||
7.本保险产品销售区域:广西地区。 我公司分支机构信息详见官网信息公示(官网地址:www.e- guofu.com)。
|
||||
我国《保险法》对投保人的如实告知行为进行了明确的规定。投保时,您填写的投保单应当属实;对于销售人员询问的有关被保险人的问题,您也应当如实回答,否则可能影响您和被保险人的权益。为了有效保障自身权益,请您在充分理解知悉人身保险投保提示、投保单等相关文件后亲笔签名。
|
||||
</p>
|
||||
<p class="mb20 fw600">十一、请您配合保险公司做好客户回访工作</p>
|
||||
<p class="mb20">
|
||||
8.以身故为给付保险金条件的保险合同,未经被保险人同意并认可保 险金额的,保险合同无效。
|
||||
我们按规定开展客户回访工作,一般通过电话、信函和上门回访等形式进行。为确保您自己的权益得到切实保障,您应对回访问题进行如实答复,不清楚的地方可以立即提出,要求我们进行详细解释。请您在投保时准确、完整填写地址、邮编、常用联系电话等个人信息,以便我们能够对您及时回访。
|
||||
</p>
|
||||
<p class="mb20 fw600">十二、请您注意保护自身的合法权益</p>
|
||||
<p class="mb20">
|
||||
9.请根据自身情况选择合适的保险产品,以确保本次投保计划符合您 的保险需求。提前终止或放弃之前有效的保险合同,可能使您蒙受经济 上的损失。
|
||||
如果您发现销售人员在保险销售过程中存在误导销售行为,或认为自身权益受到侵犯,请注意保留书面证据或其他证据,可向保险公司反映(公司投诉电话4008 008
|
||||
008);也可以向当地银保监局(投诉电话:12378 江苏省保险纠纷投诉处理中心电话:4008012378)投诉;必要时还可以根据合同约定,申请仲裁或向法院起诉。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
10.我公司采集客户信息的用途,包括但不限于计算保费、核保、寄 送保单、客户回访、续期提醒和寄送通知书、推荐产品等。
|
||||
为了保证您的权益,如果联系电话和联系地址等信息发生变更,应及时 办理更正手续。
|
||||
</p>
|
||||
<p class="mb20"> 11.我公司承诺未经您的同意,不会将客户信息用于第三方机构的销 售活动。</p>
|
||||
<p class="mb20">
|
||||
12.其他服务说明
|
||||
</p>
|
||||
<p>
|
||||
(1)投保、承保流程 选择保险产品→点击购买→填写投保信息→确认信息和金额→在线 支付→收到承保通知→投保成功。
|
||||
</p>
|
||||
<p>
|
||||
(2)保险费支付方式 本产品的保险费将由我公司从您投保时所授权的银行账号划扣。
|
||||
</p>
|
||||
<p>
|
||||
(3)保单变更办理流程 若您需办理保单变更业务,可关注“国富人寿保险”微信公众号, 点击“我的”菜单注册用户,进入“我的保单-保单变更服务”完成
|
||||
在线办理或提交申请材料;
|
||||
</p>
|
||||
<p>
|
||||
(3)保单变更办理流程 若您需办理保单变更业务,可关注“国富人寿保险”微信公众号, 点击“我的”菜单注册用户,进入“我的保单-保单变更服务”完成
|
||||
在线办理或提交申请材料;
|
||||
</p>
|
||||
|
||||
<p>(4)保险金支付和保全退费 各类保险金将根据权益人授权的银行账号进行转账支付。 保单退费款项按客户申请时授权的银行账号进行转账支付。</p>
|
||||
<p class="mb20 fw600">我公司偿付能力相关信息已披露于我司官网,具体详见www.dingchenglife.com.cn(公开信息披露专栏)。</p>
|
||||
</div>
|
||||
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
|
||||
<van-radio name="1" @click="click">本人确认已阅读<span>《国富人寿投保须知》</span></van-radio>
|
||||
<van-radio name="1" @click="click">
|
||||
本人确认已阅读
|
||||
<span>《人身保险投保提示》</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="bg-white bottom-btn">
|
||||
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">下一步</van-button>
|
||||
@@ -76,7 +76,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { RadioGroup, Radio, Dialog, Notify } from 'vant'
|
||||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
// import config from '@/config'
|
||||
// import axios from 'axios'
|
||||
@@ -110,11 +110,21 @@ export default {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Dialog.name]: Dialog,
|
||||
[Notify.name]: Notify
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
created() {
|
||||
mounted() {
|
||||
let that = this
|
||||
Notify({ type: 'warning', message: '提示:阅读时长需在10秒以上', duration: 10000, background: '#999999', className: 'notify' })
|
||||
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
|
||||
that.timeOut()
|
||||
// Notify({
|
||||
// type: 'warning',
|
||||
// message: `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上`,
|
||||
// duration: 10000,
|
||||
// background: '#999999',
|
||||
// className: 'notify'
|
||||
// })
|
||||
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
that.signVal = window.localStorage.getItem('sign-val')
|
||||
that.insuredSign = JSON.parse(window.localStorage.getItem('sign-insured'))
|
||||
that.appntSign = JSON.parse(window.localStorage.getItem('sign-appnt'))
|
||||
@@ -124,7 +134,7 @@ export default {
|
||||
let that = this
|
||||
let time = that.time
|
||||
that.Time = false
|
||||
that.number = `${time}s`
|
||||
that.number = `${time}`
|
||||
let timer = setInterval(() => {
|
||||
time--
|
||||
if (time <= 0) {
|
||||
@@ -135,7 +145,7 @@ export default {
|
||||
that.isOver = true
|
||||
// window.localStorage.setItem('step', '1')
|
||||
}
|
||||
that.number = `${time}s`
|
||||
that.number = `${time}`
|
||||
}, 1000)
|
||||
},
|
||||
// 点击阅读时
|
||||
@@ -154,6 +164,17 @@ export default {
|
||||
// 下一步
|
||||
goNext() {
|
||||
if (this.isWeixin) {
|
||||
console.log('````````````````````')
|
||||
console.log('进入微信')
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
let data = {
|
||||
@@ -176,10 +197,15 @@ export default {
|
||||
saveInformation(data).then(res => {
|
||||
// console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
// window.localStorage.setItem('insurance-url', res.signDTO.policyUrl)
|
||||
// console.log(res)
|
||||
// console.log(res.signDTO.policyUrl)
|
||||
console.log('````````````')
|
||||
console.log('接口拉去成功:' + res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
|
||||
// let url = config.imgDomain + `/app/returnStream?imgPath=${res.signDTO.policyUrl}`
|
||||
// axios.get(url).then(res => {
|
||||
// console.log(res)
|
||||
@@ -187,8 +213,7 @@ export default {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureOfElectronic',
|
||||
needPartRefresh: '1'
|
||||
url: location.origin + '/#/sale/signatureOfElectronic'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureOfElectronic'
|
||||
@@ -199,6 +224,15 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
@@ -218,6 +252,12 @@ export default {
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
console.log('````````````')
|
||||
console.log('接口拉去成功:' + res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -277,7 +317,8 @@ export default {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureOfElectronic'
|
||||
url: location.origin + '/#/sale/signatureOfElectronic',
|
||||
forbidSwipeBack: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureOfElectronic'
|
||||
@@ -314,7 +355,7 @@ export default {
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureOfElectronic',
|
||||
needPartRefresh: '1'
|
||||
forbidSwipeBack: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureOfElectronic'
|
||||
@@ -352,4 +393,11 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.notice {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
@click="toSelect('2')"
|
||||
/>
|
||||
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
|
||||
<van-field v-model="userInfo.idNo" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable>
|
||||
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button>-->
|
||||
<van-field v-model="userInfo.idNo" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable @blur="getRelatedData(userInfo.idNo)">
|
||||
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button> -->
|
||||
</van-field>
|
||||
<FieldDatePicter
|
||||
v-validate="'required'"
|
||||
@@ -88,9 +88,18 @@
|
||||
placeholder="请输入"
|
||||
v-validate="'required|onlyNumber|stature'"
|
||||
clearable
|
||||
@blur="checkStature(userInfo.stature)"
|
||||
maxlength="5"
|
||||
/>
|
||||
<van-field v-model="userInfo.avoirdupois" label="体重(kg)" name="体重" placeholder="请输入" v-validate="'required|onlyNumber|avoirdupois'" clearable />
|
||||
<van-field
|
||||
v-model="userInfo.avoirdupois"
|
||||
label="体重(kg)"
|
||||
name="体重"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|onlyNumber|avoirdupois'"
|
||||
clearable
|
||||
@blur="checkAvoirdupois(userInfo.avoirdupois)"
|
||||
/>
|
||||
</van-cell-group>
|
||||
<van-radio-group :border="false" v-model="userInfo.addressStatus" v-validate="'required'" label="设置为联系地址" name="设置为联系地址">
|
||||
<!-- 工作信息 -->
|
||||
@@ -178,7 +187,7 @@
|
||||
<van-radio name="0">设为联系地址</van-radio>
|
||||
</div>
|
||||
<van-field v-model="userInfo.companyZip" label="邮编" name="邮编" placeholder="请输入" v-validate="'required|zipCode'" maxlength="6" clearable />
|
||||
<van-field v-model="userInfo.companyPhone" label="单位电话" name="单位电话" placeholder="非必填" maxlength="11" clearable />
|
||||
<van-field v-model="userInfo.companyPhone" label="单位电话" name="单位电话" placeholder="非必填" maxlength="13" clearable />
|
||||
</van-cell-group>
|
||||
<!-- 家庭信息 -->
|
||||
<van-cell-group>
|
||||
@@ -218,7 +227,7 @@
|
||||
<van-radio name="1">设为联系地址</van-radio>
|
||||
</div>
|
||||
<van-field v-model="userInfo.homeZip" label="邮编" name="邮编" placeholder="请输入" v-validate="'required|zipCode'" maxlength="6" clearable />
|
||||
<van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="11" clearable />
|
||||
<van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="13" clearable />
|
||||
</van-cell-group>
|
||||
</van-radio-group>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">下一步</van-button>
|
||||
@@ -259,6 +268,8 @@ import getAreaName from '@/assets/js/utils/get-area-name'
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { idToData } from './js/verification'
|
||||
import { selectComp } from './js/methods'
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -409,44 +420,44 @@ export default {
|
||||
this.userInfo.name = name
|
||||
},
|
||||
selectClick(index) {
|
||||
this.currentPopupIndex = index
|
||||
let title = ''
|
||||
if (index == 1) {
|
||||
;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
} else if (index == 2) {
|
||||
;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
} else if (index == 3) {
|
||||
localStorage.scanFromInsured = 'true'
|
||||
;[this.isScan, title] = [true, '身份证扫描']
|
||||
}
|
||||
// this.currentPopupIndex = index
|
||||
// let title = ''
|
||||
// if (index == 1) {
|
||||
// ;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
// } else if (index == 2) {
|
||||
// ;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
// } else if (index == 3) {
|
||||
// localStorage.scanFromInsured = 'true'
|
||||
// ;[this.isScan, title] = [true, '身份证扫描']
|
||||
// }
|
||||
|
||||
setTimeout(() => {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title,
|
||||
hiddenLeft: '1'
|
||||
}
|
||||
})
|
||||
this.closeBtn()
|
||||
}, 400)
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(() => {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
// setTimeout(() => {
|
||||
// this.$jump({
|
||||
// flag: 'navigation',
|
||||
// extra: {
|
||||
// title,
|
||||
// hiddenLeft: '1'
|
||||
// }
|
||||
// })
|
||||
// this.closeBtn()
|
||||
// }, 400)
|
||||
// let that = this
|
||||
selectComp(this, index, '1')
|
||||
},
|
||||
// closeBtn() {
|
||||
// // 筛选按钮的显示
|
||||
// this.$jump({
|
||||
// flag: 'webview_right_button',
|
||||
// extra: {
|
||||
// btns: [
|
||||
// {
|
||||
// img: this.$assetsUrl + 'images/del-close.png',
|
||||
// route: { flag: '', extra: {} }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
appCallBack() {
|
||||
// 筛选按钮的点击事件
|
||||
this.$jump({
|
||||
@@ -538,7 +549,7 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
break
|
||||
case '1':
|
||||
@@ -667,7 +678,7 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
},
|
||||
nextStep() {
|
||||
// console.log(this.userInfo.idType)
|
||||
@@ -779,7 +790,7 @@ export default {
|
||||
//如果是已婚
|
||||
if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) {
|
||||
if (this.userInfo.marriage != '2') {
|
||||
return this.$toast('年龄与婚姻状况不符')
|
||||
return this.$toast('投保人不符合国家婚姻法定年龄')
|
||||
}
|
||||
}
|
||||
// if (this.userInfo.marriage == '1') {
|
||||
@@ -980,6 +991,45 @@ export default {
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
},
|
||||
//校验身高
|
||||
checkStature(val) {
|
||||
console.log(val)
|
||||
if (val.trim().length == 0) {
|
||||
return this.$toast('身高不能为空')
|
||||
}
|
||||
|
||||
let res = /^[0-9]{0,3}([.]{1}[0-9]{1})?$/.test(val) && val < 300 && val > 10
|
||||
if (!res) {
|
||||
this.userInfo.stature = ''
|
||||
return this.$toast('身高输入有误')
|
||||
}
|
||||
},
|
||||
//校验体重
|
||||
checkAvoirdupois(val) {
|
||||
if (val.trim().length == 0) {
|
||||
return this.$toast('体重不能为空')
|
||||
}
|
||||
|
||||
let res = /^[0-9]+([.]{1}[0-9]{1})?$/.test(val) && val > 0.1
|
||||
if (!res) {
|
||||
this.userInfo.avoirdupois = ''
|
||||
return this.$toast('体重输入有误')
|
||||
}
|
||||
},
|
||||
getRelatedData(val) {
|
||||
if (this.userInfo.idType != '1') {
|
||||
return
|
||||
}
|
||||
//如果证件校验不通过,恢复默认值
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = idToData(val).age < 45
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
@@ -44,10 +44,11 @@
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
v-validate="'required'"
|
||||
@blur="getRelatedData(userInfo.idNo)"
|
||||
>
|
||||
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')" v-no-more-click="1000"-->
|
||||
<!-- >证件扫描</van-button-->
|
||||
<!-- >-->
|
||||
<van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')" v-no-more-click="1000"
|
||||
>证件扫描</van-button
|
||||
>
|
||||
</van-field>
|
||||
<FieldDatePicter
|
||||
v-validate="'required'"
|
||||
@@ -58,7 +59,7 @@
|
||||
:flag="true"
|
||||
@confirm="onDateConfirm($event, '0')"
|
||||
ref="certificateValidate"
|
||||
:readonly="isAppnt"
|
||||
:readonly="isAppnt || idLimit"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
:v-validate="{ required: certiexpiredateRequired }"
|
||||
@@ -69,7 +70,7 @@
|
||||
@confirm="onDateConfirm($event, '1')"
|
||||
ref="certiexpiredate"
|
||||
:flag="certiexpiredateShow"
|
||||
:readonly="isAppnt"
|
||||
:readonly="isAppnt || idLimit"
|
||||
></FieldDatePicter>
|
||||
<div class="border-bt relative fs14 p10 flex align-center">
|
||||
<van-checkbox v-model="userInfo.effectiveDateType" class="fr" :disabled="effectiveDateTypeAble" @change="effectiveDataTypeChange">长期</van-checkbox>
|
||||
@@ -142,6 +143,7 @@
|
||||
clearable
|
||||
maxlength="5"
|
||||
:readonly="isAppnt"
|
||||
@blur="checkStature(userInfo.stature)"
|
||||
/>
|
||||
<van-field
|
||||
v-model="userInfo.avoirdupois"
|
||||
@@ -151,6 +153,7 @@
|
||||
v-validate="'required|onlyNumber'"
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
@blur="checkAvoirdupois(userInfo.avoirdupois)"
|
||||
/>
|
||||
</van-cell-group>
|
||||
<!-- 工作信息 -->
|
||||
@@ -271,7 +274,7 @@
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
/>
|
||||
<van-field v-model="userInfo.companyPhone" label="单位电话" name="单位电话" placeholder="非必填" maxlength="11" clearable :readonly="isAppnt" />
|
||||
<van-field v-model="userInfo.companyPhone" label="单位电话" name="单位电话" placeholder="非必填" maxlength="13" clearable :readonly="isAppnt" />
|
||||
</van-cell-group>
|
||||
<!-- 家庭信息 -->
|
||||
<van-cell-group class="mt5" v-if="!isScan">
|
||||
@@ -326,7 +329,7 @@
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
/>
|
||||
<van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="11" clearable :readonly="isAppnt" />
|
||||
<van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="13" clearable :readonly="isAppnt" />
|
||||
</van-cell-group>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-if="!isScan" v-no-more-click="1000">下一步</van-button>
|
||||
|
||||
@@ -368,6 +371,8 @@ import getAreaName from '@/assets/js/utils/get-area-name'
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { idToData } from './js/verification'
|
||||
import { selectComp } from './js/methods'
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -408,7 +413,7 @@ export default {
|
||||
value: '1'
|
||||
}
|
||||
],
|
||||
currentTime: beforeDate.getBeforeDays(28),
|
||||
currentTime: beforeDate.getBeforeDays(27),
|
||||
fromCustomer: false, //是否从客户列表拉取的数据
|
||||
codeDisabled: false, //获取验证码是否禁用
|
||||
countDown: 60, //倒计时
|
||||
@@ -427,9 +432,9 @@ export default {
|
||||
userInfo: {
|
||||
name: '',
|
||||
sex: '0',
|
||||
nativeplace: 'CHN', //国家地区
|
||||
nativeplace: '1', //国家地区
|
||||
birthday: '',
|
||||
idType: '0', //证件类型
|
||||
idType: '1', //证件类型
|
||||
idNo: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
@@ -475,13 +480,13 @@ export default {
|
||||
householdCity: '', //户籍市
|
||||
addressStatus: '' //是否是联系地址
|
||||
},
|
||||
tempUserInfo: {}, //临时变量用来置空userinfo
|
||||
areaList: areaList,
|
||||
currentPopupIndex: '',
|
||||
customerShowPicker: false,
|
||||
occupationShowPicker: false,
|
||||
isAppnt: false, // 是否投被同人
|
||||
appntMarriage: '' //投保人婚姻状况
|
||||
appntMarriage: '', //投保人婚姻状况
|
||||
idLimit: false //证件起止日期是否只读
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -491,7 +496,7 @@ export default {
|
||||
getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
|
||||
if (res.result == 0) {
|
||||
//投被同人
|
||||
if (res.orderDTO.insuredDTOs[0].relationToAppnt == '1') {
|
||||
if (res.orderDTO.insuredDTOs.length && res.orderDTO.insuredDTOs[0].relationToAppnt == '1') {
|
||||
this.$nextTick(() => {
|
||||
this.isAppnt = true
|
||||
//获取投保人信息
|
||||
@@ -520,13 +525,13 @@ export default {
|
||||
// this.userInfo.effectiveDateType = insuredInfo.effectiveDateType == 'false' ? false : true
|
||||
//数据不是从用户列表拉取
|
||||
this.fromCustomer = false
|
||||
this.userInfo.relationToAppnt = '00'
|
||||
this.userInfo.relationToAppnt = '1'
|
||||
//长期判断
|
||||
if (this.userInfo.idType == '0') {
|
||||
if (this.userInfo.idType == '1') {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -544,9 +549,9 @@ export default {
|
||||
//设为联系地址
|
||||
this.userInfo.addressStatus = '0'
|
||||
//证件类型
|
||||
this.userInfo.idType = '0'
|
||||
this.userInfo.idType = '1'
|
||||
//国家/地区
|
||||
this.userInfo.nativeplace = 'CHN'
|
||||
this.userInfo.nativeplace = '1'
|
||||
if (this.$route.query.isShow) {
|
||||
//户籍
|
||||
if (insuredPersonInfo.householdProvince.length) {
|
||||
@@ -593,7 +598,6 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
window.appCallBack = this.appCallBack
|
||||
this.tempUserInfo = this.userInfo
|
||||
// document.body.style.backgroundColor = '#F5F5F5'
|
||||
},
|
||||
methods: {
|
||||
@@ -606,27 +610,29 @@ export default {
|
||||
if (this.isAppnt) {
|
||||
return
|
||||
}
|
||||
this.currentPopupIndex = index
|
||||
let title = ''
|
||||
if (index == 1) {
|
||||
;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
} else if (index == 2) {
|
||||
;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
} else if (index == 3) {
|
||||
localStorage.scanFromInsured = 'false'
|
||||
;[this.isScan, title] = [true, '身份证扫描']
|
||||
}
|
||||
// this.currentPopupIndex = index
|
||||
// let title = ''
|
||||
// if (index == 1) {
|
||||
// ;[this.customerShowPicker, title] = [true, '客户列表']
|
||||
// } else if (index == 2) {
|
||||
// ;[this.occupationShowPicker, title] = [true, '职业类别']
|
||||
// } else if (index == 3) {
|
||||
// localStorage.scanFromInsured = 'false'
|
||||
// ;[this.isScan, title] = [true, '身份证扫描']
|
||||
// }
|
||||
|
||||
setTimeout(() => {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title,
|
||||
hiddenLeft: '1'
|
||||
}
|
||||
})
|
||||
this.closeBtn()
|
||||
}, 400)
|
||||
// setTimeout(() => {
|
||||
// this.$jump({
|
||||
// flag: 'navigation',
|
||||
// extra: {
|
||||
// title,
|
||||
// hiddenLeft: '1'
|
||||
// }
|
||||
// })
|
||||
// this.closeBtn()
|
||||
// }, 400)
|
||||
// let that = this
|
||||
selectComp(this, index, '2')
|
||||
},
|
||||
chooseOccupation() {
|
||||
this.$jump({
|
||||
@@ -638,23 +644,20 @@ export default {
|
||||
})
|
||||
this.occupationShowPicker = false
|
||||
},
|
||||
closeBtn() {
|
||||
// 筛选按钮的显示
|
||||
setTimeout(()=> {
|
||||
this.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
|
||||
},
|
||||
// closeBtn() {
|
||||
// // 筛选按钮的显示
|
||||
// this.$jump({
|
||||
// flag: 'webview_right_button',
|
||||
// extra: {
|
||||
// btns: [
|
||||
// {
|
||||
// img: this.$assetsUrl + 'images/del-close.png',
|
||||
// route: { flag: '', extra: {} }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
//弹框选择
|
||||
toSelect(pickerType, valueKey) {
|
||||
// 投被同人不允许编辑
|
||||
@@ -689,22 +692,31 @@ export default {
|
||||
if (this.pickerType == '1') {
|
||||
this.userInfo.nativeplace = value.id
|
||||
} else if (this.pickerType == '2') {
|
||||
this.idLimit = false
|
||||
this.userInfo.idNo = this.userInfo.certificateValidate = this.userInfo.certiexpiredate = this.userInfo.birthday = ''
|
||||
this.userInfo.sex = '0'
|
||||
this.effectiveDateTypeAble = false
|
||||
console.log(value.id)
|
||||
//身份证以外的证件类型可以使用长期
|
||||
if (value.id != '1') {
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
if (value.id == '1') {
|
||||
console.log('123')
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
} else if (value.id == 2 || value.id == 3) {
|
||||
this.effectiveDateTypeAble = true
|
||||
} else {
|
||||
this.effectiveDateTypeAble = false
|
||||
}
|
||||
//出生证明返显证件截止日期
|
||||
// //出生证明返显证件截止日期
|
||||
// if (value.id == 3 && this.userInfo.birthday != '') {
|
||||
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
|
||||
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
// this.certiexpiredateShow = false
|
||||
// }
|
||||
//户口本返显证件截止日期
|
||||
// if (value.id == 2 || value.id == 3) {
|
||||
// this.effectiveDateTypeAble = true
|
||||
// }
|
||||
// //户口本返显证件截止日期
|
||||
// else if (value.id == 2 && this.userInfo.birthday != '') {
|
||||
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1986-01-01')
|
||||
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
@@ -768,7 +780,7 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -788,6 +800,8 @@ export default {
|
||||
this.userInfo[key] = ''
|
||||
}
|
||||
}
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = false
|
||||
this.areaName = this.homeName = this.census = ''
|
||||
this.userInfo.relationToAppnt = value.id
|
||||
}
|
||||
@@ -812,7 +826,7 @@ export default {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
break
|
||||
case '1':
|
||||
@@ -831,6 +845,7 @@ export default {
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
return this.$toast('您的证件已过期')
|
||||
}
|
||||
|
||||
//不同证件类型的判断
|
||||
// if (this.userInfo.idType) {
|
||||
// //获取年龄
|
||||
@@ -868,8 +883,16 @@ export default {
|
||||
//长期判断
|
||||
if (this.userInfo.idType == '1') {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
}
|
||||
//出生证有效期
|
||||
// if (this.userInfo.idType == '3') {
|
||||
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(val) > Date.parse('1973-01-01')) {
|
||||
// this.userInfo.birthday = ''
|
||||
// this.$refs.birthday.date = ''
|
||||
// return this.$toast('出生证有效期或出生日期有误')
|
||||
// }
|
||||
// }
|
||||
}
|
||||
break
|
||||
}
|
||||
@@ -955,7 +978,7 @@ export default {
|
||||
//计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
//数据是否从客户列表拉取
|
||||
this.fromCustomer = true
|
||||
},
|
||||
@@ -968,8 +991,8 @@ export default {
|
||||
|
||||
//投被保人关系是配偶
|
||||
if (this.userInfo.relationToAppnt == '2') {
|
||||
//投保人不是已婚
|
||||
if (this.appntMarriage != '1') {
|
||||
//投保人或者被保人不是已婚
|
||||
if (this.appntMarriage != '1' || this.userInfo.marriage != '1') {
|
||||
return this.$toast('投被保人婚姻状况有误')
|
||||
}
|
||||
let insuredSex = this.userInfo.sex
|
||||
@@ -989,7 +1012,7 @@ export default {
|
||||
// }
|
||||
|
||||
//如果证件类型是身份证
|
||||
if (this.userInfo.idType == '0') {
|
||||
if (this.userInfo.idType == '1') {
|
||||
//校验性别是否与身份证号码位相符
|
||||
if (this.userInfo.idNo.length == '15') {
|
||||
//15位身份证第15位是性别位, 奇男偶女
|
||||
@@ -1057,14 +1080,14 @@ export default {
|
||||
}
|
||||
}
|
||||
//证件类型是户口本
|
||||
} else if (this.userInfo.idType == '1') {
|
||||
} else if (this.userInfo.idType == '2') {
|
||||
if (age >= 16) {
|
||||
return this.$toast('客户年龄在16周岁及以上,不能使用户口本作为有效证件')
|
||||
} else if (this.userInfo.idNo.length != 18) {
|
||||
return this.$toast('户口本的证件号码长度应等于18位')
|
||||
}
|
||||
//证件类型是出生证明
|
||||
} else if (this.userInfo.idType == '2') {
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
if (age >= 3) {
|
||||
return this.$toast('客户年龄在3周岁及以上,不能使用出生证作为有效证件')
|
||||
} else if (this.userInfo.idNo.length < 3) {
|
||||
@@ -1093,7 +1116,7 @@ export default {
|
||||
//如果是已婚
|
||||
if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) {
|
||||
if (this.userInfo.marriage != '2') {
|
||||
return this.$toast('年龄与婚姻状况不符')
|
||||
return this.$toast('被保人不符合国家婚姻法定年龄')
|
||||
}
|
||||
}
|
||||
// this.save()
|
||||
@@ -1125,7 +1148,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '当前信息已经发生改变,有可能影响险种费率,是否确认修改并清除险种信息?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -1298,6 +1321,63 @@ export default {
|
||||
default:
|
||||
break
|
||||
}
|
||||
},
|
||||
//校验身高
|
||||
checkStature(val) {
|
||||
console.log(val)
|
||||
if (val.trim().length == 0) {
|
||||
return this.$toast('身高不能为空')
|
||||
}
|
||||
|
||||
let res = /^[0-9]{0,3}([.]{1}[0-9]{1})?$/.test(val) && val < 300 && val > 10
|
||||
if (!res) {
|
||||
this.userInfo.stature = ''
|
||||
return this.$toast('身高输入有误')
|
||||
}
|
||||
},
|
||||
//校验体重
|
||||
checkAvoirdupois(val) {
|
||||
if (val.trim().length == 0) {
|
||||
return this.$toast('体重不能为空')
|
||||
}
|
||||
|
||||
let res = /^[0-9]+([.]{1}[0-9]{1})?$/.test(val) && val > 0.1
|
||||
if (!res) {
|
||||
this.userInfo.avoirdupois = ''
|
||||
return this.$toast('体重输入有误')
|
||||
}
|
||||
},
|
||||
getRelatedData(val) {
|
||||
// if (this.userInfo.idType != '1') {
|
||||
// return
|
||||
// }
|
||||
if (!['1', '2', '3', 1, 2, 3].includes(this.userInfo.idType)) {
|
||||
return
|
||||
}
|
||||
//如果证件校验不通过,恢复默认值
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = idToData(val).age < 45
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
//如果选择户口本
|
||||
if (this.userInfo.idType == '2') {
|
||||
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
|
||||
this.userInfo.certificateValidate = this.userInfo.birthday
|
||||
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
this.idLimit = true
|
||||
//如果选择出生证明
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
|
||||
this.userInfo.certificateValidate = this.userInfo.birthday
|
||||
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
|
||||
this.idLimit = true
|
||||
} else {
|
||||
this.idLimit = false
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
45
src/views/ebiz/sale/js/methods.js
Normal file
45
src/views/ebiz/sale/js/methods.js
Normal file
@@ -0,0 +1,45 @@
|
||||
//点击弹出组件
|
||||
export function selectComp(that, index, type = '') {
|
||||
that.currentPopupIndex = index
|
||||
let title = ''
|
||||
if (index == 1) {
|
||||
;[that.customerShowPicker, title] = [true, '客户列表']
|
||||
} else if (index == 2) {
|
||||
;[that.occupationShowPicker, title] = [true, '职业类别']
|
||||
} else if (index == 3) {
|
||||
if (type == '1') {
|
||||
//投保人
|
||||
localStorage.scanFromInsured = 'true'
|
||||
} else if (type == '2') {
|
||||
//被保人
|
||||
localStorage.scanFromInsured = 'false'
|
||||
}
|
||||
;[that.isScan, title] = [true, '身份证扫描']
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
that.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title,
|
||||
hiddenLeft: '1'
|
||||
}
|
||||
})
|
||||
closeBtn(that)
|
||||
}, 400)
|
||||
}
|
||||
|
||||
// 关闭按钮的显示
|
||||
function closeBtn(that) {
|
||||
that.$jump({
|
||||
flag: 'webview_right_button',
|
||||
extra: {
|
||||
btns: [
|
||||
{
|
||||
img: that.$assetsUrl + 'images/del-close.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}
|
||||
52
src/views/ebiz/sale/js/verification.js
Normal file
52
src/views/ebiz/sale/js/verification.js
Normal file
@@ -0,0 +1,52 @@
|
||||
import changeFifteenToEighteen from '@/assets/js/utils/changeFifteenToEighteen'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import utilsAge from '@/assets/js/utils/age'
|
||||
|
||||
//身份证带出出生日期,性别,年龄
|
||||
export function idToData(idNo) {
|
||||
//非空
|
||||
if (!idNo.trim()) {
|
||||
return {
|
||||
text: '证件号码不能为空'
|
||||
}
|
||||
}
|
||||
|
||||
// 证件号码规则校验
|
||||
if (!idNoCheck.isIdno(idNo)) {
|
||||
return {
|
||||
text: '您填写的证件号码有误'
|
||||
}
|
||||
}
|
||||
|
||||
//如果是15位身份证号先转为18位
|
||||
if (idNo.length == 15) {
|
||||
idNo = changeFifteenToEighteen(idNo)
|
||||
}
|
||||
let birthday = getBirthById(idNo)
|
||||
let age = utilsAge.getAge(birthday, new Date())
|
||||
let sex = getSexById(idNo)
|
||||
return {
|
||||
birthday,
|
||||
age,
|
||||
sex
|
||||
}
|
||||
}
|
||||
|
||||
function getBirthById(idNo) {
|
||||
// 获取生日
|
||||
var year = idNo.substr(6, 4)
|
||||
var month = idNo.substr(10, 2)
|
||||
var day = idNo.substr(12, 2)
|
||||
return year + '-' + month + '-' + day
|
||||
}
|
||||
|
||||
function getSexById(idNo) {
|
||||
// 获取性别
|
||||
if (idNo.charAt(16) >= '0' && idNo.charAt(16) <= '9') {
|
||||
if (parseInt(idNo.charAt(16)) % 2 == 0) {
|
||||
return '1'
|
||||
} else {
|
||||
return '0'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -52,7 +52,7 @@
|
||||
</van-collapse-item>
|
||||
</div>
|
||||
<div v-for="(it, ind) in list" :key="it.riskName" class="pb10">
|
||||
<van-collapse-item title="主险信息" :name="ind + 10">
|
||||
<van-collapse-item title="险种信息" :name="ind + 10">
|
||||
<van-cell-group>
|
||||
<van-cell title="险种名称" :value="it.riskName" />
|
||||
<van-cell title="保险期间" :value="it.insuYear" />
|
||||
|
||||
Reference in New Issue
Block a user