mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-24 09:02:52 +08:00
Merge branch 'feature/GFRS-247【待确定】卡单产品投保' into feature/GFRS-1036【待确定】微信支付-卡单微信支付
# Conflicts: # src/views/ebiz/cardList/Pay.vue
This commit is contained in:
@@ -74,3 +74,12 @@ export function getOrderList(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取订单支付状态
|
||||
export function getPayTemp(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/insure/getPayTemp', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -43,7 +43,10 @@
|
||||
<div class="order-container" v-for="(orderItem, index) in NewItems" :key="index">
|
||||
<div class="fs14 fwb mb5">{{ orderItem.riskName }}</div>
|
||||
<div>
|
||||
<span>投保单号:{{ orderItem.orderNo }}</span>
|
||||
<span>投保单号:{{ orderItem.prtNo }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>订单号:{{ orderItem.orderNo }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>投保人:{{ orderItem.appantName }}</span>
|
||||
@@ -53,7 +56,7 @@
|
||||
</div>
|
||||
<div class="flex justify-content-s">
|
||||
<span>订单状态:{{ orderItem.orderStatus | statusFormat }}</span>
|
||||
<div v-if="orderItem.isCanPay && orderItem.orderStatus == '02'">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,7 +79,7 @@
|
||||
import { getCardList, getOrderList } from '@/api/ebiz/cardList/cardList.js'
|
||||
import { Tab, Tabs, List, Sticky } from 'vant'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到订单状态
|
||||
import formatDate from '@/assets/js/utils/date-utils'
|
||||
// import formatDate from '@/assets/js/utils/date-utils'
|
||||
|
||||
export default {
|
||||
name: 'kadantoubao.vue',
|
||||
@@ -279,6 +282,7 @@ export default {
|
||||
orderObj = {
|
||||
riskName: orderItem.insuredDTOs[0].riskDTOLst[0].riskName,
|
||||
orderNo: orderItem.orderInfoDTO.orderNo,
|
||||
prtNo: orderItem.orderInfoDTO.prtNo,
|
||||
appantName: orderItem.appntDTO.name,
|
||||
insuredName: orderItem.insuredDTOs[0].name,
|
||||
orderStatus: orderItem.orderInfoDTO.orderStatus
|
||||
@@ -288,9 +292,9 @@ export default {
|
||||
dateToday.setMinutes(0)
|
||||
dateToday.setSeconds(0)
|
||||
currentTime = dateToday.getTime()
|
||||
compareTime = new Date(orderItem.orderInfoDTO.appntDateStr.replace(/-/g, "/")).getTime()
|
||||
compareTime = new Date(orderItem.orderInfoDTO.appntDateStr.replace(/-/g, '/')).getTime()
|
||||
let tmpSub = compareTime - currentTime
|
||||
if( tmpSub > 0 && tmpSub < 24*60*60*1000){
|
||||
if (tmpSub > 0 && tmpSub < 24 * 60 * 60 * 1000) {
|
||||
orderObj.isCanPay = true
|
||||
}
|
||||
NewItems.push(orderObj)
|
||||
|
||||
@@ -45,32 +45,61 @@
|
||||
clearable
|
||||
required
|
||||
/>
|
||||
<van-field
|
||||
v-model="underWriteData.bankCode"
|
||||
maxlength="19"
|
||||
:readonly="orderStatus != '56'"
|
||||
label="银行卡号"
|
||||
name="银行卡号"
|
||||
placeholder="请输入"
|
||||
required
|
||||
clearable
|
||||
v-validate="'required|bankCard'"
|
||||
data-vv-name="银行卡号"
|
||||
>
|
||||
<van-button slot="button" v-if="orderStatus == '56'" size="small" type="danger" round @click="cardScanning('0')">银行卡扫描</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
:value="bankListName"
|
||||
label="开户银行"
|
||||
name="开户银行"
|
||||
placeholder="请输入"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
@click="focus"
|
||||
right-icon="arrow"
|
||||
data-vv-name="开户银行"
|
||||
required
|
||||
/>
|
||||
|
||||
<template v-if="noEdit">
|
||||
<van-field
|
||||
v-model="underWriteData.bankCode"
|
||||
maxlength="19"
|
||||
readonly
|
||||
label="银行卡号"
|
||||
name="银行卡号"
|
||||
placeholder="请输入"
|
||||
required
|
||||
clearable
|
||||
v-validate="'required|bankCard'"
|
||||
data-vv-name="银行卡号"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
:value="bankListName"
|
||||
label="开户银行"
|
||||
name="开户银行"
|
||||
placeholder="请输入"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
right-icon="arrow"
|
||||
data-vv-name="开户银行"
|
||||
required
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<van-field
|
||||
v-model="underWriteData.bankCode"
|
||||
maxlength="19"
|
||||
label="银行卡号"
|
||||
name="银行卡号"
|
||||
placeholder="请输入"
|
||||
required
|
||||
clearable
|
||||
v-validate="'required|bankCard'"
|
||||
data-vv-name="银行卡号"
|
||||
>
|
||||
<van-button slot="button" size="small" type="danger" round @click="cardScanning('0')">银行卡扫描</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
:value="bankListName"
|
||||
label="开户银行"
|
||||
name="开户银行"
|
||||
placeholder="请输入"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
@click="focus"
|
||||
right-icon="arrow"
|
||||
data-vv-name="开户银行"
|
||||
required
|
||||
/>
|
||||
</template>
|
||||
|
||||
<!-- <van-field v-model="bank" label="开户银行" placeholder="请选择" required @click="focus" readonly v-validate="'required'" data-vv-name="开户银行" /> -->
|
||||
</van-cell-group>
|
||||
<!-- 第三方支付所需表单 -->
|
||||
@@ -138,7 +167,7 @@ Vue.use(Checkbox).use(CheckboxGroup)
|
||||
Vue.use(Field)
|
||||
Vue.use(Button)
|
||||
import { acceptInsurance, getBankList, underWrite, getOrderDetail } from '@/api/ebiz/sale/sale'
|
||||
import { saveOrUpdateAccount } from '@/api/ebiz/cardList/cardList.js'
|
||||
import { saveOrUpdateAccount, getPayTemp } from '@/api/ebiz/cardList/cardList.js'
|
||||
import BankCardScan from '@/components/ebiz/sale/BankCardScan'
|
||||
import Loading from '@/components/ebiz/Loading'
|
||||
import config from '@/config'
|
||||
@@ -219,6 +248,7 @@ export default {
|
||||
},
|
||||
gotPayParam: false, // 是否已正确获取支付参数,
|
||||
payStatus: '', // 接口返回的支付状态
|
||||
noEdit: true,
|
||||
isWeixin, // 是否为微信环境
|
||||
isLoading: false // 分享到微信后的页面loading
|
||||
}
|
||||
@@ -269,6 +299,7 @@ export default {
|
||||
// this.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
// }
|
||||
// console.log('--自核结果--支付信息:', JSON.stringify(this.underWriteData))
|
||||
this.getPayTemp()
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
@@ -370,9 +401,9 @@ export default {
|
||||
},
|
||||
// 获取银行列表的focus
|
||||
focus() {
|
||||
if (this.orderStatus == '56') {
|
||||
this.show = true
|
||||
}
|
||||
// if (this.orderStatus == '56') {
|
||||
this.show = true
|
||||
// }
|
||||
},
|
||||
// 获取银行卡列表
|
||||
getBankList() {
|
||||
@@ -396,6 +427,17 @@ export default {
|
||||
this.underWriteData.bankName = bankCode
|
||||
this.show = false
|
||||
},
|
||||
getPayTemp() {
|
||||
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
|
||||
.then(res => {
|
||||
if (res.result == '0') {
|
||||
this.noEdit = res.content.flag != 'false'
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
console.error(e)
|
||||
})
|
||||
},
|
||||
// 再次支付
|
||||
getOrderDetail() {
|
||||
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then(res => {
|
||||
@@ -489,11 +531,16 @@ export default {
|
||||
case '57':
|
||||
this.payMent()
|
||||
break
|
||||
case '02':
|
||||
this.acceptInsurance()
|
||||
break
|
||||
// case '02':
|
||||
// break
|
||||
default:
|
||||
return this.$toast('当前不可支付')
|
||||
if (!this.noEdit) {
|
||||
this.payMent(true)
|
||||
return true
|
||||
} else {
|
||||
this.acceptInsurance()
|
||||
return this.$toast('当前不可支付')
|
||||
}
|
||||
}
|
||||
},
|
||||
acceptInsurance() {
|
||||
@@ -553,7 +600,7 @@ export default {
|
||||
})
|
||||
},
|
||||
// 点击支付
|
||||
async payMent() {
|
||||
async payMent(flag) {
|
||||
let data = {
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
@@ -592,18 +639,20 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
|
||||
let rs = await this.underWrite()
|
||||
if (!flag) {
|
||||
let rs = await this.underWrite()
|
||||
|
||||
if (rs.result != '0') {
|
||||
this.$toast.clear()
|
||||
return this.$toast(rs.resultMessage)
|
||||
if (rs.result != '0') {
|
||||
this.$toast.clear()
|
||||
return this.$toast(rs.resultMessage)
|
||||
}
|
||||
|
||||
if (rs.uwResult != '02') {
|
||||
return this.$toast(rs.message)
|
||||
}
|
||||
}
|
||||
|
||||
if (rs.uwResult != '02') {
|
||||
return this.$toast(rs.message)
|
||||
} else {
|
||||
this.acceptInsurance()
|
||||
}
|
||||
this.acceptInsurance()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
this.isLoading = false
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
<div class="payResult-header flex justify-content-c align-items-c m15 bg-white flex-direction-colunm">
|
||||
<img :src="srcSuccess" class="payResult-img mb15 pt15" v-if="payStatus == '1'" />
|
||||
<img :src="srcPending" class="payResult-img mb15 pt15" v-if="payStatus == '4' || payStatus == '8'" />
|
||||
<img :src="srcFail" class="payResult-img mb15 pt15" v-if="payStatus == '2'" />
|
||||
<img :src="srcFail" class="payResult-img mb15 pt15" v-if="payStatus == '9'" />
|
||||
<img :src="srcFail" class="payResult-img mb15 pt15" v-if="payStatus == '2' || payStatus == '9'" />
|
||||
<h3 v-if="payStatus == '1'" class="mb10">支付成功</h3>
|
||||
<h3 v-if="payStatus == '4'" class="mb10">支付中...</h3>
|
||||
<h3 v-if="payStatus == '2'" class="mb10">支付失败</h3>
|
||||
<h3 v-if="payStatus == '9'" class="mb10">支付失败</h3>
|
||||
<h3 v-if="payStatus == '2' || payStatus == '9'" class="mb10">支付失败</h3>
|
||||
<span v-if="payStatus == '4'" class="pb10">银行扣款中,请稍后查询</span>
|
||||
<span v-if="payStatus == '8'" class="pb10">线下批扣中……</span>
|
||||
<!-- <span v-if="payStatus == '8'">{{ resMessage }}</span> -->
|
||||
</div>
|
||||
|
||||
<van-cell-group v-if="payStatus == 1">
|
||||
@@ -28,17 +25,29 @@
|
||||
<div v-if="payStatus == '2' || payStatus == '4' || payStatus == '8'" class=" p10 pb250 bg-white">
|
||||
<span v-html="resMessage"></span>
|
||||
</div>
|
||||
<!-- <div class=" p10 pb250 bg-white">
|
||||
<span v-html="resMessage"></span>
|
||||
</div> -->
|
||||
<div class=" p10 pb250 bg-white" v-if="payStatus == '9'">
|
||||
<span class="pt150 fs14">{{ resMessage }}</span>
|
||||
</div>
|
||||
|
||||
<!-- <div class="bottom-btn bg-white" v-if="payStatus == '1' || payStatus == '4' || payStatus == '8'">
|
||||
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">返回首页</van-button>
|
||||
</div> -->
|
||||
<div class="bottom-area bottom-btn flex">
|
||||
<!-- <van-button class="m-btn w250" type="danger" size="normal" @click="rePayMent">重新支付</van-button> -->
|
||||
<van-button size="large" type="danger" @click="next" v-no-more-click="1000">返回首页</van-button>
|
||||
<div class="bottom-btn bg-white" v-if="payStatus == '1' || payStatus == '4' || payStatus == '8'">
|
||||
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">返回首页</van-button>
|
||||
</div>
|
||||
<div class="bottom-area bottom-btn flex" v-if="payStatus == '2' || payStatus == '9'">
|
||||
<van-button class="m-btn w250" type="danger" size="normal" @click="rePayMent">重新支付</van-button>
|
||||
<van-button class="m-btn w250" type="danger" size="normal" @click="next">返回首页</van-button>
|
||||
</div>
|
||||
<!-- <div class="bottom-area bottom-btn flex" v-if="payStatus == '9'">
|
||||
<van-button class="m-btn w250" type="danger" size="normal" @click="rePayMent">重新支付</van-button>
|
||||
<van-button class="m-btn w250" type="danger" size="normal" @click="changeCard">换卡支付</van-button>
|
||||
</div> -->
|
||||
|
||||
<!-- <div class="bottom-area bottom-btn flex"> -->
|
||||
<!-- <van-button class="m-btn w250" type="danger" size="normal" @click="rePayMent">重新支付</van-button> -->
|
||||
<!-- <van-button size="large" type="danger" @click="next" v-no-more-click="1000">返回首页</van-button> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -64,9 +73,7 @@ export default {
|
||||
prtNo: '', // 投保单号
|
||||
amnt: '' // 支付金额
|
||||
},
|
||||
card:{
|
||||
|
||||
},
|
||||
card: {},
|
||||
// 图片
|
||||
srcSuccess: this.$assetsUrl + 'images/success.png',
|
||||
srcPending: this.$assetsUrl + 'images/pending.png',
|
||||
@@ -136,22 +143,22 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 重新支付
|
||||
rePayMent() {
|
||||
// localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
// 重新支付 salelist为 0
|
||||
// localStorage.salelist = '0'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/cardList/pay'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/cardList/pay'
|
||||
}
|
||||
})
|
||||
}
|
||||
// // 重新支付
|
||||
// rePayMent() {
|
||||
// // localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
// // 再次支付 salelist为 0
|
||||
// localStorage.salelist = '0'
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/payMent'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/payMent'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -63,9 +63,9 @@
|
||||
v-validate="'required|mobile'"
|
||||
maxlength="11"
|
||||
/>
|
||||
<van-field v-model="userInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
|
||||
<!-- <van-field v-model="userInfo.workcompany" required label="工作单位" name="工作单位" placeholder="请输入" v-validate="'required'" maxlength="50" clearable /> -->
|
||||
<!-- <template v-if="false">
|
||||
<van-field v-model="userInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
|
||||
<van-field
|
||||
v-model="homeName"
|
||||
readonly
|
||||
@@ -213,10 +213,10 @@
|
||||
<van-checkbox-group v-model="result" ref="checkboxGroup" style="box-sizing:border-box;" class="pl8 pr20 pt10 pb10 bg-white">
|
||||
<van-checkbox name="a" shape="square" icon-size="13px"
|
||||
>本人已仔细阅读并了解
|
||||
<span class="blue" @click.stop="goDocu('http://139.199.50.151:8000/app/product/GFRS_M0022/M0022Notice.pdf', '短期交通卡投保须知')">《投保须知》</span>
|
||||
<span class="blue" @click.stop="goDocu('http://139.199.50.151:8000/app/product/GFRS_M0022/M0022Explain.pdf', '短期交通卡投保声明')">《投保声明》</span>
|
||||
<span class="blue" @click.stop="goDocu($assetsUrl + 'product/GFRS_M0022/M0022Notice.pdf', '短期交通卡投保须知')">《投保须知》</span>
|
||||
<span class="blue" @click.stop="goDocu($assetsUrl + 'product/GFRS_M0022/M0022Explain.pdf', '短期交通卡投保声明')">《投保声明》</span>
|
||||
和
|
||||
<span class="blue" @click.stop="goDocu('http://139.199.50.151:8000/app/product/GFRS_M0022/M0022.pdf', '国富人寿综合交通意外保险2020')"
|
||||
<span class="blue" @click.stop="goDocu($assetsUrl + 'product/GFRS_M0022/M0022.pdf', '国富人寿综合交通意外保险2020')"
|
||||
>《国富人寿综合交通工具意外伤害保险(2020版)条款》</span
|
||||
>
|
||||
等内容,自愿为被保险人投保本保险。<br />
|
||||
@@ -357,8 +357,8 @@ export default {
|
||||
// homeCity: '1', //家庭市
|
||||
// homeArea: '1', //家庭区
|
||||
// homeAddress: '1', //详细地址
|
||||
mobile: '' //移动电话
|
||||
// email: '123@qq.com', //电子邮箱
|
||||
mobile: '', //移动电话
|
||||
email: '' //电子邮箱
|
||||
// effectiveDate: '' //指定生效日期
|
||||
},
|
||||
//被保人信息
|
||||
@@ -687,7 +687,7 @@ export default {
|
||||
this.userInfo.idType = data.customerIdType //证件类型
|
||||
this.userInfo.idNo = data.customerIdNumber //证件类别
|
||||
}
|
||||
// this.userInfo.email = data.email //证件类别
|
||||
this.userInfo.email = data.email //邮箱
|
||||
|
||||
this.userInfo.mobile = data.customerPhone //移动电话
|
||||
// this.userInfo.homeProvince = data.homeProvince //家庭省
|
||||
|
||||
Reference in New Issue
Block a user