This commit is contained in:
parent
b6b094ce92
commit
623943606e
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace app\test\controller;
|
namespace app\admin\controller;
|
||||||
|
|
||||||
use think\Controller;
|
use think\Controller;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
|
|
@ -8,7 +8,7 @@ use app\bj\controller\Common;
|
||||||
use think\Log;
|
use think\Log;
|
||||||
use \think\Validate;
|
use \think\Validate;
|
||||||
|
|
||||||
class Text extends Controller{
|
class Card extends Controller{
|
||||||
public function demo(){
|
public function demo(){
|
||||||
echo '你好';
|
echo '你好';
|
||||||
}
|
}
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace app\test\controller;
|
|
||||||
|
|
||||||
use think\Controller;
|
|
||||||
use think\Db;
|
|
||||||
use app\bj\controller\Common;
|
|
||||||
use think\Log;
|
|
||||||
use \think\Validate;
|
|
||||||
|
|
||||||
class Text extends Controller{
|
|
||||||
public function demo(){
|
|
||||||
echo '你好';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace app\test\controller;
|
namespace app\admin\controller;
|
||||||
|
|
||||||
use think\Controller;
|
use think\Controller;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace app\admin\controller;
|
||||||
|
|
||||||
|
use think\Controller;
|
||||||
|
use think\Db;
|
||||||
|
use app\bj\controller\Common;
|
||||||
|
use think\Log;
|
||||||
|
use \think\Validate;
|
||||||
|
|
||||||
|
class Member extends Controller{
|
||||||
|
|
||||||
|
################################################################账号################################################################
|
||||||
|
################################################################账号################################################################
|
||||||
|
################################################################账号################################################################
|
||||||
|
|
||||||
|
// 用户账号列表
|
||||||
|
public function member_list($page = 1){
|
||||||
|
$data = input();
|
||||||
|
$pd = true;
|
||||||
|
$parameter = [];
|
||||||
|
if(array_key_exists('tt', $data)){
|
||||||
|
$page = $data['page_num'];
|
||||||
|
unset($data['page_num']);
|
||||||
|
unset($data['tt']);
|
||||||
|
$pd = false;
|
||||||
|
if($data['status_num'] === "0" || $data['status_num'] === "1"){
|
||||||
|
$parameter['is_del'] = $data['status_num'];
|
||||||
|
}
|
||||||
|
if($data['tel']){
|
||||||
|
$parameter['tel'] = $data['tel'];
|
||||||
|
}
|
||||||
|
if($data['email']){
|
||||||
|
$parameter['email'] = $data['email'];
|
||||||
|
}
|
||||||
|
if($data['s_time']){
|
||||||
|
$parameter['create_time'] = ['>=',$data['s_time']];
|
||||||
|
}
|
||||||
|
if($data['e_time']){
|
||||||
|
$parameter['create_time'] = ['<=',$data['e_time']];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$num = Db::table('app_account_number')->where($parameter)->count();
|
||||||
|
$member_list = Db::table('app_account_number')->where($parameter)->page("$page,10")->order('is_del,id desc')->select();
|
||||||
|
if(!$pd){
|
||||||
|
$result['num'] = $num;
|
||||||
|
$result['data'] = $member_list;
|
||||||
|
return $this->msg(0,'success',$result);
|
||||||
|
}
|
||||||
|
$this->assign([
|
||||||
|
'result' => $member_list,
|
||||||
|
'num' => $num,
|
||||||
|
]);
|
||||||
|
return $this->fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户账号停用
|
||||||
|
public function member_is_del(){
|
||||||
|
$data = input();
|
||||||
|
if(is_array($data['id'])){
|
||||||
|
$data['id'] = implode(',',$data['id']);
|
||||||
|
$result = Db::table('app_account_number')->where("id in (".$data['id'].")")->update(['is_del'=>$data['is_del']]);
|
||||||
|
}else{
|
||||||
|
$result = Db::table('app_account_number')->where(['id'=>$data['id']])->update(['is_del'=>$data['is_del']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($result){
|
||||||
|
return $this->msg(0,'success');
|
||||||
|
}else{
|
||||||
|
return $this->msg(10001,'success');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################################################################角色################################################################
|
||||||
|
################################################################角色################################################################
|
||||||
|
################################################################角色################################################################
|
||||||
|
|
||||||
|
// 角色列表
|
||||||
|
public function user_list($page = 1){
|
||||||
|
$data = input();
|
||||||
|
$pd = true;
|
||||||
|
$parameter = [];
|
||||||
|
if(array_key_exists('tt', $data)){
|
||||||
|
$status = ['0', '1', '2'];
|
||||||
|
$page = $data['page_num'];
|
||||||
|
unset($data['page_num']);
|
||||||
|
unset($data['tt']);
|
||||||
|
$pd = false;
|
||||||
|
if(in_array($data['status_num'], $status)){
|
||||||
|
$parameter['is_del'] = $data['status_num'];
|
||||||
|
}
|
||||||
|
if($data['aan_id']){
|
||||||
|
$parameter['aan_id'] = $data['aan_id'];
|
||||||
|
}
|
||||||
|
if($data['nickname']){
|
||||||
|
$parameter['nickname'] = $data['nickname'];
|
||||||
|
}
|
||||||
|
if(in_array($data['gender'], $status)){
|
||||||
|
$parameter['gender'] = $data['gender'];
|
||||||
|
}
|
||||||
|
// if($data['s_time']){
|
||||||
|
// $parameter['create_time'] = ['>=',$data['s_time']];
|
||||||
|
// }
|
||||||
|
// if($data['e_time']){
|
||||||
|
// $parameter['create_time'] = ['<=',$data['e_time']];
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
// dump($parameter);
|
||||||
|
// die;
|
||||||
|
$num = Db::table('app_user_data')->where($parameter)->count();
|
||||||
|
$member_list = Db::table('app_user_data')->where($parameter)->page("$page,10")->order('is_del,id desc')->select();
|
||||||
|
if(!$pd){
|
||||||
|
$result['num'] = $num;
|
||||||
|
$result['data'] = $member_list;
|
||||||
|
return $this->msg(0,'success',$result);
|
||||||
|
}
|
||||||
|
$this->assign([
|
||||||
|
'result' => $member_list,
|
||||||
|
'num' => $num,
|
||||||
|
]);
|
||||||
|
return $this->fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 角色停用
|
||||||
|
public function user_is_del(){
|
||||||
|
$data = input();
|
||||||
|
if(is_array($data['id'])){
|
||||||
|
// dump($data['id']);
|
||||||
|
$data['id'] = implode(',',$data['id']);
|
||||||
|
// dump($data['id']);
|
||||||
|
// die;
|
||||||
|
$result = Db::table('app_user_data')->where("id in (".$data['id'].")")->update(['is_del'=>$data['is_del']]);
|
||||||
|
}else{
|
||||||
|
$result = Db::table('app_user_data')->where(['id'=>$data['id']])->update(['is_del'=>$data['is_del']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($result){
|
||||||
|
return $this->msg(0,'success');
|
||||||
|
}else{
|
||||||
|
return $this->msg(10001,'success');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
################################################################other################################################################
|
||||||
|
################################################################other################################################################
|
||||||
|
################################################################other################################################################
|
||||||
|
|
||||||
|
public function msg($code,$msg='',$data=[]){
|
||||||
|
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -12,11 +12,6 @@
|
||||||
<!-- <link rel="stylesheet" href="./css/theme5.css"> -->
|
<!-- <link rel="stylesheet" href="./css/theme5.css"> -->
|
||||||
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||||
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||||
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
|
|
||||||
<!--[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>
|
<script>
|
||||||
// 是否开启刷新记忆tab功能
|
// 是否开启刷新记忆tab功能
|
||||||
// var is_remember = false;
|
// var is_remember = false;
|
||||||
|
|
@ -30,44 +25,18 @@
|
||||||
<div class="left_open">
|
<div class="left_open">
|
||||||
<a><i title="展开左侧栏" class="iconfont"></i></a>
|
<a><i title="展开左侧栏" class="iconfont"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<ul class="layui-nav left fast-add" lay-filter="">
|
|
||||||
<li class="layui-nav-item">
|
|
||||||
<a href="javascript:;">+新增</a>
|
|
||||||
<dl class="layui-nav-child">
|
|
||||||
<!-- 二级菜单 -->
|
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.open('最大化','http://www.baidu.com','','',true)">
|
|
||||||
<i class="iconfont"></i>弹出最大化</a></dd>
|
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.open('弹出自动宽高','http://www.baidu.com')">
|
|
||||||
<i class="iconfont"></i>弹出自动宽高</a></dd>
|
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.open('弹出指定宽高','http://www.baidu.com',500,300)">
|
|
||||||
<i class="iconfont"></i>弹出指定宽高</a></dd>
|
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.add_tab('在tab打开','member-list.html')">
|
|
||||||
<i class="iconfont"></i>在tab打开</a></dd>
|
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.add_tab('在tab打开刷新','member-del.html',true)">
|
|
||||||
<i class="iconfont"></i>在tab打开刷新</a></dd>
|
|
||||||
</dl>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="layui-nav right" lay-filter="">
|
<ul class="layui-nav right" lay-filter="">
|
||||||
<li class="layui-nav-item">
|
<li class="layui-nav-item">
|
||||||
<a href="javascript:;">admin</a>
|
<a href="javascript:;">admin</a>
|
||||||
<dl class="layui-nav-child">
|
<dl class="layui-nav-child">
|
||||||
<!-- 二级菜单 -->
|
<!-- 二级菜单 -->
|
||||||
<dd>
|
|
||||||
<a onclick="xadmin.open('个人信息','http://www.baidu.com')">个人信息</a></dd>
|
|
||||||
<dd>
|
<dd>
|
||||||
<a onclick="xadmin.open('切换帐号','http://www.baidu.com')">切换帐号</a></dd>
|
<a onclick="xadmin.open('切换帐号','http://www.baidu.com')">切换帐号</a></dd>
|
||||||
<dd>
|
<dd>
|
||||||
<a href="./login.html">退出</a></dd>
|
<a href="./login.html">退出</a></dd>
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
<li class="layui-nav-item to-index">
|
|
||||||
<a href="/">前台首页</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<!-- 顶部结束 -->
|
<!-- 顶部结束 -->
|
||||||
|
|
@ -78,29 +47,24 @@
|
||||||
<ul id="nav">
|
<ul id="nav">
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
<i class="iconfont left-nav-li" lay-tips="会员管理"></i>
|
<i class="iconfont left-nav-li" lay-tips="APP账号角色管理"></i>
|
||||||
<cite>会员管理</cite>
|
<cite>APP账号角色管理</cite>
|
||||||
<i class="iconfont nav_right"></i></a>
|
<i class="iconfont nav_right"></i></a>
|
||||||
<ul class="sub-menu">
|
<ul class="sub-menu">
|
||||||
<li>
|
<li>
|
||||||
<a onclick="xadmin.add_tab('统计页面','/welcome')">
|
<a onclick="xadmin.add_tab('APP账号数据列表','/admin/member/member_list')">
|
||||||
<i class="iconfont"></i>
|
<i class="iconfont"></i>
|
||||||
<cite>统计页面</cite></a>
|
<cite>APP账号数据列表</cite></a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a onclick="xadmin.add_tab('会员列表(静态表格)','member-list.html')">
|
<a onclick="xadmin.add_tab('APP角色数据列表','/admin/member/user_list',true)">
|
||||||
<i class="iconfont"></i>
|
<i class="iconfont"></i>
|
||||||
<cite>会员列表(静态表格)</cite></a>
|
<cite>APP角色数据列表</cite></a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<!-- <li>
|
||||||
<a onclick="xadmin.add_tab('会员列表(动态表格)','member-list1.html',true)">
|
|
||||||
<i class="iconfont"></i>
|
|
||||||
<cite>会员列表(动态表格)</cite></a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a onclick="xadmin.add_tab('会员删除','member-del.html')">
|
<a onclick="xadmin.add_tab('会员删除','member-del.html')">
|
||||||
<i class="iconfont"></i>
|
<i class="iconfont"></i>
|
||||||
<cite>会员删除</cite></a>
|
<cite>app角色数据列表</cite></a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
|
|
@ -119,13 +83,31 @@
|
||||||
<cite>等级管理</cite></a>
|
<cite>等级管理</cite></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</li> -->
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="javascript:;">
|
||||||
|
<i class="iconfont left-nav-li" lay-tips="卡片管理"></i>
|
||||||
|
<cite>卡片管理</cite>
|
||||||
|
<i class="iconfont nav_right"></i></a>
|
||||||
|
<ul class="sub-menu">
|
||||||
|
<li>
|
||||||
|
<a onclick="xadmin.add_tab('APP用户自建卡片','order-list.html')">
|
||||||
|
<i class="iconfont"></i>
|
||||||
|
<cite>APP用户自建卡片</cite></a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a onclick="xadmin.add_tab('系统默认卡片','order-list1.html')">
|
||||||
|
<i class="iconfont"></i>
|
||||||
|
<cite>系统默认卡片</cite></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
<i class="iconfont left-nav-li" lay-tips="订单管理"></i>
|
<i class="iconfont left-nav-li" lay-tips="订单管理"></i>
|
||||||
<cite>订单管理</cite>
|
<cite>设备管理</cite>
|
||||||
<i class="iconfont nav_right"></i></a>
|
<i class="iconfont nav_right"></i></a>
|
||||||
<ul class="sub-menu">
|
<ul class="sub-menu">
|
||||||
<li>
|
<li>
|
||||||
|
|
@ -355,13 +337,6 @@
|
||||||
<style id="theme_style"></style>
|
<style id="theme_style"></style>
|
||||||
<!-- 右侧主体结束 -->
|
<!-- 右侧主体结束 -->
|
||||||
<!-- 中部结束 -->
|
<!-- 中部结束 -->
|
||||||
<script>//百度统计可去掉
|
|
||||||
var _hmt = _hmt || []; (function() {
|
|
||||||
var hm = document.createElement("script");
|
|
||||||
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
|
|
||||||
var s = document.getElementsByTagName("script")[0];
|
|
||||||
s.parentNode.insertBefore(hm, s);
|
|
||||||
})();</script>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -215,14 +215,5 @@
|
||||||
// 使用刚指定的配置项和数据显示图表。
|
// 使用刚指定的配置项和数据显示图表。
|
||||||
myChart.setOption(option);
|
myChart.setOption(option);
|
||||||
</script>
|
</script>
|
||||||
<script>
|
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function() {
|
|
||||||
var hm = document.createElement("script");
|
|
||||||
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
|
|
||||||
var s = document.getElementsByTagName("script")[0];
|
|
||||||
s.parentNode.insertBefore(hm, s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -0,0 +1,359 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="x-admin-sm">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>欢迎页面-X-admin2.2</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="/x_admin/css/font.css">
|
||||||
|
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||||
|
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||||
|
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||||
|
<style>
|
||||||
|
/* th{
|
||||||
|
min-width:30px;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="x-nav">
|
||||||
|
<span class="layui-breadcrumb">
|
||||||
|
<a href="">首页</a>
|
||||||
|
<a href="">演示</a>
|
||||||
|
<a>
|
||||||
|
<cite>导航元素</cite></a>
|
||||||
|
</span>
|
||||||
|
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
|
||||||
|
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
|
||||||
|
</div>
|
||||||
|
<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 class="layui-form layui-col-space5">
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="s_time">
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="e_time">
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input type="text" name="username" placeholder="请输入用户手机" autocomplete="off" class="layui-input" id="tel">
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input type="text" name="username" placeholder="请输入用户邮箱" autocomplete="off" class="layui-input" id="email">
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline layui-show-xs-block">
|
||||||
|
<select name="contrller" id="status_num">
|
||||||
|
<option value="">状态</option>
|
||||||
|
<option value="0">启用</option>
|
||||||
|
<option value="1">停用</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<div class="layui-btn" lay-submit="" lay-filter="sreach" onclick="find('y')"><i class="layui-icon"></i></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-header">
|
||||||
|
<button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量停用</button>
|
||||||
|
<!-- <button class="layui-btn" onclick="xadmin.open('添加用户','./member-add.html',600,400)"><i class="layui-icon"></i>添加</button> -->
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-body layui-table-body layui-table-main">
|
||||||
|
<table class="layui-table layui-form">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>唯一token</th>
|
||||||
|
<th>手机</th>
|
||||||
|
<th>邮箱</th>
|
||||||
|
<th>创建时间</th>
|
||||||
|
<th>状态</th>
|
||||||
|
<!-- <th>操作</th></tr> -->
|
||||||
|
</thead>
|
||||||
|
<tbody id='content'>
|
||||||
|
|
||||||
|
{volist name="result" id="vo"}
|
||||||
|
<tr>
|
||||||
|
<td><input type="checkbox" name="id" value="{$vo.id}" lay-skin="primary"></td>
|
||||||
|
<td>{$vo.id}</td>
|
||||||
|
<td>{$vo.token}</td>
|
||||||
|
<td>{$vo.tel}</td>
|
||||||
|
<td>{$vo.email}</td>
|
||||||
|
<td>{$vo.create_time}</td>
|
||||||
|
<td class="td-status">
|
||||||
|
{if condition="$vo.is_del == 1"}
|
||||||
|
<span onclick="member_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>
|
||||||
|
{else /}
|
||||||
|
<span onclick="member_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<!-- <td class="td-manage">
|
||||||
|
<span class="layui-btn layui-btn-normal layui-btn-mini" title="启用">详细</span>
|
||||||
|
</td> -->
|
||||||
|
</tr>
|
||||||
|
{/volist}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-body ">
|
||||||
|
<div id="page" style="text-align: center;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="layui-card-body ">
|
||||||
|
<div class="page">
|
||||||
|
<div>
|
||||||
|
<a class="prev" href=""><<</a>
|
||||||
|
<a class="num" href="">1</a>
|
||||||
|
<span class="current">2</span>
|
||||||
|
<a class="num" href="">3</a>
|
||||||
|
<a class="num" href="">489</a>
|
||||||
|
<a class="next" href="">>></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
var form
|
||||||
|
layui.use(['laydate','form'], function(){
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
form = layui.form;
|
||||||
|
|
||||||
|
|
||||||
|
// 监听全选
|
||||||
|
form.on('checkbox(checkall)', function(data){
|
||||||
|
|
||||||
|
if(data.elem.checked){
|
||||||
|
$('tbody input').prop('checked',true);
|
||||||
|
}else{
|
||||||
|
$('tbody input').prop('checked',false);
|
||||||
|
}
|
||||||
|
form.render('checkbox');
|
||||||
|
});
|
||||||
|
|
||||||
|
//执行一个laydate实例
|
||||||
|
laydate.render({
|
||||||
|
elem: '#s_time' //指定元素
|
||||||
|
});
|
||||||
|
|
||||||
|
//执行一个laydate实例
|
||||||
|
laydate.render({
|
||||||
|
elem: '#e_time' //指定元素
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
var page_num;
|
||||||
|
var laypage;
|
||||||
|
var all_page = "{$num}";
|
||||||
|
layui.use('laypage', function () {
|
||||||
|
laypage = layui.laypage;
|
||||||
|
|
||||||
|
//执行一个laypage实例
|
||||||
|
laypage.render({
|
||||||
|
elem: 'page',
|
||||||
|
count: all_page, //数据总数,从服务端得到
|
||||||
|
limit: 10,
|
||||||
|
groups:10,
|
||||||
|
jump: function (obj, first) {
|
||||||
|
//首次不执行
|
||||||
|
if (!first) {
|
||||||
|
//obj包含了当前分页的所有参数,比如:
|
||||||
|
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||||
|
console.log(obj.limit); //得到每页显示的条数
|
||||||
|
page_num = obj.curr;
|
||||||
|
find("n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
/*用户-停用*/
|
||||||
|
function member_stop(obj,id){
|
||||||
|
|
||||||
|
// return
|
||||||
|
var title = '',is_del,num
|
||||||
|
if($(obj).attr('title')=='启用'){
|
||||||
|
title = '停用'
|
||||||
|
is_del = 1
|
||||||
|
num = 5
|
||||||
|
}else{
|
||||||
|
title = '启用'
|
||||||
|
is_del = 0
|
||||||
|
num = 6
|
||||||
|
}
|
||||||
|
// console.log('点击时'+$(obj).attr('title')+'====='+id+'===传到后台是否删除:'+is_del)
|
||||||
|
layer.confirm('确认要'+ title +'吗?',function(index){
|
||||||
|
load()
|
||||||
|
$.ajax({
|
||||||
|
url:"member_is_del", //请求的url地址
|
||||||
|
dataType:"json", //返回格式为json
|
||||||
|
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data:{"id":id,'is_del':is_del}, //参数值
|
||||||
|
type:"POST", //请求方式
|
||||||
|
success:function(req){
|
||||||
|
c_load()
|
||||||
|
//请求成功时处理
|
||||||
|
if(req['code'] == 0){
|
||||||
|
//发异步把用户状态进行更改
|
||||||
|
$(obj).attr('title',title)
|
||||||
|
if(is_del == 1){
|
||||||
|
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已'+ title);
|
||||||
|
}else{
|
||||||
|
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已'+ title);
|
||||||
|
}
|
||||||
|
layer.msg('已停用!',{icon: num});
|
||||||
|
}else{
|
||||||
|
layer.msg('操作失败!',{icon: 5});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
//请求出错处理
|
||||||
|
}});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function delAll (argument) {
|
||||||
|
// layer.msg('停用成功', {icon: 2});
|
||||||
|
// return
|
||||||
|
var ids = [];
|
||||||
|
// 获取选中的id
|
||||||
|
$('tbody input').each(function(index, el) {
|
||||||
|
if($(this).prop('checked')){
|
||||||
|
ids.push($(this).val())
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(ids.length <= 0){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log(ids);
|
||||||
|
layer.confirm('确认要停用吗?ID为:'+ids.toString(),function(index){
|
||||||
|
//捉到所有被选中的,发异步进行删除
|
||||||
|
$.ajax({
|
||||||
|
url:"member_is_del", //请求的url地址
|
||||||
|
dataType:"json", //返回格式为json
|
||||||
|
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data:{"id":ids,'is_del':1}, //参数值
|
||||||
|
type:"POST", //请求方式
|
||||||
|
success:function(req){
|
||||||
|
c_load()
|
||||||
|
//请求成功时处理
|
||||||
|
if(req['code'] == 0){
|
||||||
|
//发异步把用户状态进行更改
|
||||||
|
layer.msg('停用成功', {icon: 1});
|
||||||
|
$(".layui-form-checked").not('.header').parents('tr').find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
|
||||||
|
}else{
|
||||||
|
layer.msg('操作失败!',{icon: 2});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
//请求出错处理
|
||||||
|
}});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function find(pd) {
|
||||||
|
if(!page_num || pd == 'y'){
|
||||||
|
page_num = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
page({
|
||||||
|
"status_num":$('#status_num').val(),
|
||||||
|
"tel":$('#tel').val(),
|
||||||
|
"email":$('#email').val(),
|
||||||
|
"s_time":$('#s_time').val(),
|
||||||
|
"e_time":$('#e_time').val(),
|
||||||
|
"page_num":page_num,
|
||||||
|
"tt":1},pd);
|
||||||
|
}
|
||||||
|
function page(data,pd) {
|
||||||
|
console.log(data)
|
||||||
|
load()
|
||||||
|
$.ajax({
|
||||||
|
url: "member_list", //请求的url地址s
|
||||||
|
dataType: "json", //返回格式为json
|
||||||
|
async: true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data: data, //参数值
|
||||||
|
type: "POST", //请求方式
|
||||||
|
success: function (req) {
|
||||||
|
console.log(req)
|
||||||
|
c_load();
|
||||||
|
if (req['code'] == 0) {
|
||||||
|
|
||||||
|
var str,str_s,str_c,str_all="";
|
||||||
|
|
||||||
|
for (let i = 0; i < req['data']['data'].length; i++) {
|
||||||
|
if(req['data']['data'][i]['is_del'] == 1){
|
||||||
|
str = '<span onclick="member_stop(this,\''+req['data']['data'][i]['id']+'\')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>'
|
||||||
|
}else{
|
||||||
|
str = '<span onclick="member_stop(this,\''+ req['data']['data'][i]['id'] +'\')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>'
|
||||||
|
}
|
||||||
|
str_c = "<tr>"+
|
||||||
|
'<td><input type="checkbox" name="id" value="'+req['data']['data'][i]['id']+'" lay-skin="primary"></td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['id']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['token']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['tel']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['email']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['create_time']+'</td>'+
|
||||||
|
'<td class="td-status">'+
|
||||||
|
str+
|
||||||
|
'</td>'
|
||||||
|
'</tr>'
|
||||||
|
str_all = str_all+str_c;
|
||||||
|
}
|
||||||
|
$('#content').html(str_all);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
if(pd == 'y'){
|
||||||
|
$("#page").html("")
|
||||||
|
laypage.render({
|
||||||
|
elem: 'page',
|
||||||
|
count: req['data']['num'], //数据总数,从服务端得到
|
||||||
|
limit: 10,
|
||||||
|
groups:10,
|
||||||
|
jump: function (obj, first) {
|
||||||
|
//首次不执行
|
||||||
|
if (!first) {
|
||||||
|
//obj包含了当前分页的所有参数,比如:
|
||||||
|
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||||
|
console.log(obj.limit); //得到每页显示的条数
|
||||||
|
page_num = obj.curr;
|
||||||
|
// page({"page":page_num,"tt":1});
|
||||||
|
find("n")
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
layer.msg(req['msg'])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
//请求出错处理
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//加载提示开启
|
||||||
|
function load() {
|
||||||
|
var index = layer.load(1, {
|
||||||
|
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 关闭加载提示
|
||||||
|
function c_load() {
|
||||||
|
layer.close(layer.index)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,372 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="x-admin-sm">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>欢迎页面-X-admin2.2</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="/x_admin/css/font.css">
|
||||||
|
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
|
||||||
|
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
|
||||||
|
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
|
||||||
|
<style>
|
||||||
|
/* th{
|
||||||
|
min-width:30px;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="x-nav">
|
||||||
|
<span class="layui-breadcrumb">
|
||||||
|
<a href="">首页</a>
|
||||||
|
<a href="">演示</a>
|
||||||
|
<a>
|
||||||
|
<cite>导航元素</cite></a>
|
||||||
|
</span>
|
||||||
|
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
|
||||||
|
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
|
||||||
|
</div>
|
||||||
|
<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 class="layui-form layui-col-space5">
|
||||||
|
<!-- <div class="layui-inline layui-show-xs-block">
|
||||||
|
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="s_time">
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="e_time">
|
||||||
|
</div> -->
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input type="text" name="username" placeholder="请输入Aan_ID" autocomplete="off" class="layui-input" id="aan_id">
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<input type="text" name="username" placeholder="请输入昵称" autocomplete="off" class="layui-input" id="nickname">
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline layui-show-xs-block">
|
||||||
|
<select name="contrller" id="gender">
|
||||||
|
<option value="">请选择性别</option>
|
||||||
|
<option value="1">男</option>
|
||||||
|
<option value="2">女</option>
|
||||||
|
<option value="0">未知</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline layui-show-xs-block">
|
||||||
|
<select name="contrller" id="status_num">
|
||||||
|
<option value="">状态</option>
|
||||||
|
<option value="0">启用</option>
|
||||||
|
<option value="1">停用</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline layui-show-xs-block">
|
||||||
|
<div class="layui-btn" lay-submit="" lay-filter="sreach" onclick="find('y')"><i class="layui-icon"></i></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-header">
|
||||||
|
<button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量停用</button>
|
||||||
|
<!-- <button class="layui-btn" onclick="xadmin.open('添加用户','./member-add.html',600,400)"><i class="layui-icon"></i>添加</button> -->
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-body layui-table-body layui-table-main">
|
||||||
|
<table class="layui-table layui-form">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" lay-filter="checkall" name="" lay-skin="primary"></th>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>Aan_ID</th>
|
||||||
|
<th>昵称</th>
|
||||||
|
<th>生日</th>
|
||||||
|
<th>性别</th>
|
||||||
|
<th>创建时间</th>
|
||||||
|
<th>最后修改时间</th>
|
||||||
|
<th>状态</th>
|
||||||
|
<!-- <th>操作</th></tr> -->
|
||||||
|
</thead>
|
||||||
|
<tbody id='content'>
|
||||||
|
|
||||||
|
{volist name="result" id="vo"}
|
||||||
|
<tr>
|
||||||
|
<td><input type="checkbox" name="id" value="{$vo.id}" lay-skin="primary"></td>
|
||||||
|
<td>{$vo.id}</td>
|
||||||
|
<td>{$vo.aan_id}</td>
|
||||||
|
<td>{$vo.nickname}</td>
|
||||||
|
<td>{$vo.birthday}</td>
|
||||||
|
{if condition="$vo.gender == 1"}
|
||||||
|
<td>男</td>
|
||||||
|
{elseif condition="$vo.gender == 2"/}
|
||||||
|
<td>女</td>
|
||||||
|
{else /}
|
||||||
|
<td>未知</td>
|
||||||
|
{/if}
|
||||||
|
<td>{$vo.create_time}</td>
|
||||||
|
<td>{$vo.last_update_time}</td>
|
||||||
|
<td class="td-status">
|
||||||
|
{if condition="$vo.is_del == 1"}
|
||||||
|
<span onclick="user_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>
|
||||||
|
{else /}
|
||||||
|
<span onclick="user_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>
|
||||||
|
{/if}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{/volist}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="layui-card-body ">
|
||||||
|
<div id="page" style="text-align: center;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
var form
|
||||||
|
layui.use(['laydate','form'], function(){
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
form = layui.form;
|
||||||
|
|
||||||
|
|
||||||
|
// 监听全选
|
||||||
|
form.on('checkbox(checkall)', function(data){
|
||||||
|
|
||||||
|
if(data.elem.checked){
|
||||||
|
$('tbody input').prop('checked',true);
|
||||||
|
}else{
|
||||||
|
$('tbody input').prop('checked',false);
|
||||||
|
}
|
||||||
|
form.render('checkbox');
|
||||||
|
});
|
||||||
|
|
||||||
|
// //执行一个laydate实例
|
||||||
|
// laydate.render({
|
||||||
|
// elem: '#s_time' //指定元素
|
||||||
|
// });
|
||||||
|
|
||||||
|
// //执行一个laydate实例
|
||||||
|
// laydate.render({
|
||||||
|
// elem: '#e_time' //指定元素
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
var page_num;
|
||||||
|
var laypage;
|
||||||
|
var all_page = "{$num}";
|
||||||
|
layui.use('laypage', function () {
|
||||||
|
laypage = layui.laypage;
|
||||||
|
|
||||||
|
//执行一个laypage实例
|
||||||
|
laypage.render({
|
||||||
|
elem: 'page',
|
||||||
|
count: all_page, //数据总数,从服务端得到
|
||||||
|
limit: 10,
|
||||||
|
groups:10,
|
||||||
|
jump: function (obj, first) {
|
||||||
|
//首次不执行
|
||||||
|
if (!first) {
|
||||||
|
//obj包含了当前分页的所有参数,比如:
|
||||||
|
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||||
|
console.log(obj.limit); //得到每页显示的条数
|
||||||
|
page_num = obj.curr;
|
||||||
|
find("n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
/*用户-停用*/
|
||||||
|
function user_stop(obj,id){
|
||||||
|
|
||||||
|
// return
|
||||||
|
var title = '',is_del,num
|
||||||
|
if($(obj).attr('title')=='启用'){
|
||||||
|
title = '停用'
|
||||||
|
is_del = 1
|
||||||
|
num = 5
|
||||||
|
}else{
|
||||||
|
title = '启用'
|
||||||
|
is_del = 0
|
||||||
|
num = 6
|
||||||
|
}
|
||||||
|
// console.log('点击时'+$(obj).attr('title')+'====='+id+'===传到后台是否删除:'+is_del)
|
||||||
|
layer.confirm('确认要'+ title +'吗?',function(index){
|
||||||
|
load()
|
||||||
|
$.ajax({
|
||||||
|
url:"user_is_del", //请求的url地址
|
||||||
|
dataType:"json", //返回格式为json
|
||||||
|
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data:{"id":id,'is_del':is_del}, //参数值
|
||||||
|
type:"POST", //请求方式
|
||||||
|
success:function(req){
|
||||||
|
c_load()
|
||||||
|
//请求成功时处理
|
||||||
|
if(req['code'] == 0){
|
||||||
|
//发异步把用户状态进行更改
|
||||||
|
$(obj).attr('title',title)
|
||||||
|
if(is_del == 1){
|
||||||
|
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已'+ title);
|
||||||
|
}else{
|
||||||
|
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已'+ title);
|
||||||
|
}
|
||||||
|
layer.msg('已停用!',{icon: num});
|
||||||
|
}else{
|
||||||
|
layer.msg('操作失败!',{icon: 5});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
//请求出错处理
|
||||||
|
}});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function delAll (argument) {
|
||||||
|
// layer.msg('停用成功', {icon: 2});
|
||||||
|
// return
|
||||||
|
var ids = [];
|
||||||
|
// 获取选中的id
|
||||||
|
$('tbody input').each(function(index, el) {
|
||||||
|
if($(this).prop('checked')){
|
||||||
|
ids.push($(this).val())
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(ids.length <= 0){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log(ids);
|
||||||
|
layer.confirm('确认要停用吗?ID为:'+ids.toString(),function(index){
|
||||||
|
//捉到所有被选中的,发异步进行删除
|
||||||
|
$.ajax({
|
||||||
|
url:"user_is_del", //请求的url地址
|
||||||
|
dataType:"json", //返回格式为json
|
||||||
|
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data:{"id":ids,'is_del':1}, //参数值
|
||||||
|
type:"POST", //请求方式
|
||||||
|
success:function(req){
|
||||||
|
c_load()
|
||||||
|
//请求成功时处理
|
||||||
|
if(req['code'] == 0){
|
||||||
|
//发异步把用户状态进行更改
|
||||||
|
layer.msg('停用成功', {icon: 1});
|
||||||
|
location.reload()
|
||||||
|
$(".layui-form-checked").not('.header').parents('tr').find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
|
||||||
|
}else{
|
||||||
|
layer.msg('操作失败!',{icon: 2});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
//请求出错处理
|
||||||
|
}});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function find(pd) {
|
||||||
|
if(!page_num || pd == 'y'){
|
||||||
|
page_num = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
page({
|
||||||
|
"status_num":$('#status_num').val(),
|
||||||
|
"aan_id":$('#aan_id').val(),
|
||||||
|
"nickname":$('#nickname').val(),
|
||||||
|
"gender":$('#gender').val(),
|
||||||
|
// "s_time":$('#s_time').val(),
|
||||||
|
// "e_time":$('#e_time').val(),
|
||||||
|
"page_num":page_num,
|
||||||
|
"tt":1},pd);
|
||||||
|
}
|
||||||
|
function page(data,pd) {
|
||||||
|
console.log(data)
|
||||||
|
load()
|
||||||
|
$.ajax({
|
||||||
|
url: "user_list", //请求的url地址s
|
||||||
|
dataType: "json", //返回格式为json
|
||||||
|
async: true,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||||
|
data: data, //参数值
|
||||||
|
type: "POST", //请求方式
|
||||||
|
success: function (req) {
|
||||||
|
console.log(req)
|
||||||
|
c_load();
|
||||||
|
if (req['code'] == 0) {
|
||||||
|
|
||||||
|
var str,str_s,str_c,str_all="";
|
||||||
|
|
||||||
|
for (let i = 0; i < req['data']['data'].length; i++) {
|
||||||
|
if(req['data']['data'][i]['is_del'] == 1){
|
||||||
|
str = '<span onclick="user_stop(this,\''+req['data']['data'][i]['id']+'\')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>'
|
||||||
|
}else{
|
||||||
|
str = '<span onclick="user_stop(this,\''+ req['data']['data'][i]['id'] +'\')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>'
|
||||||
|
}
|
||||||
|
if(req['data']['data'][i]['gender'] == 1){
|
||||||
|
str_s = '<td>男</td>'
|
||||||
|
}else if(req['data']['data'][i]['gender'] == 2){
|
||||||
|
str_s = '<td>女</td>'
|
||||||
|
}else{
|
||||||
|
str_s = '<td>未知</td>'
|
||||||
|
}
|
||||||
|
str_c = "<tr>"+
|
||||||
|
'<td><input type="checkbox" name="id" value="'+req['data']['data'][i]['id']+'" lay-skin="primary"></td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['id']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['aan_id']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['nickname']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['birthday']+'</td>'+
|
||||||
|
str_s+
|
||||||
|
'<td>'+req['data']['data'][i]['create_time']+'</td>'+
|
||||||
|
'<td>'+req['data']['data'][i]['last_update_time']+'</td>'+
|
||||||
|
'<td class="td-status">'+
|
||||||
|
str+
|
||||||
|
'</td>'
|
||||||
|
'</tr>'
|
||||||
|
str_all = str_all+str_c;
|
||||||
|
}
|
||||||
|
$('#content').html(str_all);
|
||||||
|
|
||||||
|
form.render();
|
||||||
|
if(pd == 'y'){
|
||||||
|
$("#page").html("")
|
||||||
|
laypage.render({
|
||||||
|
elem: 'page',
|
||||||
|
count: req['data']['num'], //数据总数,从服务端得到
|
||||||
|
limit: 10,
|
||||||
|
groups:10,
|
||||||
|
jump: function (obj, first) {
|
||||||
|
//首次不执行
|
||||||
|
if (!first) {
|
||||||
|
//obj包含了当前分页的所有参数,比如:
|
||||||
|
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||||
|
console.log(obj.limit); //得到每页显示的条数
|
||||||
|
page_num = obj.curr;
|
||||||
|
// page({"page":page_num,"tt":1});
|
||||||
|
find("n")
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
layer.msg(req['msg'])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
//请求出错处理
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//加载提示开启
|
||||||
|
function load() {
|
||||||
|
var index = layer.load(1, {
|
||||||
|
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 关闭加载提示
|
||||||
|
function c_load() {
|
||||||
|
layer.close(layer.index)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
||||||
|
|
@ -11,46 +11,52 @@ use \think\Validate;
|
||||||
class Card extends Controller{
|
class Card extends Controller{
|
||||||
|
|
||||||
|
|
||||||
################################################################个人资料卡################################################################
|
################################################################接口################################################################
|
||||||
################################################################个人资料卡################################################################
|
################################################################接口################################################################
|
||||||
################################################################个人资料卡################################################################
|
################################################################接口################################################################
|
||||||
|
|
||||||
// 获取默认卡片信息
|
// 存储卡片顺序
|
||||||
// $type 1获取列表,2获取详细信息
|
// $data = ['user_token'=>'xxxxxxxxxxxxxxx','order_list'=>[1,2,3,4,5]]
|
||||||
public function get_card_msg($type=1){
|
public function save_card_order(){
|
||||||
$result = Db::table('app_card_data')->select();
|
$data = input();
|
||||||
$data = [];
|
if(!array_key_exists('order_list', $data) || !array_key_exists('user_token', $data)){
|
||||||
if($type == 1){
|
return $this->msg(10001,'数据格式错误');
|
||||||
for ($i=0; $i < count($result); $i++) {
|
|
||||||
array_push($data,['id'=>$result[$i]['id'],'name'=>$result[$i]['name']]);
|
|
||||||
}
|
}
|
||||||
|
if(!$this->isNumericArray($data['order_list'])){
|
||||||
|
return $this->msg(10002,'数据内参数格式或值错误');
|
||||||
|
}
|
||||||
|
$data['order_list'] = json_encode($data['order_list']);
|
||||||
|
$result = Db::table('app_user_data')->where(['id'=>$data['user_token']])->update(['card_order'=>$data['order_list']]);
|
||||||
|
if($result){
|
||||||
|
return $this->msg(0,'success');
|
||||||
}else{
|
}else{
|
||||||
// 如果需要详细信息再从中编辑信息
|
return $this->msg(10003,'修改失败');
|
||||||
$data = $result;
|
|
||||||
}
|
}
|
||||||
return $this->msg(0,'success',$data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取默认卡片规则
|
// 添加卡片规则
|
||||||
// $type 1获取列表,2获取详细信息
|
// $data = ['user_token'=>'xxxxxxxxxxxxxxx','order_list'=>[1,2,3,4,5]]
|
||||||
public function get_card_rule(){
|
public function add_card_rule(){
|
||||||
$result = Db::table('app_card_data')->select();
|
$data = input();
|
||||||
$data = [];
|
if(!array_key_exists('order_list', $data) || !array_key_exists('user_token', $data)){
|
||||||
if($type == 1){
|
return $this->msg(10001,'数据格式错误');
|
||||||
for ($i=0; $i < count($result); $i++) {
|
|
||||||
array_push($data,['id'=>$result[$i]['id'],'name'=>$result[$i]['name']]);
|
|
||||||
}
|
}
|
||||||
|
if(!$this->isNumericArray($data['order_list'])){
|
||||||
|
return $this->msg(10002,'数据内参数格式或值错误');
|
||||||
|
}
|
||||||
|
$data['order_list'] = json_encode($data['order_list']);
|
||||||
|
$result = Db::table('app_user_data')->where(['id'=>$data['user_token']])->update(['card_order'=>$data['order_list']]);
|
||||||
|
if($result){
|
||||||
|
return $this->msg(0,'success');
|
||||||
}else{
|
}else{
|
||||||
// 如果需要详细信息再从中编辑信息
|
return $this->msg(10003,'修改失败');
|
||||||
$data = $result;
|
|
||||||
}
|
}
|
||||||
return $this->msg(0,'success',$data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新建卡片
|
|
||||||
public function create_card(){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -60,43 +66,26 @@ class Card extends Controller{
|
||||||
################################################################other################################################################
|
################################################################other################################################################
|
||||||
################################################################other################################################################
|
################################################################other################################################################
|
||||||
|
|
||||||
public function verify_parameters($data,$type){
|
// 检查变量是否是一个只有数字的一维数组
|
||||||
// 设置验证
|
function isNumericArray($array) {
|
||||||
$rule = [
|
if (!is_array($array)) {
|
||||||
'aan_id' => 'require|number',
|
return false; // 变量不是数组
|
||||||
'nickname' => 'require|chsAlpha',
|
}
|
||||||
'birthday' => 'require|date',
|
foreach ($array as $value) {
|
||||||
'gender' => 'require|number|in:0,1,2',
|
if (!is_numeric($value)) {
|
||||||
];
|
return false; // 数组中包含非数字元素
|
||||||
$msg = [
|
}
|
||||||
'aan_id.require' => '账号信息缺失',
|
}
|
||||||
'nickname.require' => '昵称缺失',
|
$result = Db::table('app_card_data')->where(['is_del'=>1])->cache(true,3600)->column('id');//查询结果缓存3600秒
|
||||||
'birthday.require' => '生日缺失',
|
if(empty(array_diff($array, $result))){
|
||||||
'gender.require' => '性别缺失',
|
return true;// 数组是一维的且只包含数字,且已经跟数据库比对过,每个数值都是有效
|
||||||
|
}else{
|
||||||
'aan_id.number' => '账号信息格式错误',
|
return false;//跟数据库比对过,存在无效数值
|
||||||
'nickname.chsAlpha' => '昵称只能是只能是汉字、字母',
|
|
||||||
'birthday.date' => '生日信息格式错误',
|
|
||||||
'gender.number' => '性别格式错误',
|
|
||||||
'gender.in' => '性别信息错误',
|
|
||||||
];
|
|
||||||
$validate = new Validate($rule,$msg);
|
|
||||||
$result = $validate->check($data);
|
|
||||||
if(!$result){
|
|
||||||
return $validate->getError();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$parameter['aan_id'] = $data['aan_id'];
|
|
||||||
$parameter['nickname'] = $data['nickname'];
|
|
||||||
$parameter['birthday'] = $data['birthday'];
|
|
||||||
$parameter['gender'] = $data['gender'];
|
|
||||||
$parameter['create_time'] = date('Y-m-d H:i:s');
|
|
||||||
$parameter['last_update_time'] = date('Y-m-d H:i:s');
|
|
||||||
|
|
||||||
|
|
||||||
return $parameter;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function msg($code,$msg='',$data=[]){
|
public function msg($code,$msg='',$data=[]){
|
||||||
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class Index extends Controller{
|
||||||
// 创建用户卡片
|
// 创建用户卡片
|
||||||
public function create_user_data(){
|
public function create_user_data(){
|
||||||
$data = input();
|
$data = input();
|
||||||
|
$verify_result = $this->verify_parameters($data,'register');
|
||||||
$result = Db::table('app_user_data')->insert($verify_result);
|
$result = Db::table('app_user_data')->insert($verify_result);
|
||||||
if($result){
|
if($result){
|
||||||
return $this->msg(0,'success');
|
return $this->msg(0,'success');
|
||||||
|
|
@ -136,12 +136,14 @@ class Index extends Controller{
|
||||||
'nickname' => 'require|chsAlpha',
|
'nickname' => 'require|chsAlpha',
|
||||||
'birthday' => 'require|date',
|
'birthday' => 'require|date',
|
||||||
'gender' => 'require|number|in:0,1,2',
|
'gender' => 'require|number|in:0,1,2',
|
||||||
|
'grade' => 'require',
|
||||||
];
|
];
|
||||||
$msg = [
|
$msg = [
|
||||||
'aan_id.require' => '账号信息缺失',
|
'aan_id.require' => '账号信息缺失',
|
||||||
'nickname.require' => '昵称缺失',
|
'nickname.require' => '昵称缺失',
|
||||||
'birthday.require' => '生日缺失',
|
'birthday.require' => '生日缺失',
|
||||||
'gender.require' => '性别缺失',
|
'gender.require' => '性别缺失',
|
||||||
|
'grade.require' => '年级缺失',
|
||||||
|
|
||||||
'aan_id.number' => '账号信息格式错误',
|
'aan_id.number' => '账号信息格式错误',
|
||||||
'nickname.chsAlpha' => '昵称只能是只能是汉字、字母',
|
'nickname.chsAlpha' => '昵称只能是只能是汉字、字母',
|
||||||
|
|
@ -159,6 +161,7 @@ class Index extends Controller{
|
||||||
$parameter['nickname'] = $data['nickname'];
|
$parameter['nickname'] = $data['nickname'];
|
||||||
$parameter['birthday'] = $data['birthday'];
|
$parameter['birthday'] = $data['birthday'];
|
||||||
$parameter['gender'] = $data['gender'];
|
$parameter['gender'] = $data['gender'];
|
||||||
|
$parameter['grade'] = $data['grade'];
|
||||||
$parameter['create_time'] = date('Y-m-d H:i:s');
|
$parameter['create_time'] = date('Y-m-d H:i:s');
|
||||||
$parameter['last_update_time'] = date('Y-m-d H:i:s');
|
$parameter['last_update_time'] = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
|
@ -166,6 +169,8 @@ class Index extends Controller{
|
||||||
return $parameter;
|
return $parameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function msg($code,$msg='',$data=[]){
|
public function msg($code,$msg='',$data=[]){
|
||||||
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ class Login extends Controller{
|
||||||
return $this->msg(10001,$verify_result);
|
return $this->msg(10001,$verify_result);
|
||||||
}
|
}
|
||||||
$result = Db::table('app_register')->where($verify_result)->field('id')->find();
|
$result = Db::table('app_register')->where($verify_result)->field('id')->find();
|
||||||
dump($result);
|
// dump($result);
|
||||||
die;
|
// die;
|
||||||
if($result){
|
if($result){
|
||||||
$user_data = Db::table('app_user_data')->where(['aan_id'=>$result['id']])->field('id,nickname')->select();
|
$user_data = Db::table('app_user_data')->where(['aan_id'=>$result['id']])->field('id,nickname')->select();
|
||||||
return $this->msg(0,'success');
|
return $this->msg(0,'success');
|
||||||
|
|
@ -66,13 +66,14 @@ class Login extends Controller{
|
||||||
}
|
}
|
||||||
$num = $this->rand_int();
|
$num = $this->rand_int();
|
||||||
if($data['road'] == 'tel'){
|
if($data['road'] == 'tel'){
|
||||||
$result = $this->send_tel_code($data['tel'],$num);
|
$result = $this->send_tel_code($data['data'],$num);
|
||||||
}else if($data['road'] == 'email'){
|
}else if($data['road'] == 'email'){
|
||||||
|
$result = $this->send_email_code($data['data'],['title'=>'体测APP验证码','from_user_name'=>'体测APP','content'=>$num]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_array($result) && $result['code'] == 0){
|
if(is_array($result) && $result['code'] == 0){
|
||||||
cache($data['data']."_".$data['road']."_".$data['type'], $num, 20);
|
cache($data['data']."_".$data['road']."_".$data['type'], $num, 60);
|
||||||
|
// dump($data['data']."_".$data['road']."_".$data['type']);
|
||||||
return $this->msg(0,'success');
|
return $this->msg(0,'success');
|
||||||
}else{
|
}else{
|
||||||
return $this->msg(10001,'error');
|
return $this->msg(10001,'error');
|
||||||
|
|
@ -232,6 +233,7 @@ class Login extends Controller{
|
||||||
|
|
||||||
if($type == 'register'){
|
if($type == 'register'){
|
||||||
if(array_key_exists('code', $data)){
|
if(array_key_exists('code', $data)){
|
||||||
|
// dump($parameter[$montage_data]."_".$montage_data."_register".'='.cache($parameter[$montage_data]."_".$montage_data."_register"));
|
||||||
if(cache($parameter[$montage_data]."_".$montage_data."_register") == false){
|
if(cache($parameter[$montage_data]."_".$montage_data."_register") == false){
|
||||||
return '验证码过期';
|
return '验证码过期';
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -243,11 +245,23 @@ class Login extends Controller{
|
||||||
return '验证码必须';
|
return '验证码必须';
|
||||||
}
|
}
|
||||||
$parameter['create_time'] = date('Y-m-d H:i:s');
|
$parameter['create_time'] = date('Y-m-d H:i:s');
|
||||||
|
$parameter['token'] = md5($parameter['tel'].$this->create_random_string(12).time());
|
||||||
}
|
}
|
||||||
|
|
||||||
return $parameter;
|
return $parameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function create_random_string($length = 12)
|
||||||
|
{
|
||||||
|
//创建随机字符
|
||||||
|
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||||
|
$str = "";
|
||||||
|
for ($i = 0; $i < $length; $i++) {
|
||||||
|
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
|
||||||
|
}
|
||||||
|
return $str;
|
||||||
|
}
|
||||||
|
|
||||||
public function msg($code,$msg='',$data=[]){
|
public function msg($code,$msg='',$data=[]){
|
||||||
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
return json(['code'=>$code,'msg'=>$msg,'data'=>$data]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue