我的钱包
This commit is contained in:
parent
b66f585487
commit
943a7e54f6
|
@ -0,0 +1,20 @@
|
|||
import $http from "@/utils/httpRequest.js";
|
||||
|
||||
export const wallet = {
|
||||
//钱包管理
|
||||
myWallet: (data) => {
|
||||
return $http.request({
|
||||
url: `/merchant-api/wallet/wallet`,
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
},
|
||||
//钱包明细
|
||||
Withdrawal: (data) => {
|
||||
return $http.request({
|
||||
url: `/merchant-api/walletDrawCashOrder/apply`,
|
||||
method: "post",
|
||||
data,
|
||||
});
|
||||
},
|
||||
};
|
|
@ -410,6 +410,33 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
menuId: getUUID(),
|
||||
parentId: 0,
|
||||
parentName: null,
|
||||
name: "钱包管理",
|
||||
url: "local-course/resources",
|
||||
perms: "",
|
||||
type: 0,
|
||||
elIcon: "el-icon-menu",
|
||||
orderNum: 0,
|
||||
open: null,
|
||||
list: [
|
||||
{
|
||||
menuId: getUUID(),
|
||||
parentId: 0,
|
||||
parentName: null,
|
||||
name: "我的钱包",
|
||||
url: "wallet/index",
|
||||
perms: "",
|
||||
type: 1,
|
||||
elIcon: "el-icon-menu",
|
||||
orderNum: 0,
|
||||
open: null,
|
||||
list: [],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
code: 0,
|
||||
permissions: [],
|
||||
|
|
|
@ -0,0 +1,251 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="15"
|
||||
><div class="grid-content bg-purple">
|
||||
<div class="userInfo">
|
||||
<div class="userInfo">
|
||||
<el-avatar
|
||||
:size="60"
|
||||
src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
|
||||
></el-avatar>
|
||||
<span class="userName">用户名:{{ userInfo.userName }}</span>
|
||||
</div>
|
||||
<el-button @click="addWithdrawal" type="primary" round
|
||||
>发起提现</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="userInfo">
|
||||
<el-card class="box-card">
|
||||
<div style="font-size: 18px; font-weight: 600">可用金额</div>
|
||||
<div style="margin-top: 20px; font-size: 18px">
|
||||
¥{{
|
||||
userInfo.availableAmount ? userInfo.availableAmount : "0"
|
||||
}}
|
||||
</div>
|
||||
<div class="userTime">{{ userInfo.updateTime }}</div>
|
||||
</el-card>
|
||||
<el-card class="box-card">
|
||||
<div style="font-size: 18px; font-weight: 600">冻结金额</div>
|
||||
<div style="margin-top: 20px; font-size: 18px">
|
||||
¥{{ userInfo.freezeAmount ? userInfo.freezeAmount : "0" }}
|
||||
</div>
|
||||
<div class="userTime">{{ userInfo.updateTime }}</div>
|
||||
</el-card>
|
||||
</div>
|
||||
<div style="margin: 10px">
|
||||
<div style="font-size: 16px; margin: 0 0 20px 0; font-weight: 600">
|
||||
钱包提现记录
|
||||
</div>
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="formInline"
|
||||
class="demo-form-inline"
|
||||
>
|
||||
<el-form-item label="申请状态">
|
||||
<el-select
|
||||
v-model="formInline.cashOutStatus"
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{
|
||||
label: '审核中',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '审核不通过',
|
||||
value: '2',
|
||||
},
|
||||
{
|
||||
label: '审核成功',
|
||||
value: '3',
|
||||
},
|
||||
{
|
||||
label: '提现中',
|
||||
value: '4',
|
||||
},
|
||||
{
|
||||
label: '提现失败',
|
||||
value: '5',
|
||||
},
|
||||
{
|
||||
label: '提现成功',
|
||||
value: '6',
|
||||
},
|
||||
]"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请时间">
|
||||
<el-date-picker
|
||||
v-model="value1"
|
||||
type="datetimerange"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="queryList">查询</el-button>
|
||||
<el-button type="primary" @click="Reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column prop="date" label="提现申请订单号" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="提现申请金额" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="申请状态">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="提现申请时间">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="交易到账时间">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="pagination-container">
|
||||
<el-pagination
|
||||
:current-page="query.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="query.pageSize"
|
||||
:total="total"
|
||||
background
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="9"><div class="grid-content bg-purple">2</div> </el-col>
|
||||
</el-row>
|
||||
<!-- 提现 -->
|
||||
<withdrawal @init="init" ref="withdrawal"></withdrawal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import withdrawal from "./popup/withdrawal";
|
||||
export default {
|
||||
components: { withdrawal },
|
||||
data() {
|
||||
return {
|
||||
value1: [],
|
||||
userInfo: {},
|
||||
tableData: [
|
||||
{
|
||||
date: "2016-05-02",
|
||||
name: "王小虎",
|
||||
address: "上海市普陀区金沙江路 1518 弄",
|
||||
},
|
||||
{
|
||||
date: "2016-05-04",
|
||||
name: "王小虎",
|
||||
address: "上海市普陀区金沙江路 1517 弄",
|
||||
},
|
||||
{
|
||||
date: "2016-05-01",
|
||||
name: "王小虎",
|
||||
address: "上海市普陀区金沙江路 1519 弄",
|
||||
},
|
||||
{
|
||||
date: "2016-05-03",
|
||||
name: "王小虎",
|
||||
address: "上海市普陀区金沙江路 1516 弄",
|
||||
},
|
||||
],
|
||||
query: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
formInline: {},
|
||||
total: 0,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
console.log("1213");
|
||||
this.$api.wallet.myWallet().then((res) => {
|
||||
console.log(res);
|
||||
this.userInfo = res.data.data;
|
||||
});
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.query.pageSize = val;
|
||||
this.init();
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.query.pageNumber = val;
|
||||
this.init();
|
||||
},
|
||||
queryList() {},
|
||||
Reset() {},
|
||||
addWithdrawal() {
|
||||
this.$api.mer_admin
|
||||
.bankCardPage({
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
linkId: JSON.parse(sessionStorage.getItem("userInfo")).managerId
|
||||
? JSON.parse(sessionStorage.getItem("userInfo")).managerId
|
||||
: JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
|
||||
status: "1",
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.data.data.length > 0) {
|
||||
this.$refs.withdrawal.toggle().add();
|
||||
} else {
|
||||
this.$message.error("请先绑定银行卡");
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error("获取银行卡失败");
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
}
|
||||
.bg-purple {
|
||||
background: #f1f8fe;
|
||||
}
|
||||
.grid-content {
|
||||
border-radius: 4px;
|
||||
padding: 20px;
|
||||
height: 85vh;
|
||||
}
|
||||
.userInfo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.userName {
|
||||
margin-left: 30px;
|
||||
font-size: 16px;
|
||||
color: #303e9f;
|
||||
}
|
||||
.box-card {
|
||||
margin: 20px;
|
||||
width: 50%;
|
||||
height: 200px;
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
}
|
||||
.userTime {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
right: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,128 @@
|
|||
<template>
|
||||
<div>
|
||||
<obj-modal
|
||||
ref="modal"
|
||||
labelWidth="150px"
|
||||
:modalConfig="modalConfig"
|
||||
:modalData="modalData"
|
||||
:modalHandles="modalHandles"
|
||||
>
|
||||
<div slot="dialog__content">
|
||||
<el-form
|
||||
:model="ruleForm"
|
||||
:rules="rules"
|
||||
ref="ruleForm"
|
||||
label-width="150px"
|
||||
class="demo-ruleForm"
|
||||
>
|
||||
<el-form-item label="提现金额:" prop="isRefundEarnestMoney">
|
||||
<el-input-number
|
||||
v-model="ruleForm.amount"
|
||||
:min="0"
|
||||
:step="1"
|
||||
label="描述文字"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 选择商品 -->
|
||||
</obj-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { debounce, cloneDeep } from "lodash";
|
||||
export default {
|
||||
components: {},
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
isAdd: true,
|
||||
//表格属性
|
||||
modalConfig: {
|
||||
title: "提现",
|
||||
show: false,
|
||||
width: "600px",
|
||||
},
|
||||
modalData: {},
|
||||
ruleForm: {
|
||||
amount: "",
|
||||
},
|
||||
rules: {
|
||||
amount: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入提现金额",
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"modalConfig.show"(newVal) {
|
||||
if (newVal) {
|
||||
//关闭弹窗清空校验
|
||||
setTimeout(() => {
|
||||
this.$refs.ruleForm.resetFields();
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
queryTableData(pageNo, pageSize) {},
|
||||
toggle(e) {
|
||||
if (this.modalConfig.show == false) {
|
||||
this.modalConfig.show = true;
|
||||
} else {
|
||||
this.modalConfig.show = false;
|
||||
}
|
||||
if (e) {
|
||||
this.init(cloneDeep(e));
|
||||
}
|
||||
return {
|
||||
add: () => {
|
||||
this.modalConfig.title = "提现金额";
|
||||
this.isAdd = true;
|
||||
},
|
||||
update: () => {
|
||||
this.isAdd = false;
|
||||
},
|
||||
};
|
||||
},
|
||||
init(row) {},
|
||||
},
|
||||
computed: {
|
||||
modalHandles() {
|
||||
return [
|
||||
{
|
||||
label: "取消",
|
||||
handle: () => {
|
||||
this.toggle();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "确认",
|
||||
type: "primary",
|
||||
// submit: true,
|
||||
handle: () => {
|
||||
if (this.isAdd) {
|
||||
this.$refs.ruleForm.validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(valid);
|
||||
this.$api.wallet.Withdrawal(this.ruleForm).then((res) => {
|
||||
this.$emit("init");
|
||||
this.toggle();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
},
|
||||
asyncComputed: {},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
Loading…
Reference in New Issue