<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="org.wdk.WDKConstant"%>
<%@ page import="org.wdk.WDKCore"%>
<%@ page import="org.wdk.WDK"%>
<%@ page import="com.noblelift.imp.platform.module.portal.source.SessionUser"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
	String WDK_ROOT = WDKCore.WDK_ROOT;
	SessionUser su = (SessionUser)WDK.getSessionUser(request, response);
	WDK.writeSessionUser(out, su);
%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
	
	<base href="<%=basePath%>" target="_self">
	<title>应用云平台-应用包功能注册(新增)</title>
	<style type="text/css">
	</style>
	
	<script type="text/javascript" src="<%=WDK_ROOT%>/theme/je/core/js/wdk.js"></script>
	<script type="text/javascript">
  	<% if(null==su){%>    
  		$.timeout();
  	<%}%>
  	</script>	
</head>

<body class="easyui-layout" data-options="fit:true">
		<div data-options="region:'north',border:false,collapsed:false" class="page-title" style="height:45px;line-height:35px;">
			<div class="page-title-text"></div>
			<div class="page-toolbar">
				<a href="javascript:void(0);" id="btnsave" class="easyui-linkbutton" data-options="iconCls:'fa fa-save'"  onclick="opt_save()">保存</a>
	    		<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'fa fa-close'"  onclick="opt_close()">关闭</a>
			</div>
		</div>
		<div data-options="region:'center',border:true,collapsed:false" >	
			<div class="edit-container-win1">
			<form id="functionform" style="width:95%;align:center;">
				<input type="hidden" id="func_uuid" name="func_uuid" class="txt">
              	<input type="hidden" id="pack_uuid" name="pack_uuid" class="txt">

				<div class="row">
					<div class="formgroup ">
						<label class="required">功能编码</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" data-options="required:true,validType:'length[2,20]',tipPosition:'bottom'"id="func_code" name="func_code"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row">
					<div class="formgroup">
						<label class="required">功能名称</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" name="func_name" data-options="required:true,validType:'length[2,20]',tipPosition:'bottom'"id="func_name" placeholder="">
						</div>
					</div>
				</div>
				
				<div class="row" id="parent_div" >
					<div class="formgroup ">
						<label>上级目录</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="parent_uuid" name="parent_uuid"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row">
					<div class="formgroup ">
						<label>功能简称</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="short_name" name="short_name"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row">
					<div class="formgroup ">
						<label>功能类型</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="func_type" name="func_type"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row" id="func_url_div">
					<div class="formgroup ">
						<label>功能地址</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="func_url" name="func_url"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row" id="is_ctrl_button_div">
					<div class="formgroup ">
						<label>是否控制到按钮</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="is_ctrl_button" name="is_ctrl_button"  value=""/>
						</div>
					</div>
				</div>
				<div class="row" id="org_attr_div">
					<div class="formgroup ">
						<label class="required">业务组织属性</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" data-options="required:true,tipPosition:'bottom'" id="org_attr_scode" name="org_attr_scode"  value=""/>
						</div>
					</div>
				</div>
				
				<div class="row">
					<div class="formgroup ">
						<label>是否启用</label>
						<div>
							<input id="is_active"  name="is_active" > 
						</div>
					</div>
				</div>
				
				
				<div class="row">
					<div class="formgroup ">
						<label>描述</label>
						<div>
							<textarea class="" name="remark" id="remark" rows="3" style="width:100%;"></textarea>
						</div>
					</div>
				</div>
				
				
				<div class="row" style="padding-top:5px;">
					<div class="formgroup ">
						<label>排序</label>
						<div>
							<input type="text" class="easyui-validatebox nospaceinside" id="display_order" name="display_order"  onKeypress="javascript:if(event.keyCode == 32)event.returnValue = false;" pattern="[0-9]"/>
						</div>
					</div>
				</div>
			</form>
			</div>
		</div>
</body>
    
<script>
  	var _wid = $.getURLParam('wid');
  	var param = $.getURLParam('param');
  	var jparam = $.str2json($.urlparam_decode(param));
  	var _actionflag = jparam.queryParams.actionflag;  //操作标识:add-添加、mdf-修改
    var _pack_uuid = jparam.queryParams.pack_uuid;    //添加时,功能所属应用包标识
    var _func_uuid = jparam.queryParams.func_uuid;    //修改时被修改功能标识
    var _parent_uuid = jparam.queryParams.parent_uuid;//新增时上级功能标识
     
  
  	$(function() {
  		
	    if("mdf"==_actionflag || "detail"==_actionflag){
	      //修改、或查看
	      $.wait_open();
	      $.cuajax({
	          url:'wdk?action=portal.pkgfunction&method=detail&ajaxparam='+new Date().getTime()
	            ,method:"post" 
	            ,timeout:WDK_Timeout
	            ,data:{
	              func_uuid:_func_uuid
	            }
	            ,success:function(result) {
	              $.wait_close();
	              var jres = $.str2json(result);
	              if(jres.code=='1'){
	                if(jres.data){
	                  //修改时,功能类型不允许修改
	                  //初始化功能类型选择项
	                  init_func_type(jres.data.func_type,false);
	                  if(jres.data.func_type != "02"){
	                	  $("#parent_div").hide();
	                  }
	                  
	                  //将数据填充到表单中
	                  $.setFieldValue(jres.data, "#functionform");
	                  init_radio('is_ctrl_button','0',false);
	                  init_radio('is_active','1',false);
	                  combo_box('org_attr_scode','S_ORG_ATTR',jres.data.org_attr_scode);
	                }
	              }else{
	                alert(jres.desc);
	              }
	            }
	            ,error:function(result){
	              $.wait_close();
	              alert('网络错误!result='+result);
	            }
	        });
	    } else{
	    	$("#parent_div").hide();
	    	 //新增
	        if(""==_parent_uuid) _parent_uuid = "-1";
	        $("#func_uuid").val($.getUUID());
	        $("#pack_uuid").val(_pack_uuid); 
	        $("#display_order").val("100");
	        //$("#parent_uuid").val(_parent_uuid);
	        
	        if(_parent_uuid=="-1"){
	          //增加顶级节点
	          init_func_type("",true);
	          //默认选择功能类型的第一个值,并触发界面显示控制
	          functypeChange($.combobox_getValue({id:"func_type"}));
	        }else{
	          //增加非顶级节点
	          parentinfo(_parent_uuid,function(data){
	            if(data){
	              //初始化功能类型选择项
	              init_func_type(data.func_type,true);
	              //默认选择功能类型的第一个值,并触发界面显示控制
	              functypeChange($.combobox_getValue({id:"func_type"}));
	            }
	          });
	        }
	         
	      	init_radio('is_active','1',false);
          	init_radio('is_ctrl_button','0',false);
	      	combo_box('org_attr_scode','S_ORG_ATTR','');
	    }
	    
	    var dataParam = {
       		_SRVNAME: 'service.portal.package',
   	        _SRVMETHOD: 'queryAllFunMenuList',
   	        _DATA: $.json2str({
   	        	  pack_uuid: _pack_uuid,
	   		      parent_uuid: '',
	   		 	  resultfields: '',
	   		 	  orderfields:""
    		}),
   	        _RSFIELD: 'func_list',
   	        _RSTYPE: 'combotree',
   	        _RSPARAM: $.json2str({
   	   			idField: 'func_uuid'
   	   			,textField: 'func_name'
   	   			,parentField: 'parent_uuid'
   	   			,asyn:'0'						//是否是异步 0:同步;1:异步
   	   		   	//,asyn_dataField:'parentid'		//如果是异步,则从url中取出的参数替换_DATA参数的名
   	   		})
        };  
		$.combotree({
    		id:"parent_uuid",
    		checkbox: false,
		    expandall: false,
		    cascadeCheck: false,
		    asyn: true,
    		tipPosition:'bottom',
    	    multiple:false,
    	    onlyLeafCheck:true,
    	    url:'wdk?action=wdk.pub&method=call_service&ajaxparam='+new Date().getTime(),
        	queryParams:dataParam,
        	onClick:function(node){
    	    	
    	    },
    	    onLoadSuccess : function(data){
    	    	$('#parent_uuid').combotree('tree').tree("expandAll"); 
    	    	$('#parent_uuid').combotree('setValue', _parent_uuid);
    	    }
		});
  	});  
    
    //查询上级功能的功能类型信息,查询结果经回调放法回传
    //返回参数格式 {func_type_uuid:'01'}
    function parentinfo(parent_func_uuid,callback){
      if(""==parent_func_uuid || "-1"==parent_func_uuid){
        callback({func_type:''});
      }else{
        $.wait_open();
        $.cuajax({
          url:'wdk?action=portal.pkgfunction&method=detail&ajaxparam='+new Date().getTime()
            ,method:"post" 
            ,timeout:WDK_Timeout
            ,data:{
              func_uuid:parent_func_uuid
            }
            ,success:function(result){
              $.wait_close();
              var jres = $.str2json(result);
              if(jres.code=='1'){
                if(jres.data){
                  callback({func_type:jres.data.func_type});
                }
              }
            }
            ,error:function(result){
              $.wait_close();
              alert('网络错误!result='+result);
            }
        });
      }
    }    
	/**
	 * 下拉框
	 */
	function combo_box(id, moduleCode,initvalue){
		$.combobox({
			id:id
			,initvalue:initvalue
			,url:'wdk?action=wdk.pub&method=call_service&ajaxparam='+new Date().getTime()
			,queryParams:{
		        _SRVNAME:'service.wdk.pub'
		        ,_SRVMETHOD:'wql_queryCombobox'
		        ,_DATA:$.json2str({
	       			modulecode:moduleCode
	       			,jparam:{
	       				condition:''
	       			}
		        })
		   		,_RSFIELD:'result'
			}
		});
	}    
    
	/**
	* 初始化单选框
	*/
	function init_radio(id,initvalue,disabled){
		$.radio({
			id: id,
		  	initvalue: initvalue,
		  	disabled:disabled,
		  	data:[{id:"1",text:"是"},
				{id:"0",text:"否"}
				]
		});
	}  	
	//初始化功能类别(传入参数为上级的功能类别)
	function init_func_type(func_type,isparent){
	    var data = [];
	    var initvalue = "";
	    if(isparent){
	      //根据上级类别初始化下级允许的类别
	      if(func_type=="" || func_type=="01"){
	        data.push({id:'01',text:'目录'});
	        data.push({id:'02',text:'功能'});
	        initvalue = "01";
	      }else if(func_type=="02"){
	        data.push({id:'03',text:'按钮'});
	        initvalue = "03";
	      }else if(func_type=="03"){
	  
	      }
	    }else{
	      //
	      if(func_type=="" || func_type=="01"){
	        data.push({id:'01',text:'目录'});
	        initvalue = "01";
	      }else if(func_type=="02"){
	        data.push({id:'02',text:'功能'});
	        initvalue = "02";
	      }else if(func_type=="03"){
	        data.push({id:'03',text:'按钮'});
	        initvalue = "03";
	      }
	    }
	    $.combobox({
		    id:"func_type"
		    ,data:data
		    ,width:$('#func_type').css('width')
		    ,initvalue:initvalue
		    ,onChange:function(newValue, oldValue){
		    	//alert("newValue="+newValue+",oldValue="+oldValue);
		      	functypeChange(newValue);
		    }
		});
	    functypeChange(initvalue);
	}
	  
	//功能类型发生变化
	function functypeChange(func_type){
	    if(func_type=="" || func_type=="01"){
	      //目录
	      $("#func_url_div").css('display','none');
	      $("#is_ctrl_button_div").css('display','none');
	      $("#org_attr_div").css('display','none');
	      $.validatebox({
		      	id:'func_url',
		      	required:false,
		      	editable:true,
		      	initvalue: '',
		      	tipPosition:'bottom',
		      	validType:'maxLength[200]'
	     });
	    }else if(func_type=="02"){
	      //功能
	      $("#func_url_div").css('display','block');
	      $("#is_ctrl_button_div").css('display','block');
	      $("#org_attr_div").css('display','block');
	      
	      $.validatebox({
		      	id:'func_url',
		      	required:true,
		      	editable:true,
		      	initvalue: '',
		      	missingMessage:'不允许为空!',
		      	tipPosition:'bottom',
		      	validType:'maxLength[200]'
	     });
	      
	    }else if(func_type=="03"){
	      //按钮
	      $("#func_url_div").css('display','none');
	      $("#is_ctrl_button_div").css('display','none');
	      $("#org_attr_div").css('display','none');
	      $.validatebox({
		      	id:'func_url',
		      	required:false,
		      	editable:true,
		      	initvalue: '',
		      	tipPosition:'bottom',
		      	validType:'maxLength[200]'
	     });
	    }
	}
  
	//保存应用
	function opt_save(){
		//验证
		/*  var isok = $("#functionform").form('validate');
	  	if(!isok){
	        alert('尚有必填项未填或输入有误,请检查后提交');
	        return false;
	    }  */
		//打开旋转 
		$.wait_open();
	
		//获取所有input和textarea 的输入值 
		var mainFieldValues = $.getFieldValue({formid:'functionform'});
	    mainFieldValues.is_active = $("input:radio[name='is_active']:checked").val();
	    mainFieldValues.is_ctrl_button = $("input:radio[name='is_ctrl_button']:checked").val();
	    
	    var parent_uuid = $("#parent_uuid").combotree('getValue');
	    if("mdf"==_actionflag || "detail"==_actionflag){
	    	if(!parent_uuid){
	    		parent_uuid = "-1";
	    	}
	    	mainFieldValues.parent_uuid = parent_uuid;
	    }else{
	    	mainFieldValues.parent_uuid = _parent_uuid;
	    }
	    //mainFieldValues.parent_uuid = $("#parent_uuid").combotree('getValue');
	    //保存
	    var _param = {
	      	actionflag:_actionflag,
	      	_FILEDVALUE:$.json2str(mainFieldValues)
	    };
	    $.wait_open();
	    $.cuajax({
	    	url:'wdk?action=portal.pkgfunction&method=save&ajaxparam='+new Date().getTime(),
	      	method:"post",
	      	data:_param,
	      	success:function(result) {
		        $.wait_close();
		        var jres = $.str2json(result);
		        alert(jres.desc);
		        if(jres.code=="1"){
		        	//不一样说明修改了上级目录
		        	if(parent_uuid != _parent_uuid){
		        		mainFieldValues.changeParent = true;
		        	}
		        	opt_close(mainFieldValues);
		        }
	      	},
	      	error:function(result){
		        $.wait_close();
		        alert('网络错误!result='+result);
	      	}
	    });
  	}
  
  	// 关闭模态框
	function opt_close(v){
	    if(v){
	      	$.setWinReturn(_wid,v);
	    }
	    $.closeWin(_wid);
  	}
</script>
</html>