Files
ppgo_job/views/auth/list.html
2018-07-13 17:53:34 +08:00

383 lines
15 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/zTree3/js/jquery.ztree.core.js"></script>
<script type="text/javascript" src="/static/zTree3/js/jquery.ztree.excheck.js"></script>
<script type="text/javascript" src="/static/zTree3/js/jquery.ztree.exedit.js"></script>
<div class="layui-row">
<div style="margin: 10px 20px">
<blockquote class="layui-elem-quote">
说明新增权限请直接填写相关数据保存即可修改和删除请点击左侧权限树选择要修改的权限节点
</blockquote>
</div>
<div class="layui-col-md5 zTreeDemoBackground" style="margin-left: 20px;margin-right: 0px">
<ul id="treeDemo" class="ztree" style="height:320px; width: auto; margin-bottom: 10px;">
</ul>
</div>
<div class="layui-col-md7">
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<form class="layui-form" action="" onsubmit="javascript:;" name="form" method="post">
<div class="layui-form-item">
<label class="layui-form-label">权限名称</label>
<div class="layui-input-inline">
<input type="text" name="auth_name" lay-verify="required" autocomplete="off" placeholder="请输入权限名称" class="layui-input">
</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" style="width: 210px;">
<input type="text" name="pname" lay-verify="required" autocomplete="off" placeholder="请选择" disabled value="所有权限" class="layui-input" id="pname">
</div>
<div class="layui-input-inline" style="width: 50px;">
<input type="text" name="pid" autocomplete="off" placeholder="0" id="pid" class="layui-input" readonly value="1">
</div>
<div class="layui-form-mid layui-word-aux">
<button id="menuBtn" type="button" class="layui-btn layui-btn-xs layui-btn-normal" >选择顶级分类</button>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">菜单地址</label>
<div class="layui-input-inline">
<input type="text" name="auth_url" lay-verify="required" autocomplete="off" placeholder="/home" 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="icon" autocomplete="off" placeholder="fa-bar-chart-o" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux"><a href="http://fontawesome.dashgame.com" target="_blank">点击这里参考</a></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="text" name="sort" lay-verify="required" autocomplete="off" placeholder="999" class="layui-input">
</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="is_show" value="0" title="隐藏" checked>
<input type="radio" name="is_show" value="1" title="显示">
</div>
<div class="layui-form-mid layui-word-aux">是否左侧导航栏显示</div>
</div>
<input type="hidden" name="id" class="layui-input" id="id" value="0">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="add">新增</button>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="edit">修改</button>
<a class="layui-btn layui-btn-danger" href="javascript:;" id="del" lay-submit="">删除</a>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
</div>
</div>
<div id="menuContent" class="menuContent" style="display:none; position: absolute;">
<ul id="treeMenu" class="ztree" style="margin-top:0; width:200px; height: 200px"></ul>
</div>
<script>
var $,form;
layui.use(['form','element','layer'],function(){
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
$ = layui.$;
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("submit",function(data) {
var sub_type = data.elem.getAttribute("lay-filter")
console.log(sub_type)
if(sub_type=="add"){
$("#id").val(0);
}else{
if($("#id").val()=="0"){
layer.msg("修改先请在左侧权限树选择节点")
return false
}
}
console.log($("form").serialize());
$.post('{{urlfor "AuthController.AjaxSave"}}', $("form").serialize(), function (out) {
if (out.status == 0) {
// layer.msg("操作成功")
layer.alert('你成功了', {icon: 1},function(index){
window.location.reload();
});
} else {
layer.msg(out.message)
}
}, "json");
return false;
});
form.render();
//但是如果你的HTML是动态生成的自动渲染就会失效
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
});
</script>
<script type="text/javascript">
var zNodes = [{ id:1, pId:0, name:"数据错误"}];
$(document).ready(function(){
// $("form[name=form]").parent().find("input[type=radio]").eq(1).attr("checked", true);
var setting = {
// edit: {
// enable: true
// },
data: {
simpleData: {
enable: true
}
},
callback: {
beforeDrag: beforeDrag,
onClick: editOnClick
}
};
function editOnClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getSelectedNodes();
if(nodes[0].id==1){
alert('不允许修改根节点');
return;
}
if(nodes[0].parentTId){
var parentInfo = zTree.getNodeByTId(nodes[0].parentTId);
pid = parentInfo.id;
pname = parentInfo.name;
}
var id = nodes[0].id;
$("#pid").val(nodes[0].pId);
$("#id").val(nodes[0].id);
$("#pname").val(pname);
$("form[name=form]").find("input[name=auth_name]").val(nodes[0].name);
$.ajax({
type: "POST",
url: "/auth/getnode",
data: {id:id},
dataType: 'json',
success: function(data) {
if(data.code==0){
$("form[name=form]").find("input[name=auth_url]").val(data.data.auth_url);
$("form[name=form]").find("input[name=icon]").val(data.data.icon);
$("form[name=form]").find("input[name=sort]").val(data.data.sort);
var is_show = data.data.is_show
$("form[name=form]").find("input[type=radio][value="+is_show+"]").attr("checked", true);
$("form[name=form]").find("input[type=radio][value="+is_show+"]").click();
form.render();
}
}
});
}
function beforeDrag(treeId, treeNodes) {
return false;
}
function setEdit() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
}
// //增加节点
var newCount = 1;
var maxId = 0;
function add(e) {
var maxId = $('#max_id').val();
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
isParent = e.data.isParent,
nodes = zTree.getSelectedNodes(),
treeNode = nodes[0];
if (treeNode) {
treeNode = zTree.addNodes(treeNode, {id:(maxId -(-newCount)), pId:treeNode.id, isParent:isParent, name:"new node" + treeNode.id + (newCount++)});
} else {
treeNode = zTree.addNodes(null, {id:(maxId -(-newCount)), pId:0, isParent:isParent, name:"new node" + (newCount++)});
}
if (treeNode) {
zTree.editName(treeNode[0]);
} else {
alert("叶子节点被锁定,无法增加子节点");
}
};
function showCode(str) {
var code = $("#code");
code.empty();
for (var i=0, l=str.length; i<l; i++) {
code.append("<li>"+str[i]+"</li>");
}
}
//加载树
refresh_tree();
function refresh_tree()
{
var time = Date.parse(new Date());
$.ajax({
type: "POST",
url: "/auth/getnodes",
data: {time:time},
dataType: 'json',
success: function(data) {
if(data.code==0){
zNodes = data.data;
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
$.fn.zTree.init($("#treeMenu"), menu, zNodes);
}
}
});
setEdit();
$("#remove").bind("change", setEdit);
$("#rename").bind("change", setEdit);
$("#removeTitle").bind("propertychange", setEdit)
.bind("input", setEdit);
$("#renameTitle").bind("propertychange", setEdit)
.bind("input", setEdit);
}
// //新增 type=1
// $('#submit_add_button').on('click',function(){
// var data = $('form[name=form_add]').serialize();
// ajaxRequest({'nodes':data,'type':1},'/auth/auth/save_auth','submit_add_button','POST',0);
// });
// //新增 type=2
// $('#submit_edit_button').on('click',function(){
// var data = $('form[name=form_add]').serialize();
// ajaxRequest({'nodes':data,'type':2},'/auth/auth/save_auth','submit_edit_button','POST',0);
// });
//删除
$('#del').on('click',function(){
var id = $("#id").val();
if (id==0) {
layer.msg('请在左侧权限树选择节点');
return false;
}
layer.confirm('确认要删除吗', {icon: 3, title:'提示'}, function(index){
$.post('{{urlfor "AuthController.AjaxDel"}}', {id:id}, function (out) {
if (out.status == 0) {
// layer.msg("操作成功")
layer.alert('你删除成功了', {icon: 1},function(index){
window.location.reload();
});
} else {
layer.msg(out.message)
}
}, "json");
});
return false;
});
// //清空
// $('#submit_cancel_button').on('click',function(){
// var fields = ['id','pid','pname','name','menu_url','sort'];
// $.each(fields,function(k,v) {
// $("form[name=form_add]").find("input[name="+v+"]").val('');
// });
// });
//以下是下拉选择框
var menu = {
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
// beforeClick: beforeClick,
onClick: onClick
}
};
function beforeClick(treeId, treeNode) {
var check = (treeNode && !treeNode.isParent);
if (!check) alert("不能选择");
return check;
}
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeMenu"),
nodes = zTree.getSelectedNodes(),
v = "";
nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
var pid = $("#pid");
$("#pid").val(nodes[0].id);
$("#pname").val(v);
hideMenu()
}
$("#menuBtn").on("click",function(){
showMenu()
})
function showMenu() {
var pname = $("#pname");
var paOffset = $("#pname").offset();
// var sideOffset = $("#left_side").width();
// console.log(sideOffset.left)
$("#menuContent").css({left:(paOffset.left) + "px", top:(paOffset.top - pname.outerHeight()+70) + "px"}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
hideMenu();
}
}
});
</script>