mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-15 11:46:43 +08:00
Merge branch 'dev' of 112.124.100.131:GFRS/ebiz-h5 into dev
This commit is contained in:
@@ -108,3 +108,21 @@ export function saveOrUpdateDocument(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取验证码
|
||||||
|
export function getAuthCode(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/customer/authcode/loginedSend', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 卡单撤单
|
||||||
|
export function revokeOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/sale/order/revokeOrder', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -2119,6 +2119,16 @@ export default {
|
|||||||
shortName: '重疾险',
|
shortName: '重疾险',
|
||||||
name: '国富人寿八桂无忧重大疾病保险(D款)',
|
name: '国富人寿八桂无忧重大疾病保险(D款)',
|
||||||
code: 'GFRS_M0044'
|
code: 'GFRS_M0044'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
shortName: '医疗险',
|
||||||
|
name: '国富人寿特定疾病药品费用医疗保险',
|
||||||
|
code: 'GFRS_M0045'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
shortName: '重疾险',
|
||||||
|
name: '国富人寿世纪无忧重大疾病保险',
|
||||||
|
code: 'GFRS_M0046'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
// 职级
|
// 职级
|
||||||
|
|||||||
@@ -59,6 +59,9 @@
|
|||||||
<div v-if="orderItem.isCanPay && (orderItem.orderStatus == '02' || orderItem.orderStatus == '19' || orderItem.orderStatus == '55')">
|
<div v-if="orderItem.isCanPay && (orderItem.orderStatus == '02' || orderItem.orderStatus == '19' || orderItem.orderStatus == '55')">
|
||||||
<van-button round @click="goPay(orderItem.orderNo)" size="small" class="mr5" type="danger" v-no-more-click="1000">去支付</van-button>
|
<van-button round @click="goPay(orderItem.orderNo)" size="small" class="mr5" type="danger" v-no-more-click="1000">去支付</van-button>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="canRevoke[orderItem.orderStatus]">
|
||||||
|
<van-button round @click="revokeOrder(orderItem)" size="small" class="mr5" type="danger">撤单</van-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="NewItems.length === 0">
|
<template v-if="NewItems.length === 0">
|
||||||
@@ -67,6 +70,25 @@
|
|||||||
<p class="gray text-center pt20">暂无订单</p>
|
<p class="gray text-center pt20">暂无订单</p>
|
||||||
</li>
|
</li>
|
||||||
</template>
|
</template>
|
||||||
|
<van-dialog
|
||||||
|
class="dialog-delete"
|
||||||
|
@confirm="checkCaptchaCode"
|
||||||
|
@cancel="cancelCaptchaCode"
|
||||||
|
:before-close="beforeClose"
|
||||||
|
confirm-button-color="#fff"
|
||||||
|
v-model="revokePanelShow"
|
||||||
|
title="短信验证"
|
||||||
|
show-cancel-button
|
||||||
|
>
|
||||||
|
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
|
||||||
|
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
|
||||||
|
<template #button>
|
||||||
|
<van-button :disabled="sendTime !== 0" v-no-more-click="1000" @click="getCaptchaCode" size="small" type="danger">{{
|
||||||
|
sendTime ? `${sendTime}s后获取` : '获取验证码'
|
||||||
|
}}</van-button>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
</van-dialog>
|
||||||
</div>
|
</div>
|
||||||
</van-list>
|
</van-list>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,8 +98,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getCardList, getOrderList } from '@/api/ebiz/cardList/cardList.js'
|
import { getCardList, getOrderList, getAuthCode, revokeOrder } from '@/api/ebiz/cardList/cardList.js'
|
||||||
import { Tab, Tabs, List, Sticky } from 'vant'
|
import {Tab, Tabs, List, Sticky, Toast} from 'vant'
|
||||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到订单状态
|
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到订单状态
|
||||||
// import formatDate from '@/assets/js/utils/date-utils'
|
// import formatDate from '@/assets/js/utils/date-utils'
|
||||||
|
|
||||||
@@ -103,7 +125,27 @@ export default {
|
|||||||
list: [],
|
list: [],
|
||||||
// orderList: [{ text: '11111' }, { text: '11111' }], //我的订单
|
// orderList: [{ text: '11111' }, { text: '11111' }], //我的订单
|
||||||
orderList: [], //我的订单
|
orderList: [], //我的订单
|
||||||
iNow: 0
|
canRevoke: {
|
||||||
|
'19': true,
|
||||||
|
'02': true,
|
||||||
|
'48': true,
|
||||||
|
'49': true,
|
||||||
|
'55': true,
|
||||||
|
'58': true,
|
||||||
|
'46': true,
|
||||||
|
'50': true,
|
||||||
|
'51': true
|
||||||
|
},
|
||||||
|
iNow: 0,
|
||||||
|
sms: '',
|
||||||
|
smsId: '',
|
||||||
|
sendTime: 0,
|
||||||
|
revokePanelShow:false,
|
||||||
|
getCaptcha: false,
|
||||||
|
captchaTimer: null,
|
||||||
|
captchaReceiver: '',
|
||||||
|
revokeOrderNo: '',
|
||||||
|
captchaMaped: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -260,7 +302,93 @@ export default {
|
|||||||
path: `/cardList/pay`
|
path: `/cardList/pay`
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
//撤单
|
||||||
|
revokeOrder(order) {
|
||||||
|
console.dir(order)
|
||||||
|
this.$dialog
|
||||||
|
.confirm({
|
||||||
|
className: 'dialog-delete',
|
||||||
|
title: '提示',
|
||||||
|
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
|
||||||
|
cancelButtonColor: '#E9332E',
|
||||||
|
confirmButtonColor: '#FFFFFF'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.revokePanelShow = true
|
||||||
|
this.captchaReceiver = order.appntMobile
|
||||||
|
this.revokeOrderNo = order.orderNo
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beforeClose(action, done) {
|
||||||
|
this.captchaMaped ? done() : done(false)
|
||||||
|
},
|
||||||
|
async getCaptchaCode() {
|
||||||
|
if (this.sendTime !== 0) return
|
||||||
|
this.getCaptcha = true
|
||||||
|
this.sendTime = 60
|
||||||
|
let data = {
|
||||||
|
operateType: 'appntInfoEntry',
|
||||||
|
type: 'H5',
|
||||||
|
operateCode: this.captchaReceiver,
|
||||||
|
system: 'agentApp',
|
||||||
|
operateCodeType: '0'
|
||||||
}
|
}
|
||||||
|
let res = await getAuthCode(data)
|
||||||
|
if (res.result === '0') {
|
||||||
|
this.$toast('获取验证码成功')
|
||||||
|
}
|
||||||
|
this.smsId = res.sessionId
|
||||||
|
this.captchaTimer = setInterval(() => {
|
||||||
|
this.sendTime--
|
||||||
|
if (this.sendTime === 0) {
|
||||||
|
clearInterval(this.captchaTimer)
|
||||||
|
this.captchaTimer = null
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
async checkCaptchaCode() {
|
||||||
|
if (!this.getCaptcha) {
|
||||||
|
return this.$toast('请先获取验证码')
|
||||||
|
}
|
||||||
|
if (!this.sms.trim()) {
|
||||||
|
return this.$toast('请输入验证码')
|
||||||
|
}
|
||||||
|
clearInterval(this.captchaTimer)
|
||||||
|
this.captchaTimer = null
|
||||||
|
let revokeResult = await revokeOrder({
|
||||||
|
id: this.revokeOrderNo,
|
||||||
|
smsId: this.smsId,
|
||||||
|
code: this.sms
|
||||||
|
})
|
||||||
|
if (revokeResult.result == 0) {
|
||||||
|
this.$toast('撤单成功!')
|
||||||
|
setTimeout(() => {
|
||||||
|
this.orderList = []
|
||||||
|
this.isSuccess = false
|
||||||
|
this.currentPage = 1
|
||||||
|
;[this.loading, this.finished] = [true, false]
|
||||||
|
let pageInfo = {
|
||||||
|
pageNum: this.currentPage,
|
||||||
|
pageSize: this.pageSize
|
||||||
|
}
|
||||||
|
this.loadMore(pageInfo)
|
||||||
|
}, 1000)
|
||||||
|
} else {
|
||||||
|
Toast.fail(revokeResult.resultMessage)
|
||||||
|
}
|
||||||
|
this.cancelCaptchaCode()
|
||||||
|
this.sms = ''
|
||||||
|
},
|
||||||
|
cancelCaptchaCode() {
|
||||||
|
this.sendTime = 0
|
||||||
|
this.revokePanelShow = false
|
||||||
|
clearInterval(this.captchaTimer)
|
||||||
|
this.captchaTimer = null
|
||||||
|
this.getCaptcha = false
|
||||||
|
this.captchaMaped = false
|
||||||
|
this.captchaReceiver = ''
|
||||||
|
},
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
statusFormat(val) {
|
statusFormat(val) {
|
||||||
@@ -271,6 +399,11 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
return text
|
return text
|
||||||
|
},
|
||||||
|
phoneNumFilter(phoneNum) {
|
||||||
|
let num = phoneNum.split('')
|
||||||
|
num.splice(3, 4, '****')
|
||||||
|
return num.join('')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -285,7 +418,8 @@ export default {
|
|||||||
prtNo: orderItem.orderInfoDTO.prtNo,
|
prtNo: orderItem.orderInfoDTO.prtNo,
|
||||||
appantName: orderItem.appntDTO.name,
|
appantName: orderItem.appntDTO.name,
|
||||||
insuredName: orderItem.insuredDTOs[0].name,
|
insuredName: orderItem.insuredDTOs[0].name,
|
||||||
orderStatus: orderItem.orderInfoDTO.orderStatus
|
orderStatus: orderItem.orderInfoDTO.orderStatus,
|
||||||
|
appntMobile: orderItem.appntDTO.mobile
|
||||||
}
|
}
|
||||||
let dateToday = new Date()
|
let dateToday = new Date()
|
||||||
dateToday.setHours(0)
|
dateToday.setHours(0)
|
||||||
@@ -448,4 +582,31 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
/deep/ .dialog-delete{
|
||||||
|
padding-bottom: 15px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .dialog-delete .van-dialog__header {
|
||||||
|
padding: 0.5em !important;
|
||||||
|
margin-bottom: 1em !important;
|
||||||
|
border-bottom: 1px solid #eaeaea;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .van-cell {
|
||||||
|
padding: 0;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
border-bottom: 1px solid #eaeaea;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .van-dialog__content {
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.captchaReceiver {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
padding-bottom: 1em;
|
||||||
|
border-bottom: 1px solid #eaeaea;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -77,13 +77,13 @@
|
|||||||
<div class="pv12 border-bd">{{ riskFactor.name }}</div>
|
<div class="pv12 border-bd">{{ riskFactor.name }}</div>
|
||||||
<div class="duty">
|
<div class="duty">
|
||||||
<div class="flex justify-content-s border-bd pv10 align-items-c" v-for="(dutyItem, dutyItemIndex) in riskFactor.rules" :key="dutyItemIndex">
|
<div class="flex justify-content-s border-bd pv10 align-items-c" v-for="(dutyItem, dutyItemIndex) in riskFactor.rules" :key="dutyItemIndex">
|
||||||
<span v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040' || item.productCode == 'GFRS_M0044')" class="fs14 w100"
|
<span v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040' || item.productCode == 'GFRS_M0044' || item.productCode == 'GFRS_M0046')" class="fs14 w100"
|
||||||
>{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span
|
>{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span
|
||||||
>
|
>
|
||||||
<span v-else class="fs14 w100">{{ dutyItem.dutyName }}</span>
|
<span v-else class="fs14 w100">{{ dutyItem.dutyName }}</span>
|
||||||
<div class="flex relative">
|
<div class="flex relative">
|
||||||
<van-stepper
|
<van-stepper
|
||||||
v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040' || item.productCode == 'GFRS_M0044')"
|
v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040' || item.productCode == 'GFRS_M0044' || item.productCode == 'GFRS_M0046')"
|
||||||
v-model="dutyItem.defaultDutyAmt"
|
v-model="dutyItem.defaultDutyAmt"
|
||||||
:min="dutyItem.minDutyAmt"
|
:min="dutyItem.minDutyAmt"
|
||||||
:max="dutyItem.maxDutyAmt"
|
:max="dutyItem.maxDutyAmt"
|
||||||
@@ -478,7 +478,11 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
if (item.mainRiskCode == 'GFRS_M0046') {
|
||||||
|
if(this.saleInsuredPersonInfo.relationToAppnt == 1){
|
||||||
|
this.isEnterAddtionRiskListFunc();
|
||||||
|
}
|
||||||
|
}
|
||||||
let payEndYearVal
|
let payEndYearVal
|
||||||
//初始化时交费期间为一次性交清时,在就是中介渠道, 附加险GFRS_A0007,GFRS_A0009去掉后,附加险list就为空--隐藏’附‘icon
|
//初始化时交费期间为一次性交清时,在就是中介渠道, 附加险GFRS_A0007,GFRS_A0009去掉后,附加险list就为空--隐藏’附‘icon
|
||||||
item.calFactorLst.map(i => {
|
item.calFactorLst.map(i => {
|
||||||
@@ -1722,6 +1726,42 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
|
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
|
||||||
|
} else if (productCode == 'GFRS_M0046') {
|
||||||
|
//被保险人年龄如果在50-65区间
|
||||||
|
if (this.saleInsuredPersonInfo.age >= 51 && this.saleInsuredPersonInfo.age <= 60) {
|
||||||
|
//使用rules规则里的第二条控制保额份数
|
||||||
|
// 年龄在51周岁及以上被保险人,投保本险种时,最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
|
||||||
|
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
|
||||||
|
this.$toast('51周岁-60周岁最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。')
|
||||||
|
this.nextStepFlag = true
|
||||||
|
} else {
|
||||||
|
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
|
||||||
|
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
|
||||||
|
this.$toast('51周岁-60周岁最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。')
|
||||||
|
this.nextStepFlag = true
|
||||||
|
} else {
|
||||||
|
this.mainRiskInfluenceAddRisk()
|
||||||
|
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
|
||||||
|
this.getTrial()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//年龄在0-50周岁被保险人,投保本险种时,最低基本保险金额为50000元,超过最低基本保险金额为10000元整数倍。
|
||||||
|
} else if (this.saleInsuredPersonInfo.age >= 0 && this.saleInsuredPersonInfo.age <= 50) {
|
||||||
|
//使用rules规则里的第一条控制保额份数
|
||||||
|
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
|
||||||
|
this.$toast('0周岁-50周岁最低基本保险金额为50000元。超过最低基本保险金额为10000元整数倍。')
|
||||||
|
this.nextStepFlag = true
|
||||||
|
} else {
|
||||||
|
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
|
||||||
|
this.$toast('0周岁-50周岁最低基本保险金额为50000元。超过最低基本保险金额为10000元整数倍。')
|
||||||
|
this.nextStepFlag = true
|
||||||
|
} else {
|
||||||
|
this.mainRiskInfluenceAddRisk()
|
||||||
|
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
|
||||||
|
this.getTrial()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
|
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
|
||||||
if (Number(defalutValue) < Number(min)) {
|
if (Number(defalutValue) < Number(min)) {
|
||||||
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
|
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
|
||||||
@@ -1861,7 +1901,8 @@ export default {
|
|||||||
if (
|
if (
|
||||||
this.trialList[index].productCode == 'GFRS_M0024' ||
|
this.trialList[index].productCode == 'GFRS_M0024' ||
|
||||||
this.trialList[index].productCode == 'GFRS_M0040' ||
|
this.trialList[index].productCode == 'GFRS_M0040' ||
|
||||||
this.trialList[index].productCode == 'GFRS_M0044'
|
this.trialList[index].productCode == 'GFRS_M0044' ||
|
||||||
|
this.trialList[index].productCode == 'GFRS_M0046'
|
||||||
) {
|
) {
|
||||||
riskItem['dutyLst'] = this.trialInfos[index].duty
|
riskItem['dutyLst'] = this.trialInfos[index].duty
|
||||||
}
|
}
|
||||||
@@ -1914,7 +1955,8 @@ export default {
|
|||||||
|
|
||||||
//国富人寿桂企保重大疾病保险产品专写
|
//国富人寿桂企保重大疾病保险产品专写
|
||||||
this.trialInfos.map((v, i) => {
|
this.trialInfos.map((v, i) => {
|
||||||
if (v.productCode == 'GFRS_M0024' || v.productCode == 'GFRS_M0040' || v.productCode == 'GFRS_M0044') {
|
if (v.productCode == 'GFRS_M0024' || v.productCode == 'GFRS_M0040' || v.productCode == 'GFRS_M0044'
|
||||||
|
|| v.productCode == 'GFRS_M0046') {
|
||||||
delete riskDTOLst[i].duty
|
delete riskDTOLst[i].duty
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user