Commit 10315f0e authored by pengyunqian's avatar pengyunqian

feature:二次确认

parents 0df33674 52fb1e8c
// const WITHDRAWAL_URI = require("../config.js").WITHDRAWAL_URI; const WITHDRAWAL_URI = require("../config.js").WITHDRAWAL_URI;
// const req = require("../utils/request").httpReq; const req = require("../utils/request").httpReq;
/** /**
* 示例 * 示例
...@@ -15,3 +15,13 @@ ...@@ -15,3 +15,13 @@
* ctx.body = await req(ctx,opts); 将发送请求后的数据传递给前端页面 * ctx.body = await req(ctx,opts); 将发送请求后的数据传递给前端页面
* }; * };
*/ */
// 获取提现审核列表
exports.getApplyList = async ctx => {
const url = `${WITHDRAWAL_URI}/wallet/background/apply_list`;
const opts = {
url,
method: "GET",
qs: ctx.request.query
};
ctx.body = await req(ctx, opts);
};
...@@ -62,5 +62,7 @@ router.post(`${API_VERSION}/merchant/lifeinner/life_info`, life.get_life_info) ...@@ -62,5 +62,7 @@ router.post(`${API_VERSION}/merchant/lifeinner/life_info`, life.get_life_info)
router.get(`${API_VERSION}/merchant/lifeinner/life_list`, life.get_life_list) router.get(`${API_VERSION}/merchant/lifeinner/life_list`, life.get_life_list)
//用户 //用户
router.post(`${API_VERSION}/merchant/authority/get_user_info`, user.getUser_detail) router.post(`${API_VERSION}/merchant/authority/get_user_info`, user.getUser_detail)
// 钱包提现审核
router.post(`${API_VERSION}/get_withdrawal_apply_list`, withdrawal.getApplyList)
module.exports = router; module.exports = router;
...@@ -41,7 +41,22 @@ ...@@ -41,7 +41,22 @@
} }
.listShow { .listShow {
// padding-left: 60px;
padding-left: 120px; padding-left: 120px;
li {
width: 100%;
padding-bottom: 10px;
.list-left {
// display:inline-block;
width: 30%;
// text-align: right;
padding-right: 10px;
}
.list-right {
display:inline-block;
width: 70%;
}
}
} }
.text-area { .text-area {
width: 100%; width: 100%;
......
...@@ -4,27 +4,44 @@ ...@@ -4,27 +4,44 @@
<!-- 审核状态 --> <!-- 审核状态 -->
<el-tabs <el-tabs
class="tab_list" class="tab_list"
v-model="activeName" @tab-click="handleTabChange"
v-model="searchProps.withdraw_apply_status"
>
<el-tab-pane
label="待审核"
name="first"
@tab-click="handleTabChange"
></el-tab-pane>
<el-tab-pane
label="审核通过"
name="second"
@tab-click="handleTabChange"
></el-tab-pane>
<el-tab-pane
label="审核驳回"
name="third"
@tab-click="handleTabChange"
></el-tab-pane>
<el-tab-pane
label="提现失败"
name="fourth"
@tab-click="handleTabChange"
> >
<el-tab-pane label="待审核" name="first"></el-tab-pane>
<el-tab-pane label="审核通过" name="second"></el-tab-pane>
<el-tab-pane label="审核驳回" name="third"></el-tab-pane>
<el-tab-pane label="提现失败" name="fourth">
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<!-- 提现失败页 --> <!-- 提现失败页 -->
<auditTab v-if="activeName=='fourth'"></auditTab> <!-- <auditTab v-if="status_text == 'fourth'"></auditTab> -->
<el-card class="goods" v-else> <el-card class="goods">
<!-- 筛选区 --> <!-- 筛选区 -->
<el-form inline class="search_condition" > <el-form inline class="search_condition">
<!-- 用户id --> <!-- 用户id -->
<el-form-item label="用户id"> <el-form-item label="用户id">
<el-input v-model="userid"></el-input> <el-input v-model="searchProps.user_id"></el-input>
</el-form-item> </el-form-item>
<el-button type="primary" style="margin-left:30px;margin-bottom:22px">查询</el-button> <el-button type="primary" style="margin-left: 30px; margin-bottom: 22px"
>查询</el-button
>
<!-- <el-form-item label="审核状态"> <!-- <el-form-item label="审核状态">
<el-select <el-select
value="value" value="value"
...@@ -54,95 +71,100 @@ ...@@ -54,95 +71,100 @@
<el-table class="goods_list" :data="goodsList" border stripe> <el-table class="goods_list" :data="goodsList" border stripe>
<el-table-column <el-table-column
label="提现用户" label="提现用户"
prop="" prop="user_id"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="所在圈" label="所在圈"
prop="" prop="city_name"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="提现金额" label="提现金额"
prop="" prop="amount"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="最近24小时收入" label="最近24小时收入"
prop="" prop="lately_amount"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="近两天分享增长" label="近两天分享增长"
prop="" prop="lately_share"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="历史分享增长" label="历史分享增长"
prop="" prop="history_share"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="历史分享留存" label="历史分享留存"
prop="" prop="history_download_keep"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="申请时间" label="申请时间"
prop="" prop="create_time"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column label="状态" align="center"> <el-table-column label="状态" align="center">
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.audit_status == 0" style="color: #ff982c" <span v-if="scope.row.withdraw_apply_status == 0">待审核</span>
>待审核</span <span v-if="scope.row.withdraw_apply_status == 1">审核通过</span>
> <span v-if="scope.row.withdraw_apply_status == 2">审核驳回</span>
<span v-if="scope.row.audit_status == 1" style="color: #5cc247"
>审核通过</span
>
<span v-if="scope.row.audit_status == 2" style="color: #fd6b6f"
>审核驳回</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="审核时间" label="审核时间"
prop="" prop="withdraw_apply_success_time.user_id"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="审核人" label="审核人"
prop="" prop="audit_user_name"
align="center" align="center"
></el-table-column> ></el-table-column>
<!-- 操作快捷键 --> <!-- 操作快捷键 -->
<el-table-column label="操作" align="center" fixed="right" width="200"> <el-table-column label="操作" align="center" fixed="right" width="200">
<template #default="scope"> <template #default="scope">
<el-button type="text">查看</el-button>
<el-button <el-button
v-if="
scope.row.audit_status === 0 && scope.row.audit_status !== 2
"
type="text" type="text"
@change="outerVisible = true" @click="handleDetail('look', scope.row)"
@click="goDetail(`AUDIT`, scope.row.goods_spu_id)" v-if="searchProps.withdraw_apply_status !== 'fourth'"
>审核</el-button> >查看</el-button
<el-button type="text">解冻</el-button> >
<el-button type="text">重新发起</el-button> <el-button
type="text"
v-if="searchProps.withdraw_apply_status == 'first'"
@click="handleDetail('audit', scope.row)"
>审核</el-button
>
<el-button
type="text"
v-if="searchProps.withdraw_apply_status == 'fourth'"
>解冻</el-button
>
<el-button
type="text"
v-if="searchProps.withdraw_apply_status == 'fourth'"
>重新发起</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 页码区 --> <!-- 页码区 -->
<!-- <el-pagination <el-pagination
class="pagination" class="pagination"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
v-model:currentPage="searchProps.page" v-model:currentPage="goodsList.page_size"
:page-size="searchProps.page_size" :page="goodsList.page"
layout="total,prev, pager, next, jumper" layout="total,prev, pager, next, jumper"
:total="totalCount" :total="count"
> >
</el-pagination> --> </el-pagination>
</el-card> </el-card>
</layout> </layout>
<!-- 提现申请审核 --> <!-- 提现申请审核 -->
...@@ -151,111 +173,192 @@ ...@@ -151,111 +173,192 @@
>点击打开外层 Dialog</el-button >点击打开外层 Dialog</el-button
> >
<el-dialog title="提现申请审核" v-model="outerVisible" width="35%"> <el-dialog title="提现申请审核" v-model="outerVisible" width="50%">
<el-form inline :model="form"> <el-form inline :model="form">
<el-form-item label="提现用户" label-width="120px"> <el-form-item label="提现用户" label-width="120px">
<el-input autocomplete="off"></el-input> <span style="display: inline-block; min-width: 200px">{{
dialogData.showData.user_id
}}</span>
</el-form-item> </el-form-item>
<el-button type="info">黑名单</el-button> <el-button
<el-button>白名单</el-button> type="info"
<!-- <el-row> @click="handleButtonlist('black')"
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col> v-show="dialogData.showMode === 'audit'"
<el-col :span="8"><div class="grid-content bg-purple-light">提现金额:</div></el-col> >黑名单</el-button
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col> >
</el-row> <el-button
<el-row> @click="handleButtonlist('white')"
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col> v-show="dialogData.showMode === 'audit'"
<el-col :span="8"><div class="grid-content bg-purple-light">最近24小时收入:</div></el-col> >白名单</el-button
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col> >
</el-row>
<el-row>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="8"><div class="grid-content bg-purple-light">近两天分享增长:</div></el-col>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
</el-row>
<el-row>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
<el-col :span="8"><div class="grid-content bg-purple-light">历史分享增长:</div></el-col>
<el-col :span="8"><div class="grid-content bg-purple"></div></el-col>
</el-row> -->
<ul class="listShow"> <ul class="listShow">
<li> <span>提现金额:</span><span></span></li> <li>
<li> <span>最近24小时收入:</span><span></span></li> <span class="list-left">提现金额 :</span>
<li> <span>近两天分享增长:</span><span></span></li> <span class="list-right">{{ dialogData.showData.amount }}</span>
<li> <span>历史分享增长:</span><span></span></li> </li>
<li>
<span class="list-left">最近24小时收入 :</span
><span class="list-right">{{
dialogData.showData.lately_amount
}}</span>
</li>
<li>
<span class="list-left">近两天分享增长 :</span
><span class="list-right">{{
dialogData.showData.lately_share
}}</span>
</li>
<li>
<span class="list-left">历史分享增长 :</span
><span class="list-right">{{
dialogData.showData.history_share
}}</span>
</li>
</ul> </ul>
<el-form-item class="text-area" label="奖励明细:"> <el-form-item class="text-area" label="奖励明细:">
<el-table :data="data" border align="center" style="width: 100%" size="small"> <el-table
<el-table-column align="center" prop="prop" label="流水时间" width="120"> :data="data"
border
align="center"
style="width: 100%"
size="small"
>
<el-table-column
align="center"
prop="prop"
label="流水时间"
width="120"
>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="prop" label="分享用户量" width="120"> <el-table-column
align="center"
prop="prop"
label="分享用户量"
width="120"
>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="prop" label="分享额外奖励x.xx元" width="150"> <el-table-column
align="center"
prop="prop"
label="分享额外奖励x.xx元"
width="150"
>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-dialog
width="15%"
title="再次确认"
v-model="innerVisible"
append-to-body
>
<p>确认执行此操作?</p>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click="innerVisible = true" <el-button
>确认</el-button type="primary"
@click="handleButtonlist('adopt')"
v-show="dialogData.showMode === 'audit'"
>通过</el-button
> >
<el-button @click="outerVisible = false">取 消</el-button> <el-button
</div> type="danger"
</template> @click="handleButtonlist('refuse')"
</el-dialog> v-show="dialogData.showMode === 'audit'"
<template #footer> >拒绝</el-button
<div class="dialog-footer"> >
<el-button type="primary" @click="innerVisible = true">通过</el-button> <el-button @click="outerVisible = false">{{
<el-button type="danger" @click="outerVisible = false">拒绝</el-button> dialogData.showMode === "audit" ? "取消" : "返回"
<el-button @click="outerVisible = false">取 消</el-button> }}</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import auditTab from '../../Withdrawal/auditTab/index.vue'; import Layout from "../layout/index.vue";
// import {getApplyList} from "@/service/"
export default { export default {
name: "Audit", name: "Audit",
components:{auditTab}, components: { Layout },
data() { data() {
return { return {
userid:'',//用户id
goodsList: [ goodsList: [
//提现用户 {
//所在圈 user_id: "对的", //提现用户
//提现金额 city_name: "北京", //所在圈
//最近24小时收入 amount: "45", ///提现金额
//近两天分享增长 lately_amount: "11", //最近24小时收入
//近两天分享下载量 lately_share: "23", //近两天分享增长
//历史分享增长 lately_download: "4", //近两天分享下载量
//历史分享下载量 history_share: "8", //历史分享增长
//历史分享留存 history_download: "7", //历史分享下载量
//申请时间 history_download_keep: "4", //历史分享留存
//状态 create_time: "2021-5-4", //申请时间
withdraw_apply_status: "待审核", //状态
//审核时间 //审核时间
//审核人 audit_user_name: "我", //审核人
},
], ],
// 查询参数
activeName: "first", //tab searchProps: {
user_id: "", //用户id
page_size: 1, //页码
withdraw_apply_status: "first", //状态
},
// 弹框
dialogData: {
showData: {}, //弹框展示
showMode: "audit", //判断是审核还是查看
},
award: "", //奖励明细 award: "", //奖励明细
outerVisible: false, //外层弹框 outerVisible: false, //外层弹框
innerVisible: false, //二次确认 page: 20,
count: 0, //总条数
tileTipe: "",
}; };
}, },
methods: { methods: {
handleTabChange(a, b) {
} console.log(JSON.parse(JSON.stringify(a)).name, b);
},
// 分页
handleCurrentChange() {},
// 跳转提现申请审核
handleDetail(showMode, showData) {
this.dialogData = { ...this.dialogData, showMode, showData };
this.outerVisible = true;
},
// 二次确认弹框
handleButtonlist(val) {
this.$confirm(`<p>你确定此操作吗</p><p>${val}</p>`, "再次确认", {
confirmButtonText: "确定",
cancelButtonText: "取消",
dangerouslyUseHTMLString: true,
center: true,
showClose: false,
type: "warning",
})
.then(() => {
this.$message({
type: "success",
message: "删除成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
// 获取提现审核列表
// async getApplyList () {
// try {
// const res = await getApplyList(this.searchProps);
// if (res.code !== 0) return this.$message.error(res.reason);
// console.log("商品列表", res);
// this.goodsList = res.result.list;
// this.count = res.result.count;
// } catch (error) {
// console.error(error);
// }
// },
},
}; };
</script> </script>
<style lang="less" src="./index.less" scope></style> <style lang="less" src="./index.less" scope></style>
\ No newline at end of file
.goods {
width: 100%;
height: 100%;
padding: 0px 30px;
.search_condition {
display: flex;
flex-wrap: wrap;
align-items: center;
.search_button {
display: flex;
align-items: center;
justify-self: flex-end;
.el-form-item__content {
display: flex;
justify-content: space-around;
}
}
}
.commodity_list {
margin-top: 30px;
}
.pagination {
margin-top: 30px;
}
}
.listShow {
padding-left: 120px;
}
.text-area {
width: 100%;
padding-left: 120px;
.el-form-item__label {
width: 100%;
text-align: left;
}
}
<template>
<layout>
<el-card class="goods">
提现失败页
<!-- 筛选区 -->
<el-form inline class="search_condition">
<!-- 用户id -->
<el-form-item label="用户id">
<el-input value="value">提现失败页</el-input>
</el-form-item>
<el-button type="primary" style="margin-left:30px;margin-bottom:22px">查询</el-button>
</el-form>
<!-- 列表区 -->
<el-table class="goods_list" :data="goodsList" border stripe>
<el-table-column
label="提现用户"
prop=""
align="center"
></el-table-column>
<el-table-column
label="所在圈"
prop=""
align="center"
></el-table-column>
<el-table-column
label="提现金额"
prop=""
align="center"
></el-table-column>
<el-table-column
label="最近4小时收入"
prop=""
align="center"
></el-table-column>
<el-table-column
label="近两天分享增长"
prop=""
align="center"
></el-table-column>
<el-table-column
label="历史分享增长"
prop=""
align="center"
></el-table-column>
<el-table-column
label="历史分享留存"
prop=""
align="center"
></el-table-column>
<el-table-column
label="申请时间"
prop=""
align="center"
></el-table-column>
<el-table-column label="状态" align="center">
<template #default="scope">
<span v-if="scope.row.audit_status == 0" style="color: #ff982c"
>待审核</span
>
<span v-if="scope.row.audit_status == 1" style="color: #5cc247"
>审核通过</span
>
<span v-if="scope.row.audit_status == 2" style="color: #fd6b6f"
>审核驳回</span
>
</template>
</el-table-column>
<el-table-column
label="审核时间"
prop=""
align="center"
></el-table-column>
<el-table-column
label="审核人"
prop=""
align="center"
></el-table-column>
<!-- 操作快捷键 -->
<el-table-column label="操作" align="center" fixed="right" width="200">
<template #default="scope">
<el-button
type="text"
@click="goDetail(`EDIT`, scope.row.goods_spu_id)"
>查看</el-button
>
<el-button
v-if="
scope.row.audit_status === 0 && scope.row.audit_status !== 2
"
type="text"
@change="outerVisible = true"
@click="goDetail(`AUDIT`, scope.row.goods_spu_id)"
>审核</el-button
>
</template>
</el-table-column>
</el-table>
<!-- 页码区 -->
<!-- <el-pagination
class="pagination"
@current-change="handleCurrentChange"
v-model:currentPage="searchProps.page"
:page-size="searchProps.page_size"
layout="total,prev, pager, next, jumper"
:total="totalCount"
>
</el-pagination> -->
</el-card>
</layout>
</template>
<script>
export default {
name: "auditTab",
}
</script>
<style lang="less" src="./index.less" scope></style>
\ No newline at end of file
<template>
<el-dropdown>
<div class="user-info">
<el-avatar
:src="userInfo.avatar || DEFAULT_AVATAR"
size="small"
></el-avatar>
<span class="user-name">{{userInfo.name}}</span>
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<i class="el-icon-message"></i>
{{userInfo.email}}
</el-dropdown-item>
<el-dropdown-item>
<span><a
class="link"
href="//pandora.yidian-inc.com/"
>返回pandora工具平台</a></span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
<script>
import { mapState } from 'vuex'
import { HEADER_CONFIG } from '@/config/pageconfig';
export default {
computed: mapState({
userInfo: state => (state.userInfo || {}),
}),
data () {
return {
DEFAULT_AVATAR: HEADER_CONFIG.miscellaneous.defaultAvatar,
};
},
};
</script>
<style lang="less" scoped>
.user-info {
display: flex;
align-items: center;
}
.user-name {
margin-left: 12px;
color: #fff;
}
</style>
const headerConfig = [
{
name: "提现审核",
path: "/op/withdrawal/audit"
}
];
export default headerConfig;
\ No newline at end of file
<template>
<div id="pageheader">
<div class="line"></div>
<el-menu
class="header-menu"
mode="horizontal"
:router="true"
background-color="#545c64"
text-color="#fff"
:default-active="activeMenu"
active-text-color="#ffd04b"
unique-opened
>
<el-menu-item
v-for="item in headerConfig"
:index="item.path"
:key="item.path"
>
{{ item.name }}
</el-menu-item>
<el-menu-item
key="usermenu"
class="user-menu"
>
<user></user>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
import headerConfig from "./config";
import User from "./User.vue";
export default {
name: "PageHeader",
components: {
User
},
data () {
return {
headerConfig
};
},
computed: {
activeMenu () {
return this.$route.path;
}
},
beforeMount () { },
methods: {}
};
</script>
<style lang="less">
</style>
.layout {
display: flex;
flex-direction: column;
height: 100%;
}
.main {
flex: 1;
}
<template>
<div class="layout">
<!-- 页面公共 header -->
<page-header class="page-header"></page-header>
<!-- 页面主体部分 -->
<div class="main">
<slot></slot>
</div>
</div>
</template>
<script>
import PageHeader from '../components/PageHeader';
export default {
components: { PageHeader },
};
</script>
<style lang="less" src="./index.less"></style>
...@@ -9,11 +9,11 @@ const withdrawalRoutes = [ ...@@ -9,11 +9,11 @@ const withdrawalRoutes = [
name: "Audit", name: "Audit",
component: () => import(/* webpackChunkName: "Withdrawal" */ "@/pages/Withdrawal/Audit"), component: () => import(/* webpackChunkName: "Withdrawal" */ "@/pages/Withdrawal/Audit"),
}, },
{ // {
path: "/op/withdrawal/audittab", // path: "/op/withdrawal/audittab",
name: "auditTab", // name: "auditTab",
component: () => import(/* webpackChunkName: "Withdrawal" */ "@/pages/Withdrawal/auditTab"), // component: () => import(/* webpackChunkName: "Withdrawal" */ "@/pages/Withdrawal/auditTab"),
} // }
]; ];
export default withdrawalRoutes; export default withdrawalRoutes;
\ No newline at end of file
// import axios from "@/utils/request"; import axios from "@/utils/request";
\ No newline at end of file // 获取提现审核列表
export async function getApplyList () {
const res = await axios.get("/api/v1/get_withdrawal_apply_list");
return res;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment