代码功能更新
This commit is contained in:
Executable
+161
@@ -0,0 +1,161 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/menu/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.menu/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where) {
|
||||
//treeTable必须赋值,批量操作需要使用这个值获取复选框选中的数据
|
||||
laytpTreeTable = layui.treeTable.render({
|
||||
id: "laytp-tree-table"
|
||||
, elem: "#laytp-tree-table"
|
||||
, url: facade.url("/admin.menu/index",{is_tree:1})
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, toolbar: "#menu-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, skin: 'line'
|
||||
, tree: {
|
||||
customName:{
|
||||
icon: "show_icon"
|
||||
}
|
||||
}
|
||||
, parseData: function (res) {
|
||||
return facade.parseTableData(res, false);
|
||||
}
|
||||
, done: function(res, curr, count, origin){
|
||||
// 树形表格渲染完成后,展开第一行
|
||||
layui.treeTable.expandNode('laytp-tree-table', {
|
||||
index: 0, // 第一行
|
||||
expandFlag: true // 展开
|
||||
});
|
||||
|
||||
layui.laytpTable.treeDone();
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type: "checkbox"}
|
||||
, {field: "id", title: "ID", align: "center", width: 80}
|
||||
, {field: "name", title: "名称"}
|
||||
, {field: "rule", title: "路由规则", width: 200}
|
||||
, {field: "icon", title: "图标", align: "center", width: 80, templet: function (d) {
|
||||
return "<i class=\"" + d.icon + "\"></i>";
|
||||
}}
|
||||
, {field: "sort", title: "排序", width: 80, align: "center", templet:function(d){
|
||||
return laytpForm.tableForm.editInput('sort',d,'/admin.menu/setSort');
|
||||
}}
|
||||
, {
|
||||
field: "is_menu", title: "菜单", align: "center", width: 90, templet: function (d) {
|
||||
return laytpForm.tableForm.switch("is_menu", d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 2, "text": "否"}
|
||||
}, 'laytp-table-switch',true);
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "is_show", title: "显示", align: "center", width: 90, templet: function (d) {
|
||||
return laytpForm.tableForm.switch("is_show", d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 2, "text": "否"}
|
||||
}, 'laytp-table-switch',true);
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "operation",
|
||||
title: "操作",
|
||||
toolbar: "#default-bar",
|
||||
fixed: "right",
|
||||
align: "center",
|
||||
width: 180
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.treeTable.on("toolbar(laytp-tree-table)", function (obj) {
|
||||
if (obj.event === "del") {
|
||||
let checkData = layui.treeTable.checkStatus(obj.config.id).data;
|
||||
if (checkData.length === 0) {
|
||||
facade.error("请选择数据");
|
||||
return false;
|
||||
}
|
||||
let ids = [];
|
||||
let key;
|
||||
for (key in checkData) {
|
||||
ids.push(checkData[key].id);
|
||||
}
|
||||
facade.popupConfirm({text: "确定删除么?", route: window.apiPrefix + "del", data: {ids: ids}}, function(){
|
||||
funController.tableRender();
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
});
|
||||
}else{
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj, true);
|
||||
//其他自定义按钮点击事件
|
||||
} else {
|
||||
//自定义按钮点击事件
|
||||
switch(obj.event){
|
||||
//复制
|
||||
case "copy":
|
||||
var checkData = layui.treeTable.checkStatus(obj.config.id).data;
|
||||
if (checkData.length === 0) {
|
||||
facade.error("请选择数据");
|
||||
return false;
|
||||
}
|
||||
facade.popupDiv({
|
||||
title: "复制菜单",
|
||||
path: facade.compatibleHtmlPath(window.htmlPrefix) + "copy.html"
|
||||
});
|
||||
break;
|
||||
//移动
|
||||
case "move":
|
||||
var checkData = layui.treeTable.checkStatus(obj.config.id).data;
|
||||
if (checkData.length === 0) {
|
||||
facade.error("请选择数据");
|
||||
return false;
|
||||
}
|
||||
facade.popupDiv({
|
||||
title: "移动菜单",
|
||||
path: facade.compatibleHtmlPath(window.htmlPrefix) + "move.html"
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.treeTable.on("tool(laytp-tree-table)", function (obj) {
|
||||
if (obj.event === "del") {
|
||||
facade.popupConfirm({text: "真的删除么?", route: window.apiPrefix + "del", data: {ids: [obj.data.id]}},function(){
|
||||
obj.del();
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
});
|
||||
}else{
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Reference in New Issue
Block a user