|
|
|
@ -156,10 +156,10 @@
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
//提升数据表格的作用域,因为底下还有一个reloadTable方法
|
|
|
|
|
var tableIns;
|
|
|
|
|
var tableIns; // 定义全局变量,用于存储表格实例
|
|
|
|
|
|
|
|
|
|
layui.extend({
|
|
|
|
|
dtree: '/resources/layui_ext/dtree/dtree'
|
|
|
|
|
dtree: '/resources/layui_ext/dtree/dtree' // 扩展模块路径
|
|
|
|
|
}).use(['jquery', 'form', 'layer', 'laydate', 'table', 'layedit', 'dtree'], function () {
|
|
|
|
|
var $ = layui.jquery;
|
|
|
|
|
var form = layui.form;
|
|
|
|
@ -167,15 +167,15 @@
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var dtree = layui.dtree;
|
|
|
|
|
|
|
|
|
|
//初始化表格 加载数据
|
|
|
|
|
// 初始化表格并加载数据
|
|
|
|
|
tableIns = table.render({
|
|
|
|
|
elem: "#deptTable",
|
|
|
|
|
title: "部门数据表格",
|
|
|
|
|
url: "/dept/loadAllDept",
|
|
|
|
|
toolbar: "#deptToolBar",
|
|
|
|
|
page: true,
|
|
|
|
|
height: "full-180",
|
|
|
|
|
cols: [ [
|
|
|
|
|
elem: "#deptTable", // 绑定表格容器元素
|
|
|
|
|
title: "部门数据表格", // 表格标题
|
|
|
|
|
url: "/dept/loadAllDept", // 数据接口地址
|
|
|
|
|
toolbar: "#deptToolBar", // 工具栏模板选择器
|
|
|
|
|
page: true, // 开启分页
|
|
|
|
|
height: "full-180", // 设置表格高度
|
|
|
|
|
cols: [[ // 定义表头
|
|
|
|
|
{field: 'id', title: 'ID', align: 'center', width: '50'},
|
|
|
|
|
{field: 'pid', title: '父级部门ID', align: 'center', width: '100'},
|
|
|
|
|
{field: 'name', title: '部门名称', align: 'center', width: '150'},
|
|
|
|
@ -192,139 +192,121 @@
|
|
|
|
|
{fixed: 'right', title: '操作', toolbar: '#deptRowBar', align: 'center', width: '180'}
|
|
|
|
|
]],
|
|
|
|
|
done: function (data, curr, count) {
|
|
|
|
|
//不是第一页时,如果当前返回的数据为0那么就返回上一页
|
|
|
|
|
// 如果不是第一页且当前页没有数据,则返回上一页
|
|
|
|
|
if (data.data.length == 0 && curr != 1) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
page: {
|
|
|
|
|
curr: curr - 1
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控模糊查询按钮事件
|
|
|
|
|
// 监听模糊查询按钮事件
|
|
|
|
|
form.on("submit(doSearch)", function (data) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where: data.field,
|
|
|
|
|
where: data.field, // 提交的表单数据作为查询条件
|
|
|
|
|
page: {
|
|
|
|
|
curr: 1
|
|
|
|
|
curr: 1 // 重置到第一页
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单默认提交行为
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控工具条事件
|
|
|
|
|
// 监听工具条事件
|
|
|
|
|
table.on("toolbar(deptTable)", function (obj) {
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'add':
|
|
|
|
|
case 'add': // 添加事件
|
|
|
|
|
openAddLayer();
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控行工具条事件
|
|
|
|
|
// 监听行工具条事件
|
|
|
|
|
table.on("tool(deptTable)", function (obj) {
|
|
|
|
|
//获取当前行数据
|
|
|
|
|
var data = obj.data;
|
|
|
|
|
var data = obj.data; // 获取当前行数据
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'delete':
|
|
|
|
|
case 'delete': // 删除事件
|
|
|
|
|
deleteDept(data);
|
|
|
|
|
break;
|
|
|
|
|
case 'update':
|
|
|
|
|
case 'update': // 更新事件
|
|
|
|
|
updateDept(data);
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var mainIndex;
|
|
|
|
|
var url;
|
|
|
|
|
var mainIndex; // 弹出层索引
|
|
|
|
|
var url; // 请求URL
|
|
|
|
|
|
|
|
|
|
// 打开添加弹出层
|
|
|
|
|
function openAddLayer() {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['800px','500px'],
|
|
|
|
|
title:'添加部门',
|
|
|
|
|
type: 1, // 页面层类型
|
|
|
|
|
content: $("#addOrUpdateDiv"), // 内容区域选择器
|
|
|
|
|
area: ['800px', '500px'], // 弹出层尺寸
|
|
|
|
|
title: '添加部门', // 弹出层标题
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
//设置下拉树中父节点的值为空
|
|
|
|
|
$("#pid").val("");
|
|
|
|
|
url="/dept/addDept";
|
|
|
|
|
//初始化排序码
|
|
|
|
|
$("#dataFrm")[0].reset(); // 重置表单
|
|
|
|
|
$("#pid").val(""); // 清空父节点值
|
|
|
|
|
url = "/dept/addDept"; // 设置请求URL为添加接口
|
|
|
|
|
$.get("/dept/loadDeptMaxOrderNum", function (res) {
|
|
|
|
|
$("#ordernum").val(res.value);
|
|
|
|
|
$("#ordernum").val(res.value); // 初始化排序码
|
|
|
|
|
});
|
|
|
|
|
//设置下拉树的value值为空
|
|
|
|
|
selectTree.selectVal("");
|
|
|
|
|
selectTree.selectVal(""); // 清空下拉树的值
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//打开修改的弹出层
|
|
|
|
|
// 打开修改弹出层
|
|
|
|
|
function updateDept(data) {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['800px','500px'],
|
|
|
|
|
title:'修改部门',
|
|
|
|
|
type: 1, // 页面层类型
|
|
|
|
|
content: $("#addOrUpdateDiv"), // 内容区域选择器
|
|
|
|
|
area: ['800px', '500px'], // 弹出层尺寸
|
|
|
|
|
title: '修改部门', // 弹出层标题
|
|
|
|
|
success: function () {
|
|
|
|
|
//清空原有的数据
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
$("#parentDept").removeClass("disabled");
|
|
|
|
|
//装载新的数据
|
|
|
|
|
form.val("dataFrm",data);
|
|
|
|
|
//选中之前的父级部门 nodeId=data.pid
|
|
|
|
|
if (data.pid!=0){
|
|
|
|
|
$("#dataFrm")[0].reset(); // 重置表单
|
|
|
|
|
$("#parentDept").removeClass("disabled"); // 启用父节点选择框
|
|
|
|
|
form.val("dataFrm", data); // 填充表单数据
|
|
|
|
|
if (data.pid != 0) { // 如果存在父节点,初始化下拉树
|
|
|
|
|
dtree.dataInit("deptTree", data.pid);
|
|
|
|
|
} else {
|
|
|
|
|
$("#parentDept").addClass("disabled");
|
|
|
|
|
$("#parentDept").addClass("disabled"); // 禁用父节点选择框
|
|
|
|
|
}
|
|
|
|
|
dtree.selectVal("deptTree");
|
|
|
|
|
url="/dept/updateDept";
|
|
|
|
|
dtree.selectVal("deptTree"); // 选中下拉树中的值
|
|
|
|
|
url = "/dept/updateDept"; // 设置请求URL为更新接口
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 监听提交按钮事件
|
|
|
|
|
form.on("submit(doSubmit)", function (data) {
|
|
|
|
|
$.post(url, data.field, function (res) {
|
|
|
|
|
if (res.code==200){
|
|
|
|
|
tableIns.reload();
|
|
|
|
|
//重新加载添加弹出层的下拉树
|
|
|
|
|
selectTree.reload();
|
|
|
|
|
//重新加载左边的部门树
|
|
|
|
|
window.parent.left.deptTree.reload();
|
|
|
|
|
if (res.code == 200) { // 如果响应成功
|
|
|
|
|
tableIns.reload(); // 重新加载表格数据
|
|
|
|
|
selectTree.reload(); // 重新加载下拉树数据
|
|
|
|
|
window.parent.left.deptTree.reload(); // 重新加载左侧部门树数据
|
|
|
|
|
}
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
layer.close(mainIndex);
|
|
|
|
|
layer.msg(res.msg); // 显示响应消息
|
|
|
|
|
layer.close(mainIndex); // 关闭弹出层
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单默认提交行为
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/*$("#doSubmit").click(function () {
|
|
|
|
|
var data = $("#dataFrm").serialize();
|
|
|
|
|
$.post(url,data,function (res) {
|
|
|
|
|
if (res.code==200){
|
|
|
|
|
tableIns.reload();
|
|
|
|
|
//重新加载添加弹出层的下拉树
|
|
|
|
|
selectTree.reload();
|
|
|
|
|
//重新加载左边的部门树
|
|
|
|
|
window.parent.left.deptTree.reload();
|
|
|
|
|
}
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
layer.close(mainIndex);
|
|
|
|
|
});
|
|
|
|
|
});*/
|
|
|
|
|
|
|
|
|
|
//删除
|
|
|
|
|
// 删除部门函数
|
|
|
|
|
function deleteDept(data) {
|
|
|
|
|
$.post("/dept/checkDeptHasChildrenNode", {id: data.id}, function (resoult) {
|
|
|
|
|
if (resoult.value){
|
|
|
|
|
layer.msg("当前部门节点有子部门,请选择删除子部门!")
|
|
|
|
|
// 发送请求检查当前部门是否有子部门
|
|
|
|
|
$.post("/dept/checkDeptHasChildrenNode", {id: data.id}, function (result) {
|
|
|
|
|
// 如果存在子部门,则提示用户不能直接删除
|
|
|
|
|
if (result.value){
|
|
|
|
|
layer.msg("当前部门节点有子部门,请选择删除子部门!");
|
|
|
|
|
} else {
|
|
|
|
|
// 如果没有子部门,弹出确认框询问用户是否确定删除
|
|
|
|
|
layer.confirm('你确定要删除【' + data.name + '】这个部门吗?', {icon: 3, title: '提示'}, function (index) {
|
|
|
|
|
// 发送删除请求
|
|
|
|
|
$.post("/dept/deleteDept", {id: data.id}, function (res) {
|
|
|
|
|
// 如果删除成功,刷新表格和树形结构
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where:"",
|
|
|
|
@ -334,8 +316,10 @@
|
|
|
|
|
// 刷新左边的部门树
|
|
|
|
|
window.parent.left.deptTree.reload();
|
|
|
|
|
}
|
|
|
|
|
// 显示操作结果消息
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
});
|
|
|
|
|
// 关闭确认框
|
|
|
|
|
layer.close(index);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
@ -344,19 +328,19 @@
|
|
|
|
|
|
|
|
|
|
// 初始化下拉树
|
|
|
|
|
var selectTree = dtree.renderSelect({
|
|
|
|
|
elem: "#deptTree",
|
|
|
|
|
width: "100%", // 可以在这里指定树的宽度来填满div
|
|
|
|
|
elem: "#deptTree", // 绑定元素
|
|
|
|
|
width: "100%", // 设置树的宽度为100%
|
|
|
|
|
dataStyle: "layuiStyle", // 使用layui风格的数据格式
|
|
|
|
|
dataFormat: "list", //配置data的风格为list
|
|
|
|
|
response:{message:"msg",statusCode:0}, //修改response中返回数据的定义
|
|
|
|
|
url: "/dept/loadDeptManagerLeftTreeJson" // 使用url加载(可与data加载同时存在)
|
|
|
|
|
dataFormat: "list", // 配置数据的风格为列表形式
|
|
|
|
|
response:{message:"msg",statusCode:0}, // 修改响应中返回数据的定义
|
|
|
|
|
url: "/dept/loadDeptManagerLeftTreeJson" // 使用URL加载数据(可以与data同时存在)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监听点击的方法
|
|
|
|
|
// 监听树节点点击事件
|
|
|
|
|
dtree.on("node(deptTree)", function (obj) {
|
|
|
|
|
$("#pid").val(obj.param.nodeId);
|
|
|
|
|
console.log(obj.param.nodeId);
|
|
|
|
|
})
|
|
|
|
|
$("#pid").val(obj.param.nodeId); // 将选中的节点ID赋值给隐藏域
|
|
|
|
|
console.log(obj.param.nodeId); // 打印节点ID到控制台
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
@ -365,10 +349,10 @@
|
|
|
|
|
function reloadTable(id) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where:{
|
|
|
|
|
id:id
|
|
|
|
|
id:id // 根据ID过滤数据
|
|
|
|
|
},
|
|
|
|
|
page:{
|
|
|
|
|
curr:1
|
|
|
|
|
curr:1 // 重置分页到第一页
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|