新增了组织部门合并页面

This commit is contained in:
WenG 2021-10-13 22:20:37 +08:00
parent fefedd4ec6
commit cb02db9c29
3 changed files with 140 additions and 5 deletions

View File

@ -87,6 +87,11 @@ public class DepartmentRouteController {
return new ModelAndView("department/list-tree"); return new ModelAndView("department/list-tree");
} }
@GetMapping("list-tree-select")
public ModelAndView listTreeSelect() {
return new ModelAndView("department/list-tree-select");
}
@GetMapping("list-tree-user") @GetMapping("list-tree-user")
public ModelAndView listTreeUser() { public ModelAndView listTreeUser() {
return new ModelAndView("department/list-tree-user"); return new ModelAndView("department/list-tree-user");

View File

@ -0,0 +1,130 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/zTree3/css/metroStyle/metroStyle.css"/>
<link rel="stylesheet" href="assets/layuiadmin/style/common.css" media="all">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-row" style="padding-right: 0px;">
<div class="layui-card">
<div class="layui-card-body left-tree-wrap">
<div id="treeBox">
<ul id="tree" class="ztree"></ul>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="padding: 0px;">
<div class="layui-btn-group">
<button type="button" class="layui-btn layui-btn-sm submit">确定</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary close">返回</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
var common;
layui.config({
base: 'assets/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'ztree', 'common'], function() {
common = layui.common;
var $ = layui.$;
var $win = $(window);
var resizeTimeout = null;
var selectedNodes = [];
top.dialog.dialogData.selectedNodes = [];
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
// 初始化大小
function initSize() {
$('#treeBox').css({
height: $win.height() - 52,
overflow: 'auto'
});
}
// 初始化树
function initThree() {
var setting = {
async: {
enable: true,
autoLoad: false,
type: 'get',
url: top.restAjax.path('api/department/listztree', []),
autoParam: ['id'],
otherParam: {},
dataFilter: function (treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
},
callback: {
onClick: function (event, treeId, treeNode) {
var node = {
id: treeNode.id,
pId: treeNode.pId,
name: treeNode.name
};
if(selectedNodes.length == 0) {
selectedNodes.push(node)
} else {
selectedNodes[0] = node;
}
return false;
}
},
};
var zTree = $.fn.zTree.init($("#tree"), setting);
zTree.addNodes(null, {
id: '0',
pId: '-1',
name: top.dataMessage.tree.rootName,
url: 'javascript:;',
isParent: 'true'
});
common.refreshTree('tree');
}
initSize();
initThree();
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
initSize();
}, 500);
});
$('.close').on('click', function() {
closeBox();
});
$('.submit').on('click', function() {
top.dialog.dialogData.selectedNodes = selectedNodes;
closeBox();
});
});
</script>
</body>
</html>

View File

@ -321,18 +321,18 @@
} }
}); });
} else if(mergeType === 'selectDepartment') { } else if(mergeType === 'selectDepartment') {
top.dialog.tree({ top.dialog.open({
title: '选择树', url: top.restAjax.path('route/department/list-tree-select', []),
apiUri: top.restAjax.path('api/department/listztree', []), title: '选择组织',
width: '200px', width: '200px',
height: '400px', height: '400px',
onClose: function() { onClose: function() {
var selectNodes = top.dialog.dialogTreeData.selectedNodes; var selectNodes = top.dialog.dialogData.selectedNodes;
console.log(selectNodes);
if(selectNodes && selectNodes.length > 0) { if(selectNodes && selectNodes.length > 0) {
for(var i = 0, item; item = checkDatas[i++];) { for(var i = 0, item; item = checkDatas[i++];) {
if(item.departmentId == selectNodes[0].id) { if(item.departmentId == selectNodes[0].id) {
top.dialog.msg('不能选中要合并的组织'); top.dialog.msg('不能选中要合并的组织');
top.dialog.dialogTreeData.selectedNodes = [];
return; return;
} }
} }