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
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"></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> ";
|
|
opt += "<a class=\"layui-btn layui-btn-danger layui-btn-xs\" lay-event=\"opt_delete\">删除</a> ";
|
|
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>
|