其余文件
This commit is contained in:
48
app/shop/view/admin/add.html
Normal file
48
app/shop/view/admin/add.html
Normal file
@ -0,0 +1,48 @@
|
||||
{layout name="layout2" /}
|
||||
<div class="layui-form" lay-filter="layuiadmin-form-admin" id="layuiadmin-form-admin" style="padding: 20px 30px 0 0;">
|
||||
<input type="hidden" value="0" name="id">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="account" lay-verify="required" lay-vertype="tips" placeholder="请输入账号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="password" lay-verify="required" lay-vertype="tips" placeholder="请输入密码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确定密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="re_password" lay-verify="required" lay-vertype="tips" placeholder="确定请输入密码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" lay-verify="required" lay-vertype="tips" placeholder="请输入名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="role_id" lay-verify="required"lay-vertype="tips" placeholder="请选择角色" >
|
||||
<option value="">选择</option>
|
||||
{volist name="role_lists" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="disable" name="disable" lay-skin="switch" lay-text="启用|禁用" checked >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="admin-submit" id="admin-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
58
app/shop/view/admin/edit.html
Normal file
58
app/shop/view/admin/edit.html
Normal file
@ -0,0 +1,58 @@
|
||||
{layout name="layout2" /}
|
||||
<div class="layui-form" lay-filter="layuiadmin-form-admin" id="layuiadmin-form-admin" style="padding: 20px 30px 0 0;">
|
||||
<input type="hidden" value="{$detail.id}" name="id">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="account" value="{$detail.account}" lay-verify="required" placeholder="请输入账号" lay-vertype="tips" autocomplete="off" class="layui-input" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="password" placeholder="如需更改,请输入密码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确定密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="re_password" placeholder="确定请输入密码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" value="{$detail.name}" lay-verify="required" lay-vertype="tips" placeholder="请输入名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-inline">
|
||||
{if condition="$detail.root eq 0"}
|
||||
<select name="role_id" lay-verify="required" lay-vertype="tips" placeholder="请选择角色" >
|
||||
<option value="">选择</option>
|
||||
{volist name="role_lists" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="detail['role_id']" value="$vo.id"}selected{/eq} >{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
{else}
|
||||
<select name="role_id" lay-verify="required" lay-vertype="tips" placeholder="请选择角色" disabled>
|
||||
<option value="0" selected>超级管理员</option>
|
||||
</select>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-inline">
|
||||
{if condition="$detail.root eq 0"}
|
||||
<input type="checkbox" lay-filter="disable" name="disable" lay-skin="switch" lay-text="启用|禁用" {if condition="$detail.disable eq 0" }checked{/if}>
|
||||
{else/}
|
||||
<input type="checkbox" lay-filter="disable" name="disable" lay-skin="switch" lay-text="启用|禁用" disabled checked>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="admin-submit-edit" id="admin-submit-edit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
242
app/shop/view/admin/lists.html
Normal file
242
app/shop/view/admin/lists.html
Normal file
@ -0,0 +1,242 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="wrapper">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<!--搜索条件-->
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="account" id="account" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" id="name" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="role_id" id="role_id">
|
||||
<option value="">所有</option>
|
||||
{volist name="role_lists" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-admin {$view_theme_color}" lay-submit lay-filter="LAY-user-back-search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
<button class="layui-btn layui-btn-sm layui-btn-primary " lay-submit lay-filter="table-clear-search">
|
||||
清空查询
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--添加按钮-->
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-admin {$view_theme_color} like-auth" auth-uri="admin/add" data-type="add">添加</button>
|
||||
</div>
|
||||
|
||||
<!--表格-->
|
||||
<table id="admin-lists" lay-filter="admin-lists"></table>
|
||||
|
||||
<!--js模板-->
|
||||
<script type="text/html" id="login-state">
|
||||
{{# if(d.login_state == 1){ }}
|
||||
<button class="layui-btn layui-btn-xs {$view_theme_button}">在线</button>
|
||||
{{# } else { }}
|
||||
<button class="layui-btn layui-btn-xs layui-btn-primary">下线</button>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="buttonTpl">
|
||||
{{# if(d.disable == 1){ }}
|
||||
<button class="layui-btn layui-btn-danger layui-btn-xs layui-bg-red">禁用</button>
|
||||
{{# } else { }}
|
||||
<button class="layui-btn layui-btn-xs layui-btn-primary">启用</button>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="admin-operation">
|
||||
{{# if(d.root == 1){ }}
|
||||
<a class="layui-btn layui-btn-disabled layui-btn-xs"><i class="layui-icon layui-icon-edit like-auth" auth-uri="admin/edit"></i>编辑</a>
|
||||
<a class="layui-btn layui-btn-disabled layui-btn-xs"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
{{# } else { }}
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
{{# } }}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['table'], function(){
|
||||
var form = layui.form
|
||||
,table = layui.table;
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(LAY-user-back-search)', function(data){
|
||||
var field = data.field;
|
||||
|
||||
//执行重载
|
||||
table.reload('admin-lists', {
|
||||
where: field,
|
||||
page: {curr: 1},
|
||||
});
|
||||
});
|
||||
|
||||
//清空查询
|
||||
form.on('submit(table-clear-search)', function () {
|
||||
$('#account').val('');
|
||||
$('#name').val('');
|
||||
$('#role_id').val('');
|
||||
form.render('select');
|
||||
//刷新列表
|
||||
table.reload('admin-lists', {
|
||||
where: [],
|
||||
page: {curr: 1},
|
||||
});
|
||||
});
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
add: function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '添加管理员'
|
||||
,content: '{:url("admin/add")}'
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'admin-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("admin/add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('admin-lists'); //数据刷新
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
$('.layui-btn.layuiadmin-btn-admin').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
|
||||
like.tableLists('#admin-lists', '{:url("admin/lists")}', [
|
||||
{field: 'id', width: 60, title: 'ID', sort: true}
|
||||
,{field: 'account',width:100, title: '账号'}
|
||||
,{field: 'name',width:100, title: '名称'}
|
||||
,{field: 'role', width:120,title: '角色'}
|
||||
,{field: 'create_time',width:170, title: '创建时间', sort: true}
|
||||
,{field: 'login_time', width:170,title: '最后登录时间', sort: true}
|
||||
,{field: 'login_ip', width:140,title: '最后登录ip',}
|
||||
// ,{field: 'login_state',width:90, title:'登录状态', templet: '#login-state', minWidth: 40, align: 'center'}
|
||||
,{field: 'disable', width:70,title:'状态', templet: '#buttonTpl', minWidth: 40, align: 'center'}
|
||||
,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#admin-operation'}
|
||||
]);
|
||||
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(admin-lists)', function(obj){
|
||||
if(obj.event === 'del'){
|
||||
var id = obj.data.id;
|
||||
layer.prompt({
|
||||
formType: 1
|
||||
,title: '删除操作,请输ok继续操作'
|
||||
}, function(value, index){
|
||||
if(value!='ok'){
|
||||
layer.close(index);
|
||||
layer.msg('口令输入错误');
|
||||
return;
|
||||
}
|
||||
layer.close(index);
|
||||
layer.confirm('确定删除此管理员?', function(index){
|
||||
like.ajax({
|
||||
url:'{:url("admin/del")}',
|
||||
data:{'admin_id':id},
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
obj.del();
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}else if(obj.event === 'edit'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑管理员'
|
||||
,content: '{:url("admin/edit")}?admin_id='+id
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'admin-submit-edit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("admin/edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('admin-lists'); //数据刷新
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
89
app/shop/view/admin/password.html
Normal file
89
app/shop/view/admin/password.html
Normal file
@ -0,0 +1,89 @@
|
||||
{layout name="layout2" /}
|
||||
<div class="wrapper">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">修改密码</div>
|
||||
<div class="layui-card-body" pad15>
|
||||
<div class="layui-form" lay-filter="">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-inline">
|
||||
<div class="layui-form-mid layui-word-aux">{$account}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="old_password" lay-verify="required" lay-verType="tips"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">新密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" maxlength="16" name="password" lay-verify="required|length"
|
||||
lay-verType="tips" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">6到16个字符</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确认新密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="password" name="re_password" lay-verify="required|comparison" lay-verType="tips"
|
||||
autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn {$view_theme_color}" lay-submit lay-filter="setmypass">确认修改</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['table'], function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form;
|
||||
|
||||
form.verify({
|
||||
length: function (value, item) {
|
||||
if (value.length < 6 || value.length > 16) {
|
||||
return '长度为' + 6 + '到' + 16 + '之间';
|
||||
}
|
||||
},
|
||||
comparison: function (value, item) {
|
||||
password = layui.$('[name=password]').val();
|
||||
if (password != value) {
|
||||
return '两次密码输入不一致';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(setmypass)', function (data) {
|
||||
like.ajax({
|
||||
url: '{:url()}'
|
||||
, data: data.field
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if(res.code == 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
}, function () {
|
||||
location.href = location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user