Commit 1933546d authored by 郭志伟's avatar 郭志伟

Merge branch 'fix/goods' into 'master'

华贵试算校验修复,添加阻断验证;第三方h5支付跳转修复;生日头天问题

See merge request !74
parents 8d7531c1 afc481a1
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Description: 华贵大麦2020定期寿险 * @Description: 华贵大麦2020定期寿险
* @Date: 2020-07-27 15:46:37 * @Date: 2020-07-27 15:46:37
* @LastEditors: gzw * @LastEditors: gzw
* @LastEditTime: 2020-08-24 19:26:52 * @LastEditTime: 2020-08-24 20:13:25
*/ */
import goodsBg from "@/assets/images/goods/detail/shouxian/bg.png"; import goodsBg from "@/assets/images/goods/detail/shouxian/bg.png";
...@@ -220,6 +220,10 @@ export default { ...@@ -220,6 +220,10 @@ export default {
q: "电子保单有效力吗??", q: "电子保单有效力吗??",
a: "根据《中华人民共和国合同法》第十一条规定,数据电文是合法的合同表现形式,电子保单与纸质保单具有同等法律效力。完成购买后,我们会把电子保单发到您投保时所填写的邮箱。" a: "根据《中华人民共和国合同法》第十一条规定,数据电文是合法的合同表现形式,电子保单与纸质保单具有同等法律效力。完成购买后,我们会把电子保单发到您投保时所填写的邮箱。"
}, },
{
q: "不同年龄和地区的人群购买有保额限制吗?",
a: "待补充。。。"
},
{ {
q: "原位癌可以投保吗?", q: "原位癌可以投保吗?",
a: "原位癌在核保医学里属于恶性肿瘤,不满足健康告知的“恶性肿瘤”项。因此,不可以投保。" a: "原位癌在核保医学里属于恶性肿瘤,不满足健康告知的“恶性肿瘤”项。因此,不可以投保。"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Description: 泰康600万医疗保障 * @Description: 泰康600万医疗保障
* @Date: 2020-07-27 15:46:37 * @Date: 2020-07-27 15:46:37
* @LastEditors: gzw * @LastEditors: gzw
* @LastEditTime: 2020-08-24 19:21:36 * @LastEditTime: 2020-08-24 21:00:06
*/ */
import goodsBg from "@/assets/images/goods/detail/yiliaoxian/bg.png"; import goodsBg from "@/assets/images/goods/detail/yiliaoxian/bg.png";
...@@ -209,12 +209,26 @@ export default { ...@@ -209,12 +209,26 @@ export default {
{ {
title: "重大疾病医疗保险金", title: "重大疾病医疗保险金",
desc: desc:
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `
<p>1、因意外伤害或者在等待期30天后因疾病初次确诊罹患本合同所定义的 120种重大疾病;</p>
<p>2、二级或二级以上公立医院普通部发生的,应当由个人支付的必需且合理的重大疾病医疗费用;</p>
<p>3、重大疾病医疗费用包括:重大疾病住院医疗费用、重大疾病特殊门诊医疗费用、重大疾病门诊手术医疗费用、重大疾病住院前7天后30天的门急诊医疗费用以及质子重离子医疗费用;</p>
<p>4、年累计赔偿以600万元为限;</p>
<p>5、赔付比例为100%。若以参加社会医疗保险身份投保,但未以社会医疗保险身份就诊并结算的,赔付比例则为60%。</p>
`
}, },
{ {
title: "一般医疗保险金", title: "一般医疗保险金",
desc: desc:
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `
<p>1、因意外伤害或在等待期30天后罹患疾病;</p>
<p>2、在二级或二级以上公立医院普通部发生的,应当由个人支付的必需且合理的一般医疗费用;</p>
<p>3、一般医疗费用包括:住院医疗费用、特殊门诊医疗费用、门诊手术医疗费用以及住院前7天后30天的门急诊医疗费用;</p>
<p>4、保险人在扣除1万元免赔额后按赔付比例100%赔偿本项保险金,年累计赔偿以300万元为限;</p>
<p>5、若以参加社会医疗保险身份投保,但未以社会医疗保险身份就诊并结算的,赔付比例则为60%。</p>
`
}, },
{ {
title: "质子重离子医疗保险金", title: "质子重离子医疗保险金",
...@@ -224,12 +238,22 @@ export default { ...@@ -224,12 +238,22 @@ export default {
{ {
title: "恶性肿瘤院外特定药品费用保险金", title: "恶性肿瘤院外特定药品费用保险金",
desc: desc:
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" `
<p>1、在等待期30天后经医院专科医生初次确诊罹患本合同所定义的恶性肿瘤且必须治疗;</p>
<p>2、对于被保人因治疗该恶性肿瘤实际发生的必需且合理的且同时满足以下条件的院外特定药品费用:</p>
<p>&nbsp;a. 该特定药品须由医院专科医生开具处方、且为被保人当前治疗必需的药品;</p>
<p>&nbsp;b. 每次特定药品处方仅限治疗保险期间内且在等待期后初次确诊的恶性肿瘤;</p>
<p>&nbsp;c. 每次特定药品处方剂量不超过一个月;</p>
<p>&nbsp;d. 该特定药品必须为中国国家药品监督管理局批准且已在中国上市的靶向药物和免疫治疗药物;</p>
<p>&nbsp;e. 被保险人须在我们指定药店、且须符合本合同约定的“如何领取特定药品及申请保险金”的流程,进行上述特定药品的购买或领取。</p>
<p>3、年累计赔偿以600万元为限;</p>
<p>4、赔付比例为100%。若以参加社会医疗保险身份投保,但未以社会医疗保险身份就诊并结算的,赔付比例则为60%。</p>
`
}, },
{ {
title: "恶性肿瘤特定治疗保险金", title: "恶性肿瘤特定治疗保险金",
desc: desc:
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "因意外伤害或者在等待期30天后,在医院经专科医生初次确诊罹患保险合同所定义的特定疾病(无论一种或者多种),保险人给付5000元保险金额的特定疾病保险金,同时本项保险责任终止。"
}, },
{ {
title: "康复医疗保险金", title: "康复医疗保险金",
...@@ -282,35 +306,8 @@ export default { ...@@ -282,35 +306,8 @@ export default {
options: [ options: [
{ {
title: "1233家知名三甲医院", title: "1233家知名三甲医院",
content: content: ``,
` path: "http://mangguo-contract.qthbx.com/tai-kang-san-jia-yi-yuan-v1/"
<table class="table">
<thead>
<tr>
<th style="width: 25%">省份</th>
<th style="width: 30%">地区</th>
<th style="width: 45%">医院名称</th>
</tr>
</thead>
<tbody>
<tr>
<td>黑龙江</td>
<td>七台河</td>
<td>七台河矿业精煤(集团)有限责任公司总医院</td>
</tr>
<tr>
<td>黑龙江</td>
<td>七台河</td>
<td>七台河市人民医院</td>
</tr>
<tr>
<td>黑龙江</td>
<td>齐齐哈尔</td>
<td>七台河矿业精煤(集团)有限责任公司总医院</td>
</tr>
</tbody>
</table>
`
} }
] ]
}, },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Description: 支付微信h5, jsapi, 第三方收银台,跳转) * @Description: 支付微信h5, jsapi, 第三方收银台,跳转)
* @Date: 2020-07-28 15:03:52 * @Date: 2020-07-28 15:03:52
* @LastEditors: gzw * @LastEditors: gzw
* @LastEditTime: 2020-08-24 19:59:04 * @LastEditTime: 2020-08-24 22:02:45
*/ */
// import cherry from "@qg/cherry-ui"; // import cherry from "@qg/cherry-ui";
...@@ -97,15 +97,13 @@ export function payByWay(type = "THIRD", payInfo) { ...@@ -97,15 +97,13 @@ export function payByWay(type = "THIRD", payInfo) {
// } // }
resolve(); resolve();
}); });
} else if (type === "MWEB") { } else {
if (payInfo.url.indexOf("weixin") > -1) { if (payInfo.url.indexOf("weixin") > -1) {
payByWeixinH5(payInfo); payByWeixinH5(payInfo);
} else { } else {
payByThirdPartyCashier(payInfo); payByThirdPartyCashier(payInfo);
} }
resolve(); resolve();
} else {
resolve();
} }
}); });
} }
...@@ -179,3 +179,43 @@ export function parseTime(time, cFormat) { ...@@ -179,3 +179,43 @@ export function parseTime(time, cFormat) {
}); });
return timeStr; return timeStr;
} }
/**
* @param strBirthday:指的是出生日期,格式为"1990-01-01"
*/
export function getRealAge(strBirthday) {
var returnAge,
strBirthdayArr = strBirthday.split("-"),
birthYear = +strBirthdayArr[0],
birthMonth = +strBirthdayArr[1],
birthDay = +strBirthdayArr[2],
d = new Date(),
nowYear = d.getFullYear(),
nowMonth = d.getMonth() + 1,
nowDay = d.getDate();
if (nowYear == birthYear) {
returnAge = 0; //同年 则为0周岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay; //日之差
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth; //月之差
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge; //返回周岁年龄
}
...@@ -228,6 +228,13 @@ export default { ...@@ -228,6 +228,13 @@ export default {
this.popupShow = true; this.popupShow = true;
}, },
onSubmit() { onSubmit() {
const { payPeriod, payType, policyPeriod, birth } = this.formData;
if (!payPeriod || !payType || !policyPeriod || !birth) {
this.$notify({ type: "warning", message: "请选择保费方案" });
this.popupShow = true;
this.currentPupopIndex = 6;
return;
}
this.showLoginPopup(); this.showLoginPopup();
this.popupShow = false; this.popupShow = false;
}, },
......
...@@ -58,7 +58,7 @@ const DATA_CHANGE_EVENT = "input"; ...@@ -58,7 +58,7 @@ const DATA_CHANGE_EVENT = "input";
import liDetail from "@/api/detail.huagui.shouxian"; import liDetail from "@/api/detail.huagui.shouxian";
import liCalFee from "./liCalFee.mixin"; import liCalFee from "./liCalFee.mixin";
const { paywayOptions, sexOptions, insuredAmountOptions, termOptions, benefitOptions } = liDetail; const { paywayOptions, sexOptions, insuredAmountOptions, termOptions, benefitOptions } = liDetail;
import fromNow from "date-fns/formatDistanceToNowStrict"; import { getRealAge } from "@/service/utils";
export default { export default {
name: "CalInsuredFee", name: "CalInsuredFee",
...@@ -101,11 +101,7 @@ export default { ...@@ -101,11 +101,7 @@ export default {
}, },
computed: { computed: {
age() { age() {
const userAge = this.formData.birth const userAge = this.formData.birth ? getRealAge(this.formData.birth) : "";
? parseInt(
fromNow(new Date(this.formData.birth), { unit: "year", roundingMethod: "floor" })
)
: "";
return isNaN(userAge) ? 18 : userAge; return isNaN(userAge) ? 18 : userAge;
} }
}, },
......
...@@ -24,7 +24,7 @@ export default { ...@@ -24,7 +24,7 @@ export default {
const { age } = this; const { age } = this;
let _index = 0; let _index = 0;
const ageRangeList = [ const ageRangeList = [
[18, 35], [18, 30],
[31, 35], [31, 35],
[36, 40], [36, 40],
[41, 45], [41, 45],
...@@ -32,12 +32,7 @@ export default { ...@@ -32,12 +32,7 @@ export default {
[51, 55], [51, 55],
[56, 60] [56, 60]
]; ];
// 特殊情况 _index = ageRangeList.findIndex(item => item[0] <= age && age <= item[1]);
if (31 <= age && age <= 35) {
_index = 1;
} else {
_index = ageRangeList.findIndex(item => item[0] <= age && age <= item[1]);
}
if (this.ageIndexCache !== _index) { if (this.ageIndexCache !== _index) {
this.ageIndexCache = _index; this.ageIndexCache = _index;
this.isAgeIndexChange = true; this.isAgeIndexChange = true;
...@@ -66,7 +61,7 @@ export default { ...@@ -66,7 +61,7 @@ export default {
return termOptions.map((item, index) => { return termOptions.map((item, index) => {
switch (index) { switch (index) {
case 0: case 0:
item.disabled = p === "3"; item.disabled = p === "3" || p === "4";
break; break;
case 1: case 1:
item.disabled = p === "4" || a > 4; item.disabled = p === "4" || a > 4;
...@@ -78,7 +73,7 @@ export default { ...@@ -78,7 +73,7 @@ export default {
item.disabled = (a > 0 && p === "4") || (a > 2 && p === "3") || a > 4; item.disabled = (a > 0 && p === "4") || (a > 2 && p === "3") || a > 4;
break; break;
case 4: case 4:
item.disabled = (a > 1 && p === "4") || (a > 3 && p === "3") || a === 4; item.disabled = (a > 1 && p === "4") || (a > 3 && p === "3") || a > 5;
break; break;
case 5: case 5:
item.disabled = (a > 2 && p === "4") || (a > 4 && p === "3"); item.disabled = (a > 2 && p === "4") || (a > 4 && p === "3");
...@@ -102,7 +97,8 @@ export default { ...@@ -102,7 +97,8 @@ export default {
item.disabled = p === "1" || (+p >= 4 && +p <= 6 && a > 2); item.disabled = p === "1" || (+p >= 4 && +p <= 6 && a > 2);
break; break;
case 3: case 3:
item.disabled = a > 2; item.disabled =
+p < 3 || (a > 1 && +p !== 6) || (a === 1 && +p === 4) || (a > 3 && +p === 6);
break; break;
default: default:
break; break;
......
...@@ -527,8 +527,7 @@ import autoSaveForm from "@/mixins/autoSaveForm.mixin"; ...@@ -527,8 +527,7 @@ import autoSaveForm from "@/mixins/autoSaveForm.mixin";
import liCalFee from "@/views/Goods/Detail/modules/liCalFee.mixin"; import liCalFee from "@/views/Goods/Detail/modules/liCalFee.mixin";
import { addDays, addYears, format as dateFormat } from "date-fns"; import { addDays, addYears, format as dateFormat } from "date-fns";
import debounce from "lodash/debounce"; import debounce from "lodash/debounce";
import fromNow from "date-fns/formatDistanceToNowStrict"; import { getRealAge } from "@/service/utils";
import localStorage from "@/service/localStorage"; import localStorage from "@/service/localStorage";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import Detail from "@/api/detail.huagui.shouxian"; import Detail from "@/api/detail.huagui.shouxian";
...@@ -708,9 +707,7 @@ export default { ...@@ -708,9 +707,7 @@ export default {
const currentIdNo = this.getRealIdNo(); const currentIdNo = this.getRealIdNo();
if (!currentIdNo) return; if (!currentIdNo) return;
const birthday = this.getBirthDate(currentIdNo); const birthday = this.getBirthDate(currentIdNo);
const userAge = birthday const userAge = birthday ? getRealAge(birthday) : "";
? parseInt(fromNow(new Date(birthday)), { unit: "year", roundingMethod: "floor" })
: "";
return isNaN(userAge) ? 18 : userAge; return isNaN(userAge) ? 18 : userAge;
}, },
pupopData() { pupopData() {
......
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