Compare commits

...

122 Commits

Author SHA1 Message Date
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.lei3
45d2a919b7 feature/【20250124】GBC渠道首页弹窗加滚动条 2025-01-24 14:22:56 +08:00
zhang.lei3
16a1ed80ad Merge branch 'feature/FCRS-875国富人寿鑫管家C款终身寿险(万能型)' into origin/release/【20241230】鑫管家C 2024-12-30 09:59:49 +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
5997c18b7e feat-建议书富贵尊享终身寿险(分红型)添加利益演示提示 2024-10-17 11:29:47 +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
09d3b24c28 建议书预览字体加粗2 2024-10-10 16:48:05 +08:00
dong.ai
dac2ff47f2 建议书预览字体加粗 2024-10-10 16:42:46 +08:00
dong.ai
c2d8a103dc 建议书预览页面添加模块 2024-10-10 16:40:02 +08:00
陈昱达
516de0de16 出单 页面修改
todo
缺少双击之后图片生成
2024-09-24 16:54:23 +08:00
29 changed files with 4699 additions and 3048 deletions

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

@@ -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

@@ -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

@@ -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
})
}
}
}

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>

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

@@ -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

@@ -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

@@ -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

@@ -4,7 +4,7 @@
<div>
<div class="mb50">
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
<div class="white fw500 fs18 div_2">{{mainRiskName}}</div>
<div class="white fw500 fs18 div_2">{{ mainRiskName }}</div>
<van-sticky @scroll="testSticky">
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
@@ -58,7 +58,9 @@
</div>
<div class="risk_body flex text-center table bg_f7fbff" v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">{{ riskItem.amt ? riskItem.amt : '--' }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">
{{ riskItem.amt ? riskItem.amt : '--' }}
</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.insureName }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.payName }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.showPrem ? riskItem.showPrem : '--' }}</div>
@@ -78,11 +80,13 @@
<div v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLstNew" :key="index">
<div class="risk_body flex text-center table bg_f7fbff">
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.pensionAge}} 周岁</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.receivePensionWay == '0' ? '年领':'月领'}}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear}} </div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.pensionAge }} 周岁</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
{{ riskItem.receivePensionWay == '0' ? '年领' : '月领' }}
</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear }} </div>
<div v-if="riskItem.receivePensionWay == '0'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
{{ riskItem.amt}}
{{ riskItem.amt }}
</div>
<div v-if="riskItem.receivePensionWay == '1'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
{{ riskItem.amt | fillNumber }}
@@ -91,7 +95,6 @@
</div>
</div>
<div class="h20">&ensp;</div>
</div>
<div class="up_down_div">
@@ -167,7 +170,6 @@
</div>
</div>
</div>
<div class="h20">&ensp;</div>
<div class="up_down_div">
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.riskCheckStatus ? '' : 'img180'" @click="testRiskCheck" />
</div>
@@ -196,7 +198,7 @@
v-for="(moneyItem, index) in pageShowInfo.showInsuredDTO.demoLabel"
:key="index"
>
<div class="text-left" style="width: 75%;">
<div class="text-left" style="width: 75%">
<span>{{ moneyItem.contentLabel }}</span>
</div>
<div class="text-right" v-if="moneyItem.content == 'currentBonus_M'">
@@ -239,15 +241,67 @@
:radios="pageShowInfo.showInsuredDTO.radios"
:value.sync="pageShowInfo.showInsuredDTO.tap"
></select-radio>
<div class="fs12 text-center pb15" style="color: #999999;">拖动按钮查看不同年龄的保单利益</div>
<div class="fs12 text-center pb15" style="color: #999999">拖动按钮查看不同年龄的保单利益</div>
<!-- 国富人寿富贵尊享终身寿险分红型添加利益演示提示 -->
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
<b
>本利益演示基于公司的精算及其他假设不代表公司的历史经营业绩也不代表对公司未来经营业绩的预期保单的红利分配是不确定的红利水平是不保证的在某些年度红利可能为零
</b>
</div>
<div class="div_10"></div>
</div>
<!-- 责任免除 -->
<div class="pt15 pb17 bg-white model_title relative">
<div :class="pageShowType.dutyCheckStatus ? '' : 'hideInfo_hesitate'">
<div class="fs16 color_3A81F6 lh24 fw600 text-center">责任免除</div>
<div class="line_C8DBFB"></div>
<div class="fs14 div_height div_11">
<b>
因下列情形之一导致被保险人身故或全残的我们不承担给付保险金的责任<br />
投保人对被保险人的故意杀害故意伤害<br />
被保险人故意犯罪或者抗拒依法采取的刑事强制措施<br />
被保险人故意自伤或自保险合同成立或者保险合同效力恢复之日起2年内自杀但被保险人自杀时为无民事行为能力人的除外<br />
被保险人服用吸食或注射毒品<br />
被保险人酒后驾驶无合法有效驾驶证驾驶或驾驶无合法有效行驶证的机动车<br />
战争军事冲突暴乱或武装叛乱<br />
核爆炸核辐射或核污染<br />
发生上述第一项情形导致被保险人身故的保险合同终止我们向被保险人的继承人除投保人本人外退还保险合同的现金价值<br />
发生上述第一项情形导致被保险人全残的保险合同终止我们向被保险人退还保险合同的现金价值<br />
发生上述其他情形导致被保险人身故或全残的保险合同终止我们向您退还保险合同的现金价值
</b>
</div>
<div class="h20">&ensp;</div>
<div class="up_down_div">
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.dutyCheckStatus ? '' : 'img180'" @click="dutyCheck" />
</div>
</div>
</div>
<!-- 犹豫期退保 -->
<div class="pt15 pb17 bg-white relative">
<div :class="pageShowType.hesitateCheckStatus ? '' : 'hideInfo_hesitate'">
<div class="fs16 color_3A81F6 lh24 fw600 text-center">犹豫期退保</div>
<div class="line_C8DBFB"></div>
<div class="fs14 div_height div_11">
<b>自您签收保险合同之日起有15日的犹豫期</b
>在此期间请您认真审视保险合同如果您认为保险合同与您的需求不相符您可以在此期间提出解除保险合同我们将退还您所支付的全部保险费<br />
您在犹豫期后解除保险合同的<b>自我们收到解除合同通知书之日起保险合同终止</b>我们自收到解除合同通知书之日起30日内向您退还保险合同的现金价值
<b>您在犹豫期后解除合同可能会遭受一定损失</b>
</div>
<div class="h20">&ensp;</div>
<div class="up_down_div">
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.hesitateCheckStatus ? '' : 'img180'" @click="hesitateCheck" />
</div>
</div>
</div>
<!-- 温馨提示-->
<div class="pt15 pb17 bg-white model_title">
<div class="fs16 color_3A81F6 lh24 fw600 text-center">温馨提示</div>
<div class="line_C8DBFB"></div>
<div class="fs13 gray div_11">
本资料仅供客户理解产品条款所用有关产品的说明解释承诺或保证如与产品条款不一致均以产品条款为准
<div class="fs13 div_11">
<b> 本资料仅供客户理解产品条款所用有关产品的说明解释承诺或保证如与产品条款不一致均以产品条款为准 </b>
</div>
<div class="div_12"></div>
</div>
@@ -283,18 +337,19 @@
</div>
<div class="div_02">
<div class="text-center div_021">
<div class="text-center div_022">{{mainRiskName}}</div>
<div class="text-center div_022">{{ mainRiskName }}</div>
<!-- 如果没有姓名的话根据性别展示男士或女士 -->
<div class="text-center div_023">尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
<div class="text-center div_023">
尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span
>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}
</div>
</div>
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
</div>
<div class="text-center">
<img @click="showShareType = '01'" class="img_14" src="@/assets/images/proposal/proposal_open.png" />
</div>
<div class="fs12 text-center div_03">
敬呈
</div>
<div class="fs12 text-center div_03">敬呈</div>
</div>
</div>
</template>
@@ -326,7 +381,7 @@ import {
import SelectRadio from '@/components/ebiz/SelectRadio'
import { getDemo, toInsurance, getDemoByProposalNo, share, getSharingToken } from '@/api/ebiz/proposal/proposal.js'
import { funcPermCheck } from '@/api/ebiz/common/common'
import { haveTap, getTapIndex, relevanceByInsure,isAllEqual } from './js/exhibitionMethod.js'
import { haveTap, getTapIndex, relevanceByInsure, isAllEqual } from './js/exhibitionMethod.js'
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
import { weixinShare } from '@/assets/js/utils/wxShare.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
@@ -348,7 +403,9 @@ export default {
dutyShowType: '00',
isFixed: false, // 粘性布局状态
productCheckStatus: true, //产品收展状态
riskCheckStatus: true //责任收展状态
riskCheckStatus: true, //责任收展状态
hesitateCheckStatus: true, // 犹豫期退保
dutyCheckStatus: true // 责任免除
},
// 页面显示详细数据
pageShowInfo: {
@@ -385,9 +442,9 @@ export default {
agent: {},
mainRiskCodes: [],
time: 5,
proposalNo:'',
proposalNo: '',
mainRiskName: '',
ispremshow: true, // 是否展示保额
ispremshow: true // 是否展示保额
}
},
filters: {
@@ -417,8 +474,8 @@ export default {
},
fillNumber(val) {
// 小于10在前面补0
return Number(val*0.085).toFixed(2)
},
return Number(val * 0.085).toFixed(2)
}
},
mounted() {
this.$jump({
@@ -453,7 +510,7 @@ export default {
// init方法在微信端存储token接口请求用此token所以init方法前不要请求接口会影响分享微信功能接口会报token为空
this.init()
//校验当前用户权限
funcPermCheck({}).then(res => {
funcPermCheck({}).then((res) => {
this.isCheck = res.result
})
},
@@ -490,17 +547,21 @@ 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
this.pageShowInfo.showInsuredDTO
this.pageShowInfo.insuredDTOs.map(item => {
this.pageShowInfo.insuredDTOs.map((item) => {
if (item.insuredId == insureId) {
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
if(!item.name){
let sex = item.sex == '0'?'男':'女'
item.name = sex + item.insuredAge+'岁'
if (!item.name) {
let sex = item.sex == '0' ? '男' : '女'
item.name = sex + item.insuredAge + '岁'
}
this.pageShowInfo.showInsuredDTO = item
that.$forceUpdate()
@@ -522,6 +583,12 @@ export default {
testRiskCheck() {
this.pageShowType.riskCheckStatus = !this.pageShowType.riskCheckStatus
},
hesitateCheck() {
this.pageShowType.hesitateCheckStatus = !this.pageShowType.hesitateCheckStatus
},
dutyCheck() {
this.pageShowType.dutyCheckStatus = !this.pageShowType.dutyCheckStatus
},
checkShowDutyType(type) {
this.pageShowType.dutyShowType = type
},
@@ -533,21 +600,21 @@ export default {
}
}
if (this.$route.query.proposalOrderNo) {
this.proposalNo = this.$route.query.proposalOrderNo;
this.proposalNo = this.$route.query.proposalOrderNo
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
this.$CacheUtils.setLocItem('proposalNo',this.$route.query.proposalOrderNo)
this.$CacheUtils.setLocItem('proposalNo', this.$route.query.proposalOrderNo)
}
if (this.isWeixin) {
//在微信端
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
/*this.mainRiskCodes = JSON.parse(this.$route.query.mainRiskCodes)*/
this.$CacheUtils.setLocItem('token',this.$route.query.token)
this.$CacheUtils.setLocItem('token', this.$route.query.token)
let agentResult = await getAgentInfo({}) //调取代理人查询接口
if (agentResult.result == '0') {
let { agent } = this
let { name, phoneNo, certificateInfoList } = agentResult
if (certificateInfoList != null && certificateInfoList != '' && certificateInfoList.length > 0) {
certificateInfoList.forEach(c => {
certificateInfoList.forEach((c) => {
if (c.certificateType == '0') {
agent.certificate = c.certificateNo
}
@@ -574,7 +641,7 @@ export default {
this.agent.name = agentResult.name
}
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
getDemo(params).then(res => {
getDemo(params).then((res) => {
this.formatLocal(res)
})
}
@@ -610,7 +677,7 @@ export default {
}
},
async sharePeople() {
console.log(this.pageShowInfo.insuredDTOs,'this.pageShowInfo.insuredDTOs')
console.log(this.pageShowInfo.insuredDTOs, 'this.pageShowInfo.insuredDTOs')
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
@@ -618,45 +685,46 @@ export default {
}
let reqData = {
mdType: 'm',
monthStr:date.getFullYear() + month
monthStr: date.getFullYear() + month
}
let shareContent;
let shareContent
let resData = await queryPersonal(reqData)
// debugger
//准会员话术改为普通人话术
if(resData.content.length&&resData.content[0].slevel<3){
resData.content[0].sgrade='00'
if (resData.content.length && resData.content[0].slevel < 3) {
resData.content[0].sgrade = '00'
}
if(resData.content.length&&resData.content[0].glevel<3){
resData.content[0].ggrade='00'
if (resData.content.length && resData.content[0].glevel < 3) {
resData.content[0].ggrade = '00'
}
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
if (resData.content.length && resData.content[0].slevel > 0 && resData.content[0].sgrade && resData.content[0].sgrade != '00') {
// if(resData.content[0].slevel<3){
// resData.content[0].sgrade='00'
// }
let sgrade =this.memberConversion(resData.content[0].sgrade);
shareContent='国富双冠精英'+resData.content[0].slevel+'级'+sgrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&resData.content[0].ggrade!='00') {
let sgrade = this.memberConversion(resData.content[0].sgrade)
shareContent = '国富双冠精英' + resData.content[0].slevel + '级' + sgrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
} else if (resData.content.length && resData.content[0].glevel > 0 && resData.content[0].ggrade && resData.content[0].ggrade != '00') {
// if(resData.content[0].glevel<3){
// resData.content[0].ggrade='00'
// }
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
let ggrade = this.memberConversion(resData.content[0].ggrade)
shareContent = '国富桂冠精英' + resData.content[0].glevel + '级' + ggrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
shareContent = this.agent.name + '为您设计的专属保险计划书,请查阅!因为国富,所以民安!'
}
console.log(shareContent,'shareContent')
console.log(shareContent, 'shareContent')
let title
let riskList = [] //所有险种
let riskCodeList = [] //所有险种code
this.pageShowInfo.insuredDTOs.map(item => {
item.mainRisk.map(item01 => {
if (item01.isMainRisk == '0') { //主险
this.pageShowInfo.insuredDTOs.map((item) => {
item.mainRisk.map((item01) => {
if (item01.isMainRisk == '0') {
//主险
riskList.push(item01)
}
})
})
riskList.map(item => {
riskList.map((item) => {
riskCodeList.push(item.riskCode)
})
let sameRisk = isAllEqual(riskCodeList)
@@ -665,17 +733,17 @@ export default {
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(sameRisk){
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= riskList[0].riskName
if (sameRisk) {
if (this.pageShowInfo.insuredDTOs.length > 1) {
title = '家庭保障计划'
} else {
title = riskList[0].riskName
}
}else{
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= '保险产品组合计划'
} else {
if (this.pageShowInfo.insuredDTOs.length > 1) {
title = '家庭保障计划'
} else {
title = '保险产品组合计划'
}
}
let res = await getSharingToken({ shareType: 'proposal_demonstrate' })
@@ -685,7 +753,8 @@ export default {
extra: {
title: title,
content: shareContent,
url: location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
url:
location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
img: this.$assetsUrl + 'images/logo.png'
}
})
@@ -698,7 +767,7 @@ export default {
radioChange(risk) {
let that = this
let key = risk.tap
risk.demoLabel.forEach(demo => {
risk.demoLabel.forEach((demo) => {
let result = haveTap(demo.content, '_')
if (result) {
let index = getTapIndex(demo.content, '_') + 1
@@ -727,10 +796,15 @@ export default {
this.pageShowInfo.insuredDTOs = res.content.orderDTO.insuredDTOs
this.pageShowInfo.showInsuredDTO = this.pageShowInfo.insuredDTOs[0]
let mainRiskNameList = []
that.pageShowInfo.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
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'
) {
that.ispremshow = false
}
mainRiskNameList.push(item01.riskName)
@@ -742,13 +816,13 @@ export default {
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (mainRiskNameList.length == 1) {
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = mainRiskNameList[0]
}
}else{
} else {
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
@@ -758,16 +832,16 @@ export default {
//投保人年龄
// this.pageShowInfo.appntDTO.age = getAge.getAge(this.pageShowInfo.appntDTO.birthdayLabel, new Date())
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
orderDTO.insuredDTOs.forEach(v => {
orderDTO.insuredDTOs.forEach((v) => {
//根据数据字典 获取当前值
v.age = getAge.getAge(v.birthdayLabel, new Date())
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
if(!v.name){
let sex = v.sex == '0'?'男':'女'
v.name = sex + v.insuredAge+'岁'
if (!v.name) {
let sex = v.sex == '0' ? '男' : '女'
v.name = sex + v.insuredAge + '岁'
}
v.riskDTOLstNew = []
v.riskDTOLst.forEach(risk => {
v.riskDTOLst.forEach((risk) => {
if (risk.isMainRisk == '0') {
that.mainRiskCodes.push(risk.riskCode)
}
@@ -787,11 +861,11 @@ export default {
risk.payName = risk.payEndYear + '年'
}
} else {
risk.payName = '交至' + risk.payEndYear + '周岁'
risk.payName = '交至' + risk.payEndYear + '周岁'
}
// todo责任显示处理
if(risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061'){
v.riskDTOLstNew.push(risk)
if (risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061') {
v.riskDTOLstNew.push(risk)
}
})
})
@@ -803,9 +877,9 @@ export default {
this.insuredDTOs = relevanceByInsure(this.insuredDTOs, insuredLabelResult, insuredResult, insuredInfoResult) //进行数据关联
this.getWXTitle(this.insuredDTOs) //获取微信标题
// 建议书名称
this.insuredDTOs.forEach(item => {
this.insuredDTOs.forEach((item) => {
if (item.riskDTOLst && item.riskDTOLst.length > 0) {
item.riskDTOLst.forEach(ele => {
item.riskDTOLst.forEach((ele) => {
this.chooseProductCodes.push(ele.riskCode)
})
}
@@ -815,7 +889,7 @@ export default {
},
//获取微信分享的标题
getWXTitle(insuredDTOs) {
dataDictionary.riskType.forEach(dataRisk => {
dataDictionary.riskType.forEach((dataRisk) => {
if (insuredDTOs[0].mainRisk[0].riskCode == dataRisk.code) {
this.wxTitle = dataRisk.shortName + '计划书'
}
@@ -830,10 +904,10 @@ export default {
let path = '/sale/insuredInfo?edit=1'
if (this.mainRiskCodes) {
if (this.mainRiskCodes.length === 2) {
let prd26 = this.mainRiskCodes.some(item => {
let prd26 = this.mainRiskCodes.some((item) => {
return item === 'GFRS_M0026'
})
let prd17 = this.mainRiskCodes.some(item => {
let prd17 = this.mainRiskCodes.some((item) => {
return item === 'GFRS_M0017'
})
// 如果选择的产品不是GFRS_M0026&GFRS_M0017弹出提示
@@ -841,7 +915,12 @@ export default {
return Toast.fail('暂不支持组合产品转投保')
}
}
if (this.mainRiskCodes[0] == 'GFRS_M0024' || this.mainRiskCodes[0] == 'GFRS_M0040' || this.mainRiskCodes[0] == 'GFRS_M0044'|| this.mainRiskCodes[0] == 'GFRS_M0051') {
if (
this.mainRiskCodes[0] == 'GFRS_M0024' ||
this.mainRiskCodes[0] == 'GFRS_M0040' ||
this.mainRiskCodes[0] == 'GFRS_M0044' ||
this.mainRiskCodes[0] == 'GFRS_M0051'
) {
let specilFlag = '1'
path = `${path}&specilFlag=${specilFlag}`
let flagPermission = await riskRules.getProductSellPermissionList(this.mainRiskCodes[0], this)
@@ -857,7 +936,7 @@ export default {
proposalNo: this.proposalNo
}
}
toInsurance(params).then(res => {
toInsurance(params).then((res) => {
if (res.result == '0') {
this.$CacheUtils.setLocItem('orderNo', res.content.orderNo)
localStorage.chooseProductCodes = ''
@@ -882,7 +961,7 @@ export default {
this.$forceUpdate() //强制组件更新 解决值更改之后 滑块不滑动的问题
let index = String(value)
if (demoLabel) {
demoLabel.forEach(label => {
demoLabel.forEach((label) => {
label.value = demoValue[index][label.content]
if (label.content == 'currentAge') {
this.pageShowInfo.showInsuredDTO.checkAge = label.value
@@ -922,7 +1001,7 @@ export default {
//点击滑块增加或者减少时调用
slideChange(risk) {
let index = String(risk.sliderValue)
risk.demoLabel.forEach(label => {
risk.demoLabel.forEach((label) => {
label.value = risk.demoValue[index][label.content]
if (label.content == 'currentAge') {
this.pageShowInfo.showInsuredDTO.checkAge = label.value
@@ -944,14 +1023,14 @@ export default {
},
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
async goPDF() {
if(this.$route.query.proposalOrderNo){
if (this.$route.query.proposalOrderNo) {
this.$router.push({
path: '/proposal/pdf',
query: {
proposalOrderNo:this.$route.query.proposalOrderNo
proposalOrderNo: this.$route.query.proposalOrderNo
}
})
}else{
} else {
this.$router.push({ path: '/proposal/pdf' })
}
@@ -996,10 +1075,10 @@ export default {
return values
},
memberConversion(status) {
let text=''
let text = ''
switch (status) {
case '00':
text = '' //准会员不显示
text = '' //准会员不显示
break
case '01':
text = '正式会员'
@@ -1117,6 +1196,10 @@ export default {
height: 60px;
overflow: hidden;
}
.hideInfo_hesitate {
height: 60px;
overflow: hidden;
}
.insured_item {
position: absolute;
z-index: 98;
@@ -1518,6 +1601,9 @@ export default {
line-height: 20px;
margin: 5px 0px;
}
.div_height {
line-height: 24px;
}
.van-button::before {
position: absolute;
top: 50%;

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

@@ -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" />

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--