This commit is contained in:
walkor 2022-12-06 21:04:02 +08:00
parent 14867a1137
commit b6c914e0ad
33 changed files with 1163 additions and 1168 deletions

View File

@ -106,44 +106,44 @@
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: '/app/admin/account/info', url: "/app/admin/account/info",
dataType: 'json', dataType: "json",
success: function (res) { success: function (res) {
form.val('baseInfo', res.data); form.val("baseInfo", res.data);
} }
}); });
form.on('submit(saveBaseInfo)', function(data){ form.on("submit(saveBaseInfo)", function(data){
$.ajax({ $.ajax({
url: '/app/admin/account/update', url: "/app/admin/account/update",
dataType: 'json', dataType: "json",
type: 'POST', type: "POST",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
} }
}); });
return false; return false;
}); });
form.on('submit(savePassword)', function(data){ form.on("submit(savePassword)", function(data){
$.ajax({ $.ajax({
url: '/app/admin/account/password', url: "/app/admin/account/password",
dataType: 'json', dataType: "json",
type: 'POST', type: "POST",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
} }
}); });
return false; return false;

View File

@ -78,8 +78,8 @@
<script> <script>
// 相关常量 // 相关常量
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = 'plugin\\admin\\app\\controller\\AdminRoleController'; const CONTROLLER = "plugin\\admin\\app\\controller\\AdminRoleController";
const SELECT_API = "/app/admin/admin-role/select"; const SELECT_API = "/app/admin/admin-role/select";
const UPDATE_API = "/app/admin/admin-role/update"; const UPDATE_API = "/app/admin/admin-role/update";
const DELETE_API = "/app/admin/admin-role/delete"; const DELETE_API = "/app/admin/admin-role/delete";
@ -95,7 +95,7 @@
}) })
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -157,16 +157,16 @@
icon: "layui-icon-refresh", icon: "layui-icon-refresh",
}, "filter", "print", "exports"], }, "filter", "print", "exports"],
done: function () { done: function () {
layer.photos({photos: 'div[lay-id="data-table"]', anim: 5}); layer.photos({photos: "div[lay-id="data-table"]", anim: 5});
} }
}); });
} }
// 获取表格中下拉或树形组件数据 // 获取表格中下拉或树形组件数据
let apis = []; let apis = [];
apis.push(['rules', '/app/admin/admin-rule/get?type=0,1,2']); apis.push(["rules", "/app/admin/admin-rule/get?type=0,1,2"]);
let apiResults = {}; let apiResults = {};
apiResults['rules'] = []; apiResults["rules"] = [];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
@ -197,45 +197,45 @@
} }
// 编辑或删除行事件 // 编辑或删除行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -247,9 +247,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -259,10 +259,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -275,33 +275,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -309,8 +309,8 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })

View File

@ -72,18 +72,18 @@
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -48,30 +48,30 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/admin-role/select" + location.search; const SELECT_API = "/app/admin/admin-role/select" + location.search;
const UPDATE_API = "/app/admin/admin-role/update"; const UPDATE_API = "/app/admin/admin-role/update";
// 获取数据库记录 // 获取数据库记录
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
// 给表单初始化数据 // 给表单初始化数据
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (key === 'password') { if (key === "password") {
obj.attr('placeholder', '不更新密码请留空'); obj.attr("placeholder", "不更新密码请留空");
return; return;
} }
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
if (obj[0].nodeName.toLowerCase() === 'textarea') { if (obj[0].nodeName.toLowerCase() === "textarea") {
obj.val(layui.util.escape(value)); obj.val(layui.util.escape(value));
} else { } else {
obj.attr('value', value); obj.attr("value", value);
} }
}); });
@ -101,19 +101,19 @@
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -66,8 +66,8 @@
<script> <script>
// 相关常量 // 相关常量
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = 'plugin\\admin\\app\\controller\\AdminRuleController'; const CONTROLLER = "plugin\\admin\\app\\controller\\AdminRuleController";
const SELECT_API = "/app/admin/admin-rule/select?limit=5000"; const SELECT_API = "/app/admin/admin-rule/select?limit=5000";
const DELETE_API = "/app/admin/admin-rule/delete"; const DELETE_API = "/app/admin/admin-rule/delete";
const UPDATE_API = "/app/admin/admin-rule/update"; const UPDATE_API = "/app/admin/admin-rule/update";
@ -75,7 +75,7 @@
const UPDATE_URL = "/app/admin/admin-rule/update"; const UPDATE_URL = "/app/admin/admin-rule/update";
// 表格渲染 // 表格渲染
layui.use(['table', 'treetable', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "treetable", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -86,60 +86,60 @@
// 表格头部列数据 // 表格头部列数据
let cols = [ let cols = [
{ {
type: 'checkbox' type: "checkbox"
},{ },{
title: '标题', title: "标题",
field: 'title', field: "title",
},{ },{
title: '图标', title: "图标",
field: 'icon', field: "icon",
templet: function (d) { templet: function (d) {
return '<i class="layui-icon ' + util.escape(d['icon']) + '"></i>'; return '<i class="layui-icon ' + util.escape(d["icon"]) + '"></i>';
} }
},{ },{
title: '主键', title: "主键",
field: 'id', field: "id",
hide: true, hide: true,
},{ },{
title: 'key', title: "key",
field: 'key', field: "key",
},{ },{
title: '上级菜单', title: "上级菜单",
field: 'pid', field: "pid",
hide: true, hide: true,
templet: function (d) { templet: function (d) {
let field = 'pid'; let field = "pid";
if (typeof d[field] == "undefined") return ''; if (typeof d[field] == "undefined") return "";
let items = []; let items = [];
layui.each((d[field] + '').split(','), function (k , v) { layui.each((d[field] + "").split(","), function (k , v) {
items.push(apiResults[field][v] || v); items.push(apiResults[field][v] || v);
}); });
return util.escape(items.join(',')); return util.escape(items.join(","));
} }
},{ },{
title: '创建时间', title: "创建时间",
field: 'created_at', field: "created_at",
hide: true, hide: true,
},{ },{
title: '更新时间', title: "更新时间",
field: 'updated_at', field: "updated_at",
hide: true, hide: true,
},{ },{
title: 'url', title: "url",
field: 'href', field: "href",
},{ },{
title: '类型', title: "类型",
field: 'type', field: "type",
width: 80, width: 80,
templet: function (d) { templet: function (d) {
let field = 'type'; let field = "type";
let value = apiResults['type'][d['type']] || d['type']; let value = apiResults["type"][d["type"]] || d["type"];
let css = {'目录':'layui-bg-blue', '菜单': 'layui-bg-green', '权限': 'layui-bg-orange'}[value]; let css = {"目录":"layui-bg-blue", "菜单": "layui-bg-green", "权限": "layui-bg-orange"}[value];
return '<span class="layui-badge '+css+'">'+util.escape(value)+'</span>'; return '<span class="layui-badge '+css+'">'+util.escape(value)+'</span>';
} }
},{ },{
title: '排序', title: "排序",
field: 'weight', field: "weight",
width: 80, width: 80,
},{ },{
title: "操作", title: "操作",
@ -154,37 +154,37 @@
function render() function render()
{ {
treeTable.render({ treeTable.render({
elem: '#data-table', elem: "#data-table",
url: SELECT_API, url: SELECT_API,
treeColIndex: 1, treeColIndex: 1,
treeSpid: 0, treeSpid: 0,
treeIdName: 'id', treeIdName: "id",
treePidName: 'pid', treePidName: "pid",
treeDefaultClose: true, treeDefaultClose: true,
cols: [cols], cols: [cols],
skin: 'line', skin: "line",
size: 'lg', size: "lg",
toolbar: '#table-toolbar', toolbar: "#table-toolbar",
defaultToolbar: [{ defaultToolbar: [{
title: '刷新', title: "刷新",
layEvent: 'refresh', layEvent: "refresh",
icon: 'layui-icon-refresh', icon: "layui-icon-refresh",
}, 'filter', 'print', 'exports'] }, "filter", "print", "exports"]
}); });
} }
// 获取下拉菜单及树形组件数据 // 获取下拉菜单及树形组件数据
let apis = []; let apis = [];
let apiResults = {}; let apiResults = {};
apiResults['pid'] = []; apiResults["pid"] = [];
apis.push(['pid', '/app/admin/admin-rule/select?format=tree&type=0,1']); apis.push(["pid", "/app/admin/admin-rule/select?format=tree&type=0,1"]);
apiResults['type'] = ["目录","菜单","权限"]; apiResults["type"] = ["目录","菜单","权限"];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
$.ajax({ $.ajax({
url: url, url: url,
dateType: 'json', dateType: "json",
success: function (res) { success: function (res) {
function travel(items) { function travel(items) {
for (let k in items) { for (let k in items) {
@ -209,21 +209,21 @@
} }
// 删除或编辑行事件 // 删除或编辑行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 添加 批量删除 刷新事件 // 添加 批量删除 刷新事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
@ -232,9 +232,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'520px', common.isModile()?'100%':'520px'], area: [common.isModile()?"100%":"520px", common.isModile()?"100%":"520px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -244,10 +244,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'520px', common.isModile()?'100%':'520px'], area: [common.isModile()?"100%":"520px", common.isModile()?"100%":"520px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -260,33 +260,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids, obj) { let doRemove = function (ids, obj) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
return obj ? obj.del() : refreshTable(); return obj ? obj.del() : refreshTable();
}); });
} }
@ -296,7 +296,7 @@
// 刷新表格 // 刷新表格
window.refreshTable = function(param) { window.refreshTable = function(param) {
treeTable.reload('#data-table'); treeTable.reload("#data-table");
} }
}) })

View File

@ -87,30 +87,30 @@
const INSERT_URL = "/app/admin/admin-rule/insert"; const INSERT_URL = "/app/admin/admin-rule/insert";
// 图标选择 // 图标选择
layui.use(['iconPicker'], function() { layui.use(["iconPicker"], function() {
layui.iconPicker.render({ layui.iconPicker.render({
elem: '#icon', elem: "#icon",
type: 'fontClass', type: "fontClass",
page: false, page: false,
}); });
}); });
// 上级菜单 // 上级菜单
layui.use(['jquery', 'xmSelect'], function() { layui.use(["jquery", "xmSelect"], function() {
layui.$.ajax({ layui.$.ajax({
url: '/app/admin/admin-rule/select?format=tree&type=0,1', url: "/app/admin/admin-rule/select?format=tree&type=0,1",
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
let value = layui.$('#pid').attr('value'); let value = layui.$("#pid").attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: '#pid', el: "#pid",
name: 'pid', name: "pid",
initValue: initValue, initValue: initValue,
tips: '无', tips: "无",
toolbar: {show: true, list: ["CLEAR"]}, toolbar: {show: true, list: ["CLEAR"]},
data: e.data, data: e.data,
value: '0', value: "0",
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: true, clickClose: true,
radio: true, radio: true,
@ -121,15 +121,15 @@
}); });
// 菜单类型下拉列表 // 菜单类型下拉列表
layui.use(['jquery', 'xmSelect'], function() { layui.use(["jquery", "xmSelect"], function() {
let value = layui.$('#type').attr('value'); let value = layui.$("#type").attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: '#type', el: "#type",
name: 'type', name: "type",
initValue: initValue, initValue: initValue,
data: [{"value":"0","name":"目录"},{"value":"1","name":"菜单"},{"value":"2","name":"权限"}], data: [{"value":"0","name":"目录"},{"value":"1","name":"菜单"},{"value":"2","name":"权限"}],
value: '1', value: "1",
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: true, clickClose: true,
radio: true, radio: true,
@ -137,18 +137,18 @@
}); });
// 表单提交事件 // 表单提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_URL, url: INSERT_URL,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -83,55 +83,55 @@
<script> <script>
// 相关接口 // 相关接口
let PRIMARY_KEY = 'id'; let PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/admin-rule/select" + location.search; const SELECT_API = "/app/admin/admin-rule/select" + location.search;
const UPDATE_API = "/app/admin/admin-rule/update"; const UPDATE_API = "/app/admin/admin-rule/update";
// 获取行数据 // 获取行数据
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
// 赋值表单 // 赋值表单
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (key === 'password') { if (key === "password") {
obj.attr('placeholder', '不更新密码请留空'); obj.attr("placeholder", "不更新密码请留空");
return; return;
} }
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
if (obj[0].nodeName.toLowerCase() === 'textarea') { if (obj[0].nodeName.toLowerCase() === "textarea") {
obj.html(layui.util.escape(value)); obj.html(layui.util.escape(value));
} else { } else {
obj.attr('value', value); obj.attr("value", value);
} }
}); });
// 图标选择 // 图标选择
layui.use(['iconPicker'], function() { layui.use(["iconPicker"], function() {
layui.iconPicker.render({ layui.iconPicker.render({
elem: '#icon', elem: "#icon",
type: 'fontClass', type: "fontClass",
page: false, page: false,
}); });
}); });
// 获取上级菜单 // 获取上级菜单
layui.use(['jquery', 'xmSelect'], function() { layui.use(["jquery", "xmSelect"], function() {
layui.$.ajax({ layui.$.ajax({
url: '/app/admin/admin-rule/select?format=tree&type=0,1', url: "/app/admin/admin-rule/select?format=tree&type=0,1",
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
let value = layui.$('#pid').attr('value'); let value = layui.$("#pid").attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: '#pid', el: "#pid",
name: 'pid', name: "pid",
initValue: initValue, initValue: initValue,
tips: '无', tips: "无",
toolbar: {show: true, list: ["CLEAR"]}, toolbar: {show: true, list: ["CLEAR"]},
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
@ -144,12 +144,12 @@
}); });
// 菜单类型下拉选择 // 菜单类型下拉选择
layui.use(['jquery', 'xmSelect'], function() { layui.use(["jquery", "xmSelect"], function() {
let value = layui.$('#type').attr('value'); let value = layui.$("#type").attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: '#type', el: "#type",
name: 'type', name: "type",
initValue: initValue, initValue: initValue,
data: [{"value":"0","name":"目录"},{"value":"1","name":"菜单"},{"value":"2","name":"权限"}], data: [{"value":"0","name":"目录"},{"value":"1","name":"菜单"},{"value":"2","name":"权限"}],
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
@ -164,19 +164,19 @@
}); });
// 提交事件 // 提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -99,8 +99,8 @@
<script> <script>
// 相关常量 // 相关常量
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = 'plugin\\admin\\app\\controller\\AdminController'; const CONTROLLER = "plugin\\admin\\app\\controller\\AdminController";
const SELECT_API = "/app/admin/admin/select"; const SELECT_API = "/app/admin/admin/select";
const UPDATE_API = "/app/admin/admin/update"; const UPDATE_API = "/app/admin/admin/update";
const DELETE_API = "/app/admin/admin/delete"; const DELETE_API = "/app/admin/admin/delete";
@ -116,7 +116,7 @@
}) })
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -205,9 +205,9 @@
// 获取表格中下拉或树形组件数据 // 获取表格中下拉或树形组件数据
let apis = []; let apis = [];
apis.push(['roles', '/app/admin/admin-role/select?format=select']); apis.push(["roles", "/app/admin/admin-role/select?format=select"]);
let apiResults = {}; let apiResults = {};
apiResults['roles'] = []; apiResults["roles"] = [];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
@ -238,45 +238,45 @@
} }
// 编辑或删除行事件 // 编辑或删除行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -288,9 +288,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -300,10 +300,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -316,33 +316,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -350,8 +350,8 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })

View File

@ -97,7 +97,7 @@
layui.use(["upload", "layer"], function() { layui.use(["upload", "layer"], function() {
let input = layui.$("#avatar").prev(); let input = layui.$("#avatar").prev();
input.prev().attr("src", input.val()); input.prev().attr("src", input.val());
layui.$("#attachment-choose-avatar").on('click', function() { layui.$("#attachment-choose-avatar").on("click", function() {
parent.layer.open({ parent.layer.open({
type: 2, type: 2,
title: "选择附件", title: "选择附件",
@ -112,10 +112,10 @@
}); });
layui.upload.render({ layui.upload.render({
elem: "#avatar", elem: "#avatar",
url: '/app/admin/upload/avatar', url: "/app/admin/upload/avatar",
value: '/app/admin/avatar.png', value: "/app/admin/avatar.png",
acceptMime: 'image/gif,image/jpeg,image/jpg,image/png', acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code > 0) return layui.layer.msg(res.msg); if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url); this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
@ -144,18 +144,18 @@
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -90,30 +90,30 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/admin/select" + location.search; const SELECT_API = "/app/admin/admin/select" + location.search;
const UPDATE_API = "/app/admin/admin/update"; const UPDATE_API = "/app/admin/admin/update";
// 获取数据库记录 // 获取数据库记录
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
// 给表单初始化数据 // 给表单初始化数据
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (key === 'password') { if (key === "password") {
obj.attr('placeholder', '不更新密码请留空'); obj.attr("placeholder", "不更新密码请留空");
return; return;
} }
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
if (obj[0].nodeName.toLowerCase() === 'textarea') { if (obj[0].nodeName.toLowerCase() === "textarea") {
obj.val(layui.util.escape(value)); obj.val(layui.util.escape(value));
} else { } else {
obj.attr('value', value); obj.attr("value", value);
} }
}); });
@ -121,7 +121,7 @@
layui.use(["upload", "layer"], function() { layui.use(["upload", "layer"], function() {
let input = layui.$("#avatar").prev(); let input = layui.$("#avatar").prev();
input.prev().attr("src", input.val()); input.prev().attr("src", input.val());
layui.$("#attachment-choose-avatar").on('click', function() { layui.$("#attachment-choose-avatar").on("click", function() {
parent.layer.open({ parent.layer.open({
type: 2, type: 2,
title: "选择附件", title: "选择附件",
@ -136,9 +136,9 @@
}); });
layui.upload.render({ layui.upload.render({
elem: "#avatar", elem: "#avatar",
url: '/app/admin/upload/avatar', url: "/app/admin/upload/avatar",
acceptMime: 'image/gif,image/jpeg,image/jpg,image/png', acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code > 0) return layui.layer.msg(res.msg); if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url); this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
@ -172,19 +172,19 @@
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -185,37 +185,37 @@
<script> <script>
// 基础设置 // 基础设置
layui.use(['upload', 'layer', 'popup'], function() { layui.use(["upload", "layer", "popup"], function() {
let $ = layui.$; let $ = layui.$;
let form = layui.form; let form = layui.form;
// image // image
let input = $('#image').prev(); let input = $("#image").prev();
input.prev().attr('src', input.val()); input.prev().attr("src", input.val());
layui.upload.render({ layui.upload.render({
elem: '#image', elem: "#image",
url: '/app/admin/upload/avatar', url: "/app/admin/upload/avatar",
acceptMime: 'image/gif,image/jpeg,image/jpg,image/png', acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
done: function (res) { done: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
this.item.prev().val(res.data.url).prev().attr('src', res.data.url); this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
} }
}); });
// 提交 // 提交
form.on('submit(saveBaseInfo)', function(data){ form.on("submit(saveBaseInfo)", function(data){
$.ajax({ $.ajax({
url: '/app/admin/config/update', url: "/app/admin/config/update",
dataType: 'json', dataType: "json",
type: 'POST', type: "POST",
data: {logo: data.field}, data: {logo: data.field},
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
} }
}); });
return false; return false;
@ -224,21 +224,21 @@
// 菜单设置 // 菜单设置
layui.use(['upload', 'layer', 'popup'], function() { layui.use(["upload", "layer", "popup"], function() {
let $ = layui.$; let $ = layui.$;
let form = layui.form; let form = layui.form;
// 提交 // 提交
form.on('submit(saveMenuInfo)', function(data){ form.on("submit(saveMenuInfo)", function(data){
$.ajax({ $.ajax({
url: '/app/admin/config/update', url: "/app/admin/config/update",
dataType: 'json', dataType: "json",
type: 'POST', type: "POST",
data: {menu: data.field}, data: {menu: data.field},
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
} }
}); });
return false; return false;
@ -246,11 +246,11 @@
}); });
// 标签设置 // 标签设置
layui.use(['upload', 'layer', 'popup'], function() { layui.use(["upload", "layer", "popup"], function() {
let $ = layui.$; let $ = layui.$;
let form = layui.form; let form = layui.form;
// 提交 // 提交
form.on('submit(saveTabInfo)', function(data){ form.on("submit(saveTabInfo)", function(data){
let field = data.field; let field = data.field;
field.index = { field.index = {
id: field.id, id: field.id,
@ -259,38 +259,38 @@
}; };
delete data.field; delete data.field;
$.ajax({ $.ajax({
url: '/app/admin/config/update', url: "/app/admin/config/update",
dataType: 'json', dataType: "json",
type: 'POST', type: "POST",
data: {tab: field}, data: {tab: field},
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
} }
}); });
return false; return false;
}); });
}); });
layui.use(['form'], function () { layui.use(["form"], function () {
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: '/app/admin/config/get', url: "/app/admin/config/get",
dataType: 'json', dataType: "json",
success: function (res) { success: function (res) {
form.val('baseInfo', res.logo); form.val("baseInfo", res.logo);
$('#image').prev().val(res.logo.image).prev().attr('src', res.logo.image); $("#image").prev().val(res.logo.image).prev().attr("src", res.logo.image);
form.val('menuInfo', res.menu); form.val("menuInfo", res.menu);
let tab = res.tab; let tab = res.tab;
let index = tab.index; let index = tab.index;
delete tab.index; delete tab.index;
tab.id = index.id; tab.id = index.id;
tab.title = index.title; tab.title = index.title;
tab.href= index.href; tab.href= index.href;
form.val('tabInfo', res.tab); form.val("tabInfo", res.tab);
} }
}); });

View File

@ -107,6 +107,6 @@
<script src="/app/admin/component/layui/layui.js"></script> <script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
layui.use('design'); layui.use("design");
</script> </script>
</html> </html>

View File

@ -67,7 +67,7 @@
<script> <script>
// 相关接口 // 相关接口
const CONTROLLER = 'plugin\\admin\\app\\controller\\DictController'; const CONTROLLER = "plugin\\admin\\app\\controller\\DictController";
const SELECT_API = "/app/admin/dict/select"; const SELECT_API = "/app/admin/dict/select";
const UPDATE_API = "/app/admin/dict/update"; const UPDATE_API = "/app/admin/dict/update";
const DELETE_API = "/app/admin/dict/delete"; const DELETE_API = "/app/admin/dict/delete";
@ -75,7 +75,7 @@
const UPDATE_URL = "/app/admin/dict/update"; const UPDATE_URL = "/app/admin/dict/update";
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -134,45 +134,45 @@
render(); render();
// 编辑或删除行事件 // 编辑或删除行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -184,61 +184,61 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'500px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"500px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
// 表格编辑数据 // 表格编辑数据
let edit = function(obj) { let edit = function(obj) {
let value = obj.data['name']; let value = obj.data["name"];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'500px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"500px"],
content: UPDATE_URL + '?name=' + value content: UPDATE_URL + "?name=" + value
}); });
} }
// 删除一行 // 删除一行
let remove = function(obj) { let remove = function(obj) {
return doRemove(obj.data['name']); return doRemove(obj.data["name"]);
} }
// 删除多行 // 删除多行
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, 'name'); let checkIds = common.checkField(obj, "name");
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data['name'] = ids; data["name"] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -246,8 +246,8 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })

View File

@ -94,99 +94,99 @@
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
const INSERT_API = '/app/admin/dict/insert'; const INSERT_API = "/app/admin/dict/insert";
// 字段设置 // 字段设置
layui.use(['table', 'common', 'popup'], function () { layui.use(["table", "common", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 50, width: 50,
}, },
{ {
title: '值', title: "值",
field: 'value', field: "value",
templet: '#col-value' templet: "#col-value"
}, },
{ {
title: '标题', title: "标题",
field: 'name', field: "name",
templet: '#col-name', templet: "#col-name",
} }
]; ];
window._field_id = 0; window._field_id = 0;
let data = [{ let data = [{
_field_id: _field_id++, _field_id: _field_id++,
value : '', value : "",
name: '', name: "",
}]; }];
table.render({ table.render({
elem: '#column-table', elem: "#column-table",
cols: [cols], cols: [cols],
data: data, data: data,
cellMinWidth: 40, cellMinWidth: 40,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(column-table)', function(obj) { table.on("toolbar(column-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('column-table'); let options = table.getData("column-table");
options.push({ options.push({
_field_id: _field_id++, _field_id: _field_id++,
value : '', value : "",
name: '', name: "",
}); });
table.reloadData('column-table', {data:options}); table.reloadData("column-table", {data:options});
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_field_id'); var checkIds = common.checkField(obj,"_field_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('column-table'); let data = table.getData("column-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._field_id + '') === -1) { if (deleteIds.indexOf(item._field_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('column-table', {data: newData}) table.reloadData("column-table", {data: newData})
} }
}); });
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function () { layui.form.on("submit(save)", function () {
let data = layui.form.val('create-dict-form'); let data = layui.form.val("create-dict-form");
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data, data: data,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });
@ -197,24 +197,24 @@
}); });
window.syncTableData = function () { window.syncTableData = function () {
let tableData = layui.form.val('create-dict-form'); let tableData = layui.form.val("create-dict-form");
let columnTableData = []; let columnTableData = [];
let len = Object.keys(tableData).length; let len = Object.keys(tableData).length;
let id = 0; let id = 0;
window._key_id = 0; window._key_id = 0;
while (id < len) { while (id < len) {
// column data // column data
if (typeof tableData['value[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["value[" + id + "][_field_id]"] !== "undefined") {
columnTableData.push({ columnTableData.push({
_field_id: tableData['value[' + id + '][_field_id]'], _field_id: tableData["value[" + id + "][_field_id]"],
name : tableData['value[' + id + '][name]'], name : tableData["value[" + id + "][name]"],
value: tableData['value[' + id + '][value]'], value: tableData["value[" + id + "][value]"],
}); });
} }
_key_id++; _key_id++;
id++; id++;
} }
layui.table.reloadData('column-table', {data: columnTableData}); layui.table.reloadData("column-table", {data: columnTableData});
} }
</script> </script>

View File

@ -95,29 +95,29 @@
<script> <script>
const DICT_NAME = layui.url().search.name; const DICT_NAME = layui.url().search.name;
const UPDATE_API = '/app/admin/dict/update'; const UPDATE_API = "/app/admin/dict/update";
const SELECT_API = '/app/admin/dict/get/' + DICT_NAME; const SELECT_API = "/app/admin/dict/get/" + DICT_NAME;
// 字段设置 // 字段设置
layui.use(['table', 'common', 'popup'], function () { layui.use(["table", "common", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let $ = layui.$; let $ = layui.$;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 50, width: 50,
}, },
{ {
title: '值', title: "值",
field: 'value', field: "value",
templet: '#col-value' templet: "#col-value"
}, },
{ {
title: '标题', title: "标题",
field: 'name', field: "name",
templet: '#col-name', templet: "#col-name",
} }
]; ];
@ -127,78 +127,78 @@
let data = []; let data = [];
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
async: false, async: false,
success: function (res) { success: function (res) {
data = res.data; data = res.data;
layui.each(data, function (k, v) { layui.each(data, function (k, v) {
data[k]['_field_id'] = _field_id++; data[k]["_field_id"] = _field_id++;
}) })
} }
}); });
table.render({ table.render({
elem: '#column-table', elem: "#column-table",
cols: [cols], cols: [cols],
data: data, data: data,
cellMinWidth: 40, cellMinWidth: 40,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(column-table)', function(obj) { table.on("toolbar(column-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('column-table'); let options = table.getData("column-table");
options.push({ options.push({
_field_id: _field_id++, _field_id: _field_id++,
value : '', value : "",
name: '', name: "",
}); });
table.reloadData('column-table', {data:options}); table.reloadData("column-table", {data:options});
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_field_id'); var checkIds = common.checkField(obj,"_field_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('column-table'); let data = table.getData("column-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._field_id + '') === -1) { if (deleteIds.indexOf(item._field_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('column-table', {data: newData}) table.reloadData("column-table", {data: newData})
} }
}); });
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function () { layui.form.on("submit(save)", function () {
let data = layui.form.val('create-dict-form'); let data = layui.form.val("create-dict-form");
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data, data: data,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });
@ -209,24 +209,24 @@
}); });
window.syncTableData = function () { window.syncTableData = function () {
let tableData = layui.form.val('create-dict-form'); let tableData = layui.form.val("create-dict-form");
let columnTableData = []; let columnTableData = [];
let len = Object.keys(tableData).length; let len = Object.keys(tableData).length;
let id = 0; let id = 0;
window._key_id = 0; window._key_id = 0;
while (id < len) { while (id < len) {
// column data // column data
if (typeof tableData['value[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["value[" + id + "][_field_id]"] !== "undefined") {
columnTableData.push({ columnTableData.push({
_field_id: tableData['value[' + id + '][_field_id]'], _field_id: tableData["value[" + id + "][_field_id]"],
name : tableData['value[' + id + '][name]'], name : tableData["value[" + id + "][name]"],
value: tableData['value[' + id + '][value]'], value: tableData["value[" + id + "][value]"],
}); });
} }
_key_id++; _key_id++;
id++; id++;
} }
layui.table.reloadData('column-table', {data: columnTableData}); layui.table.reloadData("column-table", {data: columnTableData});
} }
</script> </script>

View File

@ -97,7 +97,7 @@
<script src="component/pear/pear.js"></script> <script src="component/pear/pear.js"></script>
<!-- 框 架 初 始 化 --> <!-- 框 架 初 始 化 -->
<script> <script>
layui.use(['admin','jquery','popup','drawer'], function() { layui.use(["admin","jquery","popup","drawer"], function() {
var $ = layui.$; var $ = layui.$;
var admin = layui.admin; var admin = layui.admin;
var popup = layui.popup; var popup = layui.popup;
@ -110,8 +110,8 @@
// 登出逻辑 // 登出逻辑
admin.logout(function(){ admin.logout(function(){
$.ajax({ $.ajax({
url: '/app/admin/account/logout', url: "/app/admin/account/logout",
dataType: 'json', dataType: "json",
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return popup.error(res.msg); return popup.error(res.msg);

View File

@ -118,7 +118,7 @@
<script src="/app/admin/component/layui/layui.js"></script> <script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
layui.use(['form', 'step','code','element', 'popup'], function() { layui.use(["form", "step","code","element", "popup"], function() {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
step = layui.step; step = layui.step;
@ -126,33 +126,33 @@
layui.code(); layui.code();
step.render({ step.render({
elem: '#stepForm', elem: "#stepForm",
filter: 'stepForm', filter: "stepForm",
width: '100%', width: "100%",
stepWidth: '70%', stepWidth: "70%",
height: '500px', height: "500px",
stepItems: [{ stepItems: [{
title: '填写数据库信息' title: "填写数据库信息"
}, { }, {
title: '填写管理员账户' title: "填写管理员账户"
}, { }, {
title: '完成' title: "完成"
}] }]
}); });
form.on('submit(formStep)', function(data) { form.on("submit(formStep)", function(data) {
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: '/app/admin/install/step1', url: "/app/admin/install/step1",
type: 'POST', type: "POST",
dataType: 'json', dataType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
layui.popup.success('操作成功', function () { layui.popup.success("操作成功", function () {
step.next('#stepForm'); step.next("#stepForm");
}); });
}, },
complete: function () { complete: function () {
@ -162,19 +162,19 @@
return false; return false;
}); });
form.on('submit(formStep2)', function(data) { form.on("submit(formStep2)", function(data) {
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: '/app/admin/install/step2', url: "/app/admin/install/step2",
type: 'POST', type: "POST",
dataType: 'json', dataType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
//layui.popup.success('安装成功'); //layui.popup.success("安装成功");
step.next('#stepForm'); step.next("#stepForm");
layer.close(loading); layer.close(loading);
}, },
complete: function () { complete: function () {
@ -184,17 +184,17 @@
return false; return false;
}); });
$('.pre').click(function() { $(".pre").click(function() {
step.pre('#stepForm'); step.pre("#stepForm");
return false; return false;
}); });
$('.next').click(function() { $(".next").click(function() {
step.next('#stepForm'); step.next("#stepForm");
return false; return false;
}); });
$('.finish').click(function() { $(".finish").click(function() {
location.reload(); location.reload();
}); });
}) })

View File

@ -32,22 +32,22 @@
<script src="/app/admin/component/layui/layui.js"></script> <script src="/app/admin/component/layui/layui.js"></script>
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
layui.use(['form', 'button', 'popup', 'layer'], function() { layui.use(["form", "button", "popup", "layer"], function() {
var $ = layui.$, layer = layui.layer, form = layui.form; var $ = layui.$, layer = layui.layer, form = layui.form;
function switchCaptcha() { function switchCaptcha() {
$('.codeImage').attr("src", "/app/admin/plugin/captcha?v=" + new Date().getTime()); $(".codeImage").attr("src", "/app/admin/plugin/captcha?v=" + new Date().getTime());
} }
switchCaptcha(); switchCaptcha();
form.on('submit(login)', function (data) { form.on("submit(login)", function (data) {
layer.load(); layer.load();
$.ajax({ $.ajax({
url: '/app/admin/plugin/login', url: "/app/admin/plugin/login",
type: "POST", type: "POST",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
layer.closeAll('loading'); layer.closeAll("loading");
if (!res.code) { if (!res.code) {
layui.popup.success('登录成功', function () { layui.popup.success("登录成功", function () {
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}) })
} else { } else {
@ -59,7 +59,7 @@
}); });
return false; return false;
}); });
$('.codeImage').on('click', function () { $(".codeImage").on("click", function () {
switchCaptcha(); switchCaptcha();
}); });
}) })

View File

@ -25,7 +25,7 @@
升级 升级
</button> </button>
{{# } }} {{# } }}
{{# if(d.name !== 'admin'){ }} {{# if(d.name !== "admin"){ }}
<button class="pear-btn pear-btn-xs pear-btn-danger" onclick="uninstall('{{ d.name }}','{{ d.installed }}')"> <button class="pear-btn pear-btn-xs pear-btn-danger" onclick="uninstall('{{ d.name }}','{{ d.installed }}')">
卸载 卸载
</button> </button>
@ -41,7 +41,7 @@
const AUTH_URL = "/app/admin/plugin/login"; const AUTH_URL = "/app/admin/plugin/login";
const SCHEMA_API = "/app/admin/plugin/schema"; const SCHEMA_API = "/app/admin/plugin/schema";
layui.use(['table', 'form','common', 'popup'], function() { layui.use(["table", "form","common", "popup"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -49,29 +49,29 @@
$.ajax({ $.ajax({
url: SCHEMA_API, url: SCHEMA_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
let cols = e.data; let cols = e.data;
layui.each(cols, function (k, v) { layui.each(cols, function (k, v) {
if (v.field === 'installed') { if (v.field === "installed") {
cols[k].templet = '#install'; cols[k].templet = "#install";
} }
}) })
function render() function render()
{ {
table.render({ table.render({
elem: '#data-table', elem: "#data-table",
url: SELECT_API, url: SELECT_API,
page: true, page: true,
cols: [cols], cols: [cols],
skin: 'line', skin: "line",
size: 'lg', size: "lg",
autoSort: false, autoSort: false,
defaultToolbar: [{ defaultToolbar: [{
title: '刷新', title: "刷新",
layEvent: 'refresh', layEvent: "refresh",
icon: 'layui-icon-refresh', icon: "layui-icon-refresh",
}, 'filter', 'print', 'exports'] }, "filter", "print", "exports"]
}); });
} }
render(); render();
@ -81,9 +81,9 @@
window.install = function(name, version) { window.install = function(name, version) {
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: '/app/admin/plugin/install', url: "/app/admin/plugin/install",
type: 'POST', type: "POST",
dataType: 'json', dataType: "json",
data: {name, version}, data: {name, version},
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
@ -93,14 +93,14 @@
if (res.data && res.data.code === 401) { if (res.data && res.data.code === 401) {
layer.open({ layer.open({
type: 2, type: 2,
title: '登录 workerman.net 官网', title: "登录 workerman.net 官网",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: AUTH_URL content: AUTH_URL
}); });
return; return;
} }
return layui.popup.success('安装成功', function () { return layui.popup.success("安装成功", function () {
parent.location.reload(); parent.location.reload();
}); });
}, },
@ -111,22 +111,22 @@
} }
window.uninstall = function(name, version) { window.uninstall = function(name, version) {
layer.confirm('确定卸载?', { layer.confirm("确定卸载?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: '/app/admin/plugin/uninstall', url: "/app/admin/plugin/uninstall",
type: 'POST', type: "POST",
dataType: 'json', dataType: "json",
data: {name, version}, data: {name, version},
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('卸载成功', function () { return layui.popup.success("卸载成功", function () {
parent.location.reload(); parent.location.reload();
}); });
}, },

View File

@ -97,7 +97,7 @@
<script type="text/html" id="col-type"> <script type="text/html" id="col-type">
<select name="columns[{{ d.LAY_INDEX-1 }}][type]" lay-verify=""> <select name="columns[{{ d.LAY_INDEX-1 }}][type]" lay-verify="">
{{# layui.each(["integer","string","text","date","enum","float","tinyInteger","smallInteger","mediumInteger","bigInteger","unsignedInteger","unsignedTinyInteger","unsignedSmallInteger","unsignedMediumInteger","unsignedBigInteger","decimal","double","mediumText","longText","dateTime","time","timestamp","char","binary"], function (index, item) { }} {{# layui.each(["integer","string","text","date","enum","float","tinyInteger","smallInteger","mediumInteger","bigInteger","unsignedInteger","unsignedTinyInteger","unsignedSmallInteger","unsignedMediumInteger","unsignedBigInteger","decimal","double","mediumText","longText","dateTime","time","timestamp","char","binary"], function (index, item) { }}
<option value="{{ item }}" {{ d.type==item?'selected':''}}>{{ item }}</option> <option value="{{ item }}" {{ d.type==item?"selected":""}}>{{ item }}</option>
{{# }); }} {{# }); }}
</select> </select>
</script> </script>
@ -217,287 +217,287 @@
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
const CREATE_API = '/app/admin/table/create'; const CREATE_API = "/app/admin/table/create";
// 字段设置 // 字段设置
layui.use(['table', 'common', 'popup'], function () { layui.use(["table", "common", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 50, width: 50,
}, },
{ {
title: '字段名称', title: "字段名称",
field: 'field', field: "field",
templet: '#col-field', templet: "#col-field",
width: 182 width: 182
}, },
{ {
title: '字段备注', title: "字段备注",
field: 'comment', field: "comment",
templet: '#col-comment', templet: "#col-comment",
width: 182 width: 182
}, },
{ {
title: '长度/值', title: "长度/值",
field: 'length', field: "length",
templet: '#col-length', templet: "#col-length",
width: 182 width: 182
}, },
{ {
title: '默认值', title: "默认值",
field: 'default', field: "default",
templet: '#col-default', templet: "#col-default",
width: 182 width: 182
}, },
{ {
title: '字段类型', title: "字段类型",
field: 'type', field: "type",
templet: '#col-type', templet: "#col-type",
width: 182 width: 182
}, },
{ {
title: '主键', title: "主键",
field: 'primary_key', field: "primary_key",
templet: '#col-primary_key', templet: "#col-primary_key",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
title: '自增', title: "自增",
field: 'auto_increment', field: "auto_increment",
templet: '#col-auto_increment', templet: "#col-auto_increment",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
title: '为空', title: "为空",
field: 'nullable', field: "nullable",
templet: '#col-nullable', templet: "#col-nullable",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
type: 'space' type: "space"
} }
]; ];
window._field_id = 0; window._field_id = 0;
let data = [{ let data = [{
_field_id: _field_id++, _field_id: _field_id++,
field : 'id', field : "id",
comment: '主键', comment: "主键",
length: 11, length: 11,
default: '', default: "",
type: 'integer', type: "integer",
primary_key: true, primary_key: true,
auto_increment: true, auto_increment: true,
nullable: false, nullable: false,
},{ },{
_field_id: _field_id++, _field_id: _field_id++,
field : 'created_at', field : "created_at",
comment: '创建时间', comment: "创建时间",
length: '', length: "",
default: '', default: "",
type: 'dateTime', type: "dateTime",
primary_key: false, primary_key: false,
auto_increment: false, auto_increment: false,
nullable: true, nullable: true,
},{ },{
_field_id: _field_id++, _field_id: _field_id++,
field : 'updated_at', field : "updated_at",
comment: '更新时间', comment: "更新时间",
length: '', length: "",
default: '', default: "",
type: 'dateTime', type: "dateTime",
primary_key: false, primary_key: false,
auto_increment: false, auto_increment: false,
nullable: true, nullable: true,
},{ },{
_field_id: _field_id++, _field_id: _field_id++,
field : '', field : "",
comment: '', comment: "",
length: '', length: "",
default: '', default: "",
type: 'integer', type: "integer",
primary_key: false, primary_key: false,
auto_increment: false, auto_increment: false,
nullable: true, nullable: true,
}]; }];
table.render({ table.render({
elem: '#column-table', elem: "#column-table",
cols: [cols], cols: [cols],
data: data, data: data,
cellMinWidth: 40, cellMinWidth: 40,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(column-table)', function(obj) { table.on("toolbar(column-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('column-table'); let options = table.getData("column-table");
options.push({ options.push({
_field_id: _field_id++, _field_id: _field_id++,
field : '', field : "",
comment: '', comment: "",
length: '', length: "",
default: '', default: "",
type: 'integer', type: "integer",
primary_key: false, primary_key: false,
auto_increment: false, auto_increment: false,
nullable: true, nullable: true,
}); });
table.reloadData('column-table', {data:options}); table.reloadData("column-table", {data:options});
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_field_id'); var checkIds = common.checkField(obj,"_field_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('column-table'); let data = table.getData("column-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._field_id + '') === -1) { if (deleteIds.indexOf(item._field_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('column-table', {data: newData}) table.reloadData("column-table", {data: newData})
} }
}); });
// 表单设置 // 表单设置
layui.use(['table', 'common', 'element'], function () { layui.use(["table", "common", "element"], function () {
let table = layui.table; let table = layui.table;
layui.element.on('tab(create-table-tab)', function(){ layui.element.on("tab(create-table-tab)", function(){
syncTableData(); syncTableData();
}); });
let cols = [ let cols = [
{ {
title: '字段名称', title: "字段名称",
field: 'field', field: "field",
templet: '#form-field', templet: "#form-field",
width: 180 width: 180
}, },
{ {
title: '字段备注', title: "字段备注",
field: 'comment', field: "comment",
templet: '#form-comment', templet: "#form-comment",
width: 180 width: 180
}, },
{ {
title: '控件类型', title: "控件类型",
field: 'control', field: "control",
templet: '#form-control', templet: "#form-control",
width: 180 width: 180
}, },
{ {
title: '控件参数', title: "控件参数",
field: 'control_args', field: "control_args",
templet: '#form-control_args', templet: "#form-control_args",
width: 180 width: 180
}, },
{ {
title: '表单显示', title: "表单显示",
field: 'form_show', field: "form_show",
templet: '#form-form_show', templet: "#form-form_show",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '列表显示', title: "列表显示",
field: 'list_show', field: "list_show",
templet: '#form-list_show', templet: "#form-list_show",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '支持排序', title: "支持排序",
field: 'enable_sort', field: "enable_sort",
templet: '#form-enable_sort', templet: "#form-enable_sort",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '支持查询', title: "支持查询",
field: 'searchable', field: "searchable",
templet: '#form-searchable', templet: "#form-searchable",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '查询类型', title: "查询类型",
field: 'search_type', field: "search_type",
templet: '#form-search_type', templet: "#form-search_type",
width: 130, width: 130,
}, },
{ {
type: 'space' type: "space"
} }
]; ];
let _id = 0; let _id = 0;
let data = [{ let data = [{
_field_id: _id++, _field_id: _id++,
field : 'id', field : "id",
comment: '主键', comment: "主键",
control: 'inputNumber', control: "inputNumber",
control_args: '', control_args: "",
form_show: false, form_show: false,
list_show: true, list_show: true,
enable_sort: true, enable_sort: true,
searchable: true, searchable: true,
search_type: 'normal', search_type: "normal",
},{ },{
_field_id: _id++, _field_id: _id++,
field : 'created_at', field : "created_at",
comment: '创建时间', comment: "创建时间",
control: 'dateTimePicker', control: "dateTimePicker",
control_args: '', control_args: "",
form_show: false, form_show: false,
list_show: true, list_show: true,
enable_sort: true, enable_sort: true,
searchable: true, searchable: true,
search_type: 'normal', search_type: "normal",
},{ },{
_field_id: _id++, _field_id: _id++,
field : 'updated_at', field : "updated_at",
comment: '更新时间', comment: "更新时间",
control: 'dateTimePicker', control: "dateTimePicker",
control_args: '', control_args: "",
form_show: false, form_show: false,
list_show: true, list_show: true,
enable_sort: false, enable_sort: false,
searchable: false, searchable: false,
search_type: 'normal', search_type: "normal",
}]; }];
table.render({ table.render({
elem: '#form-table', elem: "#form-table",
cols: [cols], cols: [cols],
data: data, data: data,
cellMinWidth: 40, cellMinWidth: 40,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
defaultToolbar: [], defaultToolbar: [],
@ -506,97 +506,97 @@
}); });
// 索引设置 // 索引设置
layui.use(['table', 'common', 'xmSelect', 'popup'], function () { layui.use(["table", "common", "xmSelect", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 52, width: 52,
}, },
{ {
title: '索引名称', title: "索引名称",
field: 'name', field: "name",
templet: '#key-name', templet: "#key-name",
width: 200, width: 200,
}, },
{ {
title: '索引字段', title: "索引字段",
field: 'columns', field: "columns",
templet: '#key-columns', templet: "#key-columns",
width: 200, width: 200,
}, },
{ {
title: '索引类型', title: "索引类型",
field: 'type', field: "type",
templet: '#key-type', templet: "#key-type",
width: 200, width: 200,
}, },
{ {
type: 'space' type: "space"
} }
]; ];
window._key_id = 0; window._key_id = 0;
let data = [{ let data = [{
_key_id: _key_id++, _key_id: _key_id++,
name : '', name : "",
columns: '', columns: "",
type: 'normal' type: "normal"
}]; }];
table.render({ table.render({
elem: '#key-table', elem: "#key-table",
cols: [cols], cols: [cols],
data: data, data: data,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(key-table)', function(obj) { table.on("toolbar(key-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('key-table'); let options = table.getData("key-table");
options.push({ options.push({
_key_id: _key_id++, _key_id: _key_id++,
name : '', name : "",
columns: '', columns: "",
type: 'normal' type: "normal"
}); });
table.reloadData('key-table', {data:options}); table.reloadData("key-table", {data:options});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_key_id'); var checkIds = common.checkField(obj,"_key_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('key-table'); let data = table.getData("key-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._key_id + '') === -1) { if (deleteIds.indexOf(item._key_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('key-table', {data: newData}); table.reloadData("key-table", {data: newData});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
window.syncTableData = function () { window.syncTableData = function () {
let tableData = layui.form.val('create-table-form'); let tableData = layui.form.val("create-table-form");
let formTableDataOld = []; let formTableDataOld = [];
let columnTableData = []; let columnTableData = [];
let formTableData = []; let formTableData = [];
@ -607,41 +607,41 @@
window._key_id = 0; window._key_id = 0;
while (id < len) { while (id < len) {
// column data // column data
if (typeof tableData['columns[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["columns[" + id + "][_field_id]"] !== "undefined") {
columnTableData.push({ columnTableData.push({
_field_id: tableData['columns[' + id + '][_field_id]'], _field_id: tableData["columns[" + id + "][_field_id]"],
field : tableData['columns[' + id + '][field]'], field : tableData["columns[" + id + "][field]"],
comment: tableData['columns[' + id + '][comment]'], comment: tableData["columns[" + id + "][comment]"],
length: tableData['columns[' + id + '][length]'], length: tableData["columns[" + id + "][length]"],
default: tableData['columns[' + id + '][default]'], default: tableData["columns[" + id + "][default]"],
type: tableData['columns[' + id + '][type]'], type: tableData["columns[" + id + "][type]"],
primary_key: tableData['columns[' + id + '][primary_key]'] === 'on', primary_key: tableData["columns[" + id + "][primary_key]"] === "on",
auto_increment: tableData['columns[' + id + '][auto_increment]'] === 'on', auto_increment: tableData["columns[" + id + "][auto_increment]"] === "on",
nullable: tableData['columns[' + id + '][nullable]'] === 'on', nullable: tableData["columns[" + id + "][nullable]"] === "on",
}); });
} }
// old form data // old form data
if (typeof tableData['forms[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["forms[" + id + "][_field_id]"] !== "undefined") {
formTableDataOld.push({ formTableDataOld.push({
_field_id: tableData['forms[' + id + '][_field_id]'], _field_id: tableData["forms[" + id + "][_field_id]"],
field : tableData['columns[' + id + '][field]'], // column field : tableData["columns[" + id + "][field]"], // column
comment: tableData['columns[' + id + '][comment]'], //column comment: tableData["columns[" + id + "][comment]"], //column
control: tableData['forms[' + id + '][control]'], control: tableData["forms[" + id + "][control]"],
control_args: tableData['forms[' + id + '][control_args]'], control_args: tableData["forms[" + id + "][control_args]"],
form_show: tableData['forms[' + id + '][form_show]'] === 'on', form_show: tableData["forms[" + id + "][form_show]"] === "on",
list_show: tableData['forms[' + id + '][list_show]'] === 'on', list_show: tableData["forms[" + id + "][list_show]"] === "on",
enable_sort: tableData['forms[' + id + '][enable_sort]'] === 'on', enable_sort: tableData["forms[" + id + "][enable_sort]"] === "on",
searchable: tableData['forms[' + id + '][searchable]'], searchable: tableData["forms[" + id + "][searchable]"],
search_type: tableData['forms[' + id + '][search_type]'], search_type: tableData["forms[" + id + "][search_type]"],
}); });
} }
// key data // key data
if (typeof tableData['keys[' + _key_id + '][name]'] !== 'undefined') { if (typeof tableData["keys[" + _key_id + "][name]"] !== "undefined") {
keyTableData.push({ keyTableData.push({
_key_id: _key_id, _key_id: _key_id,
name: tableData['keys[' + _key_id + '][name]'], name: tableData["keys[" + _key_id + "][name]"],
columns: tableData['keys[' + _key_id + '][columns]'], columns: tableData["keys[" + _key_id + "][columns]"],
type: tableData['keys[' + _key_id + '][type]'], type: tableData["keys[" + _key_id + "][type]"],
}); });
} }
_key_id++; _key_id++;
@ -663,30 +663,30 @@
_field_id: _field_id, _field_id: _field_id,
field : item.field, // column field : item.field, // column
comment: item.comment, // column comment: item.comment, // column
control: item.type.toLocaleString().indexOf('int') !== -1 ? 'inputNumber' : 'input', control: item.type.toLocaleString().indexOf("int") !== -1 ? "inputNumber" : "input",
control_args: '', control_args: "",
form_show: true, form_show: true,
list_show: true, list_show: true,
enable_sort: false, enable_sort: false,
searchable: false, searchable: false,
search_type: 'normal', search_type: "normal",
}); });
} else { } else {
formTableData.push(formTableOldDataMap[_field_id]); formTableData.push(formTableOldDataMap[_field_id]);
} }
}); });
layui.table.reloadData('column-table', {data: columnTableData}); layui.table.reloadData("column-table", {data: columnTableData});
layui.table.reloadData('form-table', {data: formTableData}); layui.table.reloadData("form-table", {data: formTableData});
layui.table.reloadData('key-table', {data: keyTableData}); layui.table.reloadData("key-table", {data: keyTableData});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
window.keyColumnMultiSelectRender = function () { window.keyColumnMultiSelectRender = function () {
layui.use(['jquery', 'xmSelect', 'table'], function () { layui.use(["jquery", "xmSelect", "table"], function () {
let $ = layui.$; let $ = layui.$;
let table = layui.table; let table = layui.table;
let columnData = table.getData('column-table'); let columnData = table.getData("column-table");
let data = []; let data = [];
layui.each(columnData, function (i, item) { layui.each(columnData, function (i, item) {
if (item.field) { if (item.field) {
@ -695,10 +695,10 @@
}); });
} }
}); });
layui.each($('.key-columns-div'), function (_, dom) { layui.each($(".key-columns-div"), function (_, dom) {
let name = $(dom).attr('name'); let name = $(dom).attr("name");
let value = $(dom).attr('value'); let value = $(dom).attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: dom, el: dom,
name: name, name: name,
@ -713,21 +713,21 @@
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
}); });
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function () { layui.form.on("submit(save)", function () {
syncTableData(); syncTableData();
let data = layui.form.val('create-table-form'); let data = layui.form.val("create-table-form");
layui.$.ajax({ layui.$.ajax({
url: CREATE_API, url: CREATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data, data: data,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -77,18 +77,18 @@
const CRUD_API = "/app/admin/table/crud"; const CRUD_API = "/app/admin/table/crud";
layui.use(['jquery', 'xmSelect'], function() { layui.use(["jquery", "xmSelect"], function() {
layui.$.ajax({ layui.$.ajax({
url: '/app/admin/admin-rule/select?format=tree&type=0,1', url: "/app/admin/admin-rule/select?format=tree&type=0,1",
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
let value = layui.$('#pid').attr('value'); let value = layui.$("#pid").attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: '#pid', el: "#pid",
name: 'pid', name: "pid",
initValue: initValue, initValue: initValue,
tips: '无', tips: "无",
data: e.data, data: e.data,
toolbar: {show: true, list: ["CLEAR"]}, toolbar: {show: true, list: ["CLEAR"]},
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
@ -100,27 +100,27 @@
}); });
}); });
layui.use(['iconPicker'], function() { layui.use(["iconPicker"], function() {
layui.iconPicker.render({ layui.iconPicker.render({
elem: '#icon', elem: "#icon",
type: 'fontClass', type: "fontClass",
page: false page: false
}); });
}); });
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: CRUD_API, url: CRUD_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -44,7 +44,7 @@
const MODIFY_URL = "/app/admin/table/modify"; const MODIFY_URL = "/app/admin/table/modify";
const CRUD_URL = "/app/admin/table/crud"; const CRUD_URL = "/app/admin/table/crud";
layui.use(['table', 'form', 'common', 'popup'], function() { layui.use(["table", "form", "common", "popup"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -52,104 +52,100 @@
let cols = [ let cols = [
{ {
type: 'checkbox' type: "checkbox"
}, { }, {
title: '表名', title: "表名",
field: 'TABLE_NAME', field: "TABLE_NAME",
templet: function (d) { templet: function (d) {
return '<a class="tab-link" src="' + VIEW_URL + '?table=' + d.TABLE_NAME + '">' + d.TABLE_NAME + '</a>'; return '<a class="tab-link" src="' + VIEW_URL + '?table=' + d.TABLE_NAME + '">' + d.TABLE_NAME + '</a>';
} }
}, },
{ {
title: '备注', title: "备注",
field: 'TABLE_COMMENT', field: "TABLE_COMMENT",
}, },
{ {
title: '记录数', title: "记录数",
field: 'TABLE_ROWS', field: "TABLE_ROWS",
width: 100, width: 100,
}, },
{ {
title: '引擎', title: "引擎",
field: 'ENGINE', field: "ENGINE",
width: 100, width: 100,
}, },
{ {
title: '字符集', title: "字符集",
field: 'TABLE_COLLATION', field: "TABLE_COLLATION",
}, },
{ {
title: '创建时间', title: "创建时间",
field: 'CREATE_TIME', field: "CREATE_TIME",
}, },
{ {
title: '操作', title: "操作",
toolbar: '#table-bar', toolbar: "#table-bar",
align: 'center', align: "center",
width: 200 width: 200
} }
]; ];
table.render({ table.render({
elem: '#data-table', elem: "#data-table",
url: SELECT_API, url: SELECT_API,
page: true, page: true,
cols: [cols], cols: [cols],
skin: 'line', skin: "line",
size: 'lg', size: "lg",
toolbar: '#table-toolbar', toolbar: "#table-toolbar",
defaultToolbar: [{ defaultToolbar: [{
title: '刷新', title: "刷新",
layEvent: 'refresh', layEvent: "refresh",
icon: 'layui-icon-refresh', icon: "layui-icon-refresh",
}, 'filter', 'print', 'exports'] }, "filter", "print", "exports"]
}); });
$(document).on('click', '.tab-link', function () { $(document).on("click", ".tab-link", function () {
let obj = $(this); let obj = $(this);
let table = obj.html(); let table = obj.html();
let url = obj.attr('src'); let url = obj.attr("src");
parent.layui.admin.addTab(table , table + "表", url); parent.layui.admin.addTab(table , table + "表", url);
}) })
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} else if (obj.event === 'crud') { } else if (obj.event === "crud") {
crud(obj); crud(obj);
} }
}); });
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
form.on('switch(user-enable)', function(obj) {
layer.tips(this.value + ' ' + this.name + '' + obj.elem.checked, obj.othis);
});
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '创建表格', title: "创建表格",
shade: 0.1, shade: 0.1,
maxmin: true, maxmin: true,
area: [common.isModile()?'100%':'98%', common.isModile()?'100%':'95%'], area: [common.isModile()?"100%":"98%", common.isModile()?"100%":"95%"],
content: CREATE_URL content: CREATE_URL
}); });
} }
@ -158,11 +154,11 @@
let table = obj.data.TABLE_NAME; let table = obj.data.TABLE_NAME;
layer.open({ layer.open({
type: 2, type: 2,
title: '修改表格', title: "修改表格",
shade: 0.1, shade: 0.1,
maxmin: true, maxmin: true,
area: [common.isModile()?'100%':'98%', common.isModile()?'100%':'95%'], area: [common.isModile()?"100%":"98%", common.isModile()?"100%":"95%"],
content: MODIFY_URL + '?table=' + table content: MODIFY_URL + "?table=" + table
}); });
} }
@ -170,11 +166,11 @@
let table = obj.data.TABLE_NAME; let table = obj.data.TABLE_NAME;
layer.open({ layer.open({
type: 2, type: 2,
title: '一键菜单', title: "一键菜单",
shade: 0.1, shade: 0.1,
maxmin: true, maxmin: true,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'500px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"500px"],
content: CRUD_URL + '?table=' + table content: CRUD_URL + "?table=" + table
}); });
} }
@ -183,40 +179,40 @@
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var tables = common.checkField(obj, 'TABLE_NAME'); var tables = common.checkField(obj, "TABLE_NAME");
if (tables === "") { if (tables === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(tables.split(',')); doRemove(tables.split(","));
} }
let doRemove = function (tables) { let doRemove = function (tables) {
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DROP_API, url: DROP_API,
data: {tables: tables}, data: {tables: tables},
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function (res) { success: function (res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
} }
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })
@ -229,20 +225,20 @@
return {}; return {};
} }
let props = {}; let props = {};
let split = control_args.split(';'); let split = control_args.split(";");
for (let item of split) { for (let item of split) {
let pos = item.indexOf(':'); let pos = item.indexOf(":");
if (pos === -1) continue; if (pos === -1) continue;
let name = item.substring(0, pos).trim(); let name = item.substring(0, pos).trim();
let values = item.substring(pos + 1).trim(); let values = item.substring(pos + 1).trim();
// values = a:v,c:d // values = a:v,c:d
pos = values.indexOf(':'); pos = values.indexOf(":");
if (pos !== -1) { if (pos !== -1) {
let options = values.split(','); let options = values.split(",");
values = {}; values = {};
for (const option of options) { for (const option of options) {
let [value, name] = option.split(':'); let [value, name] = option.split(":");
values[value] = name; values[value] = name;
} }
} }

View File

@ -38,19 +38,19 @@
<?=$form->js(3)?> <?=$form->js(3)?>
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -221,15 +221,15 @@
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
const MODIFY_API = '/app/admin/table/modify'; const MODIFY_API = "/app/admin/table/modify";
const SCHEMA_API = '/app/admin/table/schema'; const SCHEMA_API = "/app/admin/table/schema";
const TABLE_NAME = '<?=htmlspecialchars($table)?>'; const TABLE_NAME = "<?=htmlspecialchars($table)?>";
layui.use(['jquery'], function () { layui.use(["jquery"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SCHEMA_API + '?table=' + TABLE_NAME, url: SCHEMA_API + "?table=" + TABLE_NAME,
dataType: 'json', dataType: "json",
success: function (res) { success: function (res) {
// 表信息 // 表信息
$('input[name="table"]').val(res.data.table.name); $('input[name="table"]').val(res.data.table.name);
@ -244,16 +244,16 @@
layui.each(columnsData, function (index, item) { layui.each(columnsData, function (index, item) {
columnsData[index]._field_id = _field_id; columnsData[index]._field_id = _field_id;
columnsData[index].old_field = item.field; columnsData[index].old_field = item.field;
columnsData[index].default = item.default === '' ? "''" : item.default; columnsData[index].default = item.default === "" ? "''" : item.default;
formsData[index]._field_id = _field_id; formsData[index]._field_id = _field_id;
_field_id++; _field_id++;
}); });
if (keysData.length === 0) { if (keysData.length === 0) {
keysData.push({ keysData.push({
name : '', name : "",
columns: '', columns: "",
type: 'normal' type: "normal"
}); });
} }
window._key_id = 0; window._key_id = 0;
@ -263,205 +263,205 @@
}); });
// 字段设置 // 字段设置
layui.use(['table', 'common', 'popup'], function () { layui.use(["table", "common", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 50, width: 50,
}, },
{ {
title: '字段名称', title: "字段名称",
field: 'field', field: "field",
templet: '#col-field', templet: "#col-field",
width: 182 width: 182
}, },
{ {
title: '字段备注', title: "字段备注",
field: 'comment', field: "comment",
templet: '#col-comment', templet: "#col-comment",
width: 182 width: 182
}, },
{ {
title: '长度/值', title: "长度/值",
field: 'length', field: "length",
templet: '#col-length', templet: "#col-length",
width: 182 width: 182
}, },
{ {
title: '默认值', title: "默认值",
field: 'default', field: "default",
templet: '#col-default', templet: "#col-default",
width: 182 width: 182
}, },
{ {
title: '字段类型', title: "字段类型",
field: 'type', field: "type",
templet: '#col-type', templet: "#col-type",
width: 182 width: 182
}, },
{ {
title: '主键', title: "主键",
field: 'primary_key', field: "primary_key",
templet: '#col-primary_key', templet: "#col-primary_key",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
title: '自增', title: "自增",
field: 'auto_increment', field: "auto_increment",
templet: '#col-auto_increment', templet: "#col-auto_increment",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
title: '为空', title: "为空",
field: 'nullable', field: "nullable",
templet: '#col-nullable', templet: "#col-nullable",
width: 50, width: 50,
align: 'center', align: "center",
}, },
{ {
type: 'space' type: "space"
} }
]; ];
table.render({ table.render({
elem: '#column-table', elem: "#column-table",
cols: [cols], cols: [cols],
data: columnsData, data: columnsData,
cellMinWidth: 10, cellMinWidth: 10,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(column-table)', function(obj) { table.on("toolbar(column-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('column-table'); let options = table.getData("column-table");
options.push({ options.push({
_field_id: _field_id++, _field_id: _field_id++,
field : '', field : "",
comment: '', comment: "",
length: '', length: "",
default: '', default: "",
type: 'integer', type: "integer",
primary_key: false, primary_key: false,
auto_increment: false, auto_increment: false,
nullable: true, nullable: true,
}); });
table.reloadData('column-table', {data:options}); table.reloadData("column-table", {data:options});
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_field_id'); var checkIds = common.checkField(obj,"_field_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('column-table'); let data = table.getData("column-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._field_id + '') === -1) { if (deleteIds.indexOf(item._field_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('column-table', {data: newData}) table.reloadData("column-table", {data: newData})
} }
}); });
// 表单设置 // 表单设置
layui.use(['table', 'common', 'element'], function () { layui.use(["table", "common", "element"], function () {
let table = layui.table; let table = layui.table;
layui.element.on('tab(create-table-tab)', function(){ layui.element.on("tab(create-table-tab)", function(){
syncTableData(); syncTableData();
}); });
let cols = [ let cols = [
{ {
title: '字段名称', title: "字段名称",
field: 'field', field: "field",
templet: '#form-field', templet: "#form-field",
width: 180 width: 180
}, },
{ {
title: '字段备注', title: "字段备注",
field: 'comment', field: "comment",
templet: '#form-comment', templet: "#form-comment",
width: 180 width: 180
}, },
{ {
title: '控件类型', title: "控件类型",
field: 'control', field: "control",
templet: '#form-control', templet: "#form-control",
width: 180 width: 180
}, },
{ {
title: '控件参数', title: "控件参数",
field: 'control_args', field: "control_args",
templet: '#form-control_args', templet: "#form-control_args",
width: 180 width: 180
}, },
{ {
title: '表单显示', title: "表单显示",
field: 'form_show', field: "form_show",
templet: '#form-form_show', templet: "#form-form_show",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '列表显示', title: "列表显示",
field: 'list_show', field: "list_show",
templet: '#form-list_show', templet: "#form-list_show",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '支持排序', title: "支持排序",
field: 'enable_sort', field: "enable_sort",
templet: '#form-enable_sort', templet: "#form-enable_sort",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '支持查询', title: "支持查询",
field: 'searchable', field: "searchable",
templet: '#form-searchable', templet: "#form-searchable",
width: 67, width: 67,
align: 'center', align: "center",
}, },
{ {
title: '查询类型', title: "查询类型",
field: 'search_type', field: "search_type",
templet: '#form-search_type', templet: "#form-search_type",
width: 130, width: 130,
}, },
{ {
type: 'space' type: "space"
} }
]; ];
table.render({ table.render({
elem: '#form-table', elem: "#form-table",
cols: [cols], cols: [cols],
data: formsData, data: formsData,
cellMinWidth: 40, cellMinWidth: 40,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
defaultToolbar: [], defaultToolbar: [],
@ -470,88 +470,88 @@
}); });
// 索引设置 // 索引设置
layui.use(['table', 'common', 'xmSelect', 'popup'], function () { layui.use(["table", "common", "xmSelect", "popup"], function () {
let table = layui.table; let table = layui.table;
let common = layui.common; let common = layui.common;
let cols = [ let cols = [
{ {
type: 'checkbox', type: "checkbox",
width: 52, width: 52,
}, },
{ {
title: '索引名称', title: "索引名称",
field: 'name', field: "name",
templet: '#key-name', templet: "#key-name",
width: 200, width: 200,
}, },
{ {
title: '索引字段', title: "索引字段",
field: 'columns', field: "columns",
templet: '#key-columns', templet: "#key-columns",
width: 200, width: 200,
}, },
{ {
title: '索引类型', title: "索引类型",
field: 'type', field: "type",
templet: '#key-type', templet: "#key-type",
width: 200, width: 200,
}, },
{ {
type: 'space' type: "space"
} }
]; ];
table.render({ table.render({
elem: '#key-table', elem: "#key-table",
cols: [cols], cols: [cols],
data: keysData, data: keysData,
skin: 'line', skin: "line",
size: 'lg', size: "lg",
limit: 10000, limit: 10000,
page: false, page: false,
toolbar: '#column-toolbar', toolbar: "#column-toolbar",
defaultToolbar: [], defaultToolbar: [],
}); });
table.on('toolbar(key-table)', function(obj) { table.on("toolbar(key-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
let add = function() { let add = function() {
syncTableData(); syncTableData();
let options = table.getData('key-table'); let options = table.getData("key-table");
options.push({ options.push({
_key_id: _key_id++, _key_id: _key_id++,
name : '', name : "",
columns: '', columns: "",
type: 'normal' type: "normal"
}); });
table.reloadData('key-table', {data:options}); table.reloadData("key-table", {data:options});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
let batchRemove = function(obj) { let batchRemove = function(obj) {
var checkIds = common.checkField(obj,'_key_id'); var checkIds = common.checkField(obj,"_key_id");
if (checkIds === "") return layui.popup.warning('未选中数据'); if (checkIds === "") return layui.popup.warning("未选中数据");
let data = table.getData('key-table'); let data = table.getData("key-table");
let newData = []; let newData = [];
let deleteIds = checkIds.split(','); let deleteIds = checkIds.split(",");
layui.each(data, function (index, item) { layui.each(data, function (index, item) {
if (deleteIds.indexOf(item._key_id + '') === -1) { if (deleteIds.indexOf(item._key_id + "") === -1) {
newData.push(item); newData.push(item);
} }
}); });
table.reloadData('key-table', {data: newData}); table.reloadData("key-table", {data: newData});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
window.syncTableData = function () { window.syncTableData = function () {
let tableData = layui.form.val('create-table-form'); let tableData = layui.form.val("create-table-form");
let formTableDataOld = []; let formTableDataOld = [];
let columnTableData = []; let columnTableData = [];
let formTableData = []; let formTableData = [];
@ -562,42 +562,42 @@
window._key_id = 0; window._key_id = 0;
while (id < len) { while (id < len) {
// column data // column data
if (typeof tableData['columns[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["columns[" + id + "][_field_id]"] !== "undefined") {
columnTableData.push({ columnTableData.push({
_field_id: tableData['columns[' + id + '][_field_id]'], _field_id: tableData["columns[" + id + "][_field_id]"],
field : tableData['columns[' + id + '][field]'], field : tableData["columns[" + id + "][field]"],
old_field : tableData['columns[' + id + '][old_field]'], old_field : tableData["columns[" + id + "][old_field]"],
comment: tableData['columns[' + id + '][comment]'], comment: tableData["columns[" + id + "][comment]"],
length: tableData['columns[' + id + '][length]'], length: tableData["columns[" + id + "][length]"],
default: tableData['columns[' + id + '][default]'], default: tableData["columns[" + id + "][default]"],
type: tableData['columns[' + id + '][type]'], type: tableData["columns[" + id + "][type]"],
primary_key: tableData['columns[' + id + '][primary_key]'] === 'on', primary_key: tableData["columns[" + id + "][primary_key]"] === "on",
auto_increment: tableData['columns[' + id + '][auto_increment]'] === 'on', auto_increment: tableData["columns[" + id + "][auto_increment]"] === "on",
nullable: tableData['columns[' + id + '][nullable]'] === 'on', nullable: tableData["columns[" + id + "][nullable]"] === "on",
}); });
} }
// old form data // old form data
if (typeof tableData['forms[' + id + '][_field_id]'] !== 'undefined') { if (typeof tableData["forms[" + id + "][_field_id]"] !== "undefined") {
formTableDataOld.push({ formTableDataOld.push({
_field_id: tableData['forms[' + id + '][_field_id]'], _field_id: tableData["forms[" + id + "][_field_id]"],
field : tableData['columns[' + id + '][field]'], // column field : tableData["columns[" + id + "][field]"], // column
comment: tableData['columns[' + id + '][comment]'], //column comment: tableData["columns[" + id + "][comment]"], //column
control: tableData['forms[' + id + '][control]'], control: tableData["forms[" + id + "][control]"],
control_args: tableData['forms[' + id + '][control_args]'], control_args: tableData["forms[" + id + "][control_args]"],
form_show: tableData['forms[' + id + '][form_show]'] === 'on', form_show: tableData["forms[" + id + "][form_show]"] === "on",
list_show: tableData['forms[' + id + '][list_show]'] === 'on', list_show: tableData["forms[" + id + "][list_show]"] === "on",
enable_sort: tableData['forms[' + id + '][enable_sort]'] === 'on', enable_sort: tableData["forms[" + id + "][enable_sort]"] === "on",
searchable: tableData['forms[' + id + '][searchable]'], searchable: tableData["forms[" + id + "][searchable]"],
search_type: tableData['forms[' + id + '][search_type]'], search_type: tableData["forms[" + id + "][search_type]"],
}); });
} }
// key data // key data
if (typeof tableData['keys[' + _key_id + '][name]'] !== 'undefined') { if (typeof tableData["keys[" + _key_id + "][name]"] !== "undefined") {
keyTableData.push({ keyTableData.push({
_key_id: _key_id, _key_id: _key_id,
name: tableData['keys[' + _key_id + '][name]'], name: tableData["keys[" + _key_id + "][name]"],
columns: tableData['keys[' + _key_id + '][columns]'], columns: tableData["keys[" + _key_id + "][columns]"],
type: tableData['keys[' + _key_id + '][type]'], type: tableData["keys[" + _key_id + "][type]"],
}); });
} }
_key_id++; _key_id++;
@ -619,30 +619,30 @@
_field_id: _field_id, _field_id: _field_id,
field : item.field, // column field : item.field, // column
comment: item.comment, // column comment: item.comment, // column
control: item.type.toLocaleString().indexOf('int') !== -1 ? 'inputNumber' : 'input', control: item.type.toLocaleString().indexOf("int") !== -1 ? "inputNumber" : "input",
control_args: '', control_args: "",
form_show: true, form_show: true,
list_show: true, list_show: true,
enable_sort: false, enable_sort: false,
searchable: false, searchable: false,
search_type: 'normal', search_type: "normal",
}); });
} else { } else {
formTableData.push(formTableOldDataMap[_field_id]); formTableData.push(formTableOldDataMap[_field_id]);
} }
}); });
layui.table.reloadData('column-table', {data: columnTableData}); layui.table.reloadData("column-table", {data: columnTableData});
layui.table.reloadData('form-table', {data: formTableData}); layui.table.reloadData("form-table", {data: formTableData});
layui.table.reloadData('key-table', {data: keyTableData}); layui.table.reloadData("key-table", {data: keyTableData});
keyColumnMultiSelectRender(); keyColumnMultiSelectRender();
} }
window.keyColumnMultiSelectRender = function () { window.keyColumnMultiSelectRender = function () {
layui.use(['jquery', 'xmSelect', 'table'], function () { layui.use(["jquery", "xmSelect", "table"], function () {
let $ = layui.$; let $ = layui.$;
let table = layui.table; let table = layui.table;
let columnData = table.getData('column-table'); let columnData = table.getData("column-table");
let data = []; let data = [];
layui.each(columnData, function (i, item) { layui.each(columnData, function (i, item) {
if (item.field) { if (item.field) {
@ -651,10 +651,10 @@
}); });
} }
}); });
layui.each($('.key-columns-div'), function (_, dom) { layui.each($(".key-columns-div"), function (_, dom) {
let name = $(dom).attr('name'); let name = $(dom).attr("name");
let value = $(dom).attr('value'); let value = $(dom).attr("value");
let initValue = value ? value.split(',') : []; let initValue = value ? value.split(",") : [];
layui.xmSelect.render({ layui.xmSelect.render({
el: dom, el: dom,
name: name, name: name,
@ -675,21 +675,21 @@
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function () { layui.form.on("submit(save)", function () {
syncTableData(); syncTableData();
let data = layui.form.val('create-table-form'); let data = layui.form.val("create-table-form");
layui.$.ajax({ layui.$.ajax({
url: MODIFY_API, url: MODIFY_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data, data: data,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -37,28 +37,28 @@
<script src="/app/admin/component/pear/pear.js"></script> <script src="/app/admin/component/pear/pear.js"></script>
<script> <script>
let PRIMARY_KEY = 'id'; let PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/table/select" + location.search; const SELECT_API = "/app/admin/table/select" + location.search;
const UPDATE_API = "/app/admin/table/update"; const UPDATE_API = "/app/admin/table/update";
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
let util = layui.util; let util = layui.util;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (key === 'password') { if (key === "password") {
obj.attr('placeholder', '不更新密码请留空'); obj.attr("placeholder", "不更新密码请留空");
return; return;
} }
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
if (obj[0].nodeName.toLowerCase() === 'textarea') { if (obj[0].nodeName.toLowerCase() === "textarea") {
obj.html(util.escape(value)); obj.html(util.escape(value));
} else { } else {
obj.attr('value', value); obj.attr("value", value);
} }
}); });
@ -68,19 +68,19 @@
}); });
}); });
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
//提交事件 //提交事件
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -68,7 +68,7 @@
<?=$form->js(3)?> <?=$form->js(3)?>
layui.use(['table', 'form','common', 'popup', 'util'], function() { layui.use(["table", "form","common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -79,11 +79,11 @@
let apiResults = {}; let apiResults = {};
$.ajax({ $.ajax({
url: SCHEMA_API, url: SCHEMA_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
let forms = e.data.forms; let forms = e.data.forms;
let cols = [{ let cols = [{
type: 'checkbox' type: "checkbox"
}]; }];
for (let i in forms) { for (let i in forms) {
let item = forms[i]; let item = forms[i];
@ -97,13 +97,13 @@
let control = item.control.toLowerCase(); let control = item.control.toLowerCase();
// switch 可以直接编辑 // switch 可以直接编辑
if (control === 'switch') { if (control === "switch") {
let props = getProps(item.control_args); let props = getProps(item.control_args);
let layText = props['lay-text'] || ''; let layText = props["lay-text"] || "";
schema.templet = function (d) { schema.templet = function (d) {
form.on('switch('+field+')', function (data) { form.on("switch("+field+")", function (data) {
if (!PRIMARY_KEY) { if (!PRIMARY_KEY) {
return layui.popup.warning('该表没有主键,无法完成此操作'); return layui.popup.warning("该表没有主键,无法完成此操作");
} }
let load = layer.load(); let load = layer.load();
let postData = { table: TABLE_NAME }; let postData = { table: TABLE_NAME };
@ -114,25 +114,25 @@
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功'); return layui.popup.success("操作成功");
}) })
}); });
let checked = d[field] === 1 ? 'checked' : ''; let checked = d[field] === 1 ? "checked" : "";
return '<input type="checkbox" value="'+util.escape(d[PRIMARY_KEY])+'" lay-filter="'+util.escape(field)+'" lay-skin="switch" lay-text="'+util.escape(layText)+'" '+checked+'/>'; return '<input type="checkbox" value="'+util.escape(d[PRIMARY_KEY])+'" lay-filter="'+util.escape(field)+'" lay-skin="switch" lay-text="'+util.escape(layText)+'" '+checked+'/>';
} }
} else if (control === 'iconpicker') { } else if (control === "iconpicker") {
schema.templet = function (d) { schema.templet = function (d) {
return '<i class="layui-icon ' + util.escape(d[field]) + '"></i>'; return '<i class="layui-icon ' + util.escape(d[field]) + '"></i>';
}; };
} else if (control === 'upload') { } else if (control === "upload") {
schema.templet = function (d) { schema.templet = function (d) {
return '<a href="' + encodeURI(d[field]) + '" target="_blank">' + util.escape(d[field]) + '</a>'; return '<a href="' + encodeURI(d[field]) + '" target="_blank">' + util.escape(d[field]) + '</a>';
}; };
} else if (control === 'uploadimage') { } else if (control === "uploadimage") {
schema.templet = function (d) { schema.templet = function (d) {
return '<img src="'+encodeURI(d[field])+'" style="max-width:32px;max-height:32px;" />'; return '<img src="'+encodeURI(d[field])+'" style="max-width:32px;max-height:32px;" />';
}; };
} else if (['select', 'selectmulti', 'treeselect', 'treeselectmulti'].indexOf(control) !== -1) { } else if (["select", "selectmulti", "treeselect", "treeselectmulti"].indexOf(control) !== -1) {
let props = getProps(item.control_args); let props = getProps(item.control_args);
apiResults[field] = []; apiResults[field] = [];
if (props.url) { if (props.url) {
@ -141,39 +141,39 @@
apiResults[field] = props.data; apiResults[field] = props.data;
} }
schema.templet = function (d) { schema.templet = function (d) {
if (typeof d[field] == "undefined") return ''; if (typeof d[field] == "undefined") return "";
let items = []; let items = [];
layui.each((d[field] + '').split(','), function (k , v) { layui.each((d[field] + "").split(","), function (k , v) {
items.push(apiResults[field][v] || v); items.push(apiResults[field][v] || v);
}); });
return util.escape(items.join(',')); return util.escape(items.join(","));
} }
} }
cols.push(schema); cols.push(schema);
} }
cols.push({ cols.push({
title: '操作', title: "操作",
toolbar: '#table-bar', toolbar: "#table-bar",
align: 'center', align: "center",
width: 130 width: 130
}); });
function render() function render()
{ {
table.render({ table.render({
elem: '#data-table', elem: "#data-table",
url: SELECT_API, url: SELECT_API,
page: true, page: true,
cols: [cols], cols: [cols],
skin: 'line', skin: "line",
size: 'lg', size: "lg",
toolbar: '#table-toolbar', toolbar: "#table-toolbar",
autoSort: false, autoSort: false,
defaultToolbar: [{ defaultToolbar: [{
title: '刷新', title: "刷新",
layEvent: 'refresh', layEvent: "refresh",
icon: 'layui-icon-refresh', icon: "layui-icon-refresh",
}, 'filter', 'print', 'exports'] }, "filter", "print", "exports"]
}); });
} }
@ -183,7 +183,7 @@
let [field, url] = item; let [field, url] = item;
$.ajax({ $.ajax({
url: url, url: url,
dateType: 'json', dateType: "json",
success: function (res) { success: function (res) {
function travel(items) { function travel(items) {
for (let k in items) { for (let k in items) {
@ -210,40 +210,40 @@
} }
}); });
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
window.remove(obj); window.remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
window.edit(obj); window.edit(obj);
} }
}); });
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
window.add(); window.add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
window.refreshTable(); window.refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
window.batchRemove(obj); window.batchRemove(obj);
} }
}); });
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -254,24 +254,24 @@
window.add = function() { window.add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
window.edit = function(obj) { window.edit = function(obj) {
if (!PRIMARY_KEY) { if (!PRIMARY_KEY) {
return layui.popup.warning('该表没有主键,无法完成此操作'); return layui.popup.warning("该表没有主键,无法完成此操作");
} }
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: UPDATE_URL + '&' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "&" + PRIMARY_KEY + "=" + value
}); });
} }
@ -282,45 +282,45 @@
window.batchRemove = function(obj) { window.batchRemove = function(obj) {
var checkIds = common.checkField(obj, PRIMARY_KEY); var checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
window.doRemove(checkIds.split(',')); window.doRemove(checkIds.split(","));
} }
window.doRemove = function (ids) { window.doRemove = function (ids) {
if (!PRIMARY_KEY) { if (!PRIMARY_KEY) {
return layui.popup.warning('该表没有主键,无法完成此操作'); return layui.popup.warning("该表没有主键,无法完成此操作");
} }
let data = { let data = {
table: TABLE_NAME table: TABLE_NAME
}; };
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
} }
window.refreshTable = function() { window.refreshTable = function() {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })
@ -333,20 +333,20 @@
return {}; return {};
} }
let props = {}; let props = {};
let split = control_args.split(';'); let split = control_args.split(";");
for (let item of split) { for (let item of split) {
let pos = item.indexOf(':'); let pos = item.indexOf(":");
if (pos === -1) continue; if (pos === -1) continue;
let name = item.substring(0, pos).trim(); let name = item.substring(0, pos).trim();
let values = item.substring(pos + 1).trim(); let values = item.substring(pos + 1).trim();
// values = a:v,c:d // values = a:v,c:d
pos = values.indexOf(':'); pos = values.indexOf(":");
if (pos !== -1) { if (pos !== -1) {
let options = values.split(','); let options = values.split(",");
values = {}; values = {};
for (const option of options) { for (const option of options) {
let [value, name] = option.split(':'); let [value, name] = option.split(":");
values[value] = name; values[value] = name;
} }
} }

View File

@ -98,7 +98,7 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = "plugin\\admin\\app\\controller\\UploadController"; const CONTROLLER = "plugin\\admin\\app\\controller\\UploadController";
const SELECT_API = "/app/admin/upload/select"; const SELECT_API = "/app/admin/upload/select";
const UPDATE_API = "/app/admin/upload/update"; const UPDATE_API = "/app/admin/upload/update";
@ -107,7 +107,7 @@
const UPDATE_URL = "/app/admin/upload/update"; const UPDATE_URL = "/app/admin/upload/update";
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -119,7 +119,7 @@
layui.laydate.render({ layui.laydate.render({
elem: "#created_at", elem: "#created_at",
range: ["#created_at-date-start", "#created_at-date-end"], range: ["#created_at-date-start", "#created_at-date-end"],
type: 'datetime', type: "datetime",
}); });
}) })
@ -137,11 +137,11 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
on: function(data){ on: function(data){
let value = data.arr[0] ? data.arr[0].value : ''; let value = data.arr[0] ? data.arr[0].value : "";
table.reload('data-table', { table.reload("data-table", {
where: {category: value} where: {category: value}
}) })
}, },
@ -166,7 +166,7 @@
title: "文件", title: "文件",
field: "url", field: "url",
templet: function (d) { templet: function (d) {
if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].indexOf(d.ext.toLowerCase()) !== -1) { if (["jpg", "jpeg", "png", "gif", "bmp", "webp", "svg"].indexOf(d.ext.toLowerCase()) !== -1) {
return '<img src="' + encodeURI(d['url']) + '" style="max-width:32px;max-height:32px;" />'; return '<img src="' + encodeURI(d['url']) + '" style="max-width:32px;max-height:32px;" />';
} }
return '<a href="' + encodeURI(d['url']) + '" target="_blank">' + util.escape(d['url']) + '</a>'; return '<a href="' + encodeURI(d['url']) + '" target="_blank">' + util.escape(d['url']) + '</a>';
@ -236,7 +236,7 @@
// 查询指定后缀 // 查询指定后缀
let searchExt = layui.url().search.ext; let searchExt = layui.url().search.ext;
if (searchExt) { if (searchExt) {
layui.$('.top-search-from input[name="ext"]').val(searchExt); layui.$(".top-search-from input[name="ext"]").val(searchExt);
} }
table.render({ table.render({
elem: "#data-table", elem: "#data-table",
@ -254,16 +254,16 @@
icon: "layui-icon-refresh", icon: "layui-icon-refresh",
}, "filter", "print", "exports"], }, "filter", "print", "exports"],
done: function () { done: function () {
layer.photos({photos: 'div[lay-id="data-table"]', anim: 5}); layer.photos({photos: "div[lay-id="data-table"]", anim: 5});
} }
}); });
} }
// 获取表格中下拉或树形组件数据 // 获取表格中下拉或树形组件数据
let apis = []; let apis = [];
apis.push(['category', '/app/admin/dict/get/upload']); apis.push(["category", "/app/admin/dict/get/upload"]);
let apiResults = {}; let apiResults = {};
apiResults['category'] = []; apiResults["category"] = [];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
@ -294,47 +294,47 @@
} }
// 编辑删除或选择行事件 // 编辑删除或选择行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} else if (obj.event === 'select') { } else if (obj.event === "select") {
select(obj); select(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -346,9 +346,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'380px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"380px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -358,10 +358,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'380px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"380px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -374,33 +374,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -416,14 +416,14 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
// 格式化文件大小 // 格式化文件大小
let formatSize = function(value) { let formatSize = function(value) {
if(null == value || '' === value){ if(null == value || "" === value){
return "0 Bytes"; return "0 Bytes";
} }
let unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"]; let unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];

View File

@ -99,7 +99,7 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = "plugin\\admin\\app\\controller\\UploadController"; const CONTROLLER = "plugin\\admin\\app\\controller\\UploadController";
const SELECT_API = "/app/admin/upload/select"; const SELECT_API = "/app/admin/upload/select";
const UPDATE_API = "/app/admin/upload/update"; const UPDATE_API = "/app/admin/upload/update";
@ -112,7 +112,7 @@
layui.laydate.render({ layui.laydate.render({
elem: "#created_at", elem: "#created_at",
range: ["#created_at-date-start", "#created_at-date-end"], range: ["#created_at-date-start", "#created_at-date-end"],
type: 'datetime', type: "datetime",
}); });
}) })
@ -130,8 +130,8 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
@ -151,15 +151,15 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
}); });
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -182,7 +182,7 @@
title: "文件", title: "文件",
field: "url", field: "url",
templet: function (d) { templet: function (d) {
if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].indexOf(d.ext.toLowerCase()) !== -1) { if (["jpg", "jpeg", "png", "gif", "bmp", "webp", "svg"].indexOf(d.ext.toLowerCase()) !== -1) {
return '<img src="' + encodeURI(d['url']) + '" style="max-width:32px;max-height:32px;" />'; return '<img src="' + encodeURI(d['url']) + '" style="max-width:32px;max-height:32px;" />';
} }
return '<a href="' + encodeURI(d['url']) + '" target="_blank">' + util.escape(d['url']) + '</a>'; return '<a href="' + encodeURI(d['url']) + '" target="_blank">' + util.escape(d['url']) + '</a>';
@ -271,11 +271,11 @@
// 获取表格中下拉或树形组件数据 // 获取表格中下拉或树形组件数据
let apis = []; let apis = [];
apis.push(['admin_id', '/app/admin/admin/select?format=select']); apis.push(["admin_id", "/app/admin/admin/select?format=select"]);
apis.push(['category', '/app/admin/dict/get/upload']); apis.push(["category", "/app/admin/dict/get/upload"]);
let apiResults = {}; let apiResults = {};
apiResults['admin_id'] = []; apiResults["admin_id"] = [];
apiResults['category'] = []; apiResults["category"] = [];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
@ -306,45 +306,45 @@
} }
// 编辑删除或选择行事件 // 编辑删除或选择行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -356,9 +356,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'380px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"380px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -368,10 +368,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'380px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"380px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -384,33 +384,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -418,14 +418,14 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
// 格式化文件大小 // 格式化文件大小
let formatSize = function(value) { let formatSize = function(value) {
if(null == value || '' === value){ if(null == value || "" === value){
return "0 Bytes"; return "0 Bytes";
} }
let unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"]; let unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];

View File

@ -41,17 +41,17 @@
<script> <script>
// 字段 文件 url // 字段 文件 url
layui.use(['upload', 'layer', 'popup', 'util'], function() { layui.use(["upload", "layer", "popup", "util"], function() {
let input = layui.$('#url').prev(); let input = layui.$("#url").prev();
input.prev().html(layui.util.escape(input.val())); input.prev().html(layui.util.escape(input.val()));
layui.upload.render({ layui.upload.render({
elem: "#url", elem: "#url",
accept: 'file', accept: "file",
data: {category: function () { data: {category: function () {
return layui.$('input[name="category"]').val(); return layui.$('input[name="category"]').val();
}}, }},
url: '/app/admin/upload/insert', url: "/app/admin/upload/insert",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code) return layui.popup.failure(res.msg); if (res.code) return layui.popup.failure(res.msg);
parent.refreshTable(); parent.refreshTable();
@ -74,8 +74,8 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });

View File

@ -41,34 +41,34 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/upload/select" + location.search; const SELECT_API = "/app/admin/upload/select" + location.search;
const UPDATE_API = "/app/admin/upload/update"; const UPDATE_API = "/app/admin/upload/update";
// 获取数据库记录 // 获取数据库记录
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
// 给表单初始化数据 // 给表单初始化数据
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
obj.attr('value', value); obj.attr("value", value);
}); });
// 字段 文件 url // 字段 文件 url
layui.use(['upload', 'layer', 'popup', 'util'], function() { layui.use(["upload", "layer", "popup", "util"], function() {
let input = layui.$('#url').prev(); let input = layui.$("#url").prev();
input.prev().html(layui.util.escape(input.val())); input.prev().html(layui.util.escape(input.val()));
layui.upload.render({ layui.upload.render({
elem: "#url", elem: "#url",
url: '/app/admin/upload/update', url: "/app/admin/upload/update",
accept: 'file', accept: "file",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code) return layui.popup.failure(res.msg); if (res.code) return layui.popup.failure(res.msg);
this.item.prev().val(res.data.url).prev().html(layui.util.escape(res.data.url)); this.item.prev().val(res.data.url).prev().html(layui.util.escape(res.data.url));
@ -90,8 +90,8 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
@ -102,19 +102,19 @@
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -170,8 +170,8 @@
<script> <script>
// 相关常量 // 相关常量
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const CONTROLLER = 'plugin\\admin\\app\\controller\\UserController'; const CONTROLLER = "plugin\\admin\\app\\controller\\UserController";
const SELECT_API = "/app/admin/user/select"; const SELECT_API = "/app/admin/user/select";
const UPDATE_API = "/app/admin/user/update"; const UPDATE_API = "/app/admin/user/update";
const DELETE_API = "/app/admin/user/delete"; const DELETE_API = "/app/admin/user/delete";
@ -192,8 +192,8 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
@ -212,7 +212,7 @@
layui.laydate.render({ layui.laydate.render({
elem: "#last_time", elem: "#last_time",
range: ["#last_time-date-start", "#last_time-date-end"], range: ["#last_time-date-start", "#last_time-date-end"],
type: 'datetime', type: "datetime",
}); });
}) })
@ -221,12 +221,12 @@
layui.laydate.render({ layui.laydate.render({
elem: "#join_time", elem: "#join_time",
range: ["#join_time-date-start", "#join_time-date-end"], range: ["#join_time-date-start", "#join_time-date-end"],
type: 'datetime', type: "datetime",
}); });
}) })
// 表格渲染 // 表格渲染
layui.use(['table', 'form', 'common', 'popup', 'util'], function() { layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table; let table = layui.table;
let form = layui.form; let form = layui.form;
let $ = layui.$; let $ = layui.$;
@ -377,9 +377,9 @@
// 获取表格中下拉或树形组件数据 // 获取表格中下拉或树形组件数据
let apis = []; let apis = [];
apis.push(['sex', '/app/admin/dict/get/sex']); apis.push(["sex", "/app/admin/dict/get/sex"]);
let apiResults = {}; let apiResults = {};
apiResults['sex'] = []; apiResults["sex"] = [];
let count = apis.length; let count = apis.length;
layui.each(apis, function (k, item) { layui.each(apis, function (k, item) {
let [field, url] = item; let [field, url] = item;
@ -410,45 +410,45 @@
} }
// 编辑或删除行事件 // 编辑或删除行事件
table.on('tool(data-table)', function(obj) { table.on("tool(data-table)", function(obj) {
if (obj.event === 'remove') { if (obj.event === "remove") {
remove(obj); remove(obj);
} else if (obj.event === 'edit') { } else if (obj.event === "edit") {
edit(obj); edit(obj);
} }
}); });
// 表格顶部工具栏事件 // 表格顶部工具栏事件
table.on('toolbar(data-table)', function(obj) { table.on("toolbar(data-table)", function(obj) {
if (obj.event === 'add') { if (obj.event === "add") {
add(); add();
} else if (obj.event === 'refresh') { } else if (obj.event === "refresh") {
refreshTable(); refreshTable();
} else if (obj.event === 'batchRemove') { } else if (obj.event === "batchRemove") {
batchRemove(obj); batchRemove(obj);
} }
}); });
// 表格顶部搜索事件 // 表格顶部搜索事件
form.on('submit(table-query)', function(data) { form.on("submit(table-query)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: data.field where: data.field
}) })
return false; return false;
}); });
// 表格顶部搜索重置事件 // 表格顶部搜索重置事件
form.on('submit(table-reset)', function(data) { form.on("submit(table-reset)", function(data) {
table.reload('data-table', { table.reload("data-table", {
where: [] where: []
}) })
}); });
// 表格排序事件 // 表格排序事件
table.on('sort(data-table)', function(obj){ table.on("sort(data-table)", function(obj){
table.reload('data-table', { table.reload("data-table", {
initSort: obj, initSort: obj,
scrollPos: 'fixed', scrollPos: "fixed",
where: { where: {
field: obj.field, field: obj.field,
order: obj.type order: obj.type
@ -460,9 +460,9 @@
let add = function() { let add = function() {
layer.open({ layer.open({
type: 2, type: 2,
title: '新增', title: "新增",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: INSERT_URL content: INSERT_URL
}); });
} }
@ -472,10 +472,10 @@
let value = obj.data[PRIMARY_KEY]; let value = obj.data[PRIMARY_KEY];
layer.open({ layer.open({
type: 2, type: 2,
title: '修改', title: "修改",
shade: 0.1, shade: 0.1,
area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'450px'], area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: UPDATE_URL + '?' + PRIMARY_KEY + '=' + value content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
}); });
} }
@ -488,33 +488,33 @@
let batchRemove = function(obj) { let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY); let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") { if (checkIds === "") {
layui.popup.warning('未选中数据'); layui.popup.warning("未选中数据");
return false; return false;
} }
doRemove(checkIds.split(',')); doRemove(checkIds.split(","));
} }
// 执行删除 // 执行删除
let doRemove = function (ids) { let doRemove = function (ids) {
let data = {}; let data = {};
data[PRIMARY_KEY] = ids; data[PRIMARY_KEY] = ids;
layer.confirm('确定删除?', { layer.confirm("确定删除?", {
icon: 3, icon: 3,
title: '提示' title: "提示"
}, function(index) { }, function(index) {
layer.close(index); layer.close(index);
let loading = layer.load(); let loading = layer.load();
$.ajax({ $.ajax({
url: DELETE_API, url: DELETE_API,
data: data, data: data,
dataType: 'json', dataType: "json",
type: 'post', type: "post",
success: function(res) { success: function(res) {
layer.close(loading); layer.close(loading);
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', refreshTable); return layui.popup.success("操作成功", refreshTable);
} }
}) })
}); });
@ -522,8 +522,8 @@
// 刷新表格数据 // 刷新表格数据
window.refreshTable = function(param) { window.refreshTable = function(param) {
table.reloadData('data-table', { table.reloadData("data-table", {
scrollPos: 'fixed' scrollPos: "fixed"
}); });
} }
}) })

View File

@ -170,10 +170,10 @@
name: "sex", name: "sex",
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
value: '1', value: "1",
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
@ -183,7 +183,7 @@
layui.use(["upload", "layer"], function() { layui.use(["upload", "layer"], function() {
let input = layui.$("#avatar").prev(); let input = layui.$("#avatar").prev();
input.prev().attr("src", input.val()); input.prev().attr("src", input.val());
layui.$("#attachment-choose-avatar").on('click', function() { layui.$("#attachment-choose-avatar").on("click", function() {
parent.layer.open({ parent.layer.open({
type: 2, type: 2,
title: "选择附件", title: "选择附件",
@ -198,9 +198,9 @@
}); });
layui.upload.render({ layui.upload.render({
elem: "#avatar", elem: "#avatar",
url: '/app/admin/upload/avatar', url: "/app/admin/upload/avatar",
acceptMime: 'image/gif,image/jpeg,image/jpg,image/png', acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code > 0) return layui.layer.msg(res.msg); if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url); this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
@ -219,7 +219,7 @@
layui.use(["laydate"], function() { layui.use(["laydate"], function() {
layui.laydate.render({ layui.laydate.render({
elem: "#last_time", elem: "#last_time",
type: 'datetime', type: "datetime",
}); });
}) })
@ -227,7 +227,7 @@
layui.use(["laydate"], function() { layui.use(["laydate"], function() {
layui.laydate.render({ layui.laydate.render({
elem: "#join_time", elem: "#join_time",
type: 'datetime', type: "datetime",
}); });
}) })
@ -241,18 +241,18 @@
}) })
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
layui.$.ajax({ layui.$.ajax({
url: INSERT_API, url: INSERT_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });

View File

@ -154,30 +154,30 @@
<script> <script>
// 相关接口 // 相关接口
const PRIMARY_KEY = 'id'; const PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/user/select" + location.search; const SELECT_API = "/app/admin/user/select" + location.search;
const UPDATE_API = "/app/admin/user/update"; const UPDATE_API = "/app/admin/user/update";
// 获取数据库记录 // 获取数据库记录
layui.use(['form', 'util'], function () { layui.use(["form", "util"], function () {
let $ = layui.$; let $ = layui.$;
$.ajax({ $.ajax({
url: SELECT_API, url: SELECT_API,
dataType: 'json', dataType: "json",
success: function (e) { success: function (e) {
// 给表单初始化数据 // 给表单初始化数据
layui.each(e.data[0], function (key, value) { layui.each(e.data[0], function (key, value) {
let obj = $('*[name="'+key+'"]'); let obj = $('*[name="'+key+'"]');
if (key === 'password') { if (key === "password") {
obj.attr('placeholder', '不更新密码请留空'); obj.attr("placeholder", "不更新密码请留空");
return; return;
} }
if (typeof obj[0] === 'undefined' || !obj[0].nodeName) return; if (typeof obj[0] === "undefined" || !obj[0].nodeName) return;
if (obj[0].nodeName.toLowerCase() === 'textarea') { if (obj[0].nodeName.toLowerCase() === "textarea") {
obj.val(layui.util.escape(value)); obj.val(layui.util.escape(value));
} else { } else {
obj.attr('value', value); obj.attr("value", value);
} }
}); });
@ -195,8 +195,8 @@
initValue: initValue, initValue: initValue,
data: e.data, data: e.data,
model: {"icon":"hidden","label":{"type":"text"}}, model: {"icon":"hidden","label":{"type":"text"}},
clickClose: 'true', clickClose: true,
radio: 'true', radio: true,
}) })
} }
}); });
@ -206,7 +206,7 @@
layui.use(["upload", "layer"], function() { layui.use(["upload", "layer"], function() {
let input = layui.$("#avatar").prev(); let input = layui.$("#avatar").prev();
input.prev().attr("src", input.val()); input.prev().attr("src", input.val());
layui.$("#attachment-choose-avatar").on('click', function() { layui.$("#attachment-choose-avatar").on("click", function() {
parent.layer.open({ parent.layer.open({
type: 2, type: 2,
title: "选择附件", title: "选择附件",
@ -221,9 +221,9 @@
}); });
layui.upload.render({ layui.upload.render({
elem: "#avatar", elem: "#avatar",
url: '/app/admin/upload/avatar', url: "/app/admin/upload/avatar",
acceptMime: 'image/gif,image/jpeg,image/jpg,image/png', acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
field: '__file__', field: "__file__",
done: function (res) { done: function (res) {
if (res.code > 0) return layui.layer.msg(res.msg); if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url); this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
@ -242,7 +242,7 @@
layui.use(["laydate"], function() { layui.use(["laydate"], function() {
layui.laydate.render({ layui.laydate.render({
elem: "#last_time", elem: "#last_time",
type: 'datetime', type: "datetime",
}); });
}) })
@ -250,7 +250,7 @@
layui.use(["laydate"], function() { layui.use(["laydate"], function() {
layui.laydate.render({ layui.laydate.render({
elem: "#join_time", elem: "#join_time",
type: 'datetime', type: "datetime",
}); });
}) })
@ -263,25 +263,24 @@
}); });
}) })
} }
}); });
}); });
//提交事件 //提交事件
layui.use(['form', 'popup'], function () { layui.use(["form", "popup"], function () {
layui.form.on('submit(save)', function (data) { layui.form.on("submit(save)", function (data) {
data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY]; data.field[PRIMARY_KEY] = layui.url().search[PRIMARY_KEY];
layui.$.ajax({ layui.$.ajax({
url: UPDATE_API, url: UPDATE_API,
type: 'POST', type: "POST",
dateType: 'json', dateType: "json",
data: data.field, data: data.field,
success: function (res) { success: function (res) {
if (res.code) { if (res.code) {
return layui.popup.failure(res.msg); return layui.popup.failure(res.msg);
} }
return layui.popup.success('操作成功', function () { return layui.popup.success("操作成功", function () {
parent.refreshTable(); parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name)); parent.layer.close(parent.layer.getFrameIndex(window.name));
}); });