You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

431 lines
14 KiB

<#include "../../_include/_t.ftl"/>
<!DOCTYPE html>
<html>
<head>
<title></title>
<#include "../../_include/_h.ftl"/>
<#include "../../_include/_l.ftl"/>
<#include "../../_include/_j.ftl"/>
<#include "../../_include/_z.ftl"/>
<#include "../../_include/admin/_c.ftl"/>
</head>
<body>
<div class="page_div">
<blockquote class="layui-elem-quote">${title}</blockquote>
<div class="layui-bg-gray page_tools">
<div class="layui-inline layui-form" style="width:350px;" id="rule_appId_tips">
<select id="rule_appId" lay-filter="rule_appId_filter">
<option value="">请选择应用系统</option>
<option value="iffclouds">智慧消防云平台(Web平台端)</option>
<option value="iffcloudsapp">智慧消防云平台(Mobile移动端)</option>
</select>
</div>
<!--2019-04-29屏蔽,不提供增加权限功能,改成全部权限控制模式,暂时屏蔽-->
<!--2019-04-29屏蔽
<button id="rule_addBtn" class="layui-btn"><i class="layui-icon">&#xe61f;</i>添加规则</button>
-->
<!--2019-04-29暂时显示处理-->
<span style="color:blue;font-size:14px;padding-left:15px;">友情提示:当前系统暂时不提供权限设置,所有用户和用户组权限均为全部权限访问机制。</span>
</div>
<table id="rule_dataTable" lay-filter="rule_dataTable_filter" lay-size="sm"></table>
</div>
<!--添加页面-->
<div id="rule_addWin" class="page_win page_win_hide">
<form id="rule_addForm" lay-filter="rule_addForm_filter" class="layui-form">
<input type="hidden" id="rule_addForm_appId" name="appId" value=""/>
<div class="layui-form-item">
<label class="layui-form-label">所属应用:</label>
<div class="layui-form-mid"><span id="rule_addForm_app"></span></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">规则名称:</label>
<div class="layui-input-inline" style="width:600px;">
<input type="text" name="ruleName" class="layui-input" placeholder="请输入规则名称" lay-verify="required" lay-verType="tips" autocomplete="off"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">描述:</label>
<div class="layui-input-inline" style="width:600px;">
<input type="text" name="ruleDes" class="layui-input" placeholder="请输入描述" autocomplete="off"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">详情:</label>
<div class="layui-input-inline">
<ul id="rule_addTree" class="ztree"></ul>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block page_btn">
<button lay-submit class="layui-btn layui-btn-normal" lay-filter="rule_addForm_filter"><i class="icon_submit"></i>提交数据</button>
<button id="rule_addForm_closeBtn" class="layui-btn layui-btn-danger"><i class="icon_cancel"></i>关闭</button>
</div>
</div>
</form>
</div>
<!--修改页面-->
<div id="rule_updateWin" class="page_win page_win_hide">
<form id="rule_updateForm" lay-filter="rule_updateForm_filter" class="layui-form">
<input type="hidden" name="id" value=""/>
<input type="hidden" name="appId" value=""/>
<div class="layui-form-item">
<label class="layui-form-label">所属应用:</label>
<div class="layui-form-mid"><span id="rule_updateForm_app"></span></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">规则名称:</label>
<div class="layui-input-inline" style="width:600px;">
<input type="text" name="ruleName" class="layui-input" placeholder="请输入规则名称" lay-verify="required" lay-verType="tips" autocomplete="off"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">描述:</label>
<div class="layui-input-inline" style="width:600px;">
<input type="text" name="ruleDes" class="layui-input" placeholder="请输入描述" autocomplete="off"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">详情:</label>
<div class="layui-input-inline">
<ul id="rule_updateTree" class="ztree"></ul>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block page_btn">
<button lay-submit class="layui-btn layui-btn-normal" lay-filter="rule_updateForm_filter"><i class="icon_submit"></i>保存数据</button>
<button id="rule_updateForm_closeBtn" class="layui-btn layui-btn-danger"><i class="icon_cancel"></i>关闭</button>
</div>
</div>
</form>
</div>
<script type="text/javascript">
layuiplus.on(function(){
layuiplus.init(0);
//定义窗口变量============
var rule_addWin = null;
var rule_updateWin = null;
//数据表格=================================================================================
var rule_dataTable = table.render({
elem:"#rule_dataTable",
url:"${ctx}/admin/resource/rule/list",
method:"get",
cols:[[
{field:"ruleName",title:"规则名称",unresize:true,width:200},
{field:"ruleDes",title:"描述",unresize:true,width:500}//,
//2019-04-29屏蔽不提供详情和删除功能 by obje
/*
{title:"操作 ",unresize:true,align:"left",templet:function(d){
var opt = "<a class=\"layui-btn layui-btn-xs\" lay-event=\"opt_update\">详情</a>&nbsp;&nbsp;";
opt += "<a class=\"layui-btn layui-btn-danger layui-btn-xs\" lay-event=\"opt_delete\">删除</a>&nbsp;&nbsp;";
return opt;
}}
*/
]],
page:{
layout:["prev","page","next","skip","count","limit"],
limits:[10,20,30]
//curr:1,//设定初始页
//groups:5,//连续页码
//first:"首页",//不设置为1
//last:"尾页"//不设置为总页数
}
});
//数据表格每行数据操作监听=================================================================
table.on("tool(rule_dataTable_filter)",function(row){//row.data row.event
if(row.event == "opt_delete"){
layer.confirm("删除操作将清空所有关联的数据(慎重)。<br/>如果继续请点击“确定”,否则点击“取消”<br/>是否继续?",{title:"提示",icon:3},function(index){
$.ajax({
type:"get",
url:"${ctx}/admin/resource/rule/delete",
data:{id:row.data.id},
dataType:"json",
success:function(data){
if(data.status == true){
rule_dataTable.reload({
where:{
appId:$("#rule_appId").val()
}
});
layer.close(index);
layer.msg("操作成功",{time:2000});
}
}
});
});
}
if(row.event == "opt_update"){
rule_updateWin = layer.open({
id:"rule_updateWin_id",
type:1,
title:"<i class=\"icon_update\"></i>更新",
shade:0.3,
content:$("#rule_updateWin"),
end:function(){
$("#rule_updateForm")[0].reset();
},
success:function(){
$.ajax({
type:"get",
url:"${ctx}/admin/resource/rule/get",
data:{id:row.data.id},
dataType:"json",
success:function(data){
form.val("rule_updateForm_filter",{
id:data.id,
appId:data.appid,
ruleName:data.ruleName,
ruleDes:data.ruleDes
});
var id = $("#rule_appId").val();
var name = $("#rule_appId").find("option:selected").text()
$("#rule_updateForm_app").html(name);
//加载树结构==========================
menuBuild(id,name,"rule_updateTree",data.ruleVals,data.ruleVals2);
}
});
}
});
layer.full(rule_updateWin);
}
});
//数据表格上面工具栏================================================================================
form.on("select(rule_appId_filter)",function(data){
//console.log(data.value);//得到被选中的值
if(data.value == "") return false;
rule_dataTable.reload({
where:{
appId:data.value
}
});
});
$("#rule_addBtn").click(function(){
if($("#rule_appId").val() == ""){
layer.tips("请先选择应用","#rule_appId_tips",{tips:1});
return false;
}
rule_addWin = layer.open({
id:"rule_addWin_id",
type:1,
title:"<i class=\"icon_add\"></i>添加规则",
shade:0.3,
area:["600px","auto"],
resize:false,
content:$("#rule_addWin"),
end:function(){
$("#rule_addForm")[0].reset();
},
success:function(){
var id = $("#rule_appId").val();
var name = $("#rule_appId").find("option:selected").text()
$("#rule_addForm_appId").val(id);
$("#rule_addForm_app").html(name);
//加载树结构==========================
menuBuild(id,name,"rule_addTree");
}
});
layer.full(rule_addWin);
});
//添加窗口按钮=====================================================================================
form.on("submit(rule_addForm_filter)",function(formData){
var rule_tree = $.fn.zTree.getZTreeObj("rule_addTree");
var nodes = rule_tree.getCheckedNodes(true);
if(nodes.length == 0) return false;
var arr1 = new Array();//存全选的
var arr2 = new Array();//存半选的
for(var i = 0;i < nodes.length;i++){
if(nodes[i].getCheckStatus().half){
arr2.push(nodes[i].id);
}else{
arr1.push(nodes[i].id);
}
}
var _data = formData.field;
_data.ruleVals = arr1.join(",");
_data.ruleVals2 = arr2.join(",");
$.ajax({
type:"post",
url:"${ctx}/admin/resource/rule/add",
data:_data,
dataType:"json",
success:function(data){
if(data.status == true){
rule_dataTable.reload({
where:{
appId:$("#rule_appId").val()
}
});
layer.close(rule_addWin);
layer.msg("操作成功",{time:2000});
}
}
});
return false;
});
$("#rule_addForm_closeBtn").click(function(){
layer.close(rule_addWin);
return false;
});
//修改按钮=====================================================================================
form.on("submit(rule_updateForm_filter)",function(formData){
var rule_tree = $.fn.zTree.getZTreeObj("rule_updateTree");
var nodes = rule_tree.getCheckedNodes(true);
if(nodes.length == 0) return false;
var arr1 = new Array();//存全选的
var arr2 = new Array();//存半选的
for(var i = 0;i < nodes.length;i++){
if(nodes[i].getCheckStatus().half){
arr2.push(nodes[i].id);
}else{
arr1.push(nodes[i].id);
}
}
var _data = formData.field;
_data.ruleVals = arr1.join(",");
_data.ruleVals2 = arr2.join(",");
$.ajax({
type:"post",
url:"${ctx}/admin/resource/rule/update",
data:_data,
dataType:"json",
success:function(data){
if(data.status == true){
rule_dataTable.reload({
where:{
appId:$("#rule_appId").val()
}
});
layer.close(rule_updateWin);
layer.msg("操作成功",{time:2000});
}
}
});
return false;
});
$("#rule_updateForm_closeBtn").click(function(){
layer.close(rule_updateWin);
return false;
});
});
var menuBuild = function(id,name,tree,vals1,vals2){
//加载树结构
var zNodes = [
{id:id,name:name,open:true,icon:"${ctx}/style/images/tree/tree_menu.png",nocheck:true}
];
var zSet = {
check:{
enable:true,
chkStyle:"checkbox",
chkboxType:{"Y":"ps","N":"ps"}
},
view:{
selectedMulti:false,
expandSpeed:""
}
};
$.fn.zTree.init($("#"+tree),zSet,zNodes);
$.ajax({
type:"get",
url:"${ctx}/admin/resource/rule/tree",
data:{appId:id,ctx:"${ctx}",vals1:vals1,vals2:vals2},
dataType:"json",
success:function(data){
if(data != ""){
var rule_tree = $.fn.zTree.getZTreeObj(tree);
rule_tree.addNodes(rule_tree.getNodes()[0],data,true);
rule_tree.expandAll(true);
}
}
});
}
var menuOpt = function(ruleData){//打开窗口加载所有的rule中的菜单信息
menu_optWin = layer.open({
id:"menu_optWin_id",
type:1,
title:"<i class=\"icon_menu\"></i>菜单信息",
shade:0.3,
resize:false,
area:["400px","600px"],
content:$("#menu_optWin"),
end:function(){
var menu_tree = $.fn.zTree.getZTreeObj("menu_tree");
menu_tree.removeChildNodes(menu_tree.getNodes()[0]);
},
success:function(){
//加载树结构
var zNodes = [
{id:ruleData.id,name:ruleData.ruleName,des:ruleData.ruleDes,open:true,icon:"${ctx}/style/images/tree/tree_menu.png"}
];
var zSet = {
data:{
key:{
title:"des"
}
},
view:{
selectedMulti:false,
expandSpeed:""
},
callback:{
onRightClick:function(e,treeId,treeNode){
//alert(treeNode.level); return false;
//先隐藏所有的右键菜单
$("#menu_right > ul > li").each(function(){
$(this).hide();
});
var menu_tree = $.fn.zTree.getZTreeObj("menu_tree");
menu_tree.selectNode(treeNode);
if(treeNode.level == "0"){//右键点击了根节点
$("#menu_right_add_level1").show();
$("#menu_right_refresh").show();
}
if(treeNode.level == "1"){
$("#menu_right_add_level2").show();
$("#menu_right_edit").show();
$("#menu_right_delete").show();
}
if(treeNode.level == "2"){
$("#menu_right_add_level3").show();
$("#menu_right_edit").show();
$("#menu_right_delete").show();
}
if(treeNode.level == "3"){
$("#menu_right_edit").show();
$("#menu_right_delete").show();
}
var xx = e.clientX;
var yy = e.clientY;
layer.open({
type:1,
title:false,
offset:[yy,xx],
closeBtn:0,
shade:0.1,
shadeClose:true,
resize:false,
anim:5,
content:$("#menu_right")
});
}
}
};
$.fn.zTree.init($("#menu_tree"),zSet,zNodes);
$.ajax({
type:"get",
url:"${ctx}/admin/resource/menu/tree",
data:{ruleId:ruleData.id,ctx:"${ctx}"},
dataType:"json",
success:function(data){
if(data != ""){
var menu_tree = $.fn.zTree.getZTreeObj("menu_tree");
menu_tree.addNodes(menu_tree.getNodes()[0],data,true);
menu_tree.expandAll(true);
}
//layer.full(menu_optWin);
}
});
}
});
}
</script>
</body>
</html>