//使用treeTable扩展
layui.config({
base: '/static/js/',
})
var treeTable, re, form;
layui.use(['element', 'treeTable', 'layer', 'code', 'form'], function () {
treeTable = layui.treeTable;
var o = layui.$,
form = layui.form,
layer = layui.layer;
var e = layer.load(2, { shade: [0.2, '#2F4056'] }); //打开数据加载动画
re = treeTable.render({
elem: '#tree-table',
url: '/authorize/getRules/',
icon_key: 'title',// 必须
cols: [
{
key: 'title',
title: '控制器',
width: '180px',
template: function (item) {
if (item.level == 0) {
return '' + item.title + '';
} else if (item.level == 1) {
return '' + item.title + '';
} else if (item.level == 2) {
return '' + item.title + '';
}
}
},
{
key: 'id',
title: 'ID',
width: '20px',
align: 'center',
},
{
key: 'pid',
title: '父ID',
width: '20px',
align: 'center',
},
{
key: 'navid',
title: '排序',
width: '20px',
align: 'center',
},
{
key: 'name',
title: '名称',
width: '80px',
align: 'center',
},
{
key: 'condition',
title: '条件',
width: '80px',
align: 'center',
},
{
key: 'type',
title: '条件状态',
width: '80px',
align: 'center',
template: function (item) {
var result = '';
if (item.id != 1) {
if (item.type == 1) {
result = ''
} else if (item.type == 'null') {
result = '';
} else {
result = ''
}
}
return result;
}
},
{
key: 'remarks',
title: '备注',
width: '200px',
align: 'center',
},
{
key: 'status',
title: '规则状态',
width: '80px',
align: 'center',
template: function (item) {
var result = '';
if (item.id != 1) {
if (item.status == 1) {
result = ''
} else if (item.status == 'null') {
result = '';
} else {
result = ''
}
}
return result;
}
},
{
title: '操作',
align: 'left',
width: '200px',
template: function (item) {
var add = '子规则';
var modify = '';
var del = '';
if (item.level == 0) {
return add + modify;
} else if (item.level == 1) {
return add + modify + del;
} else {
return modify + del;
}
}
}
],
end: function () {
form.render(); //因表单动态生成需手动渲染表单元素
layer.close(e); //关闭加载动画
}
});
//监听指定开关
form.on('switch(typeSwitch)', function (data) {
var e = layer.load(2, { shade: [0.2, '#2F4056'] });
if (this.checked == false) {
value = 0;
} else {
value = 1;
}
$.post("/authorize/updateRulesState", { id: this.value, field: 'type', value: value }, function (msg) {
layer.close(e);
layer.msg(msg, { time: 1000 });
});
});
//监听指定开关
form.on('switch(statusSwitch)', function (data) {
var e = layer.load(2, { shade: [0.2, '#2F4056'] });
if (this.checked == false) {
value = 0;
} else {
value = 1;
}
$.post("/authorize/updateRulesState", { id: this.value, field: 'status', value: value }, function (msg) {
layer.close(e);
layer.msg(msg, { time: 1000 });
});
});
// 全部展开
o('.open-all').click(function () {
treeTable.openAll(re);
})
// 全部关闭
o('.close-all').click(function () {
treeTable.closeAll(re);
})
})
function del(id) {
layer.confirm('确认删除该规则?', function (index) {
$.post("/authorize/delRules", { id: id }, function (data) {
if (data.code === 0) {
treeTable.render(re);
}
layer.close(index);
layer.msg(data.msg, { time: 2000 });
});
});
}
function add(id) {
var index = layer.open({
type: 1
, title: '添加规则'
, area: ['460px', '410px']
, content: '