<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
	BaseSessionUser su = (BaseSessionUser)session.getAttribute(WDKConstant.SESSION_USER);
	String WDK_ROOT = WDKCore.inst.WDK_ROOT;
%>
<!DOCTYPE html>
<%@page import="org.wdk.WDKConstant"%>
<%@page import="org.wdk.WDKCore"%>
<%@page import="org.wdk.core.base.BaseSessionUser"%>
<html>

<head>
<base href="<%=basePath%>" target="_self">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<jsp:include page='<%=WDKCore.inst.WDK_COMMON %>'></jsp:include>
<script type="text/javascript" src="<%=WDK_ROOT%>/core/js/wdk.js"></script>
<title>人员调整</title>
<script type="text/javascript">

	var _param = $.getURLParam('param');
	_param = $.decode(_param);
	var jparam = $.str2json(_param);

	var _pdid = jparam.queryParams.pdid;
	var _piid = jparam.queryParams.piid;
	var _nodename = jparam.queryParams.nodename;
	var _nodetype = jparam.queryParams.nodetype;
	window.onload = function(){
		$.wait_open();
		
		//初始化显示
		$('#nodename').html(_nodename);
		$('#nodetype').html(_nodetype);
		
		//获取当前会签进度
		$.cuajax({						//todo_submit_signprocess
		  	url:'wdk?action=wdk.wf&method=pi_modify_init&ajaxparam='+new Date().getTime()
			,method:"post" 
			,timeout:WDK_Timeout
			,data:{
				pdid:_pdid
				,piid:_piid
				,nodename:_nodename
			}
			,success:function(result) {
				var jres = $.str2json(result);

				//1、补充办理信息
				var jactors = jres.actors;
				var htmlarr = [];
				for(var i=0;i<jactors.length;i++){
					var jactor = jactors[i];
					htmlarr.push('<br><span style="margin:50px;">'+(('1'!=jactor.isget)?('1'==jactor.iscomplete?'已完成':'待领取'):(('0'==jactor.iscomplete)?'待处理':(('1'==jactor.ispass)?'已完成':'未通过')))+'</span><span style="margin:1px;">'+jactor.actorid+'</span>');
				}
				$('#taskinfo').html(htmlarr.join(''));

				//2、如果是顺序会签,则需要加载顺序
				if('sign'==_nodetype){
					$('#item_signtype').css('display','block');

					if('1'==jres.signtype){
						document.getElementById('signtype_1').checked = true;
						$('#item_nextactors2').css('display','block');
					}else{
						document.getElementById('signtype_0').checked = true;
						$('#item_nextactors2').css('display','none');
					}
					//填充顺序
					var listobj = document.getElementById("nextactors2");
					for(var i=0;i<jactors.length;i++){
						var jactor = jactors[i];
						var option = new Option(jactor.actorid,jactor.actorid+','+jactor.actortype);
						listobj.options.add(option);
					}
				}

				//3、初始化构建树
				actors_init(_pdid,_piid,_nodename,jactors);
			}
			,error:function(result){
				$.wait_close();
				alert('网络错误!result='+result);
			}
		});

	};
	

	
	//初始化环节参与者树
	function actors_init(pdid,piid,nodename,jactors){
		var _queryParams = {
				pdid:pdid
				,piid:piid
				,nodename:nodename
			};
		$.tree({
			id:'nextactors',
			checkbox:true,
			expandall:true,
			url:"wdk?action=wdk.wf&method=node_actors",
			queryParams:_queryParams,
			onLoadSuccess:function(node,data){
				var ids = [];
				for(var i=0;i<jactors.length;i++){
					var jactor = jactors[i];
					ids.push(jactor.actorid);
				}
				$.tree_setChecked ({id:'nextactors',ids:ids.join(',')});
				$.wait_close();
			},		
			onCheck:function(node,checked){
				actorlistUpdate(node,checked);
			}
		});
	}

	//会签顺序点击事件
	function signtype_onclick(signtype){
		if('0'==signtype){
			//同时办理
			$('#item_nextactors2').css('display','none');
		}else{
			$('#item_nextactors2').css('display','block');
		}
	}
	
	//点击人员树节点的事件
	function actorlistUpdate(node,checked){
		var nodes = [];
		if(-1!=node.id.indexOf('dept_')){
			//如果是点击的部门,则将该部门下的所有人员依次添加
			var childs  = $.tree_getChildNodes({id:'nextactors',node:node});
			for(var i=0;i<childs.length;i++){
				var child = childs[i];
				nodes.push(child);
			}
		}else{
			nodes.push(node);
		}
		var listobj = document.getElementById("nextactors2");
		if(checked){
			//1、如果是增加
			for(var i=0;i<nodes.length;i++){
				var _n = nodes[i];
				var actorid = _n.id;
				var actortype = _n.attributes.actortype;
				var hasSame = false;
				//1.1、如果有相同的ID则不处理
				var options = listobj.options;
				for(var i=0;i<options.length;i++){
					var opt = options[i];
					if(opt.value == actorid+","+actortype){
						hasSame = true;
						break;
					}
				}
	
				//1.2、如果是不同的ID则添加
				if(!hasSame){
					var option = new Option(actorid,actorid+','+actortype);
					if(listobj){
						listobj.options.add(option);
					}
				}
			}
		}else{
			for(var i=0;i<nodes.length;i++){
				var _n = nodes[i];
				var actorid = _n.id;
				var actortype = _n.attributes.actortype;
				
				//2、如果是删除
				var options = listobj.options;
				for(var j=0;j<options.length;j++){
					var opt = options[j];
					if(opt.value == actorid+','+actortype){
						listobj.remove(j);  
		                j = j - 1;//注意这一行  
					}
				}
			}
		}
	}
	
	//提交
	function inputpop_getValue(){
		$.wait_open();
		var _data = [];
		var _actors = [];
			
		//是否顺序
		var _signtype = $("input[name='signtype']:checked").val();
	
		if('sign'==_nodetype&&'1'==_signtype){
			//如果是按顺序会签,则从右边顺序列表中读取
			var listobj = document.getElementById("nextactors2");
			var options = listobj.options;
			for(var i=0;i<options.length;i++){
				var opt = options[i];
				_actors.push(opt.value);
			}
		}else{
			var tree_checked = $.tree_getCheckedNode({id:'nextactors'});
			if(null!=tree_checked){
				for(var i=0;i<tree_checked.length;i++){
					var node = tree_checked[i];
					if(!node){
						continue;
					}
					var node_id = node.id;
					var node_type = node.attributes.actortype;
					if(-1==node_id.indexOf('dept_')){
						_actors.push(node_id+","+node_type);
					}
				}
			}
		}
		if(_actors.length<1){
			$.wait_close();
			alert('请选择办理者!');
			return;
		}
			
		_data ={
				nodename:_nodename
				,nodetype:_nodetype
				,pdid:_pdid
				,piid:_piid
				,signtype:_signtype
				,actors:_actors.join(';')
		};
		return _data;
	}
	</script>
	
</head>
<body  class="easyui-layout" style="padding:0px;margin:0px;background-color:#FFFFFF;">
	<!-- 按钮  -->
<!--	<div id="layout_toolbar" data-options="region:'north',border:false,collapsed:false" style="height:30px;overflow:hidden;border:1px solid #ddd;text-align:left;" >-->
<!--		<a class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-ok'" href="javascript:void(0)" onclick="task_submit()">提交</a>-->
<!--	</div>-->
	
	<!-- 表格 -->
	<div id="layout_content" data-options="region:'center',border:false,collapsed:false" style="overflow:hidden;border:1px solid #ddd;" >
		<div id="item_reget" class="fitem">
		    <span class="title">任务重新领取:</span>
		   	<div>
		   		<input name="reget" id="reget_0" type="radio" value="0" checked>保留当前状态
		   		<input name="reget" id="reget_1" type="radio" value="1">任务重新领取
		   	</div>
		</div>
		<div class="fitem">
		   	<span class="title">当前办理环节:</span>
		   	<span id="nodename">&nbsp;</span>			   
		</div>
		<div class="fitem">
		   	<span class="title">当前环节类型:</span>
		   	<span id="nodetype">&nbsp;</span>			   
		</div>
		<div class="fitem" id="item_taskinfo" style="height:70px;">
		   	<span class="title">办理信息:</span>
		   	<div id="taskinfo" style="height:70px;width:200px;overflow:auto;">
			</div>			   
		</div>
		<div class="fitem" id="item_signtype" style="display:none;">
		   	<span class="title">会签顺序:</span>
		   	<div>
		   		<input name="signtype" id="signtype_0" onclick="signtype_onclick('0')" type="radio" value="0" checked>同时办理
		   		<input name="signtype" id="signtype_1"  onclick="signtype_onclick('1')" type="radio" value="1">顺序办理
		   	</div>			   
		</div>
		<div id="item_nextactors" class="fitem" style="height:160px;">
			<div style="float:left;">
				<span class="title">办理人:</span>
			   	<div id="nextactors" style="width:200px;height:150px;overflow:auto;border:1px solid #d4a375">
			   	</div>
			</div>
			<div id="item_nextactors2" style="float:left;position:absolute;right:0px;width:50%;display:none;">
				<span class="title">办理人顺序:</span>
			   	<div style="width:200px;height:150px;overflow:auto;">
			   		<select id="nextactors2" name="nextactors2" class="txt" multiple="multiple" style="width:200px;height:150px;border:1px solid #d4a375;">
			   		</select>
			   	</div>
			</div>
			&nbsp;
		</div>
	</div>
</body>
</html>