<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>部门管理</title>
<%@include file="/WEB-INF/views/common.jsp" %>
<!-- 页面加载的时候初始化模版配置 -->
<script type="text/javascript">
//初始化浏览器界面设置到的布局界面相关变量
var departmentDatagrids,
departmentDatagrid_toolbars,
departmentCreateOrEditDiaglogs,
departmentCreateOrEditDiaglogBtns,
departmentCreateOrEditFroms,
parentDepartmentCombotrees;
//页面加载完毕后
$(function(){
//初始化布局界面对象
departmentDatagrids = $("#departmentDatagrids");
departmentDatagrid_toolbars =$("#departmentDatagrid_toolbars");
departmentCreateOrEditDiaglogs =$("#departmentCreateOrEditDiaglogs");
departmentCreateOrEditDiaglogBtns =$("#departmentCreateOrEditDiaglogBtns");
departmentCreateOrEditFroms =$("#departmentCreateOrEditFroms");
parentDepartmentCombotrees =$("#parentDepartmentCombotrees");
//初始化常用操作方法
var operationObject ={
//增加功能
create :function(){
//清空表单中所有数据
departmentCreateOrEditFroms.form("clear");
//打开增加/修改对话框dialog视图
departmentCreateOrEditDiaglogs.dialog("open");
},
//修改功能
edit :function(){
//获取选择的行数据
var rowData = departmentDatagrids.datagrid("getSelected");
//判断行数据
if(!rowData){
//提示信息
$.messager.alert("温馨提示","请选择一行数据!!!","info");
return;
}
//清空表单数据,并打开修改窗体
operationObject['create']();
//设置关联属性,部门经理和上级部门
if(rowData.manager != null){
rowData["manager.id"] = rowData.manager.id;
}
if(rowData.parent !=null){
rowData["parent.id"] = rowData.parent.id;
}
//加载数据
departmentCreateOrEditFroms.form("load",rowData);
},
//删除/禁用功能
remove :function(){
var rows = $('#departmentDatagrids').datagrid("getSelections");
var ids ="";
if(!rows){
$.messager.alert("温馨提示","请选中一行数据!!","info");
return;
}
var len =rows.length;
for(var i=0; i < len; i++){//组成一个字符串,ID主键之间用逗号隔开
if(rows[i].status =='0'||rows[i].status ==""||rows[i].status ==null){
if(i!=len-1){
ids=ids+rows[i].id+",";
}else{
ids=ids+rows[i].id;
}
}
}
if(ids ==""){
$.messager.alert("温馨提示","请选择需要禁用的用户!","info");
return;
}
$.post('department_remove.action',{"ids":ids},function(data){
if(data.success){
//提示启用成功信息
$.messager.alert("温馨提示",data.message,"info",function(){
$("#departmentDatagrids").datagrid("load",{});
});
}else{
$.messager.alert("温馨提示","操作失败<br>"+data.message,"info");
}
});
},
//启用功能
using :function(){
var rows = $('#departmentDatagrids').datagrid("getSelections");
var ids ="";
if(!rows){
$.messager.alert("温馨提示","请选中一行数据!!","info");
return;
}
var len =rows.length;
for(var i=0; i < len; i++){//组成一个字符串,ID主键之间用逗号隔开
if(rows[i].status== -1){
if(i!=len-1){
ids=ids+rows[i].id+",";
}else{
ids=ids+rows[i].id;
}
}
}
if(ids ==""){
$.messager.alert("温馨提示","请选择需要启用的用户!","info");
return;
}
$.post('department_using.action',{"ids":ids},function(data){
if(data.success){
//提示启用成功信息
$.messager.alert("温馨提示",data.message,"info",function(){
$("#departmentDatagrids").datagrid("load",{});
});
}else{
$.messager.alert("温馨提示","操作失败<br>"+data.message,"info");
}
});
},
//刷新功能
refresh :function(){
//刷新datagrid视图数据
departmentDatagrids.datagrid("load",{});
},
save :function(){
departmentCreateOrEditFroms.form("submit",{
url:"department_save.action",
method:"post",
success:function(data){
//将ajax对象转化为对象
var jsonObj = $.parseJSON(data);
if(jsonObj.success){//成功
//关闭表单所在的dailog
departmentCreateOrEditDiaglogs.dialog("close");
//提示信息
$.messager.alert("温馨提示",jsonObj.message,"info",function(){
//刷新datagrid视图数据
departmentDatagrids.datagrid("load",{});
})
}else{//失败
//提示信息
$.messager.alert("温馨提示",jsonObj.message,"info");
}
}
});
},
cancel : function(){
//关闭增加/修改对话框dialog视图
departmentCreateOrEditDiaglogs.dialog("close");
}
};
//为列表透视图datagrid中toolbar绑定的单击事件
$("a[data-cmd]").bind("click",function(){
//获取点击的对象属性
var option = $(this).data("cmd");
if(option){
//调用相应的方法
operationObject[option]();
}
});
});
function managerFormatter(value,rowdata,rowindex){
return value&&value.trueName?value.trueName:value;
}
function parentFormatter(value,rowdata,rowindex){
return value&&value.name?value.name:value;
}
function statusFormatter(value,rowdata,rowindex){
return value==-1?"<font color='red'>禁用</font>":"<font color='green'>启用</font>";
}
//下拉框打开时候重新加载上级部门树
function reloadParentDepartmentCombotrees(){
$("parentDepartmentCombotrees").combotree("reload");
}
//加载上级部门树根据parentId并展开子节点
function loadTreesByNodes(node){
$('#parentDepartmentCombotrees').combotree("tree").tree("options").url = "department_getTreeData.action?parent.id=" + node.id;
}
//选择节点后合上上级部门树所有展开节点
function closedParentDepartmentCombotrees(){
$("parentDepartmentCombotrees").combotree("reload");
}
</script>
</head>
<body>
<!--设置初始化部门信息的列表透视图datagrid -->
<table id="departmentDatagrids" class="easyui-datagrid" pagination="true" pagePosition="both"
data-options="url:'department_listAll.action',fitColumns:true,fit:true,toolbar:'#departmentDatagrid_toolbars',rownumbers:true,
pageList:[3,5,7,9,11,13,15],pageNumber:1,pageSize:3,showFooter:true,">
<thead>
<tr>
<th data-options="checkbox:true,width:1" >选择</th>
<th data-options="field:'sn',width:1" sortable="true">编号</th>
<th data-options="field:'name',width:1" sortable="true" >部门名称</th>
<th data-options="field:'manager',width:1,formatter:managerFormatter" sortable="true" >部门经理</th>
<th data-options="field:'parent',width:1,formatter:parentFormatter" sortable="true">上级部门</th>
<th data-options="field:'status',width:1,formatter:statusFormatter" sortable="true">状态</th>
</tr>
</thead>
</table>
<!-- 配置列表透视图datagrid中的工具栏toolbar -->
<div id="departmentDatagrid_toolbars" style="padding:0px;">
<div>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-add" text="增加部门" data-cmd="create">增加部门</a>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-edit" taxt="修改部门" data-cmd="edit">修改部门</a>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-cancel" taxt="禁用部门" data-cmd="remove"">禁用部门</a>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-undo" taxt="启用部门" data-cmd="using">启用部门</a>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-reload" taxt="刷新" data-cmd="refresh">刷新</a>
</div>
</div>
<!-- 增加/修改部门对话框dialog 配置-->
<div id="departmentCreateOrEditDiaglogs" class="easyui-dialog" title="增加/修改部门" style="width:300px;height:250px;"
data-options="iconCls:'icon-save',resizable:true,modal:true,closed:true,buttons:'#departmentCreateOrEditDiaglogBtns',">
<form id="departmentCreateOrEditFroms" method="post">
<input name="id" type="hidden" />
<center>
<table style="padding:10px;">
<tr>
<td>部门编号:</td>
<td><input name="sn" type="text" class="easyui-validatebox" data-options="required:true" missingMessage="部门编号必填!" /> </td>
</tr>
<tr>
<td>部门名称:</td>
<td><input name="name" type="text" class="easyui-validatebox" data-options="required:true" missingMessage="部门名称必填!" /></td>
</tr>
<tr>
<td>部门经理:</td>
<td>
<!-- 部门经理采用combogrid视图展示 -->
<select name="manager.id" class="easyui-combogrid" style="width:150px" data-options="
panelWidth: 500,
url: 'employee_listAll.action',
idField: 'id',
textField: 'trueName',
method: 'post',
mode: 'remote',
columns: [[
{field:'trueName',title:'用户名',width:80},
{field:'tel',title:'电话',width:120},
]],
pagination : true,
pageSize :3,
pageList :[3,10,20],
fitColumns: true
">
</select>
</td>
</tr>
<tr>
<td>上级部门:</td>
<td><select id="parentDepartmentCombotrees" name="parent.id" class="easyui-combotree" style="width:200px;"
data-options="
url:'department_getTreeData.action?parent.id=0',
method: 'post',
onShowPanel:reloadParentDepartmentCombotrees,
onHidePanel:closedParentDepartmentCombotrees,
onBeforeExpand:loadTreesByNodes,
animate:true,
"></select>
</td>
</tr>
</table>
</center>
</form>
</div>
<!--增加/修改部门对话框departmentCreateDialogs中配置按钮的配置 -->
<div id="departmentCreateOrEditDiaglogBtns">
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-save" text="保存" data-cmd="save">保存</a>
<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-cancel" taxt="取消" data-cmd="cancel">取消</a>
</div>
</body>
</html>