修改用户列表
This commit is contained in:
parent
4aba2cb52c
commit
0623f58d7e
|
|
@ -27,52 +27,57 @@ class User extends Base
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
$user_id = trim(input('get.user_id'));
|
||||
$mobile = trim(input('get.mobile'));
|
||||
$nickname = trim(input('get.nickname'));
|
||||
$addtime = trim(input('get.addtime'));
|
||||
$last_login_ip = trim(input('get.last_login_ip'));
|
||||
$whe = [];
|
||||
if ($user_id) {
|
||||
$user_id = $user_id - 1260;
|
||||
$whe[] = ['id', '=', $user_id];
|
||||
}
|
||||
if ($nickname) {
|
||||
$whe[] = ['nickname', 'like', '%' . $nickname . '%'];
|
||||
}
|
||||
if ($mobile) {
|
||||
$whe[] = ['mobile', '=', $mobile];
|
||||
}
|
||||
if ($addtime) {
|
||||
$time = explode(' - ', $addtime);
|
||||
$start_time = strtotime($time[0]);
|
||||
$end_time = strtotime($time[1]) - 1;
|
||||
if ($start_time > $end_time) {
|
||||
$this->err('开始时间不能大于结束时间');
|
||||
}
|
||||
$whe[] = ['addtime', 'BETWEEN', array($start_time, $end_time)];
|
||||
}
|
||||
if ($last_login_ip) {
|
||||
$last_login_ip = ip2long($last_login_ip);
|
||||
$user_id_arr = UserAccount::where(['last_login_ip' => $last_login_ip])->column('user_id');
|
||||
|
||||
if ($user_id_arr) {
|
||||
return View::fetch('User/index');
|
||||
}
|
||||
|
||||
$whe[] = ['id', 'in', $user_id_arr];
|
||||
} else {
|
||||
$whe[] = ['id', '=', 0];
|
||||
}
|
||||
/**
|
||||
* 获取用户列表
|
||||
*/
|
||||
public function list()
|
||||
{
|
||||
$param = $this->request->param();
|
||||
|
||||
// 构建查询条件
|
||||
$where = [];
|
||||
if (!empty($param['user_id'])) {
|
||||
$where[] = ['id', '=', intval($param['user_id']) - 1260];
|
||||
}
|
||||
if (!empty($param['mobile'])) {
|
||||
$where[] = ['mobile', 'like', "%{$param['mobile']}%"];
|
||||
}
|
||||
if (!empty($param['nickname'])) {
|
||||
$where[] = ['nickname', 'like', "%{$param['nickname']}%"];
|
||||
}
|
||||
if (!empty($param['last_login_ip'])) {
|
||||
$where[] = ['last_login_ip', '=', $param['last_login_ip']];
|
||||
}
|
||||
if (!empty($param['addtime'])) {
|
||||
$times = explode(' - ', $param['addtime']);
|
||||
$where[] = ['addtime', 'between', [strtotime($times[0]), strtotime($times[1])]];
|
||||
}
|
||||
$field = '*';
|
||||
$order = 'id desc';
|
||||
$data = UserModel::getList($whe, $field, $order, $this->page);
|
||||
$data = UserModel::getList($where, $field, $order, $this->page);
|
||||
foreach ($data['list'] as &$value) {
|
||||
$pid_info = UserModel::field('id,nickname,headimg')->where(['id' => $value['pid']])->find();
|
||||
$value['pid_info'] = $pid_info;
|
||||
#关联user_account
|
||||
$user_account = UserAccount::where(['user_id' => $value['id']])->field('last_login_ip1,last_login_ip,ip_adcode,ip_province,ip_city')->find();
|
||||
$user_hegui = OrderList::where('user_id', '=', $value['id'])->where('status', '=', 0)->sum('goodslist_money');
|
||||
// SELECT sum(goodslist_money) FROM xinglanmh_shequt_test.order_list where user_id=4490 and status=0 and goodslist_type=1
|
||||
$user_hegui = OrderList::where('user_id', '=', $value['id'])->where('status', '=', 0)->sum('goodslist_money');
|
||||
//SELECT SUM(order_zhe_total) FROM `order` where `status`=1 and user_id=6153
|
||||
$user_all_total = Order::where('user_id', '=', $value['id'])->where('status', '=', 1)->sum('order_zhe_total');
|
||||
//SELECT *FROM `order` where `status`=1 and user_id=6153 and price>1 #微信支付
|
||||
$user_weixin_total = Order::where('user_id', '=', $value['id'])->where('status', '=', 1)->where('price', '>', 1)->sum('price');
|
||||
// SELECT sum(use_money) FROM `order` where `status`=1 and user_id=6153 # 余额支付
|
||||
$user_use_money = Order::where('user_id', '=', $value['id'])->where('status', '=', 1)->sum('use_money');
|
||||
//SELECT sum(use_integral) FROM `order` where `status`=1 and user_id=6153 #吧唧币抵扣
|
||||
$user_use_integral = Order::where('user_id', '=', $value['id'])->where('status', '=', 1)->sum('use_integral');
|
||||
// SELECT sum(goodslist_money) FROM `order_list` where `status`=1 and user_id=6153 # 回收货币
|
||||
$user_goodslist_money = OrderList::where('user_id', '=', $value['id'])->where('status', '=', 1)->sum('goodslist_money');
|
||||
// SELECT sum(goodslist_money) FROM `order_list` where `status`=2 and user_id=6153 # 发货价值
|
||||
$user_goodslist_money2 = OrderList::where('user_id', '=', $value['id'])->where('status', '=', 2)->sum('goodslist_money');
|
||||
$last_login_ip = 0;
|
||||
if ($user_account) {
|
||||
if ($user_account['last_login_ip']) {
|
||||
|
|
@ -87,15 +92,45 @@ class User extends Base
|
|||
}
|
||||
|
||||
$value['user_hegui'] = $user_hegui;
|
||||
$value['user_all_total'] = $user_all_total;
|
||||
$value['user_weixin_total'] = $user_weixin_total;
|
||||
$value['user_use_money'] = $user_use_money;
|
||||
$value['user_use_integral'] = $user_use_integral;
|
||||
$value['user_goodslist_money'] = $user_goodslist_money;
|
||||
$value['user_goodslist_money2'] = $user_goodslist_money2;
|
||||
$value['last_login_ip'] = $last_login_ip;
|
||||
$value['ip_adcode'] = $user_account['ip_adcode'];
|
||||
$value['ip_province'] = $user_account['ip_province'];
|
||||
$value['ip_city'] = $user_account['ip_city'];
|
||||
}
|
||||
View::assign('list', $data['list']);
|
||||
View::assign('count', $data['count']);
|
||||
View::assign('page', $data['page']);
|
||||
return View::fetch('User/index');
|
||||
|
||||
// 获取数据
|
||||
$list = $data['list'];
|
||||
|
||||
$count = $data['count'];
|
||||
|
||||
// 处理数据
|
||||
foreach ($list as &$item) {
|
||||
$item['headimg'] = imageUrl($item['headimg']);
|
||||
// 格式化余额为两位小数
|
||||
$item['money'] = number_format($item['money'], 2, '.', '');
|
||||
|
||||
// 格式化吧唧币为两位小数
|
||||
$item['integral'] = number_format($item['integral'], 2, '.', '');
|
||||
|
||||
// 格式化积分为两位小数
|
||||
$item['score'] = number_format($item['score'], 2, '.', '');
|
||||
|
||||
// 格式化盒柜价值为两位小数
|
||||
$item['user_hegui'] = number_format($item['user_hegui'], 2, '.', '');
|
||||
}
|
||||
|
||||
return json([
|
||||
'code' => 0,
|
||||
'msg' => '',
|
||||
'count' => $count,
|
||||
'data' => $list
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -210,7 +245,7 @@ class User extends Base
|
|||
{
|
||||
// \think\facade\Filesystem::disk('public')-/
|
||||
|
||||
|
||||
|
||||
$id = request()->post('id/d', 0);
|
||||
$type = request()->post('type/d', 0);
|
||||
if ($type != 1 && $type != 0 && $type != 2) {
|
||||
|
|
|
|||
|
|
@ -291,4 +291,4 @@ Route::rule('user_invite', 'user/user_invite', 'GET');
|
|||
Route::rule('user_statistics', 'Statistics/UserStatistics', 'GET');
|
||||
|
||||
|
||||
|
||||
Route::rule('user_list', 'User/list', 'GET');
|
||||
|
|
|
|||
|
|
@ -1,69 +1,76 @@
|
|||
{include file="Public:header2"/}
|
||||
|
||||
<body style="min-height: 100%;background-color: #fff">
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form onsubmit="return false;">
|
||||
<div class="layui-form" wid100 lay-filter="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账户余额</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{$money}" autocomplete="off" placeholder="请输入账号" class="layui-input" style="width: 300px" disabled>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form onsubmit="return false;">
|
||||
<div class="layui-form" wid100 lay-filter="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账户余额</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{$money}" autocomplete="off" placeholder="请输入账号"
|
||||
class="layui-input" style="width: 300px" disabled>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">类型</label>
|
||||
<div class="layui-input-inline" style="width: 300px">
|
||||
<input type="radio" name="type_is" value="1" lay-verify="required"
|
||||
class="layui-input" title="充值" checked>
|
||||
<input type="radio" name="type_is" value="2" lay-verify="required"
|
||||
class="layui-input" title="扣除">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">修改数量</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="money" value="" autocomplete="off"
|
||||
placeholder="请输入修改数量" class="layui-input" style="width: 300px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<input type="hidden" name="id" value="{$id}">
|
||||
<input type="hidden" name="type" value="{$type}">
|
||||
<button class="layui-btn" onclick="return check()">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">类型</label>
|
||||
<div class="layui-input-inline" style="width: 300px">
|
||||
<input type="radio" name="type_is" value="1" lay-verify="required" class="layui-input" title="充值" checked>
|
||||
<input type="radio" name="type_is" value="2" lay-verify="required" class="layui-input" title="扣除" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">修改数量</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="money" value="" autocomplete="off" placeholder="请输入修改数量" class="layui-input" style="width: 300px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<input type="hidden" name="id" value="{$id}">
|
||||
<input type="hidden" name="type" value="{$type}">
|
||||
<button class="layui-btn" onclick="return check()">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{include file="Public:footer"/}
|
||||
{include file="Public:footer"/}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<script type="text/javascript">
|
||||
layui.use(['layer','form'], function(){
|
||||
layui.use(['layer', 'form'], function () {
|
||||
|
||||
});
|
||||
|
||||
function check(){
|
||||
var url="{:url('/admin/chongzhi')}";
|
||||
function check() {
|
||||
var url = "{:url('/admin/chongzhi')}";
|
||||
var $ = layui.$;
|
||||
var load=layer.load(2);
|
||||
$.post(url,$("form").serialize(),function(data){
|
||||
if(data.status==1){
|
||||
layer.msg(data.msg,{icon:1,time:1500},function(){
|
||||
var load = layer.load(2);
|
||||
$.post(url, $("form").serialize(), function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index);
|
||||
parent.location.reload();
|
||||
// parent.location.reload();
|
||||
parent.table.reload('LAY-user-table');
|
||||
});
|
||||
}else{
|
||||
layer.msg(data.msg,{icon:2,anim:6,time:1500},function(){
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
|
@ -1,380 +1,553 @@
|
|||
{include file="Public:header2"/}
|
||||
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<form method="get" class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 150px;margin-left: 0px">
|
||||
<input type="text" name="user_id" value="{$Request.get.user_id}" placeholder="请输入UID"
|
||||
autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 150px;margin-left: 0px">
|
||||
<input type="text" name="mobile" value="{$Request.get.mobile}" placeholder="请输入手机号"
|
||||
autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 150px;margin-left: 0px">
|
||||
<input type="text" name="nickname" value="{$Request.get.nickname}" placeholder="请输入昵称"
|
||||
autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="last_login_ip" name="last_login_ip"
|
||||
value="{$Request.get.last_login_ip}" class="layui-input" placeholder="ip查询"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
||||
<input type="text" id="addtime" name="addtime" value="{$Request.get.addtime}"
|
||||
class="layui-input" placeholder="登录时间" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit
|
||||
lay-filter="LAY-user-front-search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<div class="layui-card-body">
|
||||
<xblock>
|
||||
<div style="padding-bottom: 10px;">
|
||||
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
|
||||
</div>
|
||||
</xblock>
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>用户信息</th>
|
||||
<th>推荐人</th>
|
||||
<th>余额</th>
|
||||
<th>吧唧币</th>
|
||||
<th>积分</th>
|
||||
<th>盒柜价值(吧唧币)</th>
|
||||
<th>状态</th>
|
||||
<th>时间</th>
|
||||
<th>ip</th>
|
||||
<th>ip地址</th>
|
||||
<th>ip邮编</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="list" id="vo"}
|
||||
<tr>
|
||||
<td style="text-align: left">
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['headimg'])}" alt="" width="50px" height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #e91e63;font-size: 9px">UID:{$vo['id']+1260}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['mobile']}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['nickname']}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align: left">
|
||||
{if $vo.pid_info}
|
||||
<div style="display: flex;">
|
||||
<div><img src="{:imageUrl($vo['pid_info']['headimg'])}" alt="" width="50px"
|
||||
height="50px"></div>
|
||||
<div style="margin-left: 10px">
|
||||
<p style="color: #e91e63;font-size: 9px">UID:{$vo['pid_info']['id']+1260}</p>
|
||||
<p style="color: #666666ba;font-size: 9px">{$vo['pid_info']['nickname']}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</td>
|
||||
<td>{$vo['money']}
|
||||
<br /><a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="chongzhi({$vo.id},this.name,1,'余额')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">充值</a>
|
||||
</td>
|
||||
<td>{$vo['integral']}
|
||||
<br /><a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="chongzhi({$vo.id},this.name,2,'吧唧币')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">充值</a>
|
||||
</td>
|
||||
<td>{$vo['score']}
|
||||
<br /><a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="chongzhi({$vo.id},this.name,3,'积分')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">充值</a>
|
||||
</td>
|
||||
<td>{$vo['user_hegui']*100}
|
||||
<td>
|
||||
{if condition="$vo['status'] eq 1"}
|
||||
<button class="layui-btn layui-btn-success layui-btn-radius layui-btn-sm">正常</button>
|
||||
{else /}
|
||||
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm">封号</button>
|
||||
{/if}
|
||||
</td>
|
||||
<td>{$vo['addtime']|date="Y-m-d H:i:s"}</td>
|
||||
<td>{$vo['last_login_ip']}</td>
|
||||
<td>{$vo['ip_province'].$vo['ip_city']}</td>
|
||||
<td>{$vo['ip_adcode']}</td>
|
||||
<td>
|
||||
<!--<a style="text-decoration:none" name="{$vo.nickname}" onClick="give_goodslist({$vo.id},this.name)" class="layui-btn layui-btn-success layui-btn-xs">赠送卡册</a>-->
|
||||
<div style="padding: 5px;">
|
||||
<a style="text-decoration:none" title="赠送优惠券" href="javscript:;"
|
||||
onclick="give('优惠券','{$vo['mobile']}','{$vo['id']}')"
|
||||
class="layui-btn layui-btn-default layui-btn-xs">赠送优惠券</a>
|
||||
|
||||
{if condition="$vo['status'] eq 1"}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="del({$vo.id},2,this.name,'封号')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">封号</a>
|
||||
{else /}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="del({$vo.id},1,this.name,'解封')"
|
||||
class="layui-btn layui-btn-success layui-btn-xs">解封</a>
|
||||
{/if}
|
||||
{if condition="$vo['istest'] eq 0"}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="test({$vo.id},1,this.name,'设为推广账号')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">推广账号</a>
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="test({$vo.id},2,this.name,'设为测试账号')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">测试账号</a>
|
||||
{/if}
|
||||
{if condition="$vo['istest'] eq 1" /}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="test({$vo.id},0,this.name,'取消推广账号')"
|
||||
class="layui-btn layui-btn-success layui-btn-xs">取消推广账号</a>
|
||||
{/if}
|
||||
{if condition="$vo['istest'] eq 2" /}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="test({$vo.id},0,this.name,'取消测试账号')"
|
||||
class="layui-btn layui-btn-success layui-btn-xs">取消测试账号</a>
|
||||
{/if}
|
||||
<a title="查看详情" onClick="detail({$vo.id})"
|
||||
class="layui-btn layui-btn-normal layui-btn-xs">查看下级</a>
|
||||
<a title="查看ip登录列表" onClick="ipdetail({$vo.id})"
|
||||
class="layui-btn layui-btn-normal layui-btn-xs">查看ip登录列表</a>
|
||||
{if condition="$vo['ip_adcode'] eq 1"}
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="ipzh({$vo.id},2,this.name,'ip转换')"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">ip转换</a>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div style="padding: 10px;">
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="usermobileclear({$vo.id},2,this.name)"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">清空手机号</a>
|
||||
<a style="text-decoration:none" name="{$vo.nickname}"
|
||||
onClick="userwxclear({$vo.id},2,this.name)"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs">重置微信登录</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{if condition="empty($list)"}
|
||||
<tr>
|
||||
<td colspan='10' style="text-align:center;">暂时没有数据!</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="my_page layui-box layui-laypage layui-laypage-default">
|
||||
{$page|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{include file="Public:footer"/}
|
||||
<script type="text/javascript">
|
||||
layui.use(['table', 'laydate'], function () {
|
||||
//执行一个laydate实例
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({
|
||||
elem: '#addtime'
|
||||
, type: 'datetime'
|
||||
, range: true
|
||||
});
|
||||
});
|
||||
|
||||
//赠送优惠劵
|
||||
function give(title, mobile, user_id) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '赠送给' + mobile + title,
|
||||
shadeClose: true,
|
||||
shade: 0.8,
|
||||
area: ['600px', '400px'],
|
||||
content: "/admin/user_give_add/user_id/" + user_id, //iframe的url
|
||||
});
|
||||
}
|
||||
|
||||
//赠送卡册
|
||||
function give_goodslist(id, nickname) {
|
||||
title_str = nickname + ' 赠送卡册';
|
||||
var url = "{:url('/admin/give_goodslist?id=" + id + "')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: title_str,
|
||||
shadeClose: false,
|
||||
shade: 0.3,
|
||||
area: ['60%', '60%'],
|
||||
content: url,
|
||||
});
|
||||
}
|
||||
|
||||
//充值
|
||||
function chongzhi(id, username, type, type_name) {
|
||||
title_str = username + ' 充值' + type_name;
|
||||
var url = "{:url('/admin/chongzhi?id=" + id + "&type=" + type + "&c')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: title_str,
|
||||
shadeClose: false,
|
||||
shade: 0.3,
|
||||
area: ['40%', '40%'],
|
||||
content: url,
|
||||
});
|
||||
}
|
||||
|
||||
//解封/封号
|
||||
function del(id, type, username, type_name) {
|
||||
title_str = '确认要执行' + username + '的' + type_name + '操作吗?';
|
||||
layer.confirm(title_str, function () {
|
||||
var url = "{:url('/admin/userdel')}";
|
||||
var load = layer.load(2);
|
||||
var $ = layui.$;
|
||||
$.post(url, { "id": id, 'type': type }, function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg, { icon: 1, time: 1000 }, function () {
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
function test(id, type, username, type_name) {
|
||||
title_str = '确认要执行' + username + '的' + type_name + '操作吗?';
|
||||
layer.confirm(title_str, function () {
|
||||
var url = "{:url('/admin/usertest')}";
|
||||
var load = layer.load(2);
|
||||
var $ = layui.$;
|
||||
$.post(url, { "id": id, 'type': type }, function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg, { icon: 1, time: 1000 }, function () {
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//ip转换
|
||||
function ipzh(id, type, username, type_name) {
|
||||
title_str = '确认要执行' + username + '的' + type_name + '操作吗?';
|
||||
layer.confirm(title_str, function () {
|
||||
var url = "{:url('/admin/ipzh')}";
|
||||
var load = layer.load(2);
|
||||
var $ = layui.$;
|
||||
$.post(url, { "id": id, 'type': type }, function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg, { icon: 1, time: 1000 }, function () {
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
//详情
|
||||
function detail(id) {
|
||||
var url = "{:url('/admin/user_team?id=" + id + "')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '下级用户',
|
||||
shadeClose: false,
|
||||
shade: 0.3,
|
||||
area: ['80%', '80%'],
|
||||
content: url,
|
||||
});
|
||||
}
|
||||
|
||||
//ip详情
|
||||
function ipdetail(id) {
|
||||
var url = "{:url('/admin/ip_list?id=" + id + "')}";
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '下级用户',
|
||||
shadeClose: false,
|
||||
shade: 0.3,
|
||||
area: ['80%', '80%'],
|
||||
content: url,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//删除手机号
|
||||
function usermobileclear(id, type, username) {
|
||||
title_str = '确认要执行' + username + '的清空手机号操作吗?清空后通过手机号将搜索不到用户!同时用户需要重新绑定手机号才能抽奖!';
|
||||
layer.confirm(title_str, { icon: 2, title: '清除手机号' }, function () {
|
||||
var url = "{:url('/admin/usermobileclear')}";
|
||||
var load = layer.load(2);
|
||||
var $ = layui.$;
|
||||
$.post(url, { "id": id }, function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg + ";请手动刷新页面!", { icon: 1, time: 1000 }, function () {
|
||||
// location.reload();
|
||||
layer.close(load);
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
//清除微信
|
||||
function userwxclear(id, type, username) {
|
||||
title_str = '确认要执行' + username + '的清空微信关联数据操作吗?清空后通过微信号将关联不到此账号!微信设为新账号需要同时清除手机号操作!!!';
|
||||
layer.confirm(title_str, { icon: 2, title: '清除微信号' }, function () {
|
||||
var url = "{:url('/admin/userwxclear')}";
|
||||
var load = layer.load(2);
|
||||
var $ = layui.$;
|
||||
$.post(url, { "id": id }, function (data) {
|
||||
if (data.status == 1) {
|
||||
layer.msg(data.msg + ";请手动刷新页面!", { icon: 1, time: 1000 }, function () {
|
||||
// location.reload();
|
||||
layer.close(load);
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {
|
||||
layer.close(load);
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
{include file="Public:header2"/}
|
||||
|
||||
<body>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<!-- 搜索表单 -->
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="user_id" placeholder="请输入UID" autocomplete="off"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="mobile" placeholder="请输入手机号" autocomplete="off"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="nickname" placeholder="请输入昵称" autocomplete="off"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="last_login_ip" name="last_login_ip" class="layui-input"
|
||||
placeholder="ip查询">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="addtime" name="addtime" class="layui-input" placeholder="登录时间">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layuiadmin-btn-useradmin" data-type="search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 数据表格 -->
|
||||
<div class="layui-card-body">
|
||||
<table id="LAY-user-table" lay-filter="LAY-user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 用户信息模板 -->
|
||||
<script type="text/html" id="userInfoTpl">
|
||||
<div class="user-card">
|
||||
<img src="{{d.headimg}}" alt="{{d.nickname}}" class="user-avatar">
|
||||
<div class="user-info">
|
||||
<p class="user-detail">{{d.nickname}}</p>
|
||||
<p class="user-id">UID:{{d.id + 1260}}</p>
|
||||
<p class="user-detail">{{d.mobile}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 添加推荐人信息模板 -->
|
||||
<script type="text/html" id="pidInfoTpl">
|
||||
{{# if(d.pid_info) { }}
|
||||
<div class="user-card">
|
||||
<img src="{{d.pid_info.headimg}}" alt="" class="user-avatar">
|
||||
<div class="user-info">
|
||||
<p class="user-id">UID:{{d.pid_info.id + 1260}}</p>
|
||||
<p class="user-detail">{{d.pid_info.nickname}}</p>
|
||||
</div>
|
||||
</div>
|
||||
{{# } else { }}
|
||||
-
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
<!-- 操作按钮模板 -->
|
||||
<script type="text/html" id="operationTpl">
|
||||
<div class="btn-group">
|
||||
<a class="layui-btn layui-btn-default layui-btn-xs" lay-event="give">赠送优惠券</a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detail">查看下级</a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="ipDetail">查看ip登录列表</a>
|
||||
|
||||
{{# if(d.ip_adcode == 1){ }}
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="ipConvert">ip转换</a>
|
||||
{{# } }}
|
||||
|
||||
<div style="margin-top: 8px;">
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearMobile">清空手机号</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearWechat">重置微信登录</a>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 添加充值按钮模板 -->
|
||||
<script type="text/html" id="moneyTpl">
|
||||
<span class="value-display">{{d.money}}</span>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="rechargeMoney">充值</a>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="integralTpl">
|
||||
<span class="value-display">{{d.integral}}</span>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="rechargeIntegral">充值</a>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="scoreTpl">
|
||||
<span class="value-display">{{d.score}}</span>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="rechargeScore">充值</a>
|
||||
</script>
|
||||
|
||||
<!-- 修改状态模板 -->
|
||||
<script type="text/html" id="statusTpl">
|
||||
<div class="status-group">
|
||||
<div class="status-text">
|
||||
账号状态:
|
||||
{{# if(d.status == 1) { }}
|
||||
正常
|
||||
{{# if(d.istest == 1) { }}
|
||||
/推广账号
|
||||
{{# } else if(d.istest == 2) { }}
|
||||
/测试账号
|
||||
{{# } }}
|
||||
{{# } else { }}
|
||||
封号
|
||||
{{# } }}
|
||||
</div>
|
||||
<div class="status-actions">
|
||||
{{# if(d.status == 1) { }}
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="ban">封号</a>
|
||||
|
||||
{{# if(d.istest == 0) { }}
|
||||
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="setPromotion">推广</a>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="setTest">测试</a>
|
||||
{{# } }}
|
||||
|
||||
{{# if(d.istest == 1) { }}
|
||||
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="cancelPromotion">取消推广</a>
|
||||
{{# } }}
|
||||
|
||||
{{# if(d.istest == 2) { }}
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="cancelTest">取消测试</a>
|
||||
{{# } }}
|
||||
{{# } else { }}
|
||||
<a class="layui-btn layui-btn-success layui-btn-xs" lay-event="unban">解封</a>
|
||||
{{# } }}
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 修改合并列模板 -->
|
||||
<script type="text/html" id="combinedTpl">
|
||||
<div class="combined-values">
|
||||
<div>盒柜价值:{{(Number(d.user_hegui) * 100).toFixed(2)}}</div>
|
||||
|
||||
<div>总消费:{{Number(d.user_all_total).toFixed(2)}}</div>
|
||||
|
||||
<div>微信消费:{{Number(d.user_weixin_total).toFixed(2)}}</div>
|
||||
|
||||
<div>余额消费:{{Number(d.user_use_money).toFixed(2)}}</div>
|
||||
|
||||
<div>吧唧币消费:{{Number(d.user_use_integral).toFixed(2)}}</div>
|
||||
|
||||
<div>回收货币:{{Number(d.user_goodslist_money).toFixed(2)}}</div>
|
||||
|
||||
<div>发货价值:{{Number(d.user_goodslist_money2).toFixed(2)}}</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{include file="Public:footer"/}
|
||||
<script>
|
||||
var table;
|
||||
var form;
|
||||
var laydate;
|
||||
layui.use(['table', 'form', 'laydate'], function () {
|
||||
table = layui.table;
|
||||
form = layui.form;
|
||||
laydate = layui.laydate;
|
||||
|
||||
// 日期时间范围
|
||||
laydate.render({
|
||||
elem: '#addtime'
|
||||
, type: 'datetime'
|
||||
, range: true
|
||||
});
|
||||
|
||||
// 表格实例
|
||||
table.render({
|
||||
elem: '#LAY-user-table'
|
||||
, url: '{:url("/admin/user_list")}'
|
||||
, cellMinWidth: 80 // 设置最小列宽
|
||||
, lineStyle: 'height: 80px;' // 设置行高
|
||||
, height: 'full-150'
|
||||
, cols: [[
|
||||
{ field: 'userInfo', title: '用户信息', templet: '#userInfoTpl', width: 200 }
|
||||
, { field: 'pid_info', title: '推荐人', templet: '#pidInfoTpl', width: 200 }
|
||||
, { field: 'money', title: '余额', templet: '#moneyTpl', width: 120 }
|
||||
, { field: 'integral', title: '吧唧币', templet: '#integralTpl', width: 120 }
|
||||
, { field: 'score', title: '积分', templet: '#scoreTpl', width: 120 }
|
||||
, { field: 'combined', title: '货币信息', templet: '#combinedTpl', width: 200 }
|
||||
, {
|
||||
field: 'status', title: '用户状态', templet: '#statusTpl', width: 200
|
||||
}
|
||||
, {
|
||||
field: 'addtime', title: '注册时间', width: 160, templet: function (d) {
|
||||
var date = new Date(d.addtime * 1000);
|
||||
var year = date.getFullYear();
|
||||
var month = ('0' + (date.getMonth() + 1)).slice(-2);
|
||||
var day = ('0' + date.getDate()).slice(-2);
|
||||
var hours = ('0' + date.getHours()).slice(-2);
|
||||
var minutes = ('0' + date.getMinutes()).slice(-2);
|
||||
var seconds = ('0' + date.getSeconds()).slice(-2);
|
||||
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
|
||||
}
|
||||
}
|
||||
, { field: 'last_login_ip', title: 'IP', width: 150 }
|
||||
, { field: 'ip_province', title: 'IP地址', width: 160 }
|
||||
, { field: 'ip_adcode', title: 'IP邮编', width: 100 }
|
||||
, { title: '操作', toolbar: '#operationTpl', width: 300, fixed: 'right' }
|
||||
]]
|
||||
, page: true
|
||||
, limit: 20
|
||||
, text: {
|
||||
none: '暂无相关数据'
|
||||
}
|
||||
});
|
||||
|
||||
// 监听工具条事件
|
||||
table.on('tool(LAY-user-table)', function (obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'give':
|
||||
layer.open({
|
||||
type: 2
|
||||
, title: '赠送优惠券'
|
||||
, content: '/admin/user_give_add/user_id/' + data.id
|
||||
, area: ['600px', '400px']
|
||||
});
|
||||
break;
|
||||
case 'ban':
|
||||
userStatusChange(data.id, 2, data.nickname, '封号');
|
||||
break;
|
||||
case 'unban':
|
||||
userStatusChange(data.id, 1, data.nickname, '解封');
|
||||
break;
|
||||
case 'setPromotion':
|
||||
testAccountChange(data.id, 1, data.nickname, '设为推广账号');
|
||||
break;
|
||||
case 'setTest':
|
||||
testAccountChange(data.id, 2, data.nickname, '设为测试账号');
|
||||
break;
|
||||
case 'cancelPromotion':
|
||||
testAccountChange(data.id, 0, data.nickname, '取消推广账号');
|
||||
break;
|
||||
case 'cancelTest':
|
||||
testAccountChange(data.id, 0, data.nickname, '取消测试账号');
|
||||
break;
|
||||
case 'detail':
|
||||
layer.open({
|
||||
type: 2
|
||||
, title: '下级用户'
|
||||
, content: '/admin/user_team?id=' + data.id
|
||||
, area: ['80%', '80%']
|
||||
});
|
||||
break;
|
||||
case 'ipDetail':
|
||||
layer.open({
|
||||
type: 2
|
||||
, title: 'IP登录记录'
|
||||
, content: '/admin/ip_list?id=' + data.id
|
||||
, area: ['80%', '80%']
|
||||
});
|
||||
break;
|
||||
case 'ipConvert':
|
||||
ipConvert(data.id, 2, data.nickname);
|
||||
break;
|
||||
case 'clearMobile':
|
||||
clearMobile(data.id, data.nickname);
|
||||
break;
|
||||
case 'clearWechat':
|
||||
clearWechat(data.id, data.nickname);
|
||||
break;
|
||||
case 'rechargeMoney':
|
||||
recharge(data.id, data.nickname, 1, '余额');
|
||||
break;
|
||||
case 'rechargeIntegral':
|
||||
recharge(data.id, data.nickname, 2, '吧唧币');
|
||||
break;
|
||||
case 'rechargeScore':
|
||||
recharge(data.id, data.nickname, 3, '积分');
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
// 搜索
|
||||
var active = {
|
||||
search: function () {
|
||||
var user_id = $('input[name="user_id"]').val()
|
||||
, mobile = $('input[name="mobile"]').val()
|
||||
, nickname = $('input[name="nickname"]').val()
|
||||
, last_login_ip = $('input[name="last_login_ip"]').val()
|
||||
, addtime = $('input[name="addtime"]').val();
|
||||
|
||||
table.reload('LAY-user-table', {
|
||||
where: {
|
||||
user_id: user_id
|
||||
, mobile: mobile
|
||||
, nickname: nickname
|
||||
, last_login_ip: last_login_ip
|
||||
, addtime: addtime
|
||||
}
|
||||
, page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$('.layui-btn').on('click', function () {
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
// 用户状态变更
|
||||
function userStatusChange(id, type, username, typeName) {
|
||||
layer.confirm('确认要执行' + username + '的' + typeName + '操作吗?', function (index) {
|
||||
$.post('{:url("/admin/userdel")}', {
|
||||
id: id,
|
||||
type: type
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg, { icon: 1 });
|
||||
table.reload('LAY-user-table');
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// 充值功能
|
||||
function recharge(id, username, type, typeName) {
|
||||
layer.open({
|
||||
type: 2
|
||||
, title: username + ' 充值' + typeName
|
||||
, content: '/admin/chongzhi?id=' + id + '&type=' + type
|
||||
, area: ['40%', '40%']
|
||||
});
|
||||
}
|
||||
|
||||
// 测试/推广账号状态变更
|
||||
function testAccountChange(id, type, username, typeName) {
|
||||
layer.confirm('确认要执行' + username + '的' + typeName + '操作吗?', function (index) {
|
||||
$.post('{:url("/admin/usertest")}', {
|
||||
id: id,
|
||||
type: type
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg, { icon: 1 });
|
||||
table.reload('LAY-user-table');
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// IP转换
|
||||
function ipConvert(id, type, username) {
|
||||
layer.confirm('确认要执行' + username + '的IP转换操作吗?', function (index) {
|
||||
$.post('{:url("/admin/ipzh")}', {
|
||||
id: id,
|
||||
type: type
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg, { icon: 1 });
|
||||
table.reload('LAY-user-table');
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// 清空手机号
|
||||
function clearMobile(id, username) {
|
||||
layer.confirm('确认要执行' + username + '的清空手机号操作吗?清空后通过手机号将搜索不到用户!同时用户需要重新绑定手机号才能抽奖!', {
|
||||
icon: 2,
|
||||
title: '清除手机号'
|
||||
}, function (index) {
|
||||
$.post('{:url("/admin/usermobileclear")}', {
|
||||
id: id
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg + ';请手动刷新页面!', { icon: 1 });
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// 清除微信
|
||||
function clearWechat(id, username) {
|
||||
layer.confirm('确认要执行' + username + '的清空微信关联数据操作吗?清空后通过微信号将关联不到此账号!微信设为新账号需要同时清除手机号操作!!!', {
|
||||
icon: 2,
|
||||
title: '清除微信号'
|
||||
}, function (index) {
|
||||
$.post('{:url("/admin/userwxclear")}', {
|
||||
id: id
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg + ';请手动刷新页面!', { icon: 1 });
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/* 用户信息卡片样式 */
|
||||
.user-card {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.user-avatar {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.user-info {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.user-id {
|
||||
color: #e91e63;
|
||||
font-size: 12px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.user-detail {
|
||||
color: rgba(102, 102, 102, 0.73);
|
||||
font-size: 12px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* 操作按钮组样式 */
|
||||
.btn-group {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
/* 搜索表单样式 */
|
||||
.search-form {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.search-item {
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
/* 表格样式优化 */
|
||||
.layui-table {
|
||||
margin-top: 16px;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.layui-table thead th {
|
||||
background-color: #f8f8f8;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.layui-table td,
|
||||
.layui-table th {
|
||||
padding: 10px 15px;
|
||||
/* 调整单元格内边距 */
|
||||
height: 80px !important;
|
||||
}
|
||||
|
||||
/* 充值按钮样式 */
|
||||
.layui-table .layui-btn-xs {
|
||||
margin-top: 5px;
|
||||
/* 给充值按钮添加上边距 */
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
/* 数值显示样式 */
|
||||
.value-display {
|
||||
margin-bottom: 5px;
|
||||
/* 数值和按钮之间的间距 */
|
||||
display: block;
|
||||
}
|
||||
|
||||
.layui-table-cell {
|
||||
height: 100% !important;
|
||||
line-height: 28px;
|
||||
padding: 0 15px;
|
||||
position: relative;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
.status-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.status-text {
|
||||
color: #333;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.status-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.status-actions .layui-btn-xs {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.combined-values div {
|
||||
margin: 0;
|
||||
padding: 2px 0;
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user