Commit 3eb69823 authored by 郝聪敏's avatar 郝聪敏

Merge branch 'goods-other' into 'master'

Goods other

See merge request !25
parents ba6fdcf4 3be0e743
<template>
<div id="app">
<router-view />
<div class="loading-container">
<cr-loading v-show="isLoading" class="loading" size="24px">加载中...</cr-loading>
<div class="loading-container" v-show="isLoading">
<cr-loading class="loading" size="24px">加载中...</cr-loading>
</div>
</div>
</template>
......@@ -16,30 +16,30 @@ export default {
...mapActions(["setIsLoading"])
},
mounted() {
console.log(this.isLoading)
console.log(this.isLoading);
}
};
</script>
<style lang="less" scoped>
@import "./style/index.less";
@import "./style/index.less";
.loading-container {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: flex;
justify-content:center;
align-items: center;
.loading {
padding: 6px;
border-radius: 6px;
background-color: rgba(0, 0, 0, 0.5);
.loading-container {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
.loading {
padding: 6px;
border-radius: 6px;
background-color: rgba(0, 0, 0, 0.5);
color: #fff;
@{deep} .cr-loading--text {
color: #fff;
@{deep} .cr-loading--text {
color: #fff;
}
}
}
}
</style>
/* eslint-disable */
/*
* //TODO 后期可以做成json文件,以减小包体积
* @Description: 华贵大麦2020定期寿险
* @Date: 2020-07-27 15:46:37
* @LastEditors: gzw
* @LastEditTime: 2020-07-28 14:57:28
*/
import goodsBg from "@/assets/goods/detail/shouxian/bg.png";
import intro01 from "@/assets/goods/detail/shouxian/intro-01.png";
import intro02 from "@/assets/goods/detail/shouxian/intro-02.png";
import intro03 from "@/assets/goods/detail/shouxian/intro-03.png";
export default {
headerInfo: {
bgSrc: goodsBg,
type: "huagui",
company: "",
title: "大麦2020定期寿险",
insuredNum: 0,
stamp: false
},
introImg: [intro01, intro02, intro03],
companyInfo: [
{ content: "承保公司:华泰财产保险有限公司", offset: false },
{ content: "经营范围:短期健康保险和意外伤害保险", offset: false },
{ content: "备案名称:华泰财险重大疾病保险条款", offset: false },
{ content: "备案编号:C00015431912018061501152;", offset: false }
],
navBarOptions: [
{ label: "产品介绍", value: "intro" },
{ label: "理赔流程", value: "process" },
{ label: "投保须知", value: "notice" },
{ label: "常见问题", value: "qa" }
],
autoCellInfo: [
{ title: "【省心】自动续保,不用担心续保不及时导致保障中断", value: "" },
{ title: "【放心】开通自动续保后,可随时取消", value: "" },
{ title: "【安心】自动续保按费率可自动扣费", value: "" },
{
title: {
needSlot: true,
tpl: " 阅读并同意<a href='javascript:;'>《自动续保服务协议》</a>"
},
value: ""
}
],
planCellInfo: [
{ title: "身故保险金", value: "100%基础保额(最高350万)" },
{ title: "全残保险金", value: "100%基础保额(最高350万)" },
{ title: "投保年龄%赔付)", value: "18~60周岁" },
{ title: "保障期限", value: "保10年/20年/30年" },
{ title: " ", value: "保至60岁/65岁/70岁" }
],
planTipOptions: ["最高350万", "高风险职业可保", "免体检"],
noticeCellInfo: [
{ title: "投保年龄", value: `18~60周岁` },
{ title: "保障期限", value: "保10年/20年/30年/保至60岁/65岁/70岁" },
{ title: "交费期", value: "交5年/交10年/交20年/交30年/一次性交清" },
{ title: "等待期", value: "90天(因意外导致的身故或全残无等待期)" },
{ title: "犹豫期", value: "20天(犹豫期内退保,原额退还保费)" }
],
insuredOptions: [
{ label: "本人", value: "1" },
{ label: "配偶", value: "2" },
{ label: "父母", value: "3" },
{ label: "子女", value: "4" }
],
medicalOptions: [
{ label: "有<small style='color: #999;font-size: 11px'>(含新农合)</small>", value: "1" },
{ label: "", value: "2" }
],
paywayOptions: [
{ label: "月缴<small style='color: #999;font-size: 11px'>(12期)</small>", value: "1" },
{ label: "一次交清", value: "2" }
],
goodActionInfo: {
title: ["155", "元/年起"]
},
goodBuyModalInfo: [
{ title: "首月保费", value: `3元` },
{ title: "次月保费", value: "5.6元/月起(共11期)" }
],
popupArray: [
{
title: "保险条款",
url: "http://mangguo-contract.qthbx.com/huatai-bao-xian-tiao-kuan-v1/"
},
{
title: "健康告知",
url: "http://mangguo-contract.qthbx.com/huatai-jian-kang-gao-zhi-v1/"
},
{
title: "投保须知及声明",
url: "http://mangguo-contract.qthbx.com/huatai-toubaoxuzhi-v1/"
},
{
title: "平台服务协议",
url: "http://mangguo-contract.qthbx.com/fu-wu-xie-yi-v1/"
},
{ title: "保险计划" },
{ title: "理赔信息" },
{ title: "完整费率" },
{
title: "自动续保服务协议",
url: "http://mangguo-contract.qthbx.com/zi-dong-xu-bao-fu-wu-xie-yi-v1/"
}
],
caseInfo: {
name: "吴先生",
info: "46岁 北京 有社保",
list: [
{
title: "投保",
event: "2018年6月29日,吴先生为自己投保了一份万家保·重疾轻症险,保额20万,并续保。"
},
{
title: "投保",
event: "2019年9月16日,吴先生意外烫伤双下肢皮肤,达到浅Ⅲ°烧伤,烧伤面积达20"
},
{
title: "轻症理赔",
event: "2019年9月17日,吴先生后向我司报案,经核实符合该保险中轻症“特定面积Ⅲ度烧伤”的诊断赔付标准,给予4万保险金赔付。"
},
{
title: "重疾理赔",
event: "2020年1月3日,吴先生突发胸痛咯血,后诊断为右肺非小细胞性肺癌,经我司核实后确认为保险责任,一次性给予20万元的重大疾病保险金。"
}
]
},
qaInfo: [
{
q: "这个产品的等待期是多久?",
a: "本产品的等待期为90天,意外及续保无等待期。"
},
{
q: "如果同时购买了其他重疾险,可以赔付2次吗?",
a: "本保险产品为一次性给付型产品,如果您购买的重疾险为一次性给付型或报销型产品,可以和本保险同时申请理赔,获得两份赔偿。如果出险,请拨打华泰财险24小时客服电话4006095509。"
},
{
q: "这款产品提供了哪些保障?",
a: "本产品对人一生中可能罹患的99%以上的100种重大疾病提供保障,同时还有40种轻症保障也包含在内。在保险期间内,被保险人因意外伤害或在等待期后因疾病初次确诊罹患本产品定义的重大疾病或轻症的,即可获得一笔保险补偿。"
},
{
q: "被保险人有哪些限制?",
a: "可以为出生满30天-60周岁(含)身体健康,且符合健康告知提及状况的本人、配偶、子女或父母投保。"
},
{
q: "理赔后是否可以续保?需要重新完成健康告知吗?",
a: "无理赔或者已理赔过轻症的第二年可以续保;已理赔过重症的第二年不可以续保;续保无需重新填写健康告知。"
},
{
q: "如何在华泰官网进行保单验真?",
a: "请登录投保成功短信中提示的华泰官网查询网http://agt.ehuatai.com/nonautoquery/。填写登录信息时,类别选择“家庭财产、意外伤害保险”,保单号在投保成功的短信中,密码填写被保险人身份证号,即可登录查询保单承保信息。"
}
],
processDetail: [
{
title: "电话报案",
desc: "拨打XX健康电话XXXXXXXXXXX 进行报案。"
},
{
title: "准备资料",
desc: `准备化验资料等住院资料`
},
{
title: "提交资料",
desc: `热线客服将向您了解出现情况,介绍所需的申请材料并引导后续理赔流程。您需要安保险公司要求,邮寄相应理赔申请资料原件和身份证、银行储蓄卡复印件等资料。`
},
{
title: "完成理赔",
desc: `我们收到齐全的资料后,简易案件将在10个工作日结案,复杂案件将在30日内结案`
}
],
rateInfo: [
{
title: "按月交费",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60"],
list: [
[
[30.7, 19.5, 23.1, 25.8, 34.3, 51.3, 86.8, 146.4, 252.3, "", ""],
[26.2, 17.2, 21.3, 29.3, 46.4, 75.6, 113.7, 166.6, 229.0, "", ""]
],
[
[20.4, 12.9, 15.3, 17.1, 22.8, 34.1, 57.8, 97.5, 168.1, 285.1, 443.3],
[17.4, 11.4, 14.1, 19.5, 30.8, 50.3, 75.7, 111, 152.6, 210.9, 303.6]
],
[
[10, 6.3, 7.5, 8.4, 11.2, 16.9, 28.7, 48.6, 83.9, 142.4, 221.5],
[8.6, 5.6, 6.9, 9.6, 15.3, 25, 37.7, 55.4, 76.2, 105.3, 151.7]
]
]
},
{
title: "一次交清",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60", "61-65", "66-70", "71-75", "76-80", "81-85", "86-90", "91-95", "96-99"],
list: [
[
[334, 213, 252, 281, 373, 556, 939, 1582, 2724, 4616, 7176, 10505, 15247, 22582, 34031, 49350, 68806, 91974, 120048],
[285, 189, 232, 319, 503, 818, 1229, 1800, 2473, 3416, 4916, 7650, 13398, 21368, 32216, 46892, 64195, 83506, 105165]
],
[
[223, 142, 168, 187, 248, 371, 626, 1055, 1816, 3077, 4784, 7003, 10165, 15055, 22687, 32900, 45871, 61316, 80032],
[190, 126, 155, 213, 335, 545, 819, 1200, 1648, 2277, 3277, 5100, 8932, 14245, 21477, 31261, 42797, 55671, 70110]
],
[
[111, 71, 84, 94, 124, 185, 313, 527, 908, 1539, 2392, 3502, 5082, 7527, 11344, 16450, 22935, 30658, 40016],
[95, 63, 77, 106, 168, 273, 410, 600, 824, 1139, 1639, 2550, 4466, 7123, 10739, 15631, 21398, 27835, 35055]
]
]
}
],
planInfo: [
{
title: "100种重大疾病保险金",
desc:
"<p>重大疾病包括恶性肿瘤、急性心肌梗塞、终末期肾病(或称慢性肾功能衰竭尿毒症期)等100种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种重大疾病,保险人按照保险单中约定的重大疾病保险金额给付重大疾病保险金,同时在本保险合同项下对该被保险人的保险责任终止。</p>",
url: "查看100种重大疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-zhong-ji-v1/",
list: ""
},
{
title: "40种轻症疾病保险金",
desc:
"<p>轻症疾病包括冠状动脉介入手术、非危及生命的(极早期的)恶性病变、轻度中风后遗症等40种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种轻症。保险人按照保险合同中约定的轻症保险金额给付轻症保险金,同时轻症责任终止。轻症保险金仅针对本保险合同约定的轻症进行给付,轻症疾病必须在生前诊断,对于任何身故后的尸检诊断不给付轻症疾病保险金。对于已经符合重大疾病保险金给付条件的,仅给付重大疾病保险金,不再给付轻症保险金。</p>",
url: "查看40种轻症疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-qing-zheng-v1/",
list:""
},
{
title: "保额说明",
desc: `
<p><strong>重疾30万保额:</strong></p>
<p>30天~50周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾20万保额:</strong></p>
<p>30天~60周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾10万保额:</strong></p>
<p>
30天~60周岁可投保,可逐年续保至99周岁。</p>
`
}
]
};
......@@ -4,10 +4,10 @@
* @Description:华太30万轻重疾险
* @Date: 2020-07-27 15:46:37
* @LastEditors: gzw
* @LastEditTime: 2020-07-27 16:42:22
* @LastEditTime: 2020-07-28 15:16:47
*/
import goodsBg01 from "@/assets/goods/detail/bg-zhongjixian.png";
import goodsBg from "@/assets/goods/detail/zhongjixian/bg.png";
import intro01 from "@/assets/goods/detail/zhongjixian/intro-01.png";
import intro02 from "@/assets/goods/detail/zhongjixian/intro-02.png";
import intro03 from "@/assets/goods/detail/zhongjixian/intro-03.png";
......@@ -15,7 +15,7 @@ import intro04 from "@/assets/goods/detail/zhongjixian/intro-04.png";
export default {
headerInfo: {
bgSrc: goodsBg01,
bgSrc: goodsBg,
type: "huatai",
company: "华泰财险",
title: "30万重疾轻症保障",
......@@ -52,6 +52,26 @@ export default {
value: ""
}
],
planCellInfo: {
"3": [
{ title: "100种重大疾病医疗保险金", value: "30万" },
{ title: "40种轻症保险金", value: "6万" },
{ title: "投保年龄", value: "30天~50周岁" },
{ title: "保险期限", value: "1年" }
],
"2": [
{ title: "100种重大疾病医疗保险金", value: "20万" },
{ title: "40种轻症保险金", value: "4万" },
{ title: "投保年龄", value: "30天~60周岁" },
{ title: "保险期限", value: "1年" }
],
"1": [
{ title: "100种重大疾病医疗保险金", value: "10万" },
{ title: "40种轻症保险金", value: "2万" },
{ title: "投保年龄", value: "30天~60周岁" },
{ title: "保险期限", value: "1年" }
]
},
planTipOptions: ["轻症赔付后,重疾保障继续有效", "可逐年续保至99岁"],
planOptions: [
{ label: "30万", value: "3" },
......@@ -68,6 +88,55 @@ export default {
{ label: "月缴<small style='color: #999;font-size: 11px'>(12期)</small>", value: "1" },
{ label: "一次交清", value: "2" }
],
goodActionInfo: {
title: ["3", "", "首月"],
sub: "次月5.6元/月起"
},
goodBuyModalInfo: [
{ title: "首月保费", value: `3元` },
{ title: "次月保费", value: "5.6元/月起(共11期)" }
],
noticeCellInfo: {
"3": [
{ title: "投保年龄", value: `30天~50周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
],
"2": [
{ title: "投保年龄", value: `30天~60周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
],
"1": [
{ title: "投保年龄", value: `30天~60周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
]
},
popupArray: [
{
title: "保险条款",
......@@ -207,8 +276,7 @@ export default {
"<p>重大疾病包括恶性肿瘤、急性心肌梗塞、终末期肾病(或称慢性肾功能衰竭尿毒症期)等100种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种重大疾病,保险人按照保险单中约定的重大疾病保险金额给付重大疾病保险金,同时在本保险合同项下对该被保险人的保险责任终止。</p>",
url: "查看100种重大疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-zhong-ji-v1/",
list:
"<ul><li>1 恶性肿瘤</li><li>2 急性心肌梗塞</li><li>3 脑中风后遗症</li><li>4 重大器官移植术或造血干细胞移植术</li><li>5 冠状动脉搭桥术(或称冠状动脉旁路移植术)</li><li>6 终末期肾病(或称慢性肾功能衰竭尿毒症期)</li><li>7 多个肢体缺失</li><li>8 急性或亚急性重症肝炎</li><li>9 良性脑肿瘤</li><li>10 慢性肝功能衰竭失代偿期</li><li>11 脑炎后遗症或脑膜炎后遗症</li><li>12 深度昏迷</li><li>13 双耳失聪</li><li>14 双目失明</li><li>15 瘫痪</li><li>16 心脏瓣膜手术</li><li>17 严重阿尔茨海默病</li><li>18 严重脑损伤</li><li>19 严重帕金森病</li><li>20 严重Ⅲ度烧伤</li><li>21 严重原发性肺动脉高压</li><li>22 严重运动神经元病</li><li>23 语言能力丧失</li><li>24 重型再生障碍性贫血</li><li>25 主动脉手术</li><li>26 严重心肌病</li><li>27 严重慢性呼吸功能衰竭</li><li>28 严重多发性硬化</li><li>29 因职业关系导致的人类免疫缺陷病毒(HIV)感染</li><li>30 严重溃疡性结肠炎</li><li>31 严重全身性重症肌无力</li><li>32 严重类风湿性关节炎</li><li>33 脊髓灰质炎</li><li>34 经输血导致的人类免疫缺陷病毒(HIV)感染</li><li>35 严重克隆病</li><li>36 肌营养不良症</li><li>37 破裂脑动脉瘤夹闭手术</li><li>38 严重弥漫性系统性硬皮病</li><li>39 严重冠心病</li><li>40 严重慢性复发性胰腺炎</li><li>41 植物人状态</li><li>42 重症急性坏死性筋膜炎截肢</li><li>43 嗜铬细胞瘤</li><li>44 丝虫感染所致严重象皮病</li><li>45 胰腺移植</li><li>46 特发性慢性肾上腺皮质功能不全</li><li>47 严重心肌炎</li><li>48 慢性肺源性心脏病</li><li>49 严重原发性硬化性胆管炎</li><li>50 慢性自身免疫性肝炎</li><li>51 原发性骨髓纤维化(PMF)</li><li>52 严重骨髓增生不良综合征(MDS)</li><li>53 自体造血干细胞移植</li><li>54 严重感染性心内膜炎</li><li>55 严重急性主动脉夹层血肿</li><li>56 严重慢性缩窄性心包炎</li><li>57 心脏粘液瘤</li><li>58 严重心脏衰竭CRT治疗</li><li>59 完全性房室传导阻滞</li><li>60 风湿热导致的心脏瓣膜病变</li><li>61 多发性大动脉炎旁路移植手术</li><li>62 肺淋巴管肌瘤病</li><li>63 严重肺结节病</li><li>64 非阿尔茨海默病所致严重痴呆</li><li>65 进行性核上性麻痹</li><li>66 克-雅氏病(CJD)</li><li>67 亚急性硬化性全脑炎</li><li>68 进行性多灶性白质脑病</li><li>69 自主生活能力完全丧失</li><li>70 脊髓小脑变性症</li><li>71 神经白塞病</li><li>72 脊髓内肿瘤</li><li>73 横贯性脊髓炎后遗症</li><li>74 脊髓空洞症</li><li>75 脊髓血管病后遗症</li><li>76 开颅手术</li><li>77 系统性红斑狼疮性肾炎尿毒症</li><li>78 1型糖尿病严重并发症</li><li>79 席汉氏综合征</li><li>80 严重强直性脊柱炎</li><li>81 肾髓质囊性病</li><li>82 严重肝豆状核变性(Wilson病)</li><li>83 急性出血坏死性胰腺炎开腹手术</li><li>84 意外导致重度面部烧伤</li><li>85 失去一肢及一眼</li><li>86 溶血性链球菌感染引起的坏疽</li><li>87 器官移植原因导致HIV感染</li><li>88 埃博拉病毒感染</li><li>89 因疾病或外伤导致智力缺陷</li><li>90 严重瑞氏综合征</li><li>91 溶血性尿毒综合征</li><li>92 亚历山大病</li><li>93 室壁瘤切除手术</li><li>94 多处臂丛神经根性撕脱</li><li>95 细菌性脑脊髓膜炎后遗症</li><li>96 婴儿进行性脊肌萎缩症</li><li>97 严重结核性脑膜炎</li><li>98 艾森门格综合症</li><li>99 严重获得性或继发性肺泡蛋白质沉积症</li><li>100 Brugada综合征1 恶性肿瘤</li><li>2 急性心肌梗塞</li><li>3 脑中风后遗症</li><li>4 重大器官移植术或造血干细胞移植术</li><li>5 冠状动脉搭桥术(或称冠状动脉旁路移植术)</li><li>6 终末期肾病(或称慢性肾功能衰竭尿毒症期)</li><li>7 多个肢体缺失</li><li>8 急性或亚急性重症肝炎</li><li>9 良性脑肿瘤</li><li>10 慢性肝功能衰竭失代偿期</li><li>11 脑炎后遗症或脑膜炎后遗症</li><li>12 深度昏迷</li><li>13 双耳失聪</li><li>14 双目失明</li><li>15 瘫痪</li><li>16 心脏瓣膜手术</li><li>17 严重阿尔茨海默病</li><li>18 严重脑损伤</li><li>19 严重帕金森病</li><li>20 严重Ⅲ度烧伤</li><li>21 严重原发性肺动脉高压</li><li>22 严重运动神经元病</li><li>23 语言能力丧失</li><li>24 重型再生障碍性贫血</li><li>25 主动脉手术</li><li>26 严重心肌病</li><li>27 严重慢性呼吸功能衰竭</li><li>28 严重多发性硬化</li><li>29 因职业关系导致的人类免疫缺陷病毒(HIV)感染</li><li>30 严重溃疡性结肠炎</li><li>31 严重全身性重症肌无力</li><li>32 严重类风湿性关节炎</li><li>33 脊髓灰质炎</li><li>34 经输血导致的人类免疫缺陷病毒(HIV)感染</li><li>35 严重克隆病</li><li>36 肌营养不良症</li><li>37 破裂脑动脉瘤夹闭手术</li><li>38 严重弥漫性系统性硬皮病</li><li>39 严重冠心病</li><li>40 严重慢性复发性胰腺炎</li><li>41 植物人状态</li><li>42 重症急性坏死性筋膜炎截肢</li><li>43 嗜铬细胞瘤</li><li>44 丝虫感染所致严重象皮病</li><li>45 胰腺移植</li><li>46 特发性慢性肾上腺皮质功能不全</li><li>47 严重心肌炎</li><li>48 慢性肺源性心脏病</li><li>49 严重原发性硬化性胆管炎</li><li>50 慢性自身免疫性肝炎</li><li>51 原发性骨髓纤维化(PMF)</li><li>52 严重骨髓增生不良综合征(MDS)</li><li>53 自体造血干细胞移植</li><li>54 严重感染性心内膜炎</li><li>55 严重急性主动脉夹层血肿</li><li>56 严重慢性缩窄性心包炎</li><li>57 心脏粘液瘤</li><li>58 严重心脏衰竭CRT治疗</li><li>59 完全性房室传导阻滞</li><li>60 风湿热导致的心脏瓣膜病变</li><li>61 多发性大动脉炎旁路移植手术</li><li>62 肺淋巴管肌瘤病</li><li>63 严重肺结节病</li><li>64 非阿尔茨海默病所致严重痴呆</li><li>65 进行性核上性麻痹</li><li>66 克-雅氏病(CJD)</li><li>67 亚急性硬化性全脑炎</li><li>68 进行性多灶性白质脑病</li><li>69 自主生活能力完全丧失</li><li>70 脊髓小脑变性症</li><li>71 神经白塞病</li><li>72 脊髓内肿瘤</li><li>73 横贯性脊髓炎后遗症</li><li>74 脊髓空洞症</li><li>75 脊髓血管病后遗症</li><li>76 开颅手术</li><li>77 系统性红斑狼疮性肾炎尿毒症</li><li>78 1型糖尿病严重并发症</li><li>79 席汉氏综合征</li><li>80 严重强直性脊柱炎</li><li>81 肾髓质囊性病</li><li>82 严重肝豆状核变性(Wilson病)</li><li>83 急性出血坏死性胰腺炎开腹手术</li><li>84 意外导致重度面部烧伤</li><li>85 失去一肢及一眼</li><li>86 溶血性链球菌感染引起的坏疽</li><li>87 器官移植原因导致HIV感染</li><li>88 埃博拉病毒感染</li><li>89 因疾病或外伤导致智力缺陷</li><li>90 严重瑞氏综合征</li><li>91 溶血性尿毒综合征</li><li>92 亚历山大病</li><li>93 室壁瘤切除手术</li><li>94 多处臂丛神经根性撕脱</li><li>95 细菌性脑脊髓膜炎后遗症</li><li>96 婴儿进行性脊肌萎缩症</li><li>97 严重结核性脑膜炎</li><li>98 艾森门格综合症</li><li>99 严重获得性或继发性肺泡蛋白质沉积症</li><li>100 Brugada综合征</li></ul>"
list: ""
},
{
title: "40种轻症疾病保险金",
......@@ -216,8 +284,7 @@ export default {
"<p>轻症疾病包括冠状动脉介入手术、非危及生命的(极早期的)恶性病变、轻度中风后遗症等40种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种轻症。保险人按照保险合同中约定的轻症保险金额给付轻症保险金,同时轻症责任终止。轻症保险金仅针对本保险合同约定的轻症进行给付,轻症疾病必须在生前诊断,对于任何身故后的尸检诊断不给付轻症疾病保险金。对于已经符合重大疾病保险金给付条件的,仅给付重大疾病保险金,不再给付轻症保险金。</p>",
url: "查看40种轻症疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-qing-zheng-v1/",
list:
"<ul><li>1 极早期恶性肿瘤或恶性病变</li><li>2 不典型的急性心肌梗塞</li><li>3 轻微脑中风</li><li>4 冠状动脉介入手术(非开胸手术)</li><li>5 心脏瓣膜介入手术(非开胸手术)</li><li>6 视力严重受损</li><li>7 主动脉内手术(非开胸手术)</li><li>8 脑垂体瘤、脑囊肿、脑动脉瘤及脑血管瘤</li><li>9 特定面积Ⅲ度烧伤</li><li>10 重度头部外伤</li><li>11 慢性肾功能障碍</li><li>12 单侧肺脏切除</li><li>13 可逆性再生障碍性贫血</li><li>14 人工耳蜗植入术</li><li>15 肝脏手术</li><li>16 角膜移植</li><li>17 单眼失明</li><li>18 继发性肺动脉高压</li><li>19 肾上腺切除术</li><li>20 双侧卵巢或睾丸切除术</li><li>21 微创冠状动脉搭桥手术(或称微创冠状动脉旁路移植术)</li><li>22 特定周围动脉疾病的血管介入治疗</li><li>23 Ⅲ度房室传导阻滞-已放置心脏起搏器</li><li>24 中度瘫痪</li><li>25 中度阿尔兹海默病</li><li>26 早期运动神经元疾病</li><li>27 中度帕金森氏症</li><li>28 胆道重建手术</li><li>29 单个肢体缺失</li><li>30 单侧肾脏切除</li><li>31 于颈动脉进行血管成形术或内膜切除术</li><li>32 心包膜切除术</li><li>33 脑炎或脑膜炎</li><li>34 硬脑膜下血肿手术</li><li>35 严重阻塞性睡眠窒息症</li><li>36 听力严重受损</li><li>37 因意外毁容而施行的面部整形手术</li><li>38 早期肝硬化</li><li>39 昏迷48小时</li><li>40 慢性肺病</li></ul>"
list: ""
},
{
title: "保额说明",
......
/* eslint-disable */
/*
* //TODO 后期可以做成json文件,以减小包体积
* @Description: 泰康600万医疗保障
* @Date: 2020-07-27 15:46:37
* @LastEditors: gzw
* @LastEditTime: 2020-07-28 14:57:18
*/
import goodsBg from "@/assets/goods/detail/yiliaoxian/bg.png";
import intro01 from "@/assets/goods/detail/zhongjixian/intro-01.png";
import intro02 from "@/assets/goods/detail/zhongjixian/intro-02.png";
import intro03 from "@/assets/goods/detail/zhongjixian/intro-03.png";
import intro04 from "@/assets/goods/detail/zhongjixian/intro-04.png";
export default {
headerInfo: {
bgSrc: goodsBg,
type: "taikang",
company: "泰康在线",
title: "600万医疗保障",
sub: "优势介绍|优势介绍|优势介绍|优势介绍",
price: "首月<strong>1</strong>元<small>次月5.6元/月起</small>",
insuredNum: 0,
stamp: true
},
introImg: [intro01, intro02, intro03, intro04],
companyInfo: [
{ content: "承保公司:华泰财产保险有限公司", offset: false },
{ content: "经营范围:短期健康保险和意外伤害保险", offset: false },
{ content: "备案名称:华泰财险重大疾病保险条款", offset: false },
{ content: "备案编号:C00015431912018061501152;", offset: false }
],
navBarOptions: [
{ label: "我要投保", value: "insure" },
{ label: "产品特色", value: "intro" },
{ label: "理赔说明", value: "process" }
],
autoCellInfo: [
{ title: "【省心】自动续保,不用担心续保不及时导致保障中断", value: "" },
{ title: "【放心】开通自动续保后,可随时取消", value: "" },
{ title: "【安心】自动续保按费率可自动扣费", value: "" },
{
title: {
needSlot: true,
tpl: " 阅读并同意<a href='javascript:;'>《自动续保服务协议》</a>"
},
value: ""
}
],
planCellInfo: [
{ title: "100种重大疾病医疗保险金(0免赔额)", value: "600万" },
{ title: "一般医疗保险金(1万免赔额)", value: "300万" },
{ title: "质子重离子医疗保险金(60%赔付)", value: "600万" },
{ title: "意外身故", value: "1万" },
{ title: "意外伤残", value: "1万" },
{ title: "意外住院津贴", value: "100元/天" }
],
planTipOptions: ["垫付医药费", "责任内100%报销", "不限社保"],
insuredOptions: [
{ label: "本人", value: "1" },
{ label: "配偶", value: "2" },
{ label: "父母", value: "3" },
{ label: "子女", value: "4" }
],
medicalOptions: [
{ label: "有<small style='color: #999;font-size: 11px'>(含新农合)</small>", value: "1" },
{ label: "", value: "2" }
],
paywayOptions: [
{ label: "月缴<small style='color: #999;font-size: 11px'>(12期)</small>", value: "1" },
{ label: "一次交清", value: "2" }
],
goodActionInfo: {
title: ["3", "", "首月"],
sub: "次月5.6元/月起"
},
goodBuyModalInfo: [
{ title: "首月保费", value: `3元` },
{ title: "次月保费", value: "5.6元/月起(共11期)" }
],
noticeCellInfo: [
{ title: "投保年龄", value: `30~50周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
],
popupArray: [
{
title: "保险条款",
url: "http://mangguo-contract.qthbx.com/huatai-bao-xian-tiao-kuan-v1/"
},
{
title: "健康告知",
url: "http://mangguo-contract.qthbx.com/huatai-jian-kang-gao-zhi-v1/"
},
{
title: "投保须知及声明",
url: "http://mangguo-contract.qthbx.com/huatai-toubaoxuzhi-v1/"
},
{
title: "平台服务协议",
url: "http://mangguo-contract.qthbx.com/fu-wu-xie-yi-v1/"
},
{ title: "保险计划" },
{ title: "理赔信息" },
{ title: "完整费率" },
{
title: "自动续保服务协议",
url: "http://mangguo-contract.qthbx.com/zi-dong-xu-bao-fu-wu-xie-yi-v1/"
}
],
caseInfo: {
name: "吴先生",
info: "46岁 北京 有社保",
list: [
{
title: "投保",
event: "2018年6月29日,吴先生为自己投保了一份万家保·重疾轻症险,保额20万,并续保。"
},
{
title: "投保",
event: "2019年9月16日,吴先生意外烫伤双下肢皮肤,达到浅Ⅲ°烧伤,烧伤面积达20"
},
{
title: "轻症理赔",
event: "2019年9月17日,吴先生后向我司报案,经核实符合该保险中轻症“特定面积Ⅲ度烧伤”的诊断赔付标准,给予4万保险金赔付。"
},
{
title: "重疾理赔",
event: "2020年1月3日,吴先生突发胸痛咯血,后诊断为右肺非小细胞性肺癌,经我司核实后确认为保险责任,一次性给予20万元的重大疾病保险金。"
}
]
},
qaInfo: [
{
q: "这个产品的等待期是多久?",
a: "本产品的等待期为90天,意外及续保无等待期。"
},
{
q: "如果同时购买了其他重疾险,可以赔付2次吗?",
a: "本保险产品为一次性给付型产品,如果您购买的重疾险为一次性给付型或报销型产品,可以和本保险同时申请理赔,获得两份赔偿。如果出险,请拨打华泰财险24小时客服电话4006095509。"
},
{
q: "这款产品提供了哪些保障?",
a: "本产品对人一生中可能罹患的99%以上的100种重大疾病提供保障,同时还有40种轻症保障也包含在内。在保险期间内,被保险人因意外伤害或在等待期后因疾病初次确诊罹患本产品定义的重大疾病或轻症的,即可获得一笔保险补偿。"
},
{
q: "被保险人有哪些限制?",
a: "可以为出生满30天-60周岁(含)身体健康,且符合健康告知提及状况的本人、配偶、子女或父母投保。"
},
{
q: "理赔后是否可以续保?需要重新完成健康告知吗?",
a: "无理赔或者已理赔过轻症的第二年可以续保;已理赔过重症的第二年不可以续保;续保无需重新填写健康告知。"
},
{
q: "如何在华泰官网进行保单验真?",
a: "请登录投保成功短信中提示的华泰官网查询网http://agt.ehuatai.com/nonautoquery/。填写登录信息时,类别选择“家庭财产、意外伤害保险”,保单号在投保成功的短信中,密码填写被保险人身份证号,即可登录查询保单承保信息。"
}
],
processDetail: [
{
title: "电话报案",
desc: "拨打XX健康电话XXXXXXXXXXX 进行报案。"
},
{
title: "准备资料",
desc: `准备化验资料等住院资料`
},
{
title: "提交资料",
desc: `热线客服将向您了解出现情况,介绍所需的申请材料并引导后续理赔流程。您需要安保险公司要求,邮寄相应理赔申请资料原件和身份证、银行储蓄卡复印件等资料。`
},
{
title: "完成理赔",
desc: `我们收到齐全的资料后,简易案件将在10个工作日结案,复杂案件将在30日内结案`
}
],
rateInfo: [
{
title: "按月交费",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60"],
list: [
[
[30.7, 19.5, 23.1, 25.8, 34.3, 51.3, 86.8, 146.4, 252.3, "", ""],
[26.2, 17.2, 21.3, 29.3, 46.4, 75.6, 113.7, 166.6, 229.0, "", ""]
],
[
[20.4, 12.9, 15.3, 17.1, 22.8, 34.1, 57.8, 97.5, 168.1, 285.1, 443.3],
[17.4, 11.4, 14.1, 19.5, 30.8, 50.3, 75.7, 111, 152.6, 210.9, 303.6]
],
[
[10, 6.3, 7.5, 8.4, 11.2, 16.9, 28.7, 48.6, 83.9, 142.4, 221.5],
[8.6, 5.6, 6.9, 9.6, 15.3, 25, 37.7, 55.4, 76.2, 105.3, 151.7]
]
]
},
{
title: "一次交清",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60", "61-65", "66-70", "71-75", "76-80", "81-85", "86-90", "91-95", "96-99"],
list: [
[
[334, 213, 252, 281, 373, 556, 939, 1582, 2724, 4616, 7176, 10505, 15247, 22582, 34031, 49350, 68806, 91974, 120048],
[285, 189, 232, 319, 503, 818, 1229, 1800, 2473, 3416, 4916, 7650, 13398, 21368, 32216, 46892, 64195, 83506, 105165]
],
[
[223, 142, 168, 187, 248, 371, 626, 1055, 1816, 3077, 4784, 7003, 10165, 15055, 22687, 32900, 45871, 61316, 80032],
[190, 126, 155, 213, 335, 545, 819, 1200, 1648, 2277, 3277, 5100, 8932, 14245, 21477, 31261, 42797, 55671, 70110]
],
[
[111, 71, 84, 94, 124, 185, 313, 527, 908, 1539, 2392, 3502, 5082, 7527, 11344, 16450, 22935, 30658, 40016],
[95, 63, 77, 106, 168, 273, 410, 600, 824, 1139, 1639, 2550, 4466, 7123, 10739, 15631, 21398, 27835, 35055]
]
]
}
],
planInfo: [
{
title: "100种重大疾病保险金",
desc:
"<p>重大疾病包括恶性肿瘤、急性心肌梗塞、终末期肾病(或称慢性肾功能衰竭尿毒症期)等100种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种重大疾病,保险人按照保险单中约定的重大疾病保险金额给付重大疾病保险金,同时在本保险合同项下对该被保险人的保险责任终止。</p>",
url: "查看100种重大疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-zhong-ji-v1/",
list: ""
},
{
title: "40种轻症疾病保险金",
desc:
"<p>轻症疾病包括冠状动脉介入手术、非危及生命的(极早期的)恶性病变、轻度中风后遗症等40种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种轻症。保险人按照保险合同中约定的轻症保险金额给付轻症保险金,同时轻症责任终止。轻症保险金仅针对本保险合同约定的轻症进行给付,轻症疾病必须在生前诊断,对于任何身故后的尸检诊断不给付轻症疾病保险金。对于已经符合重大疾病保险金给付条件的,仅给付重大疾病保险金,不再给付轻症保险金。</p>",
url: "查看40种轻症疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-qing-zheng-v1/",
list: ""
},
{
title: "保额说明",
desc: `
<p><strong>重疾30万保额:</strong></p>
<p>30天~50周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾20万保额:</strong></p>
<p>30天~60周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾10万保额:</strong></p>
<p>
30天~60周岁可投保,可逐年续保至99周岁。</p>
`
}
]
};
/* eslint-disable */
/*
* //TODO 后期可以做成json文件,以减小包体积
* @Description:众安50万意外险
* @Date: 2020-07-27 15:46:37
* @LastEditors: gzw
* @LastEditTime: 2020-07-27 20:32:46
*/
import goodsBg from "@/assets/goods/detail/yiwaixian/bg.png";
import intro01 from "@/assets/goods/detail/zhongjixian/intro-01.png";
import intro02 from "@/assets/goods/detail/zhongjixian/intro-02.png";
import intro03 from "@/assets/goods/detail/zhongjixian/intro-03.png";
import intro04 from "@/assets/goods/detail/zhongjixian/intro-04.png";
export default {
headerInfo: {
bgSrc: goodsBg,
type: "zhongan",
company: "众安保险",
title: "50万意外保障",
sub: "优势介绍|优势介绍|优势介绍|优势介绍",
price: "<strong>350</strong>元/年",
insuredNum: 0,
stamp: true
},
introImg: [intro01, intro02, intro03, intro04],
companyInfo: [
{ content: "承保公司:华泰财产保险有限公司", offset: false },
{ content: "经营范围:短期健康保险和意外伤害保险", offset: false },
{ content: "备案名称:华泰财险重大疾病保险条款", offset: false },
{ content: "华泰财险附加重大疾病轻症综合保险条款;", offset: true },
{ content: "华泰财险附加保险费分期支付条款", offset: true },
{ content: "备案编号:C00015431912018061501152;", offset: false },
{ content: "C00015432622017111500872;", offset: true },
{ content: "C00015431922018061503991", offset: true }
],
navBarOptions: [
{ label: "我要投保", value: "insure" },
{ label: "产品特色", value: "intro" },
{ label: "理赔说明", value: "process" }
],
autoCellInfo: [
{ title: "【省心】自动续保,不用担心续保不及时导致保障中断", value: "" },
{ title: "【放心】开通自动续保后,可随时取消", value: "" },
{ title: "【安心】自动续保按费率可自动扣费", value: "" },
{
title: {
needSlot: true,
tpl: " 阅读并同意<a href='javascript:;'>《自动续保服务协议》</a>"
},
value: ""
}
],
planCellInfo: {
"5": [
{ title: "意外身故", value: "50万" },
{ title: "意外伤残", value: "50万" },
{ title: "猝死", value: "10万" },
{ title: "意外医疗", value: "5万" },
{ title: "意外骨折", value: "1万" },
{ title: "意外住院津贴", value: "200元/天" },
{ title: "意外伤害救火车费用", value: "500元" },
{ title: "", value: "", divider: true },
{ title: "以下原因导致的身故或伤残,获额外保额赔付", value: "", inline: true },
{ title: "乘坐客运民航飞机", value: " 300万" },
{ title: "乘坐客运机动车(含出租车、网约车)", value: "50万" },
{ title: "乘坐他人驾驶非营运机动车(含私家车)", value: "50万" },
{ title: "乘坐客运轮船", value: "80万" },
{ title: "乘坐客运轨道交通车辆", value: "80万" },
{ title: "公共场所个人责任", value: "10万" },
{ title: "新冠肺炎", value: "20万" }
],
"2": [
{ title: "100种重大疾病医疗保险金", value: "20万" },
{ title: "40种轻症保险金", value: "4万" },
{ title: "投保年龄", value: "30天~60周岁" },
{ title: "保险期限", value: "1年" }
]
},
planTipOptions: ["垫付医药费", "责任内100%报销", "不限社保"],
planOptions: [
{ label: "50万", value: "5" },
{ label: "20万", value: "2" }
],
insuredOptions: [
{ label: "本人", value: "1" },
{ label: "配偶", value: "2" },
{ label: "父母", value: "3" },
{ label: "子女", value: "4" }
],
paywayOptions: [
{ label: "月缴<small style='color: #999;font-size: 11px'>(12期)</small>", value: "1" },
{ label: "一次交清", value: "2" }
],
goodActionInfo: {
title: ["350", "元/年", ""]
},
goodBuyModalInfo: [
{ title: "首月保费", value: `3元` },
{ title: "次月保费", value: "5.6元/月起(共11期)" }
],
noticeCellInfo: {
"5": [
{ title: "投保年龄", value: `30~50周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
],
"2": [
{ title: "投保年龄", value: `30~60周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
]
},
popupArray: [
{
title: "保险条款",
url: "http://mangguo-contract.qthbx.com/huatai-bao-xian-tiao-kuan-v1/"
},
{
title: "健康告知",
url: "http://mangguo-contract.qthbx.com/huatai-jian-kang-gao-zhi-v1/"
},
{
title: "投保须知及声明",
url: "http://mangguo-contract.qthbx.com/huatai-toubaoxuzhi-v1/"
},
{
title: "平台服务协议",
url: "http://mangguo-contract.qthbx.com/fu-wu-xie-yi-v1/"
},
{ title: "保险计划" },
{ title: "理赔信息" },
{ title: "完整费率" },
{
title: "自动续保服务协议",
url: "http://mangguo-contract.qthbx.com/zi-dong-xu-bao-fu-wu-xie-yi-v1/"
}
],
caseInfo: {
name: "吴先生",
info: "46岁 北京 有社保",
list: [
{
title: "投保",
event: "2018年6月29日,吴先生为自己投保了一份万家保·重疾轻症险,保额20万,并续保。"
},
{
title: "投保",
event: "2019年9月16日,吴先生意外烫伤双下肢皮肤,达到浅Ⅲ°烧伤,烧伤面积达20"
},
{
title: "轻症理赔",
event: "2019年9月17日,吴先生后向我司报案,经核实符合该保险中轻症“特定面积Ⅲ度烧伤”的诊断赔付标准,给予4万保险金赔付。"
},
{
title: "重疾理赔",
event: "2020年1月3日,吴先生突发胸痛咯血,后诊断为右肺非小细胞性肺癌,经我司核实后确认为保险责任,一次性给予20万元的重大疾病保险金。"
}
]
},
qaInfo: [
{
q: "这个产品的等待期是多久?",
a: "本产品的等待期为90天,意外及续保无等待期。"
},
{
q: "如果同时购买了其他重疾险,可以赔付2次吗?",
a: "本保险产品为一次性给付型产品,如果您购买的重疾险为一次性给付型或报销型产品,可以和本保险同时申请理赔,获得两份赔偿。如果出险,请拨打华泰财险24小时客服电话4006095509。"
},
{
q: "这款产品提供了哪些保障?",
a: "本产品对人一生中可能罹患的99%以上的100种重大疾病提供保障,同时还有40种轻症保障也包含在内。在保险期间内,被保险人因意外伤害或在等待期后因疾病初次确诊罹患本产品定义的重大疾病或轻症的,即可获得一笔保险补偿。"
},
{
q: "被保险人有哪些限制?",
a: "可以为出生满30天-60周岁(含)身体健康,且符合健康告知提及状况的本人、配偶、子女或父母投保。"
},
{
q: "理赔后是否可以续保?需要重新完成健康告知吗?",
a: "无理赔或者已理赔过轻症的第二年可以续保;已理赔过重症的第二年不可以续保;续保无需重新填写健康告知。"
},
{
q: "如何在华泰官网进行保单验真?",
a: "请登录投保成功短信中提示的华泰官网查询网http://agt.ehuatai.com/nonautoquery/。填写登录信息时,类别选择“家庭财产、意外伤害保险”,保单号在投保成功的短信中,密码填写被保险人身份证号,即可登录查询保单承保信息。"
}
],
processDetail: [
{
title: "电话报案",
desc: "请拨打华泰财险400-609-5509进行报案。华泰财险会有理赔专员1对1指导理赔事宜。 "
},
{
title: "准备材料",
desc: `1、索赔申请书;<br />
2、保险单或保险凭证复印件;(电子保单,不需要纸质);<br />
3、被保险人身份证正反面复印件;<br />
4、有关部门出具的事故经过说明,如涉及交通事故,需提供交通事故责任认定书、被保险人驾驶证正副页复印件、机动车行驶证正副页复印件;涉及安全生产事故的,提供安全监管部门出具的调查报告;涉及特种作业的,提供被保险人特种作业操作证;<br />
5、医疗发票、医疗明细清单、门急诊病历、住院病历、病历检查报告等原件(若社保先报销则提供医疗费用分割单);<br />
6、其他与确认保险事故性质、原因、损失程度等有关的证明或材料。<br />
`
},
{
title: "理赔付款",
desc: `1、转账方式直接支付给被保险人;<br />
2、若被保险人身故的,则转账支付给指定受益人或法定受益人。`
}
],
rateInfo: [
{
title: "按月交费",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60"],
list: [
[
[30.7, 19.5, 23.1, 25.8, 34.3, 51.3, 86.8, 146.4, 252.3, "", ""],
[26.2, 17.2, 21.3, 29.3, 46.4, 75.6, 113.7, 166.6, 229.0, "", ""]
],
[
[20.4, 12.9, 15.3, 17.1, 22.8, 34.1, 57.8, 97.5, 168.1, 285.1, 443.3],
[17.4, 11.4, 14.1, 19.5, 30.8, 50.3, 75.7, 111, 152.6, 210.9, 303.6]
],
[
[10, 6.3, 7.5, 8.4, 11.2, 16.9, 28.7, 48.6, 83.9, 142.4, 221.5],
[8.6, 5.6, 6.9, 9.6, 15.3, 25, 37.7, 55.4, 76.2, 105.3, 151.7]
]
]
},
{
title: "一次交清",
age: ["0-1", "2-17", "18-20", "21-25", "26-30", "31-35", "36-40", "41-45", "46-50", "51-55", "56-60", "61-65", "66-70", "71-75", "76-80", "81-85", "86-90", "91-95", "96-99"],
list: [
[
[334, 213, 252, 281, 373, 556, 939, 1582, 2724, 4616, 7176, 10505, 15247, 22582, 34031, 49350, 68806, 91974, 120048],
[285, 189, 232, 319, 503, 818, 1229, 1800, 2473, 3416, 4916, 7650, 13398, 21368, 32216, 46892, 64195, 83506, 105165]
],
[
[223, 142, 168, 187, 248, 371, 626, 1055, 1816, 3077, 4784, 7003, 10165, 15055, 22687, 32900, 45871, 61316, 80032],
[190, 126, 155, 213, 335, 545, 819, 1200, 1648, 2277, 3277, 5100, 8932, 14245, 21477, 31261, 42797, 55671, 70110]
],
[
[111, 71, 84, 94, 124, 185, 313, 527, 908, 1539, 2392, 3502, 5082, 7527, 11344, 16450, 22935, 30658, 40016],
[95, 63, 77, 106, 168, 273, 410, 600, 824, 1139, 1639, 2550, 4466, 7123, 10739, 15631, 21398, 27835, 35055]
]
]
}
],
planInfo: [
{
title: "100种重大疾病保险金",
desc:
"<p>重大疾病包括恶性肿瘤、急性心肌梗塞、终末期肾病(或称慢性肾功能衰竭尿毒症期)等100种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种重大疾病,保险人按照保险单中约定的重大疾病保险金额给付重大疾病保险金,同时在本保险合同项下对该被保险人的保险责任终止。</p>",
url: "查看100种重大疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-zhong-ji-v1/",
list: ""
},
{
title: "40种轻症疾病保险金",
desc:
"<p>轻症疾病包括冠状动脉介入手术、非危及生命的(极早期的)恶性病变、轻度中风后遗症等40种。在等待期(90天,意外伤害事故无等待期)后初次发生并经医院专科医生确诊罹患本合同约定的一种或多种轻症。保险人按照保险合同中约定的轻症保险金额给付轻症保险金,同时轻症责任终止。轻症保险金仅针对本保险合同约定的轻症进行给付,轻症疾病必须在生前诊断,对于任何身故后的尸检诊断不给付轻症疾病保险金。对于已经符合重大疾病保险金给付条件的,仅给付重大疾病保险金,不再给付轻症保险金。</p>",
url: "查看40种轻症疾病",
path: "http://mangguo-contract.qthbx.com/hua-tai-100chong-qing-zheng-v1/",
list: ""
},
{
title: "保额说明",
desc: `
<p><strong>重疾30万保额:</strong></p>
<p>30天~50周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾20万保额:</strong></p>
<p>30天~60周岁可投保,可逐年续保至99周岁。</p>
<p><strong>重疾10万保额:</strong></p>
<p>
30天~60周岁可投保,可逐年续保至99周岁。</p>
`
}
]
};
......@@ -9,13 +9,14 @@ export default [
children: [
{
id: 1,
itype: "mi",
img: good01,
title: "万家保·百万医疗险",
sub: "产品优势",
glory: "好评榜第1名",
price: "0",
unit: "",
allow: false
allow: true
}
]
},
......@@ -25,6 +26,7 @@ export default [
children: [
{
id: 1,
itype: "cii",
img: good02,
title: "万家保·重疾轻症险",
sub: "100种重疾+40种轻症",
......@@ -32,16 +34,6 @@ export default [
price: "3",
unit: "首月",
allow: true
},
{
id: 1,
img: good02,
title: "百年康惠保2.0重大疾病险",
sub: "产品优势",
glory: "",
price: "0",
unit: "",
allow: false
}
]
},
......@@ -51,13 +43,14 @@ export default [
children: [
{
id: 1,
itype: "ai",
img: good03,
title: "万家保·综合意外险",
sub: "产品优势",
glory: "开车必备",
price: "0",
unit: "",
allow: false
allow: true
}
]
},
......@@ -67,13 +60,14 @@ export default [
children: [
{
id: 1,
itype: "li",
img: good04,
title: "华贵大麦2020定期寿险",
sub: "产品优势",
glory: "",
price: "0",
unit: "",
allow: false
allow: true
}
]
}
......
import req from "@/service/http";
// 下单流程
export const placeOrder = {
// 创建保单订单
create: params => {
return req.post("policy_order", params);
},
// 获取订单支付信息
pay: params => {
return req.post("pay/go", params);
},
// 轮询支付结果
polling: params => {
return req.get("pay/result", params);
}
};
import req from "@/service/http";
// 手机号登录
export const loginByPhone = param => {
return req.post("user/login", param);
};
// 信用钱包用户自动登录
export const loginByxyqb = param => {
return req.get("xyqb_user_info", param);
};
// 微信用户获取openid
export const getwxOpenId = param => {
return req.post("wechat/code", param);
};
// 获取短信验证码
export const getCaptchaSms = param => {
return req.post("captcha/sms", param);
};
// 获取图形验证码
export const getCaptchaImg = param => {
return req.post("captcha/image", param);
};
......@@ -11,7 +11,12 @@
:key="index"
:title="item.title.tpl || item.title"
:value="item.value.tpl || item.value"
:class="{ 'compact-cell': 1, 'compact-cell_br': item.value.longTxt }"
:class="{
'compact-cell': 1,
'compact-cell_br': item.value.longTxt,
'compact-cell_divider': item.divider,
'compact-cell_inline': item.inline
}"
@click="cellClick(item)"
>
<template v-if="item.title.needSlot" slot="title">
......@@ -20,6 +25,7 @@
<template v-if="item.value.needSlot">
<div v-html="item.value.tpl"></div>
</template>
<cr-divider :hairline="false" :style="{ color: '#ECE9E9' }" v-if="item.divider" />
</cr-cell>
</cr-cell-group>
</template>
......@@ -71,6 +77,7 @@ export default {
border-radius: @border-radius-md;
padding: @padding-md;
@{deep} .cr-cell {
justify-content: space-between;
&-group {
&::after {
display: none;
......@@ -78,9 +85,11 @@ export default {
}
&__title {
color: @gray-5;
flex: none;
}
&__value {
color: @black;
flex: none;
}
}
}
......@@ -111,5 +120,26 @@ export default {
width: 70%;
}
}
&_divider {
height: 32px;
overflow: initial;
@{deep} .cr-cell__value {
width: 100%;
overflow: initial;
}
.cr-divider {
position: absolute;
top: 0;
left: -15px;
width: calc(100% + 30px);
}
}
&_inline {
@{deep} .cr-cell__title {
color: @gray-4 !important;
font-size: @font-size-12 !important;
margin-bottom: 10px;
}
}
}
</style>
......@@ -7,11 +7,17 @@
</a>
</div>
<div class="good-action-content">
<h6>首月<strong>3</strong></h6>
<small>次月5.6元/月起</small>
<slot>
<h6 v-if="content.title">
{{ content.title[2] || "" }}
<strong>{{ content.title[0] || "" }}</strong>
{{ content.title[1] || "" }}
</h6>
<small v-if="content.sub">{{ content.sub }}</small>
</slot>
</div>
<div class="good-action-right">
<cr-button type="warning" round @click="rightClick">我要投保</cr-button>
<cr-button type="warning" round @click="rightClick" native-type="submit">我要投保</cr-button>
</div>
</div>
</template>
......@@ -40,7 +46,7 @@ export default {
}
},
content: {
type: String,
type: [String, Object],
default: ""
}
},
......
......@@ -53,6 +53,7 @@
}
}
&-img {
position: relative;
img {
display: block;
position: relative;
......
......@@ -93,7 +93,7 @@ export default {
if (!item.allow) {
return;
}
this.$router.push({ path: "/goods/detail", query: { id: item.id } });
this.$router.push({ path: "/goods/detail", query: { id: item.id, type: item.itype } });
}
}
};
......
......@@ -129,7 +129,7 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
padding: @padding-lg;
padding: 0 @padding-lg @padding-lg;
&.split {
.cr-button {
width: 48%;
......
<template>
<div class="picker-wrap">
<div
class="picker-wrap-txt"
:class="{ placeholder: !String(pickerValShow) }"
@click="show = true"
>
{{ pickerValShow || placeholder }}
</div>
<cr-popup v-model="show" position="bottom" get-container="body">
<cr-area ref="area" :list="areaList" @cancel="onCancel" @confirm="onConfirm" />
</cr-popup>
</div>
</template>
<script>
import popupPickerMixin from "../mixins/popupPicker.mixin.js";
import areaList from "@qg/cherry-ui/src/area/demo/china";
export default {
name: "PopupAreaPicker",
mixins: [popupPickerMixin],
data() {
return {
refName: "area",
areaList
};
},
methods: {
handleResult(res) {
let valShow = [];
let val = [];
res.forEach(item => {
valShow.push(item.name);
val.push(item.code);
});
this.pickerValShow = valShow.join(",");
this.pickerVal = val;
}
}
};
</script>
<style lang="less">
.picker-wrap {
width: 100%;
&-txt {
height: 24px;
color: #333;
font-size: 14px;
}
.placeholder {
color: #ccc;
}
}
</style>
<template>
<div class="picker-wrap">
<div
class="picker-wrap-txt"
:class="{ placeholder: !String(pickerValShow) }"
@click="show = true"
>
{{ pickerValShow || placeholder }}
</div>
<cr-popup v-model="show" position="bottom" get-container="body">
<cr-date-picker ref="datepicker" @confirm="onConfirm" @cancel="onCancel" />
</cr-popup>
</div>
</template>
<script>
import popupPickerMixin from "../mixins/popupPicker.mixin.js";
export default {
name: "PopupDatePicker",
mixins: [popupPickerMixin],
data() {
return {
refName: "datepicker"
};
},
methods: {
handleResult(res) {
this.pickerValShow = res;
this.pickerVal = res;
}
}
};
</script>
<style lang="less">
.picker-wrap {
width: 100%;
&-txt {
height: 24px;
color: #333;
font-size: 14px;
}
.placeholder {
color: #ccc;
}
}
</style>
<template>
<div class="picker-wrap">
<div
class="picker-wrap-txt"
:class="{ placeholder: !String(pickerValShow) }"
@click="show = true"
>
{{ pickerValShow || placeholder }}
</div>
<cr-popup v-model="show" position="bottom" get-container="body">
<cr-picker
ref="picker"
:columns="pickerData"
show-toolbar
@cancel="onCancel"
@confirm="onConfirm"
/>
</cr-popup>
</div>
</template>
<script>
import popupPickerMixin from "../mixins/popupPicker.mixin.js";
export default {
name: "PopupPicker",
mixins: [popupPickerMixin],
methods: {
handleResult(res) {
this.pickerValShow = res[0];
this.pickerVal = res[1];
}
}
};
</script>
<style lang="less">
.picker-wrap {
width: 100%;
&-txt {
height: 24px;
color: #333;
font-size: 14px;
}
.placeholder {
color: #ccc;
}
}
</style>
export default {
basicHost: "https://talos-vcc.liangkebang.net"
basicHost: "http://yapi.quantgroups.com/mock/329/",
wxAppId: "wx514de17b23d53a20"
};
export default {
basicHost: "https://talos-vcc.liangkebang.net"
basicHost: "https://talos-vcc.liangkebang.net",
wxAppId: "wx514de17b23d53a20"
};
export default {
props: ["showmodal"],
methods: {
modalClose() {
this.$emit("update:showmodal", false);
}
}
};
/*
* @Description: PopupPicker mixin
* @Date: 2020-07-28 19:46:31
* @LastEditors: gzw
* @LastEditTime: 2020-07-28 20:33:52
*/
// TODO 默认值需要处理
const VALUE_CHANGE_EVENT = "input";
export default {
name: "PopupPicker",
props: {
value: null,
placeholder: {
type: String,
default: "请选择"
},
pickerData: {
type: Array,
default() {
return [];
}
}
},
data() {
return {
show: false,
pickerVal: "",
refreshed: false,
refName: "picker",
pickerValShow: ""
};
},
watch: {
show(val) {
if (val && !this.refreshed) {
this.refreshed = true;
this.$refs[this.refName].refreshColumns();
}
}
// value: {
// immediate: true,
// handler(val) {
// this.pickerValShow = val[0];
// this.pickerVal = val[1];
// }
// }
},
methods: {
onCancel() {
this.show = false;
},
onConfirm(picker, res) {
this.handleResult(res);
this.$emit(VALUE_CHANGE_EVENT, String(this.pickerVal));
this.onCancel();
}
}
};
......@@ -12,7 +12,7 @@ const routes = [
{
path: "/home",
name: "Home",
component: () => import("../views/Home/index.vue")
component: () => import("../views/Home/index.vue")
},
{
path: "/goods",
......@@ -59,6 +59,11 @@ const routes = [
name: "Detail",
component: () => import("../views/Policy/Detail/index.vue")
},
{
path: "/policy/add",
name: "AddPolicy",
component: () => import("../views/Policy/Add/index.vue")
},
{
path: "/policy/payment-record",
name: "PaymentRecord",
......@@ -74,6 +79,11 @@ const routes = [
name: "Introduction",
component: () => import("../views/Introduction/index.vue")
},
{
path: "/paytest",
name: "Introduction",
component: () => import("../views/paytest")
},
{
path: "*",
redirect: "/goods"
......
......@@ -19,7 +19,7 @@ const {
// Uploader,
Notify,
Picker,
// Area,
Area,
// Dialog,
Field,
Checkbox,
......@@ -32,8 +32,8 @@ const {
// CardList,
// Search,
// List,
// Stepper,
// DatePicker,
Stepper,
DatePicker,
// SwipeCell,
Form,
Tabbar,
......@@ -55,12 +55,17 @@ Vue.use(Col);
Vue.use(Popup);
Vue.use(Divider);
Vue.use(Toast);
Vue.use(Notify);
Vue.use(Picker);
Vue.use(Area);
Vue.use(Field);
Vue.use(Checkbox);
Vue.use(Radio);
Vue.use(RadioGroup);
Vue.use(Switch);
Vue.use(Tag);
Vue.use(Stepper);
Vue.use(DatePicker);
Vue.use(Form);
Vue.use(Tabbar);
Vue.use(TabbarItem);
......
......@@ -2,7 +2,8 @@
import store from "@/store";
import axios from "axios";
import cherry from "@qg/cherry-ui";
import config from '../config';
import config from "../config";
// import qs from "qs";
const CancelToken = axios.CancelToken;
const { Notify } = cherry;
......@@ -10,7 +11,7 @@ const { Notify } = cherry;
axios.defaults.baseURL = config.basicHost;
axios.defaults.timeout = 30000;
let cancel;
// let cancel;
let pending = {};
let reqNum = 0;
......@@ -27,7 +28,7 @@ function clearRequest() {
reqNum--;
if (reqNum <= 0) {
store.dispatch("setIsLoading", false);
};
}
}
//请求拦截器
......@@ -36,9 +37,9 @@ axios.interceptors.request.use(
beforeRequest();
//发起请求时,取消掉当前正在进行的相同请求
if (pending[config.url]) {
pending[config.url]('取消重复请求')
pending[config.url]("取消重复请求");
}
config.cancelToken = new CancelToken(c => pending[config.url] = c);
config.cancelToken = new CancelToken(c => (pending[config.url] = c));
return config;
},
......@@ -53,9 +54,10 @@ axios.interceptors.response.use(
afterRequest();
delete pending[response.config.url];
if (response.data.code === 0) {
return response.data.data;
}
Notify({ type: 'danger', message: response.data.msg || '后端服务异常' });
return response.data;
// return response.data.data;
}
Notify({ type: "danger", message: response.data.msg || "后端服务异常" });
},
err => {
if (err && err.response) {
......@@ -100,7 +102,7 @@ axios.interceptors.response.use(
err.message = `连接错误${err.response.status}`;
}
} else {
if (err.message == '操作取消') {
if (err.message == "操作取消") {
err.response = {};
err.response.status = 409;
err.response.data = {};
......@@ -110,10 +112,51 @@ axios.interceptors.response.use(
}
}
Notify({ type: 'danger', message: err.message })
Notify({ type: "danger", message: err.message });
return Promise.resolve(err.response);
}
);
export default axios;
export default {
axios,
//get请求
get(url, params = {}) {
return new Promise((resolve, reject) => {
axios({
method: "get",
// url: url + "?" + qs.stringify(params),
url: url,
params,
headers: {
"Content-Type": "application/json"
}
})
.then(res => {
resolve(res);
})
.catch(e => {
reject(e);
});
});
},
//post请求
post(url, params = {}) {
return new Promise((resolve, reject) => {
axios({
method: "post",
url,
data: params,
headers: {
"Content-Type": "application/json"
}
})
.then(res => {
resolve(res);
})
.catch(e => {
reject(e);
});
});
}
};
/*
* @Description: 支付微信h5, jsapi, 第三方收银台,跳转)
* @Date: 2020-07-28 15:03:52
* @LastEditors: gzw
* @LastEditTime: 2020-07-28 15:20:28
*/
/**
* payByWeixinJsapi
* @description: 微信通过jsapi支付
* 可以在微信浏览器调起支付
* @param {type}
* @return:
*/
export function payByWeixinJsapi() {
function onBridgeReady() {
// eslint-disable-next-line no-undef
WeixinJSBridge.invoke(
"getBrandWCPayRequest",
{
appId: "wx2421b1c4370ec43b", //公众号名称,由商户传入
timeStamp: "1395712654", //时间戳,自1970年以来的秒数
nonceStr: "e61463f8efa94090b1f366cccfbbb444", //随机串
package: "prepay_id=u802345jgfjsdfgsdg888",
signType: "MD5", //微信签名方式:
paySign: "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
// 支付取消
} else {
// 支付失败
}
}
);
}
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", onBridgeReady);
document.attachEvent("onWeixinJSBridgeReady", onBridgeReady);
}
} else {
onBridgeReady();
}
}
/**
* payByWeixinH5
* @description: 微信通过H5支付
* 可以在浏览器调起微信支付
* @param {type}
* @return:
*/
export function payByWeixinH5() {
window.location.href = "";
}
/**
* payByThirdPartyCashier
* @description: 第三方收银台
* @param {type}
* @return:
*/
export function payByThirdPartyCashier() {
window.location.href = "";
}
......@@ -6,7 +6,7 @@ Vue.use(Vuex);
export default new Vuex.Store({
state: {
activeIdx: 0,
isLoading: true
isLoading: false
},
mutations: {
setActiveIdx(state, value) {
......@@ -17,11 +17,11 @@ export default new Vuex.Store({
}
},
actions: {
setActiveIdx({commit}, args) {
commit('setActiveIdx', args)
setActiveIdx({ commit }, args) {
commit("setActiveIdx", args);
},
setIsLoading({commit}, args) {
commit('setIsLoading', args)
setIsLoading({ commit }, args) {
commit("setIsLoading", args);
}
},
modules: {}
......
......@@ -33,6 +33,10 @@ a {
height: @button-large-height !important;
line-height: @button-large-line-height !important;
}
&--small {
height: @button-small-height !important;
line-height: @button-small-line-height !important;
}
}
.cr-tag {
......@@ -82,3 +86,6 @@ a {
}
}
}
.cr-notify {
font-size: @font-size-14;
}
\ No newline at end of file
<template>
<div class="container">
<nav-tab :nav-list="navBarOptions" />
<detail-header @click="goInsureState = true" :det="headerInfo" />
<div class="det-body">
<card title="保险计划" :option="['查看详情']" @option-click="openIframePupop(4)">
<cr-radio-btn v-model="formData.planValue" :radio-data="planOptions" />
<compactCellGroup :cell-data="planCellData" :text-bold="true" />
<plan-tip :tip-list="planTipOptions" />
</card>
<div id="det_insure">
<insure-person-form v-model="formData" :radio-options="personFormOptions" />
<auto-deduct
v-model="formData.auto"
:cell-data="autoCellInfo"
@cell-click="openIframePupop"
/>
<protocol-read
v-model="formData.pact"
:cell-data="noticeCellData"
@cell-click="openIframePupop"
/>
</div>
<card class="intro" id="det_intro">
<cr-image
:src="item"
v-for="(item, index) in introImg"
:key="index"
width="100%"
height="auto"
/>
</card>
<cps-case :case-data="caseInfo" />
<div id="det_process">
<cps-process :process-data="processDetail" @click="openIframePupop(5)" />
</div>
<cps-qa :qa-data="qaInfo" />
</div>
<detail-footer :company-info="companyInfo" />
<copyright />
<good-action @leftClick="goInsureState = true" :content="goodActionInfo" />
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
>
<cps-process-detail v-if="currentPupopIndex === 5" :process-data="processDetail" />
<cps-rate v-if="currentPupopIndex === 6" />
</popup-with-iframe>
<go-insure-dialog
v-model="goInsureState"
:title="headerInfo.title"
:pay-data="goodBuyModalInfo"
/>
</div>
</template>
<script>
/**
* @description: 华太轻重疾险 Critical illness insurance
*/
import CrRadioBtn from "@/components/CrRadioBtn";
import Card from "@/components/Card";
import Copyright from "@/components/Copyright";
import GoodAction from "@/components/GoodAction";
import Collapse from "@/components/Collapse";
import DetailHeader from "./modules/DetailHeader";
import DetailFooter from "./modules/DetailFooter";
import CompactCellGroup from "@/components/CompactCellGroup";
import CpsCase from "./modules/CpsCase";
import CpsProcess from "./modules/CpsProcess";
import CpsQa from "./modules/CpsQA";
import PopupWithIframe from "@/components/PopupWithIframe";
import GoInsureDialog from "./modules/GoInsureDialog";
import CpsProcessDetail from "./modules/CpsProcessDetail";
import CpsRate from "./modules/CpsRate";
import PlanTip from "./modules/PlanTip";
import InsurePersonForm from "./modules/InsurePersonForm";
import AutoDeduct from "./modules/AutoDeduct";
import ProtocolRead from "./modules/ProtocolRead";
import NavTab from "./modules/NavTab";
import Detail from "@/api/detail.zhongan.yiliaobaozhang";
export default {
name: "GoodsDetail-CII",
components: {
DetailHeader,
DetailFooter,
CompactCellGroup,
CrRadioBtn,
Card,
// eslint-disable-next-line
Collapse,
CpsCase,
CpsProcess,
CpsQa,
Copyright,
PopupWithIframe,
GoodAction,
GoInsureDialog,
CpsProcessDetail,
CpsRate,
PlanTip,
InsurePersonForm,
AutoDeduct,
ProtocolRead,
NavTab
},
data() {
return {
...Detail,
popupShow: false,
currentPupopIndex: null,
formData: {
planValue: "5",
insured: "1",
payway: "1",
auto: false,
pact: false
},
goInsureState: false,
showLayer: false
};
},
computed: {
pupopData() {
const { popupArray, currentPupopIndex } = this;
return popupArray[currentPupopIndex] || {};
},
planCellData() {
const { planCellInfo } = this;
const { planValue } = this.formData;
return planCellInfo[planValue];
},
noticeCellData() {
const { noticeCellInfo } = this;
const { planValue } = this.formData;
return noticeCellInfo[planValue];
},
personFormOptions() {
const { insuredOptions, paywayOptions } = this;
return {
insuredOptions,
paywayOptions
};
}
},
methods: {
openIframePupop(index) {
if (index === 4) {
this.$router.push("/goods/plan");
return;
}
this.currentPupopIndex = index;
this.popupShow = true;
}
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
<template>
<cr-form scroll-to-error @submit="onSubmit" @failed="onFailed" class="container">
<nav-tab :nav-list="navBarOptions" />
<detail-header @click="goInsureState = true" :det="headerInfo" />
<div class="det-body">
<card title="保险计划" :option="['查看详情']" @option-click="openIframePupop(4)">
<cr-radio-btn v-model="formData.planValue" :radio-data="planOptions" />
<compactCellGroup :cell-data="planCellData" :text-bold="true" />
<plan-tip :tip-list="planTipOptions" />
</card>
<div id="det_insure">
<insure-person-form v-model="formData" :radio-options="personFormOptions" />
<auto-deduct
v-model="formData.auto"
:cell-data="autoCellInfo"
@cell-click="openIframePupop"
/>
<protocol-read
v-model="formData.pact"
:cell-data="noticeCellData"
@cell-click="openIframePupop"
/>
</div>
<card class="intro" id="det_intro">
<cr-image
:src="item"
v-for="(item, index) in introImg"
:key="index"
width="100%"
height="auto"
/>
</card>
<cps-case :case-data="caseInfo" />
<div id="det_process">
<cps-process :process-data="processDetail" @click="openIframePupop(5)" />
</div>
<cps-qa :qa-data="qaInfo" />
</div>
<detail-footer :company-info="companyInfo" />
<copyright />
<good-action @leftClick="goInsureState = true" :content="goodActionInfo" />
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
>
<cps-process-detail v-if="currentPupopIndex === 5" :process-data="processDetail" />
<cps-rate v-if="currentPupopIndex === 6" />
</popup-with-iframe>
<go-insure-dialog
v-model="goInsureState"
:title="headerInfo.title"
:pay-data="goodBuyModalInfo"
/>
</cr-form>
</template>
<script>
/**
* @description: 华太轻重疾险 Critical illness insurance
*/
import CrRadioBtn from "@/components/CrRadioBtn";
import Card from "@/components/Card";
import Copyright from "@/components/Copyright";
import GoodAction from "@/components/GoodAction";
import Collapse from "@/components/Collapse";
import DetailHeader from "./modules/DetailHeader";
import DetailFooter from "./modules/DetailFooter";
import CompactCellGroup from "@/components/CompactCellGroup";
import CpsCase from "./modules/CpsCase";
import CpsProcess from "./modules/CpsProcess";
import CpsQa from "./modules/CpsQA";
import PopupWithIframe from "@/components/PopupWithIframe";
import GoInsureDialog from "./modules/GoInsureDialog";
import CpsProcessDetail from "./modules/CpsProcessDetail";
import CpsRate from "./modules/CpsRate";
import PlanTip from "./modules/PlanTip";
import InsurePersonForm from "./modules/InsurePersonForm";
import AutoDeduct from "./modules/AutoDeduct";
import ProtocolRead from "./modules/ProtocolRead";
import NavTab from "./modules/NavTab";
import Detail from "@/api/detail.huatai.zhongjixian";
export default {
name: "GoodsDetail-CII",
components: {
DetailHeader,
DetailFooter,
CompactCellGroup,
CrRadioBtn,
Card,
// eslint-disable-next-line
Collapse,
CpsCase,
CpsProcess,
CpsQa,
Copyright,
PopupWithIframe,
GoodAction,
GoInsureDialog,
CpsProcessDetail,
CpsRate,
PlanTip,
InsurePersonForm,
AutoDeduct,
ProtocolRead,
NavTab
},
data() {
return {
...Detail,
popupShow: false,
currentPupopIndex: null,
formData: {
planValue: "3",
insured: "1",
payway: "1",
auto: false,
pact: false
},
goInsureState: false,
showLayer: false
};
},
computed: {
pupopData() {
const { popupArray, currentPupopIndex } = this;
return popupArray[currentPupopIndex] || {};
},
planCellData() {
const { planCellInfo } = this;
const { planValue } = this.formData;
return planCellInfo[planValue];
},
noticeCellData() {
const { noticeCellInfo } = this;
const { planValue } = this.formData;
return noticeCellInfo[planValue];
},
personFormOptions() {
const { insuredOptions, paywayOptions } = this;
return {
insuredOptions,
paywayOptions
};
}
},
methods: {
openIframePupop(index) {
if (index === 4) {
this.$router.push("/goods/plan");
return;
}
this.currentPupopIndex = index;
this.popupShow = true;
},
onSubmit(values) {
console.log("submit", values);
},
onFailed(errorInfo) {
const { errors } = errorInfo;
this.$notify({ type: "warning", message: errors[0].message });
this.goInsureState = true;
}
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
<template>
<div class="container">
<nav-tab :nav-list="navBarOptions" />
<detail-header @click="goInsureState = true" :det="headerInfo">
<div class="li-header">
<plan-tip :tip-list="planTipOptions" />
<cr-divider :hairline="false" :style="{ color: '#ECE9E9' }" />
<h5>什么样的人需要定期寿险?</h5>
<p>有房贷、有车贷的家庭顶梁柱</p>
<p>有子女抚养、老人赡养的家庭依靠</p>
<p>家庭主要收入来源的贡献者</p>
</div>
</detail-header>
<div class="det-body">
<card
title="保险计划"
footer="true"
:option="['查看详情']"
@option-click="openIframePupop(4)"
>
<compactCellGroup :cell-data="planCellInfo" :text-bold="true" />
<div class="cal-footer" slot="footer">
<div class="cal-footer-num">
<h4>155<small>元/年起</small></h4>
</div>
<cr-button type="warning">算一算保费</cr-button>
</div>
</card>
<card class="intro" id="det_intro">
<cr-image
:src="item"
v-for="(item, index) in introImg"
:key="index"
width="100%"
height="auto"
/>
</card>
<cps-case :case-data="caseInfo" />
<div id="det_process">
<cps-process :process-data="processDetail" @click="openIframePupop(5)" />
</div>
<div id="det_notice">
<protocol-read
title="理赔须知"
:options="[]"
:text-bold="true"
v-model="formData.pact"
:cell-data="noticeCellInfo"
@cell-click="openIframePupop"
>
<div class="important-intro">
<h6 class="important-intro-title">重点说明</h6>
<ul class="important-intro-list">
<li class="important-intro-item">
投保人可以为父母、配偶、子女,但是必须获得被保险人的同意并认可保险金额,如果未经被保险人同意并认可金额的,合同无效。
</li>
<li class="important-intro-item">
等待期内,被保险人如因非意外导致身故或身体全残,保险公司返还合同实际交纳的保险费,保险合同终止。
</li>
<li class="important-intro-item">本产品为消费型,保险期满后不返还保费。</li>
<li class="important-intro-item">
本产品有20天犹豫期,在犹豫期内退保不收取任何费用,无息返还所交保费。犹豫期过后退保将承担保费损失。如需退保,请拨打华贵保险,客服电话400-684-1888。
</li>
</ul>
</div>
</protocol-read>
</div>
<div id="det_qa"><cps-qa :qa-data="qaInfo" /></div>
</div>
<detail-footer :company-info="companyInfo" />
<copyright />
<good-action @leftClick="goInsureState = true" :content="goodActionInfo" />
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
>
<cps-process-detail v-if="currentPupopIndex === 5" :process-data="processDetail" />
<cps-rate v-if="currentPupopIndex === 6" />
</popup-with-iframe>
<go-insure-dialog
v-model="goInsureState"
:title="headerInfo.title"
:pay-data="goodBuyModalInfo"
/>
</div>
</template>
<script>
/**
* @description: 华贵大麦2020定期寿险 Life insurance
*/
import CrRadioBtn from "@/components/CrRadioBtn";
import Card from "@/components/Card";
import Copyright from "@/components/Copyright";
import GoodAction from "@/components/GoodAction";
import Collapse from "@/components/Collapse";
import DetailHeader from "./modules/DetailHeader";
import DetailFooter from "./modules/DetailFooter";
import CompactCellGroup from "@/components/CompactCellGroup";
import CpsCase from "./modules/CpsCase";
import CpsProcess from "./modules/CpsProcess";
import CpsQa from "./modules/CpsQA";
import PopupWithIframe from "@/components/PopupWithIframe";
import GoInsureDialog from "./modules/GoInsureDialog";
import CpsProcessDetail from "./modules/CpsProcessDetail";
import CpsRate from "./modules/CpsRate";
import PlanTip from "./modules/PlanTip";
import ProtocolRead from "./modules/ProtocolRead";
import NavTab from "./modules/NavTab";
import Detail from "@/api/detail.huagui.shouxian";
export default {
name: "GoodsDetail-CII",
components: {
DetailHeader,
DetailFooter,
CompactCellGroup,
// eslint-disable-next-line
CrRadioBtn,
Card,
// eslint-disable-next-line
Collapse,
CpsCase,
CpsProcess,
CpsQa,
Copyright,
PopupWithIframe,
GoodAction,
GoInsureDialog,
CpsProcessDetail,
CpsRate,
PlanTip,
NavTab,
ProtocolRead
},
data() {
return {
...Detail,
popupShow: false,
currentPupopIndex: null,
formData: {
insured: "1",
payway: "1",
pact: false
},
goInsureState: false,
showLayer: false
};
},
computed: {
pupopData() {
const { popupArray, currentPupopIndex } = this;
return popupArray[currentPupopIndex] || {};
}
},
methods: {
openIframePupop(index) {
if (index === 4) {
this.$router.push("/goods/plan");
return;
}
this.currentPupopIndex = index;
this.popupShow = true;
}
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
<template>
<div class="container">
<nav-tab :nav-list="navBarOptions" />
<detail-header @click="goInsureState = true" :det="headerInfo" />
<div class="det-body">
<card title="保险计划" :option="['查看详情']" @option-click="openIframePupop(4)">
<compactCellGroup :cell-data="planCellInfo" :text-bold="true" />
<plan-tip :tip-list="planTipOptions" />
</card>
<div id="det_insure">
<insure-person-form v-model="formData" :radio-options="personFormOptions" />
<auto-deduct
v-model="formData.auto"
:cell-data="autoCellInfo"
@cell-click="openIframePupop"
/>
<protocol-read
v-model="formData.pact"
:cell-data="noticeCellInfo"
@cell-click="openIframePupop"
/>
</div>
<card class="intro" id="det_intro">
<cr-image
:src="item"
v-for="(item, index) in introImg"
:key="index"
width="100%"
height="auto"
/>
</card>
<cps-case :case-data="caseInfo" />
<div id="det_process">
<cps-process :process-data="processDetail" @click="openIframePupop(5)" />
</div>
<cps-qa :qa-data="qaInfo" />
</div>
<detail-footer :company-info="companyInfo" />
<copyright />
<good-action @leftClick="goInsureState = true" :content="goodActionInfo" />
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
>
<cps-process-detail v-if="currentPupopIndex === 5" :process-data="processDetail" />
<cps-rate v-if="currentPupopIndex === 6" />
</popup-with-iframe>
<go-insure-dialog
v-model="goInsureState"
:title="headerInfo.title"
:pay-data="goodBuyModalInfo"
/>
</div>
</template>
<script>
/**
* @description: 泰康600万医疗保障 medical insurance
*/
import CrRadioBtn from "@/components/CrRadioBtn";
import Card from "@/components/Card";
import Copyright from "@/components/Copyright";
import GoodAction from "@/components/GoodAction";
import Collapse from "@/components/Collapse";
import DetailHeader from "./modules/DetailHeader";
import DetailFooter from "./modules/DetailFooter";
import CompactCellGroup from "@/components/CompactCellGroup";
import CpsCase from "./modules/CpsCase";
import CpsProcess from "./modules/CpsProcess";
import CpsQa from "./modules/CpsQA";
import PopupWithIframe from "@/components/PopupWithIframe";
import GoInsureDialog from "./modules/GoInsureDialog";
import CpsProcessDetail from "./modules/CpsProcessDetail";
import CpsRate from "./modules/CpsRate";
import PlanTip from "./modules/PlanTip";
import InsurePersonForm from "./modules/InsurePersonForm";
import AutoDeduct from "./modules/AutoDeduct";
import ProtocolRead from "./modules/ProtocolRead";
import NavTab from "./modules/NavTab";
import Detail from "@/api/detail.taikang.yiliaobaozhang";
export default {
name: "GoodsDetail-CII",
components: {
DetailHeader,
DetailFooter,
CompactCellGroup,
// eslint-disable-next-line
CrRadioBtn,
Card,
// eslint-disable-next-line
Collapse,
CpsCase,
CpsProcess,
CpsQa,
Copyright,
PopupWithIframe,
GoodAction,
GoInsureDialog,
CpsProcessDetail,
CpsRate,
PlanTip,
InsurePersonForm,
AutoDeduct,
ProtocolRead,
NavTab
},
data() {
return {
...Detail,
popupShow: false,
currentPupopIndex: null,
formData: {
insured: "1",
payway: "1",
medical: "1",
auto: false,
pact: false
},
goInsureState: false,
showLayer: false
};
},
computed: {
pupopData() {
const { popupArray, currentPupopIndex } = this;
return popupArray[currentPupopIndex] || {};
},
personFormOptions() {
const { insuredOptions, paywayOptions, medicalOptions } = this;
return {
insuredOptions,
paywayOptions,
medicalOptions
};
}
},
methods: {
openIframePupop(index) {
if (index === 4) {
this.$router.push("/goods/plan");
return;
}
this.currentPupopIndex = index;
this.popupShow = true;
}
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
......@@ -12,6 +12,9 @@
display: block;
height: 60px;
}
@{deep} .cr-field--error-message {
display: none;
}
}
.intro {
margin: 10px 0;;
......@@ -28,3 +31,74 @@
margin-bottom: 0;
}
}
.li-header {
text-align: left;
.plan-tip {
justify-content: space-between;
font-size: @font-size-14;
padding-bottom: 4px;
}
.svg-icon {
height: 14px;
width: 14px;
}
h5 {
font-size: @font-size-18;
color: @orange-dark;
font-weight: @font-weight-bold;
margin-bottom: 16px;
}
p {
font-size: @font-size-14;
color: @black;
line-height: @line-height-lg;
}
}
.cal-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 0 20px;
&-num {
h4 {
color: @red;
font-weight: @font-weight-bold;
font-size: @font-size-20;
line-height: @line-height-md;
}
small {
margin-left: 4px;
color: @gray-4;
line-height: @line-height-sm;
font-size: @font-size-12;
}
}
.cr-button {
border-radius: @border-radius-sm !important;
font-size: @font-size-12;
height: @button-default-height !important;
line-height: @button-default-line-height !important;
width: 110px;
}
}
.important-intro {
padding-top: 16px;
&-title {
font-weight: @font-weight-bold;
font-size: @font-size-14;
color: @black;
line-height: @line-height-lg;
margin-bottom: 8px;
}
&-list {
padding-left: 14px;
}
&-item {
list-style-type: decimal;
padding-left: 8px;
font-size: @font-size-12;
line-height: @line-height-sm + 2;
color: @gray-5;
margin-bottom: 12px;
}
}
<template>
<div class="container">
<nav-tab :nav-list="navBarOptions" />
<detail-header @click="goInsureState = true" :det="headerInfo" />
<div class="det-body">
<card title="保险计划" :option="['查看详情']" @option-click="openIframePupop(4)">
<cr-radio-btn v-model="formData.planValue" :radio-data="planOptions" />
<compactCellGroup :cell-data="planCellData" :text-bold="true" />
<plan-tip :tip-list="planTipOptions" />
</card>
<div id="det_insure">
<insure-person-form v-model="formData" :radio-options="personFormOptions" />
<auto-deduct
v-model="formData.auto"
:cell-data="autoCellInfo"
@cell-click="openIframePupop"
/>
<protocol-read
v-model="formData.pact"
:cell-data="noticeCellData"
@cell-click="openIframePupop"
/>
</div>
<card class="intro" id="det_intro">
<cr-image
:src="item"
v-for="(item, index) in introImg"
:key="index"
width="100%"
height="auto"
/>
</card>
<cps-case :case-data="caseInfo" />
<div id="det_process">
<cps-process :process-data="processDetail" @click="openIframePupop(5)" />
</div>
<cps-qa :qa-data="qaInfo" />
</div>
<detail-footer :company-info="companyInfo" />
<copyright />
<good-action @click="goInsureState = true" @leftClick="modalShow = true" />
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
>
<cps-process-detail v-if="currentPupopIndex === 5" :process-data="processDetail" />
<cps-rate v-if="currentPupopIndex === 6" />
</popup-with-iframe>
<record-layer v-model="showLayer" desc="敬请期待" />
<go-insure-dialog v-model="goInsureState" />
<div>
<cii-detail v-if="detailType === 'cii'" />
<mi-detail v-if="detailType === 'mi'" />
<ai-detail v-if="detailType === 'ai'" />
<li-detail v-if="detailType === 'li'" />
</div>
</template>
<script>
import CrRadioBtn from "@/components/CrRadioBtn";
import Card from "@/components/Card";
import Copyright from "@/components/Copyright";
import GoodAction from "@/components/GoodAction";
import RecordLayer from "@/components/RecordLayer";
import Collapse from "@/components/Collapse";
import DetailHeader from "./modules/DetailHeader";
import DetailFooter from "./modules/DetailFooter";
import CompactCellGroup from "@/components/CompactCellGroup";
import CpsCase from "./modules/CpsCase";
import CpsProcess from "./modules/CpsProcess";
import CpsQa from "./modules/CpsQA";
import PopupWithIframe from "@/components/PopupWithIframe";
import GoInsureDialog from "./modules/GoInsureDialog";
import CpsProcessDetail from "./modules/CpsProcessDetail";
import CpsRate from "./modules/CpsRate";
import PlanTip from "./modules/PlanTip";
import InsurePersonForm from "./modules/InsurePersonForm";
import AutoDeduct from "./modules/AutoDeduct";
import ProtocolRead from "./modules/ProtocolRead";
import NavTab from "./modules/NavTab";
import Detail from "@/api/detail.huataizhongjixian";
import ciiDetail from "./CIIDetail";
import miDetail from "./MIDetail";
import liDetail from "./LIDetail";
import aiDetail from "./AIDetail";
export default {
name: "GoodsDetail",
components: {
DetailHeader,
DetailFooter,
CompactCellGroup,
CrRadioBtn,
Card,
// eslint-disable-next-line
Collapse,
CpsCase,
CpsProcess,
CpsQa,
Copyright,
PopupWithIframe,
GoodAction,
GoInsureDialog,
CpsProcessDetail,
CpsRate,
RecordLayer,
PlanTip,
InsurePersonForm,
AutoDeduct,
ProtocolRead,
NavTab
ciiDetail,
miDetail,
aiDetail,
liDetail
},
data() {
return {
...Detail,
popupShow: false,
currentPupopIndex: null,
formData: {
planValue: "3",
insured: "1",
payway: "1",
auto: false,
pact: false
},
goInsureState: false,
showLayer: false
detailType: "li"
};
},
computed: {
pupopData() {
const { popupArray, currentPupopIndex } = this;
return popupArray[currentPupopIndex] || {};
},
planCellData() {
const { planValue } = this.formData;
let _data = [
{ title: "100种重大疾病医疗保险金", value: "30万" },
{ title: "40种轻症保险金", value: "6万" },
{ title: "投保年龄", value: "30天~50周岁" },
{ title: "保险期限", value: "1年" }
];
switch (planValue) {
case "3":
_data = [
{ title: "100种重大疾病医疗保险金", value: "30万" },
{ title: "40种轻症保险金", value: "6万" },
{ title: "投保年龄", value: "30天~50周岁" },
{ title: "保险期限", value: "1年" }
];
break;
case "2":
_data = [
{ title: "100种重大疾病医疗保险金", value: "20万" },
{ title: "40种轻症保险金", value: "4万" },
{ title: "投保年龄", value: "30天~60周岁" },
{ title: "保险期限", value: "1年" }
];
break;
case "1":
_data = [
{ title: "100种重大疾病医疗保险金", value: "10万" },
{ title: "40种轻症保险金", value: "2万" },
{ title: "投保年龄", value: "30天~60周岁" },
{ title: "保险期限", value: "1年" }
];
break;
default:
break;
}
return _data;
},
noticeCellData() {
const { planValue } = this.formData;
return [
{ title: "投保年龄", value: `30天~${planValue === "3" ? 5 : 6}0周岁` },
{ title: "保障期限", value: "1年(可续保至99周岁)" },
{ title: "等待期", value: "90天" },
{
title: "保费",
value: {
needSlot: true,
tpl: "保费与保额、被保人年龄有关<br />首月3元,次月5.6元/月起",
longTxt: true
}
}
];
},
personFormOptions() {
const { insuredOptions, paywayOptions } = this;
return {
insuredOptions,
paywayOptions
};
}
},
methods: {
openIframePupop(index) {
if (index === 4) {
this.$router.push("/goods/plan");
return;
}
this.currentPupopIndex = index;
this.popupShow = true;
}
mounted() {
this.detailType = this.$route.query.type;
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
......@@ -31,7 +31,7 @@
<script>
import crRadioBtn from "@/components/CrRadioBtn";
import detail from "@/api/detail.huataizhongjixian";
import detail from "@/api/detail.huatai.zhongjixian";
const { rateInfo } = detail;
export default {
name: "GoodsDetail",
......@@ -57,7 +57,7 @@ export default {
amountOptions() {
const { rateInfo, titleIndex } = this;
const _length = rateInfo[titleIndex].list.length;
return detail[titleIndex].list.map((item, index) => `${_length - index}0万保额`);
return rateInfo[titleIndex].list.map((item, index) => `${_length - index}0万保额`);
},
listOptions() {
const { rateInfo, titleIndex, amountIndex } = this;
......
......@@ -8,24 +8,29 @@
<div class="det-hd-recommend">
<h2 class="det-hd-recommend-h2">智能产品官-小果</h2>
<h1 class="det-hd-recommend-h1">为您优选推荐</h1>
<cr-tag>
<cr-tag v-if="props.det.company">
<strong>{{ props.det.company }}</strong>
承保
</cr-tag>
<div class="tag-placeholder" v-else></div>
</div>
<div class="det-hd-insured" :class="{ stamp: props.det.stamp }">
<h1 class="det-hd-insured-title">{{ props.det.title }}</h1>
<small class="det-hd-insured-sub">
<slot>{{ props.det.sub }}</slot>
</small>
<h5 class="det-hd-insured-price" v-html="props.det.price"></h5>
<cr-button type="warning" block @click="listeners.click">立即开启保障</cr-button>
<div class="det-hd-insured-people">
已有
<em>{{ props.det.insuredNum }}</em>
位用户投保
</div>
<slot>
<small class="det-hd-insured-sub">
{{ props.det.sub }}
</small>
<h5 class="det-hd-insured-price" v-html="props.det.price"></h5>
<cr-button type="warning" block @click="listeners.click" native-type="submit">
立即开启保障
</cr-button>
<div class="det-hd-insured-people">
已有
<em>{{ props.det.insuredNum }}</em>
位用户投保
</div>
</slot>
</div>
</div>
</template>
......@@ -154,4 +159,30 @@ export default {
}
}
}
.tag-placeholder {
height: 30px;
}
.taikang {
.det-hd {
&-recommend {
color: @black;
.cr-tag {
color: @white;
background: linear-gradient(178deg, rgba(114, 114, 114, 1) 0%, rgba(0, 0, 0, 1) 100%);
strong {
color: @orange-light;
}
}
}
}
}
.zhongan {
.det-hd {
&-recommend {
.cr-tag {
background: linear-gradient(180deg, rgba(122, 127, 255, 1) 0%, rgba(74, 78, 182, 1) 100%);
}
}
}
}
</style>
<template>
<cr-popup
v-model="show"
:style="{ backgroundColor: 'transparent' }"
closeable
get-container="body"
close-icon="close"
class="panel-wrap"
>
<div class="panel">
<div class="panel-head">
<h4>
立即拥有
<br />30万重疾轻症保障
</h4>
</div>
<div class="panel-body">
<compactCellGroup class="pay-det" :cell-data="payCellData" :text-bold="true" />
<div class="pay-tip">*不满意可随时退保</div>
<div class="pay-protocol">
<div class="pay-protocol-tip">投保前请阅读</div>
<div class="pay-protocol-link">
<a href="javascript:;" @click="openIframePupop(0)">保险条款</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(1)">健康告知</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(2)">投保须知与声明</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(3)">服务协议</a>
</div>
</div>
<cr-button type="warning" size="large" block @click="go">好的 继续</cr-button>
<modal v-model="show" :closeable="true" cancel-btn="" confirm-btn="好的 继续" @confirm="go">
<h4 slot="title">立即拥有<br />{{ title }}</h4>
<compactCellGroup class="pay-det" :cell-data="payCellData" :text-bold="true" />
<div class="pay-tip">*不满意可随时退保</div>
<div class="pay-protocol">
<div class="pay-protocol-tip">投保前请阅读</div>
<div class="pay-protocol-link">
<a href="javascript:;" @click="openIframePupop(0)">保险条款</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(1)">健康告知</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(2)">投保须知与声明</a>
<i></i>
<a href="javascript:;" @click="openIframePupop(3)">服务协议</a>
</div>
</div>
</cr-popup>
</modal>
</template>
<script>
import CompactCellGroup from "@/components/CompactCellGroup";
import Modal from "@/components/Modal";
const DIALOG_CHANGE_EVENT = "input";
export default {
name: "GoInsureDialog",
components: {
CompactCellGroup
CompactCellGroup,
Modal
},
props: {
value: null
value: null,
title: {
type: String,
default: ""
},
payData: {
type: Array,
default() {
return [];
}
}
},
data() {
return {
......@@ -53,10 +48,7 @@ export default {
{ title: "首月保费", value: "3元" },
{
title: "次月保费",
value: {
tpl: "5.6元/月起(共11期)",
longTxt: true
}
value: "5.6元/月起(共11期)"
}
]
};
......
......@@ -2,20 +2,71 @@
<card title="请填写投保信息">
<h6 class="insure-form-title">本人信息</h6>
<cr-cell-group class="insure-form">
<cr-field v-model="formData.selfName" placeholder="请输入投保人姓名" label="姓名" />
<cr-field v-model="formData.selfIdNo" placeholder="信息保密,仅用于投保" label="身份证号" />
<cr-field
name="selfName"
v-model="formData.selfName"
placeholder="请输入投保人姓名"
label="姓名"
:rules="[{ required: true, message: '请输入姓名' }]"
/>
<cr-field
name="selfIdNo"
v-model="formData.selfIdNo"
placeholder="信息保密,仅用于投保"
label="身份证号"
:rules="[{ required: true, message: '请输入身份证号' }]"
/>
<cr-field
name="selfIdNo"
v-model="formData.selfIdNo"
placeholder="请输入您的手机号码"
label="手机号码"
:rules="[{ required: true, message: '请输入手机号码' }]"
/>
<cr-field
name="selfIdNo"
v-model="formData.selfIdNo"
placeholder="请输入短信验证码"
label="验证码"
:rules="[{ required: true, message: '请输入验证码' }]"
>
<a href="javascript:;" slot="button">获取验证码</a>
</cr-field>
</cr-cell-group>
<h6 class="insure-form-title">为谁投保</h6>
<cr-radio-btn v-model="formData.insured" :radio-data="radioOptions.insuredOptions" />
<cr-cell-group class="insure-form">
<cr-field v-model="formData.relativeName" placeholder="请输入投保人姓名" label="姓名" />
<cr-field
name="relativeName"
v-model="formData.relativeName"
placeholder="请输入被保人姓名"
label="姓名"
:rules="[{ required: true, message: '请输入姓名' }]"
/>
<cr-field
name="relativeIdNo"
v-model="formData.relativeIdNo"
placeholder="信息保密,仅用于投保"
label="身份证号"
:rules="[{ required: true, message: '请输入身份证号' }]"
/>
<cr-cell class="insure-form-item_nobg" v-if="radioOptions.medicalOptions">
<template slot="title">
<span>有无医保</span>
<cr-icon type="question-o" color="#ccc" />
</template>
<cr-radio-btn
name="medical"
v-model="formData.medical"
:radio-data="radioOptions.medicalOptions"
/>
</cr-cell>
<cr-cell title="缴费方式" class="insure-form-item_nobg">
<cr-radio-btn v-model="formData.payway" :radio-data="radioOptions.paywayOptions" />
<cr-radio-btn
name="payway"
v-model="formData.payway"
:radio-data="radioOptions.paywayOptions"
/>
</cr-cell>
</cr-cell-group>
</card>
......
......@@ -91,7 +91,7 @@ export default {
position: fixed;
top: 0;
left: 0;
z-index: 200;
z-index: 98;
width: 100%;
.cr-tabbar {
background-color: @white;
......
<template>
<card title="投保须知" :option="['查看完整费率表']" footer="协议" @option-click="openIframe(6)">
<card :title="title" :option="options" footer="协议" @option-click="openIframe(6)">
<compactCellGroup :cell-data="cellData" />
<div class="insure-form-pact" slot="footer">
<cr-checkbox shape="round" icon-size="13px" v-model="pact" checked-color="#FFC842">
投保前请阅读
</cr-checkbox>
<div class="insure-form-pact-link">
<a href="javascript:;" @click="openIframe(0)">保险条款</a>
<i></i>
<a href="javascript:;" @click="openIframe(1)">健康告知</a>
<i></i>
<a href="javascript:;" @click="openIframe(2)">投保须知与声明</a>
<i></i>
<a href="javascript:;" @click="openIframe(3)">服务协议</a>
<slot></slot>
<template v-slot:footer>
<div class="insure-form-pact" slot="footer">
<cr-field name="pact" :rules="[{ required: true, message: '请阅读协议并确认' }]">
<template #input>
<cr-checkbox shape="round" icon-size="13px" v-model="pact" checked-color="#FFC842">
投保前请阅读
</cr-checkbox>
</template>
</cr-field>
<div class="insure-form-pact-link">
<a href="javascript:;" @click="openIframe(0)">保险条款</a>
<i></i>
<a href="javascript:;" @click="openIframe(1)">健康告知</a>
<i></i>
<a href="javascript:;" @click="openIframe(2)">投保须知与声明</a>
<i></i>
<a href="javascript:;" @click="openIframe(3)">服务协议</a>
</div>
</div>
</div>
</template>
</card>
</template>
......@@ -30,6 +37,18 @@ export default {
Card
},
props: {
title: {
type: String,
default() {
return "投保须知";
}
},
options: {
type: Array,
default() {
return ["查看完整费率表"];
}
},
value: null,
cellData: {
type: Array,
......@@ -71,6 +90,13 @@ export default {
justify-content: space-between;
align-items: center;
padding: 14px 0;
.cr-cell {
padding: 0;
width: auto;
&::after {
display: none;
}
}
@{deep} .cr-checkbox__label {
font-size: @font-size-11;
color: @gray-4;
......
......@@ -30,19 +30,16 @@
<cr-button @click="$router.back()">不符合</cr-button>
<cr-button type="warning" @click="conform">符合,立即投保</cr-button>
</div>
<record-layer v-model="showLayer" desc="不能支付,敬请期待"></record-layer>
</div>
</template>
<script>
import card from "@/components/Card";
import RecordLayer from "@/components/RecordLayer";
export default {
name: "GoodsInform",
components: {
card,
RecordLayer
card
},
data() {
return {
......
......@@ -18,7 +18,7 @@
<script>
import PopupWithIframe from "@/components/PopupWithIframe";
import card from "@/components/Card";
import detail from "@/api/detail.huataizhongjixian";
import detail from "@/api/detail.huatai.zhongjixian";
const { planInfo } = detail;
export default {
name: "GoodsDetail",
......
@import "../../../style/var.less";
@import "../../../style/mixins.less";
.container {
overflow: hidden;
background-color: @white;
&::after {
content: " ";
display: block;
height: 70px;
}
}
.policy {
&-tip {
background: rgba(255, 228, 162, 1);
border-radius: @border-radius-sm;
font-size: @font-size-14;
color: @red;
line-height: @line-height-sm;
padding: @padding-xs + 1;
text-align: center;
&-wrap {
padding: @padding-md + 3 @padding-md;
}
}
&-form {
padding: 0 @padding-md;
.svg-icon {
height: 16px;
width: 16px;
align-self: center;
}
.radio-btn {
width: 100%;
justify-content: start;
flex-wrap: wrap;
margin-bottom: -8px;
@{deep} .cr-radio {
box-shadow: none;
border: 1px solid #ccc;
height: 24px;
line-height: 24px;
flex: none;
min-width: 40px;
padding: 0 15px;
margin-right: 6px;
margin-bottom: 8px;
&__label {
color: #aaa;
}
&.checked {
border-color: @orange-light;
color: @black;
.cr-radio__label {
color: @black;
}
}
}
}
@{deep} .cr-cell {
color: @black;
padding: @padding-sm 0;
&-group {
margin-bottom: 32px;
&__title {
font-size: @font-size-18;
font-weight: @font-weight-bold;
color: @black;
line-height: @line-height-lg;
padding: @padding-xs + 1 0 @padding-lg;
}
&::after {
border-top-width: 0;
}
}
&__title {
width: 100px !important;
}
&:not(:last-child)::after {
border-color: #ECE9E9;
left: 0;
}
}
}
}
.form-unit {
color: @black;
}
\ No newline at end of file
<template>
<div class="container">
<div class="policy-tip-wrap">
<div class="policy-tip">您所填写的数据,仅用于投保,平台将严格保密</div>
</div>
<cr-form class="policy-form" scroll-to-error @submit="onFormSubmit" @failed="onFormFailed">
<cr-cell-group title="投保人信息">
<cr-field
v-model="formData.text"
name="selfName"
label="姓名"
placeholder="请输入投保人姓名"
:rules="[{ require: true, message: '请输入投保人姓名' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="身份证号"
placeholder="请填写投保人身份证号"
:rules="[{ require: true, message: '请填写投保人身份证号' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
type="tel"
label="手机号"
placeholder="请填写投保人手机号"
:rules="[{ require: true, message: '请填写投保人手机号' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
type="email"
label="电子邮箱"
placeholder="用户接收电子保单"
:rules="[{ require: true, message: '请填写电子邮箱' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="年收入"
type="digit"
placeholder="请输入投保人年收入"
:rules="[{ require: true, message: '请输入投保人年收入' }]"
/>
<cr-field
name="selfName"
label="居住省市"
readonly
:rules="[{ require: true, message: '请选择投保人居住省市' }]"
>
<template #input>
<popup-area-picker v-model="formData.text" placeholder="请选择投保人居住省市" />
</template>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="详细地址"
placeholder="请输入居住详细地址"
:rules="[{ require: true, message: '请输入居住详细地址' }]"
/>
<cr-field
name="selfName"
label="职业"
:rules="[{ require: true, message: '请选择投保人职业' }]"
>
<template #input>
<popup-picker
:picker-data="['老师', '工人']"
v-model="formData.text"
placeholder="请选择投保人职业"
/>
</template>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="身份证有效期"
:rules="[{ require: true, message: '请选择身份证有效期' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="idCardInvaildOptions" />
</template>
</cr-field>
<cr-field
name="selfName"
label="有效期至"
readonly
:rules="[{ require: true, message: '请选择您的证件有效止期' }]"
>
<template #input>
<popup-date-picker v-model="formData.text" placeholder="请选择您的证件有效止期" />
</template>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
</cr-cell-group>
<cr-cell-group title="被保人信息">
<cr-field v-model="formData.text" name="selfName" label="为谁投保">
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="insuredOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="有无社保"
:rules="[{ require: true, message: '请选择社保状态' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="socialSecOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="身高"
type="digit"
placeholder="请填写被保人身高"
:rules="[{ require: true, message: '请填写被保人身高' }]"
>
<div class="form-unit" slot="button">厘米</div>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="体重"
type="digit"
placeholder="请填写被保人体重"
:rules="[{ require: true, message: '请填写被保人体重' }]"
>
<div class="form-unit" slot="button">公斤</div>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="姓名"
placeholder="请输入投保人姓名"
:rules="[{ require: true, message: '请输入投保人姓名' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="身份证号"
placeholder="请填写投保人身份证号"
:rules="[{ require: true, message: '请填写投保人身份证号' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="手机号"
type="tel"
placeholder="请填写投保人手机号"
:rules="[{ require: true, message: '请填写投保人手机号' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="年收入"
type="digit"
placeholder="请输入投保人年收入"
:rules="[{ require: true, message: '请输入投保人年收入' }]"
/>
<cr-field
v-model="formMaskData.text"
name="selfName"
label="居住省市"
readonly
placeholder="请选择投保人居住省市"
:rules="[{ require: true, message: '请选择投保人居住省市' }]"
@click.native="handleShowAreaPopup(true)"
>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="详细地址"
placeholder="请输入居住详细地址"
:rules="[{ require: true, message: '请输入居住详细地址' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="职业"
readonly
placeholder="请选择投保人职业"
:rules="[{ require: true, message: '请选择投保人职业' }]"
@click.native="handleShowAreaPopup(true)"
>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="身份证有效期"
:rules="[{ require: true, message: '请选择身份证有效期' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="idCardInvaildOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="有效期至"
readonly
placeholder="请选择您的证件有效止期"
:rules="[{ require: true, message: '请选择您的证件有效止期' }]"
@click.native="handleShowAreaPopup(true)"
>
<svg-icon icon-class="triangle-right" slot="button" />
</cr-field>
</cr-cell-group>
<cr-cell-group title="保障方案">
<cr-field
name="selfName"
label="投保限额"
:rules="[{ require: true, message: '请选择投保限额' }]"
>
<template #input>
<cr-stepper v-model="formData.stepper" disable-input :step="10" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="保险期限"
:rules="[{ require: true, message: '请选择保险期限' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="termOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="交费方式"
:rules="[{ require: true, message: '请选择交费方式' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="paywayOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="为谁投保"
:rules="[{ require: true, message: '请选择为谁投保' }]"
>
<template #input>
<cr-radio-btn v-model="formData.planValue" :radio-data="benefitOptions" />
</template>
</cr-field>
<cr-field
v-model="formData.text"
name="selfName"
label="生效日期"
readonly
:rules="[{ require: true, message: '请选择生效日期' }]"
/>
<cr-field
v-model="formData.text"
name="selfName"
label="受益人"
readonly
:rules="[{ require: true, message: '请选择受益人' }]"
/>
</cr-cell-group>
<good-action @leftClick="goInsureState = true" :content="goodActionInfo" />
</cr-form>
<go-insure-dialog
v-model="goInsureState"
:title="headerInfo.title"
:pay-data="goodBuyModalInfo"
/>
</div>
</template>
<script>
import GoodAction from "@/components/GoodAction";
import CrRadioBtn from "@/components/CrRadioBtn";
import PopupPicker from "@/components/PopupPicker";
import PopupAreaPicker from "@/components/PopupAreaPicker";
import PopupDatePicker from "@/components/PopupDatePicker";
import GoInsureDialog from "@/views/Goods/Detail/modules/GoInsureDialog";
import Detail from "@/api/detail.huagui.shouxian";
export default {
name: "AddPolicy",
components: {
GoodAction,
CrRadioBtn,
GoInsureDialog,
PopupPicker,
PopupAreaPicker,
PopupDatePicker
},
data() {
return {
...Detail,
goInsureState: false,
formData: {},
formMaskData: {},
idCardInvaildOptions: [
{ label: "非长期", value: "1" },
{ label: "长期", value: "2" }
],
socialSecOptions: [
{ label: "有社保", value: "1" },
{ label: "无社保", value: "2" }
],
insuredOptions: [
{ label: "本人", value: "1" },
{ label: "配偶", value: "2" },
{ label: "父母", value: "3" },
{ label: "子女", value: "4" }
],
termOptions: [
{ label: "10年", value: "1" },
{ label: "20年", value: "2" },
{ label: "30年", value: "3" },
{ label: "保至60周岁", value: "4" },
{ label: "保至65周岁", value: "5" },
{ label: "保至70周岁", value: "6" }
],
paywayOptions: [
{ label: "年交", value: "1" },
{ label: "月交", value: "2" }
],
benefitOptions: [
{ label: "交5年", value: "1" },
{ label: "交10年", value: "2" },
{ label: "交20年", value: "3" },
{ label: "交30年", value: "4" },
{ label: "一次付清", value: "5" }
]
};
},
mounted() {},
methods: {
onFormSubmit(values) {
console.log("submit", values);
},
onFormFailed(errorInfo) {
const { errors } = errorInfo;
this.$notify({ type: "warning", message: errors[0].message });
this.goInsureState = true;
}
}
};
</script>
<style lang="less" src="./index.less" scoped></style>
......@@ -144,10 +144,10 @@ export default {
};
},
methods: {
async onSubmit(values) {
async onSubmit() {
// console.log('sucess', values);
},
onFailed(errorInfo) {
onFailed() {
// console.log('fail', errorInfo);
},
onConfirm(picker, res) {
......
<template>
<div class="container">
<cr-button block type="danger" @click="login">登录</cr-button>
<cr-divider />
<cr-button block>生成订单(微信JSAPI支付)</cr-button>
<cr-button block>生成订单(微信H5支付)</cr-button>
<cr-button block>生成订单(第三方收银台支付)</cr-button>
<cr-divider />
<cr-button type="warning" block>调起支付</cr-button>
<cr-divider />
<div class="state">
<h5>基本信息:</h5>
<p>当前环境:{{ browerEnv }}</p>
<p>登录状态:{{ !!mongoToken }}</p>
<p v-if="browerEnv === 'weixin'">微信code获取状态:</p>
<cr-divider />
<h5>登录信息:</h5>
<p v-for="(item, key) in loginInfo" :key="key">{{ key }}: {{ item }}</p>
<cr-divider />
<h5>支付信息:</h5>
<p v-for="(item, key) in payInfo" :key="key">{{ key }}: {{ item }}</p>
<cr-divider />
<h5>订单信息:</h5>
<p v-for="(item, key) in orderInfo" :key="key">{{ key }}: {{ item }}</p>
<cr-divider />
<h5>保险订单信息:</h5>
<p
v-for="(item, key) in insuredOrderInfo"
:key="key"
v-html="`${key}: ${brFilter(item)}`"
></p>
</div>
</div>
</template>
<script>
/**
* @description: 支付测试页面
* @param {type}
* @return:
*/
import { loginByPhone, getwxOpenId } from "@/api/user";
import cfg from "@/config";
export default {
name: "paytest",
data() {
return {
browerEnv: "",
xyqbToken: "",
mongoToken: "",
loginInfo: {
phoneNo: "18611428880",
verifyCode: "123456",
loginChannel: "1"
},
insuredOrderInfo: {
insuredUserInfo: {
phoneNo: "13209654413",
userInfoSecId: "commodo",
userName: "罗刚",
idNo: "566254180010306614",
longTerm: false,
validEnd: "1978-11-18",
relation: "1",
socialSecurity: false,
email: "s.yfyviye@mxxv.ki",
annualIncome: "17159",
addressCode: "110100",
addressDetail: "海外",
occupation: "5",
height: 169,
weight: 58,
bankCardCode: "ICBC",
bankCardNo: "6220549771082240618"
},
productNo: "1",
holderUserInfo: {
phoneNo: "13499177270",
userInfoSecId: "eu in",
userName: "崔静",
idNo: "16479119920330003X",
longTerm: false,
validEnd: "1985-09-23",
socialSecurity: false,
email: "n.ata@ueccvun.bz",
annualIncome: "35555",
addressCode: "110100",
addressDetail: "白城市",
occupation: "1",
height: 186,
weight: 54,
bankCardCode: "ICBC",
bankCardNo: "667782802278796"
},
insuredAmount: "57",
policyPeriod: "26",
paymentType: 4,
paymentPeriod: "et in",
effectiveDate: "2003-07-06 23:11:44",
autoRenewPolicy: true
},
orderInfo: {},
openId: localStorage.getItem("openId"),
payInfo: {}
};
},
mounted() {
this.getCurrentBrowerEnv();
},
methods: {
async login() {
const res = await loginByPhone(this.loginInfo);
if (res.code === 0) {
this.mongoToken = res.data.token;
localStorage.setItem("mongoToken", res.data.token);
}
},
getCurrentBrowerEnv() {
const ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
this.browerEnv = "weixin";
this.getWxOpenId();
} else if (ua.match(/xyqb/i) == "xyqb") {
this.browerEnv = "xyqb";
} else {
this.browerEnv = "h5";
}
},
async getWxOpenId() {
if (this.openId) return;
const code = this.$route.query.code;
const res = await getwxOpenId({ code, appId: cfg.wxAppId });
if (res.code === 0) {
this.openId = res.data.openId;
localStorage.setItem("openId", res.data.openId);
}
},
getUserState() {
this.mongoToken = localStorage.getItem("mongoToken");
},
brFilter(txt) {
let val = JSON.stringify(txt);
val = val.replace(/[{},]/g, "<br />").replace(/"/g, "");
return val;
}
}
};
</script>
<style lang="less" scoped>
.container {
padding: 5px 15px;
font-size: 14px;
background-color: #fff;
}
.state {
line-height: 24px;
margin-bottom: 15px;
height: 44vh;
overflow: scroll;
background-color: #fcfcfc;
box-shadow: inset 0 0 9px 0px rgba(0, 0, 0, 0.1);
padding: 0 10px;
border-radius: 8px;
h5 {
font-weight: bold;
margin: 15px 0;
}
}
.cr-button {
margin-bottom: 15px;
}
</style>
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment