<!DOCTYPE html>
|
<html class="x-admin-sm">
|
|
<head>
|
<meta charset="UTF-8">
|
<title>提现处理</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
|
|
<link rel="stylesheet" href="/admin/css/font.css">
|
<link rel="stylesheet" href="/admin/css/xadmin.css">
|
<link rel="stylesheet" href="/admin/css/theme3049.min.css">
|
|
<script src="/admin/lib/layui/layui.js" charset="utf-8"></script>
|
<script src="/admin/js/vue.min.js" type="text/javascript" charset="utf-8"></script>
|
<script src="/admin/js/xadmin.js" type="text/javascript"></script>
|
<script src="/admin/js/http.js" type="text/javascript" charset="utf-8"></script>
|
<script src="/admin/js/jquery.min.js" type="text/javascript"></script>
|
<script src="/admin/js/utils.js"></script>
|
<!--[if lt IE 9]>
|
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
<![endif]-->
|
<script src="../js/utils.js"></script>
|
<style>
|
|
.extract-area {
|
display: flex;
|
justify-content: space-between;
|
}
|
|
.extract-area .info {
|
display: flex;
|
flex-direction: column;
|
justify-content: space-between;
|
}
|
|
.extract-area .info .money {
|
margin-top: 10px;
|
font-size: 16px;
|
}
|
|
.extract-area .process {
|
display: flex;
|
flex-direction: column;
|
|
}
|
|
.extract-area .process input {
|
width: 300px;
|
font-size: 15px;
|
}
|
|
.extract-area .process .options {
|
display: flex;
|
margin-top: 10px;
|
justify-content: right;
|
}
|
|
.user {
|
text-align: center;
|
display: flex;
|
}
|
|
.portrait {
|
width: 50px;
|
height: 50px;
|
border-radius: 25px;
|
}
|
|
.nick_name {
|
margin-left: 10px;
|
line-height: 25px;
|
}
|
|
</style>
|
</head>
|
|
<body>
|
<div class="layui-fluid" id="app">
|
<div class="layui-row layui-col-space15">
|
<div class="layui-col-md12">
|
<div class="layui-card">
|
<div class="layui-card-body">
|
<div class="extract-area">
|
<div class="info" v-if="extract">
|
<div class="user">
|
<img class="portrait" :src="extract.user.portrait"
|
style="">
|
<div style="text-align: left">
|
<div class="nick_name">{{extract.user.nickName}}</div>
|
<div class="nick_name">ID: {{extract.user.id}}</div>
|
</div>
|
|
</div>
|
|
<div class="money">
|
提现ID:{{extract.id}} 提现金额:¥{{extract.money}} 状态: <span
|
v-html="extract.stateDesc"></span>
|
</div>
|
|
|
</div>
|
<div class="process">
|
|
<input class="layui-input" placeholder="请输入拒绝原因" id="reason"/>
|
|
<div class="options">
|
<button class="layui-btn" onclick="app.pass()">通过</button>
|
<button class="layui-btn layui-btn-danger" onclick="app.reject()">拒绝</button>
|
</div>
|
|
|
</div>
|
</div>
|
</div>
|
<div class="layui-card-body ">
|
<table class="layui-table" id="table_list" lay-filter="app">
|
</table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</body>
|
|
|
<script type="text/html" id="optContainer">
|
<div class="layui-btn-container">
|
<a title="删除" onclick="member_del(this,{{d.LAY_INDEX }},'{{d.id}}')" href="javascript:;">
|
<i class="layui-icon"></i>
|
</a>
|
</div>
|
</script>
|
|
<script type="text/html" id="statusContainer">
|
<div class="layui-btn-container">
|
{{# if(d.status==0){ }}
|
<span class="layui-btn layui-btn-mini">
|
正常
|
</span>
|
{{# }else{ }}
|
<span class="layui-btn layui-btn-danger layui-btn-mini">
|
已删除
|
</span>
|
{{# } }}
|
</div>
|
</script>
|
|
<script type="text/html" id="switchTpl">
|
<!-- 这里的checked的状态只是演示 -->
|
<input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="女|男" lay-filter="sexDemo" {{ d.id==
|
10003 ? 'checked': ''}} >
|
</script>
|
|
|
<script type="text/html" id="imgshow">
|
<!-- 这里的checked的状态只是演示 -->
|
<img src="{{d.}}"/>
|
<input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="女|男" lay-filter="sexDemo" {{ d.id==
|
10003 ? 'checked': ''}} >
|
</script>
|
|
<script>
|
var tableIns = null;
|
var app = null;
|
$(function () {
|
var id = ksapp.getQueryParam("id");
|
|
app = new Vue({
|
el: "#app",
|
data: {
|
extract: null,
|
},
|
watch: {},
|
created: function () {
|
|
},
|
methods: {
|
init: function () {
|
//初始化
|
layui.use(['laydate', 'form', 'table'], function () {
|
var laydate = layui.laydate,
|
form = layui.form,
|
table = layui.table;
|
|
//搜索条件
|
form.on('submit(process)', function (data) {
|
return false;
|
});
|
|
tableIns = table.render({
|
elem: '#table_list',
|
url: "/admin/api/money/extract/list",
|
totalRow: true,
|
cols: [[,
|
{field: 'id', width: 70, sort: false, title: "ID"},
|
{
|
field: 'user', width: 80, sort: false, title: "用户ID", templet: function (res) {
|
return res.user.id;
|
}
|
},
|
{field: 'money', width: 100, sort: false, title: "提现金额"},
|
{field: 'type', width: 80, sort: false, title: "付款渠道"},
|
{field: 'name', width: 80, sort: false, title: "姓名(支付宝)"},
|
{field: 'account', width: 120, sort: false, title: "账号/OpenId"},
|
{field: 'ip', width: 150, sort: false, title: "提现IP"},
|
{
|
field: 'state', width: 80, sort: false, title: "状态", templet: function (res) {
|
if (res.state == 0) {
|
return "未处理";
|
} else if (res.state == 1) {
|
return "<span style='color:green'>已通过</span>";
|
} else if (res.state == 2) {
|
return "<span style='color:red'>已拒绝</span>";
|
} else if (res.state == 3) {
|
return "<span style='color:orange'>正在处理</span>";
|
}
|
return "未知";
|
}
|
},
|
{field: 'reason', width: 200, sort: false, title: "原因"},
|
{field: 'successTime', width: 150, sort: false, title: "通过时间"},
|
{field: 'createTime', width: 150, sort: false, title: "创建时间"},
|
]],
|
page: true,
|
parseData: function (res) { //res 即为原始返回的数据
|
if (res.code != 0)
|
return;
|
if (res.data.list == null)
|
return;
|
console.log(res.data.list)
|
return {
|
"code": res.code, //解析接口状态
|
"msg": res.msg, //解析提示文本
|
"count": res.data.count, //解析数据长度
|
"data": res.data.list //解析数据列表
|
};
|
},
|
error: function (e, msg) {
|
ksapp.tableError(e)
|
}
|
//,…… //其他参数
|
});
|
//请求搜索表单中需要的数据
|
app.getDetail();
|
});
|
|
|
},
|
search: function (params) {
|
|
if (params["uid"].length == 0) {
|
delete params["uid"];
|
}
|
|
//数据重载
|
tableIns.reload({
|
where: params,
|
page: {
|
curr: 1 //重新从第 1 页开始
|
}
|
});
|
},
|
getDetail: function () {
|
|
ksapp.post('/admin/api/money/extract/get', {
|
id: id
|
}, function (res) {
|
if (res.code == 0) {
|
var data = res.data;
|
if (data.state == 0) {
|
data.stateDesc = "未处理";
|
} else if (data.state == 1) {
|
data.stateDesc = "<span style='color:green'>已通过</span>";
|
} else if (data.state == 2) {
|
data.stateDesc = "<span style='color:red'>已拒绝</span>";
|
} else if (data.state == 3) {
|
data.stateDesc = "<span style='color:orange'>正在处理</span>";
|
} else {
|
data.stateDesc = "未知";
|
}
|
app.extract = data;
|
app.search({uid: app.extract.user.id});
|
} else {
|
layer.msg(res.msg);
|
}
|
}, function (res) {
|
});
|
|
},
|
|
pass: function () {
|
layer.confirm('是否通过提现申请?', {icon: 3, title: '提示'}, function (index) {
|
layer.close(index);
|
//确定
|
ksapp.post('/admin/api/money/extract/passExtract', {id: id}, function (res) {
|
if (res.code == 0) {
|
layer.msg("成功");
|
} else if (res.code == 50002) {
|
app.openVerifyDialog();
|
} else {
|
layer.msg(res.msg);
|
}
|
}, function (res) {
|
});
|
});
|
},
|
reject: function () {
|
if ($("#reason").val().length == 0) {
|
layer.msg("请填写拒绝原因");
|
return;
|
}
|
|
|
layer.confirm('是否拒绝提现申请?', {icon: 3, title: '提示'}, function (index) {
|
layer.close(index);
|
ksapp.post('/admin/api/money/extract/rejectExtract', {
|
id: id,
|
reason: $("#reason").val()
|
}, function (res) {
|
if (res.code == 0) {
|
layer.msg("成功");
|
} else if (res.code == 50002) {
|
app.openVerifyDialog();
|
} else {
|
layer.msg(res.msg);
|
}
|
}, function (res) {
|
});
|
});
|
},
|
openVerifyDialog: function () {
|
xadmin.open('邮件验证', 'extract_email_code.html', 350, 160);
|
}
|
|
}
|
});
|
app.init();
|
});
|
|
</script>
|
|
<script>
|
|
</script>
|
</html>
|