You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1071 lines
40 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<html>
<head>
<title>组织结构管理</title>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="themes/default/easyui.css" />
<script type="text/javascript" src="../WF/Scripts/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="../WF/Scripts/jquery/jquery.easyui.min.js"></script>
<script src="../WF/Scripts/jquery/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="../WF/Scripts/QueryString.js" type="text/javascript"></script>
<link href="../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<!-- 引入新版本的类库. -->
<script src="../WF/Scripts/config.js" type="text/javascript"></script>
<script src="../WF/Comm/Gener.js" type="text/javascript"></script>
<link href="../WF/Style/skin/css/Default.css" rel="stylesheet" type="text/css" />
<link href="../WF/Style/skin/adminfont/iconfont.css" rel="stylesheet" type="text/css" />
<!-- 引入GPM配置. -->
<script src="config.js"></script>
<script src="../WF/Scripts/bootstrap/bootstrap-treeview/src/js/bootstrap-treeview.js"
type="text/javascript"></script>
<link href="../WF/Scripts/bootstrap/bootstrap-treeview/src/css/bootstrap-treeview.css" rel="stylesheet"
type="text/css" />
<script src="../WF/Scripts/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<link href="../WF/Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="../WF/Scripts/bootstrap/css/font-awesome.css" rel="stylesheet" type="text/css" />
<script src="../WF/Scripts/bootstrap/bootstrap-table/src/bootstrap-table.js" type="text/javascript"></script>
<link href="../WF/Scripts/bootstrap/bootstrap-table/src/bootstrap-table.css" rel="stylesheet" type="text/css" />
<script src="../WF/Scripts/bootstrap/bootstrap-table/src/locale/bootstrap-table-zh-CN.js"
type="text/javascript"></script>
<script src="../WF/Scripts/bootstrap/BootstrapUIDialog.js" type="text/javaScript"></script>
<!--引入zTree树. -->
<link href="../WF/Scripts/zTree_v3/css/metroStyle/metroStyle.css" rel="stylesheet" type="text/css" />
<script src="../WF/Scripts/zTree_v3/js/jquery.ztree.all.min.js" type="text/javascript"></script>
<script src="../WF/Scripts/zTree_v3/js/jquery.ztree.core.js" type="text/javascript"></script>
<script src="../WF/Scripts/zTree_v3/js/jquery.ztree.excheck.js" type="text/javascript"></script>
<script src="../WF/Scripts/zTree_v3/js/jquery.ztree.exedit.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../WF/Portal/icons/font-icons.min.css">
<link rel="stylesheet" type="text/css" href="../WF/Portal/icons/icons.css">
<script src="../WF/Portal/layui/layui.js"></script>
<link href="../WF/Portal/layui/css/layui.css" rel="stylesheet" type="text/css" />
<script src="./organization.js" type="text/javascript"></script>
<script type="text/javascript" src="../WF/Portal/js/sortjs/Sortable.min.js"></script>
<script src="../WF/Scripts/layui/LayuiDialog.js"></script>
<style type="text/css">
.ztree * {
font-size: 14px;
}
.ztree li a {
color: #565656
}
.small-menu {
margin-top: 10px;
position: absolute;
width: 120px;
z-index: 99999;
border: 0px;
background: #FFF;
padding: 0px;
display: none;
box-shadow: 0 0 6px rgba(0, 0, 0, .2);
}
.small-menu div {
height: 38px !important;
padding-left: 10px;
margin: 0px;
cursor: pointer;
line-height: 38px
}
.small-menu div i {
padding-right: 10px;
}
.small-menu div:hover {
background: #4d49bf !important;
color: #fff !important
}
.small-menu-separator {
padding-bottom: 0;
border-bottom: 1px solid #DDD;
}
.small-menu div.edit A {
background-image: url(images/page_white_edit.png);
}
.small-menu div.cut A {
background-image: url(images/cut.png);
}
.small-menu div.copy A {
background-image: url(images/page_white_copy.png);
}
.small-menu div.paste A {
background-image: url(images/page_white_paste.png);
}
.small-menu div.delete A {
background-image: url(images/page_white_delete.png);
}
.small-menu div.quit A {
background-image: url(images/door.png);
}
.modal-header {
line-height: 38px !important;
height: 38px !important;
background: #f7f7f7 !important;
padding: 0px 10px !important;
}
.modal-header .modal-title {
color: #4d49bf !important;
font-weight: bold !important;
line-height: 38px !important;
height: 38px !important;
margin-top: 0px !important;
}
.modal-header h3 {
font-size: 16px;
color: #414141;
}
.modal-header #closeModal {
background: #f7941f !important;
font-size: 16px !important;
width: 16px !important;
height: 16px !important;
line-height: 16px !important;
text-align: center !important;
border-radius: 50% !important;
color: #fff !important;
padding: 0px !important;
margin: 10px !important;
}
.modal-header #closeModal:hover {
color: #fff !important;
background: #4d49bf !important;
}
</style>
<script type="text/javascript">
var deptNo = "";
var webUser = new WebUser();
var tree = {
zTree: '',
pNode: '',
setting: {
isSimpleData: true,
treeNodeKey: "id",
treeNodeParentKey: "pid",
showLine: true,
root: {
isRoot: true,
nodes: []
},
view: {
dblClickExpand: false, //双击节点时,是否自动展开父节点的标识
showLine: true, //是否显示节点之间的连线
fontCss: {}, //字体样式函数
selectedMulti: false //设置是否允许同时选中多个节点
},
check: {
chkboxType: {
"Y": "ps",
"N": "ps"
},
chkboxType: {
"Y": "",
"N": ""
},
chkStyle: "checkbox", //复选框类型
enable: false //每个节点上是否显示 CheckBox
},
edit: {
enable: true,
editNameSelectAll: true,
showRemoveBtn: false,
showRenameBtn: false,
removeTitle: "remove",
renameTitle: "rename"
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pid",
rootPId: WebUser.FK_Dept
}
},
callback: {
onClick: function (event, treeId, treeNode) {
deptNo = treeNode.id;
BindEmps();
},
onRightClick: OnRightClick,
onExpand: function (event, treeId, treeNode) {
tree.pNode = treeNode;
tree.loadNodeByPNode();
}
}
},
loadRootNode: function () { //加载根节点,pid=0
var zNodes = [];
var handler = new HttpHandler("BP.WF.HttpHandler.GPMPage");
if (webUser.CCBPMRunModel == 2)
handler.AddPara("ParentNo", webUser.OrgNo);
else
handler.AddPara("ParentNo", 0);
var ens = handler.DoMethodReturnJSON("Organization_Init");
var zNodes = createJsonToTree(ens);
$.fn.zTree.init($("#regionZTree"), tree.setting, zNodes);
tree.zTree = $.fn.zTree.getZTreeObj("regionZTree");
},
/**
* 该方法是点击父节点的+号后执行的,意味着执行该方法的时候树已经生成了
* 所以才能用tree.zTree
*/
loadNodeByPNode: function () {
var children = [];
var folder = false;
//获取pid = mid的数据也就是子节点的id等于父节点的id说明此父节点加载了子节点
if (!tree.zTree.getNodeByParam("pid", tree.pNode.id)) {
var handler = new HttpHandler("BP.WF.HttpHandler.GPMPage");
handler.AddPara("ParentNo", tree.pNode.id);
var ens = handler.DoMethodReturnJSON("Organization_Init");
var zNodes = createJsonToTree(ens);
tree.zTree.addNodes(tree.pNode, zNodes, folder);
}
}
};
//右键菜单功能实现
(function ($, undefined) {
$.fn.popupSmallMenu = function (options) {
var $currMenu = $(this),
defaultOptions = {
event: null,
onClickItem: null
},
options = $.extend(defaultOptions, options);
var _smallMenu = {
popupSmallMenu: function () {
this._bindItemClick();
this._bindMenuEvent();
this._showMenu();
return $currMenu;
},
_bindMenuEvent: function () {
var thiz = this;
$currMenu.hover(function () {
}, function () {
thiz._unBindItemClick();
$currMenu.hide();
});
$currMenu.click(function () {
thiz._unBindItemClick();
$currMenu.hide();
});
},
_showMenu: function () {
if (!options.event) {
alert('请传入鼠标事件');
}
var height = options.event.clientY;
var height1 = $(document.body).height();
var DValue = height1 - height;
if (DValue < 230) {
height = options.event.clientY - 30;
}
height = height - 70;
var left = options.event.clientX + 10;
$currMenu.css({
top: height + "px",
left: left + "px",
display: "block"
});
},
_bindItemClick: function () {
$currMenu.find('div').each(function (index, obj) {
var $li = $(obj);
var itemIden = $li.attr('class');
$li.bind('click', function (event) {
event.stopPropagation();
if (options.onClickItem &&
typeof options.onClickItem === 'function') {
options.onClickItem(itemIden);
}
});
});
},
_unBindItemClick: function () {
$currMenu.find('div').each(function (index, obj) {
$(obj).unbind();
});
}
};
return _smallMenu.popupSmallMenu();
}
})(jQuery);
//右键点击
function OnRightClick(event, treeId, treeNode) {
tree.zTree.selectNode(treeNode);
if (treeNode) {
//弹出菜单
$("#menu").popupSmallMenu({
event: event,
onClickItem: function (item) {
if (item == "moveUpDept") {
moveUpDept(treeNode, item);
} else if (item == "moveDownDept") {
moveDownDept(treeNode, item);
} else if (item == "edit") {
Edit(treeNode);
} else if (item == "newSameLevel") {
NewSameLevel(treeNode);
} else if (item == "newNextLevel") {
NewNextLevel(treeNode);
} else if (item == "delete") {
Delete(treeNode);
}
}
});
}
}
//上移部门
function moveUpDept(treeNode, item) {
var dept = new Entity(deptEnName, treeNode.id);
var data = dept.DoMethodReturnString("DoUp");
//树节点直接更新
var before = $("#" + treeNode.tId).prev();
if (before.length == 0) {
return;
}
$("#" + treeNode.tId).insertBefore(before);
}
//下移部门
function moveDownDept(treeNode, item) {
var dept = new Entity(deptEnName, treeNode.id);
var data = dept.DoMethodReturnString("DoDown");
//树节点直接更新
var next = $("#" + treeNode.tId).next();
if (next.length == 0) {
return;
}
$("#" + treeNode.tId).insertAfter(next);
}
//增加同级部门
function NewSameLevel(treeNode) {
if (treeNode.pid == null) {
alert('您不能增加同级,当前级别是最高级.');
return;
}
var deptNo = null;
//如果部门编号的模式是自己编写的.
if (NewDeptNoModel == 0) {
deptNo = GenerNewDeptNo(treeNode.id, treeNode.pid);
if (deptNo == null || deptNo == undefined)
return;
}
var val = prompt("请输入部门名称", "");
if (val == null || val == '') {
return false;
}
var dept = new Entity(deptEnName);
dept.Name = val;
dept.ParentNo = treeNode.pid;
if (deptNo != null)
dept.No = deptNo;
dept.Insert();
//更新树节点
var treeObj = $.fn.zTree.getZTreeObj("regionZTree");
var parentNode = treeObj.getNodeByTId(treeNode.parentTId);
var newNode = {
name: val,
id: dept.No
};
//把这个新节点添加到当前选中的节点下,作为它的子节点
newNode = treeObj.addNodes(parentNode, newNode);
}
//增加下级部门
function NewNextLevel(treeNode) {
var deptNo = null;
//如果部门编号的模式是自己编写的.
if (NewDeptNoModel == 0) {
deptNo = GenerNewDeptNo(treeNode.id, treeNode.pid);
if (deptNo == null || deptNo == undefined)
return;
}
var val = prompt("请输入部门名称", "");
if (val == null || val == '') {
return false;
}
var dept = new Entity(deptEnName);
if (deptNo != null)
dept.No = deptNo;
dept.Name = val;
dept.ParentNo = treeNode.id;
dept.Insert();
//更新树节点
var treeObj = $.fn.zTree.getZTreeObj("regionZTree");
var newNode = {
name: val,
id: dept.No
};
//var newNode = { name: val };
//把这个新节点添加到当前选中的节点下,作为它的子节点
newNode = treeObj.addNodes(treeNode, newNode);
}
//编辑部门
function Edit(treeNode) {
var name = $("#" + treeNode.tId + "_span").text()
var val = prompt("请输入部门名称", name);
if (val == null || val == '') {
//alert('必须输入名称.');
return false;
}
var dept = new Entity(deptEnName, treeNode.id);
dept.Name = val;
dept.Update();
//更新树节点
$("#" + treeNode.tId + "_span").text(val);
}
//删除部门
function Delete(treeNode) {
if (confirm("你确定删除该部门吗?") == false)
return;
var dept = new Entity(deptEnName, treeNode.id);
dept.Delete();
//树节点删除
var my = document.getElementById(treeNode.tId);
if (my != null)
my.parentNode.removeChild(my);
}
function GenerNewDeptNo(no, parentNo) {
var alt = "请输入部门编号";
alt += "\t\n 1.如为空,则系统自动生成.";
alt += "\t\n 2.如输入已经存在的部门编码,系统就会抛出错误.";
alt += "\t\n 3.当前部门的编码为:" + no + ", 父节点的ID为:" + parentNo;
var deptNo = prompt(alt, "");
if (deptNo == null || deptNo == '') {
//需要系统自动生成编号,就直接走insert();
} else {
while (true) {
if (deptNo == null || deptNo == '') {
break;
} else {
var dept = new Entity(deptEnName);
dept.No = deptNo;
if (dept.RetrieveFromDBSources() == 0)
break;
deptNo = prompt('该编号已经存在,请重新输入,(点击取消让系统自动生成编号)', deptNo);
continue;
}
break;
}
}
if (deptNo == '')
deptNo = null;
return deptNo;
}
//初始化
$(function () {
$("#pageloading").show();
Reset(); //加载重置查询条件
//var handler = new HttpHandler("BP.WF.HttpHandler.GPMPage");
//var ens = handler.DoMethodReturnJSON("Organization_Init");
//var jsonTree = createJsonToTree(ens);
//var jsonTree = findChildren(ens, webUser.FK_Dept);
tree.loadRootNode();
fillter(); //设置展开前三级
//绑定帮助信息.
var html = "<br><br> <h3 style='padding-left:5px'>驰骋组织结构管理</h3>";
html += "<ul>";
html += "<li>该组织结构可以与您的系统集成,<a href='http://ccbpm.mydoc.io/?v=5404&t=15928' target=_blank >如何集成请参考集成手册.</a></li>";
html += "<li>本功能维护了人员信息Port_Emp, 部门信息Port_Dept, 一人多部门(我们成为兼职Port_DeptEmp), 一人多部门多岗位(Port_DeptEmpStation)</li>";
html += "<li>维护部门在节点上点击右键,可以新建,保存,修改。</li>";
html += "</ul>";
html = "";
$("#Emps").html(html);
$("#pageloading").hide();
//鼠标移开时右键菜单消失
$(document).on('mouseleave ', '.dropdown-menu', function () {
$(".dropdown-menu").hide();
$.learunindex.destroy
});
// 绑定表格右键菜单
bindContextMenu()
});
//设置展开前三级
function fillter() {
//获得树形图对象
var nodeList = tree.zTree.getNodes();       //展开第一个根节点
for (var i = 0; i < nodeList.length; i++) { //设置节点展开第二级节点
tree.zTree.expandNode(nodeList[i], true, false, true);
}
}
//转换ztree需要的数据格式
var treeJson = [];
function createJsonToTree(jsonArray) {
treeJson = [];
var fk_dept = webUser.FK_Dept;
if (webUser.CCBPMRunModel != 0) {
fk_dept = webUser.OrgNo;
}
if (webUser.No == "admin") {
for (var i = 0; i < jsonArray.length; i++) {
var data = jsonArray[i];
if (data.No === "" || data.No == undefined)
continue;
treeJson.push({
"id": data.No,
"pid": data.ParentNo,
"name": data.Name,
"idx": data.Idx,
isParent: true,
parent: true
});
}
} else {
//添加本部门的一条数据
$.each(jsonArray, function (i, o) {
if (o.No == fk_dept) {
treeJson.push({
"id": o.No,
"pid": o.ParentNo,
"name": o.Name,
"idx": o.Idx,
isParent: true,
parent: true
});
return;
}
});
//循环加入本部门的所有下级部门
findChildren(jsonArray, fk_dept);
}
return treeJson;
}
function findChildren(jsonArray, parentNo) {
$.each(jsonArray, function (i, o) {
if (o.ParentNo == parentNo) {
treeJson.push({
"id": o.No,
"pid": o.ParentNo,
"name": o.Name,
"idx": o.Idx
});
findChildren(jsonArray, o.No);
}
});
}
//绑定人员.
function BindEmps() {
var dept = new Entity(deptEnName, deptNo);
var html = "";
html += "<div class='container'>";
html += "<div class='fixed-table-header'>";
html += "<table class='table table-hover table-striped' style='width:90%;' >";
html += "<tr><h5 style='margin-top: 20px;margin-bottom: 20px'><a class='layui-btn layui-btn-primary layui-border-gray layui-btn-sm' href=\"javascript:EditDept('" + dept.No + "')\" >" + dept.Name + " </a> " +
"<a class='layui-btn layui-btn-primary layui-border-blue layui-btn-sm' href='javascript:EditEmp()'>新建人员</a> " +
"<a class='layui-btn layui-btn-primary layui-border-green layui-btn-sm' href='javascript:RefEmps()'>关联兼职</a> </h5></tr>";
html += "<thead ><tr> ";
html += "<th style='background-color:#F2F2F2;'>序号</th>";
html += "<th style='background-color:#F2F2F2;'>编号</th>";
html += "<th style='background-color:#F2F2F2;'>名称</th>";
html += "<th style='background-color:#F2F2F2;'>主部门</th>";
html += "<th style='background-color:#F2F2F2;'>邮件</th>";
html += "<th style='background-color:#F2F2F2;'>电话</th>";
html += "<th style='background-color:#F2F2F2;'>飞鸽</th>";
html += "<th style='background-color:#F2F2F2;'>操作</th>";
html += "</tr></thead>";
var emps = new Entities(empEnsName);
emps.Retrieve("FK_Dept", dept.No, "Idx");
var empNos = ",";
html += "<tbody class='dept-sort'>";
for (var i = 0; i < emps.length; i++) {
var emp = emps[i];
html += "<tr data-id='" + emp.No + "' data-pid='" + dept.No + "' class='dept-dropdown-item' ondblclick=\"EditEmp('" + emp.No + "')\" >";
html += "<td class='Idx' >" + (i + 1) + "</td>";
html += "<td>" + emp.No + "</td>";
html += "<td><a href=\"javascript:EditEmp('" + emp.No + "')\">" + emp.Name + "</a></td>";
html += "<td>" + dept.Name + "</td>";
if (emp.Email == null || emp.Email === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Email + "</td>";
if (emp.Tel == null || emp.Tel === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Tel + "</td>";
html += "<td>" +
"<button data-id='" + emp.No + "' data-pid='" + dept.No + "' class='dept-dropdown-btn layui-btn layui-btn-primary layui-border-cyan layui-btn-sm' style='width: 100%'>操作</button></td>";
html += "<td><a href=\"javascript:FeiGe('" + emp.No + "','" + emp.Name + "','" + emp.FK_Dept + "','" + emp.FK_DeptText + "','" + emp.OrgNo + "')\">飞鸽</a></td>";
html += "</tr>";
empNos += emp.No + ',';
}
html += "</tbody>";
//取消人员部门岗位管理关系.
//var deptEmps = new Entities("BP.Port.DeptEmps");
//deptEmps.DoMethodReturnString("DelteNotInEmp");
//var deptEmpStas = new Entities("BP.Port.DeptEmpStations");
//deptEmpStas.DoMethodReturnString("DelteNotInEmp");
//查询出来兼职人员.
var deptEmps = new Entities("BP.Port.DeptEmps");
deptEmps.Retrieve("FK_Dept", deptNo);
var num = emps.length;
html += "<tbody class='part-time-sort'>";
for (var i = 0; i < deptEmps.length; i++) {
var deptEmp = deptEmps[i];
if (empNos.indexOf(',' + deptEmp.FK_Emp + ',') != -1)
continue;
var emp = new Entity(empEnName);
emp.No = deptEmp.FK_Emp;
emp.SetPKVal(emp.No);
if (emp.RetrieveFromDBSources() == 0) {
//if (emp.Retrieve() == 0) {
continue;
}
html += "<tr data-id='" + emp.No + "' data-pid='" + emp.FK_Dept + "' class='ptj-dropdown-item' ondblclick=\"EditEmp('" + emp.No + "')\" >";
html += "<td class='Idx' >" + num + "</td>";
html += "<td>" + emp.No + "</td>";
html += "<td><a href=\"javascript:EditEmp('" + emp.No + "')\">" + emp.Name + "</a></td>";
html += "<td>兼职</td>";
if (emp.Email == null || emp.Email === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Email + "</td>";
if (emp.Tel == null || emp.Tel === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Tel + "</td>";
html += "<td><button data-id='" + emp.No + "' data-pid='" + emp.FK_Dept + "' class='ptj-dropdown-btn layui-btn layui-btn-primary layui-border-green layui-btn-sm' style='width: 100%'>兼职操作</button></td>";
html += "<td><a href=\"javascript:FeiGe('" + emp.No + "','" + emp.Name + "','" + emp.FK_Dept + "','" + emp.FK_DeptText + "','" + emp.OrgNo + "')\">飞鸽</a></td>";
html += "</tr>";
num++;
empNos += emp.No + ',';
}
html += "</tbody>"
//把WF_Emp中主部门是当前部门且禁用的查询出来
var wfEmps = new Entities("BP.WF.Port.WFEmps");
wfEmps.Retrieve("FK_Dept", deptNo, "UseSta", 0);
html += "<tbody class='blacklist-sort'>";
for (var i = 0; i < wfEmps.length; i++) {
var emp = wfEmps[i];
if (empNos.indexOf(',' + emp.No + ',') != -1)
continue;
html += "<tr data-id='" + emp.No + "' data-pid='" + emp.FK_Dept + "' class='bl-dropdown-item' ondblclick=\"EditEmp('" + emp.No + "')\" >";
html += "<td class='Idx' >" + (i + 1) + "</td>";
html += "<td>" + emp.No + "</td>";
html += "<td>" + emp.Name + "</td>";
html += "<td>" + dept.Name + "</td>";
if (emp.Email == null || emp.Email === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Email + "</td>";
if (emp.Tel == null || emp.Tel === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Tel + "</td>";
html += "<td><a href=\"javascript:FeiGe('" + emp.No + "','" + emp.Name + "','" + emp.FK_Dept + "','" + emp.FK_DeptText + "','" + emp.OrgNo + "')\">飞鸽</a></td>";
html += "<td><button data-id='" + emp.No + "' data-pid='" + emp.FK_Dept + "' class='bl-dropdown-btn layui-btn layui-btn-primary layui-border-red layui-btn-sm' style='width: 100%'>黑名单操作</button></td>";
html += "</tr>";
empNos += emp.No + ',';
}
html += "</tbody>";
html += "</table>";
html += "</div>";
html += "</div>";
$("#Emps").html(html);
bindContextMenu()
bindSortableJs()
}
function FeiGe(no, name, deptNo, deptName, orgNo, orgName)
{
var webUser = new WebUser();
CreateTalk(orgNo, webUser.No, no, name, "cccccc", 'http://ccflow.org');
}
/**
* 禁用用户信息
* @param empNo
*/
function DoUnEnable(empNo) {
//把用户的信息禁用掉存储到WF_Emp表中
var emp = new Entity("BP.Port.Emp", empNo);
var data = emp.DoMethodReturnString("DoUnEnable");
alert(data);
BindEmps();
}
/**
* 启用用户
* @param empNo
*/
function DoEnable(empNo) {
var wfEmp = new Entity("BP.WF.Port.WFEmp", empNo);
wfEmp.UseSta = 1; //启用
wfEmp.Save();
var emp = new Entity("BP.Port.Emp");
emp.CopyJSON(wfEmp);
emp.Save();
BindEmps();
}
function Up(no) {
var emp = new Entity(empEnName, no);
var data = emp.DoMethodReturnString("DoUp");
BindEmps();
}
function Down(no) {
var emp = new Entity(empEnName, no);
var data = emp.DoMethodReturnString("DoDown");
BindEmps();
}
function EditDept(no) {
var url = '../WF/Comm/En.htm?EnName=' + deptEnName + '&No=' + no + '&FK_Dept=' + deptNo;
OpenBootStrapModal(url, "eudlgframe", "编辑", '800', '500', "icon-edit", true, null, null);
}
function EditEmp(no) {
if (no == undefined) {
//编号生成规则: 0=手工输入自己编号 1=系统自动生成.
if (NewEmpNoModel == 0) {
}
var url = '../WF/Comm/En.htm?EnName=' + empEnName + '&FK_Dept=' + deptNo;
OpenBootStrapModal(url, "eudlgframe", "编辑", '800', '500', "icon-edit", false, function () {
}, null, function () {
//刷新打开的页面
BindEmps();
});
return;
}
var url = '../WF/Comm/En.htm?EnName=' + empEnName + '&No=' + no + '&FK_Dept=' + deptNo;
OpenBootStrapModal(url, "eudlgframe", "编辑", '800', '500', "icon-edit", false, function () {
}, null, function () {
//刷新打开的页面
BindEmps();
});
}
function RefEmps() {
var url = "../WF/Comm/RefFunc/BranchesAndLeaf.htm?EnName=BP.Port.Dept&Dot2DotEnsName=BP.Port.DeptEmps&Dot2DotEnName=BP.Port.DeptEmp&AttrOfOneInMM=FK_Dept&AttrOfMInMM=FK_Emp&EnsOfM=BP.Port.Emps&DefaultGroupAttrKey=FK_Dept&No=" + deptNo + "&PKVal=" + deptNo + "&s=0.13113811473063341";
OpenBootStrapModal(url, "eudlgframe", "关联人员", '1000', '500', "icon-edit", true, null, null, function () {
//刷新打开的页面
BindEmps();
});
}
function Del(no, dept, useSta) {
if (confirm('您确定要删除该人员吗?') == false)
return;
var deptEmpPK = deptNo + "_" + no;
//取消人员部门管理关系
var en = new Entity("BP.Port.DeptEmp");
en.SetPKVal(deptEmpPK);
en.Delete();
if (useSta == 1) {
var en = new Entity(empEnName, no);
en.Delete();
}
if (useSta == 0) {
var en = new Entity("BP.WF.Port.WFEmp", no);
en.Delete();
}
//取消人员部门岗位管理关系
var handler = new HttpHandler("BP.WF.HttpHandler.GPMPage");
handler.AddPara("FK_Emp", no);
handler.AddPara("FK_Dept", deptNo);
handler.DoMethodReturnString("DeptEmpStation_Dele");
// var en = new Entity("BP.Port.DeptEmpStation");
// en.Delete("FK_Dept",);
// SELECT * FROM Port_DeptEmpStation WHERE FK_Dept+'_'+FK_Emp not in (select MyPK FROM PORT_DEPTEMP)
BindEmps();
}
function Remove(no) {
if (confirm('您确定要从该部门中移除吗?') == false)
return;
var en = new Entity("BP.Port.DeptEmp");
en.SetPKVal(deptNo + "_" + no);
en.Delete();
BindEmps();
}
//按人员查询
function SearchEmp() {
var searchKey = $("#searchKey").val();
var handler = new HttpHandler("BP.WF.HttpHandler.GPMPage");
handler.AddPara("searchKey", searchKey);
var emps = handler.DoMethodReturnJSON("GPM_Search");
var html = "";
html += "<div class='container'>";
html += "<div class='fixed-table-header'>";
html += "<table class='table table-hover table-striped' style='width:90%;' >";
html += "<thead ><tr> ";
html += "<th style='background-color:#F2F2F2;'>序号</th>";
html += "<th style='background-color:#F2F2F2;'>编号</th>";
html += "<th style='background-color:#F2F2F2;'>名称</th>";
html += "<th style='background-color:#F2F2F2;'>主部门</th>";
html += "<th style='background-color:#F2F2F2;'>邮件</th>";
html += "<th style='background-color:#F2F2F2;'>电话</th>";
html += "<th style='background-color:#F2F2F2;'>飞鸽</th>";
html += "<th style='background-color:#F2F2F2;'>操作</th>";
html += "</tr></thead>";
html += "<tbody>";
for (var i = 0; i < emps.length; i++) {
var emp = emps[i];
html += "<tr ondblclick=\"EditEmp('" + emp.No + "')\" >";
html += "<td class='Idx' >" + (i + 1) + "</td>";
html += "<td>" + emp.No + "</td>";
html += "<td><a href=\"javascript:EditEmp('" + emp.No + "')\">" + emp.Name + "</a></td>";
html += "<td>" + emp.deptName + "</td>";
if (emp.Email == null || emp.Email === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Email + "</td>";
if (emp.Tel == null || emp.Tel === "")
html += "<td>-</td>";
else
html += "<td>" + emp.Tel + "</td>";
html += "<td><a href=\"javascript:FeiGe('" + emp.No + "','" + emp.Name + "','" + emp.FK_Dept + "','" + emp.FK_DeptText + "','" + emp.OrgNo + "')\">飞鸽</a></td>";
html += "<td><a href=\"javascript:Del('" + emp.No + "','" + emp.FK_Dept + "');\" class='cc-btn-tab btn-del'>删除</a></td>";
html += "</tr>";
}
html += "</tbody>";
html += "</table>";
html += "</div>";
html += "</div>";
$("#Emps").html(html);
}
function Reset() {
$("#searchKey").val("");
}
function EditStations() {
var url = "../WF/Comm/Search.htm?EnsName=" + ensOfStations;
// window.open(url);
OpenLayuiDialog(url, "", 90000, false, false, true, false, true);
}
function EditStationTypes() {
var url = "../WF/Comm/Ens.htm?EnsName=" + ensOfStationTypes;
OpenLayuiDialog(url, "", 90000, false, false, true, false, true);
//window.open(url);
}
//二维码邀请加入.
function InvitedQRCode()
{
var url = "InvitedQRCode.htm";
OpenLayuiDialog(url, "", 90000, false, false, true, false, true);
}
</script>
<style>
.panel-header,
.panel-body {
border-color: #f5f5ff
}
.blue-background-class {
background: #95B8E7 !important;
}
.blue-background-class > td {
color: white !important;
}
.blue-background-class > td > a {
color: white !important;
}
.blue-background-class > td > button {
border: 1px solid #fff !important;
color: white !important;
}
</style>
</head>
<body class="easyui-layout">
<div id="pageloading">
</div>
<div data-options="region:'north',split:false" style="padding:6px 0 6px 6px;overflow:hidden">
<div style="float:left">
关键字:<input id="searchKey" name="searchKey" type="text" />
<button class="cc-btn-tab" id="SearchBtn" onclick="SearchEmp()">查询</button>
<button class="cc-btn-tab" id="ResetBtn" onclick="Reset()">重置</button>
</div>
<div style="float:right">
<button class="cc-btn-tab" id="SearchBtn" onclick="InvitedQRCode()">二维码邀请加入</button>
<button class="cc-btn-tab" id="SearchBtn" onclick="EditStations()">岗位</button>
<button class="cc-btn-tab" id="ResetBtn" onclick="EditStationTypes()">岗位类型</button>
<!--<button class="cc-btn-tab" id="ResetBtn" onclick="Reset()">权限组</button>-->
</div>
</div>
<div data-options="region:'west',split:false" style="width: 240px; padding: 1px; overflow: hidden;">
<div style="width: 100%; height: 95%; overflow: auto;">
<ul id="regionZTree" class="ztree" data-options="animate:false,dnd:false"></ul>
</div>
<div id="menu" class="small-menu" style="width: 120px;">
<div class="newSameLevel">
<i class="iconfont icon-zujian"></i>增加同级
</div>
<div class="newNextLevel">
<i class="iconfont icon-xianchengxielou"></i>增加子级
</div>
<div class="edit">
<i class="iconfont icon-bianji1"></i>修改名称
</div>
<div class="delete">
<i class="iconfont icon-guanbi"></i>删除
</div>
<div class="moveUpDept">
<i class="iconfont icon-shangyi"></i>上移
</div>
<div class="moveDownDept">
<i class="iconfont icon-xy"></i>下移
</div>
</div>
</div>
<div data-options="region:'center',split:true" style="width:90%;">
<div id="Emps">
</div>
</div>
</body>
</html>