后端增加前端用户管理模块
This commit is contained in:
parent
19dda20812
commit
67a3536809
@ -25,6 +25,8 @@ use app\admin\controller\LogController as Log;
|
|||||||
use app\admin\model\AdminSysMenu;
|
use app\admin\model\AdminSysMenu;
|
||||||
use app\admin\model\AdminUserGroup;
|
use app\admin\model\AdminUserGroup;
|
||||||
use app\admin\model\AdminUser;
|
use app\admin\model\AdminUser;
|
||||||
|
use app\admin\model\User\Users;
|
||||||
|
use app\admin\model\User\UsersGroup;
|
||||||
use app\admin\model\Banner;
|
use app\admin\model\Banner;
|
||||||
use app\admin\model\ContentPush;
|
use app\admin\model\ContentPush;
|
||||||
|
|
||||||
@ -332,6 +334,208 @@ class YunzeradminController extends Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 前端会员列表
|
||||||
|
public function frontuser()
|
||||||
|
{
|
||||||
|
$lists = Users::select();
|
||||||
|
$group = [];
|
||||||
|
$groups = UsersGroup::select();
|
||||||
|
foreach ($groups as $key => $value) {
|
||||||
|
$group[$value['group_id']] = $value['group_name'];
|
||||||
|
}
|
||||||
|
// 替换 group_id 为 group_name
|
||||||
|
foreach ($lists as &$user) {
|
||||||
|
$gid = $user['group_id'] ?? 0;
|
||||||
|
$user['group_id'] = isset($group[$gid]) ? $group[$gid] : '';
|
||||||
|
}
|
||||||
|
unset($user);
|
||||||
|
if (request()->isAjax()) {
|
||||||
|
return json([
|
||||||
|
'code' => 0,
|
||||||
|
'msg' => '',
|
||||||
|
'count' => count($lists),
|
||||||
|
'data' => $lists
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
View::assign([
|
||||||
|
'lists' => $lists,
|
||||||
|
'group' => $group
|
||||||
|
]);
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 前端会员添加
|
||||||
|
public function frontuseradd()
|
||||||
|
{
|
||||||
|
if (Request::isPost()) {
|
||||||
|
$data['account'] = trim(input('post.account'));
|
||||||
|
if (empty($data['account'])) {
|
||||||
|
Log::record('添加管理员', 0, '账号不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '账号不能为空']);
|
||||||
|
}
|
||||||
|
$pattern = "/^([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)$/i";
|
||||||
|
if (!preg_match($pattern, $data['account'])) {
|
||||||
|
Log::record('添加管理员', 0, '邮箱格式不正确', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '邮箱格式不正确']);
|
||||||
|
}
|
||||||
|
$item = Users::where('account', $data['account'])->find();
|
||||||
|
if ($item) {
|
||||||
|
Log::record('添加管理员', 0, '该账号已存在', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '该账号已存在']);
|
||||||
|
}
|
||||||
|
$data['name'] = trim(input('post.name'));
|
||||||
|
$data['phone'] = trim(input('post.phone'));
|
||||||
|
$data['qq'] = (int) trim(input('post.qq'));
|
||||||
|
$data['group_id'] = (int) input('post.group_id');
|
||||||
|
$data['sex'] = (int) (input('post.sex'));
|
||||||
|
$data['status'] = (int) (input('post.status'));
|
||||||
|
$password = trim(input('post.password'));
|
||||||
|
if (empty($data['name'])) {
|
||||||
|
Log::record('添加管理员', 0, '姓名不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '姓名不能为空']);
|
||||||
|
}
|
||||||
|
if (empty($data['phone'])) {
|
||||||
|
Log::record('添加管理员', 0, '手机号不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '手机号不能为空']);
|
||||||
|
}
|
||||||
|
if (empty($data['group_id'])) {
|
||||||
|
Log::record('添加管理员', 0, '请选择角色', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '请选择角色']);
|
||||||
|
}
|
||||||
|
if (empty($password)) {
|
||||||
|
Log::record('添加管理员', 0, '密码不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '密码不能为空']);
|
||||||
|
} else {
|
||||||
|
$data['password'] = md5($password);
|
||||||
|
}
|
||||||
|
$data['create_time'] = time();
|
||||||
|
$data['update_time'] = time();
|
||||||
|
$res = Users::insert($data);
|
||||||
|
if (!$res) {
|
||||||
|
Log::record('添加管理员', 0, '添加管理员失败', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '添加管理员失败']);
|
||||||
|
}
|
||||||
|
Log::record('添加管理员', 1, '', '管理员管理');
|
||||||
|
return json(['code' => 0, 'msg' => '添加成功']);
|
||||||
|
} else {
|
||||||
|
$group = [];
|
||||||
|
$groups = UsersGroup::select();
|
||||||
|
foreach ($groups as $key => $value) {
|
||||||
|
$group[$value['group_id']] = $value;
|
||||||
|
}
|
||||||
|
View::assign([
|
||||||
|
'group' => $group
|
||||||
|
]);
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 前端会员编辑
|
||||||
|
public function frontuseredit()
|
||||||
|
{
|
||||||
|
if (Request::isPost()) {
|
||||||
|
$uid = (int) trim(input('post.uid'));
|
||||||
|
$data['name'] = trim(input('post.name'));
|
||||||
|
$data['phone'] = trim(input('post.phone'));
|
||||||
|
$data['qq'] = (int) trim(input('post.qq'));
|
||||||
|
$data['group_id'] = (int) input('post.group_id');
|
||||||
|
$data['sex'] = (int) (input('post.sex'));
|
||||||
|
$data['status'] = (int) (input('post.status'));
|
||||||
|
if (empty($data['name'])) {
|
||||||
|
Log::record('编辑管理员', 0, '姓名不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '姓名不能为空']);
|
||||||
|
}
|
||||||
|
if (empty($data['phone'])) {
|
||||||
|
Log::record('编辑管理员', 0, '手机号不能为空', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '手机号不能为空']);
|
||||||
|
}
|
||||||
|
if (empty($data['group_id'])) {
|
||||||
|
Log::record('编辑管理员', 0, '请选择角色', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '请选择角色']);
|
||||||
|
}
|
||||||
|
$res = Users::where('uid', $uid)->update($data);
|
||||||
|
if (!$res) {
|
||||||
|
Log::record('编辑管理员', 0, '更新管理员信息失败', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '更新管理员信息失败']);
|
||||||
|
}
|
||||||
|
Log::record('编辑管理员', 1, '', '管理员管理');
|
||||||
|
return json(['code' => 0, 'msg' => '更新成功']);
|
||||||
|
} else {
|
||||||
|
$uid = (int) input('get.uid');
|
||||||
|
// 加载前端会员
|
||||||
|
$lists = Users::where('uid', $uid)->find();
|
||||||
|
// 加载角色
|
||||||
|
$group = [];
|
||||||
|
$groups = UsersGroup::select();
|
||||||
|
foreach ($groups as $key => $value) {
|
||||||
|
$group[$value['group_id']] = $value;
|
||||||
|
}
|
||||||
|
View::assign([
|
||||||
|
'lists' => $lists,
|
||||||
|
'group' => $group
|
||||||
|
]);
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 前端会员删除
|
||||||
|
public function frontuserdel()
|
||||||
|
{
|
||||||
|
$uid = (int) input('post.uid');
|
||||||
|
$res = Users::where('uid', $uid)->delete();
|
||||||
|
if (empty($res)) {
|
||||||
|
Log::record('删除管理员', 0, '删除管理员失败', '管理员管理');
|
||||||
|
return json(['code' => 1, 'msg' => '删除管理员失败']);
|
||||||
|
}
|
||||||
|
Log::record('删除管理员', 1, '', '管理员管理');
|
||||||
|
return json(['code' => 0, 'msg' => '删除成功']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 前端会员信息
|
||||||
|
public function frontuserdetail()
|
||||||
|
{
|
||||||
|
if (Request::isPost()) {
|
||||||
|
$find = Users::where('uid', $this->adminId)->find();
|
||||||
|
if (empty($find)) {
|
||||||
|
Log::record('修改个人信息', 0, '当前账户不存在', '个人信息');
|
||||||
|
return json(['code' => 1, 'msg' => '当前账户不存在']);
|
||||||
|
}
|
||||||
|
$data['name'] = trim(input('post.name'));
|
||||||
|
$data['phone'] = trim(input('post.phone'));
|
||||||
|
$data['qq'] = (int) trim(input('post.qq'));
|
||||||
|
$data['sex'] = (int) (input('post.sex'));
|
||||||
|
if (empty($data['name'])) {
|
||||||
|
Log::record('修改个人信息', 0, '姓名不能为空', '个人信息');
|
||||||
|
return json(['code' => 1, 'msg' => '姓名不能为空']);
|
||||||
|
}
|
||||||
|
if (empty($data['phone'])) {
|
||||||
|
Log::record('修改个人信息', 0, '手机号不能为空', '个人信息');
|
||||||
|
return json(['code' => 1, 'msg' => '手机号不能为空']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理密码修改
|
||||||
|
$old_pw = trim(input('post.old_pw'));
|
||||||
|
$new_pw = trim(input('post.new_pw'));
|
||||||
|
if (!empty($old_pw) && !empty($new_pw)) {
|
||||||
|
if (md5($old_pw) != $find['password']) {
|
||||||
|
Log::record('修改个人信息', 0, '原密码错误', '个人信息');
|
||||||
|
return json(['code' => 1, 'msg' => '原密码错误']);
|
||||||
|
}
|
||||||
|
$data['password'] = md5($new_pw);
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = Users::where('uid', $this->adminId)->update($data);
|
||||||
|
if (!$res) {
|
||||||
|
Log::record('修改个人信息', 0, '更新管理员信息失败', '个人信息');
|
||||||
|
return json(['code' => 1, 'msg' => '更新管理员信息失败']);
|
||||||
|
}
|
||||||
|
Log::record('修改个人信息', 1, '', '个人信息');
|
||||||
|
return json(['code' => 0, 'msg' => '更新成功']);
|
||||||
|
} else {
|
||||||
|
return View::fetch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//banner管理
|
//banner管理
|
||||||
public function banner()
|
public function banner()
|
||||||
{
|
{
|
||||||
|
|||||||
25
app/admin/model/User/UsersGroup.php
Normal file
25
app/admin/model/User/UsersGroup.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* 商业使用授权协议
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 [云泽网]. 保留所有权利.
|
||||||
|
*
|
||||||
|
* 本软件仅供评估使用。任何商业用途必须获得书面授权许可。
|
||||||
|
* 未经授权商业使用本软件属于侵权行为,将承担法律责任。
|
||||||
|
*
|
||||||
|
* 授权购买请联系: 357099073@qq.com
|
||||||
|
* 官方网站: https://www.yunzer.cn
|
||||||
|
*
|
||||||
|
* 评估用户须知:
|
||||||
|
* 1. 禁止移除版权声明
|
||||||
|
* 2. 禁止用于生产环境
|
||||||
|
* 3. 禁止转售或分发
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace app\admin\model\User;
|
||||||
|
|
||||||
|
use think\Model;
|
||||||
|
|
||||||
|
class UsersGroup extends Model
|
||||||
|
{
|
||||||
|
}
|
||||||
181
app/admin/view/yunzeradmin/frontuser.php
Normal file
181
app/admin/view/yunzeradmin/frontuser.php
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
{include file="public/header" /}
|
||||||
|
<div class="config-container">
|
||||||
|
<!-- 页面头部样式 -->
|
||||||
|
<div class="config-header" style="display: flex;flex-direction: column;flex-wrap: wrap;align-items: flex-start;">
|
||||||
|
<div class="maintitle">
|
||||||
|
<i class="layui-icon layui-icon-user"></i>
|
||||||
|
<span>用户列表</span>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;align-items: flex-start;flex-direction: column;gap: 15px;margin-bottom: 10px;">
|
||||||
|
<div>
|
||||||
|
<button class="layui-btn layui-bg-blue" onclick="add()">
|
||||||
|
<i class="layui-icon layui-icon-add-1"></i>添加
|
||||||
|
</button>
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary layui-border-blue" onclick="refresh()">
|
||||||
|
<i class="layui-icon layui-icon-refresh"></i>刷新
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table id="userTable" lay-filter="userTable"></table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
layui.use(['table', 'layer'], function () {
|
||||||
|
var table = layui.table;
|
||||||
|
var layer = layui.layer;
|
||||||
|
|
||||||
|
table.render({
|
||||||
|
elem: '#userTable',
|
||||||
|
url: '{$config['admin_route']}yunzeradmin/frontuser', // 数据接口
|
||||||
|
page: true,
|
||||||
|
cols: [[
|
||||||
|
{ field: 'uid', title: '用户ID', width: 80, align: 'center', fixed: 'left' },
|
||||||
|
{
|
||||||
|
field: 'avatar',
|
||||||
|
title: '头像',
|
||||||
|
width: 80,
|
||||||
|
align: 'center',
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.avatar && d.avatar !== '') {
|
||||||
|
return '<img src="' + d.avatar + '" style="width:36px;height:36px;border-radius:50%;object-fit:cover;" />';
|
||||||
|
} else {
|
||||||
|
return '<span style="color:#aaa;">无</span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'name', title: '真实姓名', width: 120 },
|
||||||
|
{ field: 'name', title: '真实姓名', width: 120 },
|
||||||
|
{ field: 'account', title: '账户', width: 200 },
|
||||||
|
{ field: 'phone', title: '手机', width: 120 },
|
||||||
|
{ field: 'qq', title: 'QQ', width: 130 },
|
||||||
|
{
|
||||||
|
field: 'wechat',
|
||||||
|
title: '微信',
|
||||||
|
width: 100,
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.openid && d.openid !== '') {
|
||||||
|
return '<span style="color: #52c41a;">已绑定</span>';
|
||||||
|
} else {
|
||||||
|
return '<span style="color: #aaa;">未绑定</span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'group_id', title: '角色', width: 200 },
|
||||||
|
{
|
||||||
|
field: 'sex', title: '性别', width: 80, templet: function (d) {
|
||||||
|
if (d.sex == 1) return '男';
|
||||||
|
if (d.sex == 2) return '女';
|
||||||
|
return '未选择';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'status',
|
||||||
|
title: '状态',
|
||||||
|
width: 100,
|
||||||
|
templet: function (d) {
|
||||||
|
if (d.status == 1) {
|
||||||
|
return '<span style="color: #52c41a;">开启</span>';
|
||||||
|
} else {
|
||||||
|
return '<span style="color: #f5222d;">禁用</span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'login_count', title: '登陆次数', width: 100 },
|
||||||
|
{
|
||||||
|
field: 'update_time',
|
||||||
|
title: '登陆时间',
|
||||||
|
width: 180,
|
||||||
|
templet: function (d) {
|
||||||
|
if (!d.update_time) return '';
|
||||||
|
var t = d.update_time;
|
||||||
|
// 如果是时间戳(数字),转为int
|
||||||
|
if (/^\d+$/.test(t)) t = parseInt(t) * (t.toString().length == 10 ? 1000 : 1);
|
||||||
|
var date = new Date(t);
|
||||||
|
var Y = date.getFullYear();
|
||||||
|
var M = ('0' + (date.getMonth() + 1)).slice(-2);
|
||||||
|
var D = ('0' + date.getDate()).slice(-2);
|
||||||
|
var h = ('0' + date.getHours()).slice(-2);
|
||||||
|
var m = ('0' + date.getMinutes()).slice(-2);
|
||||||
|
var s = ('0' + date.getSeconds()).slice(-2);
|
||||||
|
return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ title: '操作', toolbar: '#operationBar', width: 160, fixed: 'right' }
|
||||||
|
]]
|
||||||
|
});
|
||||||
|
|
||||||
|
// 工具条事件
|
||||||
|
table.on('tool(userTable)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
if (obj.event === 'edit') {
|
||||||
|
edit(data.uid);
|
||||||
|
} else if (obj.event === 'del') {
|
||||||
|
del(data.uid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加
|
||||||
|
function add() {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '添加用户',
|
||||||
|
shade: 0.3,
|
||||||
|
area: ['450px', '550px'],
|
||||||
|
content: "{$config['admin_route']}yunzeradmin/frontuseradd"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 编辑
|
||||||
|
function edit(uid) {
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '编辑用户',
|
||||||
|
shade: 0.3,
|
||||||
|
area: ['450px', '550px'],
|
||||||
|
content: "{$config['admin_route']}yunzeradmin/frontuseredit?uid=" + uid
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 删除
|
||||||
|
function del(uid) {
|
||||||
|
layer.confirm('确定要删除吗?', {
|
||||||
|
icon: 3,
|
||||||
|
btn: ['确定', '取消']
|
||||||
|
}, function () {
|
||||||
|
$.post("{$config['admin_route']}yunzeradmin/frontuserdel", { 'uid': uid }, function (res) {
|
||||||
|
if (res.code > 0) {
|
||||||
|
layer.alert(res.msg, { icon: 2 });
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg);
|
||||||
|
setTimeout(function () { window.location.reload(); }, 1000);
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//刷新列表
|
||||||
|
function refresh() {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="text/html" id="operationBar">
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">
|
||||||
|
<i class="layui-icon layui-icon-edit"></i>编辑
|
||||||
|
</button>
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" lay-event="del">
|
||||||
|
<i class="layui-icon layui-icon-delete"></i>删除
|
||||||
|
</button>
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
.layui-table-view .layui-table td,
|
||||||
|
.layui-table-view .layui-table th {
|
||||||
|
height: 60px !important;
|
||||||
|
line-height: 60px !important;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.layui-table-cell{
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{include file="public/tail" /}
|
||||||
84
app/admin/view/yunzeradmin/frontuseradd.php
Normal file
84
app/admin/view/yunzeradmin/frontuseradd.php
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
{include file="public/header" /}
|
||||||
|
<form class="layui-form">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">账户</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="account" placeholder="账户请用邮箱">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">姓名</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="name" placeholder="请输入真实姓名">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">手机号</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="phone" placeholder="请输入手机号">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">QQ号</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="qq" placeholder="请输入QQ号">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">角色</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="group_id">
|
||||||
|
<option value=0></option>
|
||||||
|
{volist name="group" id="vo"}
|
||||||
|
<option value="{$vo.group_id}">{$vo.group_name}</option>
|
||||||
|
{/volist}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">密码</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="password" placeholder="请输入密码">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">性别</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="sex" value="1" title="男" checked="">
|
||||||
|
<input type="radio" name="sex" value="2" title="女">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">状态</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="status" value="1" title="开启" checked="">
|
||||||
|
<input type="radio" name="status" value="0" title="禁用">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button type="button" class="layui-btn" onclick="save()">保存</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
layui.use(['layer','form'],function(){
|
||||||
|
form = layui.form;
|
||||||
|
layer = layui.layer;
|
||||||
|
$ = layui.jquery;
|
||||||
|
});
|
||||||
|
// 保存管理员
|
||||||
|
function save(){
|
||||||
|
$.post("{$config['admin_route']}yunzeradmin/useradd",$('form').serialize(),function(res){
|
||||||
|
if(res.code>0){
|
||||||
|
layer.alert(res.msg,{icon:2});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.msg);
|
||||||
|
setTimeout(function(){parent.window.location.reload();},1000);
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{include file="public/tail" /}
|
||||||
76
app/admin/view/yunzeradmin/frontuseredit.php
Normal file
76
app/admin/view/yunzeradmin/frontuseredit.php
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
{include file="public/header" /}
|
||||||
|
<form class="layui-form">
|
||||||
|
<input type="hidden" name="uid" value="{$lists.uid}">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">账户</label>
|
||||||
|
<div class="layui-input-inline"><input type="text" class="layui-input" value="{$lists.account}" readonly></div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">姓 名</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="name" placeholder="请输入真实姓名" value="{$lists.name}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">手机号</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="phone" placeholder="请输入手机号" value="{$lists.phone}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">QQ号</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input type="text" class="layui-input" name="qq" placeholder="请输入QQ号" value="{$lists.qq}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">角色</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<select name="group_id">
|
||||||
|
<option value=0></option>
|
||||||
|
{volist name="group" id="vo"}
|
||||||
|
<option value="{$vo.group_id}" {$vo.group_id == $lists.group_id ? 'selected' : ''}>{$vo.group_name}</option>
|
||||||
|
{/volist}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">性别</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="sex" value="1" title="男" {$lists.sex==1?'checked':''}>
|
||||||
|
<input type="radio" name="sex" value="2" title="女" {$lists.sex==2?'checked':''}>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">状态</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="status" value="1" title="开启" {$lists.status==1?'checked':''}>
|
||||||
|
<input type="radio" name="status" value="0" title="禁用" {$lists.status==0?'checked':''}>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button class="layui-btn" onclick="save()">保存</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
layui.use(['layer','form'],function(){
|
||||||
|
form = layui.form;
|
||||||
|
layer = layui.layer;
|
||||||
|
$ = layui.jquery;
|
||||||
|
});
|
||||||
|
// 保存管理员
|
||||||
|
function save(){
|
||||||
|
$.post("{$config['admin_route']}yunzeradmin/frontuseredit",$('form').serialize(),function(res){
|
||||||
|
if(res.code>0){
|
||||||
|
layer.alert(res.msg,{icon:2});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.msg);
|
||||||
|
setTimeout(function(){parent.window.location.reload();},1000);
|
||||||
|
}
|
||||||
|
},'json');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{include file="public/tail" /}
|
||||||
Loading…
x
Reference in New Issue
Block a user