投保流程-支付调通

This commit is contained in:
pang.lizong
2019-09-25 21:38:08 +08:00
parent c7f27e454a
commit 935d27d1b0
3 changed files with 82 additions and 42 deletions

View File

@@ -27,40 +27,40 @@
</van-cell-group>
<!-- 第三方支付所需表单 -->
<form ref="payForm" action="http://10.10.100.84:7003/s3-modules-gateway/embed/gateway.action" method="post">
<input name="TransSource" type="text" v-model="payParam.TransSource" />
<input name="TransDate" type="text" v-model="payParam.TransDate" />
<input name="TransTime" type="text" v-model="payParam.TransTime" />
<input name="TransSeq" type="text" v-model="payParam.TransSeq" />
<input name="Version" type="text" v-model="payParam.Version" />
<input name="RdSeq" type="text" v-model="payParam.RdSeq" />
<input name="PaymentCode" type="text" v-model="payParam.PaymentCode" />
<input name="PayType" type="text" v-model="payParam.PayType" />
<input name="SettleMode" type="text" v-model="payParam.SettleMode" />
<input name="ApplyEntity" type="text" v-model="payParam.ApplyEntity" />
<input name="Cur" type="text" v-model="payParam.Cur" />
<input name="OurAmount" type="text" v-model="payParam.OurAmount" />
<input name="FixUser" type="text" v-model="payParam.FixUser" />
<input name="Insurer" type="text" v-model="payParam.Insurer" />
<input name="CertType" type="text" v-model="payParam.CertType" />
<input name="CertNum" type="text" v-model="payParam.CertNum" />
<input name="OppBank" type="text" v-model="payParam.OppBank" />
<input name="OppAct" type="text" v-model="payParam.OppAct" />
<input name="OppActName" type="text" v-model="payParam.OppActName" />
<input name="CellPhone" type="text" v-model="payParam.CellPhone" />
<input name="ExpireDate" type="text" v-model="payParam.ExpireDate" />
<input name="Purpose" type="text" v-model="payParam.Purpose" />
<input name="Memo" type="text" v-model="payParam.Memo" />
<input name="Description" type="text" v-model="payParam.Description" />
<input name="SourceNotecode" type="text" v-model="payParam.SourceNotecode" />
<input name="ReturnURL" type="text" v-model="payParam.ReturnURL" />
<input name="NotifyURL" type="text" v-model="payParam.NotifyURL" />
<input name="SaleChannel" type="text" v-model="payParam.SaleChannel" />
<input name="ReqReserved1" type="text" v-model="payParam.ReqReserved1" />
<input name="ReqReserved2" type="text" v-model="payParam.ReqReserved2" />
<input name="ReqReserved3" type="text" v-model="payParam.ReqReserved3" />
<input name="ReqReserved4" type="text" v-model="payParam.ReqReserved4" />
<input name="ReqReserved5" type="text" v-model="payParam.ReqReserved5" />
<input name="S3Sign" type="text" v-model="payParam.S3Sign" />
<input name="TransSource" type="hidden" v-model="payParam.TransSource" />
<input name="TransDate" type="hidden" v-model="payParam.TransDate" />
<input name="TransTime" type="hidden" v-model="payParam.TransTime" />
<input name="TransSeq" type="hidden" v-model="payParam.TransSeq" />
<input name="Version" type="hidden" v-model="payParam.Version" />
<input name="RdSeq" type="hidden" v-model="payParam.RdSeq" />
<input name="PaymentCode" type="hidden" v-model="payParam.PaymentCode" />
<input name="PayType" type="hidden" v-model="payParam.PayType" />
<input name="SettleMode" type="hidden" v-model="payParam.SettleMode" />
<input name="ApplyEntity" type="hidden" v-model="payParam.ApplyEntity" />
<input name="Cur" type="hidden" v-model="payParam.Cur" />
<input name="OurAmount" type="hidden" v-model="payParam.OurAmount" />
<input name="FixUser" type="hidden" v-model="payParam.FixUser" />
<input name="Insurer" type="hidden" v-model="payParam.Insurer" />
<input name="CertType" type="hidden" v-model="payParam.CertType" />
<input name="CertNum" type="hidden" v-model="payParam.CertNum" />
<input name="OppBank" type="hidden" v-model="payParam.OppBank" />
<input name="OppAct" type="hidden" v-model="payParam.OppAct" />
<input name="OppActName" type="hidden" v-model="payParam.OppActName" />
<input name="CellPhone" type="hidden" v-model="payParam.CellPhone" />
<input name="ExpireDate" type="hidden" v-model="payParam.ExpireDate" />
<input name="Purpose" type="hidden" v-model="payParam.Purpose" />
<input name="Memo" type="hidden" v-model="payParam.Memo" />
<input name="Description" type="hidden" v-model="payParam.Description" />
<input name="SourceNotecode" type="hidden" v-model="payParam.SourceNotecode" />
<input name="ReturnURL" type="hidden" v-model="payParam.ReturnURL" />
<input name="NotifyURL" type="hidden" v-model="payParam.NotifyURL" />
<input name="SaleChannel" type="hidden" v-model="payParam.SaleChannel" />
<input name="ReqReserved1" type="hidden" v-model="payParam.ReqReserved1" />
<input name="ReqReserved2" type="hidden" v-model="payParam.ReqReserved2" />
<input name="ReqReserved3" type="hidden" v-model="payParam.ReqReserved3" />
<input name="ReqReserved4" type="hidden" v-model="payParam.ReqReserved4" />
<input name="ReqReserved5" type="hidden" v-model="payParam.ReqReserved5" />
<input name="S3Sign" type="hidden" v-model="payParam.S3Sign" />
</form>
</div>
<!-- <van-button class="m-btn fr" type="danger" @click="submit">确定</van-button>
@@ -173,7 +173,7 @@ export default {
this.$forceUpdate()
let thisRef = this
this.$nextTick(()=>{
thisRef.$refs.payForm.submit()// 表单提交,发起支付,跳至收银台
// thisRef.$refs.payForm.submit()// 表单提交,发起支付,跳至收银台
})
window.localStorage.setItem('resMessage', res.resultMessage)

View File

@@ -1,5 +1,5 @@
<template>
<div class="payResult-container">
<div class="payResult-container" v-if="isReady">
<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'" />
@@ -13,7 +13,7 @@
</div>
<van-cell-group>
<van-cell title="投保人" :value="payInfo.appntName" v-if="payInfo.appntName != ''" />
<van-cell title="付款人" :value="payInfo.appntName" v-if="payInfo.appntName != ''" />
<van-cell title="投保单号" :value="payInfo.prtNo" />
<van-cell title="支付金额" :value="`${payInfo.amnt}元` | moneyFormat" v-if="payInfo.amnt != ''" />
</van-cell-group>
@@ -46,6 +46,12 @@ import {getPayState} from '@/api/ebiz/sale/sale'
export default {
data() {
return {
// 保融收银台返回的支付流水号
paySeqNo:'',
// 接口返回数据前,不做页面渲染
isReady:false,
// 是否已重新获取支付状态。(首次进入本页,立即查询支付结果。如果是‘支付中’,两秒后再次(最后一次)再次获取一次支付状态。)
isReloaded:false,
// 结果原因
resMessage: '',
// 支付结果
@@ -69,10 +75,23 @@ export default {
[CellGroup.name]: CellGroup
},
methods: {
// 返回列表页 原来的2019-09-25
// next() {
// this.$jump({
// flag: 'goBack',
//
// routerInfo: {
// path: '/sale/list'
// }
// })
// },
// 返回列表页
next() {
this.$jump({
flag: 'goBack',
flag: 'h5',
extra: {
url: location.origin + '/#/sale/list'
},
routerInfo: {
path: '/sale/list'
@@ -81,9 +100,29 @@ export default {
},
// 查询支付状态
queryPayState(){
let data = {orderNo:this.payParam.orderNo}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let data = {orderNo:this.paySeqNo}
getPayState(data).then(res=>{
this.$toast.clear()
this.isReady = true
console.log('----支付结果查询', JSON.stringify(res))
if(res.result == '0') {
this.payStatus = res.payStatus
this.payInfo = {appntName:res.appntName,prtNo:res.prtNo,amnt:res.amnt}
// 如果是支付中2秒后重新获取一次支付状态
if(this.payStatus == '4' && !this.isReloaded){
this.isReloaded = true
setTimeout(()=>{this.queryPayState()},2000)
}
}else{
this.$toast(res.resultMessage)
}
})
},
// 重新支付
@@ -108,13 +147,14 @@ export default {
that.resMessage = window.localStorage.getItem('resMessage').replace(/\\n/g, '<br>')
}
this.payParam = this.$route.query
this.paySeqNo = this.$route.query.RdSeq
console.log('----paySeqNo:',this.paySeqNo)
console.log('--支付结果页查询参数:', this.payParam)
if(true) { // todo: 参数校验
// 两秒后去查询支付结果
setTimeout(()=>{
this.queryPayState()
}, 2000)
}, 0)// 立即执行
}
// console.log(that.resultMessage)

View File

@@ -700,7 +700,7 @@ export default {
message: '加载中……'
})
let data = {
orderNo: this.$route.query.orderNo
orderNo: window.localStorage.getItem('orderNo')
}
getOrderDetail(data).then(res => {
if (res.result == '0') {