c5_labsci/fapp/ciyon_ap/pages/me/cashout_cash.vue
2026-01-27 00:52:00 +08:00

196 lines
6.3 KiB
Vue

<template>
<ciy-header title="提现"></ciy-header>
<view v-if="init.code != 1">
<view class="px4 py4">
<view style="height:2em;width:60%;" class="ciy-skeleton"></view>
<view style="height:1em;width:40%;margin-left:1em;" class="ciy-skeleton"></view>
<view style="height:1em;width:50%;" class="ciy-skeleton"></view>
<view style="height:6em;width:100%;" class="ciy-skeleton"></view>
</view>
</view>
<view v-else>
<view class="ciy-list" v-for="(item,index) in init.cashs" :key="item.id">
<view class="l2">
<text class="kbd">{{cashtype==1?'银行':'微信'}}</text>
{{item.taxmoney==-1?'企业开具发票':'代缴个税 ' + (item.taxmoney/100)+' 元'}}
</view>
<ciy-showimgs label="发票" :src="item.invfile"></ciy-showimgs>
<view class="l2" v-if="item.invcode">发票号码 {{item.invcode}}</view>
<view class="l2" v-if="item.cashtimes>0">操作时间 {{todatetime(item.cashtimes)}}</view>
<view class="l2" v-if="item.cashno">支付编号 {{item.cashno}}</view>
<view class="l2" v-if="item.auditmsg">拒绝原因 {{item.auditmsg}}</view>
<view class="l2" v-if="item.bankaccount">账户名称 {{item.bankaccount}}</view>
<view class="l2" v-if="item.bankno">银行卡号 {{item.bankno}}</view>
<view class="l2" v-if="item.bankname">开户银行 {{item.bankname}}</view>
<view class="l2" v-if="item.bankcode">联行号 {{item.bankcode}}</view>
<view v-if="item.cashstatus==20 && item.cashtype==2">
<button class="btn" @tap="wxrecvpay(index)">立即收款</button>
</view>
<view v-if="item.cashstatus==20 && item.cashtype==1">
<button class="btn" @tap="showinv(index)">上传发票</button>
</view>
<view class="rt"><text class="kbd" :class="ccode(g.cashstatus, item.cashstatus,'clas')">{{ccode(g.cashstatus, item.cashstatus)}}</text></view>
<view class="lb">{{todatetime(item.addtimes)}}</view>
<view class="rb txt-lgg txt-wb">{{item.cashmoney/100}}</view>
</view>
<view class="ciy-card char3" v-if="init.cashs.length==0">
<view class="content">
<view class="ciy-form">
<label>余额</label>
<view class="txt-left">
{{init.user.mycashmoney/100}}元
</view>
</view>
<view class="ciy-form">
<label>可提现</label>
<view class="txt-left">
<ciy-inputbet left bb v-model="editdata.cash" unit="元" bet="100"></ciy-inputbet>
</view>
</view>
<view class="ciy-form">
<label>提现流向</label>
<view class="txt-left">
<ciy-selbool v-model="editdata.cashtype" y="银行" n="微信"></ciy-selbool>
</view>
</view>
<view class="ciy-form">
<label>税务方案</label>
<view class="txt-left">
{{editdata.cashtype==2?'代扣缴个税':(me.truename == me.bankaccount?'代扣缴个税':'对公开具发票')}}
</view>
</view>
<view class="ciy-form" v-if="editdata.cashtype==1">
<label>银行账户</label>
<view class="txt-left">
{{me.bankaccount}}<br />
{{me.bankname}}<br />
{{me.bankno}}<br />
</view>
</view>
<view class="ciy-form-bottom">
<button class="btn lg cc" @tap="cashsubmit">申请提现</button>
</view>
<view class="ciy-tip"><ciy-markdown :md="init.tip"></ciy-markdown></view>
</view>
</view>
<ciy-swipelist v-else title="可提现余额" :right="init.user.mycashmoney/100+'元'"></ciy-swipelist>
</view>
<ciy-swipelist title="提现历史记录" @tap="gourl" data-url="$/pages/me/cashout_lst" more></ciy-swipelist>
<ciy-anipop v-model="popinv" :zindex="991" maskbg="#00000077" title="上传发票">
<view class="bg1 pop">
<view class="ciy-form">
<label class="imp">发票编号</label>
<view>
<ciy-input bb v-model="invedit.invcode" type="text"></ciy-input>
</view>
</view>
<view class="ciy-form">
<label class="imp">上传发票</label>
<view style="height:10em;">
<ciy-upload left num="1" path="cashinv" v-model="invedit.invfile" imgwidth="1600" sourcetype="camera,album,message"></ciy-upload>
</view>
</view>
<view class="px4 py4 txt-center">
<button class="btn lg" @tap="invsubmit">提交</button>
</view>
</view>
</ciy-anipop>
<view :style="{height:header_statusbar_height+'px'}"></view>
</template>
<style>
</style>
<script>
export default {
data() {
return {
popinv: false,
invedit: {}
}
},
onLoad() {
this.getinit();
},
methods: {
async getinit() {
var retjson = await this.callfunc({
func: 'me.cashout_cash_init',
});
if (retjson.code != 1)
return this.alert(retjson.errmsg);
this.init = retjson;
this.editdata.cashtype = 2;
this.editdata.cash = Math.floor(this.init.user.mycashmoney / 100) * 100;
if (this.editdata.cash < 0)
this.editdata.cash = 0;
},
async cashsubmit() {
await this.getauth('bank');
if (this.editdata.cash <= 0)
return this.toast('不可提现');
if (this._loading)
return;
this._loading = true;
var retjson = await this.callfunc({
func: 'me.cashout_cash_submit',
data: this.editdata
});
this._loading = false;
if (retjson.code != 1)
return this.alert(retjson.errmsg);
this.init.user.mycashmoney -= this.editdata.cash;
this.editdata.cash = 0;
this.toast('申请成功');
},
async wxrecvpay(idx) {
if (this._loading)
return;
this._loading = true;
var retjson = await this.callfunc({
func: 'me.cashout_cash_wxrecvpay',
data: {
id: this.init.cashs[idx].id
}
});
this._loading = false;
if (retjson.code != 1)
return this.alert(retjson.errmsg);
wx.requestMerchantTransfer({
mchId: retjson.transfer.mchid,
appId: retjson.transfer.appid,
package: retjson.transfer.package_info,
success: res => {
this.init.cashs.splice(idx, 1);
console.log('success Transfer:', res);
},
fail: (res) => {
console.log('fail Transfer:', res);
},
});
},
showinv(idx) {
this.invedit.id = this.init.cashs[idx].id;
this.popinv = true;
},
async invsubmit(e) {
if (this._loading)
return;
this._loading = true;
var retjson = await this.callfunc({
func: 'me.cashout_cash_inv',
data: this.invedit
});
this._loading = false;
if (retjson.code != 1)
return this.alert(retjson.errmsg);
this.objtolist(this.init.cashs, retjson.data);
this.toast('上传发票成功');
this.popinv = false;
},
}
}
</script>