Files
mier-php/public/admin/page/user/user_list.html
2025-08-11 10:22:05 +08:00

571 lines
19 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<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, initial-scale=1, maximum-scale=1" />
<link rel="stylesheet" href="../../lib/layui-v2.5.5/css/layui.css" media="all" />
<link rel="stylesheet" href="../../css/public.css" media="all" />
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="uid" autocomplete="off" class="layui-input"
placeholder="用户id" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="pid" autocomplete="off" class="layui-input"
placeholder="上级用户id" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="user_name" autocomplete="off" class="layui-input"
placeholder="手机号" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="nick_name" autocomplete="off" class="layui-input"
placeholder="用户昵称" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="special_uid" autocomplete="off" class="layui-input"
placeholder="靓号" />
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="last_login_device" autocomplete="off" class="layui-input"
placeholder="设备号" />
</div>
</div>
<!--<div class="layui-inline">-->
<!-- <div class="layui-input-inline">-->
<!-- <select name="is_sign" lay-filter="aihao">-->
<!-- <option value="">是否签约</option>-->
<!-- <option value="1"></option>-->
<!-- <option value="2"></option>-->
<!-- </select>-->
<!-- </div>-->
<!--</div>-->
<!--<div class="layui-inline">-->
<!-- <div class="layui-input-inline">-->
<!-- <select name="is_can_recharge" lay-filter="aihao">-->
<!-- <option value="">是否可代充</option>-->
<!-- <option value="1"></option>-->
<!-- <option value="2"></option>-->
<!-- </select>-->
<!-- </div>-->
<!--</div>-->
<div class="layui-inline">
<div class="layui-input-inline">
<select name="is_real" lay-filter="aihao">
<option value="">实名状态</option>
<option value="2">未实名</option>
<option value="1">已实名</option>
<!--<option value="3">审核中</option>-->
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">金币</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="integral_min" placeholder="¥" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="integral_max" placeholder="¥" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit
lay-filter="data-search-btn">
<i class="layui-icon"></i>
</button>
</div>
</div>
</form>
</div>
</fieldset>
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
<!--<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="user_all_token">清除所有用户token</button>
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="user_ios_token">清除IOS用户token</button>
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="user_android_token">清除安卓用户token</button>
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="gold_consume_del">清除打呆呆累消</button>
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="drill_consume_del">清除暴打呆呆累消</button>
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="silver_consume_del">清除初级累消</button>
-->
<button class="layui-btn layui-btn-danger layui-btn-sm data-add-btn" lay-event="fa_zuori_motian">发放昨日摩天轮奖励</button>
</div>
</script>
<table id="currentTableId" lay-filter="currentTableFilter" style="align: center"></table>
</div>
</div>
<script src="../../lib/layui-v2.5.7/layui.js" charset="utf-8"></script>
<script src="../../common/common.js" charset="utf-8"></script>
<script>
layui.use(['form', 'table'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table
table.render({
elem: '#currentTableId',
url: WebHost + 'user/get_user_list',
where: {
login_token: AdminLoginToken,
}, //设定异步数据接口的额外参数
method: 'POST',
toolbar: '#toolbar',
defaultToolbar: [
'filter',
'exports',
'print',
{
title: '提示',
layEvent: 'LAYTABLE_TIPS',
icon: 'layui-icon-tips',
},
],
autoSort: false,
totalRow: true,
cols: [
[
{ field: 'uid', title: 'ID', minWidth: 120, sort: true, totalRowText: '合计'},
{
field: 'user_name',
title: '手机号',
align: 'center',
minWidth: 120,
},
{
field: 'nick_name',
title: '昵称',
align: 'center',
minWidth: 150,
},
{
field: 'head_pic',
title: '用户头像',
templet: '#head_pic_Tpl',
align: 'center',
minWidth: 120,
},
{
field: 'sex',
title: '性别',
templet: '#sex_Tpl',
align: 'center',
hide: true,
minWidth: 80,
},
{
field: 'special_uid',
title: '靓号',
align: 'center',
minWidth: 120,
},
{
field: 'last_login_device',
title: '设备号',
align: 'center',
minWidth: 120,
},
{
field: 'integral',
title: '金币',
align: 'center',
sort: true,
minWidth: 120,
totalRow: true,
},
{ field: 'money', title: '余额', align: 'center', sort: true, width: 120, totalRow: true, },
// { field: 'room_profit', title: '房间流水', align: 'center', sort: true, width: 120, totalRow: true, },
// {
// field: 'is_can_recharge',
// title: '是否代充',
// templet: '#is_can_recharge_Tpl',
// align: 'center',
// minWidth: 120,
// },
{
field: 'is_real',
title: '实名状态',
templet: '#is_real_Tpl',
align: 'center',
hide: true,
minWidth: 120,
},
// {
// field: 'is_sign',
// title: '是否签约',
// templet: '#is_sign_Tpl',
// align: 'center',
// minWidth: 120,
// },
{
field: 'login_status',
title: '登录状态',
templet: '#login_status_Tpl',
align: 'center',
minWidth: 120,
},
{
field: 'last_login_time',
title: '登录时间',
templet: '#last_login_time_Tpl',
align: 'center',
hide: true,
minWidth: 150,
},
{
field: 'add_time',
title: '注册时间',
templet: '#add_time_Tpl',
align: 'center',
hide: true,
minWidth: 150,
},
{
title: '操作',
toolbar: '#currentTableBar',
align: 'center',
minWidth: 400,
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 15,
page: true,
skin: 'line',
})
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
// var result = JSON.stringify(data.field);
// layer.alert(result, {
// title: '最终的搜索信息'
// });
data.field.admin_login_token = AdminLoginToken
//执行搜索重载
table.reload(
'currentTableId',
{
where: data.field,
page: {
curr: 1,
},
},
'json'
)
return false
})
//监听排序事件
table.on('sort(currentTableFilter)', function (obj) { //注sort 是工具条事件名test 是 table 原始容器的属性 lay-filter="对应的值"
table.reload('currentTableId', {
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
, where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
order: obj.field //排序字段
, sort: obj.type //排序方式
}
});
});
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'gold_consume_del') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/gold_consume_del', { login_token: admin_login_token }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'drill_consume_del') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/drill_consume_del', { login_token: admin_login_token }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'silver_consume_del') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/silver_consume_del', { login_token: admin_login_token }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'user_ios_token') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/clear_user_token', { login_token: admin_login_token,type: 1 }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'user_android_token') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/clear_user_token', { login_token: admin_login_token,type: 2 }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'user_all_token') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认要清空吗", { title: "清空确认" }, function (index) {
$.post(WebHost + 'User/clear_user_token', { login_token: admin_login_token,type: 3 }, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}else if (obj.event === 'fa_zuori_motian') { // 监听添加操作
admin_login_token = AdminLoginToken;
layer.confirm("确认发放幸运摩天轮奖励", { title: "确认" }, function (index) {
$.post(WebHost + 'User/motian_fa', { login_token: admin_login_token}, function (data) {
layer.msg(data.msg);
if (data.code == 200) {
location.reload();
}
layer.close(index);
}, "json");
});
}
});
table.on('tool(currentTableFilter)', function (obj) {
var data = obj.data
if (obj.event === 'edit_info') {
Id = data.uid
var index = layer.open({
title: '编辑用户信息',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['80%', '80%'],
content: '../user/user_edit.html',
})
$(window).on('resize', function () {
layer.full(index)
})
return false
} else if (obj.event === 'edit_money') {
Id = data.uid
var index = layer.open({
title: '修改资金',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['80%', '80%'],
content: '../user/user_edit_money.html',
})
$(window).on('resize', function () {
layer.full(index)
})
return false
} else if (obj.event === 'edit_password') {
Id = data.uid
var index = layer.open({
title: '编辑',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['80%', '80%'],
content: '../user/user_edit_password.html',
})
$(window).on('resize', function () {
layer.full(index)
})
return false
} else if (obj.event === 'edit_passwords') {
Id = data.uid
var index = layer.open({
title: '编辑',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['80%', '80%'],
content: '../user/user_edit_passwords.html',
})
$(window).on('resize', function () {
layer.full(index)
})
return false
} else if (obj.event === 'edit_user_token') {
Id = data.uid
admin_login_token = AdminLoginToken
layer.confirm(
'确认要清空吗',
{ title: '清空确认' },
function (index) {
$.post(
WebHost + 'user/clear_user_token',
{ uid: Id, login_token: admin_login_token },
function (data) {
layer.msg(data.msg)
if (data.code == 200) {
location.reload()
}
layer.close(index)
},
'json'
)
}
)
}
})
})
function previewImg(obj) {
var img = new Image()
img.src = obj.src
//var height = img.height + 50; // 原图片大小
//var width = img.width; //原图片大小
var imgHtml =
"<img src='" +
obj.src +
"' width='500px' height='500px'/>"
//弹出层
layer.open({
type: 1,
shade: 0.8,
offset: 'auto',
area: [500 + 'px', 550 + 'px'], // area: [width + 'px',height+'px'] //原图显示
shadeClose: true,
scrollbar: false,
title: '查看图片', //不显示标题
content: imgHtml, //捕获的元素注意最好该指定的元素要存放在body最外层否则可能被其它的相对元素所影响
cancel: function () {
//layer.msg('捕获就是从页面已经存在的元素上包裹layer的结构', { time: 5000, icon: 6 });
},
})
}
</script>
<script type="text/html" id="is_real_Tpl">
{{# if(d.is_real == "1"){ }}
<span style="color:green">已实名</span>
{{# }else if(d.is_real=="2"){}}
<span style="color:orange">未实名</span>
{{# } else { }}
<span style="color:red">待审核</span>
{{# } }}
</script>
<script type="text/html" id="login_status_Tpl">
{{# if(d.login_status == "1"){ }} 正常 {{# }else
if(d.login_status=="2"){}} 禁止 {{# } else { }} 未知 {{# } }}
</script>
<script type="text/html" id="sex_Tpl">
{{# if(d.sex == "1"){ }} {{# }else if(d.sex=="2"){}} {{# }
else { }} 未知 {{# } }}
</script>
<script type="text/html" id="head_pic_Tpl">
<img src="{{d.head_pic}}" height="100%" class="layui-upload-img" onclick="previewImg(this)" />
</script>
<script type="text/html" id="is_can_recharge_Tpl">
{{# if(d.is_can_recharge == "1"){ }} {{# }else
if(d.is_can_recharge=="2"){}} {{# } else { }} 未知 {{# } }}
</script>
<script type="text/html" id="is_sign_Tpl">
{{# if(d.is_can_recharge == "1"){ }} {{# }else
if(d.is_can_recharge=="2"){}} {{# } else { }} 未知 {{# } }}
</script>
<script type="text/html" id="last_login_time_Tpl">
{{dateFormat(d.last_login_time) }}
</script>
<script type="text/html" id="add_time_Tpl">
{{dateFormat(d.add_time) }}
</script>
<script type="text/html" id="currentTableBar">
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit_info">编辑</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit_money">资金</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit_password" >修改密码</a>
<!--<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit_passwords" >修改交易密码</a>-->
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit_user_token" >清除用户token</a>
</script>
</body>
</html>