代码功能更新
This commit is contained in:
Executable
+109
@@ -0,0 +1,109 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/action/log/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.action.log/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/action/log/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.action.log/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/action/log/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'admin_id',title:'操作者',align:'center',templet:'<div>{{# if(d.adminUser){ }}{{d.adminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'rule',title:'路由规则',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.rule}}').render({rule:d.rule});
|
||||
}}
|
||||
,{field:'menu',title:'操作菜单',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.menu}}').render({menu:d.menu});
|
||||
}}
|
||||
,{field:'request_body',title:'body参数',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_body}}').render({request_body:d.request_body});
|
||||
}}
|
||||
,{field:'request_header',title:'header参数',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_header}}').render({request_header:d.request_header});
|
||||
}}
|
||||
,{field:'ip',title:'IP',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.ip}}').render({ip:d.ip});
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+97
@@ -0,0 +1,97 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/balance/log/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.balance.log/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/balance/log/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.balance.log/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/balance/log/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'money',title:'金额',align:'center'}
|
||||
,{field:'remake',title:'名称',align:'center'}
|
||||
,{field:'type',title:'类型',align:'center'}
|
||||
|
||||
,{field:'time',title:'创建时间',align:'center'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/api/log/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.api.log/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/api/log/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.api.log/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/api/log/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'rule',title:'请求路由',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.rule}}').render({rule:d.rule});
|
||||
}}
|
||||
,{field:'request_body',title:'请求体',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_body}}').render({request_body:d.request_body});
|
||||
}}
|
||||
,{field:'request_header',title:'header参数',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_header}}').render({request_header:d.request_header});
|
||||
}}
|
||||
,{field:'ip',title:'IP',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.ip}}').render({ip:d.ip});
|
||||
}}
|
||||
,{field:'status_code',title:'返回状态码',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.status_code}}').render({status_code:d.status_code});
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+82
@@ -0,0 +1,82 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/area/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.area/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where) {
|
||||
//treeTable必须赋值,批量操作需要使用这个值获取复选框选中的数据
|
||||
laytpTreeTable = layui.treeTable.render({
|
||||
elem: "#laytp-tree-table"
|
||||
, url: facade.url("/admin.area/index", {is_tree:1})
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, skin: 'line'
|
||||
, done: function(res, curr, count, origin){
|
||||
layui.laytpTable.treeDone();
|
||||
}
|
||||
, parseData: function (res) {
|
||||
return facade.parseTableData(res, false);
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'name',title:'名称'}
|
||||
,{field:'first',title:'首字母',align:'center'}
|
||||
,{field:'lng',title:'经度',align:'center'}
|
||||
,{field:'lat',title:'纬度',align:'center'}
|
||||
,{field:'sort',title:'排序',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.editInput('sort',d,'/admin.area/setSort');
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.treeTable.on("toolbar(laytp-tree-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj, true);
|
||||
//其他自定义按钮点击事件
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.treeTable.on("tool(laytp-tree-table)", function (obj) {
|
||||
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;
|
||||
});
|
||||
Executable
+87
@@ -0,0 +1,87 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/area/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.area/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/area/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.area/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 100
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/area/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'name',title:'名称'}
|
||||
,{field:'first',title:'首字母',align:'center'}
|
||||
,{field:'lng',title:'经度',align:'center'}
|
||||
,{field:'lat',title:'纬度',align:'center'}
|
||||
,{field:'sort',title:'排序',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.recycleEditInput('sort',d,'/admin.area/setSort');
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#recycle-default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-recycle-table)", function (obj) {
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
//自定义按钮
|
||||
// switch(obj.event){
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Executable
+115
@@ -0,0 +1,115 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/bot/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.bot/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/bot/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.bot/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/bot/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
|
||||
,{field:'botuser',title:'机器人',align:'center'}
|
||||
,{field:'name',title:'管理昵称',align:'center'}
|
||||
,{field:'vip_time',title:'到期时间',align:'center'}
|
||||
,{field:'money',title:'余额',align:'center'}
|
||||
,{field:'create_time',title:'建立时间',align:'center'}
|
||||
,{field:'operation',title:'订阅',align:'center',toolbar:'#default-bar2',width:280,fixed:'right'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
console.log(obj)
|
||||
if (obj.event === "webhook") {
|
||||
facade.ajax({route: "/admin.bot/webhook", data: obj.data});
|
||||
}
|
||||
if (obj.event === "chektrxadd") {
|
||||
facade.ajax({route: "/admin.bot/chektrxadd", data: obj.data});
|
||||
}
|
||||
if (obj.event === "addtrxadd") {
|
||||
facade.ajax({route: "/admin.bot/addtrxadd", data: obj.data});
|
||||
}
|
||||
if (obj.event === "delltrx") {
|
||||
facade.ajax({route: "/admin.bot/delltrx", data: obj.data});
|
||||
}
|
||||
|
||||
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+185
@@ -0,0 +1,185 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
|
||||
let nowGroup = 'basic';
|
||||
|
||||
//获取分组列表进行渲染
|
||||
funController.getGroup = function () {
|
||||
facade.ajax({method: "GET", route: "/admin.conf/getGroup", successAlert: false}).done(function (res) {
|
||||
let addGroupBtnHtml = "";
|
||||
if (facade.hasAuth("/admin.conf/addGroup")) {
|
||||
addGroupBtnHtml =
|
||||
"<div class=\"layui-col-lg6 layui-col-md6 layui-col-xs6\">\n" +
|
||||
" <div style=\"text-align: center\">\n" +
|
||||
" <button class=\"laytp-btn laytp-btn-default laytp-btn-xs add-group\"><i class='layui-icon layui-icon-add-1'></i>分组</button>\n" +
|
||||
" </div>\n" +
|
||||
"</div>\n";
|
||||
}
|
||||
let addConfBtnHtml = "";
|
||||
if (facade.hasAuth("/admin.conf/addConfig")) {
|
||||
addConfBtnHtml =
|
||||
"<div class=\"layui-col-lg6 layui-col-md6 layui-col-xs6\">\n" +
|
||||
" <div style=\"text-align: center\">\n" +
|
||||
" <button class=\"laytp-btn laytp-btn-primary laytp-btn-xs add-config\"><i class='layui-icon layui-icon-add-1'></i>配置</button>\n" +
|
||||
" </div>\n" +
|
||||
"</div>\n";
|
||||
}
|
||||
let groupHtml =
|
||||
"<span class=\"layui-tab-vertical-btn\">\n" +
|
||||
" <div class=\"layui-row\">\n" +
|
||||
addGroupBtnHtml +
|
||||
addConfBtnHtml +
|
||||
" </div>\n" +
|
||||
"</span>";
|
||||
let key;
|
||||
for (key in res.data) {
|
||||
if (res.data[key]["value"] === "basic") {
|
||||
groupHtml += "<li class=\"groupLi layui-this\" data-group=\"" + res.data[key]["value"] + "\"><i class='" + res.data[key]["icon"] + " margin-right5'></i>" + res.data[key]["name"] + "</li>";
|
||||
} else {
|
||||
groupHtml += "<li class=\"groupLi\" data-group=\"" + res.data[key]["value"] + "\"><i class='" + res.data[key]["icon"] + " margin-right5'></i>" + res.data[key]["name"] + "</li>";
|
||||
}
|
||||
}
|
||||
$("#groupList").html(groupHtml);
|
||||
});
|
||||
};
|
||||
|
||||
//渲染某个分组下所有的配置项
|
||||
funController.showGroup = function (group) {
|
||||
facade.ajax({
|
||||
method: "GET",
|
||||
route: "/admin.conf/getGroupItem",
|
||||
data: {"group": group},
|
||||
async: false,
|
||||
successAlert: false
|
||||
}).done(function (res) {
|
||||
let configTemplate = layui.laytpl($("#configTemplate").html()).render({"group": group, "list": res.data});
|
||||
$("#configContent").html(configTemplate);
|
||||
layui.laytpForm.render();
|
||||
layui.form.render();
|
||||
if ($(".layui-tab-title").height() < $(".layui-tab-content").height()) {
|
||||
$(".layui-tab-title").height($(".layui-tab-content").height() + 20);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//添加分组按钮绑定点击事件
|
||||
$(document).off("click", ".add-group").on("click", ".add-group", function () {
|
||||
facade.popupDiv({
|
||||
title: "添加分组"
|
||||
, path: "/admin/conf/addGroup.html"
|
||||
});
|
||||
});
|
||||
|
||||
//删除分组
|
||||
$(document).off("click", ".delete-group").on("click", ".delete-group", function () {
|
||||
let group = $("#group").val();
|
||||
facade.popupConfirm({
|
||||
text: "确定删除此分组吗?",
|
||||
route: "/admin.conf/delGroup",
|
||||
data: {group: group}
|
||||
}, function () {
|
||||
funController.getGroup();
|
||||
funController.showGroup("basic");
|
||||
// facade.ajax({
|
||||
// method: "GET",
|
||||
// route: "plugin/core/common/getCache",
|
||||
// async: false,
|
||||
// successAlert: false
|
||||
// }).done(function (res) {
|
||||
// if (res.code === 0) {
|
||||
// sysConf = res.data["sysConf"] ? res.data["sysConf"] : "";
|
||||
// user = res.data["user"] ? res.data["user"] : "";
|
||||
// menu = res.data["menu"] ? res.data["menu"] : "";
|
||||
// pluginConf = res.data["pluginConf"] ? res.data["pluginConf"] : "";
|
||||
// authList = menu.authList;
|
||||
// } else {
|
||||
// facade.getCookie(tokenCookieKey);
|
||||
// facade.redirect("/admin/login.html");
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
});
|
||||
});
|
||||
|
||||
//编辑分组
|
||||
$(document).off("click", ".edit-group").on("click", ".edit-group", function () {
|
||||
facade.popupDiv({
|
||||
title: "编辑分组",
|
||||
path: "/admin/conf/editGroup.html?nowGroup="+nowGroup
|
||||
});
|
||||
});
|
||||
|
||||
//添加配置按钮绑定点击事件
|
||||
$(document).off("click", ".add-config").on("click", ".add-config", function () {
|
||||
facade.popupDiv({
|
||||
title: "添加配置",
|
||||
path: "/admin/conf/addConfig.html?nowGroup="+nowGroup,
|
||||
width: "80%",
|
||||
height: "90%"
|
||||
});
|
||||
});
|
||||
|
||||
//编辑配置按钮绑定点击事件
|
||||
$(document).off("click", ".edit-config").on("click", ".edit-config", function () {
|
||||
let id = $(this).data("id");
|
||||
facade.popupDiv({
|
||||
title: "添加配置",
|
||||
path: "/admin/conf/editConfig.html?id="+id+"&nowGroup="+nowGroup,
|
||||
width: "80%",
|
||||
height: "90%"
|
||||
});
|
||||
});
|
||||
|
||||
//删除配置项按钮绑定点击事件
|
||||
$(document).off("click", ".delete-config").on("click", ".delete-config", function () {
|
||||
let id = $(this).data('id');
|
||||
facade.popupConfirm({text: "确定删除此配置项吗?", route: "/admin.conf/delConfig", data: {"id": id}}, function (res) {
|
||||
if(res.code === 0){
|
||||
$("#item-" + id).remove();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//左侧分组列表绑定点击事件
|
||||
$(document).off("click", ".groupLi").on("click", ".groupLi", function () {
|
||||
nowGroup = $(this).data("group");
|
||||
funController.showGroup(nowGroup);
|
||||
});
|
||||
|
||||
//数组类型配置项,点击追加按钮
|
||||
$(document).on('click', '.add_array_item', function () {
|
||||
let click_obj = $(this);
|
||||
let config_key = click_obj.attr('config_key');
|
||||
layui.laytpl($('#array_item_html').html()).render({
|
||||
config_key: config_key
|
||||
}, function (string) {
|
||||
click_obj.parent().parent().before(string);
|
||||
});
|
||||
});
|
||||
|
||||
//数组类型配置项,删除数组某个元素
|
||||
$(document).on('click','.del_array_item',function(){
|
||||
let click_obj = $(this);
|
||||
click_obj.parent().parent().remove();
|
||||
});
|
||||
|
||||
//表单提交绑定事件
|
||||
layui.form.on('submit(laytp-form)', function (data) {
|
||||
try{
|
||||
data = facade.setEditorField(data);
|
||||
}catch (e) {
|
||||
facade.error(e);
|
||||
return false;
|
||||
}
|
||||
facade.ajax({route: "/admin.conf/set", data: data.field});
|
||||
return false;
|
||||
});
|
||||
|
||||
//页面加载完成就执行的操作
|
||||
$(document).ready(function () {
|
||||
funController.getGroup();
|
||||
funController.showGroup(nowGroup);
|
||||
});
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+178
@@ -0,0 +1,178 @@
|
||||
layui.use(["laytp","card"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/files/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.files/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender1 = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/files/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.files/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/files/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'category_id',title:'所属分类',align:'center',templet:'<div>{{# if(d.category){ }}{{d.category.name}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'name',title:'文件名称',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.name}}').render({name:d.name});
|
||||
}}
|
||||
,{field:'file_type',title:'文件类型',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('file_type',d.file_type,{"value":["image","video","audio","file"],"text":["图片","视频","音频","文件"]});
|
||||
}}
|
||||
,{field:'path',title:'文件路径',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.file(d.path);
|
||||
}}
|
||||
,{field:'upload_type',title:'上传方式',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('upload_type',d.upload_type,{"value":["local","ali-oss","qiniu-kodo"],"text":["本地上传","阿里云OSS","七牛云KODO"]});
|
||||
}}
|
||||
,{field:'create_admin_user_id',title:'创建者',align:'center',templet:'<div>{{# if(d.createAdminUser){ }}{{d.createAdminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'update_admin_user_id',title:'最后更新者',align:'center',templet:'<div>{{# if(d.updateAdminUser){ }}{{d.updateAdminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender = function(where, page){
|
||||
layui.card.render({
|
||||
elem:'#laytp-card',
|
||||
url:facade.url("/admin.files/index",{paging:1}),
|
||||
parseData: function (res) { //res 即为ajax原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/files/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
},
|
||||
parseItem: function(row){ //row 为每条数据
|
||||
return {
|
||||
"title": row.name,
|
||||
"file_type": row.file_type,
|
||||
"file_path": row.path,
|
||||
"remark": row.file_type,
|
||||
"create_time": row.create_time,
|
||||
"create_avatar": row.createAdminUser.avatarFile.path,
|
||||
"create_nickname": row.createAdminUser.nickname,
|
||||
}
|
||||
},
|
||||
where:where,
|
||||
currentPage:page,
|
||||
toolbar: '#default-toolbar', //顶部操作按钮
|
||||
bar: '#default-bar',//每个卡片的操作按钮
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.card.on('toolbar(laytp-card)', function(obj){
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
layui.laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.card.on('tool(laytp-card)', function(obj){
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
layui.laytp.tableTool(obj);
|
||||
} else {
|
||||
//自定义按钮点击事件
|
||||
switch(obj.event){
|
||||
//预览
|
||||
case "preview":
|
||||
if(obj.data.file_type === "image"){
|
||||
return laytp.tableFormatter.showImage(obj.data.path);
|
||||
}else if(obj.data.file_type === "video"){
|
||||
return laytp.tableFormatter.showVideo(obj.data.path);
|
||||
}else if(obj.data.file_type === "audio"){
|
||||
return laytp.tableFormatter.showAudio(obj.data.path);
|
||||
}else if(obj.data.file_type === "file"){
|
||||
return laytp.tableFormatter.file(obj.data.path);
|
||||
}
|
||||
break;
|
||||
//下载
|
||||
case "download":
|
||||
return facade.downloadFile(obj.data.path, obj.data.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+81
@@ -0,0 +1,81 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/files/category/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.files.category/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where) {
|
||||
//treeTable必须赋值,批量操作需要使用这个值获取复选框选中的数据
|
||||
laytpTreeTable = layui.treeTable.render({
|
||||
id: "#laytp-tree-table"
|
||||
, elem: "#laytp-tree-table"
|
||||
, url: facade.url("/admin.files.category/index",{is_tree:1})
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, skin: 'line'
|
||||
, parseData: function (res) {
|
||||
return facade.parseTableData(res, false);
|
||||
}
|
||||
, done: function(res, curr, count, origin){
|
||||
layui.laytpTable.treeDone();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'name',title:'分类名称'}
|
||||
,{field:'pid',title:'父级',align:'center',templet:'<div>{{# if(d.parent){ }}{{d.parent.name}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'sort',title:'排序',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.editInput('sort',d,'/admin.files.category/setSort');
|
||||
}}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.treeTable.on("toolbar(laytp-tree-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj, true);
|
||||
//其他自定义按钮点击事件
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.treeTable.on("tool(laytp-tree-table)", function (obj) {
|
||||
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;
|
||||
});
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/files/category/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.files.category/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/files/category/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.files.category/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 100
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/files/category/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'name',title:'分类名称'}
|
||||
,{field:'pid',title:'父级',align:'center',templet:'<div>{{# if(d.parent){ }}{{d.parent.name}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'sort',title:'排序',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.recycleEditInput('sort',d,'/admin.files.category/setSort');
|
||||
}}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#recycle-default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-recycle-table)", function (obj) {
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
//自定义按钮
|
||||
// switch(obj.event){
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Executable
+104
@@ -0,0 +1,104 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/files/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.files/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/files/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.files/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/files/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'category_id',title:'所属分类',align:'center',templet:'<div>{{# if(d.category){ }}{{d.category.name}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'name',title:'文件名称',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.name}}').render({name:d.name});
|
||||
}}
|
||||
,{field:'file_type',title:'文件类型',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('file_type',d.file_type,{"value":["image","video","audio","file"],"text":["图片","视频","音频","文件"]});
|
||||
}}
|
||||
,{field:'path',title:'文件路径',align:'center',templet:function(d){
|
||||
// return laytp.tableFormatter.file(d.path);
|
||||
if(d.file_type === "image"){
|
||||
return laytp.tableFormatter.images(d.path);
|
||||
}else if(d.file_type === "video"){
|
||||
return laytp.tableFormatter.video(d.path);
|
||||
}else if(d.file_type === "audio"){
|
||||
return laytp.tableFormatter.audio(d.path);
|
||||
}else if(d.file_type === "file"){
|
||||
return laytp.tableFormatter.file(d.path);
|
||||
}
|
||||
}}
|
||||
,{field:'upload_type',title:'上传方式',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('upload_type',d.upload_type,{"value":["local","ali-oss","qiniu-kodo"],"text":["本地上传","阿里云OSS","七牛云KODO"]});
|
||||
}}
|
||||
,{field:'create_admin_user_id',title:'创建者',align:'center',templet:'<div>{{# if(d.createAdminUser){ }}{{d.createAdminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'update_admin_user_id',title:'最后更新者',align:'center',templet:'<div>{{# if(d.updateAdminUser){ }}{{d.updateAdminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'update_time',title:'更新时间',align:'center'}
|
||||
,{field:'delete_time',title:'删除时间',align:'center'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#recycle-default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-recycle-table)", function (obj) {
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Executable
+106
@@ -0,0 +1,106 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/login/log/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.login.log/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/login/log/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.login.log/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/login/log/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'login_status',title:'登录状态',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('login_status',d.login_status,{"value":["1","2"],"text":["成功","失败"],"default":0});
|
||||
}}
|
||||
,{field:'admin_id',title:'登录者',align:'center',templet:'<div>{{# if(d.adminUser){ }}{{d.adminUser.nickname}}{{# }else{ }}-{{# } }}</div>'}
|
||||
,{field:'request_body',title:'请求体',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_body}}').render({request_body:d.request_body});
|
||||
}}
|
||||
,{field:'request_header',title:'请求头',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.request_header}}').render({request_header:d.request_header});
|
||||
}}
|
||||
,{field:'ip',title:'IP',align:'center',templet:function(d){
|
||||
return layui.laytpl('{{=d.ip}}').render({ip:d.ip});
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+112
@@ -0,0 +1,112 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/member/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.member/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/member/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.member/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/member/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'layui_number',title:'序号',align:'center',width:80,type:'numbers'}
|
||||
,{field:'email',title:'邮箱',align:'center'}
|
||||
,{field:'nickname',title:'昵称',align:'center'}
|
||||
,{field:'sex',title:'性别',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('sex',d.sex,{"value":["1","2"],"text":["男","女"]});
|
||||
}}
|
||||
,{field:'vip_time',title:'vip到期时间',align:'center'}
|
||||
,{field:'avatar_pic',title:'头像',align:'center',templet:function(d){
|
||||
return d.avatar_pic_file ? laytp.tableFormatter.images(d.avatar_pic_file.path) : "";
|
||||
}}
|
||||
,{field:'login_time',title:'注册时间',align:'center'}
|
||||
,{field:'login_ip',title:'登录IP',align:'center'}
|
||||
,{field:'status',title:'账号状态',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.switch("status", d, {
|
||||
"open": {"value": 1, "text": "正常"},
|
||||
"close": {"value": 2, "text": "锁定"}
|
||||
});
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+99
@@ -0,0 +1,99 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/member/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.member/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/member/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.member/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/member/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
,{field:'layui_number',title:'序号',align:'center',width:80,type:'numbers'}
|
||||
,{field:'email',title:'邮箱',align:'center'}
|
||||
,{field:'password',title:'密码',align:'center'}
|
||||
,{field:'nickname',title:'昵称',align:'center'}
|
||||
,{field:'sex',title:'性别',align:'center',templet:function(d){
|
||||
return laytp.tableFormatter.status('sex',d.sex,{"value":["1","2"],"text":["男","女"]});
|
||||
}}
|
||||
,{field:'vip_time',title:'vip到期时间',align:'center'}
|
||||
,{field:'avatar_pic',title:'头像',align:'center',templet:function(d){
|
||||
return d.avatar_pic_file ? laytp.tableFormatter.images(d.avatar_pic_file.path) : "";
|
||||
}}
|
||||
,{field:'login_time',title:'注册时间',align:'center'}
|
||||
,{field:'login_ip',title:'登录IP',align:'center'}
|
||||
,{field:'status',title:'账号状态',align:'center',templet:function(d){
|
||||
return laytpForm.tableForm.recycleSwitch("status", d, {
|
||||
"open": {"value": 1, "text": "正常"},
|
||||
"close": {"value": 2, "text": "锁定"}
|
||||
});
|
||||
}}
|
||||
,{field:'create_time',title:'创建时间',align:'center'}
|
||||
,{field:'update_time',title:'更新时间',align:'center'}
|
||||
,{field:'delete_time',title:'删除时间',align:'center'}
|
||||
,{field:'operation',title:'操作',align:'center',toolbar:'#recycle-default-bar',width:180,fixed:'right'}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-recycle-table)", function (obj) {
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
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;
|
||||
});
|
||||
Executable
+141
@@ -0,0 +1,141 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = "/admin/menu/";
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = "/admin.menu/";
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/menu/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.menu/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/menu/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type: 'checkbox'}
|
||||
, {field: 'id', title: 'ID', align: 'center', width: 60}
|
||||
, {field: 'pid', title: '上级ID', align: 'center', width: 80}
|
||||
, {field: 'name', title: '名称'}
|
||||
, {field: 'rule', title: '规则'}
|
||||
, {field: "icon", title: "图标", align: "center", width: 80, templet: function (d) {
|
||||
return "<i class=\"" + d.icon + "\"></i>";
|
||||
}}
|
||||
, {field: 'sort', title: '排序', align: 'center', width: 60}
|
||||
, {
|
||||
field: 'is_menu', title: '菜单', align: 'center', width: 90, templet: function (d) {
|
||||
return laytpForm.tableForm.recycleSwitch('is_menu', d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 0, "text": "否"}
|
||||
});
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: 'is_show', title: '显示', align: 'center', width: 90, templet: function (d) {
|
||||
return laytpForm.tableForm.recycleSwitch('is_show', d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 0, "text": "否"}
|
||||
});
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: 'operation',
|
||||
title: '操作',
|
||||
toolbar: '#recycle-default-bar',
|
||||
fixed: 'right',
|
||||
align: 'center',
|
||||
width: 180
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on('toolbar(laytp-recycle-table)', function (obj) {
|
||||
if (obj.event === "restore") {
|
||||
let checkStatus = layui.table.checkStatus(obj.config.id);
|
||||
let checkData = checkStatus.data;
|
||||
if (checkData.length === 0) {
|
||||
facade.error("请选择数据");
|
||||
return false;
|
||||
}
|
||||
let key;
|
||||
let ids = [];
|
||||
for (key in checkData) {
|
||||
ids.push(checkData[key].id);
|
||||
}
|
||||
facade.ajax({
|
||||
route: window.apiPrefix + "restore",
|
||||
data: {ids: ids.join(",")},
|
||||
showLoading: true
|
||||
}).done(function (res) {
|
||||
if (res.code === 0) {
|
||||
parent.funController.tableRender();
|
||||
funRecycleController.tableRender();
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
}
|
||||
});
|
||||
}else{
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
if (obj.event === "restore") {
|
||||
facade.ajax({route: window.apiPrefix + "restore", data: {ids: [obj.data.id]}}).done(function (res) {
|
||||
if (res.code === 0) {
|
||||
parent.funController.tableRender();
|
||||
funRecycleController.tableRender();
|
||||
parent.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;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Executable
+105
@@ -0,0 +1,105 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/order/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.order/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/order/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.order/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 120
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/order/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type:'checkbox',fixed:'left'}
|
||||
,{field:'id',title:'ID',align:'center',width:80,fixed:'left'}
|
||||
|
||||
,{field:'botid',title:'机器人',align:'center'}
|
||||
,{field:'name',title:'管理昵称',align:'center'}
|
||||
,{field:'paymoney',title:'实际金额',align:'center'}
|
||||
,{field:'money',title:'余额',align:'center'}
|
||||
,{field:'create_time',title:'建立时间',align:'center'}
|
||||
|
||||
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
console.log(obj)
|
||||
if (obj.event === "webhook") {
|
||||
facade.ajax({route: "/admin.order/webhook", data: obj.data});
|
||||
}
|
||||
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+258
@@ -0,0 +1,258 @@
|
||||
layui.use(["laytp", "operationDropdown", "context"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/plugins/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.plugins/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/plugins/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url('/plugins/index',{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, autoSort: false
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/plugins/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(obj){
|
||||
layui.laytpTable.done();
|
||||
|
||||
var data = obj.data;
|
||||
var dropdownList = [];
|
||||
var dk,key = 0;
|
||||
for(dk in data){
|
||||
var versions = data[dk].versions
|
||||
dropdownList = [];
|
||||
for(key in versions){
|
||||
dropdownList[key] = {
|
||||
id: 'version_list_' + data[dk].id,
|
||||
title: versions[key].version_num + ',依赖LT:' + versions[key].lt_version,//文字标题
|
||||
data: {
|
||||
id: data[dk].id,
|
||||
alias: data[dk].alias,
|
||||
version_num: versions[key].version_num,
|
||||
lt_version: versions[key].lt_version,
|
||||
}
|
||||
}
|
||||
}
|
||||
layui.operationDropdown.render({
|
||||
elem: '.version_list_' + data[dk].id,
|
||||
width: 190,
|
||||
options: dropdownList,
|
||||
click: function(option){
|
||||
var ltVersionArr = option.data.lt_version.split(' - ');
|
||||
var ltVersionBoolean = true;
|
||||
if(ltVersionArr.length == 2){
|
||||
if(parent.window.ltVersion < ltVersionArr[0] || parent.window.ltVersion > ltVersionArr[1]){
|
||||
ltVersionBoolean = false;
|
||||
}
|
||||
}else{
|
||||
if(option.data.lt_version > parent.window.ltVersion){
|
||||
ltVersionBoolean = false;
|
||||
}
|
||||
}
|
||||
if(ltVersionBoolean){
|
||||
funController.installPlugin(option.data, $(this));
|
||||
}else{
|
||||
facade.error('插件此版本依赖laytp版本为:' + option.data.lt_version + '。 当前laytp版本为' + parent.window.ltVersion);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
, cols: [[
|
||||
{field: "name", title: "插件名称", align: "center", width: 140}
|
||||
, {field: "category", title: "所属分类", align: "center", width: 100, templet:function(d){
|
||||
return d.category ? d.category.name : '-';
|
||||
}}
|
||||
, {field: "desc", title: "简介", align: "center", width: 400}
|
||||
, {field: "alias", title: "别名", align: "center"}
|
||||
, {field: "img", title: "插件图片", align: "center", templet:function(d){
|
||||
return d.imgFile ? laytp.tableFormatter.images(d.imgFile.path) : '-';
|
||||
}}
|
||||
, {field: "author", title: "作者", align: "center"}
|
||||
, {field: "price", title: "价格", align: "center", templet:function(d){
|
||||
return d.price > 0 ? "¥" + d.price/100 : "免费";
|
||||
}}
|
||||
, {field: "download_num", title: "下载次数", align: "center"}
|
||||
, {field: "version", title: "当前版本", align: "center", templet:function(d){
|
||||
return d.version ? d.version : "-";
|
||||
}}
|
||||
, {field: "newest_version", title: "最新版本", align: "center", templet:function(d){
|
||||
if(d.lastVersion){
|
||||
if(d.version){
|
||||
if(d.lastVersion.version_num > d.version){
|
||||
return "<span class=\"layui-badge-dot\"></span> " + d.lastVersion.version_num;
|
||||
}else{
|
||||
return d.lastVersion.version_num;
|
||||
}
|
||||
}else{
|
||||
return d.lastVersion.version_num;
|
||||
}
|
||||
}else{
|
||||
return "-";
|
||||
}
|
||||
}}
|
||||
, {field: "operation", title: "操作", align: "center", fixed: 'right', toolbar: "#default-bar", width: 240}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
//自定义按钮点击事件
|
||||
switch(obj.event){
|
||||
// 会员信息
|
||||
case "user":
|
||||
facade.popupDiv({
|
||||
title: "会员信息",
|
||||
path: "/admin/plugins/login.html"
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
//自定义按钮点击事件
|
||||
switch(obj.event){
|
||||
// 卸载
|
||||
case "uninstall":
|
||||
facade.popupConfirm({
|
||||
text: "真的卸载吗?卸载前请确保已经备份数据库,卸载插件的同时会将插件相关数据库表一并卸载删除",
|
||||
route: window.apiPrefix + "uninstall",
|
||||
data: {plugin: obj.data.alias}
|
||||
}, function(res){
|
||||
layui.context.put("pluginConf", res.data.pluginConf);//修改插件配置信息
|
||||
layui.table.reloadData("laytp-table");
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
});
|
||||
break;
|
||||
// 安装最新版本
|
||||
case "installNewest":
|
||||
var btnObj = $(this);
|
||||
if(obj.data.lastVersion.lt_version > parent.window.ltVersion){
|
||||
facade.error('请更新laytp核心版本后安装插件此版本。插件此版本依赖laytp核心版本为:' + obj.data.lastVersion.lt_version + '。 laytp当前核心版本为' + parent.window.ltVersion);
|
||||
return false;
|
||||
}
|
||||
funController.installPlugin(obj.data, btnObj);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
// 安装插件函数封装
|
||||
funController.installPlugin = function(data, btnObj){
|
||||
var laytpGwToken = layui.context.get("laytpGwToken");
|
||||
if(!laytpGwToken){
|
||||
facade.popupDiv({
|
||||
title: "会员信息",
|
||||
path: "/admin/plugins/login.html"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
var btnAnim = layui.button.load({elem:btnObj});
|
||||
facade.success(data.alias + '插件正在安装中...');
|
||||
layui.facade.ajax({
|
||||
route:"/admin.plugins/install",
|
||||
data:{
|
||||
"plugin":data.alias,
|
||||
"laytpGwToken":layui.context.get("laytpGwToken").token,
|
||||
"pluginVersion":data.version_num,
|
||||
"ltVersion":parent.window.ltVersion,
|
||||
}
|
||||
}).done(function(res){
|
||||
if(res.code === 0){
|
||||
layui.context.put("pluginConf", res.data.pluginConf);//修改插件配置信息
|
||||
layui.table.reloadData("laytp-table");
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
}else if(res.code === 1){
|
||||
facade.popupDiv({
|
||||
title: "会员信息",
|
||||
path: "/admin/plugins/login.html"
|
||||
});
|
||||
}else if(res.code === 2){
|
||||
facade.popupDiv({
|
||||
title: "购买插件",
|
||||
path: "/admin/plugins/buy.html?name="+data.name+"&alias="+data.alias+"&price="+data.price
|
||||
});
|
||||
}else if(res.code === 3){
|
||||
facade.error(res["msg"]);
|
||||
}
|
||||
btnAnim.stop();
|
||||
}).fail(function(){
|
||||
btnAnim.stop();
|
||||
});
|
||||
}
|
||||
|
||||
// 离线安装按钮渲染上传组件
|
||||
var offLineBtnAnim = '';
|
||||
var uploadInst = layui.upload.render({
|
||||
elem: $("button[lay-event='offLineInstall']") //绑定元素
|
||||
,accept:"file"
|
||||
,url: facade.compatibleApiRoute('/admin.plugins/offLineInstall') //上传接口
|
||||
,field: "laytpUploadFile"
|
||||
,choose: function (obj) {
|
||||
offLineBtnAnim = layui.button.load({elem:$("button[lay-event='offLineInstall']")});
|
||||
}
|
||||
,done: function(res){
|
||||
if(res.code === 0){
|
||||
facade.success(res.msg);
|
||||
layui.context.put("pluginConf", res.data.pluginConf);//修改插件配置信息
|
||||
layui.table.reloadData("laytp-table");
|
||||
parent.parent.renderMenu();//重新渲染菜单
|
||||
}else{
|
||||
facade.error(res.msg);
|
||||
}
|
||||
offLineBtnAnim.stop();
|
||||
}
|
||||
,error: function(){
|
||||
//请求异常回调
|
||||
offLineBtnAnim.stop();
|
||||
}
|
||||
});
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/role/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.role/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/role/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.role/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/role/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type: "checkbox"}
|
||||
, {field: "id", title: "ID", align: "center", width: 80}
|
||||
, {field: "name", title: "角色名"}
|
||||
, {
|
||||
field: "operation",
|
||||
title: "操作",
|
||||
toolbar: "#default-bar",
|
||||
fixed: "right",
|
||||
align: "center",
|
||||
width: 180
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
//其他自定义按钮点击事件
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
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;
|
||||
});
|
||||
Executable
+86
@@ -0,0 +1,86 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/role/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.role/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/role/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.role/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/role/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type: "checkbox"}
|
||||
, {field: "id", title: "ID", align: "center", width: 80}
|
||||
, {field: "name", title: "角色名"}
|
||||
, {
|
||||
field: "operation",
|
||||
title: "操作",
|
||||
toolbar: "#recycle-default-bar",
|
||||
fixed: "right",
|
||||
align: "center",
|
||||
width: 180
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on('toolbar(laytp-recycle-table)', function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
//其他自定义按钮点击事件
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Executable
+126
@@ -0,0 +1,126 @@
|
||||
layui.use(["laytp"], function () {
|
||||
const funController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/user/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.user/");
|
||||
|
||||
//表格渲染
|
||||
funController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-table"
|
||||
, limit: facade.getLimit('/admin/user/')
|
||||
, id: "laytp-table"
|
||||
, url: facade.url("/admin.user/index",{paging:1})
|
||||
, toolbar: "#default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, autoSort: false
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/user/', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, done: function(){
|
||||
layui.laytpTable.done();
|
||||
}
|
||||
, cols: [[
|
||||
{type: "checkbox"}
|
||||
, {field: "id", title: "ID", align: "center", width: 80}
|
||||
, {field: "username", title: "用户名", align: "center"}
|
||||
, {field: "nickname", title: "昵称", align: "center"}
|
||||
, {
|
||||
field: "avatar", title: "头像", align: "center", templet: function (d) {
|
||||
return d.avatar_file ? laytp.tableFormatter.images(d.avatar_file.path) : laytp.tableFormatter.images("/static/admin/images/avatar.jpg");
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "is_super_manager", title: "是否超管", align: "center", templet: function (d) {
|
||||
if (d.id === 1) {
|
||||
return (d.is_super_manager === 1) ? "是" : "否";
|
||||
} else {
|
||||
return laytpForm.tableForm.switch("is_super_manager", d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 2, "text": "否"}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "status", title: "账号状态", align: "center", templet: function (d) {
|
||||
if (d.id === 1) {
|
||||
return (d.status === 1) ? "正常" : "禁用";
|
||||
} else {
|
||||
return laytpForm.tableForm.switch("status", d, {
|
||||
"open": {"value": 1, "text": "正常"},
|
||||
"close": {"value": 2, "text": "禁用"}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
, {field: "create_time", title: "创建时间", align: "center", width: 160}
|
||||
, {field: "operation", title: "操作", align: "center", fixed: 'right', toolbar: "#default-bar", width: 180}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-table)", function (obj) {
|
||||
//默认按钮点击事件,包括添加按钮和回收站按钮
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on("tool(laytp-table)", function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听表头排序事件
|
||||
layui.table.on('sort(laytp-table)', function(obj){
|
||||
layui.table.reloadData('laytp-table', {
|
||||
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
, where: {
|
||||
"order_param" : {
|
||||
"field" : obj.field,
|
||||
"type" : obj.type
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
funController.tableRender();
|
||||
|
||||
window.funController = funController;
|
||||
});
|
||||
Executable
+108
@@ -0,0 +1,108 @@
|
||||
layui.use(['laytp'], function () {
|
||||
const funRecycleController = {};
|
||||
//静态页面地址前缀
|
||||
window.htmlPrefix = facade.compatibleHtmlPath("/admin/user/");
|
||||
//后端接口地址前缀
|
||||
window.apiPrefix = facade.compatibleApiRoute("/admin.user/");
|
||||
|
||||
//表格渲染
|
||||
funRecycleController.tableRender = function (where, page) {
|
||||
layui.table.render({
|
||||
elem: "#laytp-recycle-table"
|
||||
, limit: facade.getLimit('/admin/user/recycle')
|
||||
, id: "laytp-recycle-table"
|
||||
, url: facade.url("/admin.user/recycle",{paging:1})
|
||||
, toolbar: "#recycle-default-toolbar"
|
||||
, defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'recycle-refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
, where: where
|
||||
, method: "GET"
|
||||
, cellMinWidth: 80
|
||||
, skin: 'line'
|
||||
, loading: false
|
||||
, page: {
|
||||
curr: page
|
||||
}
|
||||
, parseData: function (res) { //res 即为原始返回的数据
|
||||
layui.laytpTable.setLimit('/admin/user/recycle', res.data.per_page);
|
||||
return facade.parseTableData(res, true);
|
||||
}
|
||||
, cols: [[ //表头
|
||||
{type: "checkbox"}
|
||||
, {field: "id", title: "ID", align: "center", width: 80}
|
||||
, {field: "username", title: "用户名", align: "center", width: 80}
|
||||
, {field: "nickname", title: "昵称", align: "center", width: 80}
|
||||
, {
|
||||
field: "avatar", title: "头像", align: "center", templet: function (d) {
|
||||
return laytp.tableFormatter.images(d.avatar);
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "is_super_manager", title: "是否超管", align: "center", width: 100, templet: function (d) {
|
||||
return laytpForm.tableForm.recycleSwitch("is_super_manager", d, {
|
||||
"open": {"value": 1, "text": "是"},
|
||||
"close": {"value": 2, "text": "否"}
|
||||
});
|
||||
}
|
||||
}
|
||||
, {
|
||||
field: "status", title: "账号状态", align: "center", width: 100, templet: function (d) {
|
||||
return laytpForm.tableForm.recycleSwitch("status", d, {
|
||||
"open": {"value": 1, "text": "正常"},
|
||||
"close": {"value": 2, "text": "禁用"}
|
||||
});
|
||||
}
|
||||
}
|
||||
, {field: "create_time", title: "创建时间", align: "center", width: 160}
|
||||
, {
|
||||
field: 'operation',
|
||||
title: '操作',
|
||||
toolbar: '#recycle-default-bar',
|
||||
fixed: 'right',
|
||||
align: 'center',
|
||||
width: 180
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听数据表格顶部左侧按钮点击事件
|
||||
layui.table.on("toolbar(laytp-recycle-table)", function (obj) {
|
||||
var defaultTableToolbar = layui.context.get("defaultTableToolbar");
|
||||
if (defaultTableToolbar.indexOf(obj.event) !== -1) {
|
||||
//默认按钮点击事件
|
||||
laytp.tableToolbar(obj);
|
||||
} else {
|
||||
// //自定义按钮点击事件
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case "":
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
|
||||
//监听数据表格[操作列]按钮点击事件
|
||||
layui.table.on('tool(laytp-recycle-table)', function (obj) {
|
||||
var defaultTableTool = layui.context.get("defaultTableTool");
|
||||
if (defaultTableTool.indexOf(obj.event) !== -1) {
|
||||
laytp.tableTool(obj);
|
||||
} else {
|
||||
// //自定义按钮
|
||||
// switch(obj.event){
|
||||
// //自定义按钮点击事件
|
||||
// case '':
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
funRecycleController.tableRender();
|
||||
|
||||
window.funRecycleController = funRecycleController;
|
||||
});
|
||||
Reference in New Issue
Block a user