Files
lucky_shop/pages_tool/member/withdrawal_detail.vue

250 lines
6.1 KiB
Vue

<template>
<page-meta :page-style="themeColor"></page-meta>
<view>
<view class="money-wrap">
<text>{{ detail.apply_money }}</text>
</view>
<!-- 状态0待审核1.待转账2已转账 -1拒绝' -->
<view class="item">
<view class="line-wrap">
<text class="label">当前状态</text>
<text class="value">{{ detail.status_name }}</text>
</view>
<view class="line-wrap">
<text class="label">交易号</text>
<text class="value">{{ detail.withdraw_no }}</text>
</view>
<view class="line-wrap">
<text class="label">手续费</text>
<text class="value">¥{{ detail.service_money }}</text>
</view>
<view class="line-wrap">
<text class="label">申请时间</text>
<text class="value">{{ $util.timeStampTurnTime(detail.apply_time) }}</text>
</view>
<view class="line-wrap" v-if="detail.status">
<text class="label">审核时间</text>
<text class="value">{{ $util.timeStampTurnTime(detail.audit_time) }}</text>
</view>
<view class="line-wrap" v-if="detail.bank_name">
<text class="label">银行名称</text>
<text class="value">{{ detail.bank_name }}</text>
</view>
<view class="line-wrap">
<text class="label">收款账号</text>
<text class="value">{{ detail.account_number }}</text>
</view>
<view class="line-wrap" v-if="detail.status == -1 && detail.refuse_reason">
<text class="label">拒绝理由</text>
<text class="value">{{ detail.refuse_reason }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 2">
<text class="label">转账方式名称</text>
<text class="value">{{ detail.transfer_type_name }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 2">
<text class="label">转账时间</text>
<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
</view>
</view>
<!-- #ifdef H5 -->
<view class="operations" v-if="$util.isWeiXin() && withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="operations" v-if="withdrawInfo.transfer_type && detail.transfer_type == 'wechatpay' && detail.status == 1">
<button class="operation" type="primary" @click="merchantTransfer()">收款</button>
</view>
<!-- #endif -->
<loading-cover ref="loadingCover"></loading-cover>
</view>
</template>
<script>
export default {
data() {
return {
id: 0,
detail: {},
withdrawInfo: {},
requestCount: 0
};
},
async onLoad(option) {
this.id = option.id || 0;
await this.getWithdrawConfig()
if(option.action) this.merchantTransfer();
},
onShow() {
if (this.storeToken) {
this.getDetail();
} else {
this.$util.redirectTo('/pages_tool/login/login', {
back: '/pages_tool/member/point'
}, 'redirectTo');
}
},
onPullDownRefresh() {
this.getDetail();
},
methods: {
merchantTransfer() {
uni.showLoading({})
var app_id = ''
// #ifdef MP
app_id = this.withdrawInfo.weapp_appid;
// #endif
// #ifdef H5
if(this.$util.isWeiXin()){
app_id = this.withdrawInfo.wechat_appid;
}
// #endif
this.$util.merchantTransfer(
{
transfer_type: 'member_withdraw',
id: this.id,
},
{
mch_id: this.withdrawInfo.mch_id,
app_id: app_id,
},
(res)=>{
if (res.err_msg === 'requestMerchantTransfer:ok') {
this.updateStatusToInProcess(()=>{
this.getDetail(true);
});
}
// #ifdef MP
if (res.errMsg === 'requestMerchantTransfer:ok') {
this.updateStatusToInProcess(()=>{
this.getDetail(true);
});
}
// #endif
}
);
},
async getWithdrawConfig() {
let res = await this.$api.sendRequest({
url: '/wechatpay/api/transfer/getWithdrawConfig',
async: false,
});
if (res.code == 0){
this.withdrawInfo = res.data;
}
},
//修改收款状态为收款中
updateStatusToInProcess(callback){
if (this.$refs.loadingCover) this.$refs.loadingCover.show();
this.$api.sendRequest({
url: '/wechatpay/api/transfer/inprocess',
data: {
from_type: 'member_withdraw',
relate_tag : this.id,
},
success: (res)=>{
if(res.code >= 0){
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
typeof callback == 'function' && callback();
}
}
});
},
getDetail(is_loop = false) {
this.$api.sendRequest({
url: '/api/memberwithdraw/detail',
data: {
id: this.id
},
success: res => {
if (res.data) {
this.detail = res.data;
if(is_loop && this.requestCount < 10 && this.detail.status == 3){
this.requestCount++;
setTimeout(()=>{
this.getDetail(true)
},1000)
}
// if(mode && this.detail.status == 1){
// // 提现状态还没有修改
// if(this.requestCount < 10 && this.detail.status == 1){
// this.requestCount++;
// setTimeout(()=>{
// this.getDetail('transferComplete')
// },1000)
// }
// }
uni.stopPullDownRefresh();
}
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
},
fail: res => {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
}
});
}
}
};
</script>
<style lang="scss">
.money-wrap {
text-align: center;
font-size: 50rpx;
font-weight: bold;
margin: 40rpx;
border-bottom: 2rpx solid $color-line;
padding: 40rpx;
}
.item {
margin: 40rpx;
.line-wrap {
margin-bottom: 20rpx;
.label {
display: inline-block;
width: 200rpx;
color: $color-tip;
font-size: $font-size-base;
}
.value {
display: inline-block;
font-size: $font-size-base;
}
}
}
.operations {
margin-top: 60rpx;
bottom: 0;
width: 100%;
// background: #fff;
position: fixed;
padding: 0 30rpx;
box-sizing: border-box;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
z-index: 10;
.operation {
height: 80rpx;
line-height: 80rpx;
border-radius: 80rpx;
margin: 30rpx 0 30rpx;
font-size: $font-size-toolbar;
text {
margin-right: 10rpx;
font-size: $font-size-base;
}
}
}
</style>