Merge branch 'feature/GFRS-247【待确定】卡单产品投保' into release/0430

This commit is contained in:
tian.guangyuan
2020-04-30 15:47:41 +08:00
5 changed files with 145 additions and 79 deletions

View File

@@ -74,3 +74,12 @@ export function getOrderList(data) {
data
})
}
// 获取订单支付状态
export function getPayTemp(data) {
return request({
url: getUrl('/sale/insure/getPayTemp', 1),
method: 'post',
data
})
}

View File

@@ -56,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>
@@ -79,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',
@@ -292,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)

View File

@@ -28,32 +28,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>
<!-- 第三方支付所需表单 -->
@@ -115,7 +144,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 config from '@/config'
export default {
@@ -188,7 +217,8 @@ export default {
tradeState: '' // 状态
},
gotPayParam: false, // 是否已正确获取支付参数,
payStatus: '' // 接口返回的支付状态
payStatus: '', // 接口返回的支付状态
noEdit: true
}
},
created() {},
@@ -216,6 +246,8 @@ export default {
// } else {
// 再次支付 调详情 获取信息
this.getOrderDetail()
this.getPayTemp()
// this.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
// }
// console.log('--自核结果--支付信息:', JSON.stringify(this.underWriteData))
@@ -319,9 +351,9 @@ export default {
},
// 获取银行列表的focus
focus() {
if (this.orderStatus == '56') {
this.show = true
}
// if (this.orderStatus == '56') {
this.show = true
// }
},
// 获取银行卡列表
getBankList() {
@@ -345,6 +377,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 => {
@@ -428,11 +471,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() {
@@ -487,7 +535,7 @@ export default {
})
},
// 点击支付
async payMent() {
async payMent(flag) {
let data = {
orderDTO: {
orderInfoDTO: {
@@ -526,18 +574,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)
}

View File

@@ -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(() => {

View File

@@ -358,7 +358,7 @@ export default {
// homeArea: '1', //家庭区
// homeAddress: '1', //详细地址
mobile: '', //移动电话
email: '', //电子邮箱
email: '' //电子邮箱
// effectiveDate: '' //指定生效日期
},
//被保人信息