<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
|
+ path + "/";
|
%>
|
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<title>部门管理</title>
|
<!--[if !IE]><!-->
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<!--<![endif]-->
|
<!--[if gt IE 8]>
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<![endif]-->
|
<link href="static/plugins/jquery-easyui/themes/bootstrap/easyui.css" rel="stylesheet" type="text/css">
|
<link href="static/styles/initialize.css" rel="stylesheet" type="text/css">
|
<link href="static/styles/common.css" rel="stylesheet" type="text/css">
|
<link rel="stylesheet" href="static/plugins/layer/skin/default/layer.css" type="text/css">
|
<script type="text/javascript" src="static/plugins/jquery/jquery.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/jquery.easyui.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
|
<script type="text/javascript" src="static/scripts/easyuiExtend.js"></script>
|
<script type="text/javascript" src="static/scripts/jquery-extend.js"></script>
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script type="text/javascript" src="static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
|
|
<script type="text/javascript" src="static/plugins/spinjs/spin.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/jquery.spin.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery.blockUI.js"></script>
|
|
<script type="text/javascript" src="static/wcp/scripts/wcp.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.layer.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.blockUI.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.spin.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.jquery.js"></script>
|
|
<!--[if lt IE 9]>
|
<script type="text/javascript" src="static/plugins/json2.js"></script>
|
<![endif]-->
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.infoPicker.js"></script>
|
|
<style>
|
html, body {
|
height: 100%;
|
width: 100%;
|
overflow: hidden;
|
}
|
</style>
|
|
</head>
|
|
<body class="pt-tree">
|
<div>
|
<div class="pt-main-top clear">
|
<div class="pt-nav">
|
<span class="pt-title-icon">
|
<i class="fa fa-sitemap"></i>
|
</span>
|
<div class="pt-title">
|
<div>
|
<h4>部门管理</h4>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="pt-left-menu">
|
<div class="pt-left-tools">
|
<%-- <shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.ADDROOT"> --%>
|
<!-- <button class="pt-btn pt-btn-primary" id="btnAddRootDept"> -->
|
<!-- <i class="fa fa-plus-square"></i> -->
|
<!-- 新增根部门 -->
|
<!-- </button> -->
|
<%-- </shiro:hasPermission> --%>
|
<%-- <shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.ADDSUB"> --%>
|
<!-- <button class="pt-btn pt-btn-purple" id="btnAddSubDept"> -->
|
<!-- <i class="fa fa-plus-square-o"></i> -->
|
<!-- 新增子部门 -->
|
<!-- </button> -->
|
<%-- </shiro:hasPermission> --%>
|
<%-- <shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.DELETE"> --%>
|
<!-- <button class="pt-btn pt-btn-danger" id="btnDeleteDept"> -->
|
<!-- <i class="fa fa-trash-o"></i> -->
|
<!-- 删除 -->
|
<!-- </button> -->
|
<%-- </shiro:hasPermission> --%>
|
|
<a class="easyui-menubutton pt-btn-primary" data-options="menu:'#div_MenuAdd'">
|
<i class="fa fa-plus-square"></i>
|
新增
|
</a>
|
<shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.DELETE">
|
<a id="btnDeleteDept" class="pt-btn pt-btn-danger">
|
<i class="fa fa-trash-o"></i>
|
删除
|
</a>
|
</shiro:hasPermission>
|
|
<div id="div_MenuAdd" style="width:150px;">
|
<shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.ADDROOT">
|
<div id="btnAddRootDept" data-options="iconCls:'fa fa-plus-square'">新增根部门</div>
|
</shiro:hasPermission>
|
<shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.ADDSUB">
|
<div id="btnAddSubDept" data-options="iconCls:'fa fa-plus-square-o'">新增子部门</div>
|
</shiro:hasPermission>
|
</div>
|
</div>
|
<div class="easyui-panel">
|
<ul id="ul_dept"></ul>
|
</div>
|
</div>
|
<div class="pt-right-main">
|
<form class="pt-form" id="formDept" method="post">
|
<table style="width: 100%;">
|
<tr>
|
<td class="tbtitle" style="width: 140px; ">
|
<em class="pt-color-danger">*</em> 部门名称:
|
</td>
|
<td>
|
<input id="deptName" name="deptName" class="easyui-textbox" type="text" style="width:100%"
|
required="required"/>
|
<input type="hidden" class="easyui-textbox" value="" id="deptId" name="deptId"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">
|
<em class="pt-color-danger">*</em> 部门编号:
|
</td>
|
<td>
|
<input id="deptNum" name="deptNum" class="easyui-textbox" type="text" style="width:100%"
|
required="required"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">上级部门:</td>
|
<td>
|
<input id="parentId" name="parentId" class="easyui-combotree"
|
data-options="url:'management/dept/listDeptByComboTree',method:'get',panelHeight: 'auto'"
|
style="width:100%;" required="required"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门类型:</td>
|
<td>
|
<div>
|
<input class="easyui-radiobutton" name="deptType" value="0" checked="true" label="内部部门:">
|
<input class="easyui-radiobutton" name="deptType" value="1" label="外部部门:">
|
</div>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门图标:</td>
|
<td>
|
<div>
|
<input id="icon" name="icon" class="easyui-combobox" style="width:100%;"
|
data-options="showItemIcon: true,
|
data: [
|
{value:'fa fa-institution',text:'集团图标',iconCls:'fa fa-institution',selected:true},
|
{value:'fa fa-home',text:'公司图标',iconCls:'fa fa-home'},
|
{value:'fa fa-sitemap',text:'子公司图标',iconCls:'fa fa-sitemap'},
|
{value:'fa fa-address-card',text:'部门图标',iconCls:'fa fa-address-card'},
|
{value:'fa fa-address-book',text:'科室图标',iconCls:'fa fa-address-book'}
|
],
|
editable: false,
|
panelHeight: 'auto',
|
labelPosition: 'top'">
|
</div>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门负责人:</td>
|
<td>
|
<input id="deptLeaderName" name="deptLeaderName" class="easyui-textbox" type="text"
|
data-options="editable:false,buttonText:'选',prompt:'请选择部门负责人',onClickButton:function(){selectDeptLeader();}"
|
style="width:100%"/>
|
<input type="hidden" class="easyui-textbox" value="0" id="deptLeaderId" name="deptLeaderId"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门副职领导:</td>
|
<td>
|
<input id="deputyLeaderNames" name="deputyLeaderNames" class="easyui-textbox" type="text"
|
data-options="editable:false,buttonText:'选',prompt:'请选择部门副职领导',onClickButton:function(){selectDeputyLeaders();}"
|
style="width:100%;"/>
|
<input type="hidden" class="easyui-textbox" value="0" id="deputyLeaderIds"
|
name="deputyLeaderIds"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门办事员:</td>
|
<td>
|
<input id=deptClerkNames name="deptClerkNames" class="easyui-textbox" type="text"
|
data-options="editable:false,buttonText:'选',prompt:'请选择部门办事员',onClickButton:function(){selectDeptClerk();}"
|
style="width:100%;"/>
|
<input type="hidden" class="easyui-textbox" value="0" id="deptClerkIds" name="deptClerkIds"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">上级分管领导:</td>
|
<td>
|
<input id="parentDeptLeaderName" name="parentDeptLeaderName" class="easyui-textbox" type="text"
|
data-options="editable:false,buttonText:'选',prompt:'请选择上级分管领导',onClickButton:function(){selectParentDeptLeader();}"
|
style="width:100%;"/>
|
<input type="hidden" class="easyui-textbox" value="0" id="parentDeptLeaderId"
|
name="parentDeptLeaderId"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">编制人数:</td>
|
<td>
|
<input id="staffSize" name="staffSize" class="easyui-textbox easyui-validatebox" type="text"
|
style="width:100%" validType="digits"/>
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">排序号:</td>
|
<td>
|
<input id="sortNum" name="sortNum" class="easyui-numberspinner" style="width:100%"
|
required="required" data-options="min:1,max:1000,editable:true">
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门职责:</td>
|
<td>
|
<input id="deptDuty" name="deptDuty" class="easyui-textbox" name="message"
|
data-options="multiline:true" style="height:120px;width:100%">
|
</td>
|
</tr>
|
<tr>
|
<td class="tbtitle">部门描述:</td>
|
<td>
|
<input id="description" name="description" class="easyui-textbox" name="message"
|
data-options="multiline:true" style="height:120px;width:100%">
|
</td>
|
</tr>
|
</table>
|
</form>
|
|
<div class="pt-form-btn">
|
<div class="form-group">
|
<shiro:hasPermission name="SYS_MANAGE.ORGANIZATION.DEPT.OPERATION.SAVE">
|
<button id="btnSaveDept" class="pt-btn pt-btn-primary">保存</button>
|
</shiro:hasPermission>
|
<button id="btnReset" class="pt-btn pt-btn-default">重置</button>
|
</div>
|
</div>
|
</div>
|
</div>
|
</body>
|
|
<script type="text/javascript" src="static/scripts/ResizeScroll.js"></script>
|
<script>
|
//定义页面全局变量
|
var NowSelectedNodeId = null;
|
|
//页面加载事件
|
$(function () {
|
//初始化部门树
|
$("#ul_dept").tree({
|
method: "get",
|
url: "management/dept/listDeptByTree",
|
animate: true,
|
onBeforeLoad: function (node, param) {
|
new ResizeScroll({
|
"id": "#ul_dept",
|
fun: function () {
|
|
var wh = $(window).height();
|
//$("#ul_dept").height(wh-79-39);
|
return (wh - 79 - 40 - 20);
|
|
}
|
});
|
|
wcp.ui.setBusy("#ul_dept");
|
},
|
onLoadSuccess: function (node, data) {
|
wcp.ui.clearBusy("#ul_dept");
|
new ResizeScroll({
|
"id": "#ul_dept",
|
fun: function () {
|
|
var wh = $(window).height();
|
//$("#ul_dept").height(wh-79-39);
|
return (wh - 79 - 40 - 20);
|
|
}
|
});
|
|
//重新加载数据时,选中之前被选中的数据
|
if (NowSelectedNodeId != null) {
|
var node = $('#ul_dept').tree('find', NowSelectedNodeId);
|
if (node != null) {
|
$('#ul_dept').tree('select', node.target);
|
}
|
}
|
},
|
onLoadError: function (args) {
|
wcp.ui.clearBusy("#ul_dept");
|
},
|
onClick: function (node) {
|
NowSelectedNodeId = node.id;
|
$('#formDept').form('load', 'management/dept/getDeptInfo?deptId=' + node.id); // load from URL
|
}
|
})
|
|
//初始化滚动条
|
new ResizeScroll({
|
"id": ".pt-form",
|
fun: function () {
|
|
var wh = $(window).height();
|
//$(".pt-form").height(wh-79-48);
|
return (wh - 79 - 48);
|
|
}
|
});
|
|
$('#formDept').form({
|
onBeforeLoad: function (param) {
|
wcp.ui.setBusy("#formDept");
|
},
|
onLoadSuccess: function (data) {
|
wcp.ui.clearBusy("#formDept");
|
},
|
onLoadError: function () {
|
wcp.ui.clearBusy("#formDept");
|
}
|
});
|
|
//绑定按钮事件
|
//添加根部门按钮事件
|
$("#btnAddRootDept").click(function () {
|
$("#formDept").form('reset');
|
|
$('#parentId').combotree('setValue', 0);
|
});
|
|
//添加子部门按钮事件
|
$("#btnAddSubDept").click(function () {
|
var node = $('#ul_dept').tree('getSelected');
|
if (node != null) {
|
$("#formDept").form('reset');
|
|
//设置父部门ID
|
$('#parentId').combotree('setValue', node.id);
|
|
//获取子部门最大排序号
|
if (node.children && node.children.length > 0) {
|
var lastNode = node.children[node.children.length - 1];
|
if (lastNode.attributes && lastNode.attributes.sortNum) {
|
$('#sortNum').numberspinner('setValue', lastNode.attributes.sortNum + 1);
|
}
|
} else {
|
$('#sortNum').numberspinner('setValue', 1);
|
}
|
} else {
|
layer.alert('请先选择一个部门!', {
|
icon: 1
|
});
|
}
|
});
|
|
//删除部门按钮事件
|
$("#btnDeleteDept").click(function () {
|
var node = $('#ul_dept').tree('getSelected');
|
if (node != null) {
|
//判断是否有子部门
|
var msg = "";
|
if (node.children != null && node.children.length > 0) {
|
msg = '当前部门有子部门,确定要和子部门一起删除吗?';
|
} else {
|
msg = '确定要删除当前选中的部门吗?';
|
}
|
|
layer.confirm(msg, {
|
icon: 3,
|
title: '提示'
|
}, function (index) {
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: "management/dept/deleteDept",
|
data: node.id,
|
}).done(function (result) {
|
wcp.notify.success('删除成功!');
|
|
//重置表单数据
|
$('#formDept').form('reset');
|
|
//重置选中的数据
|
NowSelectedNodeId = null;
|
|
//重新加载部门数据
|
$('#ul_dept').tree('reload');
|
$('#parentId').combotree('reload');
|
}));
|
|
layer.close(index);
|
});
|
} else {
|
wcp.message.info('请先选择要删除的部门!');
|
}
|
|
});
|
|
//保存按钮事件
|
$("#btnSaveDept").click(function () {
|
|
//验证表单信息
|
var isValid = $('#formDept').form('validate');
|
if (!isValid) {
|
wcp.notify.warn('表单验证有误,请检查表单输入项!');
|
return;
|
}
|
|
var obj = $("#formDept").serializeObject();
|
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: "management/dept/saveDept",
|
data: JSON.stringify(obj),
|
}).done(function (result) {
|
wcp.notify.success('保存成功!');
|
|
//重新加载表单数据
|
$('#formDept').form('load', result);
|
|
//设置选中的数据
|
NowSelectedNodeId = result.deptId;
|
|
//重新加载部门数据
|
$('#ul_dept').tree('reload');
|
$('#parentId').combotree('reload');
|
}));
|
});
|
|
//重置部门按钮事件
|
$("#btnReset").click(function () {
|
$("#formDept").form('reset');
|
});
|
});
|
|
function selectDeptLeader() {
|
wcp.picker.selectUser({
|
title: "请选择部门负责人",
|
multiSelect: false,
|
idElement: "deptLeaderId",
|
nameElement: "deptLeaderName",
|
hasSelectIds: $("#deptLeaderId").val(),
|
hasSelectNames: $("#deptLeaderName").textbox("getValue"),
|
layerOpener: window
|
});
|
|
//没有文本框储值的使用方式
|
// wcp.picker.selectUser({
|
// title : "请选择部门负责人",
|
// multiSelect : false,
|
// layerOpener : window
|
// }, function(rows) {
|
// for (var i = 0; i < rows.length; i++) {
|
// var id = rows[i].id;
|
// var name = rows[i].name;
|
// //其他字段
|
// var deptId = rows[i].srcData.deptId;
|
// var deptName = rows[i].srcData.deptName;
|
// //其他用户表的字段都可以读
|
// //处理...
|
// }
|
// });
|
}
|
|
function selectDeputyLeaders() {
|
wcp.picker.selectUser({
|
title: "请选择部门副职领导",
|
multiSelect: true,
|
idElement: "deputyLeaderIds",
|
nameElement: "deputyLeaderNames",
|
hasSelectIds: $("#deputyLeaderIds").val(),
|
hasSelectNames: $("#deputyLeaderNames").textbox("getValue"),
|
layerOpener: window
|
});
|
}
|
|
function selectDeptClerk() {
|
wcp.picker.selectUser({
|
title: "请选择部门办事员",
|
multiSelect: true,
|
idElement: "deptClerkIds",
|
nameElement: "deptClerkNames",
|
hasSelectIds: $("#deptClerkIds").val(),
|
hasSelectNames: $("#deptClerkNames").textbox("getValue"),
|
layerOpener: window
|
});
|
}
|
|
function selectParentDeptLeader() {
|
wcp.picker.selectUser({
|
title: "请选择上级分管领导",
|
multiSelect: false,
|
idElement: "parentDeptLeaderId",
|
nameElement: "parentDeptLeaderName",
|
hasSelectIds: $("#parentDeptLeaderId").val(),
|
hasSelectNames: $("#parentDeptLeaderName").textbox("getValue"),
|
layerOpener: window
|
});
|
}
|
</script>
|
</html>
|