<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>组织机构选择</title> <%@include file="/wdk/theme/je/module/public/common.jsp"%> <script type="text/javascript" src="platform/report/js/pf.report.js"></script> <script type="text/javascript"> var org_field_map = ORG_VARIABLE.CODE_TO_UUID; /*组织机构选择界面参数详解: person_uuid 操作人员标识,必填 org_uuid 上级组织标识,可为空 isrealunit 是否实体,可为空 orglevel 组织级别,为空时默认为全部、01-省公司、02-市公司、03-分公司、04-直属部门、05-隶属部门、06-普通部门、07-市场部、08-营销线 orgattr 组织属性,为空时默认为‘行政组织’ 00-行政组织 01-财务组织 02-成本中心 03-利润中心 04-采购组织 05-质检组织 06-销售组织 07-库存组织 08-发运组织 09-人力资源组织 10-生产组织 showlevel 根据组织的级别确定,上级组织标识为空时,显示级别不允许为空 isctrlperm 是否控制权限,'1':是; '0'否,为空时默认为'1' ismulselect 是否多选,'1':是; '0'否,为空时默认为'0' asyn 是否异步加载,'1':是; '0'否,为空时默认为'1' cascadecheck 是否级联勾选,'1':是; '0'否 默认'0' returnorglevel 返回的组织级别,默认空 */ //界面参数 var _param_query = {person_uuid:"",isctrlperm:"1",org_uuid:"",person_uuid:"",isrealunit:"",orglevel:"",orgattr:"",ismulselect:"0",showlevel:"",asyn:"1",cascadecheck:"0",returnorglevel:""}; //获取父页面传入的参数 var _jparam = {}; var tmid = $.getURLParam('tmid'); var _strparam = ''; if(tmid){ _strparam = $.urlparam_decode($.method_call(tmid)); _jparam = $.str2json(_strparam); }else{ _strparam = $.urlparam_decode($.getURLParam('param')); _jparam = $.str2json(_strparam); } var orgchildMapping = ORG_VARIABLE.CODE_TO_CHILD_CODE; _param_query.person_uuid = _jparam.queryParams.person_uuid!=null?_jparam.queryParams.person_uuid:$.getSessionUser().account_id; _param_query.org_uuid = _jparam.queryParams.org_uuid!=null?_jparam.queryParams.org_uuid:''; _param_query.isrealunit = _jparam.queryParams.isrealunit!=null?_jparam.queryParams.isrealunit:''; _param_query.orglevel = _jparam.queryParams.orglevel?_jparam.queryParams.orglevel:'02'; _param_query.orgattr = _jparam.queryParams.orgattr!=null?_jparam.queryParams.orgattr:'00'; _param_query.showlevel = _jparam.queryParams.showlevel!=null?_jparam.queryParams.showlevel:''; _param_query.isctrlperm = _jparam.queryParams.isctrlperm!=null?(_jparam.queryParams.isctrlperm==''?'1':_jparam.queryParams.isctrlperm):'1'; _param_query.ismulselect = _jparam.queryParams.ismulselect!=null?_jparam.queryParams.ismulselect:'0'; _param_query.asyn = _jparam.queryParams.asyn!=null?_jparam.queryParams.asyn:'1'; _param_query.cascadecheck = _jparam.queryParams.cascadecheck!=null?_jparam.queryParams.cascadecheck:'0'; _param_query.returnorglevel = _jparam.queryParams.returnorglevel?_jparam.queryParams.returnorglevel:_param_query.orglevel; //过滤的组织级别 var filterorglevel = _jparam.queryParams.filterorglevel?_jparam.queryParams.filterorglevel:''; var info = [{ id:'01' ,text:'省级' },{ id:'02' ,text:'地区级' },{ id:'03' ,text:'区县级' },{ id:'07' ,text:'市场部' },{ id:'08' ,text:'营销线' }]; var _info = []; if(filterorglevel){ var _newinfo = []; for(var i=0;i<info.length;i++){ if(filterorglevel.indexOf(info[i].id)>-1){ _newinfo.push(info[i]); } } _info = _newinfo; }else{ _info = info; } var newinfo = []; if(_param_query.orglevel){ for(var i=0;i<_info.length;i++){ if(_param_query.orglevel<=_info[i].id){ newinfo.push(_info[i]); } } }else{ newinfo = _info; } var jparam = {}; $(function(){ var isExist = false; for(var i=0;i<newinfo.length;i++){ if(newinfo[i].id == orgchildMapping[_param_query.orglevel]){ isExist = true; break; } } if(isExist == true){ _param_query.orglevel = orgchildMapping[_param_query.orglevel]; _param_query.returnorglevel = orgchildMapping[_param_query.returnorglevel]; } jparam = { _SRVNAME:'service.md.org', _SRVMETHOD:'queryOrgTree', _DATA:$.json2str({ op_acc:_param_query.person_uuid, isctrlperm:_param_query.isctrlperm, org_uuid:_param_query.org_uuid, org_level:_param_query.orglevel, org_attr:_param_query.orgattr, asyn:_param_query.asyn=='0'?'0':'1', parent_uuid:'' }), _RSTYPE:'tree', _RSPARAM:$.json2str({ asyn:_param_query.asyn=='0'?'0':'1', idField:'org_uuid', textField:'org_name', parentField:'parent_uuid', iconField:'', attrs:'org_code,path_code,sys_code,org_type_scode,org_level_scode,parent_uuid,ext_id,ext_parent_id', asyn_urlField:'pid', asyn_dataField:'parent_uuid' //如果是异步,则从url中取出的参数替换_DATA参数的名 }), _RSFIELD:'resultset', _DATAFILTER:_param_query.isctrlperm//取值范围 1-启用数据权限 0或空-不启用 }; $.radio({ id:'org_type' //,url:'wdk?action=pf.report&method=grid_dimension&ajaxparam='+new Date().getTime() //,queryParams:{} ,data:newinfo ,idField:'id' ,textField:'text' ,initvalue:_param_query.orglevel ,onChange:function(record){ $.wait_open(); var id = 'layout_content'; _param_query.returnorglevel = record.id; jparam._DATA = $.json2str({ op_acc:_param_query.person_uuid, isctrlperm:_param_query.isctrlperm, org_uuid:_param_query.org_uuid, org_level:record.id, org_attr:_param_query.orgattr, asyn:_param_query.asyn=='0'?'0':'1', parent_uuid:'' }); $("#"+id).empty(); renderTree(_param_query,jparam); } }); renderTree(_param_query,jparam); }); function getRoot() { var treeObj = $.fn.zTree.getZTreeObj("layout_content"); //返回一个根节点 var node = treeObj.getNodesByFilter(function (node) { return node.level == 0 }, true); return node; } function renderTree(prop,jparam){ //初始化树 $.tree({ id: 'layout_content', checkbox: prop.ismulselect=='1'?true:false, expandall: true, cascadeCheck: prop.cascadecheck=='1'?true:false, asyn: prop.asyn=="0"?false:true, url: 'wdk?action=wdk.pub&method=call_service&ajaxparam='+new Date().getTime(), dataFilter: function (id, pnode, data) { for (var i = 0; i < data.length; i++) { data[i].isParent = true; } return data; }, queryParams:jparam, onClick:function(event,treeid,node){ }, onLoadSuccess:function(data){ var treeObj = $.fn.zTree.getZTreeObj("layout_content"); treeObj.checkNode(getRoot(),true,true); $.wait_close(); } }); } //控件返回结果的回调函数 function inputpop_getValue(){ var jres = {}; var rows = new Array(); if(_param_query.ismulselect=="1"){ //多选 rows = $.tree_getCheckedNode({id:'layout_content'}); }else{ //单选 rows = $.tree_getCheckedNode({id:'layout_content'}); } if(rows == null || rows.length == 0){ alert("无记录选择!"); return false; } //组织返回参数 var value_id = ""; var value_text = ""; var value_value = ""; var selectcount = 0; for(i=0; i < rows.length; i ++){ if(_param_query.returnorglevel!="" && rows[i].attributes.org_level_scode!= _param_query.returnorglevel){ continue; } if(selectcount>0){ value_id = value_id + ","; value_text = value_text + ","; value_value = value_value + ","; } value_id = value_id + rows[i].id; value_text = value_text + rows[i].text; value_value = value_value + rows[i].attributes.org_code; selectcount = selectcount + 1; } if (selectcount == 0) { var msg = "请选择组织级别为"+_param_query.returnorglevel+"的节点"; switch (_param_query.returnorglevel) { case '01': msg = "请选择省公司级别节点"; break; case '02': msg = "请选择市公司级别节点"; break; case '03': msg = "请选择分公司级别节点"; break; case '04': msg = "请选择直属部门级别节点"; break; case '05': msg = "请选择隶属部门级别节点"; break; case '06': msg = "请选择普通部门级别节点"; break; case '07': msg = "请选择市场部级别节点"; break; case '08': msg = "请选择营销线级别节点"; break; case '09': msg = "请选择送货部级别节点"; break; case '10': msg = "请选择送货线级别节点"; break; default: // statements_def break; } alert(msg); return; } var _org_field = org_field_map[$.checkbox_getValue('org_type')]; if(!_org_field){ alert('请勾选组织级别!'); return; } jres.value_id = value_id; //id值(保存值) jres.value_text = value_text; //显示值 jres.value_value = value_value; //焦点显示值 jres.value_rows = rows; jres.org_field = _org_field return jres; } </script> </head> <body class="easyui-layout" style="padding:0px;margin:0px;background-color:#FFFFFF;"> <div data-options="region:'north',border:false,collapsed:false" style="height:40px;padding-top:8px;padding-left:10px;"> <div style="display: table"><label for="org_type" style="display: table-cell">请选择组织级别</label><div style="display: table-cell"> <input id="org_type" name="org_type"></input></div></div> </div> <!-- 中间表格 --> <div data-options="region:'center',border:false,collapsed:false" style="border:1px solid #ddd;" > <div id="layout_content" class="easyui-layout"></div> </div> </body> </html>