mbos.$registerJsbinder(function(page){ //@begin自动生成事件代码 //设计器会自动覆盖,请勿修改 var _self =this; var _this =this; //@end自动生成事件代码 //@begin自定义事件 // 脚本文件 $(document).ready(function() { var currentLevel = 0; // 当前层级 var breadcrumbs = []; // 面包屑数组 var breadcrumbIds = []; // 面包屑数组 function loadOrganizations(parentId) { var param = {"orgId": parentId, "checkType":"1"}; mbos.eas.invokeScript({ name: "commonOSFservice", param: ['GetAdminInfoService', JSON.stringify(param)], success: function (res) { if (res && res.length > 0) { renderOrganizations(res); }else{ //调用加载员工的方法 loadEmployees(parentId); } }, error: function (data) { if (typeof (data) == "string") { mbos.msgBox.showError("", data); } else { mbos.msgBox.showError({ ...data, msg: "" }); } } }) } function renderOrganizations(organizations) { $("#sub-organization-label").text("下级部门"); $('#organization-tree').empty(); organizations.forEach(function(org) { var $orgContainer = $(''); var $orgName = $('').text(org.name).addClass('org-name'); var $orgCount = $('').text(' (共'+org.totalCount+'人)').addClass('org-count'); $orgContainer.append($orgName).append($orgCount); var $li = $('
  • ').append($orgContainer).addClass('organization-item') $li.click(function() { if ($(this).hasClass('selected')) { loadEmployees(org.id); // 加载员工信息 } else { loadOrganizations(org.id); // 加载下一级组织 updateBreadcrumbs(org.name, org.id); } }); // 只有当org.count不为0时才创建$countContainer if (org.count > 0) { // 创建一个容器 var $countContainer = $(''); // 创建 org.count 的元素并设置为浅蓝色 var $count = $('').text('本层级人数: '+org.count+'人') .css('color', '#007bff'); // 浅蓝色 // var $separator = $('').text(' >') // .css('color', '#007bff'); // 浅蓝色 // 将两个元素添加到容器中 // $countContainer.append($count).append($separator); $countContainer.append($count) ; $countContainer.click(function(e) { e.stopPropagation(); // 阻止事件冒泡 loadEmployees(org.id); // 查询当前组织下的所有员工 }); // 将计数添加到列表项中 $li.append($countContainer); } if (currentLevel > 0 && !org.hasChildren) { $li.addClass('selected'); } $('#organization-tree').append($li); }); } function updateBreadcrumbs(name, orgId) { breadcrumbs.push(name); breadcrumbIds.push(orgId); renderBreadcrumbs(); } function renderBreadcrumbs() { $('#breadcrumb-container').empty(); breadcrumbs.forEach(function(crumb, index) { var $span = $('').addClass('breadcrumb-item') .text(crumb) .click(function() { breadcrumbs = breadcrumbs.slice(0, index + 1); breadcrumbIds = breadcrumbIds.slice(0, index + 1); loadOrganizations(breadcrumbIds[breadcrumbIds.length - 1]); // 隐藏当前面包屑后面的分隔符和面包屑 $('#breadcrumb-container').find('.breadcrumb-item').slice(index + 1).remove(); $('#breadcrumb-container').find('.breadcrumb-separator').slice(index).remove(); }); // 添加“ > ”作为分隔符 if (index > 0) { $('#breadcrumb-container').append($('').addClass('breadcrumb-separator').text(' > ')); } $('#breadcrumb-container').append($span); }); } function loadEmployees(orgId,perName) { var param = {"orgId": orgId, "perName": perName,"checkType":"1"}; mbos.eas.invokeScript({ name: "commonOSFservice", param: ['getPersonFromOrgService', JSON.stringify(param)], success: function (res) { if (res) { renderEmployees(res); } else { mbos.msgBox.showError("无组织数据", data); } }, error: function (data) { if (typeof (data) == "string") { mbos.msgBox.showError("", data); } else { mbos.msgBox.showError({ ...data, msg: "" }); } } }) } function renderEmployees(employees) { $("#sub-organization-label").text("部门成员"); $('#organization-tree').empty(); employees.forEach(function(emp) { // 创建一个外部容器来包裹员工信息 var $li = $('
  • ').addClass('organization-item').attr('empId', emp.fid) .click(function() { var that = this; var empId = $(that).attr('empId'); // console.log(empId); //测试环境 // var eidVal = 'ding5208b4333b1d308b4ac5d6980864d335'; //正式环境 var eidVal = 'ding68ce57ecf9d937b324f2f5cc6abecb85'; // 跳转到员工信息详情页面 window.location.href = 'https://mbos.kdeascloud.com/mbos/page/loadPage?appid='+eidVal +'&path=archive9000&name=archive9000.navui&personId=' + encodeURIComponent(empId); }); // 创建员工信息的容器 var $infoDiv = $('
    ').addClass('info-div'); // 增加员工编码 var $numberSpan = $('').text(emp.number).addClass('number-span'); // 创建一个用于员工姓名和职位的容器 var $detailsDiv = $('
    ').addClass('details-div'); // 增加员工姓名 var $nameSpan = $('').text(emp.name).addClass('name-span'); // 增加bumen信息 var $posSpan = $('').text(emp.depname+' ('+emp.posname+')').addClass('pos-span'); // 将员工姓名和职位信息添加到详细信息容器中 $detailsDiv.append($nameSpan).append($posSpan); // 将员工编码和详细信息容器添加到信息容器中 $infoDiv.append($numberSpan).append($detailsDiv); // 将整个信息容器添加到列表项中 $li.append($infoDiv); // 将列表项添加到组织树中 $('#organization-tree').append($li); }); } // 初始化加载一级组织 loadOrganizations('1'); updateBreadcrumbs("组织架构","1"); // 搜索框事件绑定 $('#search-button').on('click', function() { var searchText = $('#search-box').val().toLowerCase(); loadEmployees('',searchText); }); }); //@end自定义事件 });