Compare commits

..

171 Commits

Author SHA1 Message Date
zhang.weiwei
c6f4bf5d62 feat:调整签字确认页面重定向实现 2025-08-27 22:32:20 +08:00
刘慧影
c6acb57ff8 Merge remote-tracking branch 'origin/feature/FCRS-935鑫管家c万能险关联富贵相伴养老年金投保特别约定弹窗提醒' into origin/release/【20250806】关于健康险渠道对核心部分功能做优化调整的请示(第三期) 2025-08-06 10:54:00 +08:00
刘慧影
5aa47557a9 Merge branch '20250722-证件截止日期回显' into origin/release/【20250806】关于健康险渠道对核心部分功能做优化调整的请示(第三期) 2025-08-06 10:52:39 +08:00
liuhuiying
fc3b654b08 卡单投保录入隐藏同投保人 2025-07-30 22:01:24 +08:00
刘慧影
0c60363117 卡单老数据证件截止日期、家庭地址保持不变 2025-07-23 13:08:31 +08:00
刘慧影
f6ae890e89 卡单隐藏清空家庭住址 2025-07-23 11:08:27 +08:00
刘慧影
e374c9e813 电子投保证件截止日期回显问题 2025-07-22 15:30:24 +08:00
刘慧影
8ca15da11c 电子投保证件截止日期回显问题 2025-07-22 15:25:01 +08:00
刘慧影
241c30266a 卡单隐藏证件截止日期、联系地址、详细地址 2025-07-21 20:00:20 +08:00
liuhuiying
8118ecb98f feature/FCRS-935鑫管家c万能险关联富贵相伴养老年金投保特别约定弹窗提醒 2025-06-19 10:59:21 +08:00
liuhuiying
6cddad644d feature/FCRS-935鑫管家c万能险关联富贵相伴养老年金投保特别约定弹窗提醒 2025-06-18 18:02:49 +08:00
liuhuiying
a88cad7b71 feature/FCRS-935鑫管家c万能险关联富贵相伴养老年金投保特别约定弹窗提醒 2025-06-18 17:21:01 +08:00
zhanglei
d6bbdae734 feature/【20250605】银保续期管理列表投保人被保险人展示调整 2025-06-05 13:34:29 +08:00
zhang.lei3
89aea09de2 feature/FCRS-949国富人寿鑫管家D款终身寿险(万能型)-中介渠道 2025-05-09 09:50:29 +08:00
zhang.lei3
7a81b4e6eb feature/FCRS-949国富人寿鑫管家D款终身寿险(万能型)-中介渠道 2025-05-09 09:30:59 +08:00
zhang.weiwei
d13ce27e3c hotfix-从路由获取token存储到LocalStorage时新增token是否为空判断 2025-04-30 23:00:01 +08:00
zhang.lei3
a1895b540c Merge branch 'feature/【20250429】富贵相伴养老年金保险&&富锦养老年金保险加被保人30天年龄校验' 2025-04-30 21:04:03 +08:00
zhang.lei3
5babd3d029 feature/【20250429】富贵相伴养老年金保险&&富锦养老年金保险加被保人30天年龄校验 2025-04-29 15:57:04 +08:00
zhang.lei3
89d4fb1871 feature/FCRS-922国富人寿富锦养老年金保险---中介的 2025-04-21 14:27:45 +08:00
zhang.lei3
f7982ac052 feature/FCRS-922国富人寿富锦养老年金保险---中介的 2025-04-21 11:07:20 +08:00
zhang.lei3
bde1de79ac feature/FCRS-922国富人寿富锦养老年金保险---中介的 2025-04-21 10:44:43 +08:00
zhang.lei3
3631f57ee2 feature/FCRS-922国富人寿富锦养老年金保险---中介的 2025-04-21 10:33:15 +08:00
zhang.lei3
c2014d9e4b feature/FCRS-918国富人寿富贵相伴养老年金保险-个险渠道 2025-04-17 15:32:21 +08:00
zhang.lei3
a0a9b5637e feature/FCRS-918国富人寿富贵相伴养老年金保险-个险渠道 2025-04-17 15:19:01 +08:00
zhang.lei3
dd11f4b4e0 feature/FCRS-918国富人寿富贵相伴养老年金保险-个险渠道 2025-04-17 14:33:49 +08:00
zhang.weiwei
f1f8c3ddae fix-出单详情按月份查询最后一天调整为31号 2025-04-02 10:43:35 +08:00
zhang.weiwei
71d2d67a2c fix-修复附加险试算问题 2025-03-19 19:06:56 +08:00
zhang.weiwei
0ca75379b1 Merge branch 'feature/【20250301】附加险D款' 2025-03-18 15:53:13 +08:00
zhang.weiwei
83e8130c54 Merge branch 'FCRS-901【前端】国富人寿附加豁免保险费重大疾病保险(D款)-个险渠道' 2025-03-18 15:53:06 +08:00
zhang.lei3
d9dec5980e Merge branch 'FCRS-901【前端】国富人寿附加豁免保险费重大疾病保险(D款)-个险渠道' into feature/【20250301】附加险D款 2025-03-13 16:07:31 +08:00
zhang.weiwei
5a42f90f94 feat-调整A0016附加险的试算规则 2025-03-13 11:36:47 +08:00
zhang.weiwei
8d3f3042a2 feat-调整附加豁免险保险期间和保证责任 2025-03-12 23:33:02 +08:00
zhang.weiwei
7cf378d0a2 feat-豁免险交费期间为主险的交费期间 -1 2025-03-11 22:26:15 +08:00
zhang.weiwei
ae870b8139 Merge branch 'feature/【20250224】密码输入框禁止录屏' 2025-02-28 17:05:49 +08:00
zhang.weiwei
549823d928 Merge branch 'feature/FCRS-844金掌桂投保人脸识别存档需求'
# Conflicts:
#	src/views/ebiz/proposal/ProposalInfo.vue
2025-02-28 17:05:39 +08:00
zhang.lei3
18926ff55e FCRS-901【前端】国富人寿附加豁免保险费重大疾病保险(D款)-个险渠道 2025-02-26 16:14:23 +08:00
zhang.lei3
b8d4083dec FCRS-896关于金掌桂配置两款银保产品的请示-银保节节高E&祥利C---祥利C处理 2025-02-26 13:57:06 +08:00
zhang.weiwei
5d0e78fcde feat-密码输入框新增防截屏处理 2025-02-24 11:34:49 +08:00
zhang.weiwei
c363e600be fix-修复拨打电话未调用原生插件的问题 2025-02-21 12:23:48 +08:00
zhang.weiwei
f67cf5bf19 fix-修复拨打电话未调用原生插件的问题 2025-02-19 23:20:18 +08:00
zhang.weiwei
228e992b99 fix-解决合并冲突问题 2025-02-06 12:17:50 +08:00
zhang.weiwei
6218c413c7 Merge branch 'feature/FCRS-844金掌桂投保人脸识别存档需求__' into feature/FCRS-844金掌桂投保人脸识别存档需求
# Conflicts:
#	src/views/ebiz/claims/SignatureConfirmation.vue
#	src/views/ebiz/insureAgain/SignatureConfirmation.vue
#	src/views/ebiz/sale/SignatureConfirmation.vue
2025-02-06 12:13:17 +08:00
zhang.weiwei
7054c35de0 feat-调用人脸识别插件新增 orderNo 入参 2025-02-06 11:54:29 +08:00
zhang.lei3
45d2a919b7 feature/【20250124】GBC渠道首页弹窗加滚动条 2025-01-24 14:22:56 +08:00
zhang.lei3
c7d5d1b7f5 face_auth给原生传orderNo 2025-01-15 10:23:30 +08:00
xuxingjun
e9ade69acd 入参赋值 2025-01-06 16:03:20 +08:00
xuxingjun
5b7ef08984 入参提示 2025-01-06 14:46:29 +08:00
xuxingjun
a06c9fb575 还原 2025-01-06 14:15:58 +08:00
xuxingjun
11fe456dfd 优化getRecognitionResult接口传参4 2025-01-02 17:48:41 +08:00
xuxingjun
ee0f68a183 优化getRecognitionResult接口传参3 2025-01-02 17:09:48 +08:00
xuxingjun
7089e16029 优化getRecognitionResult接口传参2 2025-01-02 16:11:57 +08:00
xuxingjun
b34f9b08ea 优化getRecognitionResult接口传参 2025-01-02 15:53:57 +08:00
xuxingjun
4fca606f94 去除微信环境判断2 2025-01-02 15:45:46 +08:00
xuxingjun
07f280fc3c 去除微信环境判断 2025-01-02 15:03:33 +08:00
zhang.lei3
16a1ed80ad Merge branch 'feature/FCRS-875国富人寿鑫管家C款终身寿险(万能型)' into origin/release/【20241230】鑫管家C 2024-12-30 09:59:49 +08:00
xuxingjun
2bd46c8c82 getRecognitionResult 接口加个保单号入参 2024-12-24 14:24:55 +08:00
zhang.lei3
67f13e6d79 鑫管家c产品建议书预览不显示保额 2024-12-24 09:48:02 +08:00
zhang.lei3
d8953582e1 Merge remote-tracking branch 'origin/master_20241218' 2024-12-23 17:45:01 +08:00
zhang.lei3
f26ebe6ded Merge remote-tracking branch 'origin/master_new' 2024-12-23 17:44:38 +08:00
xuxingjun
a6685c2360 优化建议书的保费计算 2024-12-19 13:43:21 +08:00
xuxingjun
93d5b9a05f 优化贺报页面时间的展示 2024-12-18 17:25:24 +08:00
xuxingjun
8ed05e2e1a 优化产品关联保单与保费的录入 2024-12-13 15:54:03 +08:00
xuxingjun
1a61367991 优化 国富人寿鑫管家C款终身寿险(万能型)产品配置 2024-12-13 14:30:38 +08:00
zhang.lei3
46cccb9d4e Merge branch 'dev-new' 2024-12-02 17:27:13 +08:00
xuxingjun
f2e3566893 更换首页产品中心图片(分红型) 2024-12-02 09:48:36 +08:00
zhang.lei3
e3f5e7c25e Merge remote-tracking branch 'origin/master_new' 2024-12-02 09:38:24 +08:00
xuxingjun
2842c846d0 更换首页产品中心图片(分红型) 2024-12-02 09:36:53 +08:00
zhang.lei3
48f48c4630 Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into dev-new 2024-11-29 16:57:16 +08:00
zhang.lei3
e3442ea811 Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into master_new 2024-11-29 16:49:41 +08:00
XING\23806
925424744a 更换贺报背景图 2024-11-29 16:46:43 +08:00
zhang.lei3
dbfcc19fbe Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into master_new 2024-11-29 14:41:57 +08:00
zhang.lei3
a54e8c057c Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into dev-new 2024-11-29 14:25:54 +08:00
XING\23806
10f70b4a0e 更换终身寿险链接参数 2024-11-29 14:20:01 +08:00
zhang.lei3
79c3f90213 Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into dev-new 2024-11-29 13:01:50 +08:00
XING\23806
fe0cc0891a 更换终身寿险链接 2024-11-29 12:14:36 +08:00
zhang.lei3
644e4b689e Merge remote-tracking branch 'origin/feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into dev-new 2024-11-29 11:31:18 +08:00
XING\23806
b638417b6b 更换首页产品中心图片 2024-11-29 11:28:18 +08:00
zhang.lei3
f66cfc1ce7 Merge branch 'feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' 2024-11-29 11:09:28 +08:00
zhang.lei3
96851bfc94 Merge branch 'feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into master_new 2024-11-28 16:09:22 +08:00
zhang.lei3
afaacc172f Merge branch 'feature/FCRS-861关于个险渠道开发旺季营销金掌桂功能的请示' into dev-new 2024-11-28 15:23:50 +08:00
XING\23806
29c066b28b 更换贺报背景图 优化贺报字体 2024-11-28 14:56:18 +08:00
xuxingjun
0d5fe441a1 更换 开门红专区的背景图 2024-11-27 17:39:03 +08:00
xuxingjun
6f6318dab5 更换 开门红专区的背景图 2024-11-27 17:38:12 +08:00
xuxingjun
96fe16a775 把提示语 “核心批扣”改成“待核心业务系统批量扣费” 2024-11-27 14:49:54 +08:00
xuxingjun
7191ddbf2f 把提示语 “核心批扣”改成“待核心业务系统批量扣费” 2024-11-27 14:47:22 +08:00
xuxingjun
21c686d9cb 去掉多余代码 2024-11-27 13:34:38 +08:00
xuxingjun
52e5844372 去掉多余代码 2024-11-27 11:33:06 +08:00
xuxingjun
d458ee3ba2 去掉多余代码 2024-11-27 11:31:07 +08:00
xuxingjun
f4459b00f6 更换已选产品弹框背景图 2024-11-27 10:20:26 +08:00
xuxingjun
fad3e8d73c 更换已选产品弹框背景图 2024-11-27 10:18:28 +08:00
xuxingjun
5239aba5e5 去掉默认选择 2024-11-22 11:06:22 +08:00
xuxingjun
55165468ae 去掉默认选择 2024-11-22 11:05:49 +08:00
xuxingjun
c9768f9558 去掉默认选择 2024-11-22 10:40:15 +08:00
zhang.lei3
9a0a6b2e49 Merge remote-tracking branch 'origin/feature/FCRS-852【需求】个险渠道-国富人寿嘉和保重大疾病保险(乐享版)' 2024-11-21 17:15:36 +08:00
xuxingjun
4553e8cc08 优化保费计算默认的责任选择 2024-11-21 13:10:57 +08:00
xuxingjun
fdf4ecde4d 优化保费计算默认的责任选择 2024-11-21 12:57:39 +08:00
zhang.weiwei
24dfedac1f Merge branch 'dev-new' 2024-11-20 21:42:49 +08:00
zhang.weiwei
0c58518635 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-11-20 21:41:55 +08:00
xuxingjun
47743bf490 优化出单详情 2024-11-20 18:23:30 +08:00
xuxingjun
b6934ba12c 保费计算 默认选中第二条方案 2024-11-20 17:49:51 +08:00
xuxingjun
87c746bcf4 保费计算 默认选中第二条方案 2024-11-20 17:47:10 +08:00
zhang.weiwei
be7d50dce3 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' 2024-11-20 16:04:18 +08:00
xuxingjun
9532363f6b 取消双击事件 2024-11-19 17:20:51 +08:00
xuxingjun
3f225b1b56 优化表格样式 2024-11-19 17:08:24 +08:00
xuxingjun
1b9b979b56 选择时间时禁止软键盘弹出 2024-11-19 16:05:25 +08:00
xuxingjun
cd913a749e 优化样式 2024-11-19 15:37:06 +08:00
xuxingjun
09680f896c 优化出单详情表格样式 2024-11-19 15:19:46 +08:00
xuxingjun
8c53d92194 优化筛选样式 2024-11-19 13:37:32 +08:00
xuxingjun
53f72916cb 自定义日期校验 2024-11-19 11:21:18 +08:00
xuxingjun
eed8a9a1cb 优化出单详情 业务员姓名改业务员 2024-11-19 10:39:21 +08:00
xuxingjun
892ff39f14 优化时间类型筛选 2024-11-18 13:42:27 +08:00
xuxingjun
d7ddab1cdd 优化出单列表的条件筛选 2024-11-18 11:05:08 +08:00
xuxingjun
093f8cde83 优化出单列表展示的筛选条件 2024-11-18 10:17:36 +08:00
xuxingjun
706fa92167 1.优化详情页2.恢复全部时间筛选 2024-11-16 12:44:52 +08:00
xuxingjun
89b0d487bb 合并代码 2024-11-15 16:37:42 +08:00
xuxingjun
52dc720c6c 1.贺报详情改弹窗2.表格左侧固定住3.时间筛选去掉全部月份保留近一年的 2024-11-15 16:37:22 +08:00
zhang.lei3
4040b2f094 Merge branch 'dev-new' of http://112.124.100.131/GFRS/ebiz-h5 into dev-new 2024-11-15 14:25:12 +08:00
xuxingjun
d3076d795a 优化出单详情中的表格样式 2024-11-15 14:13:53 +08:00
zhang.lei3
439753191e Merge branch 'feature/FCRS-852【需求】个险渠道-国富人寿嘉和保重大疾病保险(乐享版)' into dev-new 2024-11-15 10:36:51 +08:00
zhang.lei3
4c475ce1eb 试算页面去掉责任的输入框 2024-11-15 10:36:03 +08:00
xuxingjun
0f96837149 出单详情 去除多余的留白 2024-11-14 16:27:17 +08:00
xuxingjun
3a5978b8d5 1.数据紧凑些2.筛选承保预收时间3.时间筛选改版4.加个保单详情页5.优化下拉列表6.优化贺报样式7.优化下一页8.修复自定义时间选择不准确的问题 2024-11-14 15:43:08 +08:00
zhang.lei3
e1c1e79fc6 Merge branch 'feature/FCRS-839关于调整金掌桂核保试算内容展示的请示-' into dev-new 2024-11-08 16:36:26 +08:00
zhang.lei3
fb2e548cff 添加说明 2024-11-08 16:35:22 +08:00
zhang.lei3
767cf542da Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-11-08 14:46:56 +08:00
zhang.lei3
b841d0a7f6 首页内勤显示机构排名 2024-11-08 14:46:26 +08:00
zhang.lei3
420ed68da2 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-11-07 16:33:42 +08:00
zhang.lei3
8c740e2aa9 1.隐藏渠道;
2.保费去掉万元
2024-11-07 16:33:20 +08:00
zhang.lei3
4e0f3e56ea Merge remote-tracking branch 'origin/feature/FCRS-839关于调整金掌桂核保试算内容展示的请示-' into dev-new 2024-11-05 10:28:41 +08:00
zhang.lei3
d7ca1eada1 核保试算页面更换费用前的图标 2024-11-05 10:27:30 +08:00
zhang.lei3
b2f0991b3b Merge remote-tracking branch 'origin/feature/FCRS-839关于调整金掌桂核保试算内容展示的请示-' into dev-new 2024-11-04 13:30:50 +08:00
陈昱达
5a4a24bda5 在核保试算页面中新增加字段:累计寿险风险保额(元)、累计重大疾病风
险保额(元)、累计意外伤害风险保额(元)、意外住院津贴日额(元)、一般
住院津贴日额(元)、特定疾病住院津贴日额(元),展示的保额为风险保额且
均已累计本次投保试算的风险保额,取数逻辑与核心系统中保持一致。
2024-11-04 11:39:21 +08:00
dong.ai
4b21142851 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-30 15:55:32 +08:00
dong.ai
f96c45c08d 修改图片链接地址 2024-10-30 15:54:18 +08:00
zhang.weiwei
83a4cad126 Merge branch 'feature/【20241030】查看投保单显示失败原因' into dev-new 2024-10-30 13:51:25 +08:00
zhang.weiwei
3b2172a4b8 feat-去掉保单详情【投保单信息】branchType 校验逻辑 2024-10-30 13:51:16 +08:00
dong.ai
60459e239c Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-30 11:15:50 +08:00
dong.ai
df6bde6661 添加上传接口获取图片地址 2024-10-30 11:14:19 +08:00
dong.ai
b5c3a53974 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-29 10:20:49 +08:00
dong.ai
d2c80c293f 修改图片下载 2024-10-29 10:19:14 +08:00
dong.ai
92cdc8fe15 修改图片下载 2024-10-29 10:17:40 +08:00
dong.ai
5dc788fab7 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-25 14:59:08 +08:00
dong.ai
ad8bb1f09a 修改分享图片3 2024-10-25 14:58:27 +08:00
dong.ai
5a94ec403f 修改图片分享2 2024-10-25 14:56:23 +08:00
dong.ai
3eb2a397e4 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-25 14:43:36 +08:00
dong.ai
6c921bf04c 修改图片分享 2024-10-25 14:43:09 +08:00
dong.ai
5b8f8c7210 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-24 11:52:50 +08:00
dong.ai
ec7b5edeef 修改图片大小 2024-10-24 11:52:19 +08:00
dong.ai
c6ae2507e6 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-24 11:31:50 +08:00
dong.ai
bcc7be372c 压缩图片大小 2024-10-24 11:31:14 +08:00
dong.ai
b159265bea Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-24 10:40:13 +08:00
dong.ai
1630589458 修改图片分享 2024-10-24 10:38:32 +08:00
dong.ai
fb18e80abf 修改图片下载名称 2024-10-24 09:21:16 +08:00
dong.ai
831c1a0782 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-23 17:10:12 +08:00
dong.ai
dc9688307d 修改下载逻辑 2024-10-23 17:09:42 +08:00
dong.ai
8cf396fe31 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-23 16:40:10 +08:00
dong.ai
6a248932e7 出单详情生成图片下载分享 2024-10-23 16:39:31 +08:00
dong.ai
bbdc377e6f Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-22 10:10:11 +08:00
dong.ai
53abc65565 修改出单详情机构名称取值 2024-10-22 10:09:45 +08:00
dong.ai
d672e2d5a8 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-21 16:41:11 +08:00
dong.ai
92bd586bb7 出单详情修改机构名称部分 2024-10-21 16:37:55 +08:00
zhang.weiwei
df2e566c42 Merge branch 'feature/FCRS-825-【需求】《国富人寿富贵尊享终身寿险(分红型》个险渠道产品运营系统需求' 2024-10-21 16:31:11 +08:00
zhang.weiwei
f07fd0f56a Merge branch 'feature/FCRS-812关于金掌桂配置个险新产品富贵尊享终身寿险(分红型)的请示' into dev-new 2024-10-17 11:32:40 +08:00
zhang.weiwei
48e35a2a5a Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-16 16:15:57 +08:00
zhang.weiwei
7266150545 feat-实时出单信息删除权限校验逻辑 2024-10-16 16:15:38 +08:00
zhang.weiwei
d324268b44 Merge branch 'feature/FCRS-825-【需求】《国富人寿富贵尊享终身寿险(分红型》个险渠道产品运营系统需求' into dev-new 2024-10-16 14:17:11 +08:00
zhang.weiwei
5fa35c785d feat-保费试算新增纯文本展示试算因子项【type=5】 2024-10-16 14:16:58 +08:00
zhang.weiwei
bb281e2b74 Merge branch 'FCRS-743-【需求】关于金掌桂开发机构实时出单功能和动态贺报生成的请示' into dev-new 2024-10-15 11:37:50 +08:00
dong.ai
7908ed90c2 Merge branch 'feature/FCRS-812关于金掌桂配置个险新产品富贵尊享终身寿险(分红型)的请示' into dev-new 2024-10-10 16:48:57 +08:00
dong.ai
0ee6ff4bd1 修改投保人被保人证件有效期 2024-10-10 14:12:27 +08:00
陈昱达
516de0de16 出单 页面修改
todo
缺少双击之后图片生成
2024-09-24 16:54:23 +08:00
60 changed files with 7314 additions and 5446 deletions

3
.gitignore vendored
View File

@@ -3,4 +3,5 @@ dist
.eslintrc.js
.prettierrc
.idea
.idea
.history

38
package-lock.json generated
View File

@@ -3216,6 +3216,11 @@
}
}
},
"base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
@@ -4783,6 +4788,14 @@
}
}
},
"css-line-break": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
"requires": {
"utrie": "^1.0.2"
}
},
"css-loader": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-1.0.1.tgz",
@@ -7879,6 +7892,15 @@
}
}
},
"html2canvas": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
"requires": {
"css-line-break": "^2.1.0",
"text-segmentation": "^1.0.3"
}
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz",
@@ -15689,6 +15711,14 @@
}
}
},
"text-segmentation": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
"requires": {
"utrie": "^1.0.2"
}
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz",
@@ -16274,6 +16304,14 @@
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true
},
"utrie": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
"requires": {
"base64-arraybuffer": "^1.0.2"
}
},
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz",

View File

@@ -26,6 +26,7 @@
"crypto-js": "^4.1.1",
"echarts": "^4.2.1",
"fastclick": "^1.0.6",
"html2canvas": "^1.4.1",
"js-base64": "^2.5.1",
"js-md5": "^0.7.3",
"js-sha256": "^0.9.0",

View File

@@ -24,4 +24,12 @@ export function queryOutOrderList(data) {
method: 'post',
data
})
}
// 出单详情
export function queryOutOrderDetail(data) {
return request({
url: getUrl(`/sale/order/queryOutOrderDetail`, 1),
method: 'post',
data
})
}

View File

@@ -39,10 +39,30 @@ export function getOrgList(data) {
// 获取MIS全部机构 (分级)接口--因内勤多加一级,所以用这个接口
export function getMisBranchComList(data) {
// data.isJzg false 为内勤
// data.isJzg true 为外勤
return request({
url: getUrl('/data/performance/getMisBranchComList', 1),
url: getUrl( '/data/performance/getMisBranchComList', 1),
method: 'post',
data
})
}
export function getMisBranchComList2(data) {
// data.isJzg false 为内勤
// data.isJzg true 为外勤
return request({
url: getUrl( '/agent/agent/getJZGManageComList' , 1),
method: 'post',
data
})
}
// 内勤机构
// export function getMisBranchComList(data) {
// return request({
// url: getUrl('/data/performance/getMisBranchComList', 1),
// method: 'post',
// data
// })
// }

View File

@@ -118,3 +118,13 @@ export function exportExcel(data) {
data
})
}
export function base64Excel(data) {
return request({
// url: 'http://10.10.100.98:7012/updown/uploadBase64Image',
url: getUrl('/uploadBase64Image', 1,2),
method: 'post',
data
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -3947,6 +3947,35 @@ export default {
{
code: "GFRS_M0094__cashValue",
label: "元"
},
{
//养老年金开始领取年龄
code: 'pensionAge',
label: '岁'
},
{
code: 'AppntCriticalDiseaseExemptionPremiumD',
label: '元'
},
{
code: 'AppntModerateOrMinorDiseaseExemptionPremiumD',
label: '元'
},
{
code: 'AppntDeathOrTotalDiseaseExemptionPremiumD',
label: '元'
},
{
code: 'InsuredCriticalDiseaseExemptionPremiumD',
label: '元'
},
{
code: 'InsuredModerateOrMinorDiseaseExemptionPremiumD',
label: '元'
},
{
code: 'InsuredDeathOrTotalDiseaseExemptionPremiumD',
label: '元'
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,

View File

@@ -16,7 +16,7 @@
<van-field
minlength="6"
class="pt5 mt10"
style="border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea"
style="border-top: 1px solid #eaeaea; border-bottom: 1px solid #eaeaea"
v-model="checkModel.pwd"
clearable
type="password"
@@ -207,7 +207,7 @@ export default {
operateCodeType: '0'
}
//获取验证码
getAuthCode(data).then(res => {
getAuthCode(data).then((res) => {
if (res.result == 0) {
this.checkModel.smsId = res.sessionId
this.checkModel.smsCode = null
@@ -225,6 +225,18 @@ export default {
}
})
}
},
watch: {
/**
* 监听弹窗显示隐藏
*/
'checkModel.show'(val) {
console.log('checkModel.show', val)
// 显示时禁止截屏,不显示时恢复截屏
EWebBridge.webCallAppInJs('enable_screen_capture', {
enable: !val
})
}
}
}
</script>

View File

@@ -0,0 +1,254 @@
<template>
<div class="statisticsTable">
<div class="statisticsTable_table">
<div class="table">
<table cellspacing="0" summary cellpadding="1">
<thead>
<tr>
<th :class="{ 'th-fixed': index < 1 }" v-for="(item, index) in theads" :key="index">{{ item }}</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in tableData" :key="index" :ref="'th' + index" @click="(e) => double_click(index, item)">
<td class="th-fixed" @click="goLink(item)">{{ Number(index) + 1 }}</td>
<td class="timeDate" v-show="timeShow">{{ item.signDate }}</td>
<td class="timeDate" v-show="timeShow == false">{{ item.appntDate }}</td>
<td class="productName">{{ item.productName }}</td>
<td class="prem">{{ item.prem }}</td>
<td>
<span class="td-sheng">{{ item.name }}</span>
</td>
<td>{{ item.manageComName }}</td>
<td class="chakan">
<van-button size="mini" type="danger" @click="download(item)">下载贺报</van-button>
<van-button size="mini" type="info" @click="look(item.orderNo)">查看</van-button>
</td>
<!-- <td>{{ item.branchTypeName }}</td>-->
</tr>
</tbody>
</table>
</div>
</div>
<div class="pagination" v-if="total > 5">
<div type="text" @click="pageUp" :style="pageNum > 1 ? 'color:red' : ''">上一页</div>
<div style="color: red">{{ pageNum }}/{{ Math.ceil(total / pageSize) }}</div>
<div @click="pageDown" :style="pageNum < Math.ceil(total / pageSize) ? 'color:red' : ''">下一页 ></div>
<div v-if="pageNum == 1" class="shangzheBox"></div>
<div v-if="pageNum >= Math.ceil(total / pageSize)" class="xiazheBox"></div>
</div>
</div>
</template>
<script>
export default {
name: 'tableDetail',
props: {
theads: {
type: Array,
default: []
},
isLink: {
type: Boolean,
default: false
},
total: {
type: Number,
default: false
},
pageSize: {
type: Number,
default: false
},
pageNum: {
type: Number,
default: false
},
tableData: {
type: Array,
default: []
}
},
data() {
return {
timeShow: false,
}
},
watch: {
theads(newVal) {
if (newVal) {
for(let i=0;i<this.theads.length;i++) {
if(this.theads[i] == '承保时间') {
this.timeShow = true
} else if(this.theads[i] == '预收时间') {
this.timeShow = false
}
}
}
}
},
created() {
for(let i=0;i<this.theads.length;i++) {
if(this.theads[i] == '承保时间') {
this.timeShow = true
} else if(this.theads[i] == '预收时间') {
this.timeShow = false
}
}
},
methods: {
double_click(index, fn, data) {
let timestamp = 0
this.$refs['th' + index][0].addEventListener('click', () => {
const now = new Date()
if (now - timestamp <= 300) {
this.$emit('double_click', this.tableData[index])
// fn();
timestamp = 0
} else {
timestamp = now
}
})
},
pageUp() {
if (this.pageNum <= 1) {
return false
}
let page = this.pageNum - 1
this.$emit('currentChange', page)
},
pageDown() {
let end_num = Math.ceil(this.total / this.pageNum)
if (this.pageNum >= end_num) {
return false
}
let page = this.pageNum + 1
this.$emit('currentChange', page)
},
goLink(item) {
if (this.isLink) {
this.$emit('goLink', item)
}
},
// 跳转至下载贺报页面
download(data){
this.$emit('from-child', data);
},
// 查看详情 跳转至详情页面
look(num) {
this.$emit('fro-child', num);
// console.log(num);
// this.$router.push({
// path: '/policyDetails',
// query: {
// orderNo: num,
// }
// })
},
}
}
</script>
<style lang="scss" scoped>
.pagination {
display: flex;
margin-top: 10px;
margin-bottom: 10px;
justify-content: space-between;
align-items: center;
position: relative;
.shangzheBox {
position: absolute;
left: 0;
top: 0;
width: 70px;
height: 30px;
}
.xiazheBox {
position: absolute;
right: 0;
top: 0;
width: 70px;
height: 30px;
}
}
.statisticsTable_table {
height: 82.5vh;
overflow: auto;
//width: 1000px;
}
.statisticsTable_table .table {
width: 195.6vw !important;
}
.timeDate {
width: 90px !important;
}
.productName {
width: 35vw;
}
.chakan {
width: 130px;
}
.prem {
text-align: right !important;
width: 90px !important;
padding-right: 7px !important;
}
.statisticsTable th {
width: 90px;
}
table {
// width: 200vw;
}
.th-fixed {
position: sticky;
border: 1px solid #999 !important;
left: 0;
width: 35px !important;
padding: 0 5px;
}
.statisticsTable {
width: 100%;
overflow-x: hidden;
table {
border-collapse: collapse;
}
table,
th,
td {
border: 1px solid #999;
text-align: center;
font-size: 14px;
line-height: 30px;
background: #fff;
}
thead {
th {
height: 40px;
line-height: 40px;
background: #e9332e;
color: #fff;
}
}
}
.td-fixed {
// position: sticky;
width: 33px !important;
padding: 0 5px;
left: 0;
text-decoration: underline;
}
.td-sheng {
display: block;
width: 65px; /* 设置span的宽度 */
white-space: nowrap; /* 确保文本不换行 */
overflow: hidden; /* 隐藏超出span宽度的文本 */
text-overflow: ellipsis; /* 超出部分显示为省略号 */
text-align: left; /* 文本对齐方式 */
margin: 0 auto;
text-align: center;
}
</style>

View File

@@ -127,7 +127,7 @@ export default {
num++
await this.getRecognitionUrl(val, num)
if (this.requestId && this.bizToken) {
await this.getRecognitionResult(this.requestId, this.bizToken)
await this.getRecognitionResult(this.requestId, this.bizToken, JSON.parse(localStorage['orderNo']))
} else {
return
}
@@ -155,9 +155,9 @@ export default {
)
})
},
getRecognitionResult(requestId, bizToken) {
getRecognitionResult(requestId, bizToken, orderNo) {
return new Promise((resolve, reject) => {
getRecognitionResult({ requestId, bizToken }).then(
getRecognitionResult({ requestId, bizToken, orderNo }).then(
res => {
console.log('getRecognitionResult', res)
if (res.result == '0') {

View File

@@ -1,14 +1,32 @@
const billingDetail = () => import('@/views/ebiz/billingDetail/billingDetail')
const generateImg = () => import('@/views/ebiz/generateImg/generateImg')
const policyDetails = () => import('@/views/ebiz/billingDetail/policyDetails')
export default [
{
path: '/billingDetail',
name: 'billingDetail',
component: billingDetail,
meta: {
title: '出单详情',
index: 1
}
{
path: '/billingDetail',
name: 'billingDetail',
component: billingDetail,
meta: {
title: '出单详情',
index: 1
}
]
},
{
path: '/generateImg',
name: 'generateImg',
component: generateImg,
meta: {
title: '业绩贺报'
}
},
{
path: '/policyDetails',
name: 'policyDetails',
component: policyDetails,
meta: {
title: '保单详情',
}
},
]

View File

@@ -43,7 +43,7 @@
<div slot="title">
<p style="color: #E9332E;">请选择项目</p>
</div>
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;">
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;height:425px;overflow-y:auto">
<van-radio-group v-model="chooseTeamCode">
<van-radio v-for="(item,index) in projectList" :key="index" :name="item.teamCode" style="margin: 10px;">
<span style="margin-left: 20px;">

View File

@@ -104,13 +104,16 @@ export default {
this.show = true // 显示确认对话框
},
contact() {
const a = document.createElement('a')
a.href = `tel:'${this.ybOrderDTOList.appntPhone}'`
a.click()
this.show = false
EWebBridge.webCallAppInJs('callSystem', {
system: 'tel',
number: this.ybOrderDTOList.appntPhone
})
},
callPhone(phoneNumber) {
window.location.href = 'tel://' + phoneNumber
EWebBridge.webCallAppInJs('callSystem', {
system: 'tel',
number: phoneNumber
})
},
getYBRenewalInfo() {
// let params = {

View File

@@ -52,10 +52,10 @@
<span>保单号</span><span>{{ item.contNo }}</span>
</p>
<p>
<span>保人</span><span>{{ item.insuredName }}</span>
<span>保人</span><span>{{ item.appntName }}</span>
</p>
<p>
<span>被保险人</span><span>{{ item.appntName }}</span>
<span>被保险人</span><span>{{ item.insuredName }}</span>
</p>
<p v-if="active == 3">
<span>转账银行</span><span>{{ item.bankName }}</span>

View File

@@ -2,17 +2,16 @@
<div class="login-container ph10">
<h3 class="text-center pv30">欢迎登录</h3>
<van-cell-group cl>
<van-field v-model="username" clearable label="用户名" placeholder="请输入用户名" left-icon="contact"/>
<van-field v-model="password" type="password" label="密码" placeholder="请输入密码" left-icon="bag-o"/>
<van-field v-model="username" clearable label="用户名" placeholder="请输入用户名" left-icon="contact" />
<van-field v-model="password" type="password" label="密码" placeholder="请输入密码" left-icon="bag-o" />
</van-cell-group>
<van-button type="info" size="large" class="mt30" @click="login" :loading="loading" loading-text="登录中...">登录
</van-button>
<van-button type="info" size="large" class="mt30" @click="login" :loading="loading" loading-text="登录中...">登录 </van-button>
</div>
</template>
<script>
import {CellGroup, Field} from 'vant'
import {loginTest} from '@/api/ebiz/my/my.js'
import { CellGroup, Field } from 'vant'
import { loginTest } from '@/api/ebiz/my/my.js'
export default {
name: 'login',
@@ -28,6 +27,14 @@ export default {
redirect: this.$route.query.redirect
}
},
mounted() {
setTimeout(() => {
EWebBridge.webCallAppInJs('enable_screen_capture', {
enable: false
})
}, 500)
},
methods: {
login() {
if (this.username == '' || this.password == '') {
@@ -35,30 +42,31 @@ export default {
return
}
this.loading = true
let that = this;
let that = this
let reqData = {
password: this.$MD5(that.password),
system: "agentApp",
graphCode: "",
graphId: "",
system: 'agentApp',
graphCode: '',
graphId: '',
name: this.username,
loginflag: "agentPassword",
loginflag: 'agentPassword'
}
loginTest(reqData).then(res => {
this.loading = false
if (res.result == 0) {
console.log(res)
this.$CacheUtils.setLocItem("token",res.token)
this.$router.push({ path: this.redirect || '/' })
}else {
this.$toast(res.resultMessage)
}
}) .catch(err => {
console.log(err)
this.loading = false
})
loginTest(reqData)
.then((res) => {
this.loading = false
if (res.result == 0) {
console.log(res)
this.$CacheUtils.setLocItem('token', res.token)
this.$router.push({ path: this.redirect || '/' })
} else {
this.$toast(res.resultMessage)
}
})
.catch((err) => {
console.log(err)
this.loading = false
})
}
}
}

View File

@@ -34,14 +34,12 @@
点击开始按钮进行相关操作<br /><span class="red">温馨提示请尽量使用正楷文字进行签名</span>
</div>
<div class="text-center mt20">
<van-button @click="faceAuth('0')" v-no-more-click="1000" :disabled="isAgentSubmit" type="danger" size="normal" style="width:30%">开始</van-button>
<van-button @click="faceAuth('0')" v-no-more-click="1000" :disabled="isAgentSubmit" type="danger" size="normal" style="width: 30%">开始</van-button>
</div>
</div>
<div class="ebizGuarantor">
<van-field readonly label-width="120px" label="担保人" v-model="ebizGuarantor.name"></van-field>
<p class="p15 line-height">
以下内容需要您按照顺序阅读并签字确认
</p>
<p class="p15 line-height">以下内容需要您按照顺序阅读并签字确认</p>
<div class="p15 line-height">
需签署
<ul>
@@ -63,9 +61,9 @@
</ul>
点击开始分享进行相关操作<br /><span class="red">温馨提示请尽量使用正楷文字进行签名</span>
</div>
<div v-if="!isInvalid" class="flex justify-content-a mb60 mt20">
<van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" type="danger" size="normal" style="width:30%">分享</van-button>
<van-button @click="faceAuth('1')" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width:30%">开始</van-button>
<div v-if="!isInvalid" class="flex justify-content-a mb60 mt20">
<van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" type="danger" size="normal" style="width: 30%">分享</van-button>
<van-button @click="faceAuth('1')" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width: 30%">开始</van-button>
</div>
<div v-else class="ml15">操作时间已失效请联系销售人员</div>
</div>
@@ -206,7 +204,9 @@ export default {
//初始化信息
async init() {
if (this.isWeixin) {
window.localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
window.localStorage.setItem('token', this.$route.query.token)
}
if (this.$route.query.signInvalid) {
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
}
@@ -238,8 +238,8 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
return new Promise(resolve => {
agreementQuery(data).then(res => {
return new Promise((resolve) => {
agreementQuery(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.agentInfo = res.content.ebizEnterCustomerDto
@@ -251,10 +251,10 @@ export default {
this.agentInfo.createdDate = this.agentInfo.createdDate.substring(0, 10)
this.agentSignList = filtSignList(this, this.signList).agentSignList
this.guaranteeSignList = filtSignList(this, this.signList).guaranteeSignList
this.isAgentSubmit = this.agentSignList.every(item => {
this.isAgentSubmit = this.agentSignList.every((item) => {
return item.signState == '1'
})
this.isguranteeSubmit = this.guaranteeSignList.every(item => {
this.isguranteeSubmit = this.guaranteeSignList.every((item) => {
return item.signState == '1'
})
resolve()
@@ -285,7 +285,7 @@ export default {
message: '加载中……'
})
let data = {}
getSignInvalid(data).then(res => {
getSignInvalid(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.signInvalid = res.content.sign
@@ -321,8 +321,8 @@ export default {
let data = {
sign: signInvalid
}
return new Promise(resolve => {
checkSignInvalid(data).then(res => {
return new Promise((resolve) => {
checkSignInvalid(data).then((res) => {
if (res.result == '0') {
that.$toast.clear()
let status = res.content.status
@@ -338,7 +338,7 @@ export default {
if (code == '0') {
if (this.agentInfo.idType == '1') {
this.goUrl(code)
this.goUrl(code)
// 人脸识别次数小于3次
this.$toast.loading({
duration: 0, // 持续展示 toast
@@ -366,7 +366,8 @@ export default {
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
businessSource: '2', //业务来源:1-电投2-入司3-理赔4-保全
number: this.agentInfo.idNo, //身份证号码
name: this.agentInfo.name //姓名
name: this.agentInfo.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
})
// const authRes = await this.fakeFaceAuth(true)
console.log(authRes)
@@ -395,7 +396,7 @@ export default {
},
fakeFaceAuth(expect) {
console.log('模拟调用人脸识别')
return new Promise(function(resolve, reject) {
return new Promise(function (resolve, reject) {
setTimeout(() => {
console.log('模拟人脸识别完成')
if (expect) {
@@ -409,11 +410,11 @@ export default {
goUrl(code) {
let path = ''
if (code == '0') {
path = this.agentSignList.filter(v => {
path = this.agentSignList.filter((v) => {
return v.signState == '0'
})[0].path
} else if (code == '1') {
path = this.guaranteeSignList.filter(v => {
path = this.guaranteeSignList.filter((v) => {
return v.signState == '0'
})[0].path
}
@@ -437,7 +438,7 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
signAgreement(data).then(res => {
signAgreement(data).then((res) => {
console.log(res)
if (res.result == '0') {
this.$toast.clear()

View File

@@ -1,27 +1,24 @@
<template>
<div class='orderDetail-container'>
<index-bar :allowance-no='$route.query.allowanceNo' :reapply-no='$route.query.reapply' v-if='!isWeixin'></index-bar>
<div v-for='(item, index) in allowanceSignDTOLst' :key='index'>
<div class="orderDetail-container">
<index-bar :allowance-no="$route.query.allowanceNo" :reapply-no="$route.query.reapply" v-if="!isWeixin"></index-bar>
<div v-for="(item, index) in allowanceSignDTOLst" :key="index">
<!-- 申请人 -->
<div v-if='item.type == 1 && !isWeixin'>
<p class='fw600 border-gb'>
<span>申请人</span><span class='ml60'>{{ allowanceApplyDTO.name }}</span>
<div v-if="item.type == 1 && !isWeixin">
<p class="fw600 border-gb">
<span>申请人</span><span class="ml60">{{ allowanceApplyDTO.name }}</span>
</p>
<p>点击签名按钮进行申请人签名</p>
<p class='border-gb'>
<p class="border-gb">
<span>申请人</span>
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
:disabled='isSure' v-no-more-click='1000'>{{
item.signStatus == '0' ? '签名' : '已签名'
}}
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
</van-button>
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
alt='' /><br />
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
</p>
</div>
<div v-if='item.type == 2'>
<div v-if='isWeixin' class='bg-white mt10 fs14 tips'>
<div v-if="item.type == 2">
<div v-if="isWeixin" class="bg-white mt10 fs14 tips">
<p>
尊敬的
<span>{{ allowanceEnjoyDTO.name }}</span
@@ -29,83 +26,54 @@
</p>
<p>恭喜您获得国富人寿桂冠专属父母赡养津贴需要您点击签字按钮进行签字申请</p>
</div>
<p v-if='!isWeixin' class='fw600 border-gb'>
<span>享受人</span><span class='ml60'>{{ allowanceEnjoyDTO.name }}</span>
<p v-if="!isWeixin" class="fw600 border-gb">
<span>享受人</span><span class="ml60">{{ allowanceEnjoyDTO.name }}</span>
</p>
<p v-if='!isWeixin'>点击签名按钮进行享受人签名</p>
<p class='border-gb'>
<p v-if="!isWeixin">点击签名按钮进行享受人签名</p>
<p class="border-gb">
<span>享受人</span>
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
:disabled='isSure' v-no-more-click='1000'>{{
item.signStatus == '0' ? '签名' : '已签名'
}}
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
</van-button>
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
alt='' /><br />
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
<!-- 享受人有分享功能 -->
<van-button
type='danger'
color='#2E4591'
class='ml65 mt10'
v-if='!isWeixin'
size='small'
type="danger"
color="#2E4591"
class="ml65 mt10"
v-if="!isWeixin"
size="small"
@click="share('0')"
:disabled='isSure'
v-no-more-click='1000'
>分享
</van-button
>
:disabled="isSure"
v-no-more-click="1000"
>分享
</van-button>
</p>
</div>
</div>
<van-button v-if='!isWeixin' type='danger' color='#2E4591' class='bottom-btn ffcb6b' @click='nextStep'
v-no-more-click='1000'>提交审批
</van-button>
<SignTure :SignShow='SignShow' :signInfo='allowanceEnjoyDTO' @close='SignClose'
@SignSuccessful='SignSuccessful'></SignTure>
<van-button v-if="!isWeixin" type="danger" color="#2E4591" class="bottom-btn ffcb6b" @click="nextStep" v-no-more-click="1000">提交审批 </van-button>
<SignTure :SignShow="SignShow" :signInfo="allowanceEnjoyDTO" @close="SignClose" @SignSuccessful="SignSuccessful"></SignTure>
<!-- 短信验证 -->
<van-dialog v-model='show' title='提示' show-cancel-button @confirm='authConfirm(authCode)' @cancel='clearTimer'>
<p class='p10 fs14'>为确保是您本人操作短信验证码已发送至您手机号{{ encyCustomerMobile }}请您输入验证码以完成后续投保操作</p>
<van-cell-group class='flex align-items-c pr5 mb15'>
<van-field maxlength='6' placeholder='请输入短信验证码' v-model='authCode' clearable label-width='0' />
<van-button type='danger' color='#2E4591' plain size='small' class='w160 p0' @click='getAuthCode'
:disabled='codeDisabled' v-no-more-click='2000'>{{
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
}}
<van-dialog v-model="show" title="提示" show-cancel-button @confirm="authConfirm(authCode)" @cancel="clearTimer">
<p class="p10 fs14">为确保是您本人操作短信验证码已发送至您手机号{{ encyCustomerMobile }}请您输入验证码以完成后续投保操作</p>
<van-cell-group class="flex align-items-c pr5 mb15">
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
<van-button type="danger" color="#2E4591" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000"
>{{ codeDisabled ? `${countDown}s后重新获取` : '获取验证码' }}
</van-button>
</van-cell-group>
</van-dialog>
</div>
</template>
<script>
import {
Toast,
CellGroup,
Field,
Dialog,
Collapse,
CollapseItem,
Cell,
Popup,
Divider,
RadioGroup,
Radio,
Tag
} from 'vant'
import { Toast, CellGroup, Field, Dialog, Collapse, CollapseItem, Cell, Popup, Divider, RadioGroup, Radio, Tag } from 'vant'
import { getAllowanceDetail, saveOrUpdateAllowanceUrl, approveInit } from '@/api/ebiz/allowance/allowance'
import SignTure from './component/SignTure'
import config from '@/config'
import { getWhitelist } from '@/api/ebiz/whitelist'
import { weixinShare } from '@/assets/js/utils/wxShare.js'
import { checkPhone } from '@/api/ebiz/customer/customer'
import {
getSignInvalid,
checkSignInvalid,
getAuthCode,
autchCodeCheck,
getRecognitionUrl,
getRecognitionResult
} from '@/api/ebiz/sale/sale'
import { getSignInvalid, checkSignInvalid, getAuthCode, autchCodeCheck, getRecognitionUrl, getRecognitionResult } from '@/api/ebiz/sale/sale'
import { getShareParam } from '@/api/ebiz/cardList/cardList.js'
import IndexBar from '@/components/ebiz/allowance/application/IndexBar'
@@ -183,7 +151,9 @@ export default {
// 初始化
async init() {
if (this.isWeixin) {
window.localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
window.localStorage.setItem('token', this.$route.query.token)
}
// let signInvalid = sessionStorage.getItem('signInvalid')
// let rs = await this.checkSignInvalid(signInvalid) // 微信分享验证校验值
// if (rs == '1') {
@@ -195,7 +165,11 @@ export default {
//获取腾讯人脸识别URL后重新跳回页面验证腾讯人脸识别结果成功的话调签字面板
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
this.getRecognitionResult(
JSON.parse(localStorage['faceAuthWeXin-requestId']),
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
JSON.parse(localStorage['orderNo'])
)
}
this.faceAuthCount.enjoy = this.$route.query.faceAuthCountAppnt == undefined ? 0 : Number(this.$route.query.faceAuthCountAppnt)
this.faceAuthCount.weixin = this.$route.query.faceAuthCountWeixin == undefined ? 0 : Number(this.$route.query.faceAuthCountWeixin)
@@ -291,9 +265,9 @@ export default {
return str
},
//微信初始化--获取腾讯人脸识别结果接口
getRecognitionResult(requestId, bizToken) {
getRecognitionResult(requestId, bizToken, orderNo) {
return new Promise(() => {
getRecognitionResult({ requestId, bizToken }).then(
getRecognitionResult({ requestId, bizToken, orderNo }).then(
(res) => {
if (res.result == '0') {
this.recognizeResult = res.result
@@ -497,7 +471,8 @@ export default {
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
businessSource: '5', //业务来源:1-电投2-入司3-理赔4-保全 5津贴
number: that.allowanceEnjoyDTO.idNo, //身份证号码
name: that.allowanceEnjoyDTO.name //姓名
name: that.allowanceEnjoyDTO.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
console.log(JSON.parse(data), 'APP人脸识别结果')
if (JSON.parse(data).state == '1') {
@@ -669,7 +644,7 @@ export default {
extra: {
title: `国富人寿桂冠专属父母赡养津贴申请`,
content: '点击去签字',
shareScene:0,// 0只分享好友1 只分享朋友圈 不传默认所有
shareScene: 0, // 0只分享好友1 只分享朋友圈 不传默认所有
url: location.origin + '/#/allowance/application/signatureConfirmation?allowanceNo=' + this.allowanceNo + '&token=' + res.content,
// '&relationToAppnt=' +
// JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
@@ -728,7 +703,7 @@ export default {
}
}
</script>
<style lang='scss'>
<style lang="scss">
#app {
.van-dialog__confirm,
.van-dialog__confirm:active {
@@ -736,7 +711,7 @@ export default {
}
}
</style>
<style lang='scss' scoped>
<style lang="scss" scoped>
.orderDetail-container {
background-color: #fff;
min-height: 100vh;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,160 @@
<template>
<div class="content">
<!-- 保单详情 -->
<van-collapse v-model="activeName">
<van-collapse-item title="投保单信息" name="1">
<div class="row">
<span class="title">投保单号</span>
<span class="main">{{ policyData.orderNo }}</span>
</div>
<div class="row">
<span class="title">投保日期</span>
<span class="main">{{ policyData.appntDate }}</span>
</div>
<div class="row">
<span class="title">承保日期</span>
<span class="main">{{ policyData.signDate }}</span>
</div>
<div class="row">
<span class="title">总保费</span>
<span class="main">{{ policyData.orderAmount }}</span>
</div>
</van-collapse-item>
<van-collapse-item title="主险" name="2">
<p class="list" v-show="mainShow" v-for="(item, index) in policyData.mainRiskNameList" :key="index">{{ item }}</p>
<p class="list" v-show="mainShow == false">暂无主险信息</p>
</van-collapse-item>
<van-collapse-item title="附加险" name="3">
<p class="list" v-show="subRiskShow" v-for="(itemm, index) in policyData.subRiskNameList" :key="index">{{ itemm }}</p>
<p class="list" v-show="subRiskShow == false" >暂无附加险信息</p>
</van-collapse-item>
</van-collapse>
<div class="bottom">
<button class="back" @click="goback()">返回</button>
</div>
</div>
</template>
<script>
import { Collapse, CollapseItem } from 'vant'
import { queryOutOrderDetail } from '@/api/ebiz/billingDetail/billingDetail'
// 当前时间
const currentDate = new Date()
export default {
name: 'policyDetails',
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
},
props: {
orderNo: {
type: String,
default: false
}
},
data() {
return {
currentDate: '',
// orderNo: '',
activeName: ['1','2','3'],
policyData: {},
mainShow: false,
subRiskShow: false,
}
},
created() {
console.log(this.orderNo);
this.getpolicyInfo();
},
mounted() {
// console.log(this.orderNo);
// this.getpolicyInfo();
},
methods: {
getpolicyInfo() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
queryOutOrderDetail({
orderNo: this.orderNo,
}).then((res) => {
this.policyData = res.content;
if(this.policyData.mainRiskNameList == []) {
this.mainShow = false
} else {
this.mainShow = true
}
if(this.policyData.subRiskNameList.length == 0) {
this.subRiskShow = false
} else {
this.subRiskShow = true
}
})
},
goback() {
this.$emit('child-back', '1');
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .van-cell {
font-size: 18px;
font-weight: 500;
}
::v-deep .van-collapse-item__content {
padding: 0px 35px;
}
.content {
height: 100vh;
background-color: #fff;
}
.row {
display: flex;
align-items: strat;
padding: 7px 0px;
border-bottom: 0.5px #ccc solid;
.title {
width: 110px;
font-size: 16px;
color: #333;
}
.main {
font-size: 14px;
max-width: 200px;
word-break: normal;
display: block;
white-space: pre-wrap;
word-wrap: break-word;
overflow: hidden;
}
}
.list {
padding: 12px 0;
}
.bottom {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
.back {
width: 100%;
background-color: #e9332e;
border: none;
padding: 12px 0px;
border-radius: 28px;
color: #fff;
font-size: 20px;
text-align: center;
}
}
::v-deep .van-cell__right-icon {
margin-left: 1.33333vw;
color: #969799;
display: none;
}
</style>

View File

@@ -42,7 +42,7 @@
@click="selectClick('3', '', '1')">证件扫描
</van-button>
</van-field>
<FieldDatePicter
<!-- <FieldDatePicter
:v-validate='{ required: certiexpiredateRequired }'
required
label='证件截止日期'
@@ -59,7 +59,7 @@
<van-checkbox v-model='userInfo.effectiveDateType' :disabled='effectiveDateTypeAble'
@change='effectiveDataTypeChange'>长期
</van-checkbox>
</div>
</div> -->
<select-radio required :radios='sexRadio' label='性别' name='性别' v-validate="'required'"
:value.sync='userInfo.sex'></select-radio>
<FieldDatePicter
@@ -154,7 +154,7 @@
v-validate="'required'"
@click="toSelect('11')"
/>
<van-field
<!-- <van-field
v-model='userInfo.homeName'
readonly
label='联系地址'
@@ -166,7 +166,7 @@
@click="areaSelect('1')"
/>
<van-field v-model='userInfo.homeAddress' label name='详细地址' placeholder='请输入详细地址' v-validate="'required'"
clearable maxlength='30' />
clearable maxlength='30' /> -->
<!-- </template> -->
</van-cell-group>
<van-goods-action style='z-index: 99'>
@@ -331,7 +331,7 @@ export default {
idType: '1', //证件类型
idNo: '', //证件号码
certiexpiredate: '', //证件到期时间
effectiveDateType: false, //是否长期
effectiveDateType: null, //是否长期
occupationCode: '', //职业代码
occupationName: '', //职业名称
averageAnnualIncome: '', //平均年收入
@@ -339,9 +339,9 @@ export default {
healthGrade: '', //健康等级
nativeplace: '1', //国家地区
marriageStatus: '', //婚姻状况
homeProvince: '450000', //家庭省
homeCity: '450100', //家庭市
homeArea: '450101', //家庭区
homeProvince: '', //家庭省
homeCity: '', //家庭市
homeArea: '', //家庭区
homeName: '', //联系地址
homeAddress: '', //详细地址
mobile: '', //移动电话
@@ -380,7 +380,7 @@ export default {
}
},
created() {
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
// this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
},
async mounted() {
let that = this
@@ -404,17 +404,17 @@ export default {
cardOrderDetail(cardInfoDTO).then(res => {
if (res.result == '0') {
Object.assign(that.userInfo,res.orderDTO.appntDTO)
that.userInfo.effectiveDateType = that.userInfo.effectiveDateType == 'true'?true:false
that.userInfo.certiexpiredate = that.userInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
that.userInfo.homeName = getAreaName([
{ code: that.userInfo.homeProvince },
{ code: that.userInfo.homeCity },
{ code: that.userInfo.homeArea }
])
if (this.userInfo.birthday) {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
this.effectiveDateTypeAble = !(age >= 45)
}
// that.userInfo.effectiveDateType = that.userInfo.effectiveDateType == 'true'?true:false
// that.userInfo.certiexpiredate = that.userInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
// that.userInfo.homeName = getAreaName([
// { code: that.userInfo.homeProvince },
// { code: that.userInfo.homeCity },
// { code: that.userInfo.homeArea }
// ])
// if (this.userInfo.birthday) {
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// this.effectiveDateTypeAble = !(age >= 45)
// }
}
})
}
@@ -517,7 +517,7 @@ export default {
areaSelect(insureType) {
;[this.homeShow, this.insureType] = [true, insureType]
if (insureType === '1') {
this.areaCode = this.userInfo.homeArea
// this.areaCode = this.userInfo.homeArea
}
},
//监听名字变化
@@ -581,14 +581,14 @@ export default {
} else if (this.pickerType == '2') {
//身份证以外的证件类型可以使用长期
//value.id 1 居民身份证 todo
if (value.id != '1') {
this.effectiveDateTypeAble = false
} else {
if (this.userInfo.birthday) {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
this.effectiveDateTypeAble = !(age >= 45)
}
}
// if (value.id != '1') {
// this.effectiveDateTypeAble = false
// } else {
// if (this.userInfo.birthday) {
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// this.effectiveDateTypeAble = !(age >= 45)
// }
// }
this.userInfo.idType = value.id
} else if (this.pickerType == '3') {
this.userInfo.degree = value.id
@@ -632,50 +632,50 @@ export default {
// }
}
break
case '1': {
console.log('证件截止日期')
//证件截止日期
//如果已经勾选了长期
if (this.userInfo.effectiveDateType) {
//清空数据并返回
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return
}
this.userInfo.effectiveDateType = false
//如果录入日期早于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
//不同证件类型的判断
// if (this.userInfo.idType) {
// //获取年龄
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// console.log(age)
// //年龄在16-25周岁之间
// if (age >= 16 && age <= 25) {
// if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('16周岁~25周岁的证件有效期为10年')
// }
// //年龄在26-45周岁之间
// } else if (age >= 26 && age <= 45) {
// if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('26周岁~45周岁的证件有效期为20年')
// }
// //此外的年龄段不支持
// } else {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('身份证不支持此年龄段')
// }
// }
}
// case '1': {
// console.log('证件截止日期')
// //证件截止日期
// //如果已经勾选了长期
// if (this.userInfo.effectiveDateType) {
// //清空数据并返回
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return
// }
// this.userInfo.effectiveDateType = false
// //如果录入日期早于当前日期
// if (Date.parse(val) < Date.parse(new Date())) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('您的证件已过期')
// }
// //不同证件类型的判断
// // if (this.userInfo.idType) {
// // //获取年龄
// // let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// // console.log(age)
// // //年龄在16-25周岁之间
// // if (age >= 16 && age <= 25) {
// // if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
// // this.userInfo.certiexpiredate = ''
// // this.$refs.certiexpiredate.date = ''
// // return this.$toast('16周岁~25周岁的证件有效期为10年')
// // }
// // //年龄在26-45周岁之间
// // } else if (age >= 26 && age <= 45) {
// // if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
// // this.userInfo.certiexpiredate = ''
// // this.$refs.certiexpiredate.date = ''
// // return this.$toast('26周岁~45周岁的证件有效期为20年')
// // }
// // //此外的年龄段不支持
// // } else {
// // this.userInfo.certiexpiredate = ''
// // this.$refs.certiexpiredate.date = ''
// // return this.$toast('身份证不支持此年龄段')
// // }
// // }
// }
break
case '2': {
//出生日期
@@ -720,22 +720,22 @@ export default {
this.userInfo.birthday = data.birthday //出生日期
this.userInfo.idType = data.customerIdType //证件类型
this.userInfo.idNo = data.customerIdNumber //证件类别
if (data.idEffectEndDate == '9999-12-31') {
this.userInfo.effectiveDateType = true //是否长期
} else {
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
this.userInfo.effectiveDateType = false //是否长期
}
// if (data.idEffectEndDate == '9999-12-31') {
// this.userInfo.effectiveDateType = true //是否长期
// } else {
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
// this.userInfo.effectiveDateType = false //是否长期
// }
this.userInfo.email = data.email //电子邮箱
this.userInfo.mobile = data.customerPhone //移动电话
this.userInfo.homeProvince = data.homeProvince //家庭省
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
if (data.homeProvince && data.homeCity && data.homeArea) {
this.userInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
}
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
// this.userInfo.homeProvince = data.homeProvince //家庭省
// this.userInfo.homeCity = data.homeCity //家庭市
// this.userInfo.homeArea = data.homeArea //家庭区
// if (data.homeProvince && data.homeCity && data.homeArea) {
// this.userInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
// }
// this.userInfo.homeAddress = data.homeAddress //家庭详细地址
// this.userInfo.occupationCode = data.occupationCode
// this.userInfo.occupationName = data.occupationName
// this.userInfo.occupationType = data.lifeGrade
@@ -821,36 +821,36 @@ export default {
console.log('证件号码校验有误')
return this.$toast('您填写的证件号码有误')
}
if (age < 46 && this.userInfo.effectiveDateType == true) {
return this.$toast('证件有效期错误年龄小于46周岁的公民身份证有效期不能为长期')
}
// if (age < 46 && this.userInfo.effectiveDateType == true) {
// return this.$toast('证件有效期错误年龄小于46周岁的公民身份证有效期不能为长期')
// }
// 年龄在 16-25 周岁之间
if (age <= 15) {
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
return this.$toast('证件有效期错误未满16周岁的公民身份证有效期应小于等于5年')
}
//年龄在 16-25 周岁之间
} else if (age >= 16 && age <= 25) {
console.log('年龄在16-25周岁之间')
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
this.effectiveDateTypeAble = true
return this.$toast('证件有效期不正常16周岁至25周岁公民身份证有效期应小于等于10年')
}
//年龄在 26-45 周岁之间
} else if (age >= 26 && age <= 45) {
console.log('年龄在26-45周岁之间')
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
this.effectiveDateTypeAble = true
return this.$toast('证件有效期不正常26周岁至45周岁公民身份证有效期应小于等于20年')
}
}
// if (age <= 15) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// // this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误未满16周岁的公民身份证有效期应小于等于5年')
// }
// //年龄在 16-25 周岁之间
// } else if (age >= 16 && age <= 25) {
// console.log('年龄在16-25周岁之间')
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
// return this.$toast('证件有效期不正常16周岁至25周岁公民身份证有效期应小于等于10年')
// }
// //年龄在 26-45 周岁之间
// } else if (age >= 26 && age <= 45) {
// console.log('年龄在26-45周岁之间')
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
// return this.$toast('证件有效期不正常26周岁至45周岁公民身份证有效期应小于等于20年')
// }
// }
}
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
return this.$toast('投保人新市民身份不能为空')
@@ -910,13 +910,13 @@ export default {
;[this.userInfo.companyProvince, this.userInfo.companyCity, this.userInfo.companyArea] = [area[0].code, area[1].code, area[2].code]
this.areaShow = false
break
case '2': //家庭地址
if (this.insureType === '1') {
this.userInfo.homeName = getAreaName(area)
;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
this.homeShow = false
}
break
// case '2': //家庭地址
// if (this.insureType === '1') {
// this.userInfo.homeName = getAreaName(area)
// ;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
// this.homeShow = false
// }
// break
case '3': //户籍
this.census = getAreaName(area)
;[this.userInfo.householdProvince, this.userInfo.householdCity] = [area[0].code, area[1].code]

View File

@@ -6,8 +6,8 @@
<van-field :value="appntInfo.idType | idToText('insuredIdType')" label='证件类型' name='证件类型' readonly />
<van-field :value='appntInfo.idNo' label='证件号码' name='证件号码' readonly />
<van-field :value='appntInfo.mobile' label='手机号码' name='手机号码' readonly />
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly />
<van-field :value='appntInfo.homeAddress' label='' name='详细地址' readonly />
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly v-if="appntInfo.homeName"/>
<van-field :value='appntInfo.homeAddress' label='' name='详细地址' readonly v-if="appntInfo.homeAddress"/>
</van-cell-group>
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>产品信息</p>
@@ -32,8 +32,8 @@
<van-field :value='item.idNo' label='证件号码' name='证件号码' readonly />
<!-- <van-field v-if='item.isLessEighteen' :value='item.mobile' label='手机号码' name='手机号码' readonly /> -->
<!-- <van-field v-if='item.isLessEighteen' :value='item.email' label='电子邮箱' name='电子邮箱' readonly /> -->
<van-field :value='item.homeName' label='联系地址' name='联系地址' readonly />
<van-field :value='item.homeAddress' label='' name='详细地址' readonly />
<van-field :value='item.homeName' label='联系地址' name='联系地址' readonly v-if="item.homeName" />
<van-field :value='item.homeAddress' label='' name='详细地址' readonly v-if="item.homeAddress"/>
<van-field :value='bnfTypeVal' label='受益人类型' name='受益人类型' readonly />
</van-collapse-item>
</van-collapse>

View File

@@ -42,7 +42,7 @@
@click="selectClick('3', '', '2')">证件扫描
</van-button>
</van-field>
<FieldDatePicter
<!-- <FieldDatePicter
v-if="isInsuredCertiexpiredate"
:v-validate='{ required: certiexpiredateRequiredInsured }'
required
@@ -62,7 +62,7 @@
>长期
</van-checkbox
>
</div>
</div> -->
<select-radio required :radios='sexRadio' label='性别' name='性别' :disabled="isAppnt" v-validate="'required'"
:value.sync='insuredInfo.sex'></select-radio>
<FieldDatePicter
@@ -170,7 +170,7 @@
v-validate="'required'"
@click="toSelect('npType')"
/>
<van-field
<!-- <van-field
v-model='insuredInfo.homeName'
readonly
label='联系地址'
@@ -181,11 +181,11 @@
@click="areaSelect('2')"
/>
<van-field v-model='insuredInfo.homeAddress' :readonly="isAppnt" label name='详细地址'
placeholder='请输入详细地址' clearable maxlength='30' />
placeholder='请输入详细地址' clearable maxlength='30' /> -->
<div class='pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox'>
<!-- <div class='pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox'>
<van-checkbox v-model='withRootUser.value' :disabled="isAppnt">同投保人</van-checkbox>
</div>
</div> -->
</van-cell-group>
<!-- 受益人信息 -->
<van-cell-group class='mt10'>
@@ -406,7 +406,7 @@ export default {
idType: '1', //证件类型
idNo: '', //证件号码
certiexpiredate: '', //证件到期时间
effectiveDateType: false, //是否长期
effectiveDateType: null, //是否长期
occupationCode: '', //职业代码
occupationName: '', //职业名称
averageAnnualIncome: '', //平均年收入
@@ -414,9 +414,9 @@ export default {
healthGrade: '', //健康等级
nativeplace: '1', //国家地区
marriageStatus: '', //婚姻状况
homeProvince: '450000', //家庭省
homeCity: '450100', //家庭市
homeArea: '450101', //家庭区
homeProvince: '', //家庭省
homeCity: '', //家庭市
homeArea: '', //家庭区
homeName: '', //联系地址
homeAddress: '', //详细地址
mobile: '', //移动电话
@@ -445,9 +445,9 @@ export default {
nativeplace: '1', //国家地区
marriageStatus: '', //婚姻状况
marriage: '',
homeProvince: '450000', //家庭省
homeCity: '450100', //家庭市
homeArea: '450101', //家庭区
homeProvince: '', //家庭省
homeCity: '', //家庭市
homeArea: '', //家庭区
homeName: '', //联系地址
homeAddress: '', //详细地址
mobile: '', //移动电话
@@ -479,7 +479,7 @@ export default {
// showFirstOr: false,
withRootUser: {
load: false, //防止重复请求
value: false
value: null
},
occupationalType: DataDictionary.queryOccupationalByType[0].id,
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
@@ -545,27 +545,27 @@ export default {
if (res.result == '0') {
Object.assign(this.userInfo,res.orderDTO.appntDTO)
//被保险人联系地址默认投保人地址,支持修改。
this.insuredInfo.homeName = getAreaName([
{ code: this.userInfo.homeProvince },
{ code: this.userInfo.homeCity },
{ code: this.userInfo.homeArea }
])
this.insuredInfo.homeProvince = this.userInfo.homeProvince
this.insuredInfo.homeCity = this.userInfo.homeCity
this.insuredInfo.homeArea = this.userInfo.homeArea
this.insuredInfo.homeAddress = this.userInfo.homeAddress
// this.insuredInfo.homeName = getAreaName([
// { code: this.userInfo.homeProvince },
// { code: this.userInfo.homeCity },
// { code: this.userInfo.homeArea }
// ])
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
// this.insuredInfo.homeCity = this.userInfo.homeCity
// this.insuredInfo.homeArea = this.userInfo.homeArea
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
if(that.$route.query.insuredId){ //编辑
res.orderDTO.insuredDTOs.forEach(item => {
if(that.$route.query.insuredId == item.insuredId){
Object.assign(that.insuredInfo,item)
that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.insuredInfo.certiexpiredate
that.insuredInfo.homeName = getAreaName([
{ code: that.insuredInfo.homeProvince },
{ code: that.insuredInfo.homeCity },
{ code: that.insuredInfo.homeArea }
])
that.proScheme = that.insuredInfo.riskDTOLst[0].proScheme
// that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
// that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.insuredInfo.certiexpiredate
// that.insuredInfo.homeName = getAreaName([
// { code: that.insuredInfo.homeProvince },
// { code: that.insuredInfo.homeCity },
// { code: that.insuredInfo.homeArea }
// ])
// that.proScheme = that.insuredInfo.riskDTOLst[0].proScheme
that.proSchemeCode = that.insuredInfo.riskDTOLst[0].proSchemeCode
that.allPrice = that.insuredInfo.riskDTOLst[0].prem
that.insuanceId = that.insuredInfo.riskDTOLst[0].insuanceId
@@ -574,6 +574,7 @@ export default {
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
this.effectiveDateTypeAbleInsured = !(age >= 45)
}
console.log(123133,this.insureInfo, 'that.insuredInfo')
//编辑时走试算接口
this.insureTrial(1)
}
@@ -581,13 +582,13 @@ export default {
} else {
if(that.$route.query.relationToAppnt == '1'){ //新增关系为本人
Object.assign(this.insuredInfo,res.orderDTO.appntDTO)
that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
this.insuredInfo.homeName = getAreaName([
{ code: this.insuredInfo.homeProvince },
{ code: this.insuredInfo.homeCity },
{ code: this.insuredInfo.homeArea }
])
// that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
// that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
// this.insuredInfo.homeName = getAreaName([
// { code: this.insuredInfo.homeProvince },
// { code: this.insuredInfo.homeCity },
// { code: this.insuredInfo.homeArea }
// ])
that.insuredInfo.medical = '0'
if (this.insuredInfo.birthday) {
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
@@ -680,7 +681,7 @@ export default {
}
;[this.homeShow, this.insureType] = [true, insureType]
if (insureType === '2') {
this.areaCode = this.insuredInfo.homeArea
// this.areaCode = this.insuredInfo.homeArea
}
},
//监听名字变化
@@ -827,44 +828,44 @@ export default {
//选择保障方案时走试算接口
await this.insureTrial(0)
} else if (this.pickerType == '22') {
this.idLimitInsured = false
//选择证件类型后,清空证件号,证件截止日期,出生日期
this.insuredInfo.idNo = this.insuredInfo.certiexpiredate = this.insuredInfo.birthday = ''
// this.idLimitInsured = false
// //选择证件类型后,清空证件号,证件截止日期,出生日期
// this.insuredInfo.idNo = this.insuredInfo.certiexpiredate = this.insuredInfo.birthday = ''
//身份证以外的证件类型可以使用长期
//value.id 1 居民身份证 todo
if (value.id != '1') {
//2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
//时间,如果选择户口本项,默认为长期。
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050') {
this.insuredInfo.effectiveDateType = true
}
this.effectiveDateTypeAbleInsured = false
} else {
//身份证
if (this.insuredInfo.birthday) {
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
this.effectiveDateTypeAbleInsured = !(age >= 45)
//身份证年龄小于等于45不可选长期
this.insuredInfo.effectiveDateType = false
}
}
// if (value.id != '1') {
// //2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
// //时间,如果选择户口本项,默认为长期。
// if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050') {
// this.insuredInfo.effectiveDateType = true
// }
// this.effectiveDateTypeAbleInsured = false
// } else {
// //身份证
// if (this.insuredInfo.birthday) {
// let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
// this.effectiveDateTypeAbleInsured = !(age >= 45)
// //身份证年龄小于等于45不可选长期
// this.insuredInfo.effectiveDateType = false
// }
// }
// 去掉--选择户口本时是否长期默认为是不可点击有效止期隐藏证件类型为户口本时被保人年龄小于16周岁时户口本有效止期长期变更为第16周岁日期
if(value.id==2){
this.idLimitInsured = true
//证件类型户口本时,证件截止日期和是否长期不可选择
this.effectiveDateTypeAbleInsured = true //长期按钮是否禁用--被保人
this.insuredInfo.effectiveDateType = false //是否长期
// this.insuredInfo.effectiveDateType = true
// this.insuredInfo.certiexpiredate = '9999-12-31'
// this.effectiveDateTypeAbleInsured = true
// this.isInsuredCertiexpiredate = false
// this.isInsuredCertiexpiredate = true
}else{
this.insuredInfo.certiexpiredate = ''
this.insuredInfo.effectiveDateType = false
this.effectiveDateTypeAbleInsured = false
// this.isInsuredCertiexpiredate = true
}
// if(value.id==2){
// this.idLimitInsured = true
// //证件类型户口本时,证件截止日期和是否长期不可选择
// this.effectiveDateTypeAbleInsured = true //长期按钮是否禁用--被保人
// this.insuredInfo.effectiveDateType = false //是否长期
// // this.insuredInfo.effectiveDateType = true
// // this.insuredInfo.certiexpiredate = '9999-12-31'
// // this.effectiveDateTypeAbleInsured = true
// // this.isInsuredCertiexpiredate = false
// // this.isInsuredCertiexpiredate = true
// }else{
// this.insuredInfo.certiexpiredate = ''
// this.insuredInfo.effectiveDateType = false
// this.effectiveDateTypeAbleInsured = false
// // this.isInsuredCertiexpiredate = true
// }
this.insuredInfo.idType = value.id
} else if(this.pickerType == 'npType') {
this.userInfo.npType = value.id
@@ -1026,25 +1027,25 @@ export default {
this.productDate = currentData + '0时至' + productDateTime + '24时止'
}
break
case '7': {
console.log('证件截止日期')
//被保人--证件截止日期
//如果已经勾选了长期
if (this.insuredInfo.effectiveDateType) {
//清空数据并返回
this.insuredInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return
}
this.insuredInfo.effectiveDateType = false
//如果录入日期早于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
this.insuredInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
}
break
// case '7': {
// console.log('证件截止日期')
// //被保人--证件截止日期
// //如果已经勾选了长期
// if (this.insuredInfo.effectiveDateType) {
// //清空数据并返回
// this.insuredInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return
// }
// this.insuredInfo.effectiveDateType = false
// //如果录入日期早于当前日期
// if (Date.parse(val) < Date.parse(new Date())) {
// this.insuredInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('您的证件已过期')
// }
// }
// break
}
},
//选择客户
@@ -1071,45 +1072,45 @@ export default {
this.insuredInfo.birthday = data.birthday //出生日期
this.insuredInfo.idType = data.customerIdType //证件类型
this.insuredInfo.idNo = data.customerIdNumber //证件类别
if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
// 获取出生日期年份16证件类型为户口本时被保人年龄小于16周岁时卡单户口本有效止期长期变更为第16周岁日期
let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
// 获取某年某月一共多少天
let date = new Date(year, 2, 1)
let dayEnd = new Date(date.getTime() - 864e5).getDate()
this.insuredInfo.certiexpiredate = year +'-02-'+ dayEnd
}else{
this.insuredInfo.certiexpiredate = year +'-'+ this.insuredInfo.birthday.substr(5,5)
}
}
// if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
// // 获取出生日期年份16证件类型为户口本时被保人年龄小于16周岁时卡单户口本有效止期长期变更为第16周岁日期
// let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
// if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
// // 获取某年某月一共多少天
// let date = new Date(year, 2, 1)
// let dayEnd = new Date(date.getTime() - 864e5).getDate()
// this.insuredInfo.certiexpiredate = year +'-02-'+ dayEnd
// }else{
// this.insuredInfo.certiexpiredate = year +'-'+ this.insuredInfo.birthday.substr(5,5)
// }
// }
//户口本
if (data.customerIdType == 2) {
this.insuredInfo.effectiveDateType = true
this.insuredInfo.certiexpiredate = '9999-12-31'
this.effectiveDateTypeAbleInsured = true
// this.isInsuredCertiexpiredate = false
}else{
// this.isInsuredCertiexpiredate = true
if (data.idEffectEndDate == '9999-12-31') {
this.insuredInfo.certiexpiredate = ''
this.insuredInfo.effectiveDateType = true //是否长期
this.effectiveDateTypeAbleInsured = true
} else {
this.insuredInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
this.insuredInfo.effectiveDateType = false
this.effectiveDateTypeAbleInsured = false
}
}
// if (data.customerIdType == 2) {
// this.insuredInfo.effectiveDateType = true
// this.insuredInfo.certiexpiredate = '9999-12-31'
// this.effectiveDateTypeAbleInsured = true
// // this.isInsuredCertiexpiredate = false
// }else{
// // this.isInsuredCertiexpiredate = true
// if (data.idEffectEndDate == '9999-12-31') {
// this.insuredInfo.certiexpiredate = ''
// this.insuredInfo.effectiveDateType = true //是否长期
// this.effectiveDateTypeAbleInsured = true
// } else {
// this.insuredInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
// this.insuredInfo.effectiveDateType = false
// this.effectiveDateTypeAbleInsured = false
// }
// }
this.insuredInfo.email = data.email //电子邮箱
this.insuredInfo.mobile = data.customerPhone //移动电话
this.insuredInfo.homeProvince = data.homeProvince?data.homeProvince:this.userInfo.homeProvince//家庭省
this.insuredInfo.homeCity = data.homeCity?data.homeCity:this.userInfo.homeCity //家庭市
this.insuredInfo.homeArea = data.homeArea?data.homeArea:this.userInfo.homeArea //家庭区
if (data.homeProvince && data.homeCity && data.homeArea) {
this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
}
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
// this.insuredInfo.homeProvince = data.homeProvince?data.homeProvince:this.userInfo.homeProvince//家庭省
// this.insuredInfo.homeCity = data.homeCity?data.homeCity:this.userInfo.homeCity //家庭市
// this.insuredInfo.homeArea = data.homeArea?data.homeArea:this.userInfo.homeArea //家庭区
// if (data.homeProvince && data.homeCity && data.homeArea) {
// this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
// }
// this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
this.insuredInfo.medical = data.socialSecurity //有无社保
// this.insuredInfo.occupationCode = data.occupationCode
// this.insuredInfo.occupationName = data.occupationName
@@ -1180,12 +1181,12 @@ export default {
if (!this.insuredInfo.marriage) {
return this.$toast('被保人婚姻状况不能为空')
}
if (!this.insuredInfo.homeName) {
return this.$toast('被保人联系地址不能为空')
}
if (!this.insuredInfo.homeAddress) {
return this.$toast('被保人详细地址不能为空')
}
// if (!this.insuredInfo.homeName) {
// return this.$toast('被保人联系地址不能为空')
// }
// if (!this.insuredInfo.homeAddress) {
// return this.$toast('被保人详细地址不能为空')
// }
if (this.insuredInfo.relationToAppnt == 2 && this.userInfo.sex == this.insuredInfo.sex) {
return this.$toast('~配偶性别不能相同的哟~')
}
@@ -1237,36 +1238,36 @@ export default {
console.log('证件号码校验有误')
return this.$toast('您填写的证件号码有误')
}
if (insuredAge < 46 && this.insuredInfo.effectiveDateType == true) {
return this.$toast('证件有效期错误年龄小于46周岁的公民身份证有效期不能为长期')
}
// if (insuredAge < 46 && this.insuredInfo.effectiveDateType == true) {
// return this.$toast('证件有效期错误年龄小于46周岁的公民身份证有效期不能为长期')
// }
// 年龄在 16-25 周岁之间
if (insuredAge <= 15) {
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
this.insuredInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
return this.$toast('证件有效期错误未满16周岁的公民身份证有效期应小于等于5年')
}
//年龄在 16-25 周岁之间
} else if (insuredAge >= 16 && insuredAge <= 25) {
console.log('年龄在16-25周岁之间')
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
this.insuredInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
this.certiexpiredateRequiredInsured = true
return this.$toast('证件有效期不正常16周岁至25周岁公民身份证有效期应小于等于10年')
}
//年龄在 26-45 周岁之间
} else if (insuredAge >= 26 && insuredAge <= 45) {
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
this.insuredInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
this.certiexpiredateRequiredInsured = true
return this.$toast('证件有效期不正常26周岁至45周岁公民身份证有效期应小于等于20年')
}
}
// if (insuredAge <= 15) {
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
// this.insuredInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// // this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误未满16周岁的公民身份证有效期应小于等于5年')
// }
// //年龄在 16-25 周岁之间
// } else if (insuredAge >= 16 && insuredAge <= 25) {
// console.log('年龄在16-25周岁之间')
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
// this.insuredInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.certiexpiredateRequiredInsured = true
// return this.$toast('证件有效期不正常16周岁至25周岁公民身份证有效期应小于等于10年')
// }
// //年龄在 26-45 周岁之间
// } else if (insuredAge >= 26 && insuredAge <= 45) {
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
// this.insuredInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.certiexpiredateRequiredInsured = true
// return this.$toast('证件有效期不正常26周岁至45周岁公民身份证有效期应小于等于20年')
// }
// }
}else if(this.insuredInfo.idType == '2'){
if (idToData(this.insuredInfo.idNo).age >= 16) {
return this.$toast('客户年龄在16周岁以上不能使用户口本作为有效证件')
@@ -1356,10 +1357,10 @@ export default {
if (this.insuredInfo.medical == '1') {
return this.$toast('被保险人需有社保才可投保此险种')
}
// 是否长期选项 赋值
if (this.insuredInfo.effectiveDateType) {
this.insuredInfo.certiexpiredate = '9999-12-31'
}
// // 是否长期选项 赋值
// if (this.insuredInfo.effectiveDateType) {
// this.insuredInfo.certiexpiredate = '9999-12-31'
// }
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
return this.$toast('投保人新市民身份不能为空')
}
@@ -1601,17 +1602,17 @@ export default {
this.idLimitInsured = false
}
// 获取出生日期年份16证件类型为户口本时被保人年龄小于16周岁时卡单户口本有效止期长期变更为第16周岁日期
if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
// 获取某年某月一共多少天
let date = new Date(year, 2, 1)
let dayEnd = new Date(date.getTime() - 864e5).getDate()
this.insuredInfo.certiexpiredate = year+'-02-'+ dayEnd
}else{
this.insuredInfo.certiexpiredate = year+'-'+ this.insuredInfo.birthday.substr(5,5)
}
}
// if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
// let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
// if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
// // 获取某年某月一共多少天
// let date = new Date(year, 2, 1)
// let dayEnd = new Date(date.getTime() - 864e5).getDate()
// this.insuredInfo.certiexpiredate = year+'-02-'+ dayEnd
// }else{
// this.insuredInfo.certiexpiredate = year+'-'+ this.insuredInfo.birthday.substr(5,5)
// }
// }
this.insuredInfo.sex = idToData(val).sex
if (this.insuredInfo.birthday) {
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
@@ -1768,47 +1769,47 @@ export default {
// immediate: true,
// deep: true
// },
'userInfo.homeName': {
handler(newV) {
if (this.withRootUser.value) {
this.insuredInfo.homeName = getAreaName([
{ code: this.userInfo.homeProvince },
{ code: this.userInfo.homeCity },
{ code: this.userInfo.homeArea }
])
this.insuredInfo.homeProvince = this.userInfo.homeProvince
this.insuredInfo.homeCity = this.userInfo.homeCity
this.insuredInfo.homeArea = this.userInfo.homeArea
this.insuredInfo.homeAddress = this.userInfo.homeAddress
}
},
immediate: true,
deep: true
},
'userInfo.homeAddress': {
handler(newV) {
if (this.withRootUser.value) {
this.insuredInfo.homeAddress = this.userInfo.homeAddress
}
},
immediate: true,
deep: true
},
async 'withRootUser.value'(n) {
if (n) {
this.insuredInfo.homeName = getAreaName([
{ code: this.userInfo.homeProvince },
{ code: this.userInfo.homeCity },
{ code: this.userInfo.homeArea }
])
this.insuredInfo.homeProvince = this.userInfo.homeProvince
this.insuredInfo.homeCity = this.userInfo.homeCity
this.insuredInfo.homeArea = this.userInfo.homeArea
this.insuredInfo.homeAddress = this.userInfo.homeAddress
} else {
this.insuredInfo.homeName = this.insuredInfo.homeAddress = ''
}
}
// 'userInfo.homeName': {
// handler(newV) {
// if (this.withRootUser.value) {
// this.insuredInfo.homeName = getAreaName([
// { code: this.userInfo.homeProvince },
// { code: this.userInfo.homeCity },
// { code: this.userInfo.homeArea }
// ])
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
// this.insuredInfo.homeCity = this.userInfo.homeCity
// this.insuredInfo.homeArea = this.userInfo.homeArea
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
// }
// },
// immediate: true,
// deep: true
// },
// 'userInfo.homeAddress': {
// handler(newV) {
// if (this.withRootUser.value) {
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
// }
// },
// immediate: true,
// deep: true
// },
// async 'withRootUser.value'(n) {
// if (n) {
// this.insuredInfo.homeName = getAreaName([
// { code: this.userInfo.homeProvince },
// { code: this.userInfo.homeCity },
// { code: this.userInfo.homeArea }
// ])
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
// this.insuredInfo.homeCity = this.userInfo.homeCity
// this.insuredInfo.homeArea = this.userInfo.homeArea
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
// } else {
// this.insuredInfo.homeName = this.insuredInfo.homeAddress = ''
// }
// }
}
}
</script>

View File

@@ -7,8 +7,8 @@
<van-field :value='appntInfo.idNo' label='证件号码' name='证件号码' readonly />
<van-field :value='appntInfo.mobile' label='手机号码' name='手机号码' readonly />
<van-field :value='appntInfo.email' label='电子邮箱' name='电子邮箱' readonly />
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly />
<van-field :value='appntInfo.homeAddress' label='详细地址' name='详细地址' readonly />
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly v-if="appntInfo.homeName"/>
<van-field :value='appntInfo.homeAddress' label='详细地址' name='详细地址' readonly v-if="appntInfo.homeAddress"/>
</van-cell-group>
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>被保人信息</p>
@@ -17,8 +17,8 @@
<van-field :value='insuredInfo.idNo' label='证件号码' name='证件号码' readonly />
<van-field v-if='isLessEighteen' :value='insuredInfo.mobile' label='手机号码' name='手机号码' readonly />
<van-field v-if='isLessEighteen' :value='insuredInfo.email' label='电子邮箱' name='电子邮箱' readonly />
<van-field :value='insuredInfo.homeName' label='联系地址' name='联系地址' readonly />
<van-field :value='insuredInfo.homeAddress' label='详细地址' name='详细地址' readonly />
<van-field :value='insuredInfo.homeName' label='联系地址' name='联系地址' readonly v-if="insuredInfo.homeName" />
<van-field :value='insuredInfo.homeAddress' label='详细地址' name='详细地址' readonly v-if="insuredInfo.homeAddress"/>
</van-cell-group>
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>受益人信息</p>

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@
<van-button
type="danger"
size="normal"
style="width: 157px;"
style="width: 157px"
plain
v-no-more-click="1000"
@click="share(3)"
@@ -34,7 +34,7 @@
<van-button
type="danger"
size="normal"
style="width: 157px;"
style="width: 157px"
plain
v-no-more-click="1000"
@click="start_ocr(3)"
@@ -132,7 +132,11 @@ export default {
}
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken']) {
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
this.getRecognitionResult(
JSON.parse(localStorage['faceAuthWeXin-requestId']),
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
JSON.parse(localStorage['orderNo'])
)
}
},
methods: {
@@ -209,7 +213,9 @@ export default {
//从签名页调过来的标识
sessionStorage.setItem('airSign', this.$route.query.airSign)
}
localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
localStorage.setItem('token', this.$route.query.token)
}
if (this.$route.query.signInvalid) {
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
}
@@ -237,7 +243,7 @@ export default {
caseStatus: 'applying',
businessNo: localStorage.businessNo
}
progressDetail(data).then(res => {
progressDetail(data).then((res) => {
if (res.result == 0) {
console.log(res)
this.list = res.content
@@ -253,7 +259,7 @@ export default {
message: '加载中……'
})
let data = {}
getSignInvalid(data).then(res => {
getSignInvalid(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.signInvalid = res.content.sign
@@ -273,7 +279,7 @@ export default {
sign: signInvalid
}
return new Promise((resolve, reject) => {
checkSignInvalid(data).then(res => {
checkSignInvalid(data).then((res) => {
if (res.result == '0') {
that.$toast.clear()
let status = res.content.status
@@ -354,7 +360,8 @@ export default {
number: that.list.applyerCertiCode,
//姓名
name: that.list.applyerName,
businessSource: '3'
businessSource: '3',
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
})
// const authRes = await new Promise(resolve => {
// resolve(JSON.stringify({ state: '0' }))
@@ -380,7 +387,7 @@ export default {
let data = { realName: this.idcardData.idcardName, idno: this.idcardData.idcardNumber, redirectUrl: location.origin + '/#' + this.$route.fullPath }
console.log('获取URL请求参数', data)
getRecognitionUrl(data).then(
res => {
(res) => {
console.log('getRecognitionUrl', res)
if (res.result == '0') {
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
@@ -390,15 +397,15 @@ export default {
this.$toast(res.resultMessage)
}
},
error => {
(error) => {
console.log(error)
}
)
})
},
getRecognitionResult(requestId, bizToken) {
getRecognitionResult({ requestId, bizToken })
.then(res => {
getRecognitionResult(requestId, bizToken, orderNo) {
getRecognitionResult({ requestId, bizToken, orderNo })
.then((res) => {
console.log('getRecognitionResult', res)
if (res.result == '0') {
this.showRead()
@@ -406,7 +413,7 @@ export default {
this.$toast(res.resultMessage)
}
})
.catch(error => {
.catch((error) => {
console.log(error)
})
localStorage.setItem('faceAuthWeXin-requestId', '')
@@ -445,7 +452,7 @@ export default {
localStorage.setItem('successClaimNo', '')
let that = this
let data = { businessNo: localStorage.getItem('businessNo') }
submit(data).then(res => {
submit(data).then((res) => {
if (res.result == '0') {
localStorage.successClaimNo = res.content.claimNo
that.$jump({

View File

@@ -82,7 +82,8 @@ export default {
if (
currentMainRiskInfo.mainRiskPayEndYearFlag == 'Y' &&
currentMainRiskInfo.mainRiskPayEndYear == '1000' &&
(item.productCode == 'GFRS_A0007' || item.productCode == 'GFRS_A0009'|| item.productCode == 'GFRS_A0010'|| item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014')
(item.productCode == 'GFRS_A0007' || item.productCode == 'GFRS_A0009'|| item.productCode == 'GFRS_A0010'|| item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014'
|| item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016')
) {
item.isHidden = 1
}

File diff suppressed because it is too large Load Diff

View File

@@ -197,7 +197,7 @@ export default {
// ------------------------专为惠企写死--end---------------//
//如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
if (this.list.length > 0) {
console.log(localStorage.productCodeChooseFromList)
// console.log(localStorage.productCodeChooseFromList)
this.result = this.list.find((v) => {
return v.riskProductCode == localStorage.productCodeChooseFromList
})
@@ -274,7 +274,7 @@ export default {
// ------------------------专为惠企写死--end---------------//
// 如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
if (this.list.length > 0) {
console.log(localStorage.productCodeChooseFromList)
// console.log(localStorage.productCodeChooseFromList)
this.result = this.list.find((v) => {
return v.riskProductCode == localStorage.productCodeChooseFromList
})
@@ -440,7 +440,6 @@ export default {
return this.$toast('该投保人工作单位不能投保该产品')
}
/********end 主险选择限制 end******/
//保存附加险
localStorage.addtionRiskLst = JSON.stringify(resultData.productTrialInfoDTO.addtionRiskLst)
localStorage.isAutoPay = resultData.isAutoPay
@@ -449,6 +448,8 @@ export default {
localStorage.isRelated = resultData.isRelated
let calFactorLst = this.getFactorList(resultData)
// return
let productTrialYearDTOS = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? resultData.productTrialInfoDTO.productTrialYearDTOS : null
let hasAddtionRisk = resultData.productTrialInfoDTO.addtionRiskLst != null && resultData.productTrialInfoDTO.addtionRiskLst.length ? true : false
let currentProductInfo =
@@ -504,9 +505,9 @@ export default {
//构建险种因子列表
getFactorList(resultData) {
let productTrialInfoDTO = resultData.productTrialInfoDTO
console.log(productTrialInfoDTO, 'wode')
// console.log(productTrialInfoDTO, 'wode')
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
console.log('calFactorLst', calFactorLst)
// console.log('calFactorLst', calFactorLst)
calFactorLst.forEach((item) => {
item['isMainRisk'] = 0
@@ -553,6 +554,9 @@ export default {
item['amt'] = Number(item.minAmt) * Number(item.moneyUnit)
}
}
}else if(item.type==5){
// 单元格用于展示文案从extra中获取
item['showContent'] = item.extra
}
//规则储存
item['rules'] = productTrialInfoDTO[item.code]

View File

@@ -54,7 +54,7 @@
<!-- <div class="flex justify-content-c align-items-c">
<img class="icon_title_image" src="@/assets/images/kmh/title_bg.png" />
</div> -->
<van-radio-group v-model="active_radio" style="align-items: center;padding-top: 140px">
<van-radio-group v-model="active_radio" style="align-items: center;padding-top: 180px">
<van-radio name="1" class="radio_class" style="display: flex;justify-content: center;">
<template #icon="props">
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
@@ -1110,7 +1110,7 @@
}
.dialog_class {
width: 330px;
height: 335px;
height: 376px;
background: url('../../../assets/images/kmh/dialog_bg.png');
background-size: 100% 100%;
}

View File

@@ -48,7 +48,7 @@ export default {
age = this.getSaleInsuredInfo().age
tips = '投保人年龄不适合此款险种,请选择其他险种!'
} else {
if(riskProductCode == 'GFRS_M0061'){
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101'){
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAge29(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge
}else{
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAgeByValue(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge

View File

@@ -0,0 +1,258 @@
<template>
<div>
<div id="capture" ref="generateImg" style="height: 100vh; overflow: hidden">
<img src="@/assets/images/list_img.png" alt="" />
<div class="box">
<div class="title">
<p class="organ">{{ orderList.manageComNameFull }}</p>
<p class="name">{{ orderList.name }}</p>
</div>
<div class="pName">{{ orderList.productNameFull }}</div>
<div class="type">{{ orderList.outOrderType == 'accept' ? '承保规保' : '预收规保' }}</div>
<div class="yuan">{{ orderList.prem }}<span style="color: #333333"></span></div>
<div class="time">{{ orderList.outOrderType == 'accept' ? '承保时间:' : '预收时间:' }}
<span v-if="orderList.outOrderType == 'accept'">{{ orderList.signDate }}</span>
<span v-if="orderList.outOrderType != 'accept'">{{ orderList.appntDate }}</span>
</div>
</div>
</div>
<div class="flex justify-content-s bottom-btn border-color">
<van-button square type="default" size="large" @click="shareImg" v-no-more-click="1000"> 分享 </van-button>
<van-button square type="danger" size="large" @click="downLoadImagesFunc" v-no-more-click="1000"> 下载 </van-button>
</div>
<div class="close" @click="close()">
<van-icon name="cross" size="38" color="#fff" />
</div>
</div>
</template>
<script>
import html2canvas from 'html2canvas'
import { base64Excel } from '@/api/ebiz/nbs'
export default {
name: 'generateImg',
// generateImgData
props: {
// generateImgData: {
// type: Object,
// default: {}
// },
},
data() {
return {
orderList: {},
isIOS: false,
}
},
created() {
this.isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
if(this.isIOS) {
document.getElementsByClassName('box').style.top = '38%'
}
},
mounted() {
this.getList()
},
methods: {
getList() {
this.orderList = JSON.parse(localStorage.getItem('orderList'))
console.log('页面数据',this.orderList);
},
// 将 Blob转base64
blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.onloadend = () => resolve(reader.result)
reader.onerror = reject
reader.readAsDataURL(blob)
})
},
// 分享
shareImg() {
// const element = document.getElementById('capture')
// const canvas = await html2canvas(element)
html2canvas(this.$refs.generateImg, {
width: this.$refs.generateImg.offsetWidth,
height: this.$refs.generateImg.offsetHeight,
backgroundColor: '#fff',
scale: 2,
dpi: 300
}).then((canvas) => {
// 将 canvas 转换为 Blob
canvas.toBlob((blob) => {
this.blobToBase64(blob).then((base64String) => {
let base64Manane = base64String.split(',')[1]
// console.log(base64String)
EWebBridge.webCallAppInJs('bridge', {
flag: 'share',
extra: {
shareType: '1',
base64: base64Manane
}
})
})
}, 'image/png')
})
},
// 生成图片并下载
domToImage(domElement, quality, callback) {
console.log(location);
html2canvas(domElement, {
width: domElement.offsetWidth,
height: domElement.offsetHeight,
backgroundColor: '#fff',
scale: 1,
dpi: 300
}).then((canvas) => {
// 转换canvas为PNG图片并压缩
canvas.toBlob(
(blob) => {
// const a = document.createElement('a')
// a.href = URL.createObjectURL(blob)
// a.download = '业绩贺报.png'
// a.click()
// let newimg = new Image()
// newimg.src = URL.createObjectURL(blob)
// newimg.onload = function () {
// URL.revokeObjectURL(newimg.src)
// callback(newimg)
// }
this.blobToBase64(blob).then((base64String) => {
base64Excel({ base64Img: base64String }).then(res => {
if (res.result == '0') {
EWebBridge.webCallAppInJs('download', {
name: '业绩贺报.png',
url: res.path
})
.then(() => {
console.log('下载完成')
})
.catch(() => {
this.$toast.fail('图片下载失败,请重新下载!')
})
}
})
})
},
'image/png'
// quality
)
})
},
downLoadImagesFunc() {
this.domToImage(this.$refs.generateImg)
},
close() {
this.$emit('child-colse', '1')
}
}
}
</script>
<style lang="scss" scoped>
img {
height: 100%;
width: 100%;
position: relative;
}
.box {
position: absolute;
width: 80%;
height: 40%;
top: 38%;
left: 10%;
.title {
position: absolute;
width: 100%;
// left: 30%;
top: 24%;
font-weight: bold;
p {
display: flex;
justify-content: center;
}
.organ {
font-size: 12px;
color: #333333;
}
.name {
font-size: 17px;
color: #333333;
}
}
.pName {
position: absolute;
top: 44%;
font-size: 15px;
color: #B1170C;
width: 100%;
display: flex;
justify-content: center;
padding-left: 5px;
}
.type {
font-size: 22px;
color: #B1170C;
position: absolute;
top: 53%;
width: 100%;
display: flex;
justify-content: center;
}
.yuan {
font-size: 30px;
color: #B1170C;
position: absolute;
top: 67%;
width: 100%;
text-align: center;
display: inline-block;
vertical-align: bottom;
span {
font-size: 14px;
margin-left: 5px;
}
}
.time {
font-size: 14px;
color: #333333;
position: absolute;
top: 85%;
width: 100%;
display: flex;
justify-content: center;
}
}
.border-color {
z-index: 9999;
border: 2px solid;
border-image: radial-gradient(circle, rgba(255, 233, 124, 1), rgba(222, 144, 34, 1)) 2 2;
}
/deep/ .van-button {
border-radius: 12px;
width: 42%;
}
/deep/ .van-button--danger {
background: linear-gradient(to right, #f26e43, #ac0209) !important;
/*设置按钮为渐变颜色*/
border: none !important;
}
.close {
position: fixed;
top: 0;
right: 0;
}
</style>

View File

@@ -1,6 +1,6 @@
<template>
<div class="insure-again">
<div class="signature-content pb40">
<div class="insure-again">
<div class="signature-content pb40">
<div v-if="!isWeixin">
<ProgressBar :active.sync="active" />
</div>
@@ -144,7 +144,7 @@
<van-button
type="danger"
size="normal"
style="width: 157px;"
style="width: 157px"
plain
:disabled="changeCard ? appntSign.documentStatus == '1' : appntSignStatus == '3'"
v-no-more-click="1000"
@@ -178,7 +178,7 @@
type="danger"
size="normal"
plain
style="width: 157px;"
style="width: 157px"
:disabled="insuredSignStatus == '3'"
@click="start_ocr('1')"
v-no-more-click="1000"
@@ -342,12 +342,12 @@ export default {
[CollapseItem.name]: CollapseItem,
[Dialog.name]: Dialog,
[Field.name]: Field,
ProgressBar
ProgressBar
},
methods: {
fakeFaceAuth(expect) {
console.log('模拟调用人脸识别')
return new Promise(function(resolve, reject) {
return new Promise(function (resolve, reject) {
setTimeout(() => {
console.log('模拟人脸识别完成')
if (expect) {
@@ -396,7 +396,9 @@ export default {
}
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
window.localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
window.localStorage.setItem('token', this.$route.query.token)
}
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
// window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
// window.localStorage.setItem('productCode', this.$route.query.productCode)
@@ -442,7 +444,11 @@ export default {
}
// localStorage['faceAuthWeXin-requestId'] localStorage['faceAuthWeXin-bizToken']--微信端人脸识别获取腾讯认证url接口获得认证相关参数
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
this.getRecognitionResult(
JSON.parse(localStorage['faceAuthWeXin-requestId']),
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
JSON.parse(localStorage['orderNo'])
)
}
if (sessionStorage.shareCode == '1') {
@@ -509,7 +515,7 @@ export default {
}
// eslint-disable-next-line no-unused-vars
return new Promise((resolve, reject) => {
checkPhone(data).then(res => {
checkPhone(data).then((res) => {
if (res.result == '0') {
console.log(res)
this.show = true
@@ -578,7 +584,7 @@ export default {
operateCode: this.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
}).then((res) => {
console.log(res)
if (res.result == 0) {
this.sid = res.sessionId
@@ -746,12 +752,13 @@ export default {
this.$toast(res.resultMessage)
}
if (this.faceAuthCount.appnt < this.smsAuthNum) {
// eslint-disable-next-line no-undef
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
// eslint-disable-next-line no-undef
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
businessSource: '1', //业务来源:1-电投2-入司3-理赔4-保全
number: that.saleInsuredInfo.idNo, //身份证号码
name: that.saleInsuredInfo.name //姓名
}).then(data => {
name: that.saleInsuredInfo.name, //姓名
orderNo: CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
if (JSON.parse(data).state == '1') {
// 保存rid 数据
that.saveCustomerRidInfo('appnt_rid', 'B')
@@ -766,8 +773,8 @@ export default {
})
// todo 测试去掉人脸识别 start=====================
// 保存rid 数据
// that.saveCustomerRidInfo('appnt_rid', 'B')
// that.goUrl()
// that.saveCustomerRidInfo('appnt_rid', 'B')
// that.goUrl()
// todo 测试去掉人脸识别 end=====================
// const authRes = await this.fakeFaceAuth(true)
@@ -824,8 +831,9 @@ export default {
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
businessSource: '1', //业务来源:1-电投2-入司3-理赔4-保全
number: that.saleInsuredPersonInfo.idNo, //身份证号码
name: that.saleInsuredPersonInfo.name //姓名
}).then(data => {
name: that.saleInsuredPersonInfo.name, //姓名
orderNo: CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
if (JSON.parse(data).state == '1') {
that.saveCustomerRidInfo('insured_rid', 'B')
that.insuredUrl()
@@ -981,19 +989,21 @@ export default {
}
})
} else {
console.log(location.origin +
'/#/insureAgain/signatureConfirmation?orderNo=' +
localStorage.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode)
console.log(
location.origin +
'/#/insureAgain/signatureConfirmation?orderNo=' +
localStorage.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode
)
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('bridge', {
flag: 'share',
@@ -1041,7 +1051,7 @@ export default {
}
}
// /insure/selfToHuman
underWrite(data).then(res => {
underWrite(data).then((res) => {
this.$toast.clear()
let that = this
if (res.result == '0') {
@@ -1144,12 +1154,12 @@ export default {
message: '加载中……'
})
let data = {
orderNo: CacheUtils.getLocItem('orderNo'),
orderNo: CacheUtils.getLocItem('orderNo'),
getOtherType: 'RID'
}
localStorage.setItem('riskName', '')
return new Promise(resolve => {
getOrderDetail(data).then(res => {
return new Promise((resolve) => {
getOrderDetail(data).then((res) => {
if (res.result == '0') {
if (res.orderDTO && res.orderDTO.prtType) {
localStorage.setItem('readingProtocolType', res.orderDTO.prtType)
@@ -1165,9 +1175,8 @@ export default {
!!res.orderDTO.productDTO.special.content &&
res.orderDTO.productDTO.special.content !== ''
) {
let content = res.orderDTO.productDTO.special.content
try {
const config = JSON.parse(content)
config.message = '&emsp;&emsp;' + config.message
@@ -1180,8 +1189,8 @@ export default {
confirmButtonText: '本人已阅读并同意上述特别约定内容',
messageAlign: 'left'
})
}
}
}
}
localStorage.setItem('lastOrderNo', data.orderNo)
localStorage.setItem('AppntidType', res.orderDTO.appntDTO.idType)
this.$toast.clear()
@@ -1219,7 +1228,7 @@ export default {
}
that.appnt = res.orderDTO.appntDTO
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
res.orderDTO.ebizSignDTOS.map(item => {
res.orderDTO.ebizSignDTOS.map((item) => {
if (item.signType == '0' || item.signType == '2') {
if (!localStorage.changeCard) {
if (item.documentCode != '5') {
@@ -1238,11 +1247,11 @@ export default {
})
if (!that.changeCard) {
//将投保人数组排序
that.appntSign.sort(function(a, b) {
that.appntSign.sort(function (a, b) {
return a.key - b.key
})
//获取投保和被保险人电子投保单签字状态
that.appntSign.map(item => {
that.appntSign.map((item) => {
// 判断是否双录
if (item.documentCode == '6') {
localStorage.doubleRecordFlag = '1'
@@ -1251,7 +1260,7 @@ export default {
that.appntSignStatus = item.documentStatus
}
})
that.insuredSign.map(item => {
that.insuredSign.map((item) => {
if (item.documentCode == '2') {
that.insuredSignStatus = item.documentStatus
}
@@ -1299,7 +1308,7 @@ export default {
message: '加载中……'
})
let data = {}
getSignInvalid(data).then(res => {
getSignInvalid(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.signInvalid = res.content.sign
@@ -1320,8 +1329,8 @@ export default {
let data = {
sign: signInvalid
}
return new Promise(resolve => {
checkSignInvalid(data).then(res => {
return new Promise((resolve) => {
checkSignInvalid(data).then((res) => {
if (res.result == '0') {
that.$toast.clear()
let status = res.content.status
@@ -1385,7 +1394,7 @@ export default {
businessSource: this.idcardData.businessSource
}
getRecognitionUrl(data).then(
res => {
(res) => {
if (res.result == '0') {
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
localStorage.setItem('faceAuthWeXin-bizToken', JSON.stringify(res.content.bizToken))
@@ -1394,16 +1403,16 @@ export default {
this.$toast(res.resultMessage)
}
},
error => {
(error) => {
console.log(error)
}
)
})
},
getRecognitionResult(requestId, bizToken) {
getRecognitionResult(requestId, bizToken, orderNo) {
return new Promise(() => {
getRecognitionResult({ requestId, bizToken }).then(
res => {
getRecognitionResult({ requestId, bizToken, orderNo }).then(
(res) => {
if (res.result == '0') {
this.recognizeResult = res.result
} else {
@@ -1411,7 +1420,7 @@ export default {
}
this.sendimage(this.recognizeResult)
},
error => {
(error) => {
console.log(error)
}
)
@@ -1450,13 +1459,13 @@ export default {
}
}
// 保存rid 认证结果 不阻断流程
saveCustomerRid(param).then(res => {
saveCustomerRid(param).then((res) => {
console.log('saveCustomerRid', res)
})
}
},
created() {
setTimeout(() => {
setTimeout(() => {
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
@@ -1469,11 +1478,11 @@ export default {
// localStorage.setItem('salePageFlag', this.salePageFlag)
if (!this.$route.query.salePageFlag) {
CacheUtils.setLocItem('active', this.active)
}
}
let that = this
document.title = this.changeCard ? '修改银行卡号确认' : '签名确认'
// 初始化
that.init()
that.init()
if (window.localStorage.getItem('jumpFromSign') != '1' && window.localStorage.getItem('attachmentShow') == '0') {
Dialog.confirm({
title: '提示',
@@ -1487,7 +1496,7 @@ export default {
// 获取投被保险人是否同一个人
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
}
},
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()

View File

@@ -30,7 +30,9 @@
<div v-if="active === 'uncommit'">
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{ order.newOrderStatus == '02'?'待支付':'重新投保'}}</van-button>
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{
order.newOrderStatus == '02' ? '待支付' : '重新投保'
}}</van-button>
</div>
<div v-if="active === 'commit'">
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
@@ -45,88 +47,92 @@
<div class="mt20" v-if="errMessage != ''">{{ errMessage }}</div>
</div>
</van-pull-refresh>
<van-dialog
class="dialog-delete"
@confirm="checkCaptchaCode"
@cancel="cancelCaptchaCode"
:before-close="beforeClose"
confirm-button-color="#fff"
v-model="revokePanelShow"
title="短信验证"
show-cancel-button
>
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
<template #button>
<van-button :disabled="sendTime !== 0" v-no-more-click="1000" @click="getCaptchaCode" size="small" type="danger">{{
sendTime ? `${sendTime}s后获取` : '获取验证码'
}}</van-button>
</template>
</van-field>
</van-dialog>
</div>
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
<ReadingAgreement :needTime="false">
<h3 class="p10" style="text-align: center">重新投保声明提示</h3>
<p style="text-indent: 28px">尊敬的{{ orderInfo.appntName }}{{ orderInfo.sex == 0 ? '先生' : '女士' }}</p>
<div class="p10 mb90" v-if="orderInfo.riskCode !== 'GFRS_A0008'">
<p style="text-indent: 28px">
您好感谢您选择购买国富人寿保险股份有限公司以下简称我们保险产品您于{{ orderInfo.cvaliDate }}投保的旧保单{{
orderInfo.policyNo
}}产品名称为{{ orderInfo.riskName }}即将到期或已到期到期日期详见保单为保护您的权益您可向我们提交重新投保申请以下是申请重新投保的注意事项和声明请您仔细阅读和确认
</p>
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年到期后需要您重新投保</p>
<p style="text-indent: 28px">
2.本次重新投保我们将按照{{ orderInfo.riskName }}费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
<p style="text-indent: 28px">3.若本次重新投保成功新保单免除等待期</p>
<p style="text-indent: 28px">
4.本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本次重新投保流程您可联系保单服务专员通过其他途径进行投保申请
</p>
<p style="text-indent: 28px">
5.若您于旧保单满期前申请重新投保且于旧保单满期前成功支付保险费则新保单在旧保单保险期满日对应日的次日零时生效旧保单在保险期满日24时终止若您于旧保单满期后重新投保申请且成功支付保险费则新保单于支付次日零时生效旧保单在保险期满日24时终止
</p>
<!-- <p style="text-indent: 28px">
6.若您未在旧保单满期后60天包含内申请重新投保则您的重新投保资格将被取消后续您可再次申请投保但新单不再与旧保单关联需重新计算等待期具体详情可咨询保单服务专员
</p> -->
</div>
<div class="p10 mb90" v-else>
<p style="text-indent: 28px">
您好感谢您选择购买国富人寿保险股份有限公司以下简称我们保险产品您于{{ orderInfo.cvaliDate }}投保的旧保单{{
orderInfo.policyNo
}}产品名称为{{ orderInfo.riskName }}即将到期或已到期到期日期详见保单为保护您的权益您可向我们提交重新投保申请以下是申请重新投保的注意事项和声明请您仔细阅读和确认
</p>
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年到期后需要您重新投保</p>
<p style="text-indent: 28px">
2.本次重新投保我们将按照{{ orderInfo.riskName }}费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
<p style="text-indent: 28px">3.若本次重新投保成功新保单免除等待期</p>
<p style="text-indent: 28px">
4.本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本重新投保申请您可联系保单服务专员通过其他途径进行投保申请
</p>
<p style="text-indent: 28px">
5.若您于旧保单满期前申请重新投保且于旧保单满期前成功支付保险费则新保单在旧保单保险期满日对应日的次日零时生效旧保单在保险期满日24时终止若您于旧保单满期后重新投保申请且成功支付保险费则新保单于支付次日零时生效旧保单在保险期满日24时终止
</p>
<!-- <p style="text-indent: 28px">
6.若您未在旧保单满期后60天包含内申请重新投保则您的重新投保资格将被取消后续您可再次申请投保但新单不再与旧保单关联需重新计算等待期具体详情可咨询保单服务专员
</p> -->
<p style="text-indent: 28px">
6.国富人寿附加住院医疗保险已停售您可选择投保同类产品国富人寿附加住院医疗保险B款我们将按照国富人寿附加住院医疗保险B款费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
</div>
<template #action>
<van-radio-group class="m10" v-model="radio">
<van-radio :name="false">
<span style="font-size: 14px">本人已阅读知晓本投保声明内容同意重新投保</span>
</van-radio>
</van-radio-group>
<div class="btns">
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
</div>
<van-dialog
class="dialog-delete"
@confirm="checkCaptchaCode"
@cancel="cancelCaptchaCode"
:before-close="beforeClose"
confirm-button-color="#fff"
v-model="revokePanelShow"
title="短信验证"
show-cancel-button
>
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
<template #button>
<van-button :disabled="sendTime !== 0" v-no-more-click="1000" @click="getCaptchaCode" size="small" type="danger">{{
sendTime ? `${sendTime}s后获取` : '获取验证码'
}}</van-button>
</template>
</ReadingAgreement>
</van-popup>
</van-field>
</van-dialog>
</div>
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
<ReadingAgreement :needTime="false">
<h3 class="p10" style="text-align: center">重新投保声明提示</h3>
<p style="text-indent: 28px">尊敬的{{ orderInfo.appntName }}{{ orderInfo.sex == 0 ? '先生' : '女士' }}</p>
<div class="p10 mb90" v-if="orderInfo.riskCode !== 'GFRS_A0008'">
<p style="text-indent: 28px">
您好感谢您选择购买国富人寿保险股份有限公司以下简称我们保险产品您于{{ orderInfo.cvaliDate }}投保的旧保单{{
orderInfo.policyNo
}}产品名称为{{
orderInfo.riskName
}}即将到期或已到期到期日期详见保单为保护您的权益您可向我们提交重新投保申请以下是申请重新投保的注意事项和声明请您仔细阅读和确认
</p>
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年到期后需要您重新投保</p>
<p style="text-indent: 28px">
2.本次重新投保我们将按照{{ orderInfo.riskName }}费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
<p style="text-indent: 28px">3.若本次重新投保成功新保单免除等待期</p>
<p style="text-indent: 28px">
4.本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本次重新投保流程您可联系保单服务专员通过其他途径进行投保申请
</p>
<p style="text-indent: 28px">
5.若您于旧保单满期前申请重新投保且于旧保单满期前成功支付保险费则新保单在旧保单保险期满日对应日的次日零时生效旧保单在保险期满日24时终止若您于旧保单满期后重新投保申请且成功支付保险费则新保单于支付次日零时生效旧保单在保险期满日24时终止
</p>
<!-- <p style="text-indent: 28px">
6.若您未在旧保单满期后60天包含内申请重新投保则您的重新投保资格将被取消后续您可再次申请投保但新单不再与旧保单关联需重新计算等待期具体详情可咨询保单服务专员
</p> -->
</div>
<div class="p10 mb90" v-else>
<p style="text-indent: 28px">
您好感谢您选择购买国富人寿保险股份有限公司以下简称我们保险产品您于{{ orderInfo.cvaliDate }}投保的旧保单{{
orderInfo.policyNo
}}产品名称为{{
orderInfo.riskName
}}即将到期或已到期到期日期详见保单为保护您的权益您可向我们提交重新投保申请以下是申请重新投保的注意事项和声明请您仔细阅读和确认
</p>
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年到期后需要您重新投保</p>
<p style="text-indent: 28px">
2.本次重新投保我们将按照{{ orderInfo.riskName }}费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
<p style="text-indent: 28px">3.若本次重新投保成功新保单免除等待期</p>
<p style="text-indent: 28px">
4.本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本重新投保申请您可联系保单服务专员通过其他途径进行投保申请
</p>
<p style="text-indent: 28px">
5.若您于旧保单满期前申请重新投保且于旧保单满期前成功支付保险费则新保单在旧保单保险期满日对应日的次日零时生效旧保单在保险期满日24时终止若您于旧保单满期后重新投保申请且成功支付保险费则新保单于支付次日零时生效旧保单在保险期满日24时终止
</p>
<!-- <p style="text-indent: 28px">
6.若您未在旧保单满期后60天包含内申请重新投保则您的重新投保资格将被取消后续您可再次申请投保但新单不再与旧保单关联需重新计算等待期具体详情可咨询保单服务专员
</p> -->
<p style="text-indent: 28px">
6.国富人寿附加住院医疗保险已停售您可选择投保同类产品国富人寿附加住院医疗保险B款我们将按照国富人寿附加住院医疗保险B款费率表中的在上一保险期间届满后60日内申请重新投保时对应的费率计算保费
</p>
</div>
<template #action>
<van-radio-group class="m10" v-model="radio">
<van-radio :name="false">
<span style="font-size: 14px">本人已阅读知晓本投保声明内容同意重新投保</span>
</van-radio>
</van-radio-group>
<div class="btns">
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
</div>
</template>
</ReadingAgreement>
</van-popup>
</div>
</template>
@@ -180,15 +186,15 @@ export default {
isShow: false,
orderInfo: {},
canRevoke: {
'19': true,
19: true,
'02': true,
'48': true,
'49': true,
'55': true,
'58': true,
'46': true,
'50': true,
'51': true
48: true,
49: true,
55: true,
58: true,
46: true,
50: true,
51: true
},
revokePanelShow: false,
sms: '',
@@ -206,7 +212,12 @@ export default {
NewItems() {
var NewItems = []
this.policyListDTOList.map((item) => {
if (item.riskName.search(this.searchName) != -1 || item.policyNo.search(this.searchName) != -1 || item.appntName.search(this.searchName) != -1 || item.insuredName.search(this.searchName) != -1) {
if (
item.riskName.search(this.searchName) != -1 ||
item.policyNo.search(this.searchName) != -1 ||
item.appntName.search(this.searchName) != -1 ||
item.insuredName.search(this.searchName) != -1
) {
if (item.reInsuranceState != null && item.reInsuranceState != '') {
if (this.active === 'uncommit') {
if (
@@ -297,7 +308,7 @@ export default {
if (order.newOrderStatus == '02') {
this.goUrl(res, order)
return
}else {
} else {
this.orderInfo.sex = res.orderDTO.appntDTO.sex
if (res.orderDTO.appntDTO.idType == '1') {
// 白名单校验
@@ -316,7 +327,8 @@ export default {
window.EWebBridge.webCallAppInJs('face_auth', {
businessSource: '1', //业务来源:1-电投2-入司3-理赔4-保全
number: res.orderDTO.appntDTO.idNo, //身份证号码
name: res.orderDTO.appntDTO.name //姓名
name: res.orderDTO.appntDTO.name, //姓名,
orderNo: CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
if (JSON.parse(data).state == '1') {
this.goUrl(res, order)
@@ -501,28 +513,28 @@ export default {
},
revokeOrder(order) {
this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.revokePanelShow = true
this.captchaReceiver = order.appntMobile
this.revokeOrderNo = order.newOrderNo
})
.confirm({
className: 'dialog-delete',
title: '提示',
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.revokePanelShow = true
this.captchaReceiver = order.appntMobile
this.revokeOrderNo = order.newOrderNo
})
}
}
}
</script>
<style lang="scss" scoped>
.captchaReceiver {
margin-left: 1em;
padding-bottom: 1em;
border-bottom: 1px solid #eaeaea;
font-size: 14px;
}
.captchaReceiver {
margin-left: 1em;
padding-bottom: 1em;
border-bottom: 1px solid #eaeaea;
font-size: 14px;
}
</style>

View File

@@ -4,7 +4,7 @@
<p class="fs18 fwb">公司介绍</p>
<van-image width="100%" height="150" :src="img1" class="mt15" />
<p class="fs14 indent">
国富人寿保险股份有限公司是经中国银保监会批准于2018年6月成立的全国性寿险公司公司由广西投资集团唯品会吉安新年等8家知名企业共同出资创立注册资本金15亿元总部位于南宁市是广西壮族自治区首家寿险法人机构公司以因为国富所以民安为使命用心研发实惠产品用爱提供实在服务守护幸福美好生活
国富人寿保险股份有限公司是经中国银保监会批准于2018年6月成立的全国性寿险公司公司由广西投资集团唯品会吉安新年等8家知名企业共同出资创立注册资本金15亿元总部位于南宁市是广西壮族自治区首家寿险法人机构公司以因为国富所以民安为使命用心研发实惠产品用爱提供实在服务守护幸福美好生活
</p>
<!-- <p class="fs14 indent">
国富人寿将秉持老有所养病有所医红利共享国富民安的核心理念让更多的人过上有尊严的健康快乐的生活作为企业使命树立并践行简单专注诚信激情关爱领先的价值观专注于客户体验研发满足客户需求的产品为客户提供有温度的服务依法合规稳健经营立足广西深耕广西面向全国更好地回馈社会回报股东与时俱进超越自我
@@ -75,7 +75,9 @@ export default {
this.redisKey = this.$route.query.redisKey
if (this.redisKey) {
this.saveShareRecord('1')
localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
localStorage.setItem('token', this.$route.query.token)
}
} else {
this.getShareKey()
}
@@ -117,7 +119,7 @@ export default {
url: `${location.origin}/#/manpower/increaseStaffTools/CompanyIntroduction`
}
getShareKey(data)
.then(res => {
.then((res) => {
console.log(res)
if (res.result == 0) {
this.redisKey = res.content
@@ -125,7 +127,7 @@ export default {
this.$toast(res.resultMessage)
}
})
.catch(err => {
.catch((err) => {
console.log(err)
})
},

View File

@@ -1,6 +1,6 @@
<template>
<div>
<iframe :src="src + pdfUrl" style="width:100vw;height:100vh"></iframe>
<iframe :src="src + pdfUrl" style="width: 100vw; height: 100vh"></iframe>
</div>
</template>
@@ -38,7 +38,9 @@ export default {
this.redisKey = this.$route.query.redisKey
if (this.redisKey) {
this.saveShareRecord('1')
localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
localStorage.setItem('token', this.$route.query.token)
}
} else {
this.getShareKey()
}
@@ -83,7 +85,7 @@ export default {
url: `${location.origin}/pdfjs/web/viewer.html?file=${this.pdfUrl}`
}
getShareKey(data)
.then(res => {
.then((res) => {
console.log(res)
if (res.result == 0) {
this.redisKey = res.content
@@ -91,7 +93,7 @@ export default {
this.$toast(res.resultMessage)
}
})
.catch(err => {
.catch((err) => {
console.log(err)
})
},

View File

@@ -2,8 +2,8 @@
<div class="insured-info-container">
<van-field v-model="pwd" clearable required type="password" label="登陆密码" name="密码" placeholder="请输入登陆密码" />
<p style="color: #ff0000; font-size: 14px;" class="bg-white p10 pb0 mb0">温馨提示</p>
<p style="color: #ff0000; font-size: 14px;" class="bg-white pl10">停用账号将无法再次登陆使用请您谨慎操作</p>
<p style="color: #ff0000; font-size: 14px" class="bg-white p10 pb0 mb0">温馨提示</p>
<p style="color: #ff0000; font-size: 14px" class="bg-white pl10">停用账号将无法再次登陆使用请您谨慎操作</p>
<van-button type="danger" size="large" class="logout_button mt10" :disabled="!Boolean(pwd)" @click="logoutAgent">停用账户 </van-button>
@@ -41,6 +41,14 @@ export default {
}
},
mounted() {
setTimeout(() => {
EWebBridge.webCallAppInJs('enable_screen_capture', {
enable: false
})
}, 500)
},
methods: {
// 注销
logoutAgent() {
@@ -55,7 +63,7 @@ export default {
password: this.$MD5(this.pwd)
}
// 调用注销接口
logoutAgent(req).then(res => {
logoutAgent(req).then((res) => {
this.show = false
if (res.result == 0) {
this.$toast('用户注销成功')

View File

@@ -177,7 +177,8 @@ export default {
this.toFace({
number: this.customerInfo.idNo, //身份证号码
name: this.customerInfo.customerName, //姓名
businessSource: '4' //业务来源:1-电投2-入司3-理赔4-保全
businessSource: '4', //业务来源:1-电投2-入司3-理赔4-保全
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
})
}
} else if (this.entry == 'BC') {
@@ -193,7 +194,8 @@ export default {
this.toFace({
number: this.policy.insuredInfo.idNo, //身份证号码
name: this.policy.insuredInfo.insuredName, //姓名
businessSource: '4' //业务来源:1-电投2-入司3-理赔4-保全
businessSource: '4', //业务来源:1-电投2-入司3-理赔4-保全
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
})
}
} else {
@@ -204,7 +206,8 @@ export default {
this.toFace({
number: this.policy.appntInfo.idNo, //身份证号码
name: this.policy.appntInfo.appntName, //姓名
businessSource: '4' //业务来源:1-电投2-入司3-理赔4-保全
businessSource: '4', //业务来源:1-电投2-入司3-理赔4-保全
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
})
}
}
@@ -244,7 +247,7 @@ export default {
// console.log('--跳过人脸识别--返回识别成功')
// resolve(JSON.stringify({ state: '0' }))
// })
.then(data => {
.then((data) => {
if (JSON.parse(data).state == '1') {
this.jumpNextPage(this.path)
} else {

View File

@@ -48,7 +48,7 @@
</div>
<div v-else>
<template v-if="redirectUrl">
<iframe v-show="thirdUrlReady" style="width: 100vw; min-height: 100vh;" :src="redirectUrl" frameborder="0"></iframe>
<iframe v-show="thirdUrlReady" style="width: 100vw; min-height: 100vh" :src="redirectUrl" frameborder="0"></iframe>
</template>
<template v-if="detailImg">
<img id="detailImg" v-if="detailImg" :src="$assetsUrl + detailImg" />
@@ -151,7 +151,9 @@ export default {
},
async mounted() {
if (this.isWeixin) {
window.localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
window.localStorage.setItem('token', this.$route.query.token)
}
this.loginInfo.aname = decodeURI(this.$route.query.aname)
this.loginInfo.password = decodeURI(this.$route.query.password)
this.shareId = this.$route.query.shareId
@@ -162,7 +164,7 @@ export default {
},
methods: {
prevImg(i) {
let imgs = this.imgList.map(img => {
let imgs = this.imgList.map((img) => {
return this.$assetsUrl + img
})
ImagePreview(imgs, i)
@@ -259,7 +261,7 @@ export default {
//分享轨迹保存
saveShareTrack(data) {
return new Promise((resolve, reject) => {
saveShareTrack(data).then(res => {
saveShareTrack(data).then((res) => {
if (res.result == '0') {
resolve()
} else {

View File

@@ -44,7 +44,7 @@
<div class="pcenter-list mr20 mb10 ml15">
<template v-if="branchType != '6'">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0095')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
@@ -122,7 +122,7 @@
<div class="home-product-pcenter">
<div class="pcenter-list mr20 mb10 ml15">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0095')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
@@ -170,7 +170,7 @@ export default {
productCenterImgUrl: '', // 产品中心图片
productCenterKmhImgUrl: this.$assetsUrl + 'images/goodStart/productKmh.png', // 产品中心开门红图片
productCenterNormalImgUrl: this.$assetsUrl + 'images/goodStart/product.png', // 产品中心普通蓝色图片
personalInsu: ['1','N1','N2','N3','N5','T','S'] // 个险渠道编码及其他展示个险渠道类型的渠道编码
personalInsu: ['1','N1','N2','N3','N5','T','S','JZG'] // 个险渠道编码及其他展示个险渠道类型的渠道编码
}
},
computed: {
@@ -232,7 +232,7 @@ export default {
const result = await getAgentInfo({})
if (result.result === '0') {
// 内外勤判断
this.isInner = /^N{1}/.test(result.branchType) || /^S/.test(result.branchType) || /^T/.test(result.branchType) // 判断是否内勤
this.isInner = /^N{1}/.test(result.branchType) || /^S/.test(result.branchType) || /^T/.test(result.branchType) || /^JZG/.test(result.branchType) // 判断是否内勤
this.branchType = result.branchType //6 网销渠道
this.isGoodStart = result.showTemplateKmh === 'KMH'? '1':'2' // 判断是否开门红 1-开门红 2-否
this.isPersonalInsu = this.personalInsu.indexOf(result.branchType) > -1 // 判断是否个险渠道

View File

@@ -242,7 +242,7 @@
:value.sync="pageShowInfo.showInsuredDTO.tap"
></select-radio>
<div class="fs12 text-center pb15" style="color: #999999">拖动按钮查看不同年龄的保单利益</div>
<!-- 国富人寿富贵尊享终身寿险分红型添加利益演示提示 -->
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
<b
@@ -547,7 +547,11 @@ export default {
/*end*/
callPhone() {
console.log('callPhone')
window.location.href = 'tel://' + this.agent.phoneNo
// window.location.href = 'tel://' + this.agent.phoneNo
EWebBridge.webCallAppInJs('callSystem', {
system: 'tel',
number: this.agent.phoneNo
})
},
checkInsure(insureId) {
let that = this
@@ -795,7 +799,14 @@ export default {
that.pageShowInfo.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((item01) => {
if (item01.isMainRisk == '0') {
if (item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
if (
item01.mainRiskCode == 'GFRS_M0080' ||
item01.mainRiskCode == 'GFRS_M0083' ||
item01.mainRiskCode == 'GFRS_M0085' ||
item01.mainRiskCode == 'GFRS_M0098' ||
item01.mainRiskCode == 'GFRS_M0103' ||
item01.mainRiskCode == 'GFRS_M0100'
) {
that.ispremshow = false
}
mainRiskNameList.push(item01.riskName)

File diff suppressed because it is too large Load Diff

View File

@@ -180,7 +180,7 @@ export default {
operateCode: this.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
}).then((res) => {
console.log(res)
if (res.result == 0) {
this.sid = res.sessionId
@@ -238,7 +238,7 @@ export default {
this.authCode = null
// eslint-disable-next-line no-unused-vars
return new Promise((resolve, reject) => {
checkPhone(data).then(res => {
checkPhone(data).then((res) => {
if (res.result == '0') {
console.log(res)
this.show = true
@@ -260,7 +260,7 @@ export default {
// policyNo: '809920190000597308'
}
getPolicyDetail(data).then(res => {
getPolicyDetail(data).then((res) => {
if (res.result == '0') {
let appntDTO = res.content.appntDTO
let orderInfoDTO = res.content.orderInfoDTO
@@ -282,8 +282,8 @@ export default {
that.appntDTO = appntDTO
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
// 被保险人信息
res.content.insuredDTOs.map(insured => {
insured.riskDTOLst.map(risk => {
res.content.insuredDTOs.map((insured) => {
insured.riskDTOLst.map((risk) => {
Number(risk.payIntv)
switch (risk.payIntv) {
case -1:
@@ -320,7 +320,7 @@ export default {
this.filterData(dataDictionary.sex, 'sex', insured)
this.filterData(dataDictionary.idType, 'idType', insured)
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
insured.bnfDTOs.map(bnf => {
insured.bnfDTOs.map((bnf) => {
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
this.filterData(dataDictionary.sex, 'sex', bnf)
this.filterData(dataDictionary.idType, 'idType', bnf)
@@ -337,7 +337,7 @@ export default {
},
//根据数据字典 将后端返回的数据渲染到页面中
filterData(dictionary, key, pageData) {
dictionary.forEach(item => {
dictionary.forEach((item) => {
if (pageData[key] == item.id) {
pageData[key + 'Text'] = item.text //渲染页面使用的字段
}
@@ -351,8 +351,9 @@ export default {
//证件类型为身份证时,进行人脸识别
EWebBridge.webCallAppInJs('face_auth', {
number: this.appntDTO.idNo, //身份证号码
name: this.appntDTO.name //姓名
}).then(data => {
name: this.appntDTO.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -380,7 +381,7 @@ export default {
let params = {
contNo: window.localStorage.getItem('policyNo')
}
getReceiptSign(params).then(res => {
getReceiptSign(params).then((res) => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('insurance-policyUrl', res.signUrl)

View File

@@ -179,7 +179,7 @@ export default {
operateCode: this.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
}).then((res) => {
console.log(res)
if (res.result == 0) {
this.sid = res.sessionId
@@ -237,7 +237,7 @@ export default {
this.authCode = null
// eslint-disable-next-line no-unused-vars
return new Promise((resolve, reject) => {
checkPhone(data).then(res => {
checkPhone(data).then((res) => {
if (res.result == '0') {
console.log(res)
this.show = true
@@ -259,7 +259,7 @@ export default {
// policyNo: '809920190000597308'
}
getPolicyDetail(data).then(res => {
getPolicyDetail(data).then((res) => {
if (res.result == '0') {
let appntDTO = res.content.appntDTO
let orderInfoDTO = res.content.orderInfoDTO
@@ -281,8 +281,8 @@ export default {
that.appntDTO = appntDTO
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
// 被保险人信息
res.content.insuredDTOs.map(insured => {
insured.riskDTOLst.map(risk => {
res.content.insuredDTOs.map((insured) => {
insured.riskDTOLst.map((risk) => {
Number(risk.payIntv)
switch (risk.payIntv) {
case -1:
@@ -319,7 +319,7 @@ export default {
this.filterData(dataDictionary.sex, 'sex', insured)
this.filterData(dataDictionary.idType, 'idType', insured)
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
insured.bnfDTOs.map(bnf => {
insured.bnfDTOs.map((bnf) => {
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
this.filterData(dataDictionary.sex, 'sex', bnf)
this.filterData(dataDictionary.idType, 'idType', bnf)
@@ -336,7 +336,7 @@ export default {
},
//根据数据字典 将后端返回的数据渲染到页面中
filterData(dictionary, key, pageData) {
dictionary.forEach(item => {
dictionary.forEach((item) => {
if (pageData[key] == item.id) {
pageData[key + 'Text'] = item.text //渲染页面使用的字段
}
@@ -350,8 +350,9 @@ export default {
//证件类型为身份证时,进行人脸识别
EWebBridge.webCallAppInJs('face_auth', {
number: this.appntDTO.idNo, //身份证号码
name: this.appntDTO.name //姓名
}).then(data => {
name: this.appntDTO.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
}).then((data) => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -379,7 +380,7 @@ export default {
let params = {
contNo: window.localStorage.getItem('policyNo')
}
getReceiptSign(params).then(res => {
getReceiptSign(params).then((res) => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('insurance-policyUrl', res.signUrl)

View File

@@ -2,7 +2,7 @@
<div class="detail-container">
<van-collapse v-model="activeNames">
<!-- 保单信息 -->
<van-collapse-item v-if="branchType == '13'" title="投保单信息" name="1" class="pb10 pt10">
<van-collapse-item title="投保单信息" name="1" class="pb10 pt10">
<van-cell-group>
<van-cell title="投保单号" :value="OrderInfoDTO.orderNo" />
<van-cell title="投保日期" :value="OrderInfoDTO.appntDateLabel" />

View File

@@ -64,6 +64,7 @@
:flag="true"
></FieldDatePicter>
<FieldDatePicter
v-if="!userInfo.effectiveDateType"
:v-validate="{ required: certiexpiredateRequired }"
required
label="证件截止日期"
@@ -993,6 +994,7 @@
},
//证件起始截止日期
onDateConfirm(val, type) {
console.log(val,type,);
switch (type) {
case '0':
{
@@ -1009,9 +1011,10 @@
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday){
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
if(this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
this.effectiveDateTypeAble = true
this.userInfo.effectiveDateType = false
}
@@ -1030,9 +1033,9 @@
}
//身份证证件类型的判断
if (this.userInfo.idType == '1') {
if(this.userInfo.birthday){
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
}
// if(this.userInfo.birthday){
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
// }
}
}
break
@@ -1057,7 +1060,7 @@
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certificateValidate)
}
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certiexpiredate)
}
}
@@ -1083,7 +1086,7 @@
this.userInfo.idType = data.customerIdType //证件类型
this.userInfo.idNo = data.customerIdNumber //证件类别
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
if (data.idEffectEndDate == '9999-12-31') {
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
this.userInfo.effectiveDateType = true //是否长期
} else {
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
@@ -1555,9 +1558,10 @@
effectiveDataTypeChange(val) {
//勾选长期状态时,证件截止日期置空
if (val) {
this.userInfo.certiexpiredate = ''
this.userInfo.certiexpiredate = '9999-12-31'
this.certiexpiredateRequired = false
} else {
this.userInfo.certiexpiredate = ''
this.certiexpiredateRequired = true
}
},

View File

@@ -82,6 +82,7 @@
:readonly="isAppnt"
></FieldDatePicter>
<FieldDatePicter
v-if="!userInfo.effectiveDateType"
v-validate="{ required: certiexpiredateRequired }"
label="证件截止日期"
name="证件截止日期"
@@ -1109,9 +1110,10 @@
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday){
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
if(this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
this.effectiveDateTypeAble = true
this.userInfo.effectiveDateType = false
}
@@ -1142,9 +1144,9 @@
//获取年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
console.log(age)
if(this.userInfo.birthday){
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
}
// if(this.userInfo.birthday){
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
// }
}
}
break
@@ -1273,7 +1275,7 @@
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
// this.userInfo.effectiveDateType = data.idEffectEndDate == '9999-12-31' //是否长期
if (data.idEffectEndDate == '9999-12-31') {
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
this.userInfo.effectiveDateType = true //是否长期
} else {
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
@@ -1874,11 +1876,12 @@
effectiveDataTypeChange(val) {
//勾选长期状态时,证件截止日期置空
if (val) {
this.userInfo.certiexpiredate = ''
this.userInfo.certiexpiredate = '9999-12-31'
// this.isRequired = false
// this.idLimit = true
this.certiexpiredateRequired = false
} else {
this.userInfo.certiexpiredate = ''
this.certiexpiredateRequired = true
// this.isRequired = true
// this.idLimit = false

View File

@@ -24,7 +24,7 @@
</div>
<div v-else-if="uwResult == '53'">
<img :src="srcPending" class="mb40 mt20" />
<p class="title">核心批扣</p>
<p class="title">核心业务系统批量扣费</p>
</div>
<div v-else>
<img :src="srcPending" class="mb40 mt20" />

File diff suppressed because it is too large Load Diff

View File

@@ -47,16 +47,17 @@
v-if="isShow"
type="danger"
size="normal"
class="w150"
class="w150"
plain
v-no-more-click="1000"
:disabled="appntSign.signStatus == '1'"
@click="share(insured.length == '0' ? '2' : '0')"
>分享</van-button>
>分享</van-button
>
<van-button
type="danger"
size="normal"
class="w150"
class="w150"
plain
:disabled="appntSign.signStatus == '1'"
v-no-more-click="1000"
@@ -96,17 +97,18 @@
v-if="isShow"
type="danger"
size="normal"
class="w150"
class="w150"
:disabled="insuredSign.signStatus == '1'"
@click="share('1')"
plain
v-no-more-click="1000"
>分享</van-button>
>分享</van-button
>
<van-button
type="danger"
size="normal"
plain
class="w150"
class="w150"
:disabled="insuredSign.signStatus == '1'"
@click="start_ocr('1')"
v-no-more-click="1000"
@@ -119,7 +121,7 @@
</div>
</div>
<div v-else>
<!-- 在微信 -->
<!-- 在微信 -->
<div v-if="shareCode != '1'" class="mt10">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
@@ -158,7 +160,7 @@
<van-button
type="danger"
size="normal"
style="width: 157px;"
style="width: 157px"
plain
:disabled="appntSign.signStatus == '1'"
v-no-more-click="1000"
@@ -210,7 +212,7 @@
type="danger"
size="normal"
plain
style="width: 157px;"
style="width: 157px"
:disabled="insuredSign.signStatus == '1'"
@click="start_ocr('1')"
v-no-more-click="1000"
@@ -306,17 +308,17 @@ export default {
methods: {
// 初始化
async init() {
if (this.isWeixin) {
if (this.$route.query.airSign) {
sessionStorage.setItem('airSign', this.$route.query.airSign)
}
this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
this.$CacheUtils.setLocItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
window.localStorage.setItem('token', this.$route.query.token)
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
if (this.$route.query.token) {
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)
@@ -337,7 +339,7 @@ export default {
this.shareCode = sessionStorage.getItem('shareCode')
this.relationToAppnt = this.$route.query.relationToAppnt
this.isShow = false
await this.getOrderDetail()
await this.getOrderDetail()
if (this.shareCode == '1') {
this.tipsName = this.saleInsuredPersonInfo.name
} else {
@@ -475,13 +477,14 @@ export default {
// 原人脸识别
EWebBridge.webCallAppInJs('face_auth', {
number: that.saleInsuredInfo.idNo, //身份证号码
name: that.saleInsuredInfo.name //姓名
name: that.saleInsuredInfo.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
// })
// 跳过人脸识别
// new Promise(resolve => {
// console.log('--跳过人脸识别--返回识别成功')
// resolve(JSON.stringify({ state: '1' }))
}).then(data => {
}).then((data) => {
if (JSON.parse(data).state == '1') {
if (that.appntSign.readStatus == '0') {
console.log('--跳过人脸识别--返回识别成功zzzzzzzzzz')
@@ -537,12 +540,13 @@ export default {
// 跳过人脸识别
EWebBridge.webCallAppInJs('face_auth', {
number: that.saleInsuredInfo.idNo, //身份证号码
name: that.saleInsuredInfo.name //姓名
name: that.saleInsuredInfo.name, //姓名
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
// })
// new Promise(resolve => {
// console.log('--跳过人脸识别--返回识别成功')
// resolve(JSON.stringify({ state: '1' }))
}).then(data => {
}).then((data) => {
if (JSON.parse(data).state == '1') {
if (that.insuredSign.readStatus == '0') {
this.$jump({
@@ -657,7 +661,7 @@ export default {
}
}
// /insure/selfToHuman
underWrite(data).then(res => {
underWrite(data).then((res) => {
this.$toast.clear()
let that = this
if (res.result == '0') {
@@ -747,7 +751,7 @@ export default {
let data = {
orderNo: window.localStorage.getItem('orderNo')
}
getOrderDetail(data).then(res => {
getOrderDetail(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.$utils.intLocalStorage(res)
@@ -767,7 +771,7 @@ export default {
that.appnt = res.orderDTO.appntDTO
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
res.orderDTO.signDTOS.map(item => {
res.orderDTO.signDTOS.map((item) => {
if (item.signType == '0') {
that.appntSign = item
} else if (item.signType == '1') {
@@ -791,7 +795,7 @@ export default {
message: '加载中……'
})
let data = {}
getSignInvalid(data).then(res => {
getSignInvalid(data).then((res) => {
if (res.result == '0') {
this.$toast.clear()
this.signInvalid = res.content.sign
@@ -813,7 +817,7 @@ export default {
sign: signInvalid
}
return new Promise((resolve, reject) => {
checkSignInvalid(data).then(res => {
checkSignInvalid(data).then((res) => {
if (res.result == '0') {
that.$toast.clear()
let status = res.content.status

View File

@@ -1087,7 +1087,7 @@
that.signVal = window.localStorage.getItem('sign-val')
// 判断是不是万能险
let comment = window.localStorage.getItem('productCode')
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080') {
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080'|| comment == 'GFRS_M0100') {
this.isComment = true
}
// 获取投保人信息

View File

@@ -38,6 +38,17 @@
</van-button>
</div>
</div>
<van-dialog v-model="specialAgreementShow" :showConfirmButton="false">
<div slot="title">
<p style="font-weight: 600">特别约定</p>
</div>
<div style="padding: 20px 30px 10px;font-size: 14px;">
<div style="line-height: 25px;text-indent: 2em;">{{riskName}}合同有效的情况下投保单号/保单号{{ associatedPolicyNo }}的生产类保险金及现金红利如有自动转为{{riskName}}的保险费</div>
</div>
<div style="text-align: center;margin-bottom: 15px;">
<van-button plain type="primary" color="#1989fa" style="padding:0px 35px;font-size: 14px;" @click="specialAgreementShow = false">本人已阅读并通义上述特别约定内容</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -63,6 +74,11 @@
chaoluButtonDisabled: true,
chaoluStatus: false,
productType: '',
specialAgreementShow: false,
associatedPolicyNo: null,
chooseProductCodes: null,
riskName: null,
isFirstRead: null,
}
},
components: {
@@ -72,6 +88,13 @@
[NoticeBar.name]: NoticeBar
},
created(){
this.associatedPolicyNo = window.localStorage.getItem('associatedPolicyNo')
this.riskName = window.localStorage.getItem('riskName')
this.chooseProductCodes = window.localStorage.getItem('chooseProductCodes') && JSON.parse(window.localStorage.getItem('chooseProductCodes'))
if(window.localStorage.getItem('isFirstRead') && window.localStorage.getItem('isFirstRead') == '1' && this.associatedPolicyNo && this.associatedPolicyNo != 'null' && this.chooseProductCodes && this.chooseProductCodes.includes('GFRS_M0098')){
window.localStorage.setItem('isFirstRead', '0')
this.specialAgreementShow = true
}
if(this.$route.query.currentIndex){
this.Time = true
this.isPreview = true
@@ -222,6 +245,7 @@
window.localStorage.setItem('insuredSignFile',JSON.stringify(this.fileList))
}
if(this.fileList[this.current - 1].documentCode == '5') {
window.localStorage.setItem('isFirstRead', '1')
this.$router.push({
path: '/sale/SignatureConfirmation',
query: {

View File

@@ -1,18 +1,12 @@
<template>
<div class='insuranceInformation-container' style="padding: 15px;">
<div style="display: flex;align-items: center;font-weight: bold;" class="fs20">
<span style="width: 3px;background: red;height: 25px;"></span>
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px;">
投保{{signName}}
</span>
<span v-if="signVal == '1'" style="margin-left: 5px;">
被保险人{{signName}}
</span>
<span v-if="signVal == '3'" style="margin-left: 5px;">
代理人{{signName}}
</span>
<div class="insuranceInformation-container" style="padding: 15px">
<div style="display: flex; align-items: center; font-weight: bold" class="fs20">
<span style="width: 3px; background: red; height: 25px"></span>
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px"> 投保人{{ signName }} </span>
<span v-if="signVal == '1'" style="margin-left: 5px"> 被保险{{ signName }} </span>
<span v-if="signVal == '3'" style="margin-left: 5px"> 代理人{{ signName }} </span>
</div>
<div style="margin-top: 15px;font-weight: bold;line-height: 32px;font-size: 16px;" class="fs20">
<div style="margin-top: 15px; font-weight: bold; line-height: 32px; font-size: 16px" class="fs20">
<span v-if="signVal == '3'">
1.接下来您作为代理人将进行投保文件的签字请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义确定投保单各项信息准确无误签字完成并成功提交说明您正式向我司提交投保申请
</span>
@@ -26,208 +20,209 @@
1.接下来您作为被保险人/监护人将进行投保文件的签字请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义确定投保单各项信息准确无误签字完成并成功提交说明您正式向我司提交投保申请
</span>
</div>
<div style="border-bottom: 1px dashed #eee;padding-bottom: 15px;margin-top: 15px;">
<p style="font-size: 16px;font-weight: bold;">2.您将为以下文件进行统一签名</p>
<div v-for="item in fileList" style="margin-top: 15px;display: flex;justify-content: space-between;">
<span style="font-size: 16px;color: red;opacity: 0.7;width: 60%;display: inline-block;">{{item.name}}</span>
<span v-if="signstatus == '1'" style="display: flex;align-items: center;display: inline-block;width: 40%;">
<img :src="src" style="margin-left: 15px;width: 16px;"/>
<span style="font-size: 16px;color: #03ceaf;margin-left: 10px;">签署完成</span>
<div style="border-bottom: 1px dashed #eee; padding-bottom: 15px; margin-top: 15px">
<p style="font-size: 16px; font-weight: bold">2.您将为以下文件进行统一签名</p>
<div v-for="item in fileList" style="margin-top: 15px; display: flex; justify-content: space-between">
<span style="font-size: 16px; color: red; opacity: 0.7; width: 60%; display: inline-block">{{ item.name }}</span>
<span v-if="signstatus == '1'" style="display: flex; align-items: center; display: inline-block; width: 40%">
<img :src="src" style="margin-left: 15px; width: 16px" />
<span style="font-size: 16px; color: #03ceaf; margin-left: 10px">签署完成</span>
</span>
</div>
</div>
<div style="margin-top: 15px;display: flex;align-items: center;" class="fs20">
<span v-if="signVal == '3'" style="font-size: 16px;font-weight: bold;">代理人签名</span>
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px;font-weight: bold;">投保人签名</span>
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px;font-weight: bold;">被保险人签名</span>
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 16px;font-weight: bold;">被保险人/监护人签名</span>
<van-button type="danger" size="small" round style="margin-left: 20px;height: 32px;font-size: 16px;" @click="gosign" class="fs20">
{{signstatus ? '重新签名' : '签名'}}
<div style="margin-top: 15px; display: flex; align-items: center" class="fs20">
<span v-if="signVal == '3'" style="font-size: 16px; font-weight: bold">代理人签名</span>
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px; font-weight: bold">投保人签名</span>
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px; font-weight: bold">被保险人签名</span>
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 16px; font-weight: bold">被保险人/监护人签名</span>
<van-button type="danger" size="small" round style="margin-left: 20px; height: 32px; font-size: 16px" @click="gosign" class="fs20">
{{ signstatus ? '重新签名' : '签名' }}
</van-button>
</div>
<div>
<img v-if="signstatus" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
<img v-if="signstatus" :src="signImgUrl" style="height: 34px; margin-left: 20px; width: auto" />
</div>
<div class='bg-white bottom-btn'>
<van-button :disabled="nextDisabled" type='danger' size='normal' style="font-size: 16px;" block v-no-more-click='1000' @click="gonext">
<div class="bg-white bottom-btn">
<van-button :disabled="nextDisabled" type="danger" size="normal" style="font-size: 16px" block v-no-more-click="1000" @click="gonext">
完成阅读并签署
</van-button>
</div>
<van-dialog v-model="guardianshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">监护人姓名</p>
<p style="color: #e9332e">监护人姓名</p>
</div>
<div class="guardianContent" style="padding: 20px 30px 30px;font-size: 14px;">
<van-field v-model="guardianName" label="" name="监护人姓名" placeholder="请输入"/>
<div class="guardianContent" style="padding: 20px 30px 30px; font-size: 14px">
<van-field v-model="guardianName" label="" name="监护人姓名" placeholder="请输入" />
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="gosign">确定</van-button>
<div style="text-align: center; margin-bottom: 30px">
<van-button round type="danger" size="small" style="padding: 0px 35px; font-size: 14px" @click="gosign">确定</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import { saveInformation } from '@/api/ebiz/sale/sale'
import isChoose from '@/assets/images/u20257.png'
export default {
data() {
return {
src: isChoose,
fileList:[],
signImgUrl:'data:image/gif;base64,',
signstatus: false,
signVal: '',
signName: '',
insuredAge: '',
guardianshow: false,
guardianName: '',
nextDisabled:true,
}
},
components: {},
created(){
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
import { saveInformation } from '@/api/ebiz/sale/sale'
import isChoose from '@/assets/images/u20257.png'
export default {
data() {
return {
src: isChoose,
fileList: [],
signImgUrl: 'data:image/gif;base64,',
signstatus: false,
signVal: '',
signName: '',
insuredAge: '',
guardianshow: false,
guardianName: '',
nextDisabled: true
}
},
components: {},
created() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
},
mounted() {
this.signVal = window.localStorage.getItem('sign-val')
this.insuredAge = window.localStorage.getItem('insuredAge')
document.body.style.backgroundColor = '#fff'
let thisfilelist = ''
if (this.signVal == '3') {
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
this.signName = window.localStorage.getItem('recmdName')
} else if (this.signVal == '0' || this.signVal == '2') {
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
this.signName = window.localStorage.getItem('appntName')
} else if (this.signVal == '1') {
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
this.signName = window.localStorage.getItem('insuredName')
}
console.log(thisfilelist)
thisfilelist.forEach((item) => {
if (item.documentType == '1') {
this.fileList.push({
name: item.documentName,
status: '1'
})
}, 100)
window.appCallBack = this.appCallBack
},
mounted() {
this.signVal = window.localStorage.getItem('sign-val')
this.insuredAge = window.localStorage.getItem('insuredAge')
document.body.style.backgroundColor = '#fff'
let thisfilelist = ''
if(this.signVal == '3') {
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
this.signName = window.localStorage.getItem('recmdName')
} else if(this.signVal == '0' || this.signVal == '2') {
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
this.signName = window.localStorage.getItem('appntName')
} else if(this.signVal == '1') {
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
this.signName = window.localStorage.getItem('insuredName')
}
console.log(thisfilelist)
thisfilelist.forEach(item => {
if(item.documentType == '1') {
this.fileList.push({
name:item.documentName,
status: '1'
})
this.signH5Img = sessionStorage.getItem('signH5Img')
if (JSON.parse(window.sessionStorage.getItem('signH5Img'))) {
if (JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '签名' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val)
this.signstatus = true
this.signImgUrl = this.signImgUrl + JSON.parse(window.sessionStorage.getItem('signH5Img')).val
}
if (window.sessionStorage.getItem('signH5Val')) {
this.nextDisabled = false
}
},
methods: {
gosign() {
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
let signInfo = {
type: '签名',
text: '',
keyWord: ''
}
if (this.signVal == '0' || this.signVal == '2') {
signInfo.text = window.localStorage.getItem('appntName')
signInfo.keyWord = '投保锟斤拷:'
}
if (this.signVal == '1') {
signInfo.text = window.localStorage.getItem('insuredName')
signInfo.keyWord = '被保锟斤拷:'
}
if (this.signVal == '3') {
signInfo.text = window.localStorage.getItem('recmdName')
signInfo.keyWord = '代理锟斤拷:'
}
if (this.insuredAge < 18 && !this.guardianName && this.signVal == '1') {
this.guardianshow = true
} else {
if (this.insuredAge < 18 && this.signVal == '1') {
signInfo.text = this.guardianName
}
window.sessionStorage.setItem('signInfo', JSON.stringify(signInfo))
setTimeout(() => {
window.location.href = this.$mainUrl + '/signH5/1.html?time=' + new Date().getTime()
}, 0)
}
},
gonext() {
let params = {
orderType: 'SIGN_MERGED_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo
},
baseEncryp: window.sessionStorage.getItem('signH5Val'),
signValue: JSON.parse(window.sessionStorage.getItem('signH5Img')).val,
signType: window.localStorage.getItem('sign-val'),
ebizSignDTOS: []
}
}
let thisfilelist = ''
if (this.signVal == '3') {
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
} else if (this.signVal == '0' || this.signVal == '2') {
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
} else if (this.signVal == '1') {
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
}
thisfilelist.forEach((item) => {
if (item.documentType == '1') {
params.orderDTO.ebizSignDTOS.push({
signOrRead: 'sign',
signId: item.signId,
orderNo: this.$route.query.orderNo,
documentCode: item.documentCode,
documentStatus: '3',
documentType: '1',
signType: item.signType
})
}
})
this.signH5Img = sessionStorage.getItem('signH5Img')
if(JSON.parse(window.sessionStorage.getItem('signH5Img'))) {
if(JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '签名' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val)
this.signstatus = true
this.signImgUrl = this.signImgUrl + JSON.parse(window.sessionStorage.getItem('signH5Img')).val
}
if(window.sessionStorage.getItem('signH5Val')){
this.nextDisabled = false
}
},
methods: {
gosign(){
window.localStorage.setItem('orderNo',this.$route.query.orderNo)
let signInfo = {
type:'签名',
text:'',
keyWord: ''
}
if(this.signVal == '0' || this.signVal == '2') {
signInfo.text = window.localStorage.getItem('appntName')
signInfo.keyWord = '投保锟斤拷:'
}
if(this.signVal == '1'){
signInfo.text = window.localStorage.getItem('insuredName')
signInfo.keyWord = '被保锟斤拷:'
}
if(this.signVal == '3') {
signInfo.text = window.localStorage.getItem('recmdName')
signInfo.keyWord = '代理锟斤拷:'
}
if(this.insuredAge < 18 && !this.guardianName && this.signVal == '1') {
this.guardianshow = true
} else {
if(this.insuredAge < 18 && this.signVal == '1') {
signInfo.text = this.guardianName
}
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
window.location.href = this.$mainUrl + '/signH5/1.html'
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
}
},
gonext(){
let params = {
orderType: 'SIGN_MERGED_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo
},
baseEncryp: window.sessionStorage.getItem('signH5Val'),
signValue: JSON.parse(window.sessionStorage.getItem('signH5Img')).val,
signType: window.localStorage.getItem('sign-val'),
ebizSignDTOS: []
}
}
let thisfilelist = ''
if(this.signVal == '3') {
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
} else if(this.signVal == '0' || this.signVal == '2') {
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
} else if(this.signVal == '1') {
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
}
thisfilelist.forEach(item => {
if(item.documentType == '1') {
params.orderDTO.ebizSignDTOS.push({
signOrRead: 'sign',
signId:item.signId,
orderNo: this.$route.query.orderNo,
documentCode: item.documentCode,
documentStatus: '3',
documentType: '1',
signType: item.signType
saveInformation(params).then((res) => {
if (res.result == '0') {
if (window.sessionStorage.getItem('shareUrl')) {
this.$router.push({
path: '/sale/SignatureConfirmation' + window.sessionStorage.getItem('shareUrl')
})
}
})
saveInformation(params).then(res=>{
if(res.result == '0') {
if(window.sessionStorage.getItem('shareUrl')){
this.$router.push({
path: '/sale/SignatureConfirmation'+window.sessionStorage.getItem('shareUrl')
})
} else {
this.$router.push({
path: '/sale/SignatureConfirmation',
query: {
orderNo: this.$route.query.orderNo
}
})
}
} else {
this.$toast(res.resultMessage)
}
})
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (this.videoShow) {
this.$jump({
flag: 'navigation',
extra: {
title: '签名确认',
hiddenRight: '1'
this.$router.push({
path: '/sale/SignatureConfirmation',
query: {
orderNo: this.$route.query.orderNo
}
})
return (this.videoShow = false)
}
return this.$dialog.confirm({
} else {
this.$toast(res.resultMessage)
}
})
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (this.videoShow) {
this.$jump({
flag: 'navigation',
extra: {
title: '签名确认',
hiddenRight: '1'
}
})
return (this.videoShow = false)
}
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '是否确认退出?',
@@ -251,34 +246,30 @@
.catch(() => {
return
})
}
},
},
computed: {
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
window.sessionStorage.removeItem('signH5Img')
window.sessionStorage.removeItem('signH5Val')
window.sessionStorage.removeItem('signInfo')
next()
},
watch: {
}
}
}
},
computed: {},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
window.sessionStorage.removeItem('signH5Img')
window.sessionStorage.removeItem('signH5Val')
window.sessionStorage.removeItem('signInfo')
next()
},
watch: {}
}
</script>
<style lang='scss' scoped>
.guardianContent{
/deep/ .van-cell{
border: 1px solid #eee;
}
<style lang="scss" scoped>
.guardianContent {
/deep/ .van-cell {
border: 1px solid #eee;
}
.fs20{
font-size: 16px;
.van-button__text{
padding: 8px 16px;
}
}
.fs20 {
font-size: 16px;
.van-button__text {
padding: 8px 16px;
}
}
</style>

View File

@@ -15,10 +15,15 @@
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
<van-button type="danger" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000">{{
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
}}</van-button>
}}</van-button>
</van-cell-group>
</van-dialog>
<UploadImageFile :typeface="idcardData.typeface && (faceAuthCount.weixin < smsAuthNum)" :realName="idcardData.idcardName" :idno="idcardData.idcardNumber" @sendimage="sendimage">
<UploadImageFile
:typeface="idcardData.typeface && faceAuthCount.weixin < smsAuthNum"
:realName="idcardData.idcardName"
:idno="idcardData.idcardNumber"
@sendimage="sendimage"
>
</UploadImageFile>
<div class="p60">
<van-button type="danger" @click="uploadComparison" size="large">上传照片与证件照对比</van-button>
@@ -82,7 +87,9 @@ export default {
created() {
if (this.isWeixin) {
this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
window.localStorage.setItem('token', this.$route.query.token)
if (this.$route.query.token) {
window.localStorage.setItem('token', this.$route.query.token)
}
window.localStorage.setItem('policyNo', this.$route.query.policyNo)
this.idcardData.idcardName = JSON.parse(this.$route.query.saleInsuredInfo).name
this.idcardData.idcardNumber = JSON.parse(this.$route.query.saleInsuredInfo).idNo
@@ -120,7 +127,7 @@ export default {
operateCode: this.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
}).then((res) => {
console.log(res)
if (res.result == 0) {
this.sid = res.sessionId
@@ -178,7 +185,7 @@ export default {
this.authCode = null
// eslint-disable-next-line no-unused-vars
return new Promise((resolve, reject) => {
checkPhone(data).then(res => {
checkPhone(data).then((res) => {
if (res.result == '0') {
console.log(res)
this.show = true
@@ -203,7 +210,7 @@ export default {
if (e) {
that.disabled = false
} else {
this.faceAuthCount.weixin++;
this.faceAuthCount.weixin++
if (this.faceAuthCount.weixin >= this.smsAuthNum) {
this.realPeopelCheck()
}
@@ -219,7 +226,7 @@ export default {
},
//根据数据字典 将后端返回的数据渲染到页面中
filterData(dictionary, key, pageData) {
dictionary.forEach(item => {
dictionary.forEach((item) => {
if (pageData[key] == item.id) {
pageData[key + 'Text'] = item.text //渲染页面使用的字段
}
@@ -231,7 +238,7 @@ export default {
let data = {
policyNo: this.$route.query.policyNo
}
getPolicyDetail(data).then(res => {
getPolicyDetail(data).then((res) => {
if (res.result == '0') {
let appntDTO = res.content.appntDTO
let orderInfoDTO = res.content.orderInfoDTO
@@ -249,8 +256,8 @@ export default {
this.filterData(dataDictionary.idType, 'idType', appntDTO)
that.appntDTO = appntDTO
// 被保险人信息
res.content.insuredDTOs.map(insured => {
insured.riskDTOLst.map(risk => {
res.content.insuredDTOs.map((insured) => {
insured.riskDTOLst.map((risk) => {
Number(risk.payIntv)
switch (risk.payIntv) {
case -1:
@@ -287,7 +294,7 @@ export default {
this.filterData(dataDictionary.sex, 'sex', insured)
this.filterData(dataDictionary.idType, 'idType', insured)
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
insured.bnfDTOs.map(bnf => {
insured.bnfDTOs.map((bnf) => {
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
this.filterData(dataDictionary.sex, 'sex', bnf)
this.filterData(dataDictionary.idType, 'idType', bnf)
@@ -307,7 +314,7 @@ export default {
let params = {
contNo: this.$route.query.policyNo
}
getReceiptSign(params).then(res => {
getReceiptSign(params).then((res) => {
if (res.result == '0') {
console.log('res', res)
this.$toast.clear()

View File

@@ -2,17 +2,17 @@
<div class="policy-list-container">
<!--封面-->
<div v-if="showType == 'Cover'" class="mr2 ml2 mb60">
<img style="width: 100%;" src="@/assets/images/gf_wjdc.png" />
<img style="width: 100%" src="@/assets/images/gf_wjdc.png" />
<div class="mt30 mr2 ml2">
<van-button type="danger" style="width: 100%;" @click="clickEnter" :disabled="enterFlag">立即参加</van-button>
<van-button type="danger" style="width: 100%" @click="clickEnter" :disabled="enterFlag">立即参加</van-button>
</div>
</div>
<!-- 数据提交页 -->
<div v-if="showType == 'Detail'" style="margin-top: 10px;" class="mb60">
<div v-if="showType == 'Detail'" style="margin-top: 10px" class="mb60">
<van-row v-for="(item, index) in questionList" :key="index">
<div v-if="item.options">
<van-col span="24" class="pb10 pt10 pl10 pr10 bg-white"> {{ item.orderCode }}.{{ item.title }} </van-col>
<van-col span="24" class="bg-white" style="margin-bottom: 10px;">
<van-col span="24" class="bg-white" style="margin-bottom: 10px">
<van-radio-group v-model="anwerJson[item.orderCode]" class="flex pb10 pt10 pl10 pr10 justify-content-fs">
<van-radio
icon-size="20px"
@@ -33,19 +33,19 @@
<van-field v-if="item.orderCode == '6'" :label="item.title" input-align="right" v-model="anwerJson[item.orderCode]" />
<van-field v-if="item.orderCode == '8'" :label="item.title" maxlength="3" input-align="right" v-model="anwerJson[item.orderCode]" />
</van-col>
<van-col span="24" class="pl10 pr10 bg-white" style="height:2px;"><div style="width: 100%;height: 100%;background-color: #f5f5f5;"></div></van-col>
<van-col span="24" class="pl10 pr10 bg-white" style="height: 2px"><div style="width: 100%; height: 100%; background-color: #f5f5f5"></div></van-col>
</div>
</van-row>
<div class="mt10 mr2 ml2">
<van-button type="danger" style="width: 100%;" @click="submitForm()">提交</van-button>
<van-button type="danger" style="width: 100%" @click="submitForm()">提交</van-button>
</div>
</div>
<!--提交结果页-->
<div v-if="showType == 'Result'" class="mr2 ml2">
<img v-show="resultImgUrl == 'PHYSICAL'" style="width: 100%;" src="@/assets/images/shareSurveyResult.png" />
<img v-show="resultImgUrl != 'PHYSICAL'" style="width: 100%;" src="@/assets/images/shareSurveyResult_1.png" />
<img v-show="resultImgUrl == 'PHYSICAL'" style="width: 100%" src="@/assets/images/shareSurveyResult.png" />
<img v-show="resultImgUrl != 'PHYSICAL'" style="width: 100%" src="@/assets/images/shareSurveyResult_1.png" />
<div class="mt30 mr2 ml2">
<van-button type="danger" style="width: 100%;" @click="closeWXWindow">返回</van-button>
<van-button type="danger" style="width: 100%" @click="closeWXWindow">返回</van-button>
</div>
</div>
<!-- 底部透明 -->
@@ -143,9 +143,9 @@ export default {
// detail 页面
getSurveyQuestionInfo() {
let that = this
getSurveyQuestion(that.surveyDetailReqDTO).then(res => {
getSurveyQuestion(that.surveyDetailReqDTO).then((res) => {
if (res.result == '0') {
that.questionList.map(item => {
that.questionList.map((item) => {
that.anwerJson[item.orderCode + ''] = ''
})
that.questionList = res.content.questionList
@@ -158,7 +158,7 @@ export default {
// 获取代理人信息
getSurveyAgentInfo() {
let that = this
getSurveyAgentInfo(that.surveyAgentInfoReqDTO).then(res => {
getSurveyAgentInfo(that.surveyAgentInfoReqDTO).then((res) => {
if (res.result == '0') {
that.agentInfo = res.content
that.enterFlag = false
@@ -171,7 +171,7 @@ export default {
// 校验是否选择
let that = this
let returnFlag = true
that.questionList.map(item => {
that.questionList.map((item) => {
if (!that.anwerJson[item.orderCode + '']) {
that.$toast('请认真填写问卷的全部内容!')
returnFlag = false
@@ -197,7 +197,7 @@ export default {
that.surveyAnswerReqDTO.agentCode = that.agentInfo.agentCode
that.surveyAnswerReqDTO.agentName = that.agentInfo.name
that.surveyAnswerReqDTO.tableId = that.tableId
saveSurveyAnswer(that.surveyAnswerReqDTO).then(res => {
saveSurveyAnswer(that.surveyAnswerReqDTO).then((res) => {
if (res.result == '0') {
//跳转结果页面
that.resultImgUrl = res.content
@@ -221,7 +221,11 @@ export default {
},
callPhone() {
console.log('callPhone')
window.location.href = 'tel://' + this.agentInfo.mobile
// window.location.href = 'tel://' + this.agentInfo.mobile
EWebBridge.webCallAppInJs('callSystem', {
system: 'tel',
number: this.agentInfo.mobile
})
},
closeWXWindow() {
closeWindow()

View File

@@ -26,7 +26,7 @@
import { Field, CellGroup, Popup, Picker, Checkbox, Area } from 'vant'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
import { getAuthCode } from '@/api/ebiz/sale/sale'
import {AESEncrypt,AESDecrypt} from '@/assets/js/utils/cryptoJsUtil'
import { AESEncrypt, AESDecrypt } from '@/assets/js/utils/cryptoJsUtil'
export default {
name: 'logoutAgent',
components: {
@@ -53,19 +53,24 @@ export default {
}
},
async mounted() {
setTimeout(() => {
EWebBridge.webCallAppInJs('enable_screen_capture', {
enable: false
})
}, 500)
// 获取代理人信息
this.$CacheUtils.setLocItem('cacheTest', JSON.stringify(this.logoutDTO))
console.log(this.$CacheUtils.getLocItem('cacheTest'))
this.$CacheUtils.setSessionItem('cacheTest1', 'nsjdfi')
console.log(this.$CacheUtils.getSessionItem('cacheTest1'))
const res = await getAgentInfo({ '89': '890' })
const res = await getAgentInfo({ 89: '890' })
console.log(res)
if (res.result == 0) {
this.branchType = /^N{1}/.test(res.branchType) ? '1' : '0' //res.branchType 以N打头的是内勤 其他是外勤
if (this.branchType == '0') {
this.logoutDTO.mobile = res.phoneNo
this.codeDisabled = false
} else {
}
} else {
return this.$toast(res.resultMessage)
@@ -96,7 +101,7 @@ export default {
operateCodeType: '0'
}
//获取验证码
getAuthCode(data).then(res => {
getAuthCode(data).then((res) => {
//倒计时
this.timeId = setInterval(() => {
this.countDown--