v2版本正式上线测试版
This commit is contained in:
108
views/admin/add.html
Normal file
108
views/admin/add.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
|
||||
<div style="margin: 10px 0px">
|
||||
<blockquote class="layui-elem-quote">
|
||||
说明:新建管理员默认密码为:george518
|
||||
</blockquote>
|
||||
</div>
|
||||
<form class="layui-form" action="" method="post" >
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">登录账号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="login_name" id="login_name" lay-verify="required" autocomplete="off" placeholder="登录账号" class="layui-input" value="">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*英文,数字或_,6位以上</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">真实姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="real_name" id="real_name" lay-verify="required" autocomplete="off" placeholder="真实姓名" class="layui-input" value="">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">手机号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="phone" lay-verify="phone|required" autocomplete="off" placeholder="手机号码" class="layui-input" value="">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">电子邮箱</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="email" id="email" lay-verify="email" autocomplete="off" placeholder="电子邮箱" class="layui-input" value="">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选择角色</label>
|
||||
<div class="layui-input-block">
|
||||
{{range $k, $v := .role}}
|
||||
<input type="checkbox" name="role_ids" lay-filter="role_ids" title="{{$v.role_name}}" value="{{$v.id}}">
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" value="" id="roleids" name="roleids">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit="" lay-filter="sub">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
var $;
|
||||
layui.config({
|
||||
base : "js/"
|
||||
}).use(['form','element','layer','jquery'],function(){
|
||||
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
||||
var $ = layui.jquery;
|
||||
var role_ids = [];
|
||||
|
||||
var error_info = "{{.flash.error}}";
|
||||
if(error_info){
|
||||
layer.msg(error_info,{icon: 2,shade:0.3},function () {
|
||||
window.history.go(-1)
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
form.on('checkbox(role_ids)', function(data){
|
||||
if(data.elem.checked==true){
|
||||
role_ids.push(data.value)
|
||||
}else{
|
||||
$.each(role_ids,function(index,item){
|
||||
// index是索引值(即下标) item是每次遍历得到的值;
|
||||
if(item==data.value){
|
||||
role_ids.splice(index,1);
|
||||
}
|
||||
});
|
||||
}
|
||||
$("#roleids").val(role_ids.join(","));
|
||||
});
|
||||
form.on('submit(sub)', function(data){
|
||||
var form_data = $("form").serialize();
|
||||
$.post('{{urlfor "AdminController.AjaxSave"}}', form_data, function (out) {
|
||||
if (out.status == 0) {
|
||||
layer.msg("操作成功",{icon: 1},function () {
|
||||
window.location.reload()
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
}
|
||||
}, "json");
|
||||
return false;
|
||||
});
|
||||
|
||||
//但是,如果你的HTML是动态生成的,自动渲染就会失效
|
||||
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
|
||||
form.render();
|
||||
});
|
||||
</script>
|
||||
116
views/admin/edit.html
Normal file
116
views/admin/edit.html
Normal file
@@ -0,0 +1,116 @@
|
||||
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
|
||||
<form class="layui-form" action="" method="post" >
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">登录账号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="login_name" readonly id="login_name" lay-verify="required" autocomplete="off" placeholder="登录账号" class="layui-input" value="{{.admin.login_name}}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*登录不允许修改</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">真实姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="real_name" id="real_name" lay-verify="required" autocomplete="off" placeholder="真实姓名" class="layui-input" value="{{.admin.real_name}}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">手机号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="phone" lay-verify="phone|required" autocomplete="off" placeholder="手机号码" class="layui-input" value="{{.admin.phone}}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">电子邮箱</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="email" id="email" lay-verify="email" autocomplete="off" placeholder="电子邮箱" class="layui-input" value="{{.admin.email}}">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">重置密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="reset_pwd" value="1" title="重置">
|
||||
<input type="radio" name="reset_pwd" value="2" title="不重置" checked>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">默认密码:george518</div>
|
||||
</div>
|
||||
{{if ne .admin.id 1}}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选择角色</label>
|
||||
<div class="layui-input-block">
|
||||
{{range $k, $v := .role}}
|
||||
<input type="checkbox" name="role_ids" lay-filter="role_ids" title="{{$v.role_name}}" value="{{$v.id}}" {{if $v.checked}}checked{{end}}>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">*</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
|
||||
|
||||
<input type="hidden" id="roleids" name="roleids" value="{{.admin.role_ids}}">
|
||||
<input type="hidden" id="id" name="id" value="{{.admin.id}}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit="" lay-filter="sub">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
var $;
|
||||
layui.config({
|
||||
base : "js/"
|
||||
}).use(['form','element','layer','jquery'],function(){
|
||||
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
||||
var $ = layui.jquery;
|
||||
var role_ids_str = "{{.admin.role_ids}}"
|
||||
var role_ids = role_ids_str.split(",");
|
||||
|
||||
var error_info = "{{.flash.error}}";
|
||||
if(error_info){
|
||||
layer.msg(error_info,{icon: 2,shade:0.3},function () {
|
||||
window.history.go(-1)
|
||||
})
|
||||
return;
|
||||
}
|
||||
form.on('checkbox(role_ids)', function(data){
|
||||
if(data.elem.checked==true){
|
||||
role_ids.push(data.value)
|
||||
}else{
|
||||
$.each(role_ids,function(index,item){
|
||||
// index是索引值(即下标) item是每次遍历得到的值;
|
||||
if(item==data.value){
|
||||
role_ids.splice(index,1);
|
||||
}
|
||||
});
|
||||
}
|
||||
$("#roleids").val(role_ids.join(","));
|
||||
});
|
||||
|
||||
form.on('submit(sub)', function(data){
|
||||
var form_data = $("form").serialize();
|
||||
$.post('{{urlfor "AdminController.AjaxSave"}}', form_data, function (out) {
|
||||
if (out.status == 0) {
|
||||
layer.msg("操作成功",{icon: 1},function () {
|
||||
window.history.go(-1)
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
}
|
||||
}, "json");
|
||||
return false;
|
||||
});
|
||||
//但是,如果你的HTML是动态生成的,自动渲染就会失效
|
||||
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
|
||||
form.render();
|
||||
});
|
||||
</script>
|
||||
118
views/admin/list.html
Normal file
118
views/admin/list.html
Normal file
@@ -0,0 +1,118 @@
|
||||
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
|
||||
<div class="layui-row" style="margin-top: 20px;">
|
||||
<div class="layui-col-xs6">
|
||||
<a class="layui-btn" data-type="tabAdd" href="/admin/add">新增</a>
|
||||
</div>
|
||||
<div class="layui-col-xs6 search_text">
|
||||
<form class="layui-form" action="" onsubmit="javascript:return false;">
|
||||
<div class="demoTable">
|
||||
<div class="layui-inline" style="width: 40%">
|
||||
<input class="layui-input" name="realName" id="realName" autocomplete="off" placeholder="真实姓名" >
|
||||
</div>
|
||||
<button class="layui-btn" data-type="reload">查询</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="layui-hide" id="table_list" lay-filter="table_filter">
|
||||
</table>
|
||||
|
||||
<script type="text/html" id="bar">
|
||||
<!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a> -->
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="status">启|禁</a>
|
||||
|
||||
</script>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
layui.use(['table','form','element'], function(){
|
||||
var table = layui.table;
|
||||
var form = layui.form;
|
||||
var element = layui.element;
|
||||
|
||||
var error_info = "{{.flash.error}}";
|
||||
if(error_info){
|
||||
layer.msg(error_info,{icon: 2,shade:0.3},function () {
|
||||
window.history.go(-1)
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
//方法级渲染
|
||||
table.render({
|
||||
elem: '#table_list'
|
||||
,url: '/admin/table'
|
||||
,cols: [[
|
||||
// {checkbox: true, fixed: true},
|
||||
{field:'id', title: 'ID', align:'center',sort: true, width:150}
|
||||
,{field:'login_name',title: '登录账号'}
|
||||
,{field:'real_name', title: '真实姓名'}
|
||||
,{field:'phone', title: '联系电话'}
|
||||
,{field:'email', title: '电子邮箱'}
|
||||
,{field:'status_text', title: '状态'}
|
||||
,{fixed: 'right', width:160, align:'center', toolbar: '#bar'}
|
||||
]]
|
||||
,id: 'listReload'
|
||||
,page: true
|
||||
,height: "full-130"
|
||||
});
|
||||
|
||||
var $ = layui.$, active = {
|
||||
reload: function(){
|
||||
table.reload('listReload', {
|
||||
where: {
|
||||
realName: $('#realName').val(),
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(table_filter)', function(obj){
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
window.location.href="/admin/edit?id="+data.id
|
||||
} else if(obj.event === 'status'){
|
||||
|
||||
acts = "禁用";
|
||||
status = "disable";
|
||||
if (data.status === 0) {
|
||||
acts = '启用';
|
||||
status = "enable";
|
||||
}
|
||||
if (data.id==1 && obj.event === 'disable') {
|
||||
layer.msg('超级管理员不允许操作');
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('真的'+acts+'【'+data.login_name+'】账号么', function(index){
|
||||
var jsData = {'id':data.id,'status':status}
|
||||
$.post('{{urlfor "AdminController.AjaxDel"}}', jsData, function (out) {
|
||||
if (out.status == 0) {
|
||||
layer.alert(out.message, {icon: 1},function(index){
|
||||
layer.close(index);
|
||||
window.location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
}
|
||||
}, "json");
|
||||
// obj.del();
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
}else{
|
||||
layer.msg('操作不存在');
|
||||
}
|
||||
});
|
||||
|
||||
$('.demoTable .layui-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user