新增提现审核

This commit is contained in:
gyq 2024-12-26 17:04:01 +08:00
parent a526f5ddd6
commit 139f198ad5
5 changed files with 475 additions and 548 deletions

27
src/api/withdraw.js Normal file
View File

@ -0,0 +1,27 @@
import $http from "@/utils/httpRequest";
/**
* 提现记录
* @param {*} params
* @returns
*/
export function cashOutAuditPage(params) {
return $http({
url: "/cashOutAudit/page",
method: "get",
params
});
}
/**
* 提现审核
* @param {*} params
* @returns
*/
export function cashOutAuditAudit(data) {
return $http({
url: "/cashOutAudit/audit",
method: "POST",
data
});
}

View File

@ -2,9 +2,9 @@ export const testUrl='video-admin';
export const productUrl='dj-admin';
// const baseUrl = "http://192.168.1.7:8100/czg/"
// const baseUrl = "https://video.hnsiyao.cn/czg/"
const baseUrl = "https://video.hnsiyao.cn/czg/" //
// const baseUrl = "https://api.tianjinzhitongdaohe.com/czg/"
const baseUrl = "https://dj-api.hnsiyao.cn/czg/"
// const baseUrl = "https://dj-api.hnsiyao.cn/czg/" // 线上
export default{
baseUrl

View File

@ -0,0 +1,256 @@
<template>
<div>
<el-form inline>
<el-form-item label="用户ID">
<el-input v-model="query.userId" placeholder="请输入用户ID" />
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="query.userName" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="支付宝账号">
<el-input v-model="query.zhifubao" placeholder="请输入支付宝账号" />
</el-form-item>
<el-form-item label="支付宝姓名">
<el-input v-model="query.zhifubaoName" placeholder="请输入支付宝姓名" />
</el-form-item>
<el-form-item label="提现类型">
<el-select v-model="query.userType">
<el-option label="全部" value=""></el-option>
<el-option label="用户提现" value="1"></el-option>
<el-option label="分销商提现" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="query.state">
<el-option label="全部" value=""></el-option>
<el-option label="待转账" value="0"></el-option>
<el-option label="成功" value="1"></el-option>
<el-option label="失败" value="2"></el-option>
<el-option label="待审核" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="日期">
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="" start-placeholder="开始日期"
end-placeholder="结束日期" @change="changeTime"
:default-time="['00:00:00', '23:59:59']">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="queryHandle">查询</el-button>
<el-button @click="resetHandle">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
<el-table-column label="提现申请ID" prop="id"></el-table-column>
<el-table-column label="用户id" prop="userId"></el-table-column>
<el-table-column label="用户名" prop="userName"></el-table-column>
<el-table-column label="提现金额" prop="money">
<template slot-scope="scope">
{{ scope.row.money }}
</template>
</el-table-column>
<el-table-column label="手续费" prop="rate">
<template slot-scope="scope">
{{ scope.row.rate }}
</template>
</el-table-column>
<el-table-column label="是否转账" prop="isOut"></el-table-column>
<el-table-column label="会员编号" prop="relationId"></el-table-column>
<el-table-column label="支付宝信息" prop="zhifubao">
<template slot-scope="scope">
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
</template>
</el-table-column>
<el-table-column label="订单编号" prop="orderNumber"></el-table-column>
<el-table-column label="订单编号" prop="orderNumber"></el-table-column>
<el-table-column label="代理用户id" prop="sysUserId"></el-table-column>
<el-table-column label="提现类型" prop="userType">
<template slot-scope="scope">
<span v-if="scope.row.userType == 1">用户提现</span>
<span v-if="scope.row.userType == 2">代理提现</span>
</template>
</el-table-column>
<el-table-column label="申请时间" prop="createAt"></el-table-column>
<el-table-column label="转账时间" prop="outAt"></el-table-column>
<el-table-column label="状态" prop="state">
<template slot-scope="scope">
<el-tag type="warning" v-if="scope.row.state == 0" disable-transitions>
待转账
</el-tag>
<el-tag type="success" v-if="scope.row.state == 1" disable-transitions>
成功
</el-tag>
<template v-if="scope.row.state == 2">
<el-tag type="danger" disable-transitions>
失败
</el-tag>
原因: {{ scope.row.refund }}
</template>
<el-tag type="warning" v-if="scope.row.state == 3" disable-transitions>
待审核
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="100" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="mini" @click="deliverHandle(scope.row)" v-if="scope.row.state == 3">
待审核
</el-button>
<el-button type="text" disabled v-else>已审核</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]" :page-size="tableData.limit" :current-page="tableData.page"
layout="total,sizes, prev, pager, next,jumper" :total="tableData.total">
</el-pagination>
</div>
<el-dialog title="提现审核" width="600px" :visible.sync="visible" @close="onClose">
<el-form :model="form" :rules="rules" ref="form" label-width="80px" label-position="left">
<el-form-item label="审核" prop="isAgree">
<el-radio-group v-model="form.isAgree">
<el-radio label="1"> 同意 </el-radio>
<el-radio label="0"> 拒绝 </el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="refund" v-if="form.isAgree == 0">
<el-input v-model="form.refund" placeholder="拒绝原因"></el-input>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer" style="display: flex; justify-content: flex-end;">
<el-button size="small" @click="visible = false"> </el-button>
<el-button size="small" type="primary" :loading="confirmLoading"
@click="confirmHandle">确定</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script>
import { cashOutAuditPage, cashOutAuditAudit } from "@/api/withdraw.js";
export default {
data() {
return {
timeValue: [],
query: {
userId: "",
userName: "",
userType: '',
zhifubao: "",
zhifubaoName: "",
state: "",
startTime: "",
endTime: ""
},
resetQuery: {},
tableData: {
page: 1,
limit: 10,
total: 0,
list: [],
loading: false
},
visible: false,
confirmLoading: false,
form: {
id: "",
isAgree: "1",
refund: ""
},
rules: {
isAgree: [],
refund: [
{ required: true, message: "请输入拒绝原因", trigger: "blur" }
]
}
};
},
mounted() {
this.resetQuery = { ...this.query };
this.cashOutAuditPage();
},
methods: {
// ,
onClose() {
this.$refs.form.resetFields();
},
//
deliverHandle(row) {
this.form.id = row.id;
this.visible = true;
},
//
confirmHandle() {
this.$refs.form.validate(async valid => {
if (valid) {
this.confirmLoading = true;
try {
const { data } = await cashOutAuditAudit(this.form);
if (data.code == 0) {
this.$message.success("审核成功");
this.visible = false;
this.cashOutAuditPage();
} else {
this.$message.error(data.msg || "审核失败");
}
} catch (error) {
console.log(error);
}
this.confirmLoading = false;
}
});
},
//
queryHandle() {
this.page = 1;
this.cashOutAuditPage();
},
//
resetHandle() {
this.query = { ...this.resetQuery };
this.timeValue = [];
this.cashOutAuditPage();
},
//
changeTime() {
if (this.timeValue.length == 2) {
this.query.startTime = this.timeValue[0];
this.query.endTime = this.timeValue[1];
} else {
this.query.startTime = "";
this.query.endTime = "";
}
},
//
handleSizeChange(size) {
this.tableData.limit = size;
this.cashOutAuditPage();
},
//
handleCurrentChange(val) {
this.tableData.page = val;
this.cashOutAuditPage();
},
//
async cashOutAuditPage() {
try {
this.tableData.loading = true;
const { data } = await cashOutAuditPage({
...this.query,
page: this.tableData.page,
limit: this.tableData.limit
});
this.tableData.loading = false;
this.tableData.list = data.page.list;
this.tableData.total = data.page.totalCount;
} catch (error) {
this.tableData.loading = false;
console.log(error);
}
}
}
};
</script>

View File

@ -1,193 +1,92 @@
<template>
<div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="提现管理" name="first">
<el-tab-pane label="提现审核" name="withdraw">
<WithdrawManage></WithdrawManage>
</el-tab-pane>
<!-- 拒绝弹框 -->
<!-- <el-tab-pane label="提现管理" name="first">
<div style="margin: 5px; display: inline-block">
<div style="position: relative; display: inline-block">
<span>状态</span>
<el-select
v-model="stateTx"
style="width: 150px; margin: 10px"
@change="phoneSelect()"
>
<el-option
v-for="item in statesTx"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>&nbsp;&nbsp;&nbsp;&nbsp;
<el-select v-model="stateTx" style="width: 150px; margin: 10px" @change="phoneSelect()">
<el-option v-for="item in statesTx" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>&nbsp;&nbsp;&nbsp;&nbsp;
</div>
<div style="position: relative; display: inline-block">
<span>类型</span>
<el-select
v-model="typeTx"
style="width: 150px; margin: 10px"
@change="phoneSelect()"
>
<el-option
v-for="item in typeType"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>&nbsp;&nbsp;&nbsp;&nbsp;
<el-select v-model="typeTx" style="width: 150px; margin: 10px" @change="phoneSelect()">
<el-option v-for="item in typeType" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>&nbsp;&nbsp;&nbsp;&nbsp;
</div>
<div style="position: relative; display: inline-block">
<span>支付宝账号</span>
<el-input
style="width: 200px"
@keydown.enter.native="phoneSelect"
placeholder="请输入支付宝账号"
v-model="zhifubao"
></el-input
>&nbsp;&nbsp;
<span
@click="phoneSelect"
style="position: absolute; right: 18px; top: 8px"
>
<icon-svg
name="shousuo"
class="site-sidebar__menu-icon"
></icon-svg>
<el-input style="width: 200px" @keydown.enter.native="phoneSelect" placeholder="请输入支付宝账号"
v-model="zhifubao"></el-input>&nbsp;&nbsp;
<span @click="phoneSelect" style="position: absolute; right: 18px; top: 8px">
<icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
</span>
</div>
<div style="position: relative; display: inline-block">
<span>支付宝名称</span>
<el-input
style="width: 200px"
@keydown.enter.native="phoneSelect"
placeholder="请输入支付宝名称"
v-model="zhifubaoName"
></el-input
>&nbsp;&nbsp;
<span
@click="phoneSelect"
style="position: absolute; right: 18px; top: 8px"
>
<icon-svg
name="shousuo"
class="site-sidebar__menu-icon"
></icon-svg>
<el-input style="width: 200px" @keydown.enter.native="phoneSelect" placeholder="请输入支付宝名称"
v-model="zhifubaoName"></el-input>&nbsp;&nbsp;
<span @click="phoneSelect" style="position: absolute; right: 18px; top: 8px">
<icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
</span>
</div>
<div style="position: relative; display: inline-block">
<span>用户昵称</span>
<el-input
style="width: 200px"
@keydown.enter.native="phoneSelect"
placeholder="请输入用户昵称"
v-model="userName"
></el-input
>&nbsp;&nbsp;
<span
@click="phoneSelect"
style="position: absolute; right: 18px; top: 8px"
>
<icon-svg
name="shousuo"
class="site-sidebar__menu-icon"
></icon-svg>
<el-input style="width: 200px" @keydown.enter.native="phoneSelect" placeholder="请输入用户昵称"
v-model="userName"></el-input>&nbsp;&nbsp;
<span @click="phoneSelect" style="position: absolute; right: 18px; top: 8px">
<icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
</span>
</div>
<div style="position: relative; display: inline-block">
<span>分销商昵称</span>
<el-input
style="width: 200px"
@keydown.enter.native="phoneSelect"
placeholder="请输入分销商昵称"
v-model="sysUserName"
></el-input
>&nbsp;&nbsp;
<el-input style="width: 200px" @keydown.enter.native="phoneSelect" placeholder="请输入分销商昵称"
v-model="sysUserName"></el-input>&nbsp;&nbsp;
</div>
<div style="margin: 5px; display: inline-block">
<span>开始时间</span>
<el-date-picker
style="width: 160px; margin-left: 10px"
v-model="startTime"
align="right"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
>
<el-date-picker style="width: 160px; margin-left: 10px" v-model="startTime" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
</el-date-picker>
</div>
<div style="margin: 5px; display: inline-block">
<span>截止时间</span>
<el-date-picker
style="width: 160px; margin-left: 10px"
v-model="endTime"
align="right"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择截止时间"
>
<el-date-picker style="width: 160px; margin-left: 10px" v-model="endTime" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
</el-date-picker>
</div>
</div>
<div style="display: inline-block">
<el-button
style="margin: 10px"
size="mini"
type="primary"
icon="document"
@click="phoneSelect"
>查询
<el-button style="margin: 10px" size="mini" type="primary" icon="document" @click="phoneSelect">查询
</el-button>
<el-button
style="margin: 10px"
size="mini"
type="primary"
icon="document"
@click="cleans2"
>重置
<el-button style="margin: 10px" size="mini" type="primary" icon="document" @click="cleans2">重置
</el-button>
<el-button
style="margin: 0 0 20px 20px"
size="mini"
type="primary"
icon="document"
@click="transferClcik()"
:disabled="
checkBoxData.length <= 0 || !isAuth('financeList:transfer')
"
>
<el-button style="margin: 0 0 20px 20px" size="mini" type="primary" icon="document" @click="transferClcik()"
:disabled="checkBoxData.length <= 0 || !isAuth('financeList:transfer')
">
批量转账
</el-button>
<el-button
style="margin-left: 15px"
size="mini"
type="warning"
icon="document"
@click="exportBtn"
>导出Excel
<el-button style="margin-left: 15px" size="mini" type="warning" icon="document" @click="exportBtn">导出Excel
</el-button>
</div>
<div style="color: orange">
*
导出提示导出数据前请进行时间或者状态等筛选否则导出数据量过多易出现卡顿或系统崩溃
</div>
<el-table
@selection-change="changeFun"
v-loading="tableDataLoading"
:data="tableData"
>
<el-table @selection-change="changeFun" v-loading="tableDataLoading" :data="tableData">
<el-table-column type="selection"> </el-table-column>
<el-table-column fixed prop="id" label="编号" width="80">
</el-table-column>
<el-table-column prop="zhifubao" label="用户昵称" width="150">
<template slot-scope="scope">
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.userType == 1"
@click="updates(scope.row.userId)"
>{{ scope.row.userName ? scope.row.userName : "未绑定" }}</span
>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.userType == 1"
@click="updates(scope.row.userId)">{{ scope.row.userName ? scope.row.userName : "未绑定" }}</span>
<span v-else>-</span>
</template>
</el-table-column>
@ -199,14 +98,10 @@
</el-table-column>
<el-table-column prop="zhifubao" label="分销商昵称" width="150">
<template slot-scope="scope">
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.userType == 2"
@click="updatesF(scope.row.sysUserId)"
>{{
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.userType == 2"
@click="updatesF(scope.row.sysUserId)">{{
scope.row.sysUserName ? scope.row.sysUserName : "未绑定"
}}</span
>
}}</span>
<span v-else>-</span>
</template>
</el-table-column>
@ -231,11 +126,7 @@
</el-table-column>
<el-table-column prop="state" label="状态" width="100">
<template slot-scope="scope">
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.state == 0"
>待转账</span
>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.state == 0">待转账</span>
<span v-if="scope.row.state == 1">已转账</span>
<span v-if="scope.row.state == -1">已拒绝</span>
</template>
@ -249,85 +140,39 @@
<el-table-column fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
:disabled="
!isAuth('financeList:transfer') || scope.row.state != 0
"
@click="batch(scope.row)"
>转账
<el-button size="mini" type="primary" :disabled="!isAuth('financeList:transfer') || scope.row.state != 0
" @click="batch(scope.row)">转账
</el-button>
<el-button
size="mini"
type="primary"
:disabled="
!isAuth('financeList:refund') || scope.row.state != 0
"
@click="refund(scope.row)"
>拒绝
<el-button size="mini" type="primary" :disabled="!isAuth('financeList:refund') || scope.row.state != 0
" @click="refund(scope.row)">拒绝
</el-button>
</template>
</el-table-column>
</el-table>
<div style="text-align: center; margin-top: 10px">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]"
:page-size="limit"
:current-page="page"
layout="total,sizes, prev, pager, next,jumper"
:total="totalnum"
>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-sizes="[10, 20, 30, 40]"
:page-size="limit" :current-page="page" layout="total,sizes, prev, pager, next,jumper" :total="totalnum">
</el-pagination>
</div>
<!-- 拒绝弹框 -->
<el-dialog title="拒绝" :visible.sync="dialogFormVisible" center>
<el-form :model="form">
<el-form-item label="拒绝原因:" :label-width="formLabelWidth">
<el-input
v-model="form.content"
type="textarea"
rows="4"
placeholder="请输入拒绝原因"
style="width: 65%"
></el-input>
<el-input v-model="form.content" type="textarea" rows="4" placeholder="请输入拒绝原因" style="width: 65%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="refundNoticeTo()"
> </el-button
>
<el-button type="primary" @click="refundNoticeTo()"> </el-button>
</div>
</el-dialog>
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane label="收入统计" name="second">
<div>
<el-select
v-model="flag"
style="width: 150px; margin-left: 10px"
@change="animeDat"
>
<el-option
v-for="item in flags"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>&nbsp;&nbsp;&nbsp;
<el-date-picker
style="width: 200px; margin-left: 10px"
v-model="info1.stockDate1"
align="right"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
@change="animeSelect"
>
<el-select v-model="flag" style="width: 150px; margin-left: 10px" @change="animeDat">
<el-option v-for="item in flags" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>&nbsp;&nbsp;&nbsp;
<el-date-picker style="width: 200px; margin-left: 10px" v-model="info1.stockDate1" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间" @change="animeSelect">
</el-date-picker>
</div>
<el-row>
@ -336,8 +181,7 @@
<div class="box_num">
<div class="box_color">总收入</div>
<div class="text_color">
<span>{{ MoneyData.sumMoney ? MoneyData.sumMoney : 0 }}</span
>
<span>{{ MoneyData.sumMoney ? MoneyData.sumMoney : 0 }}</span>
</div>
</div>
</div>
@ -349,8 +193,7 @@
<div class="text_color">
<span>{{
MoneyData.courseMoney ? MoneyData.courseMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -360,8 +203,7 @@
<div class="box_num">
<div class="box_color">会员收入</div>
<div class="text_color">
<span>{{ MoneyData.vipMoney ? MoneyData.vipMoney : 0 }}</span
>
<span>{{ MoneyData.vipMoney ? MoneyData.vipMoney : 0 }}</span>
</div>
</div>
</div>
@ -370,29 +212,11 @@
</el-tab-pane>
<el-tab-pane label="提现统计" name="third">
<div>
<el-select
v-model="flag"
style="width: 150px; margin-left: 10px"
@change="animeDat2"
>
<el-option
v-for="item in flags"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>&nbsp;&nbsp;&nbsp;
<el-date-picker
style="width: 200px; margin-left: 10px"
v-model="info1.stockDate1"
align="right"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
@change="animeSelect2"
>
<el-select v-model="flag" style="width: 150px; margin-left: 10px" @change="animeDat2">
<el-option v-for="item in flags" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>&nbsp;&nbsp;&nbsp;
<el-date-picker style="width: 200px; margin-left: 10px" v-model="info1.stockDate1" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间" @change="animeSelect2">
</el-date-picker>
</div>
<el-row>
@ -401,8 +225,7 @@
<div class="box_num">
<div class="box_color">累计提现金额</div>
<div class="text_color">
<span>{{ withdrawData.sumMoney }}</span
>
<span>{{ withdrawData.sumMoney }}</span>
</div>
</div>
</div>
@ -412,8 +235,7 @@
<div class="box_num">
<div class="box_color">提现次数</div>
<div class="text_color">
<span>{{ withdrawData.countMoney }}</span
>
<span>{{ withdrawData.countMoney }}</span>
</div>
</div>
</div>
@ -423,8 +245,7 @@
<div class="box_num">
<div class="box_color">待转账次数</div>
<div class="text_color">
<span>{{ withdrawData.stayMoney }}</span
>
<span>{{ withdrawData.stayMoney }}</span>
</div>
</div>
</div>
@ -433,29 +254,11 @@
</el-tab-pane>
<el-tab-pane label="充值统计" name="sixth">
<div>
<el-select
v-model="flag"
style="width: 150px; margin-left: 10px"
@change="animeDat3"
>
<el-option
v-for="item in flags"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-select
>&nbsp;&nbsp;&nbsp;
<el-date-picker
style="width: 200px; margin-left: 10px"
v-model="info1.stockDate1"
align="right"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
@change="animeSelect3"
>
<el-select v-model="flag" style="width: 150px; margin-left: 10px" @change="animeDat3">
<el-option v-for="item in flags" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>&nbsp;&nbsp;&nbsp;
<el-date-picker style="width: 200px; margin-left: 10px" v-model="info1.stockDate1" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间" @change="animeSelect3">
</el-date-picker>
</div>
<el-row>
@ -466,8 +269,7 @@
<div class="text_color">
<span>{{
rechgeData.sumMoney ? rechgeData.sumMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -479,8 +281,7 @@
<div class="text_color">
<span>{{
rechgeData.weiXinAppMoney ? rechgeData.weiXinAppMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -492,8 +293,7 @@
<div class="text_color">
<span>{{
rechgeData.weiXinGZHMoney ? rechgeData.weiXinGZHMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -505,8 +305,7 @@
<div class="text_color">
<span>{{
rechgeData.weiXinXCXMoney ? rechgeData.weiXinXCXMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -521,8 +320,7 @@
rechgeData.zhiFuBaoAppMoney
? rechgeData.zhiFuBaoAppMoney
: 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -534,8 +332,7 @@
<div class="text_color">
<span>{{
rechgeData.weiXinXCXMoney ? rechgeData.weiXinXCXMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -547,8 +344,7 @@
<div class="text_color">
<span>{{
rechgeData.zhiFuBaoH5Money ? rechgeData.zhiFuBaoH5Money : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -558,8 +354,7 @@
<div class="box_num">
<div class="box_color">抖音充值金额</div>
<div class="text_color">
<span>{{ rechgeData.dyMoney ? rechgeData.dyMoney : 0 }}</span
>
<span>{{ rechgeData.dyMoney ? rechgeData.dyMoney : 0 }}</span>
</div>
</div>
</div>
@ -571,8 +366,7 @@
<div class="text_color">
<span>{{
rechgeData.iosMoney ? rechgeData.iosMoney : 0
}}</span
>
}}</span>
</div>
</div>
</div>
@ -582,8 +376,7 @@
<div class="box_num">
<div class="box_color">快手充值金额</div>
<div class="text_color">
<span>{{ rechgeData.ksMoney ? rechgeData.ksMoney : 0 }}</span
>
<span>{{ rechgeData.ksMoney ? rechgeData.ksMoney : 0 }}</span>
</div>
</div>
</div>
@ -593,92 +386,39 @@
<el-tab-pane label="充值记录" name="fourth">
<div style="margin: 2% 0; display: inline-block">
<span>状态</span>
<el-select
v-model="state"
placeholder="请选择状态"
style="width: 150px"
@change="timeDate()"
>
<el-option
v-for="item in states"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="state" placeholder="请选择状态" style="width: 150px" @change="timeDate()">
<el-option v-for="item in states" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div style="position: relative; display: inline-block">
<span>充值订单号</span>
<el-input
style="width: 200px"
@keydown.enter.native="timeDate"
placeholder="请输入充值订单号"
v-model="orderId"
></el-input
>&nbsp;&nbsp;
<span
@click="timeDate"
style="position: absolute; right: 18px; top: 8px"
>
<el-input style="width: 200px" @keydown.enter.native="timeDate" placeholder="请输入充值订单号"
v-model="orderId"></el-input>&nbsp;&nbsp;
<span @click="timeDate" style="position: absolute; right: 18px; top: 8px">
<icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
</span>
</div>
<div style="position: relative; display: inline-block">
<span>用户昵称</span>
<el-input
style="width: 200px"
@keydown.enter.native="timeDate"
placeholder="请输入用户昵称"
v-model="userName"
></el-input
>&nbsp;&nbsp;
<span
@click="timeDate"
style="position: absolute; right: 18px; top: 8px"
>
<el-input style="width: 200px" @keydown.enter.native="timeDate" placeholder="请输入用户昵称"
v-model="userName"></el-input>&nbsp;&nbsp;
<span @click="timeDate" style="position: absolute; right: 18px; top: 8px">
<icon-svg name="shousuo" class="site-sidebar__menu-icon"></icon-svg>
</span>
</div>
<div style="display: inline-block">
<span>开始时间</span>
<el-date-picker
style="width: 160px; margin-left: 10px"
v-model="startTime"
align="right"
type="datetime"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
>
</el-date-picker
>&nbsp;&nbsp;&nbsp;
<el-date-picker style="width: 160px; margin-left: 10px" v-model="startTime" align="right" type="datetime"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
</el-date-picker>&nbsp;&nbsp;&nbsp;
<span>截止时间</span>
<el-date-picker
style="width: 160px; margin-left: 10px"
v-model="endTime"
align="right"
type="datetime"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择截止时间"
>
<el-date-picker style="width: 160px; margin-left: 10px" v-model="endTime" align="right" type="datetime"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
</el-date-picker>
<el-button
style="margin-left: 15px"
size="mini"
type="primary"
icon="document"
@click="timeDate"
>查询
<el-button style="margin-left: 15px" size="mini" type="primary" icon="document" @click="timeDate">查询
</el-button>
<el-button
style="margin-left: 15px"
size="mini"
type="primary"
icon="document"
@click="selectTrigger"
>重置
<el-button style="margin-left: 15px" size="mini" type="primary" icon="document" @click="selectTrigger">重置
</el-button>
</div>
<el-table v-loading="tableDataLoading" :data="rechargeData">
@ -686,11 +426,8 @@
</el-table-column>
<el-table-column prop="userName" label="用户昵称">
<template slot-scope="scope">
<span
style="color: #4f9dec; cursor: pointer"
@click="updates(scope.row.userId)"
>{{ scope.row.userName ? scope.row.userName : "未绑定" }}</span
>
<span style="color: #4f9dec; cursor: pointer" @click="updates(scope.row.userId)">{{ scope.row.userName ?
scope.row.userName : "未绑定" }}</span>
</template>
</el-table-column>
<el-table-column prop="orderId" label="充值订单号" width="250">
@ -707,64 +444,22 @@
</el-table-column>
<el-table-column label="分类" width="120">
<template slot-scope="scope">
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 1"
>app微信</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 2"
>微信公众号</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 3"
>微信小程序</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 4"
>app支付宝</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 5"
>h5支付宝</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 6"
>抖音</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 7"
>苹果支付</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 8"
>快手支付</span
>
<span
style="color: #4f9dec; cursor: pointer"
v-if="scope.row.classify == 9"
>系统充值</span
>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 1">app微信</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 2">微信公众号</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 3">微信小程序</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 4">app支付宝</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 5">h5支付宝</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 6">抖音</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 7">苹果支付</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 8">快手支付</span>
<span style="color: #4f9dec; cursor: pointer" v-if="scope.row.classify == 9">系统充值</span>
</template>
</el-table-column>
<el-table-column label="状态" width="120">
<template slot-scope="scope">
<span style="color: #4f9dec" v-if="scope.row.state == 0"
>待充值</span
>
<span style="color: #4f9dec" v-if="scope.row.state == 1"
>充值成功</span
>
<span style="color: #4f9dec" v-if="scope.row.state == 2"
>充值失败</span
>
<span style="color: #4f9dec" v-if="scope.row.state == 0">待充值</span>
<span style="color: #4f9dec" v-if="scope.row.state == 1">充值成功</span>
<span style="color: #4f9dec" v-if="scope.row.state == 2">充值失败</span>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="170">
@ -773,15 +468,9 @@
</el-table-column>
</el-table>
<div style="text-align: center; margin-top: 10px">
<el-pagination
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"
:page-sizes="[10, 20, 30, 40]"
:page-size="limit"
:current-page="page"
layout="total,sizes, prev, pager, next,jumper"
:total="totalnum2"
>
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
layout="total,sizes, prev, pager, next,jumper" :total="totalnum2">
</el-pagination>
</div>
</el-tab-pane>
@ -791,12 +480,7 @@
<div style="margin-bottom: 20px">
<el-select @change="zhuanPanTypeChange" v-model="zhuanPanType" placeholder="请选择">
<el-option
v-for="item in zhuanPanTypes"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option v-for="item in zhuanPanTypes" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
@ -807,11 +491,7 @@
<el-table-column label="名称" prop="name"></el-table-column>
<el-table-column label="图片">
<template slot-scope="scope">
<img
style="width: 50px; height: 50px"
v-if="scope.row.url"
:src="scope.row.url"
/>
<img style="width: 50px; height: 50px" v-if="scope.row.url" :src="scope.row.url" />
</template>
</el-table-column>
<el-table-column label="类型">
@ -836,18 +516,8 @@
</el-table-column>
<el-table-column label="编辑">
<template slot-scope="scope">
<el-button
type="text"
size="mini"
@click="refAddZhuanpanOpen(scope.row)"
>编辑</el-button
>
<el-button
type="text"
size="mini"
@click="depPopZhuanpanPack(scope.row)"
>删除</el-button
>
<el-button type="text" size="mini" @click="refAddZhuanpanOpen(scope.row)">编辑</el-button>
<el-button type="text" size="mini" @click="depPopZhuanpanPack(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -856,16 +526,11 @@
<el-tab-pane label="现金红包抽奖金额配置" name="senven">
<div class="">
<div style="margin-bottom: 20px">
<el-button type="primary" @click="openPop('refAddRedPack')"
>添加</el-button
>
<el-button type="primary" @click="openPop('refAddRedPack')">添加</el-button>
</div>
<el-table :border="true" :data="redPackData">
<el-table-column label="描述" prop="name"></el-table-column>
<el-table-column
label="最大金额"
prop="maxAmount"
></el-table-column>
<el-table-column label="最大金额" prop="maxAmount"></el-table-column>
<el-table-column label="中奖概率">
<template slot-scope="scope">
<span>{{ scope.row.random }}</span>
@ -873,44 +538,22 @@
</el-table-column>
<el-table-column label="是否启用">
<template slot-scope="scope">
<el-switch
@change="redPackChangeStatus($event, scope.row)"
v-model="scope.row.status"
:inactive-value="0"
:active-value="1"
></el-switch>
<el-switch @change="redPackChangeStatus($event, scope.row)" v-model="scope.row.status"
:inactive-value="0" :active-value="1"></el-switch>
</template>
</el-table-column>
<el-table-column label="编辑">
<template slot-scope="scope">
<el-button
type="text"
size="mini"
@click="openPop('refAddRedPack', scope.row)"
>编辑</el-button
>
<el-button
type="text"
size="mini"
@click="depPopRedPack(scope.row)"
>删除</el-button
>
<el-button type="text" size="mini" @click="openPop('refAddRedPack', scope.row)">编辑</el-button>
<el-button type="text" size="mini" @click="depPopRedPack(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
<pop-add-zhuanpan
ref="refAddZhuanpan"
@refresh="zhuanPanRefresh"
:source="zhuanPanType"
></pop-add-zhuanpan>
<pop-add-red-pack
ref="refAddRedPack"
@refresh="redpackRefresh"
></pop-add-red-pack>
<pop-add-zhuanpan ref="refAddZhuanpan" @refresh="zhuanPanRefresh" :source="zhuanPanType"></pop-add-zhuanpan>
<pop-add-red-pack ref="refAddRedPack" @refresh="redpackRefresh"></pop-add-red-pack>
</div>
</template>
@ -918,9 +561,10 @@
import $disc from "@/api/disc-spinning.js";
import popAddZhuanpan from "./components/pop-add-zhuanpan.vue";
import popAddRedPack from "./components/pop-add-redPack.vue";
import WithdrawManage from "./components/withdraw-manage.vue";
import { $redPackApi } from "@/api/red-pack.js";
export default {
components: { popAddZhuanpan, popAddRedPack },
components: { popAddZhuanpan, popAddRedPack, WithdrawManage },
data() {
return {
zhuanPanType: 1,
@ -1004,7 +648,7 @@ export default {
relationId: "",
sumMoneyByTime: "",
money: "",
activeName: "first",
activeName: "withdraw",
formLabelWidth: "200px",
dialogFormVisible: false,
dialogFormVisible1: false,

View File

@ -25,7 +25,7 @@
</el-form-item>
<el-form-item label="日期">
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="" start-placeholder="开始日期"
end-placeholder="结束日期" @change="changeTime">
end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
</el-date-picker>
</el-form-item>
<el-form-item>