代码功能更新

This commit is contained in:
root
2025-05-18 07:42:27 +00:00
parent 7fc1d422a1
commit 4a90c41da2
2083 changed files with 695218 additions and 3 deletions
+109
View File
@@ -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;
});
+97
View File
@@ -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;
});
+108
View File
@@ -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;
});
+82
View File
@@ -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;
});
+87
View File
@@ -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;
});
+115
View File
@@ -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;
});
+185
View File
@@ -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;
});
+178
View File
@@ -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;
});
+81
View File
@@ -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
View File
@@ -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;
});
+104
View File
@@ -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;
});
+106
View File
@@ -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;
});
+112
View File
@@ -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;
});
+99
View File
@@ -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;
});
+161
View File
@@ -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;
});
+141
View File
@@ -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;
});
+105
View File
@@ -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;
});
+258
View File
@@ -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;
});
+89
View File
@@ -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;
});
+86
View File
@@ -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;
});
+126
View File
@@ -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;
});
+108
View File
@@ -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;
});