Compare commits

...

6 Commits

Author SHA1 Message Date
种岩宁
65e2642dea 新增卡单出单支付调用接口 2024-06-28 11:53:13 +08:00
liu.xiaofeng@ebiz-digits.com
f937a9c376 修改卡单被保人职业类型 2024-05-29 13:07:22 +08:00
liu.xiaofeng@ebiz-digits.com
6975dbd2a4 选择产品页面提交页面增加判断 2024-05-09 10:03:06 +08:00
liu.xiaofeng@ebiz-digits.com
0d07f33c20 双录改动 2024-05-08 22:48:51 +08:00
liu.xiaofeng@ebiz-digits.com
b4cdafbd9b 双录调整 2024-05-08 22:48:45 +08:00
liu.xiaofeng@ebiz-digits.com
88ade7e51c 广西壮族自治区农村信用社联合社需要改为广西农村商业联合银行股份有限公司 2024-04-28 14:59:03 +08:00
6 changed files with 188 additions and 167 deletions

View File

@@ -3,7 +3,7 @@
* @Date: 2021-03-26 10:38:37
* @LastEditTime: 2021-04-02 16:10:30
* @LastEditors: PangXingYue
* @Description:
* @Description:
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js
*/
// 卡单接口
@@ -95,7 +95,7 @@ export function getPayTemp(data) {
//
export function getShareParam(data) {
return request({
url: getUrl('/customer/account/getShareParam', 1),
url: getUrl('/customer/account/getShareParam', 1),
method: 'post',
data
})
@@ -168,4 +168,12 @@ export function deleteGroupCardByInsured(data) {
method: 'post',
data
})
}
}
// 不让跨天支付 单新契约出单跨天支付流程优化
export function cardContIsPay(data) {
return request({
url: getUrl('/sale/card/contIsPay', 1),
method: 'post',
data
})
}

View File

@@ -683,8 +683,8 @@ let bankListJson = [
},
{
code: '50002',
name: '广西壮族自治区农村信用社联合社',
child: [{ code: '402611099974', name: '广西壮族自治区农村信用社联合社' }]
name: '广西农村商业联合银行股份有限公司',
child: [{ code: '402611099974', name: '广西农村商业联合银行股份有限公司' }]
},
{
code: '20041',

View File

@@ -198,7 +198,7 @@ Vue.use(Checkbox).use(CheckboxGroup)
Vue.use(Field)
Vue.use(Button)
import { acceptInsurance, getBankList, underWrite, getOrderDetail } from '@/api/ebiz/sale/sale'
import { saveOrUpdateAccount, getPayTemp, getShareParam } from '@/api/ebiz/cardList/cardList.js'
import { saveOrUpdateAccount, getPayTemp, getShareParam, cardContIsPay } from '@/api/ebiz/cardList/cardList.js'
import BankCardScan from '@/components/ebiz/sale/BankCardScan'
import areaList from '@/assets/js/utils/area'
import Loading from '@/components/ebiz/Loading'
@@ -219,7 +219,7 @@ export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
insuredDTOs:[],//被保人信息
insuredDTOs: [], //被保人信息
// 银行卡支付图片地址
src: this.$assetsUrl + 'images/cardImg.png',
// 微信支付图片地址
@@ -291,7 +291,7 @@ export default {
accBankCity: '',
areaStr: '',
mainRiskCode: '',
isGroupCard:'' //1 团险标识
isGroupCard: '' //1 团险标识
}
},
created() {
@@ -311,9 +311,9 @@ export default {
this.bankListName = orderDetail.orderAccountDTO.bankName
this.orderStatus = orderDetail.orderInfoDTO.orderStatus
localStorage.orderNo = orderDetail.orderInfoDTO.orderNo
orderDetail.insuredDTOs.forEach(item=>{
item.riskDTOLst.forEach(ii=>{
if(ii.isMainRisk == '0'){
orderDetail.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((ii) => {
if (ii.isMainRisk == '0') {
this.mainRiskCode = ii.mainRiskCode
}
})
@@ -478,7 +478,7 @@ export default {
let data = {
operateType: 'bank_type'
}
getBankList(data).then(res => {
getBankList(data).then((res) => {
if (res.result == '0') {
console.log('银行卡列表', res.content)
self.bankList = res.content
@@ -496,23 +496,23 @@ export default {
},
getPayTemp() {
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
.then(res => {
.then((res) => {
if (res.result == '0') {
this.noEdit = res.content.flag != 'false'
}
})
.catch(e => {
.catch((e) => {
console.error(e)
})
},
// 获取支付详情
getOrderDetail() {
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then(res => {
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then((res) => {
if (res.result == '0') {
this.insuredDTOs = res.orderDTO.insuredDTOs
res.orderDTO.insuredDTOs.forEach(item=>{
item.riskDTOLst.forEach(ii=>{
if(ii.isMainRisk == '0'){
res.orderDTO.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((ii) => {
if (ii.isMainRisk == '0') {
this.mainRiskCode = ii.mainRiskCode
}
})
@@ -544,7 +544,7 @@ export default {
result: '',
resultMessage: '交易处理成功',
uwResult: '02',
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
}
// this.bankListName = res.orderDTO.orderAccountDTO.bankName
this.underWriteData.bankCode =
@@ -573,7 +573,7 @@ export default {
result: '',
resultMessage: '交易处理失败',
uwResult: '00',
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
}
// window.localStorage.setItem('underWriteData', JSON.stringify(underWriteData))
this.$toast(res.resultMessage)
@@ -615,21 +615,38 @@ export default {
if (true !== valid) {
return this.$toast(this.$validator.errors.all()[0])
}
switch (this.orderStatus) {
case '56':
case '57':
this.payMent()
break
// case '02':
// break
default:
if (!this.noEdit) {
this.payMent(true)
return true
} else {
this.acceptInsurance()
return this.$toast('当前不可支付')
}
let data = {
orderNo: window.localStorage.getItem('orderNo')
}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// 支付之前要先调用一下是否跨天,不让跨天支付 过了24点 保费不一样 CYN 2024.06.28
let res = await cardContIsPay(data)
this.$toast.clear()
if (res.result == '0') {
switch (this.orderStatus) {
case '56':
case '57':
this.payMent()
break
// case '02':
// break
default:
if (!this.noEdit) {
this.payMent(true)
return true
} else {
this.acceptInsurance()
return this.$toast('当前不可支付')
}
}
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
},
acceptInsurance() {
@@ -638,7 +655,7 @@ export default {
cardOrder: 'cardOrder',
payType: this.radio
}
acceptInsurance(data).then(res => {
acceptInsurance(data).then((res) => {
// this.$jump({
// flag: 'h5',
// extra: {
@@ -748,13 +765,44 @@ export default {
let res = await saveOrUpdateAccount(data)
this.$toast.clear()
if (res.result == '0') {
if(this.mainRiskCode == 'GFRS_M0058'){
if (this.mainRiskCode == 'GFRS_M0058') {
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {})
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
}
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
} else {
if (this.mainRiskCode == 'GFRS_M0058') {
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
@@ -764,42 +812,8 @@ export default {
})
this.acceptInsurance()
})
.catch(() => {
})
}else{
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
}
.catch(() => {})
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
} else {
if(this.mainRiskCode == 'GFRS_M0058'){
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {
})
}else{
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -808,7 +822,6 @@ export default {
})
this.acceptInsurance()
}
}
},
// 选择微信支付校验身份证类型

View File

@@ -272,6 +272,7 @@
label='职业类别'
placeholder='请输入'
name='职业类别'
readonly
:value='insuredInfo.occupationName'
right-icon='arrow'
/>
@@ -605,8 +606,7 @@
>元
</van-button
>
<van-goods-action-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000'
style='border-radius: 0em; width: 50%; height: 40px' />
<van-goods-action-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000' style='border-radius: 0em; width: 50%; height: 40px' />
</van-goods-action>
<!-- <van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息"> -->
@@ -679,6 +679,7 @@ import Vue from 'vue'
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
import riskRules from '../common/risk-rules'
import occupationList from '@/components/ebiz/occipation/data/occupation'
import {idNoCheck8} from "../sale/js/verification";
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
Vue.use(Checkbox).use(CheckboxGroup)
@@ -1833,9 +1834,14 @@ export default {
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
//2516--三个学平险--被保险人职业类别默认学生允许修改
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|| this.itemProductDTOS.productCode === 'GFRS_M0062' || this.itemProductDTOS.productCode === 'GFRS_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064') {
|| this.itemProductDTOS.productCode === 'GFRS_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
} else if (this.itemProductDTOS.productCode === 'GFRS_M0062') {
this.insuredInfo.occupationCode = '2099908'
this.insuredInfo.occupationName = '学龄前儿童'
this.insuredInfo.occupationType = '1'
} else {
this.insuredInfo.occupationCode = data.occupationCode
this.insuredInfo.occupationName = data.occupationName
@@ -2064,6 +2070,11 @@ export default {
// return this.$toast('户口本的证件号码长度应等于18位')
// }
}
else if (this.userInfo.idType == '8') {
if (idNoCheck8(this.userInfo,'cardList').text){
return this.$toast(idNoCheck8(this.userInfo,'cardList').text)
}
}
let insuredAge = utilsAge.getAge(this.insuredInfo.birthday, new Date(this.cvaliDate))
console.log('计算年龄', insuredAge)
//如果证件类型是身份证或户口本
@@ -2203,6 +2214,11 @@ export default {
return this.$toast('您填写的证件号码有误')
}
}
else if (this.insuredInfo.idType == '8') {
if (idNoCheck8(this.insuredInfo,'cardList').text){
return this.$toast(idNoCheck8(this.insuredInfo,'cardList').text)
}
}
if (this.itemProductDTOS.productCode === 'GFRS_M0022') {
// return
// 如果是未成年人
@@ -2751,10 +2767,11 @@ export default {
// GFRS-2641--被保险人职业:幼儿园版默认学龄前儿童,义务教育、高中/高等教育默认一般学生
// 被保险人婚姻默认未婚,允许修改
// 被保险人手机及邮箱默认投保人,允许修改
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050' || this.itemProductDTOS.productCode === 'GFRS_M0062'
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|| this.itemProductDTOS.productCode === 'GFRS_M0064') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.mobile = this.userInfo.mobile
this.insuredInfo.email = this.userInfo.email
@@ -2766,8 +2783,22 @@ export default {
// this.isInsuredCertiexpiredate = false
this.isInsuredCertiexpiredate = true
} else if (this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode === 'GFRS_M0063') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.idType = '2'
// this.insuredInfo.effectiveDateType = true
// this.insuredInfo.certiexpiredate = '9999-12-31'
// 去掉--选择户口本时是否长期默认为是不可点击有效止期隐藏证件类型为户口本时被保人年龄小于16周岁时户口本有效止期长期变更为第16周岁日期
// this.effectiveDateTypeAbleInsured = true
// this.isInsuredCertiexpiredate = false
this.isInsuredCertiexpiredate = true
}
else if (this.itemProductDTOS.productCode === 'GFRS_M0062') {
this.insuredInfo.occupationCode = '2099908'
this.insuredInfo.occupationName = '学龄前儿童'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.idType = '2'
// this.insuredInfo.effectiveDateType = true
@@ -2784,6 +2815,7 @@ export default {
// this.insuredInfo.effectiveDateType = true
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
// 去掉--选择户口本时是否长期默认为是不可点击有效止期隐藏证件类型为户口本时被保人年龄小于16周岁时户口本有效止期长期变更为第16周岁日期
this.effectiveDateTypeAbleInsured = true

View File

@@ -750,6 +750,10 @@
if (this.chooseProducts.length == 0) {
return this.$toast('请添加产品')
}
if(!this.isElecCont && localStorage.isFrom == 'sale') {
this.$toast('请选择保单形式')
return false
}
//重新校验该产品是否需要为协同单位
let flagCompany = await riskRules.checkCompany(this.chooseProducts[0].riskCode, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,this)
if (flagCompany && localStorage.isFrom != 'proposal') {
@@ -817,6 +821,32 @@
}
}
}
if(this.manageComCode == '45') {
console.log(this.chooseProducts)
if(this.appntDTO.age >= 60) {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
if(!showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
}
}
if (showFlag) {
this.thisdoubledialogshow = true
} else {
@@ -961,35 +991,6 @@
}
})
},
async showTipForDoubleRecord() {
//判断投保人年龄是否大于等于60岁
let showFlag = false
let age = this.appntDTO.birthday?utilsAge.getAge(this.appntDTO.birthday, new Date()):this.appntDTO.age
if (this.manageComCode == '52') {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
}
if(showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
return showFlag
},
nextPageShow() {
let thismyurl = ''
if (this.$route.query.orderNo) {
@@ -1001,47 +1002,30 @@
localStorage.fromAddBeneficiaryInfo = ''
localStorage.removeItem('applicant')
if(this.isFrom == 'sale') {
if(!this.isElecCont) {
this.$toast('请选择保单形式')
return false
let params = {
orderNO: this.$route.query.orderNo,
isElecCont: this.isElecCont
}
else {
let params = {
orderNO: this.$route.query.orderNo,
isElecCont: this.isElecCont
if(this.isElecCont == '1') {
params.isElecCont = '0'
}
saveOrderType(params).then(res => {
if(res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + '/#' + thismyurl,
needRefresh: '1'
},
routerInfo: {
path: thismyurl
}
})
} else {
this.$toast(res.resultMessage)
}
if(this.isElecCont == '1') {
params.isElecCont = '0'
}
saveOrderType(params).then(res => {
if(res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + '/#' + thismyurl,
needRefresh: '1'
},
routerInfo: {
path: thismyurl
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// forbidSwipeBack: '1',
// url: location.origin + '/#' + thismyurl,
// needRefresh: '1'
// },
// routerInfo: {
// path: thismyurl
// }
// })
}
})
} else {
this.$jump({
flag: 'h5',

View File

@@ -1487,26 +1487,10 @@
this.$CacheUtils.setLocItem('orderNo', resultData.orderNo)
// localStorage.insuredDetail = JSON.stringify(this.userInfo)
// 添加提示
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if (age >= 60 && this.manageComCode == '45') {
this.thisdoubledialogshow = true
// this.$dialog
// .alert({
// message: '根据监管要求,本单需要您配合对销售过程进行录音录像!',
// confirmButtonColor: '#000000',
// })
// .then(() => {
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
// },
// routerInfo: {
// path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
// },
// })
// })
} else {
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// if (age >= 60 && this.manageComCode == '45') {
// this.thisdoubledialogshow = true
// } else {
this.$jump({
flag: 'h5',
extra: {
@@ -1516,7 +1500,7 @@
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
},
})
}
// }
} else {
this.$toast(resultData.resultMessage)
}