提交 09a910fa authored 作者: huaxinzhu's avatar huaxinzhu

我的资产和售后bug修复

上级 664873fe
import request from '@/utils/request'
// 查询bankcard列表
export function listBankcard(query) {
return request({
url: '/system/bankcard/list',
method: 'get',
params: query
})
}
// export function listBankcard(query) {
// return request({
// url: '/system/bankcard/list',
// method: 'get',
// params: query
// })
// }
// 查询银行名称列表
export function listBankname(query) {
// export function listBankname(query) {
// return request({
// url: '/system/bankcard/getBankList',
// method: 'get',
// params: query
// })
// }
// 查询bankcard详细
// export function getBankcard (id) {
// return request({
// url: '/system/bankcard/edit?id='+id,
// method: 'get'
// })
// }
// 修改bankcard
// export function updateBankcard(data) {
// return request({
// url: '/system/bankcard/edit',
// method: 'post',
// data: data
// })
// }
// 删除bankcard
// export function delBankcard(ids) {
// return request({
// url: '/system/bankcard/delete',
// method: 'delete',
// data:{id:ids}
// })
// }
// 我的资产 页面 所有数据
export function getMyAssetListData(data) {
return request({
url: '/local/assets/list',
method: 'post',
data: data
})
}
// 获取 主体信息
export function getOrganizationData(query) {
return request({
url: '/system/bankcard/getBankList',
url: '/local/getOrganization',
method: 'get',
params: query
})
}
// 查询bankcard详细
export function getBankcard (id) {
// 新增 银行卡 信息
export function addBankcardData(data) {
return request({
url: '/system/bankcard/edit?id='+id,
method: 'get'
url: '/system/bank/add',
method: 'post',
data: data
})
}
// 获取 银行卡 详情
export function getBankDetailsData(data) {
return request({
url: '/system/bank/detail',
method: 'post',
data: data
})
}
// 新增bankcard
export function addBankcard(data) {
return request({
url: '/system/bankcard/add',
method: 'post',
data: data
})
// 获取商户银行卡列表
export function getBankcardListData(data) {
return request({
url: '/system/bank/list',
method: 'post',
data: data
})
}
// 修改bankcard
export function updateBankcard(data) {
return request({
url: '/system/bankcard/edit',
method: 'post',
data: data
})
// 账户 删除
export function delBankcardData(data) {
return request({
url: '/system/bank/delete',
method: 'post',
data: data
})
}
// 删除bankcard
export function delBankcard(ids) {
return request({
url: '/system/bankcard/delete',
method: 'delete',
data:{id:ids}
})
// 收支明细 列表
export function getBalanceList(data) {
return request({
url: '/local/asset/getSellerBalanceLogList',
method: 'post',
data: data
})
}
// 提现记录 列表
export function getWithdrawData(data) {
return request({
url: '/system/withdrawlog/list',
method: 'post',
data: data
})
}
// 提现记录 详情
export function getWithdrawlogDetailsData(data) {
return request({
url: '/system/withdrawlog/info',
method: 'post',
data: data
})
}
// 导出商品明细
export function exportGoodsDetailsData(data) {
return request({
url: '/system/withdrawlog/exportWithdrawOrderGoods',
method: 'post',
data: data
})
}
// 获取 所有物流信息
export function getExpressListData(query) {
return request({
url: '/system/order/expressList',
method: 'get',
params: query
})
}
// 上传 发票 图片
export function upLoadImg (data) {
return request({
url: '/system/goodsNew/uploadImage',
method: 'post',
data: data
});
}
// 补充发票
export function addInvoiceData (data) {
return request({
url: '/system/withdrawlog/updateInvoice',
method: 'post',
data: data
});
}
......@@ -2,12 +2,13 @@
<div class="app-container">
<el-card class="box-card">
<div slot="header" class="clearfix">
<el-form class="form-params" :model="queryParams" label-width="auto" :inline="true" size="small">
<el-form class="form-params" :model="queryParams" :inline="true" size="small">
<el-form-item label="关联订单单号:" prop="order_sn">
<el-input
v-model="queryParams.order_sn"
placeholder="请输入关联订单单号"
clearable
style="width:230px"
/></el-form-item>
<el-form-item label="查询时间" prop="searchTime">
......@@ -22,8 +23,8 @@
</el-date-picker>
</el-form-item>
<el-form-item label="变动类型" prop="refund_type">
<el-select v-model="queryParams.refund_type" placeholder="全部类型" clearable >
<el-form-item label="变动类型" prop="change_type">
<el-select v-model="queryParams.change_type" placeholder="全部类型" clearable style="width:130px">
<el-option label="全部类型" :value="0"></el-option>
<el-option label="增加" :value="1" ></el-option>
<el-option label="减少" :value="2"></el-option>
......@@ -36,7 +37,7 @@
</el-form-item>
</el-form>
</div>
<el-table v-loading="loading" :height="tableHeight" :data="assetList">
<el-table v-loading="loading" :height="tableHeight" :data="balanceList">
<!-- <template slot-scope="scope">-->
<!-- <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>-->
<!-- </template>-->
......@@ -45,12 +46,21 @@
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="流水订单号" align="center" prop="BalanceSn"/>
<el-table-column label="变动金额" align="center" prop="ChangeMoney"/>
<el-table-column label="变动类型" align="center" :formatter="formatType" prop="ChangeType"/>
<el-table-column label="变动描述" align="center" :formatter="formatType" prop="ChangeType1"/>
<el-table-column label="变动时间" align="center" :formatter="formatTime" prop="AddTime"/>
<el-table-column label="关联订单单号" align="center" prop="Des"/>
<el-table-column label="流水订单号" align="center" prop="balance_sn"></el-table-column>
<el-table-column label="变动金额" align="center" prop="change_money" width="130">
<template slot-scope="scope">
<span>{{ scope.row.change_money / 100 }}</span>
</template>
</el-table-column>
<el-table-column label="变动类型" align="center" prop="change_type" width="130">
<template slot-scope="scope">
<span v-if="scope.row.change_type == 1">增加</span>
<span v-if="scope.row.change_type == 2">减少</span>
</template>
</el-table-column>
<el-table-column label="变动描述" align="center" prop="des"></el-table-column>
<el-table-column label="变动时间" align="center" :formatter="formatTime" prop="add_time"></el-table-column>
<el-table-column label="关联订单单号" align="center" prop="links_des"></el-table-column>
</el-table>
<!-- 分页 -->
<div class="footer_pagination">
......@@ -69,13 +79,7 @@
</div>
</template>
<script>
import {
listAsset,
getAsset,
delAsset,
addAsset,
updateAsset
} from '@/api/module/asset'
import { getBalanceList } from '@/api/module/bankcard'
import {
dateFormat
} from '@/utils'
......@@ -90,16 +94,17 @@
sellerId: 0,
order_sn: '',
searchTime: [],
refund_type: ''
change_type: ''
},
total: 0,
currentPage: 1,
pageSize: 20,
assetList: [],
balanceList: [],
};
},
created() {
this.queryParams.sellerId = this.$store.state.user.sellerid
// this.queryParams.sellerId = this.$store.state.user.sellerid
/** 查询 收支明细 列表 */
this.getList();
this.$nextTick(() => {
this.fullHeight = document.getElementsByClassName('box-card')[0].clientHeight
......@@ -108,7 +113,7 @@
watch: {
fullHeight(val) {
let formHeight = document.getElementsByClassName('clearfix')[0].clientHeight
this.tableHeight = val - formHeight - 120;
this.tableHeight = val - formHeight - 100;
}
},
methods: {
......@@ -117,28 +122,27 @@
let params = {
page: this.currentPage,
limit: this.pageSize,
seller_id: this.seller_id,
}
if(this.queryParams.order_sn != '') {
params['order_sn'] = this.queryParams.order_sn
}
if(this.queryParams.refund_type == '') {
params['refund_type'] = 0
if(this.queryParams.change_type == '') {
params['change_type'] = 0
}else {
params['refund_type'] = this.queryParams.refund_type
params['change_type'] = this.queryParams.change_type
}
if( this.queryParams.searchTime && this.queryParams.searchTime.length == 2) {
params['created_start_time'] = new Date(this.queryParams.searchTime[0]).getTime() / 1000;
params['created_end_time'] = new Date(this.queryParams.searchTime[1]).getTime() / 1000;
params['start_time'] = new Date(this.queryParams.searchTime[0]).getTime() / 1000;
params['end_time'] = new Date(this.queryParams.searchTime[1]).getTime() / 1000;
}
listAsset(params).then(res => {
getBalanceList(params).then(res => {
if(res.code == 1) {
this.assetList = res.data.list;
this.total = res.data.total;
this.balanceList = res.data.list;
this.total = res.data.count;
}else {
let msg = res.message ? res.message : '查询失败'
this.$message({type: 'error', message: msg});
......@@ -149,10 +153,10 @@
/** 重置 搜索条件 */
resetQuery() {
this.queryParams = { // 查询参数
sellerId: 0,
order_sn: '',
searchTime: [],
refund_type: ''
sellerId: 0,
order_sn: '',
searchTime: [],
change_type: ''
}
this.currentPage = 1
this.pageSize = 20
......@@ -171,20 +175,9 @@
handleQuery() {
},
/********************************** */
formatType(row) {
var types = row.ChangeType
var optDes = ''
if (types == 1) {
optDes = "增加"
} else if (types == 2) {
optDes = "减少"
}
return optDes
},
//格式化时间
/** 时间格式化 */
formatTime(row) {
let Time = row.AddTime;
let Time = row.add_time;
let newtime = "";
if (Time > 0) {
newtime = dateFormat(Time * 1000, "Y-m-d H:i:s");
......@@ -194,7 +187,7 @@
//格式化价格
formatMoney(row) {
var nm = 0;
var money = row.ChangeMoney;
var money = row.change_money;
if (money > 0) {
nm = money / 1000
}
......
<template>
<div class="app-container">
<el-card class="box-card explain">
<div class="pre-details">
<p>1、账户资产说明</p>
<p>(1)、当前余额:是指您当前账户里面的余额,该部分余额包含【可提现余额】和【提现中的金额】</p>
<p>(2)、可提现余额:是指您可以操作提现的余额</p>
<p>(3)、提现中的金额:是指您当前进行中的提现金额,提现中的金额在完成打款前会暂时冻结,直到打款完成</p>
<p>三者的关系:当前余额=可提现余额+提现中的金额</p>
</div>
<div class="pre-details">
<p>2、相关名词说明</p>
<p>(1)、结算:指订单完成并过售后期,订单金额结算到您的可提现余额账户中</p>
<p>(2)、提现:指您操作提现,将可提现余额账户中的钱提现至您的银行卡中</p>
</div>
<div class="pre-details">
<p>3、提现账户管理</p>
<p>(1)、提现账户必须为企业对公账户,且对公账户名称与认证的主体一致</p>
<p>(2)、提现账户不支持个人账户,不支持支付宝账户</p>
<p>(3)、对公账户最多只能添加三个</p>
</div>
<div class="pre-details">
<p>4、提现要求</p>
<p>(1)、提供正确、合规的企业对公账户</p>
<p>(2)、提供提现金额对应订单商品的发票及明细</p>
<p>(3)、提现金额最低要求为100元,如果您的可提现账户余额不足100元,则暂无法提现</p>
</div>
<div class="pre-details">
<p>5、订单结算</p>
<p>(1)、订单自发货日期,10天后自动确认收货,15天后过售后期,订单金额自动结算到可提现余额账户中</p>
<p>(2)、售后中的订单、失效订单等订单不会结算</p>
</div>
<div class="pre-details">
<p>6、操作提现</p>
<p>(1)、在【我的资产】中,点击提现按钮,根据提示验证支付密码及手机验证码,验证通过后即可提现</p>
<p>(2)、操作提现时,提现的金额为全部的可提现余额,不允许手动输入金额</p>
<p>(3)、操作提现时,会产生提现手续费,手续费收取标准请参照本文第5条</p>
<p>(4)、实际到账金额=提现金额-提现手续费,请以实际到账为准</p>
</div>
<div class="pre-details">
<p>7、提现周期</p>
<p>(1)、工作日当日12:00之前提交的提现,1-5个工作日内安排打款,工作日当日12:00之后提现的金额,次日开始,1-5个工作日安排打款,节假日顺延</p>
<p>(2)、银行卡到账时间:打款后0-2个工作日到账 (具体请咨询所属银行)</p>
</div>
<div class="pre-details">
<p>8、提现收续费收取标准</p>
<p>
<img width="712px" src="@/assets/image/withdraw-charges.png" alt="">
</p>
</div>
<div class="pre-details">
<p>9、提现流程</p>
<p>
<img width="712px" src="@/assets/image/withdraw-process.png" alt="">
</p>
</div>
<div class="pre-details">
<p>10、发票信息</p>
<p>(1)、发票抬头:北京胜天半子科技有限公司</p>
<p>(2)、纳税人识别号:911016513F1ECWX</p>
</div>
<div class="pre-details">
<p>11、联系我们</p>
<p>(1)、客服电话:4000-188-199</p>
<p>(2)、公司地址:北京市丰台区诺德中心一期四号楼21层</p>
</div>
</el-card>
</div>
</template>
<script>
export default {
name: "Explain",
data() {
return {}
}
}
</script>
<style scoped>
/deep/.explain .el-card__body {
height: 100%;
/*padding: 30px 20px;*/
overflow: auto;
color: #333;
font-size: 14px;
}
.pre-details {
margin: 40px 50px;
}
</style>
......@@ -7,7 +7,7 @@
<span class="blue-block blue-block-goods-title"></span>账号资产
</div>
<div class="card-header-handle">
<el-button plain type="primary" size="small">提现说明</el-button>
<el-button plain type="primary" size="small" @click="explainWithdrawal">提现说明</el-button>
<el-button plain type="primary" size="small" @click="goToWithdrawlog">提现记录</el-button>
</div>
</div>
......@@ -33,7 +33,7 @@
</div>
</div>
<div class="row-flex-center">
<el-button type="primary" size="small" style="padding: 10px 30px; margin: 20px 0 40px;">提 现</el-button>
<el-button type="primary" size="small" style="padding: 10px 30px; margin: 20px 0 40px;" @click="handleWithdraw">提 现</el-button>
</div>
<!-- 账号管理 -->
......@@ -48,15 +48,15 @@
<div class="card-info-con">
<div class="card-name">{{ item.bank_name }}</div>
<div class="bank-detail">
<p>对公账户名称:{{ item.bank_name }}</p>
<p>银行名称:{{ item.bankAccountName }}</p>
<p>对公银行账号:{{ item.BankAccountSn }}</p>
<p>对公账户名称:{{ item.corporate_account_name }}</p>
<p>银行名称:{{ item.bank_name }}</p>
<p>对公银行账号:{{ item.bank_account_sn }}</p>
<p>开户行(支行):{{ item.bank_branch_name }}</p>
</div>
</div>
<div class="card-info-handle">
<el-button type="primary" size="mini" style="padding: 10px 30px; margin: 20px 40px 40px 0;">编 辑</el-button>
<el-button type="primary" size="mini" style="padding: 10px 30px; margin: 20px 0 40px;">删 除</el-button>
<el-button plain type="primary" size="mini" style="padding: 10px 30px; margin: 20px 40px 40px 0;" @click="editBankcard(item.id)">编 辑</el-button>
<el-button plain type="primary" size="mini" style="padding: 10px 30px; margin: 20px 0 40px;" @click="delBankcard(item.id)">删 除</el-button>
</div>
</div>
......@@ -74,118 +74,259 @@
<!-- </div>-->
</el-card>
<!-- 添加 银行卡 信息 -->
<!-- 添加、编辑 银行卡 信息 -->
<el-dialog
:title="bankcardTitle"
:visible.sync="addBankcardInfoDialog"
center
>
<el-form ref="bankcardForm" label-width="180px">
<el-form ref="bankcardForm" :model="bankcardForm" :rules="bankcardRule" size="small" label-width="180px">
<el-form-item label="账号类型:">
<el-input type="text" placeholder="银行对公账户" :disabled="true" style="width: 70%;"></el-input>
<p class="withdraw-tip">
根据要求,提现仅支持公对公账户
</p>
</el-form-item>
<el-form-item label="银行名称:" prop="bank_name" >
<el-select v-model="bankcardForm.bank_name" placeholder="请选择" style="width: 70%;">
<el-option
v-for="item in bankOptions"
:key="item.value"
:label="item.label"
:value="item.value">
:key="item.code"
:label="item.name"
:value="item.code">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="对公账户名称:" prop="bankAccountName" style="width:100%">
<el-input v-model="bankcardForm.bankAccountName" placeholder="请输入快递单号" style="width: 70%"></el-input>
<el-form-item label="对公账户名称:" style="width:100%">
<el-input v-model="bankcardForm.bankAccountName" placeholder="对公账户名称,不能输入和修改" :disabled="true" style="width: 70%"></el-input>
<p class="withdraw-tip">
银行卡必须为对公账户,且与提交的公司名称相一致,不允许修改
</p>
</el-form-item>
<el-form-item label="开户行(支行):" prop="bank_branch_name">
<el-input v-model="bankcardForm.bank_branch_name" placeholder="请输入开户行" style="width: 70%"></el-input>
</el-form-item>
<el-form-item label="对公银行账号:" prop="BankAccountSn">
<el-input v-model="bankcardForm.BankAccountSn" placeholder="请输入快递单号" style="width: 70%"></el-input>
<el-form-item label="对公银行账号:" prop="bank_account_sn">
<el-input v-model="bankcardForm.bank_account_sn" placeholder="请输入快递单号" style="width: 70%"></el-input>
</el-form-item>
<el-form-item>
<span class="withdraw-tip">温馨提示:所有项均为必填项,请正确填写相关信息,信息填写错将导致提现无法成功</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelSubmitBankcard">取 消</el-button>
<el-button size="small" type="primary" @click="submitBankcard">确 定</el-button>
<el-button size="small" @click="cancelSubmitBankcard">取 消</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getBankcardListData, } from '@/api/module/bankcard'
import { getMyAssetListData,getOrganizationData, getBankDetailsData,getBankcardListData, addBankcardData ,delBankcardData } from '@/api/module/bankcard'
export default {
name: "Index",
data() {
return {
currentBalance: 123,
withdrawalBalance: 123,
withdrawalProgress: 123,
bankcardList: [
// { bank_name:'111',bankAccountName: '222', BankAccountSn: '333', bank_branch_name: '444'},
// { bank_name:'111',bankAccountName: '222', BankAccountSn: '333', bank_branch_name: '444'},
],
seller_id: '',
currentBalance: 0,
withdrawalBalance: 0,
withdrawalProgress: 0,
bankcardList: [],
addBankcardInfoDialog: false,
bankcardTitle: '',
bankcardForm: {
bank_name: '',
bankAccountName: '',
BankAccountSn: '',
bank_branch_name: '',
bank_account_sn: '',
},
bankcardRule: {
bank_name: [{required: true,message: '银行名称不能为空',trigger: 'change'}],
bank_branch_name: [{required: true,message: '开户行支行不能为空',trigger: 'blur'}],
bank_account_sn: [{ required: true,message: '银行账号不能为空',trigger: 'blur'}]
},
bankOptions: [], // 银行卡列表
} // return end
},// data end
created() {
//this.getBankcardList()
/** 获取 seller_id*/
this.seller_id = this.$store.state.user.sellerid;
/** 我的资产 所有数据 */
this.getMyAssetList()
/** 获取 银行卡列表 */
this.getBankcardList()
/** 获取主体信息 */
//this.getOrganization();
},
methods: {
/** 获取 账户银行卡列表 */
getBankcardList() {
getBankcardListData().then(res=> {
let msg = ''
if(res.code == 1) {
this.bankcardList = res.data;
getMyAssetList() {
getMyAssetListData( {seller_id:this.seller_id} ).then(res=> {
if(res.code == 1 && res.data) {
// 账号资产
if(res.data.account_info ) {
this.withdrawalBalance = Number(res.data.account_info.new_balance) / 100;
this.withdrawalProgress = Number(res.data.account_info.new_frozen_money) / 100;
this.currentBalance = this.add(this.withdrawalBalance,this.withdrawalProgress);
}
// 账户管理
if(res.data.bank_list) {
this.bankcardList = res.data.bank_list;
}
}else {
msg = res.message ? res.message : '获取用户列表失败'
let msg = res.message ? res.message : '获取用户列表失败'
this.$message({type:'error',message: msg});
}
});
},
/** 添加 银行卡信息 */
addBankcard() {
this.bankcardTitle = '添加账户'
this.addBankcardInfoDialog = true;
/** 获取主体信息 */
getOrganization() {
getOrganizationData().then(res=> {
});
},
/** 编辑 银行卡信息 */
editBankcard() {
editBankcard(id) {
this.bankcardTitle = '编辑账户'
// console.log("编辑",id);
getBankDetailsData({ id: id }).then(res=> {
if(res.code == 1 && res.data) {
this.addBankcardInfoDialog = true;
}else {
let msg = res.message ? res.message : '获取银行卡信息失败'
this.$message({type:'error',message: msg});
}
});
},
/** 删除 银行卡信息 */
delBankcard(id) {
const indexId = id;
this.$confirm('确定要删除该账户信息吗?','警告',{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async ()=> {
let delResult = await delBankcardData({id: indexId});
console.log('删除结果',delResult);
if (delResult.code == 1) {
this.$message({type:'success',message:'删除成功'});
this.getMyAssetList();
}
if (delResult.code == 0) {
let msg = delResult.message ? delResult.message : '删除失败'
this.$message({type:'error',message: msg });
}
}).catch(()=> {});
},
/** 添加 银行卡信息 */
addBankcard() {
this.bankcardTitle = '添加账户'
this.addBankcardInfoDialog = true;
},
/** 提交 添加银行卡信息 */
submitBankcard() {
this.addBankcardInfoDialog = false;
let params = {
seller_id: '',
bank_name: '',
bank_branch_name: '',
bank_account_sn: ''
}
this.$refs.bankcardForm.validate((valid)=> {
if (valid) {
params.seller_id = this.seller_id;
// params.bank_name = this.bankcardForm.express_name;
// params.bank_branch_name = this.bankcardForm.express_sn;
// params.bank_account_sn = this.bankcardForm
addBankcardData(params).then(res=> {
if(res.code == 1) {
this.$message({type:'success',message: '新增成功'});
this.addBankcardInfoDialog = false;
this.resetAddInvoiceForm();
this.getMyAssetList(); // 更新数据
}else {
this.$message({type:'success',message: res.message ? res.message : '新增失败' });
}
});
}
});
},
/** 取消 提交 添加银行卡信息*/
cancelSubmitBankcard() {
this.addBankcardInfoDialog = false;
},
/** 提现 操作 */
handleWithdraw() {
this.$router.push({ path: "/system/asset/withdraw" });
},
/** 收支明细 跳转 */
goToBalance() {
this.$router.push({ path: "/system/asset/balance" });
},
/** 提现记录*/
goToWithdrawlog() {
this.$router.push({ path: "/system/asset/withdrawlog" });
},
/** 提现说明 */
explainWithdrawal() {
this.$router.push({ path: "/system/asset/explain" });
},
/** 获取 银行列表 */
getBankcardList() {
getBankcardListData().then(res=> {
if(res.code == 1 && res.data) {
this.bankOptions = res.data
}else {
let msg = res.message ? res.message : '获取银行列表失败'
this.$message({type:'error',message: msg});
}
});
},
// 自定义高精度浮点数运算
// 加法
add(arg1, arg2) {
let r1, r2, m, result;
try {
//取小数位长度
r1 = arg1.toString().split(".")[1].length;
r2 = arg2.toString().split(".")[1].length;
} catch (e) {
r1 = 0;
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2)); //计算因子
result = (arg1 * m + arg2 * m) / m;
result = result.toFixed(2);
return result;
},
// 减法
minus(arg1, arg2) {
return this.add(arg1, -arg2);
},
} // methods end
}
</script>
......@@ -371,4 +512,11 @@
justify-content: center;
}
.withdraw-tip {
font-size:12px;
color: #999;
margin: 5px;
line-height: 26px;
}
</style>
<template>
<div class="app-container">
<el-card class="box-card">
<p class="card-header-tip">
提现状态:<span class="pay-status">{{ payStatusFormatter(withdrawInfo.pay_status) }}</span>
<span>如果您是电子发票,则不用填写快递公司和单号信息,需上传电子发票图片,同时将电子发票发送至电子邮箱,查看</span>
<span class="checked-email-rule" @click="isViewSendRuleDialog = true">【电子邮箱及发票发送格式】</span>
</p>
<div class="main">
<div class="card-header-title">
<span class="blue-block blue-block-goods-title"></span>提现信息
</div>
<el-row class="row-title">
<el-col :span="4" class="text-r">提现流水单号</el-col>
<el-col :span="9" class="text-l">{{ withdrawInfo.sn }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">提现时间</el-col>
<el-col :span="9" class="text-l">{{ formatter(withdrawInfo.created_time) }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">提现金额</el-col>
<el-col :span="9" class="text-l">{{ withdrawInfo.amount ? withdrawInfo.amount / 100 : 0 }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">手续费</el-col>
<el-col :span="9" class="text-l">{{ withdrawInfo.service_fee ? withdrawInfo.service_fee / 100 : 0 }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">实际到账金额</el-col>
<el-col :span="9" class="text-l">{{ withdrawInfo.real_amount ? withdrawInfo.real_amount / 100 : 0 }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">提现至账户</el-col>
<el-col :span="9" class="text-l">{{ withdrawInfo.bank_name_all }}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="4" class="text-r">发票信息</el-col>
<el-col :span="9" class="text-l">
<el-link v-if="withdrawInfo.invoice_status == 1" :underline="false" type="primary" @click="viewInvoiceDetails">点击查看发票</el-link>
<el-link v-else disabled>发票未提交</el-link>
</el-col>
</el-row>
<div class="card-header-title">
<span class="blue-block blue-block-goods-title"></span>打款备注
</div>
<div class="remark-con">
<p v-if="payRemark">{{ payRemark }}</p>
<p v-else style="color: #555;">暂无备注</p>
</div>
</div>
<div class="footer-btn">
<el-button type="primary" @click="exportGoodsDetails" style="margin-right:20px;">导出商品明细</el-button>
<el-button @click="submitInvoiceAgain" :disabled="isSubmitInvoice">补充发票信息</el-button>
</div>
</el-card>
<!-- 电子发票 规则 -->
<el-dialog
title="电子发票发送格式"
:visible.sync="isViewSendRuleDialog"
width="40%"
center
>
<div class="view-sendemail-rule">
<p>您好,如果您是电子发票,请通过邮箱按照以下格式发送:</p>
<p><span class="span-title">标题:</span>【XXX公司】电子发票</p>
<p><span class="span-title spe-1">收件人:</span>finanical@stbz.net</p>
<p><span class="span-title">正文内容:</span>【XXX公司】电子发票</p>
<p><span class="span-title spe-1">附件:</span>电子发票</p>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="isViewSendRuleDialog = false" >取 消</el-button>
</span>
</el-dialog>
<!-- 补充发票 信息 -->
<el-dialog
title="补充发票信息"
:destroy-on-close="true"
:visible.sync="isAddInvoiceAgainDialog"
:before-close="cancelUpInvoiceImg"
width="40%"
center>
<el-form ref="addInvoiceForm" :model="addInvoiceForm" :rules="addInvoiceRule" label-width="150px" class="add-invoice-form" size="small">
<el-form-item label="快递公司:" prop="express_name">
<el-select v-model="addInvoiceForm.express_name" filterable placeholder="请选择快递公司" style="width: 80%;">
<el-option
v-for="item in expressLists"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="快递单号:" prop="express_sn">
<el-input v-model="addInvoiceForm.express_sn" placeholder="请输入快递单号" style="width: 80%;"></el-input>
</el-form-item>
<el-form-item label="发票图片:" prop="invoice_img">
<el-upload
class="avatar-uploader"
action=""
list-type="picture-card"
:http-request="uploadInvoiceImg"
:before-upload="beforeUpInvoiceImg"
:file-list="invoiceImgList"
:limit="1"
:on-exceed="limitCount1"
:before-remove ="beforeRemoveInvoiceImg"
:on-remove="removeInvoiceImg"
:on-preview="handleInvoiceImg"
>
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisibleInvoiceImg" class="dialog-img-spe">
<img width="100%" :src="dialogInvoiceImg" alt=""/>
</el-dialog>
<div class="textTip">最多上传一张图片,仅限jpg/png格式,大小限制在500kb以内</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitInvoice" size="small">确 定</el-button>
<el-button type="primary" @click="cancelUpInvoiceImg" size="small">取 消</el-button>
</span>
</el-dialog>
<!-- 查看发票 信息 -->
<el-dialog
title="发票信息"
:destroy-on-close="true"
:visible.sync="isViewInvoiceAgainDialog"
width="40%"
center>
<el-form :model="viewInvoiceForm" label-width="150px" class="add-invoice-form" size="small">
<el-form-item label="快递公司:" >
<el-input v-model="viewInvoiceForm.express_name" placeholder="请输入快递单号" disabled style="width: 80%;"></el-input>
</el-form-item>
<el-form-item label="快递单号:">
<el-input v-model="viewInvoiceForm.express_sn" placeholder="请输入快递单号" disabled style="width: 80%;"></el-input>
</el-form-item>
<el-form-item label="发票图片:">
<div v-if="viewInvoiceForm.invoice_img">
<el-image
style="width: 100px; height: 100px;border:1px solid #eee;"
:src="viewInvoiceForm.invoice_img"
:preview-src-list="viewInvoiceForm.invoiceImgList">
</el-image>
</div>
<div class="textTip">最多上传一张图片,仅限jpg/png格式,大小限制在500kb以内</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="isViewInvoiceAgainDialog = false" size="small">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getWithdrawlogDetailsData,exportGoodsDetailsData,getExpressListData ,upLoadImg, addInvoiceData } from '@/api/module/bankcard'
import {dateFormat} from '@/utils'
export default {
name: "Wddetails",
data() {
let checkPic = (rule, value, callback) => {
if(this.invoiceImgList.length > 0) {
callback();
}else if(this.invoiceImgList.length === 0) {
callback(new Error("发票图片不能为空"));
}
};
return {
withdrawId: 0,
withdrawInfo: {
pay_status: 0,
sn: '',
created_time: 0,
amount: 0,
service_fee: 0,
real_amount: 0,
bank_name: '',
bank_branch_name: '',
bank_card_id: '',
bank_name_all: '',
invoice_status: 0,
},
payRemark: '', // 打款备注
// 查看 电子发票发送格式
isViewSendRuleDialog: false,
isSubmitInvoice: false, // 是否 补充提交发票
// 补充发票
isAddInvoiceAgainDialog: false, // 补充发票信息 对话框
expressLists: [],
invoiceImgList: [],// 发票图片 file
invoiceImgBase64List: [],// 发票图片 base64格式
addInvoiceForm: {
express_name: '',
express_sn: '',
invoice_img: ''
},
addInvoiceRule: {
express_name: [{required: true,message: '物流公司名称不能为空',trigger: 'change'}],
express_sn: [{required: true,message: '快递单号不能为空',trigger: 'blur'}],
invoice_img: [{ required: true, validator: checkPic}]
},
dialogVisibleInvoiceImg: false,
dialogInvoiceImg: '',
// 查看 发票信息
isViewInvoiceAgainDialog: false,
viewInvoiceForm: {
express_name: '',
express_sn: '',
invoice_img: '',
invoiceImgList: [],
}
}
}, // data end
created() {
// 提现记录 id
this.withdrawId = Number(this.$route.query.withdrawId);
// 获取 物流公司 列表
this.getExpressList();
// 查询 提现记录 详情
this.getWithdrawlogDetails();
},
methods: {
/** 查询 提现记录 详情 */
getWithdrawlogDetails() {
const id = this.withdrawId
getWithdrawlogDetailsData({id: id}).then(res=> {
if (res.code == 1 && res.data) {
if (res.data.withdraw_info) {
this.withdrawInfo = res.data.withdraw_info;
// 提现至账户 处理
if( this.withdrawInfo.bank_card_id ) {
let strBankcardId = this.withdrawInfo.bank_card_id + '';
let Forward4 = strBankcardId.substring(0,4)
let backward4 = strBankcardId.substring(strBankcardId.length-4,strBankcardId.length)
this.withdrawInfo.bank_name_all = this.withdrawInfo.bank_name + '\u00a0\u00a0' + Forward4 + '****' + backward4;
}
}
// 打款备注
if(res.data.action_logs && res.data.action_logs.content) {
this.payRemark = res.data.action_logs.content;
}
}
});
},
/** 导出商品明细 */
exportGoodsDetails() {
exportGoodsDetailsData( {id: this.withdrawId} ).then(res=> {
if (res.code == 1 && res.data) {
const aLink = document.createElement('a');
aLink.href = res.data;
//aLink.download = '订单.xls'; //下载的文件名
aLink.style.display = 'none';
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink);
}else {
this.$message({type:'error',message: res.message ? res.message: '导出失败'});
}
});
},
/** 补充发票信息 */
submitInvoiceAgain() {
this.isAddInvoiceAgainDialog = true;
},
/** 上传 发票图片 数量限制 1 */
limitCount1(files, fileList) {
this.$message({message: '最多上传1张图片', type: 'warning'});
},
/** 发票图片 各种校验*/
beforeUpInvoiceImg(file) {
if (file.type !== "image/png" && file.type !== "image/jpg" && file.type != "image/jpeg") {
this.$message({
message: '上传图片格式只支持png/png格式',
type: "warning"
});
return false;
}
let isImgSize = (file.size / 1024 / 1024 / 1024) > 500;
if (isImgSize) {
this.$message({
message: '上传图片大小不能超过500kb',
type: "warning"
});
return false;
}
},
/** 上传 发票 图片 */
uploadInvoiceImg(param) {
this.getBase64(param.file).then( res => {
let result = res.split(",");
this.Base64img = result[1];
let data = {"img_data":this.Base64img};
this.invoiceImgBase64List = [] // 初始化
upLoadImg(data).then( res=> {
let urlObj = {'url': ''};
if(res.data) {
urlObj.url = res.data.image_url;
this.invoiceImgList.push(urlObj); // 展示用
this.addInvoiceForm.invoice_img = res.data.image_url // 字段无用,清除校验有用
this.invoiceImgBase64List.push( data.img_data );
this.$message({type:'success',message:'图片上传成功'});
this.$refs.addInvoiceForm.clearValidate('invoice_img');
}
});
});
},
/** 发票 删除前 */
beforeRemoveInvoiceImg(file) {
if (file.status === "success") {
return new Promise((res, rej) => {
this.$confirm(`是否删除此图片`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
return res();
}).catch(() => {
this.$message({
type: 'success',
message: '取消删除!'
});
return rej();
});
});
}
},
/** 发票图片 删除 */
removeInvoiceImg(file) {
if (file.status === "success") {
for (let i = 0; i < this.invoiceImgList.length; i++) {
if (file.uid === this.invoiceImgList[i].uid) {
this.invoiceImgList.splice(i, 1);
this.invoiceImgBase64List.splice(i, 1);
}
}
this.$message( {type: 'success', message: '删除成功!'} );
if(this.invoiceImgList.length === 0) {
this.$refs.addInvoiceForm.validateField('invoice_img')
}else {
this.$refs.addInvoiceForm.clearValidate('invoice_img');
}
}
},
/** 发票图片 预览 */
handleInvoiceImg(file) {
this.dialogInvoiceImg = file.url;
this.dialogVisibleInvoiceImg = true;
},
/** 提交 补充的发票信息 */
submitInvoice() {
let params = {
id: '',
express_company: '',
express_no: '',
invoice_img: [],
}
this.$refs.addInvoiceForm.validate((valid)=> {
if (valid) {
params.id = this.withdrawId;
params.express_company = this.addInvoiceForm.express_name;
params.express_no = this.addInvoiceForm.express_sn;
params.invoice_img = this.invoiceImgBase64List
addInvoiceData(params).then(res=> {
if(res.code == 1) {
this.$message({type:'success',message: '补充发票信息成功'});
this.isAddInvoiceAgainDialog = false;
this.resetAddInvoiceForm();
this.getWithdrawlogDetails();
}else {
this.$message({type:'success',message: res.message ? res.message : '补充发票信息失败' });
}
});
}
});
},
/** 取消 提交 补充的发票信息 */
cancelUpInvoiceImg() {
this.resetAddInvoiceForm();
this.isAddInvoiceAgainDialog = false;
},
/** 初始化 补充发票的 表单数据 */
resetAddInvoiceForm() {
this.addInvoiceForm.express_name = ''
this.addInvoiceForm.express_sn = ''
this.addInvoiceForm.invoice_img = ''
this.invoiceImgList = []
this.invoiceImgBase64List = []
},
/** 查看 发票详情 */
viewInvoiceDetails() {
this.isViewInvoiceAgainDialog = true;
if( this.withdrawInfo.express_company ) {
this.viewInvoiceForm.express_name = this.withdrawInfo.express_company
}
if( this.withdrawInfo.express_no ) {
this.viewInvoiceForm.express_sn = this.withdrawInfo.express_no
}
if( this.withdrawInfo.invoice_img_arr[0] ) {
this.viewInvoiceForm.invoice_img = this.withdrawInfo.invoice_img_arr[0]
this.viewInvoiceForm.invoiceImgList = this.withdrawInfo.invoice_img_arr
}
},
/** 获取 物流公司 列表 */
getExpressList() {
getExpressListData().then(res=> {
if (res.code == 1) {
this.expressLists = res.data.expressLists
}
});
},
/** 提现状态 格式 */
payStatusFormatter(type) {
let typeMsg = '';
if(type == 0) {
typeMsg = '打款中'
}else if (type == 1) {
typeMsg = '提现成功'
}
return typeMsg
},
/** 时间格式化 */
formatter(time) {
return dateFormat(time * 1000, 'Y-m-d H:i:s')
},
/** 图片 base64 */
getBase64(file) {
return new Promise(function (resolve, reject) {
let reader = new FileReader();
let imgResult = "";
reader.readAsDataURL(file);
reader.onload = function () {
imgResult = reader.result;
};
reader.onerror = function (error) {
reject(error);
};
reader.onloadend = function () {
resolve(imgResult);
};
});
},
}// methods end
}
</script>
<style scoped>
/deep/ .el-card__body{
height: 100%;
overflow: hidden;
}
.card-header-tip {
height: 48px;
line-height: 48px;
background: #FFF5ED;
border: 1px solid #F1914E;
font-size: 14px;
font-weight: 400;
color: #333333;
padding: 0 15px;
margin-bottom: 0;
}
.pay-status {
margin: 0 10px;
font-size: 16px;
font-weight: 600;
}
.checked-email-rule {
color: #F1914E;
cursor: pointer;
}
.main {
height: calc(100% - 130px);
overflow-y: auto;
}
.card-header-title {
line-height: 24px;
font-size: 18px;
color: #000;
font-weight: bold;
margin: 20px 0;
}
.blue-block {
display: inline-block;
width: 5px;
height: 24px;
background: #3A84FF;
margin: 0 9px 0 0;
border-radius: 2px;
vertical-align: bottom;
}
/* 提现信息 */
.row-title {
font-size: 14px;
color: #333;
}
/deep/.el-col {
border: 1px solid #eee;
padding: 0 10px;
height: 45px;
display: flex;
align-items: center;
}
.text-r {
justify-content: center;
background: #F7F8FA;
align-items: center;
}
.text-l {
justify-content: center;
align-items: center;
}
.view-sendemail-rule {
margin: 20px 20%;
}
.view-sendemail-rule > p{
line-height: 30px;
}
.span-title {
display: inline-block;
width: 100px;
text-align: left;
font-weight: 500;
}
.spe-1 {
margin-right: 7px;
}
.remark-con {
min-height: 140px;
width: 70%;
background: #F7F8FA;
border: 1px solid #E7E7EB;
margin: 0 0 20px;
font-size: 14px;
padding: 0 20px;
color: #333333;
}
.remark-con > p {
line-height: 24px;
}
.footer-btn {
width: calc(100% + 40px);
margin-left: -20px;
padding-top: 20px;
height:65px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
box-shadow: 0 -8px 9px 1px rgba(51, 51, 51, 0.06);
}
/* 补充发票 */
.add-invoice-form {
margin: 0 40px;
}
</style>
<template>
<div class="app-container">
<el-card class="box-card">
<div slot="header" class="clearfix">
<p style="font-size: 18px; float:left;">提现申请</p>
<div class="card-header-title">
<span class="blue-block blue-block-goods-title"></span>操作提现
</div>
<el-form ref="form" :model="form" size="small" :rules="rules" label-width="150px" class="ruleFormshop">
<el-form-item label="当前余额:">
{{sellerinfo.Balance}}
</el-form-item>
<el-form-item label="可提现金额:">
{{drawableCash}}
</el-form-item>
<el-form-item label="提现中的金额:">
{{sellerinfo.FrozenMoney}}
</el-form-item>
<!-- <el-form-item label="手续费:">-->
<!-- 当前手续费为{{newFee}}元-->
<!-- </el-form-item>-->
<el-form-item label="提现至:" prop="bank_id">
<el-select v-model="form.bank_id" placeholder="选择到账银行卡" style="width:420px;">
<el-option v-for="item in banklist" :key="item.Id"
:label="item.bank_name ? item.bank_name : item.bank_account_name"
:value="item.id"></el-option>
</el-select>
<p class="withdraw-tip">
您还没有账户,<span>去添加</span>
</p>
</el-form-item>
<el-form-item label="提现金额:" prop="amount">
<el-input v-model="form.amount"
@blur="onInputBlur($event)"
placeholder="提现金额大于等于100"
style="width:420px;"/>
<p class="withdraw-tip">
不允许手动输入,提现金额必须为全部的可提现余额,<br/>
手续费将从您的提现金额中扣除,以实际到账为准(开票以实际到账金额开具)
</p>
</el-form-item>
<el-form-item label="支付密码:" prop="pwd">
<el-input v-model="form.pwd" type="password" placeholder="请输入提现密码" style="width:420px;"/>
<p class="withdraw-tip">
忘记支付密码?重新设定
</p>
</el-form-item>
<el-form-item label="短信验证码:" prop="verifycode" class="spe-code-con-item">
<el-input v-model="form.verifycode" placeholder="验证码" style="width:420px;">
<template slot="append">
<span v-show="show" @click="getCheckCodeFn">获取验证码</span>
<span v-show="!show" class="count">{{count}} s</span>
</template>
</el-input>
</el-form-item>
</el-form>
<div class="footer-btn">
<el-button type="primary" @click="submitForm" :disabled="inSureCashOut" style="margin-right:20px;">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
<el-row>
<el-col :span="24" class="card-box">
<!-- <span>商户信息</span> -->
<el-form ref="form" :model="form" :rules="rules" label-width="150px" class="ruleFormshop">
<el-form-item label="当前余额">
{{sellerinfo.Balance}}
</el-form-item>
<el-form-item label="提现中的金额">
{{sellerinfo.FrozenMoney}}
</el-form-item>
<el-form-item label="可提现金额">
{{drawableCash}}
</el-form-item>
<el-form-item label="手续费">
当前手续费为{{newFee}}
</el-form-item>
<el-form-item label="银行卡" prop="bank_id">
<el-select v-model="form.bank_id" placeholder="选择到账银行卡" style="width:260px;">
<el-option v-for="item in banklist" :key="item.Id"
:label="item.bank_name ? item.bank_name : item.bank_account_name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="提现金额" prop="amount">
<el-input v-model="form.amount"
@blur="onInputBlur($event)"
placeholder="提现金额大于等于100"
style="width:260px;"/>
</el-form-item>
<el-form-item label="短信验证码" prop="verifycode" class="spe-code-con-item">
<el-input v-model="form.verifycode" placeholder="验证码" style="width:260px;">
<template slot="append">
<span v-show="show" @click="getCheckCodeFn">获取验证码</span>
<span v-show="!show" class="count">{{count}} s</span>
</template>
</el-input>
</el-form-item>
<el-form-item label="支付密码" prop="pwd">
<el-input v-model="form.pwd" type="password" placeholder="请输入提现密码" style="width:260px;"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm" :disabled="inSureCashOut">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</el-card>
</div>
</template>
......@@ -300,17 +314,61 @@
} //methods结束
};
</script>
<style scoped >
<style scoped>
/deep/ .el-card__body{
height: 100%;
overflow: hidden;
}
.ruleFormshop {
width: 500px;
margin: 20px 0 0 120px;
height: calc(100% - 110px);
padding: 20px;
overflow-y: auto;
}
.ruleFormshop .el-form-item {
margin-bottom: 26px;
}
/deep/ .spe-code-con-item .el-input-group__append {
cursor: pointer;
}
/deep/ .el-card__body{
height :calc(100% - 50px);
overflow-y: scroll;
.card-header-title {
height: 45px;
line-height: 35px;
font-size: 18px;
color: #000;
font-weight: bold;
border-bottom: 1px solid #eee;
}
.blue-block {
display: inline-block;
width: 5px;
height: 24px;
background: #3A84FF;
margin: 0 9px 0 0;
border-radius: 2px;
vertical-align: middle;
}
.footer-btn {
width: calc(100% + 40px);
margin-left: -20px;
padding-top: 20px;
height:65px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
box-shadow: 0 -8px 9px 1px rgba(51, 51, 51, 0.06);
}
.withdraw-tip {
font-size:12px;
color: #999;
margin: 5px;
line-height: 26px;
}
</style>
......@@ -3,9 +3,9 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<el-form class="form-params" :model="queryParams" label-width="auto" :inline="true" size="small">
<el-form-item label="提现时间" prop="searchTime">
<el-form-item label="提现时间" prop="cashTime">
<el-date-picker
v-model="queryParams.searchTime"
v-model="queryParams.cashTime"
type="daterange"
align="left"
unlink-panels
......@@ -15,11 +15,11 @@
</el-date-picker>
</el-form-item>
<el-form-item label="提现状态" prop="refund_type">
<el-select v-model="queryParams.refund_type" placeholder="全部类型" clearable >
<el-option label="全部类型" :value="0"></el-option>
<el-option label="打款中" :value="1" ></el-option>
<el-option label="提现成功" :value="2"></el-option>
<el-form-item label="提现状态" prop="pay_status">
<el-select v-model="queryParams.pay_status" placeholder="全部类型" clearable >
<el-option label="全部类型" :value="-1"></el-option>
<el-option label="打款中" :value="0" ></el-option>
<el-option label="提现成功" :value="1"></el-option>
</el-select>
</el-form-item>
......@@ -35,13 +35,23 @@
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="提现流水单号" align="center" prop="ReflectSn"/>
<el-table-column label="提现时间" :formatter="formatTime" align="center" prop="AddTime"/>
<el-table-column label="提现金额" :formatter="formatFee" align="center" prop="ReflectMoney"/>
<el-table-column label="手续费" :formatter="formatFee" align="center" prop="Fee"/>
<el-table-column label="实际到账金额" :formatter="formatFee" align="center" prop="AfterReflectMoney"/>
<el-table-column label="提现状态" align="center" :formatter="formatType" prop="Status"/>
<el-table-column label="开票状态" align="center" prop="kpzt"></el-table-column>
<el-table-column label="提现流水单号" align="center" prop="sn" width="240"></el-table-column>
<el-table-column label="提现时间" :formatter="formatTime" align="center" prop="created_time"></el-table-column>
<el-table-column label="提现金额" :formatter="formatFee" align="center" prop="amount"></el-table-column>
<el-table-column label="手续费" :formatter="formatFee" align="center" prop="service_fee"></el-table-column>
<el-table-column label="实际到账金额" :formatter="formatFee" align="center" prop="real_amount"></el-table-column>
<el-table-column label="提现状态" align="center" prop="pay_status">
<template slot-scope="scope">
<span v-if="scope.row.pay_status == 0">打款中</span>
<span v-if="scope.row.pay_status == 1">提现成功</span>
</template>
</el-table-column>
<el-table-column label="开票状态" align="center" prop="invoice_status">
<template slot-scope="scope">
<span v-if="scope.row.invoice_status == 0">未开票</span>
<span v-if="scope.row.invoice_status == 1">已开票</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button type="text" @click="viewDetails(scope.row)">详情</el-button>
......@@ -57,50 +67,46 @@
<!-- <el-table-column label="提现审核说明" align="center" prop="Des"/>-->
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.limit"
@pagination="getList"
/>
<!-- 分页 -->
<div class="footer_pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[20, 40, 60, 80, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</el-card>
</div>
</template>
<script>
import {
listWithdrawlog,
getWithdrawlog,
delWithdrawlog,
addWithdrawlog,
updateWithdrawlog
} from '@/api/module/withdrawlog'
import { getWithdrawData } from '@/api/module/bankcard'
import { dateFormat } from '@/utils'
export default {
name: "withdrawlog",
data() {
return {
sellerId: 0,
fullHeight: 0,
tableHeight: 0,
// 查询参数
queryParams: { // 查询参数
sellerId: 0,
searchTime: [],
refund_type: ''
cashTime: [],
pay_status: ''
},
total: 0,
currentPage: 1,
pageSize: 20,
withdrawlogList: [],
};
},
created() {
this.sellerId = this.$store.state.user.sellerid;
/** 查询 提现记录 列表 */
this.getList();
this.$nextTick(() => {
this.fullHeight = document.getElementsByClassName('box-card')[0].clientHeight
......@@ -109,14 +115,27 @@
watch: {
fullHeight(val) {
let formHeight = document.getElementsByClassName('clearfix')[0].clientHeight
this.tableHeight = val - formHeight - 120;
this.tableHeight = val - formHeight - 100;
}
},
methods: {
// 列表
/** 查询 提现记录 列表 */
getList() {
this.queryParams.sellerId = this.sellerId;
listWithdrawlog(this.queryParams).then(response => {
let params = {
page: this.currentPage,
limit: this.pageSize,
}
if (this.queryParams.pay_status === 0 || this.queryParams.pay_status === 1) {
params['pay_status'] = this.queryParams.pay_status
}
if( this.queryParams.cashTime && this.queryParams.cashTime.length == 2) {
params['start_time'] = new Date(this.queryParams.cashTime[0]).getTime() / 1000;
params['end_time'] = new Date(this.queryParams.cashTime[1]).getTime() / 1000;
}
getWithdrawData(params).then(response => {
if (response) {
this.withdrawlogList = response.data.data;
this.total = response.data.count;
......@@ -125,16 +144,20 @@
}
});
},
// 详情
/** 详情 跳转 */
viewDetails(row) {
const indexId = row.id ? row.id : 0;
this.$router.push({
path: '/system/asset/wddetails',
query: { withdrawId: indexId }
});
},
/** 重置 搜索条件 */
resetQuery() {
this.queryParams = { // 查询参数
sellerId: 0,
searchTime: [],
refund_type: ''
cashTime: [],
pay_status: ''
}
this.currentPage = 1
this.pageSize = 20
......@@ -149,60 +172,45 @@
this.getList()
},
//-------------------------
//格式化状态
formatType(row) {
var types = row.Status
var optDes = ''
if (types == 1) {
optDes = "提现成功"
} else if (types == 2) {
optDes = "提现失败"
} else if (types == 0) {
optDes = "提现申请中"
}
return optDes
},
//格式化价格
/** 格式化价格 返回原数据是 分,除以100 */
formatFee(row, s, value, i) {
var nm = 0
var money = value
let nm = 0,
money = value
if (money > 0) {
nm = money / 100
}
return nm
},
//格式化时间
/** 格式化时间 */
formatTime(row) {
var Time = row.AddTime
var Time = row.created_time
var newtime = ""
if (Time > 0) {
newtime = dateFormat(Time * 1000, "Y-m-d H:i:s");
}
return newtime
},
/** 查询商户提现列表 */
// 取消按钮
cancel() {
this.open = false;
this.reset();
// this.open = false;
// this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
reflect_sn: null,
reflect_money: null,
status: 0,
des: null,
seller_bank_id: null,
add_time: null,
fee: null,
seller_id: null,
after_reflect_money: null
};
this.resetForm("form");
// this.form = {
// id: null,
// reflect_sn: null,
// reflect_money: null,
// status: 0,
// des: null,
// seller_bank_id: null,
// add_time: null,
// fee: null,
// seller_id: null,
// after_reflect_money: null
// };
// this.resetForm("form");
},
} //methods结束
......@@ -212,4 +220,10 @@
.form-params .el-form-item {
margin: 10px 0 10px 10px;
}
/* 分页 */
.footer_pagination {
text-align: center;
margin-top: 15px;
}
</style>
......@@ -379,9 +379,9 @@
if(res.data) {
urlObj.url = res.data.image_url;
this.goodsImgFileList.push(urlObj);
this.goodsImgFileList.forEach(item=> {
this.goodsInfoForm.imgs.push(item.url)
})
// this.goodsImgFileList.forEach(item=> {
// this.goodsInfoForm.imgs.push(item.url)
// })
this.$message({type:'success',message:'图片上传成功'});
// 只清除一次,不浪费哦
if(this.goodsImgFileList.length === 1) {
......
......@@ -315,7 +315,7 @@
},
// 表格合并 列单元格
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex > 4) { // 用于设置要合并开始的列号
if (columnIndex > 3) { // 用于设置要合并开始的列号
if (rowIndex === 0) { // 用于设置合并开始的行号
return {
rowspan: 100,     // 合并的行数
......
......@@ -475,12 +475,12 @@
console.log("确定的类型",type);
let params = {
order_refund_sn: 0
order_refund_sn: this.asGoodId
};
// type为1,则为,仅退款的 同意退款 操作
if(this.onlyIsAgree == 1) {
params.order_refund_sn = this.asGoodId
// 1、为了更好提示,2、预防后期接口解耦
agreeRefundData(params).then(res=> {
let msg = ''
......@@ -520,7 +520,7 @@
// type 为3,则为,退货退款的 同意退货退款,发送地址
if(this.onlyIsAgree == 3) {
// console.log('地址信息:',this.order_refund_address);
debugger
if( this.order_refund_address == '' ) {
this.$message({type:'warning',message: '请选择地址信息'});
return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论