提交 af0b0277 编写于 作者: Skyeye云's avatar Skyeye云

feat: APP菜单管理托管到表单布局

上级 cab6930c
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
}).define(['window', 'jquery', 'winui', 'fileUpload'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var selOption = getFileContent('tpl/template/select-option.tpl');
$("#itemBox").html($("#folderTemplate").html());
// 桌面信息
systemCommonUtil.getSysDesttop(function (json) {
$("#desktop").html(getDataUseHandlebars(selOption, json));
form.render('select');
});
form.on('select(desktop)', function(data) {
if ($("input[name='type']:checked").val() == 2) {
var value = data.value;
if (isNull(value)) {
$("#parentId").html("");
form.render('select');
return;
}
showGrid({
id: "parentId",
url: reqBasePath + "queryAppWorkPageListByParentId",
params: {parentId: '0', desktopId: value},
pagination: false,
method: "GET",
template: selOption,
ajaxSendLoadBefore: function (hdb) {},
ajaxSendAfter: function (json) {
form.render('select');
}
});
}
});
form.on('radio(type)', function (data) {
var val = data.value;
if (val == 1) {
// 目录
$("#itemBox").html($("#folderTemplate").html());
} else if (val == 2) {
// 页面
$("#itemBox").html($("#pageTemplate").html());
// 初始化上传
$("#logo").upload(systemCommonUtil.uploadCommon003Config('logo', 12, '', 1));
}
// 桌面信息
systemCommonUtil.getSysDesttop(function (json) {
$("#desktop").html(getDataUseHandlebars(selOption, json));
form.render('select');
});
matchingLanguage();
form.render();
});
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var type = $("input[name='type']:checked").val();
var params;
if (type == 1){
params = {
title: $("#title").val(),
desktopId: $("#desktop").val(),
parentId: '0',
type: type
};
}else if (type == 2){
params = {
title: $("#title").val(),
desktopId: $("#desktop").val(),
parentId: $("#parentId").val(),
type: type,
urlType: $("input[name='urlType']:checked").val(),
url: $("#url").val(),
logo: $("#logo").find("input[name='upload']").attr("oldurl")
};
if (isNull(params.logo)) {
winui.window.msg('请上传图片', {icon: 2, time: 2000});
return false;
}
}
AjaxPostUtil.request({url: reqBasePath + "writeAppWorkPageMation", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
}).define(['window', 'jquery', 'winui', 'fileUpload'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var selOption = getFileContent('tpl/template/select-option.tpl');
AjaxPostUtil.request({url: reqBasePath + "appworkpage005", params: {rowId: parent.rowId}, type: 'json', method: 'GET', callback: function (json) {
$("#title").val(json.bean.title);
var type = json.bean.type;
if (type == 1) {
// 目录
$("#typeName").html('目录');
$("#itemBox").html($("#folderTemplate").html());
} else if (type == 2) {
// 页面
$("#typeName").html('页面');
$("#itemBox").html($("#pageTemplate").html());
$("#url").val(json.bean.url);
showGrid({
id: "parentId",
url: reqBasePath + "queryAppWorkPageListByParentId",
params: {parentId: '0', desktopId: json.bean.desktopId},
pagination: false,
method: "GET",
template: selOption,
ajaxSendLoadBefore: function (hdb) {},
ajaxSendAfter: function (data) {
$("#parentId").val(json.bean.parentId);
form.render('select');
}
});
form.on('select(desktop)', function(data) {
var value = data.value;
if (isNull(value)) {
$("#parentId").html("");
form.render('select');
return;
}
showGrid({
id: "parentId",
url: reqBasePath + "queryAppWorkPageListByParentId",
params: {parentId: '0', desktopId: value},
pagination: false,
method: "GET",
template: selOption,
ajaxSendLoadBefore: function (hdb) {},
ajaxSendAfter: function (json) {
form.render('select');
}
});
});
$("input:radio[name=urlType][value=" + json.bean.urlType + "]").attr("checked", true);
// 初始化上传
$("#logo").upload(systemCommonUtil.uploadCommon003Config('logo', 12, json.bean.logo, 1));
}
// 桌面信息
systemCommonUtil.getSysDesttop(function (data) {
$("#desktop").html(getDataUseHandlebars(selOption, data));
$("#desktop").val(json.bean.desktopId);
form.render('select');
});
matchingLanguage();
form.render();
form.on('submit(formEditMenu)', function (data) {
if (winui.verifyForm(data.elem)) {
var params;
if (type == 1){
params = {
title: $("#title").val(),
desktopId: $("#desktop").val(),
parentId: '0',
type: type
};
}else if (type == 2){
params = {
title: $("#title").val(),
desktopId: $("#desktop").val(),
parentId: $("#parentId").val(),
type: type,
urlType: $("input[name='urlType']:checked").val(),
url: $("#url").val(),
logo: $("#logo").find("input[name='upload']").attr("oldurl")
};
if (isNull(params.logo)) {
winui.window.msg('请上传图片', {icon: 2, time: 2000});
return false;
}
}
params.id = parent.rowId;
AjaxPostUtil.request({url: reqBasePath + "writeAppWorkPageMation", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
}});
// 取消
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
......@@ -6,15 +6,15 @@ layui.config({
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'table', 'contextMenu'], function (exports) {
}).define(['window', 'jquery', 'winui', 'form', 'tableTreeDj'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
tableTree = layui.tableTreeDj;
authBtn('1563602200836');
table.render({
tableTree.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
......@@ -26,7 +26,7 @@ layui.config({
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'title', title: '名称', align: 'left', width: 120 },
{ field: 'name', title: '名称', align: 'left', width: 120 },
{ field: 'logo', title: 'LOGO', width: 60, templet: function (d) {
var str = '';
if (!isNull(d.logo)){
......@@ -35,17 +35,11 @@ layui.config({
return str;
}},
{ field: 'type', title: '菜单类型', align: 'left', width: 100, align: 'center', templet: function (d) {
if (d.type == '1') {
return "目录";
} else if (d.type == '2') {
return "页面";
}
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("menuType", 'id', d.type, 'name');
}},
{ field: 'desktopId', title: '所属桌面', align: 'left', width: 120, templet: function (d) {
return isNull(d.deskTopMation) ? '' : d.deskTopMation.name;
return isNull(d.desktopMation) ? '' : d.desktopMation.name;
}},
{ field: 'parentTitle', title: '所属目录', align: 'left', width: 120 },
{ field: 'childNum', title: '子页面数量', align: 'left', width: 120 },
{ field: 'url', title: '页面路径', align: 'left', width: 300},
{ field: 'orderBy', title: '排序号', align: 'left', width: 80},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], width: 120 },
......@@ -56,23 +50,23 @@ layui.config({
]],
done: function(json) {
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入页面名称", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
initTableSearchUtil.initAdvancedSearch($("#messageTable")[0], json.searchFilter, form, "请输入名称", function () {
tableTree.reload("messageTable", {page: {curr: 1}, where: getTableParams()});
});
}
}, {
keyId: 'id',
keyPid: 'parentId',
title: 'name',
});
table.on('tool(messageTable)', function (obj) {
tableTree.getTable().on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'delete') { //删除
del(data, obj);
} else if (layEvent === 'edit') { //编辑
edit(data);
} else if (layEvent === 'top') { //上移
topOne(data);
} else if (layEvent === 'lower') { //下移
lowerOne(data);
} else if (layEvent === 'authpoint') { //权限点
authpoint(data);
} else if (layEvent === 'iconPath') { //logo预览
......@@ -80,12 +74,25 @@ layui.config({
}
});
// 新增菜单
// 新增目录
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: "../../tpl/appWorkPage/appWorkPageAdd.html",
title: "新增菜单",
pageId: "appWorkPageAdd",
url: systemCommonUtil.getUrl('FP2023121600001', null),
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "appWorkPageAddFolder",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
// 新增菜单
$("body").on("click", "#addMenuBean", function() {
_openNewWindows({
url: systemCommonUtil.getUrl('FP2023121600004', null),
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "appWorkPageAddMenu",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
......@@ -93,12 +100,19 @@ layui.config({
}});
});
// 编辑菜单
// 编辑菜单/目录
function edit(data) {
rowId = data.id;
var url;
if (data.type == 1) {
// 目录
url = systemCommonUtil.getUrl('FP2023121600002&id=' + data.id, null);
} else {
// 菜单
url = systemCommonUtil.getUrl('FP2023121600005&id=' + data.id, null);
}
_openNewWindows({
url: "../../tpl/appWorkPage/appWorkPageEdit.html",
title: "编辑菜单",
url: url,
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "appWorkPageEdit",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
......@@ -111,29 +125,13 @@ layui.config({
function del(data, obj) {
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: reqBasePath + "appworkpage007", params: {rowId: data.id}, type: 'json', callback: function (json) {
AjaxPostUtil.request({url: reqBasePath + "deleteAppWorkPageById", params: {id: data.id}, type: 'json', method: 'DELETE', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
}
// 上移
function topOne(data) {
AjaxPostUtil.request({url: reqBasePath + "appworkpage008", params: {rowId: data.id, parentId: data.parentId}, type: 'json', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.moveUpOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 下移
function lowerOne(data) {
AjaxPostUtil.request({url: reqBasePath + "appworkpage009", params: {rowId: data.id, parentId: data.parentId}, type: 'json', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.moveDownOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 权限点
function authpoint(data) {
menuId = data.id;
......@@ -147,13 +145,12 @@ layui.config({
}
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
tableTree.reload("messageTable", {where: getTableParams()});
}
function getTableParams() {
......
......@@ -39,10 +39,10 @@ layui.config({
return d.level == 0 ? '父菜单' : '子菜单';
}},
{ field: 'desktopName', title: '所属桌面', width: 120, templet: function (d) {
if (isNull(d.sysDesktop)) {
if (isNull(d.desktopMation)) {
return '';
}
return d.sysDesktop.name;
return d.desktopMation.name;
}},
{ field: 'isShare', title: '共享', align: 'center', width: 80, templet: function (d) {
return d.isShare == 0 ? '' : '';
......
......@@ -29,8 +29,8 @@ layui.config({
where: getTableParams(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'name', title: '权限点名称', width: 120 },
{ field: 'authMenu', title: '接口url', width: 200 },
{ field: 'name', title: '权限点名称', width: 150 },
{ field: 'authMenu', title: '接口url', width: 300 },
{ field: 'orderBy', title: '排序', align: 'center', width: 80 },
{ field: 'menuNum', title: '权限点编号', align: 'center', width: 120 },
{ field: 'useNum', title: '使用数量', align: 'center', width: 80 },
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="title" name="title" win-verify="required" placeholder="请输入名称" class="layui-input" maxlength="10"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类型<i class="red">*</i></label>
<div class="layui-input-block winui-radio">
<input type="radio" name="type" value="1" title="目录" lay-filter="type" checked="checked" />
<input type="radio" name="type" value="2" title="页面" lay-filter="type" />
<div class="layui-form-mid layui-word-aux" style="width: 100%;">设置后不可修改</div>
</div>
</div>
<div class="layui-col-xs12" id="itemBox">
</div>
</form>
</div>
<script type="text/x-handlehars-template" id="folderTemplate">
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属桌面<i class="red">*</i></label>
<div class="layui-input-block">
<select id="desktop" name="desktop" lay-filter="desktop" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</script>
<script type="text/x-handlehars-template" id="pageTemplate">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">logo<i class="red">*</i></label>
<div class="layui-input-block">
<div class="upload" id="logo"></div>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属桌面<i class="red">*</i></label>
<div class="layui-input-block">
<select id="desktop" name="desktop" lay-filter="desktop" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属目录<i class="red">*</i></label>
<div class="layui-input-block">
<select id="parentId" name="parentId" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">页面类型<i class="red">*</i></label>
<div class="layui-input-block winui-radio">
<input type="radio" name="urlType" value="1" title="外部系统页面" checked="checked" />
<input type="radio" name="urlType" value="2" title="自身系统页面" />
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">页面路径</label>
<div class="layui-input-block">
<input type="text" id="url" name="url" placeholder="请输入页面路径" class="layui-input" win-verify="required" />
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/appWorkPage/'}).use('appWorkPageAdd');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="title" name="title" win-verify="required" placeholder="请输入名称" class="layui-input" maxlength="10"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类型:</label>
<div class="layui-input-block ver-center" id="typeName">
</div>
</div>
<div class="layui-col-xs12" id="itemBox">
</div>
</form>
</div>
<script type="text/x-handlehars-template" id="folderTemplate">
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属桌面<i class="red">*</i></label>
<div class="layui-input-block">
<select id="desktop" name="desktop" lay-filter="desktop" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditMenu"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</script>
<script type="text/x-handlehars-template" id="pageTemplate">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">logo<i class="red">*</i></label>
<div class="layui-input-block">
<div class="upload" id="logo"></div>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属桌面<i class="red">*</i></label>
<div class="layui-input-block">
<select id="desktop" name="desktop" lay-filter="desktop" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属目录<i class="red">*</i></label>
<div class="layui-input-block">
<select id="parentId" name="parentId" lay-search="" win-verify="required">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">页面类型<i class="red">*</i></label>
<div class="layui-input-block winui-radio">
<input type="radio" name="urlType" value="1" title="外部系统页面" checked="checked" />
<input type="radio" name="urlType" value="2" title="自身系统页面" />
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">页面路径</label>
<div class="layui-input-block">
<input type="text" id="url" name="url" placeholder="请输入页面路径" class="layui-input" win-verify="required" />
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditMenu"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/appWorkPage/'}).use('appWorkPageEdit');
</script>
</body>
</html>
\ No newline at end of file
......@@ -10,7 +10,8 @@
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn search-table-btn-right" auth="1563602200836"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
<button id="addBean" class="winui-toolbtn search-table-btn-right" auth="1563602200836"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language>目录</button>
<button id="addMenuBean" class="winui-toolbtn search-table-btn-right" auth="1563602200836"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language>菜单</button>
</div>
</div>
<div style="margin:auto 10px;">
......@@ -19,15 +20,9 @@
{{# if(auth('1563602200836')){ }}
<a class="layui-btn layui-btn-xs" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# if(auth('1563602242822') && d.childNum == 0){ }}
{{# if(auth('1563602242822')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
{{# if(d.orderBy != 1 && auth('1563602259975')){ }}
<a class="layui-btn layui-btn-xs" lay-event="top">上移</a>
{{# } }}
{{# if(auth('1563602272986')){ }}
<a class="layui-btn layui-btn-xs" lay-event="lower">下移</a>
{{# } }}
{{# if(auth('1563602587596')){ }}
<a class="layui-btn layui-btn-xs" lay-event="authpoint">权限点</a>
{{# } }}
......
......@@ -16,6 +16,9 @@
"registrationType": {"name": "户口类型", "className": "skyeye-pro#com.skyeye.common.enumeration.RegistrationType"},
"applicableObjectsType": {"name": "适用对象类型", "className": "skyeye-pro#com.skyeye.common.enumeration.ApplicableObjectsType"},
"menuType": {"name": "APP菜单类型", "className": "skyeye-pro#com.skyeye.menuapp.classenum.MenuType"},
"urlType": {"name": "APP菜单URL类型", "className": "skyeye-pro#com.skyeye.menuapp.classenum.UrlType"},
"bossInterviewArrangementState": {"name": "面试安排状态", "className": "skyeye-boss#com.skyeye.arrangement.classenum.ArrangementState"},
"bossInterviewArrangementState1": {
"name": "面试安排状态枚举类-获取我录入的人员需求关联的面试者信息列表",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册