9-22拉取鼎诚代码覆盖国富代码dev;
@@ -1,5 +1,5 @@
|
||||
# env
|
||||
NODE_ENV = 'production'
|
||||
NODE_ENV = 'development'
|
||||
|
||||
# flag
|
||||
VUE_APP_FLAG='development'
|
||||
|
||||
28
package-lock.json
generated
@@ -6408,14 +6408,12 @@
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
@@ -6430,20 +6428,17 @@
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@@ -6560,8 +6555,7 @@
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@@ -6573,7 +6567,6 @@
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
@@ -6588,7 +6581,6 @@
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@@ -6596,14 +6588,12 @@
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
@@ -6622,7 +6612,6 @@
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
@@ -6703,8 +6692,7 @@
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@@ -6716,7 +6704,6 @@
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@@ -6838,7 +6825,6 @@
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "ebiz-h5",
|
||||
"version": "1.0.0",
|
||||
"description": "国富人寿",
|
||||
"author": "",
|
||||
"description": "鼎诚人寿",
|
||||
"author": "wangfangbo <wang.fangbo@ebiz-fooge.com>",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve --mode development",
|
||||
"serve": "vue-cli-service serve",
|
||||
"build:prod": "vue-cli-service build",
|
||||
"build:stage": "vue-cli-service build --mode staging",
|
||||
"lint": "vue-cli-service lint",
|
||||
|
||||
@@ -4,7 +4,7 @@ import getUrl from '@/assets/js/utils/get-url'
|
||||
// 获取保单列表
|
||||
export function getPolicyList(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/policy/policyListAgent', 1),
|
||||
url: getUrl('/sale/policy/policyList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 915 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 778 B After Width: | Height: | Size: 376 B |
|
Before Width: | Height: | Size: 778 B |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 457 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 606 KiB |
|
Before Width: | Height: | Size: 405 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 31 KiB |
@@ -204,7 +204,7 @@ export default {
|
||||
isAndroid: ua.match(/(Android);?[\s/]+([\d.]+)?/),
|
||||
isIphone: ua.indexOf('iPhone') != -1,
|
||||
isWeixin: ua.match(/MicroMessenger/i),
|
||||
isTraining: ua.match(/training/i)
|
||||
isDC: ua.match(/dingchenglife/i) //app环境
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,308 +2,328 @@
|
||||
export default {
|
||||
//国家地区
|
||||
nativeplace: [
|
||||
{ id: 'CHN', text: '中国' },
|
||||
{ id: 'HKG', text: '中国香港' },
|
||||
{ id: 'MAC', text: '澳门' },
|
||||
{ id: 'TWN', text: '中国台湾' },
|
||||
{ id: 'ABW', text: '阿鲁巴' },
|
||||
{ id: 'AFG', text: '阿富汗' },
|
||||
{ id: 'AGO', text: '安哥拉' },
|
||||
{ id: 'AIA', text: '安圭拉' },
|
||||
{ id: 'ALB', text: '阿尔巴尼亚' },
|
||||
{ id: 'AND', text: '安道尔' },
|
||||
{ id: 'ANT', text: '荷属安的列斯' },
|
||||
{ id: 'ARE', text: '阿联酋' },
|
||||
{ id: 'ARG', text: '阿根廷' },
|
||||
{ id: 'ARM', text: '亚美尼亚' },
|
||||
{ id: 'ASM', text: '美属萨摩亚' },
|
||||
{ id: 'ATA', text: '南极洲' },
|
||||
{ id: 'ATF', text: '法属南部领土' },
|
||||
{ id: 'ATG', text: '安提瓜和巴布达' },
|
||||
{ id: 'AUS', text: '澳大利亚' },
|
||||
{ id: 'AUT', text: '奥地利' },
|
||||
{ id: 'AZE', text: '阿塞拜疆' },
|
||||
{ id: 'BDI', text: '布隆迪' },
|
||||
{ id: 'BEL', text: '比利时' },
|
||||
{ id: 'BEN', text: '贝宁' },
|
||||
{ id: 'BFA', text: '布基纳法索' },
|
||||
{ id: 'BGD', text: '孟加拉国' },
|
||||
{ id: 'BGR', text: '保加利亚' },
|
||||
{ id: 'BHR', text: '巴林' },
|
||||
{ id: 'BHS', text: '巴哈马' },
|
||||
{ id: 'BIH', text: '波斯尼亚和黑塞哥维那' },
|
||||
{ id: 'BLR', text: '白俄罗斯' },
|
||||
{ id: 'BLZ', text: '伯利兹' },
|
||||
{ id: 'BMU', text: '百慕大' },
|
||||
{ id: 'BOL', text: '玻利维亚' },
|
||||
{ id: 'BRA', text: '巴西' },
|
||||
{ id: 'BRB', text: '巴巴多斯' },
|
||||
{ id: 'BRN', text: '文莱' },
|
||||
{ id: 'BTN', text: '不丹' },
|
||||
{ id: 'BVT', text: '布维岛' },
|
||||
{ id: 'BWA', text: '博茨瓦纳' },
|
||||
{ id: 'CAF', text: '中非' },
|
||||
{ id: 'CAN', text: '加拿大' },
|
||||
{ id: 'CCK', text: '科科斯(基林)群岛' },
|
||||
{ id: 'CHE', text: '瑞士' },
|
||||
{ id: 'CHL', text: '智利' },
|
||||
{ id: 'CIV', text: '科特迪瓦' },
|
||||
{ id: 'CMR', text: '喀麦隆' },
|
||||
{ id: 'COD', text: '刚果(金)' },
|
||||
{ id: 'COG', text: '刚果(布)' },
|
||||
{ id: 'COK', text: '库克群岛' },
|
||||
{ id: 'COL', text: '哥伦比亚' },
|
||||
{ id: 'COM', text: '科摩罗' },
|
||||
{ id: 'CPV', text: '佛得角' },
|
||||
{ id: 'CRI', text: '哥斯达黎加' },
|
||||
{ id: 'CUB', text: '古巴' },
|
||||
{ id: 'CXR', text: '圣诞岛' },
|
||||
{ id: 'CYM', text: '开曼群岛' },
|
||||
{ id: 'CYP', text: '塞浦路斯' },
|
||||
{ id: 'CZE', text: '捷克' },
|
||||
{ id: 'DEU', text: '德国' },
|
||||
{ id: 'DJI', text: '吉布提' },
|
||||
{ id: 'DMA', text: '多米尼克' },
|
||||
{ id: 'DNK', text: '丹麦' },
|
||||
{ id: 'DOM', text: '多米尼加共和国' },
|
||||
{ id: 'DZA', text: '阿尔及利亚' },
|
||||
{ id: 'ECU', text: '厄瓜多尔' },
|
||||
{ id: 'EGY', text: '埃及' },
|
||||
{ id: 'ERI', text: '厄立特里亚' },
|
||||
{ id: 'ESH', text: '西撒哈拉' },
|
||||
{ id: 'ESP', text: '西班牙' },
|
||||
{ id: 'EST', text: '爱沙尼亚' },
|
||||
{ id: 'ETH', text: '埃塞俄比亚' },
|
||||
{ id: 'FIN', text: '芬兰' },
|
||||
{ id: 'FJI', text: '斐济' },
|
||||
{ id: 'FLK', text: '马尔维纳斯群岛(福克兰群岛)' },
|
||||
{ id: 'FRA', text: '法国' },
|
||||
{ id: 'FRO', text: '法罗群岛' },
|
||||
{ id: 'FSM', text: '密克罗尼西亚' },
|
||||
{ id: 'GAB', text: '加蓬' },
|
||||
{ id: 'GBR', text: '英国' },
|
||||
{ id: 'GEO', text: '格鲁吉亚' },
|
||||
{ id: 'GHA', text: '加纳' },
|
||||
{ id: 'GIB', text: '直布罗陀' },
|
||||
{ id: 'GIN', text: '几内亚' },
|
||||
{ id: 'GLP', text: '瓜德罗普' },
|
||||
{ id: 'GMB', text: '冈比亚' },
|
||||
{ id: 'GNB', text: '几内亚比绍' },
|
||||
{ id: 'GNQ', text: '赤道几内亚' },
|
||||
{ id: 'GRC', text: '希腊' },
|
||||
{ id: 'GRD', text: '格林纳达' },
|
||||
{ id: 'GRL', text: '格陵兰' },
|
||||
{ id: 'GTM', text: '危地马拉' },
|
||||
{ id: 'GUF', text: '法属圭亚那' },
|
||||
{ id: 'GUM', text: '关岛' },
|
||||
{ id: 'GUY', text: '圭亚那' },
|
||||
{ id: 'HMD', text: '赫德岛和麦克唐纳岛' },
|
||||
{ id: 'HND', text: '洪都拉斯' },
|
||||
{ id: 'HRV', text: '克罗地亚' },
|
||||
{ id: 'HTI', text: '海地' },
|
||||
{ id: 'HUN', text: '匈牙利' },
|
||||
{ id: 'IDN', text: '印度尼西亚' },
|
||||
{ id: 'IND', text: '印度' },
|
||||
{ id: 'IOT', text: '英属印度洋领土' },
|
||||
{ id: 'IRL', text: '爱尔兰' },
|
||||
{ id: 'IRN', text: '伊朗' },
|
||||
{ id: 'IRQ', text: '伊拉克' },
|
||||
{ id: 'ISL', text: '冰岛' },
|
||||
{ id: 'ISR', text: '以色列' },
|
||||
{ id: 'ITA', text: '意大利' },
|
||||
{ id: 'JAM', text: '牙买加' },
|
||||
{ id: 'JOR', text: '约旦' },
|
||||
{ id: 'JPN', text: '日本' },
|
||||
{ id: 'KAZ', text: '哈萨克斯坦' },
|
||||
{ id: 'KEN', text: '肯尼亚' },
|
||||
{ id: 'KGZ', text: '吉尔吉斯斯坦' },
|
||||
{ id: 'KHM', text: '柬埔寨' },
|
||||
{ id: 'KIR', text: '基里巴斯' },
|
||||
{ id: 'KNA', text: '圣基茨和尼维斯' },
|
||||
{ id: 'KOR', text: '韩国' },
|
||||
{ id: 'KWT', text: '科威特' },
|
||||
{ id: 'LAO', text: '老挝' },
|
||||
{ id: 'LBN', text: '黎巴嫩' },
|
||||
{ id: 'LBR', text: '利比里亚' },
|
||||
{ id: 'LBY', text: '利比亚' },
|
||||
{ id: 'LCA', text: '圣卢西亚' },
|
||||
{ id: 'LIE', text: '列支敦士登' },
|
||||
{ id: 'LKA', text: '斯里兰卡' },
|
||||
{ id: 'LSO', text: '莱索托' },
|
||||
{ id: 'LTU', text: '立陶宛' },
|
||||
{ id: 'LUX', text: '卢森堡' },
|
||||
{ id: 'LVA', text: '拉脱维亚' },
|
||||
{ id: 'MAR', text: '摩洛哥' },
|
||||
{ id: 'MCO', text: '摩纳哥' },
|
||||
{ id: 'MDA', text: '摩尔多瓦' },
|
||||
{ id: 'MDG', text: '马达加斯加' },
|
||||
{ id: 'MDV', text: '马尔代夫' },
|
||||
{ id: 'MEX', text: '墨西哥' },
|
||||
{ id: 'MHL', text: '马绍尔群岛' },
|
||||
{ id: 'MKD', text: '马斯顿' },
|
||||
{ id: 'MLI', text: '马里' },
|
||||
{ id: 'MLT', text: '马耳他' },
|
||||
{ id: 'MMR', text: '缅甸' },
|
||||
{ id: 'MNG', text: '蒙古' },
|
||||
{ id: 'MNP', text: '北马里亚纳' },
|
||||
{ id: 'MOZ', text: '莫桑比克' },
|
||||
{ id: 'MRT', text: '毛里塔尼亚' },
|
||||
{ id: 'MSR', text: '蒙特塞拉特' },
|
||||
{ id: 'MTQ', text: '马提尼克' },
|
||||
{ id: 'MUS', text: '毛里求斯' },
|
||||
{ id: 'MWI', text: '马拉维' },
|
||||
{ id: 'MYS', text: '马来西亚' },
|
||||
{ id: 'MYT', text: '马约特' },
|
||||
{ id: 'NAM', text: '纳米比亚' },
|
||||
{ id: 'NCL', text: '新喀里多尼亚' },
|
||||
{ id: 'NER', text: '尼日尔' },
|
||||
{ id: 'NFK', text: '诺福克岛' },
|
||||
{ id: 'NGA', text: '尼日利亚' },
|
||||
{ id: 'NIC', text: '尼加拉瓜' },
|
||||
{ id: 'NIU', text: '纽埃' },
|
||||
{ id: 'NLD', text: '荷兰' },
|
||||
{ id: 'NOR', text: '挪威' },
|
||||
{ id: 'NPL', text: '尼泊尔' },
|
||||
{ id: 'NRU', text: '瑙鲁' },
|
||||
{ id: 'NZL', text: '新西兰' },
|
||||
{ id: 'OMN', text: '阿曼' },
|
||||
{ id: 'PAK', text: '巴基斯坦' },
|
||||
{ id: 'PAN', text: '巴拿马' },
|
||||
{ id: 'PCN', text: '皮特凯恩群岛' },
|
||||
{ id: 'PER', text: '秘鲁' },
|
||||
{ id: 'PHL', text: '菲律宾' },
|
||||
{ id: 'PLW', text: '帕劳' },
|
||||
{ id: 'PNG', text: '巴布亚新几内亚' },
|
||||
{ id: 'POL', text: '波兰' },
|
||||
{ id: 'PRI', text: '波多黎各' },
|
||||
{ id: 'PRK', text: '朝鲜' },
|
||||
{ id: 'PRT', text: '葡萄牙' },
|
||||
{ id: 'PRY', text: '巴拉圭' },
|
||||
{ id: 'PSE', text: '巴勒斯坦' },
|
||||
{ id: 'PYF', text: '法属波利尼西亚' },
|
||||
{ id: 'QAT', text: '卡塔尔' },
|
||||
{ id: 'REU', text: '留尼汪' },
|
||||
{ id: 'ROM', text: '罗马尼亚' },
|
||||
{ id: 'RUS', text: '俄罗斯' },
|
||||
{ id: 'RWA', text: '卢旺达' },
|
||||
{ id: 'SAU', text: '沙特阿拉伯' },
|
||||
{ id: 'SCG', text: '塞尔维亚和黑山' },
|
||||
{ id: 'SDN', text: '苏丹' },
|
||||
{ id: 'SEN', text: '塞内加尔' },
|
||||
{ id: 'SGP', text: '新加坡' },
|
||||
{ id: 'SGS', text: '南乔治亚岛和南桑德韦奇岛' },
|
||||
{ id: 'SHN', text: '圣赫勒拿' },
|
||||
{ id: 'SJM', text: '斯瓦尔巴群岛和扬马群岛' },
|
||||
{ id: 'SLB', text: '所罗门群岛' },
|
||||
{ id: 'SLE', text: '塞拉利昂' },
|
||||
{ id: 'SLV', text: '萨尔瓦多' },
|
||||
{ id: 'SMR', text: '圣马力诺' },
|
||||
{ id: 'SOM', text: '索马里' },
|
||||
{ id: 'SPM', text: '圣皮埃尔和密克隆' },
|
||||
{ id: 'STP', text: '圣多美和普林西比' },
|
||||
{ id: 'SUR', text: '苏里南' },
|
||||
{ id: 'SVK', text: '斯洛伐克' },
|
||||
{ id: 'SVN', text: '斯洛文尼亚' },
|
||||
{ id: 'SWE', text: '瑞典' },
|
||||
{ id: 'SWZ', text: '斯威士兰' },
|
||||
{ id: 'SYC', text: '塞舌尔' },
|
||||
{ id: 'SYR', text: '叙利亚' },
|
||||
{ id: 'TCA', text: '特克斯和凯科斯群岛' },
|
||||
{ id: 'TCD', text: '乍得' },
|
||||
{ id: 'TGO', text: '多哥' },
|
||||
{ id: 'THA', text: '泰国' },
|
||||
{ id: 'TJK', text: '塔吉克斯坦' },
|
||||
{ id: 'TKL', text: '托克劳' },
|
||||
{ id: 'TKM', text: '土库曼斯坦' },
|
||||
{ id: 'TMP', text: '东帝汶' },
|
||||
{ id: 'TON', text: '汤加' },
|
||||
{ id: 'TTO', text: '特立尼达和多巴哥' },
|
||||
{ id: 'TUN', text: '突尼斯' },
|
||||
{ id: 'TUR', text: '土耳其' },
|
||||
{ id: 'TUV', text: '图瓦卢' },
|
||||
{ id: 'TZA', text: '坦桑尼亚' },
|
||||
{ id: 'UGA', text: '乌干达' },
|
||||
{ id: 'UKR', text: '乌克兰' },
|
||||
{ id: 'UMI', text: '美属本土外小岛屿' },
|
||||
{ id: 'URY', text: '乌拉圭' },
|
||||
{ id: 'USA', text: '美国' },
|
||||
{ id: 'UZB', text: '乌兹别克斯坦' },
|
||||
{ id: 'VAT', text: '梵蒂冈' },
|
||||
{ id: 'VCT', text: '圣文森特和格林纳丁斯' },
|
||||
{ id: 'VEN', text: '委内瑞拉' },
|
||||
{ id: 'VGB', text: '英属维尔京群岛' },
|
||||
{ id: 'VIR', text: '美属维尔京群岛' },
|
||||
{ id: 'VNM', text: '越南' },
|
||||
{ id: 'VUT', text: '瓦努阿图' },
|
||||
{ id: 'WLF', text: '瓦利斯和富图纳群岛' },
|
||||
{ id: 'WSM', text: '西萨摩亚' },
|
||||
{ id: 'YEM', text: '也门' },
|
||||
{ id: 'ZAF', text: '南非' },
|
||||
{ id: 'ZAR', text: '扎伊尔' },
|
||||
{ id: 'ZMB', text: '赞比亚' },
|
||||
{ id: 'ZWE', text: '津巴布韦' }
|
||||
{
|
||||
id: 1,
|
||||
text: '中国大陆'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '中国香港'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '中国澳门'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '中国台湾'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '英国'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
text: '印度'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
text: '意大利'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
text: '以色列'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
text: '新西兰'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
text: '希腊'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
text: '西班牙'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
text: '威尔士'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
text: '泰国'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
text: '苏格兰'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
text: '瑞士'
|
||||
},
|
||||
{
|
||||
id: 16,
|
||||
text: '瑞典'
|
||||
},
|
||||
{
|
||||
id: 17,
|
||||
text: '日本'
|
||||
},
|
||||
{
|
||||
id: 18,
|
||||
text: '葡萄牙'
|
||||
},
|
||||
{
|
||||
id: 19,
|
||||
text: '挪威'
|
||||
},
|
||||
{
|
||||
id: 20,
|
||||
text: '尼日利亚'
|
||||
},
|
||||
{
|
||||
id: 21,
|
||||
text: '美国'
|
||||
},
|
||||
{
|
||||
id: 22,
|
||||
text: '加拿大'
|
||||
},
|
||||
{
|
||||
id: 23,
|
||||
text: '荷兰'
|
||||
},
|
||||
{
|
||||
id: 24,
|
||||
text: '韩国'
|
||||
},
|
||||
{
|
||||
id: 25,
|
||||
text: '芬兰'
|
||||
},
|
||||
{
|
||||
id: 26,
|
||||
text: '法国'
|
||||
},
|
||||
{
|
||||
id: 27,
|
||||
text: '俄国'
|
||||
},
|
||||
{
|
||||
id: 28,
|
||||
text: '德国'
|
||||
},
|
||||
{
|
||||
id: 29,
|
||||
text: '波兰'
|
||||
},
|
||||
{
|
||||
id: 30,
|
||||
text: '巴西'
|
||||
},
|
||||
{
|
||||
id: 31,
|
||||
text: '澳大利亚'
|
||||
},
|
||||
{
|
||||
id: 32,
|
||||
text: '奥地利'
|
||||
},
|
||||
{
|
||||
id: 33,
|
||||
text: '爱尔兰'
|
||||
},
|
||||
{
|
||||
id: 34,
|
||||
text: '埃及'
|
||||
}
|
||||
],
|
||||
//证件类型 -- 未改动
|
||||
//证件类型
|
||||
idType: [
|
||||
{ id: '0', text: '身份证' },
|
||||
{ id: '1', text: '户口本', disabled: true },
|
||||
{ id: '2', text: '出生证明', disabled: true },
|
||||
{ id: '4', text: '外国人护照', disabled: true },
|
||||
{ id: '5', text: '港澳居民来往内地通行证', disabled: true },
|
||||
{ id: '6', text: '台湾居民来往大陆通行证', disabled: true },
|
||||
{ id: '7', text: '其他', disabled: true }
|
||||
{
|
||||
id: 1,
|
||||
text: '身份证'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '户口本'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '出生证明'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '护照'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '港澳居民通行证'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
text: '台湾居民通行证'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
text: '其他'
|
||||
}
|
||||
],
|
||||
//投保人证件类型
|
||||
insuredIdType: [
|
||||
{ id: '0', text: '身份证' },
|
||||
{ id: '1', text: '户口本', disabled: true },
|
||||
{ id: '2', text: '出生证明', disabled: true },
|
||||
{ id: '3', text: '外国人永久居留身份证', disabled: true },
|
||||
{ id: '4', text: '外国人护照', disabled: true },
|
||||
{ id: '5', text: '港澳居民来往内地通行证', disabled: true },
|
||||
{ id: '6', text: '台湾居民来往大陆通行证', disabled: true },
|
||||
{ id: '7', text: '其他', disabled: true },
|
||||
{ id: '9', text: '港澳台居民居住证', disabled: true }
|
||||
{
|
||||
id: 1,
|
||||
text: '身份证'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '户口本',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '出生证明',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '护照'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '港澳居民通行证'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
text: '台湾居民通行证'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
text: '其他'
|
||||
}
|
||||
],
|
||||
//代理人证件类型
|
||||
agentIdType: [
|
||||
{ id: 0, text: '居民身份证' },
|
||||
{ id: 1, text: '户口本', disabled: true },
|
||||
{ id: 2, text: '出生证', disabled: true },
|
||||
{ id: 3, text: '外国人永久居留身份证', disabled: true },
|
||||
{ id: 4, text: '外国人护照', disabled: true },
|
||||
{ id: 5, text: '港澳居民来往内地通行证', disabled: true },
|
||||
{ id: 6, text: '台湾居民来往大陆通行证', disabled: true },
|
||||
{ id: 7, text: '其他', disabled: true }
|
||||
],
|
||||
//出生证明 -- 未改动
|
||||
//出生证明
|
||||
birthType: [
|
||||
{ id: 1, text: '身份证' },
|
||||
{ id: 2, text: '户口本', disabled: true },
|
||||
{ id: 3, text: '出生证明', disabled: true },
|
||||
{ id: 4, text: '护照', disabled: true },
|
||||
{ id: 5, text: '港澳居民通行证', disabled: true },
|
||||
{ id: 6, text: '台湾居民通行证', disabled: true },
|
||||
{ id: 7, text: '其他', disabled: true }
|
||||
{
|
||||
id: 1,
|
||||
text: '身份证'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '户口本'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '出生证明',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '护照'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '港澳居民通行证'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
text: '台湾居民通行证'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
text: '其他'
|
||||
}
|
||||
],
|
||||
//投保人/被保人关系
|
||||
relationToAppnt: [{ id: '00', text: '本人' }, { id: '01', text: '配偶' }, { id: '02', text: '父母' }, { id: '03', text: '子女' }, { id: '04', text: '其他' }],
|
||||
relationToAppnt: [
|
||||
{
|
||||
id: 1,
|
||||
text: '本人'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '配偶'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '父母'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '子女'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '其他'
|
||||
}
|
||||
],
|
||||
//婚姻状况
|
||||
marriage: [{ id: '0', text: '已婚' }, { id: '1', text: '单身' }, { id: '2', text: '其他' }],
|
||||
marriage: [
|
||||
{
|
||||
id: 1,
|
||||
text: '已婚'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '未婚'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '离婚'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '丧偶'
|
||||
}
|
||||
],
|
||||
//文化程度
|
||||
degree: [
|
||||
{ id: '0', text: '博士及以上' },
|
||||
{ id: '1', text: '硕士' },
|
||||
{ id: '2', text: '本科' },
|
||||
{ id: '3', text: '大专' },
|
||||
{ id: '4', text: '中专' },
|
||||
{ id: '5', text: '高中' },
|
||||
{ id: '6', text: '初中' },
|
||||
{ id: '7', text: '其它' }
|
||||
{
|
||||
id: 1,
|
||||
text: '博士及以上'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '硕士'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '本科'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '大专'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '高中'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
text: '初中'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
text: '中专'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
text: '小学'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
text: '小学以下'
|
||||
}
|
||||
],
|
||||
//居民身份 仅支持中国 -- 未改动
|
||||
taxIdentity: [{ id: '1', text: '仅为中国' }],
|
||||
//交费期限 -- 未改动
|
||||
//居民身份 仅支持中国
|
||||
taxIdentity: [
|
||||
{
|
||||
id: 1,
|
||||
text: '仅为中国'
|
||||
}
|
||||
],
|
||||
//交费期限
|
||||
payEndYear: [
|
||||
{
|
||||
id: 1,
|
||||
@@ -356,36 +376,31 @@ export default {
|
||||
],
|
||||
//交费方式
|
||||
payIntv: [
|
||||
{
|
||||
id: -1,
|
||||
text: '不定期交',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 0,
|
||||
text: '一次交清'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
text: '月交',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
text: '年交'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
id: 2,
|
||||
text: '季交',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
id: 3,
|
||||
text: '半年交',
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '年交'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
text: '一次交清'
|
||||
}
|
||||
],
|
||||
// 保险期间 data-dictionary -- 未改动
|
||||
// 保险期间 data-dictionary
|
||||
insureYear: [
|
||||
{
|
||||
id: 1,
|
||||
@@ -444,7 +459,7 @@ export default {
|
||||
text: '终身'
|
||||
}
|
||||
],
|
||||
//客户类型 -- 未改动
|
||||
//客户类型
|
||||
customerType: [
|
||||
{
|
||||
id: 0,
|
||||
@@ -455,7 +470,7 @@ export default {
|
||||
text: '老客户'
|
||||
}
|
||||
],
|
||||
//客户来源 -- 未改动
|
||||
//客户来源
|
||||
customerSource: [
|
||||
{
|
||||
id: 0,
|
||||
@@ -473,20 +488,16 @@ export default {
|
||||
//在职情况
|
||||
workCondition: [
|
||||
{
|
||||
id: '01',
|
||||
id: 1,
|
||||
text: '在职'
|
||||
},
|
||||
{
|
||||
id: '02',
|
||||
text: '二次增员'
|
||||
id: 2,
|
||||
text: '退休'
|
||||
},
|
||||
{
|
||||
id: '03',
|
||||
text: '离职'
|
||||
},
|
||||
{
|
||||
id: '04',
|
||||
text: '二次离职'
|
||||
id: 3,
|
||||
text: '其他'
|
||||
}
|
||||
],
|
||||
policyState: [
|
||||
@@ -665,6 +676,14 @@ export default {
|
||||
{
|
||||
id: '44',
|
||||
text: '计划书转投保'
|
||||
},
|
||||
{
|
||||
id: '45',
|
||||
text: '核心扣费失败'
|
||||
},
|
||||
{
|
||||
id: '46',
|
||||
text: '自核不通过待转人核'
|
||||
}
|
||||
],
|
||||
riskType: [
|
||||
|
||||
@@ -31,8 +31,7 @@ service.interceptors.request.use(
|
||||
})
|
||||
}
|
||||
|
||||
// config.headers['token'] = window.localStorage.getItem('token')
|
||||
config.headers['token'] = '507e5ff426364e95b22cd4c1e22f427f'
|
||||
config.headers['token'] = window.localStorage.getItem('token')
|
||||
return config
|
||||
},
|
||||
error => {
|
||||
@@ -66,6 +65,7 @@ service.interceptors.response.use(
|
||||
}
|
||||
},
|
||||
error => {
|
||||
Toast.clear()
|
||||
console.log('err' + error) // for debug
|
||||
//Toast.fail(error.message)
|
||||
return Promise.reject(error)
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
}
|
||||
|
||||
body {
|
||||
height:auto;
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
@@ -20,8 +19,7 @@ body {
|
||||
}
|
||||
|
||||
html {
|
||||
height:auto;
|
||||
max-height: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
a,
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
}
|
||||
|
||||
.bg-green-dark {
|
||||
background: #E9332E !important;
|
||||
background: #4fc6b3 !important;
|
||||
}
|
||||
|
||||
.bg-blue-dark {
|
||||
|
||||
@@ -5,34 +5,34 @@
|
||||
.van-picker__cancel,
|
||||
.van-picker__confirm,
|
||||
.van-tag--danger.van-tag--plain {
|
||||
color: #E9332E;
|
||||
color: #4fc6b3;
|
||||
}
|
||||
|
||||
.van-button--plain.van-button--danger,
|
||||
.van-tag--plain.van-tag--danger {
|
||||
color: #E9332E;
|
||||
color: #4fc6b3;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.van-checkbox__icon--checked .van-icon {
|
||||
color: #fff;
|
||||
background-color: #E9332E;
|
||||
border-color: #E9332E;
|
||||
background-color: #4fc6b3;
|
||||
border-color: #4fc6b3;
|
||||
}
|
||||
|
||||
.van-button--danger {
|
||||
background: #E9332E;
|
||||
border: 1px solid #E9332E;
|
||||
background: #4fc6b3;
|
||||
border: 1px solid #4fc6b3;
|
||||
}
|
||||
|
||||
.van-tabs__line,
|
||||
.van-tag--danger {
|
||||
background-color: #E9332E;
|
||||
background-color: #4fc6b3;
|
||||
}
|
||||
|
||||
.van-radio__icon--checked .van-icon {
|
||||
border-color: #E9332E !important;
|
||||
background-color: #E9332E !important;
|
||||
border-color: #4fc6b3 !important;
|
||||
background-color: #4fc6b3 !important;
|
||||
}
|
||||
|
||||
.van-cell:not(:last-child)::after {
|
||||
@@ -47,7 +47,7 @@
|
||||
.van-dialog__header {
|
||||
padding-top: 20px;
|
||||
margin-bottom: 8px;
|
||||
color: #E9332E;
|
||||
color: #4fc6b3;
|
||||
}
|
||||
|
||||
.van-dialog__footer {
|
||||
@@ -71,7 +71,7 @@
|
||||
}
|
||||
|
||||
.van-dialog__confirm {
|
||||
background: #E9332E;
|
||||
background: #4fc6b3;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//颜色
|
||||
$white: #fff !default;
|
||||
$green: #E9332E !default;
|
||||
$green: #4fc6b3 !default;
|
||||
$red: #f56123 !default;
|
||||
$yellow: #f56123 !default;
|
||||
$orange: #dd9c56 !default;
|
||||
@@ -19,12 +19,28 @@ $font-size-xl: 18px !default;
|
||||
$font-size-xll: 26px !default;
|
||||
|
||||
// 宽度列表
|
||||
$width-list: 8 10 12 15 18 20 35 40 45 50 60 70 80 86 90 100 110 120 130 140 150 155 160 165 180 192 200 220 240 250 260 280 315 325 345 350 365 400 440 445 450
|
||||
550 700 1340;
|
||||
$width-list: 8 10 12 15 18 20 35 40 45 50 60 70 80 86 90 100 110 120 130 140 150 155 160 165 180 192 200 220 240 250 260 280 315 325 345 350 365 400 440 445 450 550 700 1340;
|
||||
|
||||
// 内外边距列表
|
||||
$distance-list: 0 1 2 5 6 7 8 9 10 12 15 20 25 30 35 40 45 50 60 70 80 86 90 100 150 165 185 210;
|
||||
$distance-class-list: m, mv, mh, mt, ml, mr, mb, p, pv, ph, pt, pl, pr, pb, top, left, right, bottom;
|
||||
$distance-list: -25 0 1 2 5 6 7 8 9 10 12 15 20 25 30 35 40 45 50 60 70 80 86 90 100 150 165 185 210 250;
|
||||
$distance-class-list: m,
|
||||
mv,
|
||||
mh,
|
||||
mt,
|
||||
ml,
|
||||
mr,
|
||||
mb,
|
||||
p,
|
||||
pv,
|
||||
ph,
|
||||
pt,
|
||||
pl,
|
||||
pr,
|
||||
pb,
|
||||
top,
|
||||
left,
|
||||
right,
|
||||
bottom;
|
||||
|
||||
//圆角弧度
|
||||
$radius: 1 2 3 4 5 6 7 8 9 10 12 15 18 20 50 100;
|
||||
|
||||
@@ -29,6 +29,10 @@ export default {
|
||||
return new Date('2039-12-31')
|
||||
}
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: '11'
|
||||
@@ -138,7 +142,7 @@ export default {
|
||||
this.$emit('cancel', '')
|
||||
},
|
||||
DatePickerShow(flag) {
|
||||
if (this.readonly) {
|
||||
if (this.readonly || this.disabled) {
|
||||
return
|
||||
}
|
||||
this.showDataPicker = flag
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="text-center">
|
||||
<img class="mt40 w200" src="../../../assets/images/pic_page-non.png" />
|
||||
<img class="mt40" src="../../../assets/images/pic_page-non.png" />
|
||||
<p class="mt15">暂无客户</p>
|
||||
</div>
|
||||
</van-index-bar>
|
||||
|
||||
@@ -117,8 +117,8 @@
|
||||
</van-cell-group>
|
||||
|
||||
<!-- 工作信息 -->
|
||||
<van-cell-group class="mt5">
|
||||
<p class="title pl10 pv5">工作信息</p>
|
||||
<van-cell-group>
|
||||
<p class="title pl10 pv12 mt10">工作信息</p>
|
||||
<van-field
|
||||
:value="userInfo.degree | idToText('degree')"
|
||||
readonly
|
||||
@@ -229,7 +229,7 @@
|
||||
|
||||
<!-- 家庭信息 -->
|
||||
<van-cell-group class="mt5">
|
||||
<p class="title pl10 pv5">家庭信息</p>
|
||||
<p class="title pl10 pv12 mt10">家庭信息</p>
|
||||
<van-field
|
||||
:value="userInfo.marriage | idToText('marriage')"
|
||||
readonly
|
||||
@@ -468,11 +468,16 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 证件号码规则校验
|
||||
// // 证件号码规则校验
|
||||
if (!idNoCheck.isIdno(this.userInfo.customerIdNumber)) {
|
||||
return this.$toast('您填写的证件号码有误,只能为18位以内数字或字母组合')
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
//判断婚否
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.validateMarr()
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
//证件是户口本
|
||||
} else if (this.userInfo.idType == '2' && this.userInfo.customerIdNumber.length != 18) {
|
||||
@@ -494,12 +499,34 @@ export default {
|
||||
} else if (!/^(H|M)[0-9]{8}$/.test(this.userInfo.customerIdNumber)) {
|
||||
return this.$toast('证件类型为港澳居民通行证的,证件号码首位字母为"H"/"M",证件号码第2位至第9位为阿拉伯数字')
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
//判断婚否
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.validateMarr()
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
//证件是台湾居民通行证
|
||||
} else if (this.userInfo.idType == '6' && this.userInfo.customerIdNumber.length != 8) {
|
||||
console.log('证件类型是台湾居民通行证')
|
||||
return this.$toast('证件类型为台湾居民通行证的,证件号码须为8位数字')
|
||||
} else {
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.validateMarr()
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
},
|
||||
//婚否校验
|
||||
validateMarr() {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
if ((this.userInfo.customerSex == '0' && age < 22) || (this.userInfo.customerSex == '1' && age < 20)) {
|
||||
if (this.userInfo.marriage != '2') {
|
||||
return this.$toast('年龄与婚姻状况不符')
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
}
|
||||
} else {
|
||||
this.$parent.updateCustomerInfo()
|
||||
}
|
||||
@@ -561,12 +588,14 @@ export default {
|
||||
this.valueKey = value.text
|
||||
} else if (this.pickerType == '2') {
|
||||
;[this.userInfo.idType, this.idType] = [value.id, value.text]
|
||||
//身份证以外的证件类型可以使用长期
|
||||
if (value.id != '1') {
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
//身份证,出生证明,护照以外的证件类型可以使用长期
|
||||
if (value.id == '1') {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
} else if (value.id == '2' || value.id == '3') {
|
||||
this.effectiveDateTypeAble = true
|
||||
} else {
|
||||
this.effectiveDateTypeAble = false
|
||||
}
|
||||
} else if (this.pickerType == '3') {
|
||||
;[this.userInfo.degree, this.degree] = [value.id, value.text]
|
||||
@@ -684,7 +713,8 @@ export default {
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.title {
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
}
|
||||
[class*='van-hairline']::after {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<van-col span="14" class="color">{{ idCard }}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="10">证件起止日期:</van-col>
|
||||
<van-col span="10">证件起始日期:</van-col>
|
||||
<van-col span="14" class="color">{{ startDate }}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
|
||||
@@ -5,33 +5,37 @@
|
||||
*
|
||||
*/
|
||||
|
||||
let apiDomain, imgDomain, assetsUrl,mainUrl
|
||||
let apiDomain, imgDomain, assetsUrl, mainUrl
|
||||
// 可以多个接口域名,按需添加
|
||||
console.log('环境:', process.env.VUE_APP_FLAG)
|
||||
switch (process.env.VUE_APP_FLAG) {
|
||||
case 'development':
|
||||
// apiDomain = 'http://47.96.143.111:7000/api/v1'
|
||||
apiDomain = 'http://139.199.50.151:7000/api/v1' // 国富api
|
||||
imgDomain = 'http://139.199.50.151:7000'
|
||||
apiDomain = 'http://47.96.143.111:7000/api/v1'
|
||||
imgDomain = 'http://116.62.236.168:7012/updown'
|
||||
// 静态服务资源
|
||||
assetsUrl = 'http://139.199.50.151:8000/app/'
|
||||
assetsUrl = 'http://47.96.143.111:8000/app/'
|
||||
mainUrl = 'http://47.96.143.111'
|
||||
break
|
||||
case 'staging':
|
||||
apiDomain = 'http://47.96.143.111:7000/api/v1'
|
||||
imgDomain = 'http://211.159.248.123:7001'
|
||||
imgDomain = 'http://116.62.236.168:7012/updown'
|
||||
// 静态服务资源
|
||||
assetsUrl = 'http://47.96.143.111:8000/app/'
|
||||
mainUrl=''
|
||||
mainUrl = 'http://47.96.143.111'
|
||||
break
|
||||
case 'production':
|
||||
apiDomain = 'http://139.9.25.84:7000/api/v1'
|
||||
imgDomain = 'http://116.62.236.168:7001'
|
||||
// 静态服务资源
|
||||
assetsUrl = 'http://139.9.25.84:7001/'
|
||||
mainUrl=''
|
||||
// apiDomain = 'http://139.9.25.84:7000/api/v1'
|
||||
// imgDomain = 'http://139.9.25.84:7002/updown'
|
||||
// assetsUrl = 'http://139.9.25.84:7001/'
|
||||
// mainUrl = 'http://139.9.25.84'
|
||||
//域名添加
|
||||
apiDomain = 'https://mobile.dingchenglife.com.cn/api/v1'
|
||||
imgDomain = 'https://mobile.dingchenglife.com.cn:7002/updown'
|
||||
assetsUrl = 'https://mobile.dingchenglife.com.cn:7001/'
|
||||
mainUrl = 'https://mobile.dingchenglife.com.cn'
|
||||
break
|
||||
}
|
||||
console.log('地址:', apiDomain, imgDomain, assetsUrl)
|
||||
/**
|
||||
* 配置文件
|
||||
* apiDomain: // 接口域名
|
||||
@@ -46,5 +50,4 @@ export default {
|
||||
// 静态服务资源
|
||||
assetsUrl,
|
||||
mainUrl
|
||||
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @example
|
||||
*/
|
||||
export default {
|
||||
inserted(el, binding, vnode) {
|
||||
inserted (el, binding, vnode) {
|
||||
el.addEventListener('click', e => {
|
||||
el.classList.add('is-disabled')
|
||||
el.disabled = true
|
||||
|
||||
@@ -51,11 +51,11 @@ Vue.prototype.$jump = Jump
|
||||
Vue.prototype.$utils = utils
|
||||
|
||||
//混合开发调试工具
|
||||
if (process.env.VUE_APP_FLAG == 'development') {
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
// let Eruda = require('eruda')
|
||||
// Eruda.init()
|
||||
Vue.prototype.$rootUrl = location.origin
|
||||
} else if (process.env.VUE_APP_FLAG == 'production') {
|
||||
} else if (process.env.NODE_ENV == 'production') {
|
||||
Vue.prototype.$rootUrl = location.origin + '/ebiz-h5'
|
||||
}
|
||||
let Eruda = require('eruda')
|
||||
|
||||
@@ -63,7 +63,7 @@ export default [
|
||||
name: 'CompanyIntroduce',
|
||||
component: companyIntroduce,
|
||||
meta: {
|
||||
title: '关于国富',
|
||||
title: '关于鼎诚',
|
||||
index: 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="mt10">
|
||||
<p class="fw600">国富人寿</p>
|
||||
<p class="fw600">鼎诚人寿</p>
|
||||
<ul class="pl20">
|
||||
<li><router-link to="/proposal/list">建议书</router-link></li>
|
||||
<li><router-link to="/sale/list">电子投保</router-link></li>
|
||||
|
||||
@@ -440,7 +440,7 @@ export default {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确认删除该险种?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF',
|
||||
className: 'dialog-delete'
|
||||
})
|
||||
|
||||
@@ -5,12 +5,15 @@
|
||||
<img class="w86" src="@/assets/images/logo.png" />
|
||||
<h6>{{ aversion }}</h6>
|
||||
</div>
|
||||
<h3 class="fs15 text-left pl15">公司简介 Company Profile</h3>
|
||||
<h3 class="fs15 text-left pl15">公司简介</h3>
|
||||
<p class="ph15">
|
||||
国富人寿保险股份有限公司由广西投资集团有限公司、广州唯品会信息科技有限公司、吉安新年广告传媒有限公司、北京信中利投资股份有限公司、湖北三峡华翔集团有限公司、广西日报传媒集团有限公司、上海恒大建材市场管理股份有限公司、广西名都生态科技发展有限公司等8家公司共同发起创立。公司注册地在我国面向东盟开放合作的前沿城市——南宁。
|
||||
鼎诚人寿保险有限责任公司(简称“鼎诚人寿”),是一家全国性合资寿险公司,前身为成立于2009年3月的新光海航人寿保险有限责任公司。2018年9月经中国银行保险监督管理委员会批准,鼎诚人寿完成了股权变更及增资。
|
||||
</p>
|
||||
<p class="ph15">
|
||||
国富人寿将秉持“老有所养,病有所医,红利共享,国富民安”的核心理念,以“让更多的人过上有尊严的健康快乐的生活”作为企业使命,树立并践行“简单、专注、诚信、激情、关爱、领先”的价值观。专注于客户体验,研发满足客户需求的产品,为客户提供有温度的服务。依法合规、稳健经营,立足广西、深耕广西、面向全国,更好地回馈社会、回报股东、与时俱进、超越自我。
|
||||
鼎诚人寿股东不仅资本实力雄厚,更有新光人寿领先的国际化寿险公司经营管理经验。鼎诚人寿管理团队由在寿险行业有过数十年工作经历、在大型寿险公司管理岗位领军的专业人士组成。
|
||||
</p>
|
||||
<p class="ph15">
|
||||
面对我国社会保障体系改革的发展机遇,鼎诚人寿确立了行稳致远的公司战略:坚持“专业化经营、集约式管理、效益型发展”的办企理念;专注寿险经营,聚焦保险保障,着力打造产品品牌、客户服务品牌和教育培训品牌,为客户提供养老、健康、医疗、一般寿险和意外伤害保险等全方位、高品质的寿险服务;努力将公司建设成为具有自身特色、值得客户托付、备受社会尊敬的寿险百年老店。
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -25,6 +28,10 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="defalut">
|
||||
<div class="img">
|
||||
<img class="w200" src="@/assets/images/pic_jingqingqidai.png" />
|
||||
<img src="@/assets/images/pic_jingqingqidai.png" />
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<h3>敬请期待</h3>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</div>
|
||||
<div class="pl45 flex mv10" v-for="(addtion, addIndex) in item.addtion" :key="addIndex">
|
||||
<div class="w50">
|
||||
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
|
||||
<van-tag mark color="#DDF2EF" text-color="#4FC6B3">附加</van-tag>
|
||||
</div>
|
||||
<div class="fs13">
|
||||
{{ addtion.riskName }}
|
||||
@@ -141,7 +141,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '您确认要删除该产品信息吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<van-button class="m-btn fr green" color="#FEEFD8" @click="reset" v-no-more-click="1000">重置</van-button>
|
||||
<van-button type="danger" @click="reset" v-no-more-click="1000">重置</van-button>
|
||||
<van-button type="danger" @click="select" v-no-more-click="1000">确定</van-button>
|
||||
</div>
|
||||
</van-popup>
|
||||
@@ -106,8 +106,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
searchVal: '',
|
||||
show1: true,
|
||||
show2: true,
|
||||
show1: false,
|
||||
show2: false,
|
||||
active1: 0,
|
||||
active2: 0,
|
||||
isFlag: false,
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import echarts from 'echarts'
|
||||
// import echarts from 'echarts'
|
||||
import { Collapse, CollapseItem, Cell, CellGroup, DatetimePicker, Popup, Row, Col, Tab, Tabs } from 'vant'
|
||||
import { getAgentIncome } from '@/api/ebiz/my/my.js'
|
||||
export default {
|
||||
@@ -258,12 +258,12 @@ export default {
|
||||
this.showDatePicker = false
|
||||
},
|
||||
async getIncomeInfo(monthDate) {
|
||||
// console.log('--获取代理人收入明细,请求:', monthDate)
|
||||
console.log(monthDate)
|
||||
// 获取代理人收入明细
|
||||
const res = await getAgentIncome({
|
||||
monthDate
|
||||
})
|
||||
// console.log('--获取代理人收入明细,响应:', JSON.stringify(res))
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
// 当月实收
|
||||
this.monthActualPay = res.monthActualPay
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="home-product-container pb20">
|
||||
<div class="home-product-content">
|
||||
<!-- 精选内容 -->
|
||||
<!-- <div class="home-product-selected">
|
||||
<div class="home-product-selected">
|
||||
<h3 class="home-product-selected-title fs15 pt25 pb15 pl15">精选内容</h3>
|
||||
<div class="home-product-selected-list flex justify-content-s">
|
||||
<div class="home-product-selected-item bg-white ml15 w165 h70 radius6 pl10">
|
||||
@@ -21,19 +21,19 @@
|
||||
<img class="fr mt10" :src="$assetsUrl + 'images/pic_meirixinwen.png'" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- 产品中心 -->
|
||||
<div class="home-product-pcenter">
|
||||
<div class="pcenter-title flex mt4 mr20 mb10 ml15 justify-content-s">
|
||||
<div class="pcenter-title flex mt20 mr20 mb10 ml15 justify-content-s">
|
||||
<h3 class="center-title fs15">产品中心</h3>
|
||||
<span class="more fs13 c-gray-base" @click="getMore">更多</span>
|
||||
</div>
|
||||
<div class="pcenter-list">
|
||||
<div class="pcenter-item text-center">
|
||||
<img :src="$assetsUrl + 'images/pic_chanpin-1.png'" class="w365" alt="" @click="goDetail('GFRSPRO_M0002')" />
|
||||
<img :src="$assetsUrl + 'images/pic_chanpin-10.png'" class="w365 h130" alt="" @click="goDetail('DCRSPRO_M0001')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img class="w365 " :src="$assetsUrl + 'images/pic_chanpin-2.png'" alt="" @click="goDetail('GFRSPRO_M0001')" />
|
||||
<img class="w345 h110" :src="$assetsUrl + 'images/pic_chanpin-2.png'" alt="" @click="goDetail('DCRSPRO_M0002')" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -94,7 +94,6 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.home-product-container {
|
||||
.home-product-selected-item {
|
||||
box-sizing: border-box;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<div class="product-detail-container">
|
||||
<!-- tab 栏 -->
|
||||
<van-sticky>
|
||||
<van-tabs v-model="active" color="#E9332EFF" title-active-color="#E9332EFF" class="">
|
||||
<van-tab title="产品特色" class="mt10"> </van-tab>
|
||||
<van-tabs v-model="active" color="#4FC6B3FF" title-active-color="#4FC6B3FF">
|
||||
<van-tab title="产品特色"> </van-tab>
|
||||
<van-tab title="产品资料" class="mt10"> </van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
@@ -22,7 +22,7 @@
|
||||
</van-list>
|
||||
<!-- 底部按钮 -->
|
||||
<div class="bottom-area bottom-btn">
|
||||
<van-button class="m-btn fl green" color="#FEEFD8" @click="goProposal">制作建议书</van-button>
|
||||
<van-button class="m-btn fl green" @click="goProposal">制作建议书</van-button>
|
||||
<van-button class="m-btn fr" type="danger" @click="goInsure">立即投保</van-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -134,9 +134,6 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.product-detail-container {
|
||||
/deep/.van-sticky{
|
||||
background: #fff;
|
||||
}
|
||||
.product-detail-introduct-image {
|
||||
width: 100%;
|
||||
}
|
||||
@@ -156,8 +153,8 @@ export default {
|
||||
border-color: transparent;
|
||||
}
|
||||
/deep/.van-button--default {
|
||||
background-color: #FEEFD8;
|
||||
color: #E9332E;
|
||||
background-color: #d4f4ec;
|
||||
color: #4fc6b3;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<!-- 没有匹配产品的提示 -->
|
||||
<div v-else class="product-list-default-bg absolute top20">
|
||||
<img src="@/assets/images/pic_page-non.png" alt="" />
|
||||
<img src="@/assets/images/u2198.png" alt="" />
|
||||
<p class="gray text-center">暂无产品</p>
|
||||
</div>
|
||||
<!-- 侧边栏险种选择 -->
|
||||
@@ -29,9 +29,9 @@
|
||||
<div class="product-list-risk-container mt10 flex justify-content-s">
|
||||
<van-tag
|
||||
:active="isActive[idx]"
|
||||
class="ml2 mr2 mb10 pt6 pb6 pl10 pr10 fs13"
|
||||
class="ml8 mr8 mb10 pt6 pb6 pl10 pr10 fs13"
|
||||
size="large"
|
||||
:color="isActive[idx] ? '#E9332E' : '#eaeaea'"
|
||||
:color="isActive[idx] ? '#4fc6b3' : '#eaeaea'"
|
||||
:text-color="isActive[idx] ? '#fff' : '#333'"
|
||||
v-for="(ele, idx) in item.content"
|
||||
:key="idx"
|
||||
@@ -42,7 +42,7 @@
|
||||
</div>
|
||||
<div class="bottom-area bottom-btn">
|
||||
<van-button class="m-btn fr" type="danger" @click="submit">确定</van-button>
|
||||
<van-button class="m-btn fr green" color="#FEEFD8" @click="reset">重置</van-button>
|
||||
<van-button class="m-btn fr green" @click="reset">重置</van-button>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
@@ -90,16 +90,14 @@ export default {
|
||||
filterBtn() {
|
||||
// 筛选按钮的显示
|
||||
// eslint-disable-next-line no-undef
|
||||
setTimeout(()=> {
|
||||
EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/filter_btn.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 500)
|
||||
EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/filter_btn.png',
|
||||
route: { flag: '', extra: {} }
|
||||
}
|
||||
]
|
||||
})
|
||||
},
|
||||
async getLists() {
|
||||
// 获取产品列表
|
||||
@@ -120,11 +118,6 @@ export default {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.risks = res.categorys
|
||||
// 写死添加全部
|
||||
// this.risks[0].content.push({
|
||||
// name:"全部",
|
||||
// code:''
|
||||
// })
|
||||
// this.label = res.categorys[0].label
|
||||
}
|
||||
},
|
||||
@@ -147,11 +140,7 @@ export default {
|
||||
|
||||
// 根据选中险别对产品列表进行筛选
|
||||
this.list = this.proList.filter(item => {
|
||||
if(this.risk==''){
|
||||
return item
|
||||
}else{
|
||||
return item.categoryCode.indexOf(this.risk) != -1
|
||||
}
|
||||
return item.categoryCode.indexOf(this.risk) != -1
|
||||
})
|
||||
},
|
||||
toggleActive(item, idx) {
|
||||
@@ -220,7 +209,7 @@ export default {
|
||||
}
|
||||
/deep/.van-button--default {
|
||||
background-color: #d4f4ec;
|
||||
color: #E9332E;
|
||||
color: #4fc6b3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,6 +224,8 @@ export default {
|
||||
path: '/proposal/chooseInsuredPerson'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="relative">
|
||||
<img :src="item.icon" class="w50 radius50" />
|
||||
<span class="absolute" style="right:0px">
|
||||
<van-icon color="#E9332E" name="checked" v-if="item.check" />
|
||||
<van-icon color="#4fc6b3" name="checked" v-if="item.check" />
|
||||
<van-icon color="gray" name="checked" v-else />
|
||||
</span>
|
||||
</div>
|
||||
@@ -119,7 +119,6 @@ export default {
|
||||
|
||||
if (res.result == '0') {
|
||||
this.chooseList = res.content[0].insuredDTOs
|
||||
console.log(res.content[0].appntDTO,'zzz')
|
||||
localStorage.proposalAppnt = JSON.stringify(res.content[0].appntDTO)
|
||||
this.proposalInfo = res.content[0]
|
||||
if (this.chooseList != null) {
|
||||
@@ -234,7 +233,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '确认删除该被保人?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -281,7 +280,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '确认删除该被保人?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<img class="mt15 w20" src="@/assets/images/icon_logo.png" />
|
||||
<van-divider class="fs15" :style="{ color: '#E9332E', borderColor: '#E9332E' }">
|
||||
<van-divider class="fs15" :style="{ color: '#4FC6B3', borderColor: '#4FC6B3' }">
|
||||
被保险人信息
|
||||
</van-divider>
|
||||
</div>
|
||||
@@ -47,7 +47,7 @@
|
||||
</van-row>
|
||||
<div class="text-center">
|
||||
<img class="mt30 w20" src="@/assets/images/icon_logo.png" />
|
||||
<van-divider class="fs15" :style="{ color: '#E9332E', borderColor: '#E9332E' }">
|
||||
<van-divider class="fs15" :style="{ color: '#4FC6B3', borderColor: '#4FC6B3' }">
|
||||
投保险种信息
|
||||
</van-divider>
|
||||
</div>
|
||||
@@ -79,14 +79,14 @@
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<img class="mt30 w20" src="@/assets/images/icon_logo.png" />
|
||||
<van-divider class="fs15" :style="{ color: '#E9332E', borderColor: '#E9332E' }">
|
||||
<van-divider class="fs15" :style="{ color: '#4FC6B3', borderColor: '#4FC6B3' }">
|
||||
产品特色
|
||||
</van-divider>
|
||||
<div class="bg-green-base c-gray-darker p15 " v-html="insured.productFeatures"></div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<img class="mt30 w20" src="@/assets/images/icon_logo.png" />
|
||||
<van-divider class="fs15" :style="{ color: '#E9332E', borderColor: '#E9332E' }">
|
||||
<van-divider class="fs15" :style="{ color: '#4FC6B3', borderColor: '#4FC6B3' }">
|
||||
利益演算
|
||||
</van-divider>
|
||||
</div>
|
||||
@@ -119,7 +119,7 @@
|
||||
<img class="w20" @click="reduce(risk)" src="@/assets/images/lessen.png" />
|
||||
<van-slider
|
||||
class="w220"
|
||||
active-color="#E9332E"
|
||||
active-color="#4fc6b3"
|
||||
inactive-color="#fff"
|
||||
:min="1"
|
||||
:max="risk.policyYear"
|
||||
@@ -137,7 +137,7 @@
|
||||
</van-collapse>
|
||||
<div class="flex pt15 justify-content-s bg-white">
|
||||
<van-button class="ml20 mr10 fs17 h40 lh40" size="large" plain type="danger" @click="goToCompanyProfile">公司介绍</van-button>
|
||||
<van-button class="ml10 mr20 fs17 h40 lh40" size="large" plain type="danger" @click="goPDF">生成PDF</van-button>
|
||||
<van-button class="ml10 mr20 fs17 h40 lh40" size="large" plain type="danger" @click="goPDF">查看PDF</van-button>
|
||||
</div>
|
||||
<div class="pt40 text-justify bg-white pr15 pl15 c-gray-base fs13 pb60">
|
||||
【温馨提示】本资料仅供客户理解产品条款所用,有关产品的说明、解释、承若、或保证,如与产品条款不一致,均以产品条款为准。
|
||||
@@ -233,7 +233,7 @@ export default {
|
||||
weixinShare({
|
||||
title: this.wxTitle,
|
||||
imgUrl: this.$assetsUrl + 'images/logo.png',
|
||||
desc: '国富为您量身定制的保险产品,请查收'
|
||||
desc: '鼎诚为您量身定制的保险产品,请查收'
|
||||
})
|
||||
} else {
|
||||
Toast.fail(agentResult.resultMessage)
|
||||
@@ -254,7 +254,7 @@ export default {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: this.wxTitle,
|
||||
content: '国富为您量身定制的保险产品,请查收',
|
||||
content: '鼎诚为您量身定制的保险产品,请查收',
|
||||
url: location.origin + '/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
// url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<template>
|
||||
<div class="proposal-list-container">
|
||||
<van-sticky>
|
||||
<van-tabs :line-width="45" title-inactive-color="#999999" v-model="active" @change="tabChange" title-active-color="#E9332E">
|
||||
<van-tabs :line-width="45" title-inactive-color="#999999" v-model="active" @change="tabChange" title-active-color="#4fc6b3">
|
||||
<van-tab title="制作中" name="1"></van-tab>
|
||||
<van-tab title="已制作" name="2"></van-tab>
|
||||
<van-tab title="转投保" name="3"></van-tab>
|
||||
@@ -50,7 +50,7 @@
|
||||
</div>
|
||||
<div class="mv10 pl45 flex" v-for="(addtion, addtionIndex) in mainRisk.addtion" :key="addtionIndex">
|
||||
<span class="mr10" style="flex-shrink: 0">
|
||||
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
|
||||
<van-tag mark color="#DDF2EF" text-color="#4FC6B3">附加</van-tag>
|
||||
</span>
|
||||
<span class="fs13">{{ addtion.riskName }}</span>
|
||||
</div>
|
||||
@@ -186,7 +186,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '确认删除建议书?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
export function checkSex(cacheSex, localSex, relation) {
|
||||
//当关系为配偶时 被保人性别必须与投保人性别不一致
|
||||
return true
|
||||
// if (relation == '2' && localSex == cacheSex) {
|
||||
// return false
|
||||
// } else {
|
||||
// return true
|
||||
// }
|
||||
if (relation == '2' && localSex == cacheSex) {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
}
|
||||
export function checkRelation(relation, age) {
|
||||
//当被保人年龄小于8岁 被保人与投保人关系必须为父母
|
||||
|
||||
@@ -22,14 +22,14 @@
|
||||
v-validate="'required|bankCard'"
|
||||
data-vv-name="银行卡号"
|
||||
/>
|
||||
<!-- <van-button type="danger" size="small" class="bankCard mr10 w110 h20" @click="cardScanning('0')" v-no-more-click="1000">银行卡扫描</van-button>-->
|
||||
<van-button type="danger" size="small" class="bankCard mr10 w110 h20" @click="cardScanning('0')" v-no-more-click="1000">银行卡扫描</van-button>
|
||||
</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="#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" />
|
||||
<van-switch-cell v-model="checked" title="是否自动垫交" active-color="#4fc6b3" inactive-color="#fff" class="ml15 pr30" />
|
||||
<van-icon
|
||||
name="question-o"
|
||||
class="vanIcon"
|
||||
@@ -64,10 +64,10 @@
|
||||
clearable
|
||||
data-vv-name="银行卡号"
|
||||
/>
|
||||
<!-- <van-button type="danger" size="small" class="bankCard mr10 w110 h20" @click="cardScanning('1')" v-no-more-click="1000">银行卡扫描</van-button>-->
|
||||
<van-button type="danger" size="small" class="bankCard mr10 w110 h20" @click="cardScanning('1')" v-no-more-click="1000">银行卡扫描</van-button>
|
||||
</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" />
|
||||
<van-switch-cell v-model="checked" title="是否自动垫交" active-color="#4fc6b3" inactive-color="#fff" class="ml15 pr30" />
|
||||
<van-icon
|
||||
name="question-o"
|
||||
class="vanIcon"
|
||||
@@ -280,28 +280,15 @@ export default {
|
||||
// window.localStorage.setItem('accountInfomation-bank', that.bank)
|
||||
window.localStorage.setItem('accountInformationRadio', that.radio)
|
||||
// window.localStorage.setItem('accountInformation-isPaymentSelf', JSON.stringify(that.checked))
|
||||
// marked by pang on 2019-09-22 影像上传暂不可用,跳过 todo.... begin
|
||||
// that.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/attachmentManagement'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/attachmentManagement'
|
||||
// }
|
||||
// })
|
||||
// todo.....end
|
||||
// todo..... delete
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureConfirmation'
|
||||
url: location.origin + '/#/sale/attachmentManagement'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureConfirmation'
|
||||
path: '/sale/attachmentManagement'
|
||||
}
|
||||
})
|
||||
// todo.....end
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '您确认要删除该受益人吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -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',
|
||||
@@ -322,9 +333,9 @@ export default {
|
||||
userInfo: {
|
||||
name: '', //投保人姓名
|
||||
sex: '0', //投保人性别
|
||||
nativeplace: 'CHN', //国家地区
|
||||
nativeplace: '1', //国家地区
|
||||
birthday: '',
|
||||
idType: '0', //证件类型
|
||||
idType: '1', //证件类型
|
||||
idNo: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
@@ -391,9 +402,9 @@ export default {
|
||||
//设为联系地址
|
||||
this.userInfo.addressStatus = '0'
|
||||
//证件类型
|
||||
this.userInfo.idType = '0'
|
||||
this.userInfo.idType = '1'
|
||||
//国家/地区
|
||||
this.userInfo.nativeplace = 'CHN'
|
||||
this.userInfo.nativeplace = '1'
|
||||
this.$utils.intLocalStorage(res)
|
||||
}
|
||||
})
|
||||
@@ -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({
|
||||
@@ -500,7 +511,6 @@ export default {
|
||||
this.popupShow = false
|
||||
if (this.pickerType == '1') {
|
||||
this.userInfo.nativeplace = value.id
|
||||
console.log('--投保人-国籍选择:', value.id)
|
||||
} else if (this.pickerType == '2') {
|
||||
//身份证以外的证件类型可以使用长期
|
||||
if (value.id != '1') {
|
||||
@@ -511,14 +521,12 @@ export default {
|
||||
}
|
||||
this.userInfo.idType = value.id
|
||||
} else if (this.pickerType == '3') {
|
||||
console.log('----degree:', value)
|
||||
this.userInfo.degree = value.id
|
||||
} else if (this.pickerType == '4') {
|
||||
this.userInfo.socialSecurity = value.id
|
||||
} else if (this.pickerType == '5') {
|
||||
this.userInfo.taxResidentId = value.id
|
||||
} else if (this.pickerType == '6') {
|
||||
console.log('-----marriage', value)
|
||||
this.userInfo.marriage = value.id
|
||||
} else if (this.pickerType == '7') {
|
||||
this.userInfo.jobStatus = value.id
|
||||
@@ -541,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':
|
||||
@@ -670,10 +678,10 @@ export default {
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age >= 16 && age <= 45
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
},
|
||||
nextStep() {
|
||||
console.log('--提交前投保人::::', JSON.stringify(this.userInfo))
|
||||
// console.log(this.userInfo.idType)
|
||||
|
||||
//表单校验, 成功跳转
|
||||
this.$validator.validate().then(valid => {
|
||||
@@ -686,7 +694,7 @@ export default {
|
||||
// }
|
||||
|
||||
//如果证件类型是身份证
|
||||
if (this.userInfo.idType == '0') {
|
||||
if (this.userInfo.idType == '1') {
|
||||
console.log('证件类型是身份证')
|
||||
//校验性别是否与身份证号码位相符
|
||||
if (this.userInfo.idNo.length == '15') {
|
||||
@@ -781,8 +789,8 @@ export default {
|
||||
|
||||
//如果是已婚
|
||||
if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) {
|
||||
if (this.userInfo.marriage == '0') {
|
||||
return this.$toast('年龄与婚姻状况不符')
|
||||
if (this.userInfo.marriage != '2') {
|
||||
return this.$toast('投保人不符合国家婚姻法定年龄')
|
||||
}
|
||||
}
|
||||
// if (this.userInfo.marriage == '1') {
|
||||
@@ -818,7 +826,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '当前信息已经发生改变,有可能影响险种费率,是否确认修改并清除险种信息?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -983,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] && 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)
|
||||
@@ -723,7 +735,7 @@ export default {
|
||||
this.userInfo.marriage = value.id
|
||||
} else if (this.pickerType == '7') {
|
||||
//如果关系是本人
|
||||
if (value.id == '00') {
|
||||
if (value.id == 1) {
|
||||
//获取订单详情
|
||||
getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
|
||||
if (res.result == 0) {
|
||||
@@ -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,13 +978,12 @@ 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() {
|
||||
console.log('--投保--下一步--被保人:', JSON.stringify(this.userInfo))
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
// 计算年龄
|
||||
@@ -969,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
|
||||
@@ -990,7 +1012,7 @@ export default {
|
||||
// }
|
||||
|
||||
//如果证件类型是身份证
|
||||
if (this.userInfo.idType == '0') {
|
||||
if (this.userInfo.idType == '1') {
|
||||
//校验性别是否与身份证号码位相符
|
||||
if (this.userInfo.idNo.length == '15') {
|
||||
//15位身份证第15位是性别位, 奇男偶女
|
||||
@@ -1058,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) {
|
||||
@@ -1094,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()
|
||||
@@ -1126,7 +1148,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '当前信息已经发生改变,有可能影响险种费率,是否确认修改并清除险种信息?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -1299,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() {
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
</div>
|
||||
<div class="mv10 pl45 flex" v-for="(addtional, addtionIndex) in main.addtion" :key="addtionIndex">
|
||||
<span class="mr10" style="flex-shrink: 0">
|
||||
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
|
||||
<van-tag mark color="#DDF2EF" text-color="#4FC6B3">附加</van-tag>
|
||||
</span>
|
||||
<span class="fs13">{{ addtional.riskName }}</span>
|
||||
</div>
|
||||
@@ -87,12 +87,33 @@
|
||||
v-no-more-click="1000"
|
||||
>删除</van-button
|
||||
>
|
||||
<van-button @click="againPay(order)" v-if="active == 'commit' && order.orderStatus == '14'" size="small" class="mr5" type="danger" round
|
||||
<van-button
|
||||
@click="againPay(order)"
|
||||
v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>重新支付</van-button
|
||||
>
|
||||
<van-button @click="goPay(order)" v-if="active == 'commit' && order.orderStatus == '02'" size="small" class="mr5" type="danger" round
|
||||
<van-button
|
||||
@click="goPay(order)"
|
||||
v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '02'"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>去支付</van-button
|
||||
>
|
||||
<!-- <van-button
|
||||
@click="goNucleus(order)"
|
||||
v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '46'"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>提交人工核保</van-button
|
||||
> -->
|
||||
<van-button @click="seePolicy(order)" v-if="active == 'commit'" size="small" type="danger" round>查看投保单</van-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -111,8 +132,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Tabs, Tab, List, Tag, Sticky, Toast } from 'vant'
|
||||
import { orderList, deleteOrderInfo } from '@/api/ebiz/sale/sale'
|
||||
import { Tabs, Tab, List, Tag, Sticky, Toast, Dialog } from 'vant'
|
||||
import { orderList, deleteOrderInfo, selfToHuman } from '@/api/ebiz/sale/sale'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到用户等级
|
||||
|
||||
@@ -123,7 +144,8 @@ export default {
|
||||
[Tab.name]: Tab,
|
||||
[List.name]: List,
|
||||
[Tag.name]: Tag,
|
||||
[Sticky.name]: Sticky
|
||||
[Sticky.name]: Sticky,
|
||||
[Dialog.name]: Dialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -155,6 +177,7 @@ export default {
|
||||
//再次支付
|
||||
againPay(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
localStorage.salelist = '1'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -163,9 +186,37 @@ export default {
|
||||
routerInfo: { path: '/sale/payMent' }
|
||||
})
|
||||
},
|
||||
// 去人工核保
|
||||
// goNucleus() {
|
||||
// let data = {
|
||||
// orderNo: this.underWriteData.orderNo
|
||||
// }
|
||||
// selfToHuman(data).then(res => {
|
||||
// if (res.result == '0') {
|
||||
// Dialog.alert({
|
||||
// title: '提示',
|
||||
// message: '提交人工核保成功'
|
||||
// }).then(() => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/list',
|
||||
// backToFirst: '1'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/list'
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// } else {
|
||||
// this.$toast(res.resultMessage)
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
//去支付
|
||||
goPay(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
localStorage.salelist = '1'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -312,7 +363,7 @@ export default {
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '确认删除投保单吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
cancelButtonColor: '#4FC6B3',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -29,51 +29,19 @@
|
||||
<span class="red">注:以上账号仅为本次扣款使用</span>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- <van-button class="m-btn fr" type="danger" @click="submit">确定</van-button>
|
||||
<van-button class="m-btn fr green" @click="reset">重置</van-button> -->
|
||||
<div class="bg-white bottom-btn">
|
||||
<van-button type="danger" size="large" @click="payMent" v-no-more-click="1000">支付</van-button>
|
||||
<van-button type="danger" style="width: 50vw" @click="cancel" v-no-more-click="1000">返回投保单列表</van-button>
|
||||
<van-button type="danger" style="width: 50vw" @click="payMent" v-no-more-click="1000">去支付</van-button>
|
||||
</div>
|
||||
<form ref="payForm" action="http://10.10.100.84:7003/s3-modules-gateway/embed/gateway.action" method="post">
|
||||
<input name="TransSource" type="text" v-model="payParam.TransSource" />
|
||||
<input name="TransDate" type="text" v-model="payParam.TransDate" />
|
||||
<input name="TransTime" type="text" v-model="payParam.TransTime" />
|
||||
<input name="TransSeq" type="text" v-model="payParam.TransSeq" />
|
||||
<input name="Version" type="text" v-model="payParam.Version" />
|
||||
<input name="RdSeq" type="text" v-model="payParam.RdSeq" />
|
||||
<input name="PaymentCode" type="text" v-model="payParam.PaymentCode" />
|
||||
<input name="PayType" type="text" v-model="payParam.PayType" />
|
||||
<input name="SettleMode" type="text" v-model="payParam.SettleMode" />
|
||||
<input name="ApplyEntity" type="text" v-model="payParam.ApplyEntity" />
|
||||
<input name="Cur" type="text" v-model="payParam.Cur" />
|
||||
<input name="OurAmount" type="text" v-model="payParam.OurAmount" />
|
||||
<input name="FixUser" type="text" v-model="payParam.FixUser" />
|
||||
<input name="Insurer" type="text" v-model="payParam.Insurer" />
|
||||
<input name="CertType" type="text" v-model="payParam.CertType" />
|
||||
<input name="CertNum" type="text" v-model="payParam.CertNum" />
|
||||
<input name="OppBank" type="text" v-model="payParam.OppBank" />
|
||||
<input name="OppAct" type="text" v-model="payParam.OppAct" />
|
||||
<input name="OppActName" type="text" v-model="payParam.OppActName" />
|
||||
<input name="CellPhone" type="text" v-model="payParam.CellPhone" />
|
||||
<input name="ExpireDate" type="text" v-model="payParam.ExpireDate" />
|
||||
<input name="Purpose" type="text" v-model="payParam.Purpose" />
|
||||
<input name="Memo" type="text" v-model="payParam.Memo" />
|
||||
<input name="Description" type="text" v-model="payParam.Description" />
|
||||
<input name="SourceNotecode" type="text" v-model="payParam.SourceNotecode" />
|
||||
<input name="ReturnURL" type="text" v-model="payParam.ReturnURL" />
|
||||
<input name="NotifyURL" type="text" v-model="payParam.NotifyURL" />
|
||||
<input name="SaleChannel" type="text" v-model="payParam.SaleChannel" />
|
||||
<input name="ReqReserved1" type="text" v-model="payParam.ReqReserved1" />
|
||||
<input name="ReqReserved2" type="text" v-model="payParam.ReqReserved2" />
|
||||
<input name="ReqReserved3" type="text" v-model="payParam.ReqReserved3" />
|
||||
<input name="ReqReserved4" type="text" v-model="payParam.ReqReserved4" />
|
||||
<input name="ReqReserved5" type="text" v-model="payParam.ReqReserved5" />
|
||||
<input name="S3Sign" type="text" v-model="payParam.S3Sign" />
|
||||
</form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Cell, CellGroup, RadioGroup, Radio } from 'vant'
|
||||
import { acceptInsurance } from '@/api/ebiz/sale/sale'
|
||||
import { underWrite } from '@/api/ebiz/sale/sale'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -83,108 +51,94 @@ export default {
|
||||
src: this.$assetsUrl + 'images/cardImg.png',
|
||||
// 核保数据
|
||||
underWriteData: {},
|
||||
srcImg: '',
|
||||
payParam: {
|
||||
TransSource: '', // 对接系统
|
||||
TransDate: '', // 请求日期
|
||||
TransTime: '', // 请求时间
|
||||
TransSeq: '', // 时间戳
|
||||
Version: '', // 版本号
|
||||
RdSeq: '', // 指令流水号
|
||||
PaymentCode: '', // 业务唯一号
|
||||
PayType: '', // 交易类型
|
||||
SettleMode: '', // 支付方式
|
||||
ApplyEntity: '', // 业务发生机构
|
||||
Cur: '', // 币种
|
||||
OurAmount: '', // 金额
|
||||
FixUser: '', // 实名认证标识
|
||||
Insurer: '', // 对接系统
|
||||
CertType: '', // 证件类型
|
||||
CertNum: '', // 证件号码
|
||||
OppBank: '', // 交易方银行
|
||||
OppAct: '', // 交易方账号
|
||||
OppActName: '', // 交易方名称
|
||||
CellPhone: '', // 手机号码
|
||||
ExpireDate: '', // 订单失效时间
|
||||
Purpose: '', // 用途
|
||||
Memo: '', // 备注
|
||||
Description: '', // 描述
|
||||
SourceNotecode: '', // 外部系统业务单据号
|
||||
ReturnURL: '', // 页面跳转同步通知地址
|
||||
NotifyURL: '', // 后台通知地址
|
||||
SaleChannel: '', // 销售渠道
|
||||
ReqReserved1: '', // 备用字段1
|
||||
ReqReserved2: '', // 备用字段2
|
||||
ReqReserved3: '', // 备用字段3
|
||||
ReqReserved4: '', // 备用字段4
|
||||
ReqReserved5: '', // 备用字段5
|
||||
S3Sign: '', // 验签信息
|
||||
tradeState: '' // 状态
|
||||
},
|
||||
gotPayParam: false // 是否已正确获取支付参数
|
||||
srcImg: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
let that = this
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
that.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
this.srcImg = this.$assetsUrl + `images/bank/bank_${JSON.parse(window.localStorage.getItem('underWriteData')).bankCode}.png`
|
||||
console.log(this.srcImg)
|
||||
// 取支付参数
|
||||
this.getPayParam()
|
||||
|
||||
if (localStorage.salelist == '1') {
|
||||
this.underWrite()
|
||||
this.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
this.srcImg = this.$assetsUrl + `images/bank/bank_${JSON.parse(window.localStorage.getItem('underWriteData')).bankCode}.png`
|
||||
} else {
|
||||
this.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
this.srcImg = this.$assetsUrl + `images/bank/bank_${JSON.parse(window.localStorage.getItem('underWriteData')).bankCode}.png`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 取支付参数
|
||||
getPayParam() {
|
||||
// 点击支付
|
||||
payMent() {
|
||||
let that = this
|
||||
let data = {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
console.log('----取支付参数请求:', data)
|
||||
acceptInsurance(data).then(res => {
|
||||
console.log('----取支付参数结果:', JSON.stringify(res))
|
||||
// res = { 'result':'0','resultMessage':'','content':null,'prtNo':'8186270000000008','payStatus':'4','amnt':'63700.00','appntName':'投保人','message':null,'brPayReturnData':{'result':'','resultMessage':'','content':null,'businessId':'1569093814680','businessNo':'8186270000000008','tradeSubType':'COMM','businessType':'SALE','systemType':'GF','money':63700,'businessSubType':'XDCB','thirdType':'0002','thirdName':null,'bankCode':'ABC','epayOrderNo':'1909220323348579999900','companyAccount':null,'tradeState':'TRADING','standardCode':'DEALING','standardMsg':null,'thirdOrderNo':null,'respRemark':null,'tradeTime':'2019-09-21T19:23:34.680+0000','description':'','version':'1','payType':null,'expireDate':'20191010','sourceNotecode':'8186270000000008','rdSeq':'1909220323348579999900','transDate':'20190922','cur':'CNY','settleMode':null,'transSource':'MIT','transTime':'032335','paymentCode':'8186270000000008','applyEntity':'','ourAmount':63700,'transSeq':'20190922032335064','fixUser':'1','insurer':'投保人','certType':'0','certNum':'110101199009210011','oppBank':'ABC','oppAct':'6228481200290317812','oppActName':'投保人','cellPhone':null,'purpose':null,'memo':null,'returnURL':'http://localhost:7008/epay/epay/withholding','notifyURL':'http://139.199.50.151:7000/api/v1/epay/epay/payResult'}}
|
||||
if (res.result == '0') {
|
||||
// // 1成 4支付中 2支付失败 8转批扣
|
||||
// if (res.payStatus == '2') {
|
||||
// window.localStorage.setItem('resMessage', res.resultMessage)
|
||||
// }
|
||||
// window.localStorage.setItem('payStatus', res.payStatus)
|
||||
// window.localStorage.setItem('payInfo', JSON.stringify(res))
|
||||
// that.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/payResult',
|
||||
// backToFirst: '1'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/payResult'
|
||||
// }
|
||||
// })
|
||||
let keyMap = {}
|
||||
for (let key in this.payParam) {
|
||||
keyMap[key.toLowerCase()] = key
|
||||
}
|
||||
let paramKey
|
||||
for (let rKey in res.brPayReturnData) {
|
||||
if (keyMap.hasOwnProperty(rKey.toLowerCase())) {
|
||||
paramKey = keyMap[rKey.toLowerCase()]
|
||||
this.payParam[paramKey] = res.brPayReturnData[rKey]
|
||||
// 1成 4支付中 2支付失败 8转批扣
|
||||
|
||||
window.localStorage.setItem('resMessage', res.resultMessage)
|
||||
|
||||
window.localStorage.setItem('payStatus', res.payStatus)
|
||||
window.localStorage.setItem('payInfo', JSON.stringify(res))
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/payResult',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/payResult'
|
||||
}
|
||||
}
|
||||
console.log('----支付参数:this.payParam:', JSON.stringify(this.payParam))
|
||||
this.gotPayParam = true
|
||||
this.$forceUpdate()
|
||||
})
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 点击支付
|
||||
payMent() {
|
||||
if (this.gotPayParam) {
|
||||
this.$refs.payForm.submit()
|
||||
// 取消支付
|
||||
cancel() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/list',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/list'
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取支付信息
|
||||
underWrite() {
|
||||
let data = {
|
||||
platform: 'app',
|
||||
type: '1',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
}
|
||||
}
|
||||
underWrite(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
if (res.uwResult == '02') {
|
||||
// window.localStorage.setItem('uwResult', res.uwResult)
|
||||
window.localStorage.setItem('underWriteData', JSON.stringify(res))
|
||||
} else if (res.uwResult == '33') {
|
||||
window.localStorage.setItem('underWriteData', JSON.stringify(res))
|
||||
window.localStorage.setItem('uwResult', res.uwResult)
|
||||
window.localStorage.setItem('resultMessage', res.message)
|
||||
} else {
|
||||
window.localStorage.setItem('uwResult', res.uwResult)
|
||||
window.localStorage.setItem('underWriteData', JSON.stringify(res))
|
||||
// window.localStorage.setItem('resultMessage', res.resultMessage)
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
@@ -17,15 +17,18 @@
|
||||
<van-cell title="投保单号" :value="payInfo.prtNo" />
|
||||
<van-cell title="支付金额" :value="`${payInfo.amnt}元` | moneyFormat" v-if="payInfo.amnt != ''" />
|
||||
</van-cell-group>
|
||||
<div v-if="payStatus != '2' && payStatus != '1'" class=" p10 pb250 bg-white">
|
||||
<!-- <div v-if="payStatus != '2' && payStatus != '1'" class=" p10 pb250 bg-white">
|
||||
<span class="pt150 fs14"> 如有相关问题,请联系信息技术部运维人员</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div v-if="payStatus == '1'" class=" p10 pb250 bg-white">
|
||||
<span class="pt150 fs14"> 核心承保中,请您稍后查看</span>
|
||||
</div>
|
||||
<div v-if="payStatus == '2'" class=" p10 pb250 bg-white">
|
||||
<div v-if="payStatus == '2' || payStatus == '4' || payStatus == '8'" class=" p10 pb250 bg-white">
|
||||
<span v-html="resMessage"></span>
|
||||
</div>
|
||||
<!-- <div class=" p10 pb250 bg-white">
|
||||
<span v-html="resMessage"></span>
|
||||
</div> -->
|
||||
|
||||
<div class="bottom-btn bg-white" v-if="payStatus == '1' || payStatus == '4' || payStatus == '8'">
|
||||
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">返回列表页</van-button>
|
||||
@@ -59,9 +62,6 @@ export default {
|
||||
[CellGroup.name]: CellGroup
|
||||
},
|
||||
methods: {
|
||||
getPayStatus() {
|
||||
|
||||
},
|
||||
// 返回列表页
|
||||
next() {
|
||||
this.$jump({
|
||||
@@ -95,8 +95,6 @@ export default {
|
||||
}
|
||||
|
||||
// console.log(that.resultMessage)
|
||||
|
||||
// todo...
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
</div> -->
|
||||
|
||||
<div class="flex justify-content-c align-items-c flex-direction-colunm m15 bg-white">
|
||||
<img :src="srcFail" v-if="uwResult != '33'" class="mb40 mt20" />
|
||||
<p class="title" v-if="uwResult != '33'">系统繁忙,请稍后再试</p>
|
||||
<img :src="srcPending" v-if="uwResult == '33'" class="mb40 mt20" />
|
||||
<p class="title" v-if="uwResult == '33'">转人工核保</p>
|
||||
<img :src="srcFail" v-if="uwResult != '46'" class="mb40 mt20" />
|
||||
<p class="title" v-if="uwResult != '46'">系统繁忙,请稍后再试</p>
|
||||
<img :src="srcPending" v-if="uwResult == '46'" class="mb40 mt20" />
|
||||
<p class="title" v-if="uwResult == '46'">自核未通过,待转人核</p>
|
||||
</div>
|
||||
<van-cell-group class="text-left">
|
||||
<van-cell title="投保人" :value="underWriteData.appntName" v-if="underWriteData.appntName != ''" />
|
||||
@@ -22,31 +22,31 @@
|
||||
</van-cell-group>
|
||||
|
||||
<div class="bg-white p10 pb150">
|
||||
<div class="text-left ml20 mt20" v-if="uwResult == '33'">
|
||||
<div class="text-left ml20 mt20" v-if="uwResult == '46'">
|
||||
<span class="fs14" v-html="`原因:${resultMessage}`"></span>
|
||||
</div>
|
||||
<!-- <div v-if="uwResult == '33'" class="text-left ml20 mt20">
|
||||
<span class="fs14 mt20">如有相关问题,请联系核保人员</span>
|
||||
</div>
|
||||
<div class="text-left ml20 mt20">
|
||||
<span class="fs14 mt20" v-if="uwResult != '33'">如有相关问题,请联系信息技术部运维人员</span>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom-btn bg-white">
|
||||
<div class="bottom-btn bg-white" v-if="uwResult != '46'">
|
||||
<van-button type="danger" size="large" @click="goback" v-no-more-click="1000">返回投保单列表</van-button>
|
||||
</div>
|
||||
<div class="bottom-btn bg-white" v-if="uwResult == '46'">
|
||||
<van-button type="danger" style="width: 50vw" size="normal" @click="goback" v-no-more-click="1000">返回投保单列表</van-button>
|
||||
<van-button type="danger" style="width: 50vw" size="normal" @click="submit" v-no-more-click="1000">提交人工核保</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Cell, CellGroup, Button } from 'vant'
|
||||
import { Cell, CellGroup, Button, Dialog } from 'vant'
|
||||
import { selfToHuman } from '@/api/ebiz/sale/sale'
|
||||
// selfToHuman
|
||||
export default {
|
||||
components: {
|
||||
[Button.name]: Button,
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Dialog.name]: Dialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -68,6 +68,7 @@ export default {
|
||||
that.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
},
|
||||
methods: {
|
||||
// 返回电子投保单列表
|
||||
goback() {
|
||||
// console.log('111')
|
||||
this.$jump({
|
||||
@@ -76,6 +77,36 @@ export default {
|
||||
path: '/sale/list'
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提交转核保
|
||||
submit() {
|
||||
let data = {
|
||||
orderNo: this.underWriteData.orderNo
|
||||
}
|
||||
selfToHuman(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
Dialog.alert({
|
||||
title: '提示',
|
||||
message: '提交人工核保成功'
|
||||
}).then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/list',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/list'
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
window.localStorage.setItem('uwResult', res.result)
|
||||
window.localStorage.setItem('underWriteData', JSON.stringify(res))
|
||||
window.localStorage.setItem('resultMessage', res.resultMessage)
|
||||
location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
<template>
|
||||
<div class="signature-container">
|
||||
<div class="signature-content pb40">
|
||||
<div v-if="isWeixin" class="bg-white mt10 p20 fs14 tips">
|
||||
<p>
|
||||
尊敬的
|
||||
<span class="red">{{tipsName}}</span>先生/女士,您好!
|
||||
</p>
|
||||
<p>该保单由鼎诚人寿保险有限责任公司进行承保,具体确认信息如下:</p>
|
||||
</div>
|
||||
<van-cell-group class="mt10">
|
||||
<van-cell title="销售人员工号" :value="recmd.agentCode" />
|
||||
<van-cell title="销售人员姓名" :value="recmd.name" />
|
||||
@@ -11,7 +18,7 @@
|
||||
:value="orderInfo.orderAmount == undefined ? '' : orderInfo.orderAmount | moneyFormat"
|
||||
/>
|
||||
</van-cell-group>
|
||||
<div>
|
||||
<div v-if="!isWeixin">
|
||||
<van-collapse v-model="activeNames" class="mt10">
|
||||
<van-collapse-item name="1">
|
||||
<div slot="title">
|
||||
@@ -29,8 +36,8 @@
|
||||
<span class="text">{{ appntSign.signDocumentName }}</span>
|
||||
<img :src="src" v-if="appntSign.signStatus == '1'" />
|
||||
</p>
|
||||
<p class="start">点击【开始】按钮,进行相关操作</p>
|
||||
<div class="flex justify-content-a mt20">
|
||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
@@ -51,6 +58,7 @@
|
||||
@click="start_ocr(insured.length == '0' ? '2' : '0')"
|
||||
>开始</van-button>
|
||||
</div>
|
||||
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
<div v-if="relationToAppnt != '1'" class="mt10">
|
||||
@@ -71,8 +79,8 @@
|
||||
<span class="text">{{ insuredSign.signDocumentName }}</span>
|
||||
<img :src="src" v-if="insuredSign.signStatus == '1'" />
|
||||
</p>
|
||||
<p class="start">点击【开始】按钮,进行相关操作</p>
|
||||
<div class="flex justify-content-a mt20">
|
||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
@@ -93,6 +101,97 @@
|
||||
v-no-more-click="1000"
|
||||
>开始</van-button>
|
||||
</div>
|
||||
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="shareCode != '1'" class="mt10">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item name="1">
|
||||
<div slot="title">
|
||||
投保人
|
||||
<span class="ml20">{{ appnt.name }}</span>
|
||||
</div>
|
||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p>需阅读:</p>
|
||||
<p class="mb20">
|
||||
<span class="text">{{ appntSign.readDocumentName }}</span>
|
||||
<img :src="src" v-if="appntSign.readStatus == '1'" />
|
||||
</p>
|
||||
<p>需签署:</p>
|
||||
<p class="mb20">
|
||||
<span class="text">{{ appntSign.signDocumentName }}</span>
|
||||
<img :src="src" v-if="appntSign.signStatus == '1'" />
|
||||
</p>
|
||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
@click="share(insured.length == '0' ? '2' : '0')"
|
||||
>分享</van-button>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
plain
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
v-no-more-click="1000"
|
||||
@click="start_ocr(insured.length == '0' ? '2' : '0')"
|
||||
>开始</van-button>
|
||||
</div>
|
||||
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
<div v-else class="mt10">
|
||||
<van-collapse v-model="activeNames" v-for="(item, index) in insured" :key="index">
|
||||
<van-collapse-item :name="index + 2">
|
||||
<div slot="title">
|
||||
被保人
|
||||
<span class="ml20">{{ item.name }}</span>
|
||||
</div>
|
||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p>需阅读:</p>
|
||||
<p class="mb20">
|
||||
<span class="text">{{ insuredSign.readDocumentName }}</span>
|
||||
<img :src="src" v-if="insuredSign.readStatus == '1'" />
|
||||
</p>
|
||||
<p>需签署:</p>
|
||||
<p class="mb20">
|
||||
<span class="text">{{ insuredSign.signDocumentName }}</span>
|
||||
<img :src="src" v-if="insuredSign.signStatus == '1'" />
|
||||
</p>
|
||||
<p class="start" v-if="airSign != '1'">点击【开始】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="share('1')"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
>分享</van-button>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
style="width: 157px;"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
>开始</van-button>
|
||||
</div>
|
||||
<div class="text" v-else>操作时间已失效,请联系销售人员!</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
@@ -100,7 +199,7 @@
|
||||
|
||||
<!-- <p class="mb20">尊敬的<span class="text">陈伟</span>先生/女士,您好!</p>
|
||||
<p class="mb20">
|
||||
感谢您于<span class="text">2019-08-03</span>在国富人寿保险有限责任公司为陈伟投保,保费合计<span class="text">7128</span>元,销售人员为1009368孙岚。
|
||||
感谢您于<span class="text">2019-08-03</span>在鼎诚人寿保险有限责任公司为陈伟投保,保费合计<span class="text">7128</span>元,销售人员为1009368孙岚。
|
||||
</p>-->
|
||||
</div>
|
||||
<div v-if="!isWeixin">
|
||||
@@ -110,8 +209,6 @@
|
||||
>
|
||||
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">提交</van-button>
|
||||
</div>
|
||||
<!-- todo delete -->
|
||||
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">提交</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -161,16 +258,32 @@ export default {
|
||||
// 微信分享链接是否失效 false 为未失效 true为已失效
|
||||
isInvalid: false,
|
||||
// 是谁分享的微信链接 1为被保人 0或2为投保人
|
||||
shareCode: ''
|
||||
shareCode: '',
|
||||
// 是否从空签成功跳转过来 1为是 其他为不是
|
||||
airSign: '',
|
||||
// 空签时顶部姓名
|
||||
tipsName: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 初始化
|
||||
async init() {
|
||||
if (this.isWeixin) {
|
||||
let signInvalid = this.$route.query.signInvalid
|
||||
console.log('`````````````')
|
||||
console.log('signInvalid: ' + signInvalid)
|
||||
if (this.$route.query.airSign) {
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
}
|
||||
window.localStorage.setItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
}
|
||||
if (this.$route.query.shareCode) {
|
||||
sessionStorage.setItem('shareCode', this.$route.query.shareCode)
|
||||
}
|
||||
let signInvalid = sessionStorage.getItem('signInvalid')
|
||||
let rs = await this.checkSignInvalid(signInvalid)
|
||||
console.log('````````````')
|
||||
console.log('rs: ' + rs)
|
||||
@@ -179,23 +292,23 @@ export default {
|
||||
} else {
|
||||
this.isInvalid = true
|
||||
}
|
||||
window.localStorage.setItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
|
||||
|
||||
this.airSign = sessionStorage.getItem('airSign')
|
||||
this.shareCode = sessionStorage.getItem('shareCode')
|
||||
this.relationToAppnt = this.$route.query.relationToAppnt
|
||||
this.isShow = false
|
||||
if (this.shareCode == '1') {
|
||||
this.tipsName = JSON.parse(localStorage.getItem('saleInsuredPersonInfo')).name
|
||||
} else {
|
||||
this.tipsName = JSON.parse(localStorage.getItem('saleInsuredInfo')).name
|
||||
}
|
||||
weixinShare({
|
||||
title: '国富人寿计划书',
|
||||
imgUrl: 'http://139.199.50.151:8000/app/images/logo.png',
|
||||
desc: '国富为您量身定制的保险产品,请查收'
|
||||
title: '鼎诚人寿计划书',
|
||||
imgUrl: 'http://47.96.143.111:8000/app/images/logo.png',
|
||||
desc: '鼎诚为您量身定制的保险产品,请查收'
|
||||
})
|
||||
let params = {
|
||||
orderNo: ''
|
||||
}
|
||||
// console.log(this.$route.query.orderNo)
|
||||
params.orderNo = this.$route.query.orderNo
|
||||
// 获取详情消息
|
||||
getOrderDetail(params).then(res => {
|
||||
@@ -217,7 +330,6 @@ export default {
|
||||
this.date = res.orderDTO.orderInfoDTO.appntDateLabel
|
||||
// debugger
|
||||
res.orderDTO.signDTOS.map(item => {
|
||||
// console.log(item)
|
||||
if (item.signType == '0') {
|
||||
this.appntSign = item
|
||||
} else if (item.signType == '1') {
|
||||
@@ -244,7 +356,7 @@ export default {
|
||||
window.localStorage.setItem('sign-val', val)
|
||||
window.localStorage.setItem('sign-appnt', JSON.stringify(that.appntSign))
|
||||
if (val == '0' || val == '2') {
|
||||
if (JSON.parse(this.$route.query.saleInsuredInfo).idType != '1') {
|
||||
if (JSON.parse(this.$route.query.saleInsuredInfo).idType != '1' || JSON.parse(this.$route.query.saleInsuredInfo).age <= '16') {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -270,7 +382,7 @@ export default {
|
||||
} else {
|
||||
window.localStorage.setItem('sign-val', val)
|
||||
window.localStorage.setItem('sign-insured', JSON.stringify(that.insuredSign))
|
||||
if (JSON.parse(this.$route.query.saleInsuredPersonInfo).idType != '1') {
|
||||
if (JSON.parse(this.$route.query.saleInsuredPersonInfo).idType != '1' || JSON.parse(this.$route.query.saleInsuredPersonInfo).age <= "16") {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -298,7 +410,7 @@ export default {
|
||||
if (val == '0' || val == '2') {
|
||||
window.localStorage.setItem('sign-val', val)
|
||||
window.localStorage.setItem('sign-appnt', JSON.stringify(that.appntSign))
|
||||
if (this.saleInsuredInfo.idType != '1') {
|
||||
if (this.saleInsuredInfo.idType != '1' || this.saleInsuredInfo.age <= '16') {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -309,16 +421,10 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// 跳过人脸识别
|
||||
// EWebBridge.webCallAppInJs('face_auth', {
|
||||
// number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
// name: that.saleInsuredInfo.name //姓名
|
||||
// })
|
||||
new Promise(resolve => {
|
||||
console.log('--跳过人脸识别--返回识别成功')
|
||||
resolve(JSON.stringify({ state: '1' }))
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
}).then(data => {
|
||||
console.log(JSON.parse(data))
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.appntSign.readStatus == '0') {
|
||||
this.$jump({
|
||||
@@ -359,7 +465,7 @@ export default {
|
||||
} else {
|
||||
window.localStorage.setItem('sign-val', val)
|
||||
window.localStorage.setItem('sign-insured', JSON.stringify(that.insuredSign))
|
||||
if (this.saleInsuredPersonInfo.idType != '1') {
|
||||
if (this.saleInsuredPersonInfo.idType != '1' || this.saleInsuredPersonInfo.age <= '16') {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -370,16 +476,11 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// 跳过人脸识别
|
||||
// EWebBridge.webCallAppInJs('face_auth', {
|
||||
// //身份证号码
|
||||
// number: that.saleInsuredPersonInfo.idNo,
|
||||
// //姓名
|
||||
// name: that.saleInsuredPersonInfo.name
|
||||
// })
|
||||
new Promise(resolve => {
|
||||
console.log('--跳过人脸识别--返回识别成功')
|
||||
resolve(JSON.stringify({ state: '1' }))
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
//身份证号码
|
||||
number: that.saleInsuredPersonInfo.idNo,
|
||||
//姓名
|
||||
name: that.saleInsuredPersonInfo.name
|
||||
}).then(data => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.insuredSign.readStatus == '0') {
|
||||
@@ -429,10 +530,28 @@ export default {
|
||||
} else {
|
||||
shareName = '投保人'
|
||||
}
|
||||
console.log('`````````````测试安卓url`````````````````')
|
||||
console.log(
|
||||
location.origin +
|
||||
'/#/sale/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
localStorage.saleInsuredInfo +
|
||||
'&saleInsuredPersonInfo=' +
|
||||
localStorage.saleInsuredPersonInfo +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&shareCode=' +
|
||||
code +
|
||||
'&signInvalid=' +
|
||||
this.signInvalid
|
||||
)
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: `国富人寿电子投保单(${shareName})签字`,
|
||||
title: `鼎诚人寿电子投保单(${shareName})签字`,
|
||||
content: '签字进行',
|
||||
url:
|
||||
location.origin +
|
||||
@@ -475,6 +594,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
// /insure/selfToHuman
|
||||
underWrite(data).then(res => {
|
||||
let that = this
|
||||
if (res.result == '0') {
|
||||
@@ -491,7 +611,7 @@ export default {
|
||||
path: '/sale/payMent'
|
||||
}
|
||||
})
|
||||
} else if (res.uwResult == '33') {
|
||||
} else if (res.uwResult == '46') {
|
||||
window.localStorage.setItem('underWriteData', JSON.stringify(res))
|
||||
window.localStorage.setItem('uwResult', res.uwResult)
|
||||
window.localStorage.setItem('resultMessage', res.message)
|
||||
@@ -529,12 +649,11 @@ export default {
|
||||
getOrderDetail() {
|
||||
let that = this
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
// 持续展示 toast
|
||||
duration: 0,
|
||||
// 禁用背景点击s
|
||||
forbidClick: true,
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {
|
||||
@@ -561,7 +680,6 @@ export default {
|
||||
|
||||
res.orderDTO.signDTOS.map(item => {
|
||||
if (item.signType == '0') {
|
||||
// console.log(item)
|
||||
that.appntSign = item
|
||||
} else if (item.signType == '1') {
|
||||
that.insuredSign = item
|
||||
@@ -587,8 +705,6 @@ export default {
|
||||
getSignInvalid(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
console.log('`````````````')
|
||||
console.log('res:' + res)
|
||||
this.signInvalid = res.content.sign
|
||||
}
|
||||
})
|
||||
@@ -657,6 +773,9 @@ export default {
|
||||
color: #4a90e2;
|
||||
}
|
||||
.start {
|
||||
color: #E9332E;
|
||||
color: #4fc6b3;
|
||||
}
|
||||
.tips {
|
||||
line-height: 30px;
|
||||
}
|
||||
</style>
|
||||
@@ -23,7 +23,7 @@
|
||||
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
|
||||
<van-radio name="1" @click="click" class="fs12">
|
||||
本人确认已阅读
|
||||
<span>《国富人寿人身保险投保单》</span>
|
||||
<span>《人身保险投保书》</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="pt30 pl30 flex align-items-c">
|
||||
@@ -285,7 +285,10 @@ export default {
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&attachmentShow=' +
|
||||
window.localStorage.getItem('attachmentShow')
|
||||
window.localStorage.getItem('attachmentShow') +
|
||||
'&signInvalid=' +
|
||||
sessionStorage.getItem('signInvalid') +
|
||||
'&airSign=1'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -350,7 +353,10 @@ export default {
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&attachmentShow=' +
|
||||
window.localStorage.getItem('attachmentShow')
|
||||
window.localStorage.getItem('attachmentShow') +
|
||||
'&signInvalid=' +
|
||||
sessionStorage.getItem('signInvalid') +
|
||||
'&airSign=1'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -524,10 +530,10 @@ export default {
|
||||
originUrl: location.origin
|
||||
})
|
||||
)
|
||||
window.location.href = this.$mainUrl + '/sign'
|
||||
window.location.href = this.$mainUrl + '/sign/index.html'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
async created() {
|
||||
let that = this
|
||||
|
||||
that.detailJump = window.localStorage.getItem('detailJump')
|
||||
@@ -545,52 +551,13 @@ export default {
|
||||
// 获取被保人信息
|
||||
that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo'))
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio, appntSign, insuredSign } = this
|
||||
return { isOver, radio, appntSign, insuredSign }
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (val.isOver == true && val.radio != '' && val.appntSign.signStatus !== '1') {
|
||||
that.isDisable = false
|
||||
} else {
|
||||
that.isDisable = true
|
||||
}
|
||||
} else {
|
||||
if (val.isOver == true && val.radio != '' && val.insuredSign.signStatus !== '1') {
|
||||
that.isDisableInsured = false
|
||||
} else {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
if (!this.isWeixin) {
|
||||
if (val.appntSign.signStatus == '1' && val.insuredSign.signStatus == '1') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
}
|
||||
if (val.appntSign.signStatus == '1') {
|
||||
that.isDisable = true
|
||||
}
|
||||
if (val.insuredSign.signStatus == '1') {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
if (this.detailJump != '1') {
|
||||
this.getOrderDetail()
|
||||
}
|
||||
if (this.isWeixin) {
|
||||
let imgBase64Data = sessionStorage.getItem('imgBase64Data')
|
||||
let wxSigned = sessionStorage.getItem('wxSigned')
|
||||
let signInfo = localStorage.getItem('signInfo')
|
||||
let signInfo = JSON.parse(localStorage.getItem('signInfo'))
|
||||
console.log('`````````````````````````````````')
|
||||
console.log('imgBase64Data: ' + imgBase64Data)
|
||||
console.log('wxSigned: ' + wxSigned)
|
||||
@@ -601,26 +568,28 @@ export default {
|
||||
console.log(rs)
|
||||
if (rs === 'success') {
|
||||
this.Time = true
|
||||
this.isOver = true
|
||||
this.radio = '1'
|
||||
this.base64 = imgBase64Data
|
||||
this.isDisabledComplite = false
|
||||
console.log('signInfo.status:' + signInfo.status)
|
||||
if (signInfo.status == '1') {
|
||||
// this.appntSign.signStatus = '1'
|
||||
this.appntSign.signStatus = '1'
|
||||
console.log('``````````````````')
|
||||
console.log('appntSign:' + this.appntSign)
|
||||
this.$set(this.appntSign, 'signStatus', '1')
|
||||
console.log('appntSign.signStatus: ' + this.appntSign.signStatus)
|
||||
this.isSubmit = false
|
||||
this.isSign = false
|
||||
// this.isDisable = false
|
||||
} else {
|
||||
// this.insuredSign.signStatus = '1'
|
||||
this.insuredSign.signStatus = '1'
|
||||
console.log('````````````````````')
|
||||
console.log('insuredSign:' + this.insuredSign)
|
||||
// this.isDisableInsured = false
|
||||
this.$set(this.insuredSign, 'signStatus', '1')
|
||||
console.log('insuredSign.signStatus: ' + this.insuredSign.signStatus)
|
||||
// this.isDisabledComplite = false
|
||||
}
|
||||
}
|
||||
console.log('第二次进入保单,完成状态查看')
|
||||
console.log(this.isDisabledComplite)
|
||||
} else {
|
||||
console.log('````````````````````````')
|
||||
console.log('第一次进入电子保单')
|
||||
@@ -633,6 +602,59 @@ export default {
|
||||
this.getOrderDetail()
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio, appntSign, insuredSign } = this
|
||||
return { isOver, radio, appntSign, insuredSign }
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (!that.isWeixin) {
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (val.isOver == true && val.radio != '' && val.appntSign.signStatus !== '1') {
|
||||
that.isDisable = false
|
||||
} else {
|
||||
that.isDisable = true
|
||||
}
|
||||
} else {
|
||||
if (val.isOver == true && val.radio != '' && val.insuredSign.signStatus !== '1') {
|
||||
that.isDisableInsured = false
|
||||
} else {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
if (val.appntSign.signStatus == '1' && val.insuredSign.signStatus == '1') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
if (val.appntSign.signStatus == '1') {
|
||||
that.isDisable = true
|
||||
}
|
||||
if (val.insuredSign.signStatus == '1') {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
} else {
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.isDisable = false
|
||||
} else {
|
||||
that.isDisable = true
|
||||
}
|
||||
} else {
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.isDisableInsured = false
|
||||
} else {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}`)
|
||||
//实例化
|
||||
|
||||
@@ -1,666 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="pb60" v-if="detailJump == '1'">
|
||||
<!-- config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}` -->
|
||||
|
||||
<iframe :src="src + pdfUrl" class="iframe"></iframe>
|
||||
|
||||
<!-- <div id="pdf"></div> -->
|
||||
<!-- <img :src="'data:image/jpeg;base64,' + url" /> -->
|
||||
|
||||
<div class="pt30 pl30 flex align-items-c">
|
||||
<span class="mr10">投保人签字 :</span>
|
||||
<div>
|
||||
<van-button type="danger" size="small" @click="sign('0')" v-no-more-click="1000">{{ isSign ? '签名' : '已签名' }}</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pb60" v-else>
|
||||
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
|
||||
<iframe :src="src + pdfUrl" class="iframe"></iframe>
|
||||
<!-- <img :src="'data:image/jpeg;base64,' + url" /> -->
|
||||
|
||||
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
|
||||
<van-radio name="1" @click="click" class="fs12">
|
||||
本人确认已阅读
|
||||
<span>《国富人寿人身保险投保单》</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="pt30 pl30 flex align-items-c">
|
||||
<span class="mr10">投保人签字 :</span>
|
||||
<div v-if="signVal == '0' || signVal == '2'">
|
||||
<van-button type="danger" size="small" :disabled="signVal == '1' ? true : isDisable" @click="sign('0')" v-no-more-click="1000">
|
||||
{{ appntSign.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
<div v-if="signVal == '1'">
|
||||
<van-button type="danger" size="small" :disabled="signVal == '1' ? true : isDisable" @click="sign('0')">
|
||||
{{ appntSign.signStatus == '0' ? '未签名' : '已签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pt25 pl30 flex align-items-c" v-if="relationToAppnt != '1'">
|
||||
<span class="mr10">被保人/监护人签名:</span>
|
||||
<div v-if="signVal == '0' || signVal == '2'">
|
||||
<van-button type="danger" size="small" :disabled="signVal == '1' ? isDisableInsured : true" @click="sign('1')" v-no-more-click="1000">
|
||||
{{ insuredSign.signStatus == '0' ? '未签名' : '已签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
<div v-if="signVal == '1'" class="flex">
|
||||
<van-button type="danger" size="small" :disabled="signVal == '1' ? isDisableInsured : true" @click="sign('1')" v-no-more-click="1000">
|
||||
{{ insuredSign.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom-btn bg-white" v-if="detailJump == '1'">
|
||||
<van-button type="danger" size="large" @click="submit" :disabled="isSubmit" v-no-more-click="1000">提交</van-button>
|
||||
</div>
|
||||
<div class="bottom-btn bg-white" v-else>
|
||||
<van-button type="danger" size="large" @click="next" :disabled="isDisabledComplite" v-no-more-click="1000">完成</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||
import { getOrderDetail, saveInformation, submit } from '@/api/ebiz/sale/sale'
|
||||
import config from '@/config'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
|
||||
return {
|
||||
pdfh5: null,
|
||||
pdfUrl: '',
|
||||
src: location.origin + '/pdfjs/web/viewer.html?file=',
|
||||
radio: '',
|
||||
// 倒计时时间
|
||||
number: '',
|
||||
// // 定时器时间
|
||||
time: '10',
|
||||
// // 定时器名称
|
||||
timer: null,
|
||||
isOver: false,
|
||||
// 判断验证码是否开始倒计时
|
||||
Time: true,
|
||||
// 按钮是否可以点击
|
||||
isDisable: true,
|
||||
// 被保人是否可以点击
|
||||
isDisableInsured: true,
|
||||
// 投保人签名阅读信息
|
||||
appntSign: {},
|
||||
// 被保人签名阅读信息
|
||||
insuredSign: {},
|
||||
// 是投保人还是被保人 0 投保人 1被保人 2 投被同人
|
||||
signVal: '',
|
||||
// 图片路径
|
||||
url: '',
|
||||
// sign加密码
|
||||
base64: '',
|
||||
// 是否可以点击
|
||||
isDisabledComplite: true,
|
||||
// local带来的被保人信息
|
||||
saleInsuredPersonInfo: {},
|
||||
// local带来的投保人信息
|
||||
saleInsuredInfo: {},
|
||||
// 投被保人是否同人 1为投被同人,其他为不是
|
||||
relationToAppnt: '',
|
||||
// 是否在微信
|
||||
isWeixin,
|
||||
// 是否可以点击提交
|
||||
isSubmit: true,
|
||||
// 是否签名了 回执流程
|
||||
isSign: true,
|
||||
// 是否从详情跳过来 如果为1 是
|
||||
detailJump: ''
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Dialog.name]: Dialog,
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
methods: {
|
||||
timeOut() {
|
||||
let that = this
|
||||
let time = that.time
|
||||
that.Time = false
|
||||
that.number = `${time}`
|
||||
let timer = setInterval(() => {
|
||||
time--
|
||||
if (time <= 0) {
|
||||
time = 0
|
||||
clearInterval(timer)
|
||||
that.Time = true
|
||||
that.isOver = true
|
||||
}
|
||||
that.number = `${time}`
|
||||
}, 1000)
|
||||
},
|
||||
// 获取签名状态
|
||||
async getOrderDetail() {
|
||||
let that = this
|
||||
let data = {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
getOrderDetail(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
res.orderDTO.signDTOS.map(item => {
|
||||
if (item.signType == '0') {
|
||||
that.appntSign = item
|
||||
} else if (item.signType == '1') {
|
||||
that.insuredSign = item
|
||||
} else {
|
||||
that.appntSign = item
|
||||
}
|
||||
})
|
||||
if (that.isWeixin) {
|
||||
if (res.orderDTO.signDTOS.length > 1) {
|
||||
if (that.appntSign.signStatus == '1' && that.insuredSign.signStatus == '1') {
|
||||
that.isDisabledComplite = false
|
||||
}
|
||||
}
|
||||
}
|
||||
resolve('success')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 单选框
|
||||
click() {
|
||||
let that = this
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
}
|
||||
},
|
||||
// 点击提交
|
||||
submit() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {
|
||||
contNo: window.localStorage.getItem('contNo'),
|
||||
baseEncryp: this.base64,
|
||||
pdfAddresss: window.localStorage.getItem('insurance-policyUrl')
|
||||
}
|
||||
|
||||
submit(data).then(res => {
|
||||
if (res.reslut == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('submitStatus', res.result)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/serve/result',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/serve/result'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
window.localStorage.setItem('submitStatus', res.result)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/serve/result',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/serve/result'
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 点击完成
|
||||
next() {
|
||||
let that = this
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
},
|
||||
signDTOS: [
|
||||
{
|
||||
signOrRead: 'sign',
|
||||
signId: that.appntSign.signId,
|
||||
orderNo: window.localStorage.getItem('orderNo'),
|
||||
signStatus: '1',
|
||||
signType: that.signVal,
|
||||
baseEncryp: that.base64
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('jumpFromSign', '1')
|
||||
if (this.isWeixin) {
|
||||
localStorage.removeItem('signInfo')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureConfirmation',
|
||||
pullRefresh: '1',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path:
|
||||
'/sale/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
localStorage.saleInsuredInfo +
|
||||
'&saleInsuredPersonInfo=' +
|
||||
localStorage.saleInsuredPersonInfo +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&attachmentShow=' +
|
||||
window.localStorage.getItem('attachmentShow')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureConfirmation',
|
||||
pullRefresh: '1',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureConfirmation'
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
},
|
||||
signDTOS: [
|
||||
{
|
||||
signOrRead: 'sign',
|
||||
signId: that.insuredSign.signId,
|
||||
orderNo: window.localStorage.getItem('orderNo'),
|
||||
signStatus: '1',
|
||||
signType: that.signVal,
|
||||
baseEncryp: that.base64
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('jumpFromSign', '1')
|
||||
if (this.isWeixin) {
|
||||
localStorage.removeItem('signInfo')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureConfirmation',
|
||||
pullRefresh: '1',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path:
|
||||
'/sale/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
localStorage.saleInsuredInfo +
|
||||
'&saleInsuredPersonInfo=' +
|
||||
localStorage.saleInsuredPersonInfo +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&attachmentShow=' +
|
||||
window.localStorage.getItem('attachmentShow')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureConfirmation',
|
||||
pullRefresh: '1',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureConfirmation'
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 点击签名
|
||||
sign(val) {
|
||||
let that = this
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
if (val == '0') {
|
||||
if (this.detailJump != '1') {
|
||||
if (this.relationToAppnt == '1') {
|
||||
if (this.isWeixin) {
|
||||
this.toAirSign('1', '申请日期', '-170')
|
||||
} else {
|
||||
EWebBridge.webCallAppInJs('ca_sign', {
|
||||
//身份证号码
|
||||
number: this.saleInsuredInfo.idNo,
|
||||
//姓名
|
||||
name: this.saleInsuredInfo.name,
|
||||
keyword: '申请日期',
|
||||
pageNo: '1',
|
||||
index: '1',
|
||||
offset: '-170',
|
||||
pos: '3'
|
||||
}).then(data => {
|
||||
this.$toast.clear()
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.base64 = decodeURI(JSON.parse(data).sign)
|
||||
this.appntSign.signStatus = '1'
|
||||
this.isDisabledComplite = false
|
||||
this.isSubmit = false
|
||||
this.isSign = false
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
if (this.isWeixin) {
|
||||
this.toAirSign('1', '法定监护人', '-170')
|
||||
} else {
|
||||
EWebBridge.webCallAppInJs('ca_sign', {
|
||||
//身份证号码
|
||||
number: this.saleInsuredInfo.idNo,
|
||||
//姓名
|
||||
name: this.saleInsuredInfo.name,
|
||||
type: this.saleInsuredInfo.idType,
|
||||
keyword: '法定监护人',
|
||||
pageNo: '1',
|
||||
index: '1',
|
||||
offset: '-170',
|
||||
pos: '3'
|
||||
}).then(data => {
|
||||
this.$toast.clear()
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.base64 = decodeURI(JSON.parse(data).sign)
|
||||
this.appntSign.signStatus = '1'
|
||||
this.isDisabledComplite = false
|
||||
this.isSubmit = false
|
||||
this.isSign = false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
switch (that.saleInsuredInfo.idType) {
|
||||
case '身份证':
|
||||
that.saleInsuredInfo.idType = '1'
|
||||
break
|
||||
case '户口本':
|
||||
that.saleInsuredInfo.idType = '2'
|
||||
break
|
||||
case '出生证明':
|
||||
that.saleInsuredInfo.idType = '3'
|
||||
break
|
||||
case '护照':
|
||||
that.saleInsuredInfo.idType = '4'
|
||||
break
|
||||
case '港澳居民通行证':
|
||||
that.saleInsuredInfo.idType = '5'
|
||||
break
|
||||
case '台湾居民通行证':
|
||||
that.saleInsuredInfo.idType = '6'
|
||||
break
|
||||
case '其他':
|
||||
that.saleInsuredInfo.idType = '7'
|
||||
break
|
||||
}
|
||||
if (this.isWeixin) {
|
||||
this.toAirSign('1', '签收日期', '-150')
|
||||
} else {
|
||||
EWebBridge.webCallAppInJs('ca_sign', {
|
||||
//身份证号码
|
||||
number: that.saleInsuredInfo.idNo,
|
||||
//姓名
|
||||
name: that.saleInsuredInfo.name,
|
||||
type: that.saleInsuredInfo.idType,
|
||||
keyword: '签收日期',
|
||||
pageNo: '1',
|
||||
index: '1',
|
||||
offset: '-150',
|
||||
pos: '3'
|
||||
}).then(data => {
|
||||
this.$toast.clear()
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.base64 = decodeURI(JSON.parse(data).sign)
|
||||
that.appntSign.signStatus = '1'
|
||||
that.isDisabledComplite = false
|
||||
that.isSubmit = false
|
||||
that.isSign = false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (this.isWeixin) {
|
||||
this.toAirSign('2', '法定监护人', '0')
|
||||
} else {
|
||||
EWebBridge.webCallAppInJs('ca_sign', {
|
||||
//身份证号码
|
||||
number: that.saleInsuredPersonInfo.idNo,
|
||||
//姓名
|
||||
name: that.saleInsuredPersonInfo.name,
|
||||
type: that.saleInsuredPersonInfo.idType,
|
||||
keyword: '法定监护人',
|
||||
pageNo: '1',
|
||||
index: '1',
|
||||
offset: '0',
|
||||
pos: '3'
|
||||
}).then(data => {
|
||||
this.$toast.clear()
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.base64 = decodeURI(JSON.parse(data).sign)
|
||||
that.insuredSign.signStatus = '1'
|
||||
that.isDisabledComplite = false
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
toAirSign(status, keyword, offset) {
|
||||
localStorage.setItem(
|
||||
'signInfo',
|
||||
JSON.stringify({
|
||||
idNo: this.saleInsuredInfo.idNo,
|
||||
name: this.saleInsuredInfo.name,
|
||||
type: this.saleInsuredInfo.idType,
|
||||
keyword: keyword,
|
||||
status: status,
|
||||
offset: offset,
|
||||
originUrl: location.origin
|
||||
})
|
||||
)
|
||||
window.location.href = this.$mainUrl + '/sign'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let that = this
|
||||
|
||||
that.detailJump = window.localStorage.getItem('detailJump')
|
||||
that.signVal = window.localStorage.getItem('sign-val')
|
||||
|
||||
// 获取投保人信息
|
||||
that.saleInsuredInfo = JSON.parse(window.localStorage.getItem('saleInsuredInfo'))
|
||||
if (this.isWeixin) {
|
||||
that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt
|
||||
}
|
||||
|
||||
if (this.detailJump != '1') {
|
||||
// 投被保人是否同人
|
||||
that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt
|
||||
// 获取被保人信息
|
||||
that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo'))
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio, appntSign, insuredSign } = this
|
||||
return { isOver, radio, appntSign, insuredSign }
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (val.isOver == true && val.radio != '' && val.appntSign.signStatus !== '1') {
|
||||
that.isDisable = false
|
||||
} else {
|
||||
that.isDisable = true
|
||||
}
|
||||
} else {
|
||||
if (val.isOver == true && val.radio != '' && val.insuredSign.signStatus !== '1') {
|
||||
that.isDisableInsured = false
|
||||
} else {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
if (!this.isWeixin) {
|
||||
if (val.appntSign.signStatus == '1' && val.insuredSign.signStatus == '1') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
}
|
||||
if (val.appntSign.signStatus == '1') {
|
||||
that.isDisable = true
|
||||
}
|
||||
if (val.insuredSign.signStatus == '1') {
|
||||
that.isDisableInsured = true
|
||||
}
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
if (this.detailJump != '1') {
|
||||
this.getOrderDetail()
|
||||
}
|
||||
if (this.isWeixin) {
|
||||
let imgBase64Data = sessionStorage.getItem('imgBase64Data')
|
||||
let wxSigned = sessionStorage.getItem('wxSigned')
|
||||
let signInfo = localStorage.getItem('signInfo')
|
||||
console.log('`````````````````````````````````')
|
||||
console.log('imgBase64Data: ' + imgBase64Data)
|
||||
console.log('wxSigned: ' + wxSigned)
|
||||
if (wxSigned) {
|
||||
console.log('第二次进入电子保单')
|
||||
console.log('````````````````````````````````')
|
||||
let rs = await this.getOrderDetail()
|
||||
console.log(rs)
|
||||
if (rs === 'success') {
|
||||
this.Time = true
|
||||
this.radio = '1'
|
||||
this.base64 = imgBase64Data
|
||||
this.isDisabledComplite = false
|
||||
if (signInfo.status == '1') {
|
||||
// this.appntSign.signStatus = '1'
|
||||
console.log('``````````````````')
|
||||
console.log('appntSign:' + this.appntSign)
|
||||
this.$set(this.appntSign, 'signStatus', '1')
|
||||
this.isSubmit = false
|
||||
this.isSign = false
|
||||
} else {
|
||||
// this.insuredSign.signStatus = '1'
|
||||
console.log('````````````````````')
|
||||
console.log('insuredSign:' + this.insuredSign)
|
||||
this.$set(this.insuredSign, 'signStatus', '1')
|
||||
// this.isDisabledComplite = false
|
||||
}
|
||||
}
|
||||
console.log('第二次进入保单,完成状态查看')
|
||||
console.log(this.isDisabledComplite)
|
||||
} else {
|
||||
console.log('````````````````````````')
|
||||
console.log('第一次进入电子保单')
|
||||
this.timeOut()
|
||||
this.getOrderDetail()
|
||||
}
|
||||
} else {
|
||||
this.timeOut()
|
||||
if (this.detailJump != '1') {
|
||||
this.getOrderDetail()
|
||||
}
|
||||
}
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}`)
|
||||
//实例化
|
||||
// this.pdfh5 = new Pdfh5('#pdf', {
|
||||
// pdfurl: config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}`
|
||||
// // pdfurl: res.data.content.content
|
||||
// })
|
||||
// 获取签名信息
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.notice {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
.iframe {
|
||||
width: 100vw;
|
||||
height: 70vh;
|
||||
}
|
||||
</style>
|
||||
@@ -37,16 +37,21 @@ export default {
|
||||
// }
|
||||
},
|
||||
goToTest() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/test2',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/test2'
|
||||
}
|
||||
EWebBridge.webCallAppInJs('download', {
|
||||
url:
|
||||
'http://116.62.236.168:7012/updown/returnDirectStream?imgPath=Ra4LpmZv2h6FrwZPS48QIETiI2AcWWLx6RavVjoAkoO8qG1KDXkTa%2FPK%2Bjuz79bSSoIyCeO4X1SY%0AGolCIepvljJzyC9aMJzb6uuQQVh3F9WVGLphInLPv0HGtHpZ3OhD',
|
||||
name: '鼎诚.pdf'
|
||||
})
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/test2',
|
||||
// backToFirst: '1'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/test2'
|
||||
// }
|
||||
// })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@ const autoprefixer = require('autoprefixer')
|
||||
const pxtoviewport = require('postcss-px-to-viewport')
|
||||
|
||||
module.exports = {
|
||||
publicPath: process.env.VUE_APP_FLAG === 'production' ? '/' : '/',
|
||||
lintOnSave: process.env.VUE_APP_FLAG === 'development', //是否开启代码检查
|
||||
publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
|
||||
lintOnSave: process.env.NODE_ENV === 'development', //是否开启代码检查
|
||||
outputDir: 'dist', //打包输出目录
|
||||
productionSourceMap: false,
|
||||
css: {
|
||||
|
||||