`
luoyexian
  • 浏览: 50049 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

web界面框架的设计之五-权限设置

    博客分类:
  • flex
阅读更多

mxml代码:

PermissionManage.mxml  主模块:

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" 
	height="100%" fontSize="12" xmlns:ns1="components.*" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import MyEvent.ObjectEvent;
			import mx.rpc.remoting.mxml.RemoteObject;
			import mx.rpc.AsyncToken;
			import mx.rpc.AbstractOperation;
			import mx.rpc.AsyncResponder;
			import mx.rpc.events.ResultEvent;
			import mx.controls.Alert;
			
			public var ro:RemoteObject;
			public var token:AsyncToken;
			public var operation:AbstractOperation
			private var roleid:Number;
			private var funcid:Number;
			private var frid:Number;
			
			
			private function init():void
		    {
		    	ro = new RemoteObject("roleService"); 
		    	roleid=0;
		    	funcid=0;
		    	frid=0;
		    	if(funccheckbox.selected == false){
		    		newcheckbox.enabled = false;
		    		editcheckbox.enabled = false;
		    		deletecheckbox.enabled = false;
		    		viewcheckbox.enabled = false;
		    		auditcheckbox.enabled = false;
		    		antiauditcheckbox.enabled = false;
		    	}
		    }
			
			//获取角色ID并初始化权限列表
			private function getroleId(event:Event):void
			{
				var objectEvent:ObjectEvent = event as ObjectEvent;
				roleid = objectEvent.obid;
				if(funcid ==0) return;
				operation = ro.getOperation("getPermissions");
				token = operation.send(roleid,funcid);
				token.addResponder(new AsyncResponder(success,null));   
			}
			
			//获取 菜单ID并初始化权限列表
			private function getfuncId(event:Event):void
			{
				var objectEvent:ObjectEvent = event as ObjectEvent;
				funcid = objectEvent.obid;
				if(roleid ==0) return;
				operation = ro.getOperation("getPermissions");
				token = operation.send(roleid,funcid);
				token.addResponder(new AsyncResponder(success,null)); 
			}
			
			//成功返回处理
			public function success(result:Object,token:Object=null):void
			{
				var eve:ResultEvent = result as ResultEvent;
				if(eve.result != null)
				{					
					var returnObj:Array = eve.result as Array;
					funccheckbox.data=funcid;
					frid = returnObj[8];
					funccheckbox.label=returnObj[6];
					if(returnObj[7] =="1"){
						funccheckbox.selected = true;
					}else{
						funccheckbox.selected = false;
					}
					if(returnObj[0] =="1"){
						newcheckbox.selected = true;
					}else{
						newcheckbox.selected = false;
					}
					if(returnObj[1] =="1"){
						editcheckbox.selected = true;
					}else{
						editcheckbox.selected = false;
					}
					if(returnObj[2] =="1"){
						deletecheckbox.selected = true;
					}else{
						deletecheckbox.selected = false;
					}
					if(returnObj[3] =="1"){
						viewcheckbox.selected = true;
					}else{
						viewcheckbox.selected = false;
					}
					if(returnObj[4] =="1"){
						auditcheckbox.selected = true;
					}else{
						auditcheckbox.selected = false;
					}
					if(returnObj[5] =="1"){
						antiauditcheckbox.selected = true;
					}else{
						antiauditcheckbox.selected = false;
					}
					if(funccheckbox.selected){
						newcheckbox.enabled = true;
			    		editcheckbox.enabled = true;
			    		deletecheckbox.enabled = true;
			    		viewcheckbox.enabled = true;
			    		auditcheckbox.enabled = true;
			    		antiauditcheckbox.enabled = true;
			  		}else{		
			    		newcheckbox.enabled = false;
			    		editcheckbox.enabled = false;
			    		deletecheckbox.enabled = false;
			    		viewcheckbox.enabled = false;
			    		auditcheckbox.enabled = false;
			    		antiauditcheckbox.enabled = false;
			    	}
					
				}
			}
			
			//设置菜单权限
			private function setfuncper(event:Event):void
			{
				if(roleid ==0 || funcid==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}
				var state:String;
				if(funccheckbox.selected){
					newcheckbox.enabled = true;
		    		editcheckbox.enabled = true;
		    		deletecheckbox.enabled = true;
		    		viewcheckbox.enabled = true;
		    		auditcheckbox.enabled = true;
		    		antiauditcheckbox.enabled = true;
					state="1";
				}else{
					state="0";
					newcheckbox.enabled = false;
		    		editcheckbox.enabled = false;
		    		deletecheckbox.enabled = false;
		    		viewcheckbox.enabled = false;
		    		auditcheckbox.enabled = false;
		    		antiauditcheckbox.enabled = false;
				}
				
				operation = ro.getOperation("updateFunctionState");
				token = operation.send(frid,state);
			}
			
			//设置新增按钮权限
			private function setnewbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,1);
				}
				
			}
			
			//设置修改按钮权限
			private function seteditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,2);
				}
				
			}
			
			//设置删除按钮权限
			private function setdeletebuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,3);
				}
				
			}
			
			//设置查看按钮权限
			private function setviewbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,4);
				}
				
			}
			
			//设置 审核按钮权限
			private function setauditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,5);
				}
				
			}
			
			//设置新增按钮权限
			private function setantiauditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,6);
				}
				
			}
			
			
		]]>
	</mx:Script>
	<mx:Panel width="100%" height="100%" layout="absolute" title="权限设置">
		<mx:HBox width="100%" height="100%">
			<mx:VBox width="190" height="100%">
				<ns1:RoleListPage id="rolelistPage" rolelistEvent="getroleId(event)">
				</ns1:RoleListPage>
			</mx:VBox>
			<mx:VBox width="200" height="100%">
				<ns1:MenuListPage id="menulistpage" funlistEvent="getfuncId(event)">
				</ns1:MenuListPage>
			</mx:VBox>
			<mx:VBox width="100%" height="100%">
				<mx:HBox width="100%" height="20">
					<mx:Spacer width="40"/>
					<mx:Label text="菜单名称 " fontWeight="bold"/>
					<mx:Spacer width="60"/>
					<mx:Label text="新增 "  fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="修改 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="删除 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="查看 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="审核 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="反审核 " fontWeight="bold"/>
				</mx:HBox>
				<mx:HBox width="100%" height="100%">
					<mx:HBox width="150" height="100%">
						<mx:Spacer width="30"/>
						<mx:CheckBox id="funccheckbox"  width="100" click="setfuncper(event)"/>
					</mx:HBox>
					<mx:HBox width="100%" height="100%">
						<mx:Spacer width="25"/>
						<mx:CheckBox id="newcheckbox" width="20" click="setnewbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="editcheckbox" width="20" click="seteditbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="deletecheckbox" width="20" click="setdeletebuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="viewcheckbox" width="20" click="setviewbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="auditcheckbox" width="20" click="setauditbuttom(event)"/>
						<mx:Spacer width="40"/>
						<mx:CheckBox id="antiauditcheckbox" width="20" click="setantiauditbuttom(event)"/>
					</mx:HBox>
				</mx:HBox>
				
			</mx:VBox>
			
		</mx:HBox>
	</mx:Panel>
	
</mx:Module>

 

RoleListPage.mxml 组件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" 
	height="100%" fontSize="12" xmlns:ns1="components.*" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import MyEvent.ObjectEvent;
			import mx.rpc.remoting.mxml.RemoteObject;
			import mx.rpc.AsyncToken;
			import mx.rpc.AbstractOperation;
			import mx.rpc.AsyncResponder;
			import mx.rpc.events.ResultEvent;
			import mx.controls.Alert;
			
			public var ro:RemoteObject;
			public var token:AsyncToken;
			public var operation:AbstractOperation
			private var roleid:Number;
			private var funcid:Number;
			private var frid:Number;
			
			
			private function init():void
		    {
		    	ro = new RemoteObject("roleService"); 
		    	roleid=0;
		    	funcid=0;
		    	frid=0;
		    	if(funccheckbox.selected == false){
		    		newcheckbox.enabled = false;
		    		editcheckbox.enabled = false;
		    		deletecheckbox.enabled = false;
		    		viewcheckbox.enabled = false;
		    		auditcheckbox.enabled = false;
		    		antiauditcheckbox.enabled = false;
		    	}
		    }
			
			//获取角色ID并初始化权限列表
			private function getroleId(event:Event):void
			{
				var objectEvent:ObjectEvent = event as ObjectEvent;
				roleid = objectEvent.obid;
				if(funcid ==0) return;
				operation = ro.getOperation("getPermissions");
				token = operation.send(roleid,funcid);
				token.addResponder(new AsyncResponder(success,null));   
			}
			
			//获取 菜单ID并初始化权限列表
			private function getfuncId(event:Event):void
			{
				var objectEvent:ObjectEvent = event as ObjectEvent;
				funcid = objectEvent.obid;
				if(roleid ==0) return;
				operation = ro.getOperation("getPermissions");
				token = operation.send(roleid,funcid);
				token.addResponder(new AsyncResponder(success,null)); 
			}
			
			//成功返回处理
			public function success(result:Object,token:Object=null):void
			{
				var eve:ResultEvent = result as ResultEvent;
				if(eve.result != null)
				{					
					var returnObj:Array = eve.result as Array;
					funccheckbox.data=funcid;
					frid = returnObj[8];
					funccheckbox.label=returnObj[6];
					if(returnObj[7] =="1"){
						funccheckbox.selected = true;
					}else{
						funccheckbox.selected = false;
					}
					if(returnObj[0] =="1"){
						newcheckbox.selected = true;
					}else{
						newcheckbox.selected = false;
					}
					if(returnObj[1] =="1"){
						editcheckbox.selected = true;
					}else{
						editcheckbox.selected = false;
					}
					if(returnObj[2] =="1"){
						deletecheckbox.selected = true;
					}else{
						deletecheckbox.selected = false;
					}
					if(returnObj[3] =="1"){
						viewcheckbox.selected = true;
					}else{
						viewcheckbox.selected = false;
					}
					if(returnObj[4] =="1"){
						auditcheckbox.selected = true;
					}else{
						auditcheckbox.selected = false;
					}
					if(returnObj[5] =="1"){
						antiauditcheckbox.selected = true;
					}else{
						antiauditcheckbox.selected = false;
					}
					if(funccheckbox.selected){
						newcheckbox.enabled = true;
			    		editcheckbox.enabled = true;
			    		deletecheckbox.enabled = true;
			    		viewcheckbox.enabled = true;
			    		auditcheckbox.enabled = true;
			    		antiauditcheckbox.enabled = true;
			  		}else{		
			    		newcheckbox.enabled = false;
			    		editcheckbox.enabled = false;
			    		deletecheckbox.enabled = false;
			    		viewcheckbox.enabled = false;
			    		auditcheckbox.enabled = false;
			    		antiauditcheckbox.enabled = false;
			    	}
					
				}
			}
			
			//设置菜单权限
			private function setfuncper(event:Event):void
			{
				if(roleid ==0 || funcid==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}
				var state:String;
				if(funccheckbox.selected){
					newcheckbox.enabled = true;
		    		editcheckbox.enabled = true;
		    		deletecheckbox.enabled = true;
		    		viewcheckbox.enabled = true;
		    		auditcheckbox.enabled = true;
		    		antiauditcheckbox.enabled = true;
					state="1";
				}else{
					state="0";
					newcheckbox.enabled = false;
		    		editcheckbox.enabled = false;
		    		deletecheckbox.enabled = false;
		    		viewcheckbox.enabled = false;
		    		auditcheckbox.enabled = false;
		    		antiauditcheckbox.enabled = false;
				}
				
				operation = ro.getOperation("updateFunctionState");
				token = operation.send(frid,state);
			}
			
			//设置新增按钮权限
			private function setnewbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,1);
				}
				
			}
			
			//设置修改按钮权限
			private function seteditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,2);
				}
				
			}
			
			//设置删除按钮权限
			private function setdeletebuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,3);
				}
				
			}
			
			//设置查看按钮权限
			private function setviewbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,4);
				}
				
			}
			
			//设置 审核按钮权限
			private function setauditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,5);
				}
				
			}
			
			//设置新增按钮权限
			private function setantiauditbuttom(event:Event):void
			{
				if(frid ==0){
					Alert.show("请选择要设置权限的角色和菜单!");
					return;
				}else{
					var state:String;
					if(newcheckbox.selected){
						state="1";
					}else{
						state="0";
					}
					operation = ro.getOperation("updateButtomState");
					token = operation.send(frid,state,6);
				}
				
			}
			
			
		]]>
	</mx:Script>
	<mx:Panel width="100%" height="100%" layout="absolute" title="权限设置">
		<mx:HBox width="100%" height="100%">
			<mx:VBox width="190" height="100%">
				<ns1:RoleListPage id="rolelistPage" rolelistEvent="getroleId(event)">
				</ns1:RoleListPage>
			</mx:VBox>
			<mx:VBox width="200" height="100%">
				<ns1:MenuListPage id="menulistpage" funlistEvent="getfuncId(event)">
				</ns1:MenuListPage>
			</mx:VBox>
			<mx:VBox width="100%" height="100%">
				<mx:HBox width="100%" height="20">
					<mx:Spacer width="40"/>
					<mx:Label text="菜单名称 " fontWeight="bold"/>
					<mx:Spacer width="60"/>
					<mx:Label text="新增 "  fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="修改 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="删除 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="查看 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="审核 " fontWeight="bold"/>
					<mx:Spacer width="20"/>
					<mx:Label text="反审核 " fontWeight="bold"/>
				</mx:HBox>
				<mx:HBox width="100%" height="100%">
					<mx:HBox width="150" height="100%">
						<mx:Spacer width="30"/>
						<mx:CheckBox id="funccheckbox"  width="100" click="setfuncper(event)"/>
					</mx:HBox>
					<mx:HBox width="100%" height="100%">
						<mx:Spacer width="25"/>
						<mx:CheckBox id="newcheckbox" width="20" click="setnewbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="editcheckbox" width="20" click="seteditbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="deletecheckbox" width="20" click="setdeletebuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="viewcheckbox" width="20" click="setviewbuttom(event)"/>
						<mx:Spacer width="35"/>
						<mx:CheckBox id="auditcheckbox" width="20" click="setauditbuttom(event)"/>
						<mx:Spacer width="40"/>
						<mx:CheckBox id="antiauditcheckbox" width="20" click="setantiauditbuttom(event)"/>
					</mx:HBox>
				</mx:HBox>
				
			</mx:VBox>
			
		</mx:HBox>
	</mx:Panel>
	
</mx:Module>

 

MenuListPage.mxml组件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" fontSize="12"
	creationComplete="init()">
	<mx:Metadata>
    	[Event(name="funlistEvent","MyEvent.ObjectEvent")]
    </mx:Metadata>
	<mx:Script>
		<![CDATA[
			import mx.collections.Sort;
			import Modules.MainPage;
			import ValueObject.User;
			import mx.events.ItemClickEvent;
			import mx.rpc.remoting.mxml.RemoteObject;
			import mx.rpc.AsyncToken;
			import mx.rpc.AbstractOperation;
			import mx.rpc.AsyncResponder;
			import mx.collections.ArrayCollection; 
			import mx.collections.Sort;
			import mx.collections.SortField;
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			import MyEvent.ObjectEvent;
					
			public var ro:RemoteObject;
			private var selectedNode:Object;
			
			
			private function init():void
		    {
		    	ro = new RemoteObject("roleService"); 
		    	
		    	var token:AsyncToken ;
				var operation:AbstractOperation = ro.getOperation("getFunLists");
				token = operation.send();
				token.addResponder(new AsyncResponder(success,null));   
		    }
		    
		    private function success(result:Object,token:Object=null):void
			{
				var eve:ResultEvent = result as ResultEvent;
				if(eve.result != null)
				{					
					var arrayOr:ArrayCollection = eve.result as ArrayCollection;
					menulist.dataProvider =arrayOr;
				}
			}
			
			//设置角色回调函数
			private function onclickLsit(event:Event):void
			{
				selectedNode = List(event.target).selectedItem;
				var menuEvent:ObjectEvent = new ObjectEvent("funlistEvent",selectedNode.data);
				dispatchEvent(menuEvent);
			} 
			
		]]>
	</mx:Script>
	<mx:VBox width="100%" height="100%">
		<mx:Panel width="100%" height="100%" layout="absolute" title="菜单名称">
			<mx:List x="0" id="menulist" width="100%" height="100%" change="onclickLsit(event)"></mx:List>
		</mx:Panel>
	</mx:VBox>
</mx:Canvas>

 

 java代码:

获取菜单列表:

/**
     * 菜单列表
     * @return 
     * 2010-2-25	
     * Administrator
     */
    public List getFunLists(){
    	List list = new ArrayList();
    	List returnList = new ArrayList();
    	list = this.service.findAllObjects("TFunction", 0, 0,"id asc");
    	for(int i=0;list !=null && i<list.size();i++){
    		TFunction tFunction = (TFunction)list.get(i);
    		
    		if(tFunction.getId() ==1) continue;
    		PagComBo pagComBo = new PagComBo();
    		pagComBo.setLabel(tFunction.getModuleName());
    		pagComBo.setData(tFunction.getId());
    		returnList.add(pagComBo);
    		
    	}
    	return returnList;
    }

 

获取角色列表:

/**
     * 角色附权获取所有角色
     * @return 
     * 2010-2-25	
     * Administrator
     */
    public List getRoleLists(){
    	List list = new ArrayList();
    	List returnList = new ArrayList();
    	list = this.service.findAllObjects("TRole", 0, 0,"");
    	for(int i=0;list !=null && i<list.size();i++){
    		TRole tRole = (TRole)list.get(i);
    		PagComBo pagComBo = new PagComBo();
    		pagComBo.setLabel(tRole.getRoleName());
    		pagComBo.setData(tRole.getId());
    		returnList.add(pagComBo);
    		
    	}
    	return returnList;
    }

 

获取菜单权限:

/**
     * 获取菜单权限
     * @param roldid
     * @param funcid
     * @return 
     * 2010-2-25	
     * Administrator
     */
    public Object[] getPermissions(int roleid,int funcid){
    	Object[] obj = new Object[9];
    	TRole trole = new TRole();
    	trole = (TRole) this.service.findObjectById(trole,roleid);
    	TFunction tFunction = new TFunction();
    	tFunction = (TFunction) this.service.findObjectById(tFunction,funcid);
    	Object[] field =new Object[2];
    	Object[] value =new Object[2];
    	field[0] = "tRole";
    	value[0] = trole;
    	field[1] = "tFunction";
    	value[1] = tFunction;
    	TRoleFunction tRoleFunction = (TRoleFunction) this.service.findObjectByEntity("TRoleFunction", field, value);
    	
    	//菜单权限
    	String state = tRoleFunction.getState().trim();
    	String funcName = tFunction.getModuleName();
    	obj[6] = funcName;
    	if("0".equals(state)){
    		obj[7] = "0";
    	}else{
    		obj[7] = "1";
    	}
    	
    	//按钮权限
    	java.util.Set set = tRoleFunction.getTRfButtons();
    	for(Iterator it=set.iterator();it.hasNext();){
    		TRfButton tRfButton = (TRfButton) it.next();
    		TButtonType tButtonType = tRfButton.gettButtonType();
    		String bstate = tRfButton.getState().trim();
			if("1".equals(bstate)){
				obj[Integer.parseInt(tButtonType.getBtype().trim())-1]="1";
			}else{
				obj[Integer.parseInt(tButtonType.getBtype().trim())-1]="0";
			}
		}
    	obj[8] = tRoleFunction.getId();
    	return obj;
    }

 

更新权限状态:

/**
     * 更新菜单是否显示
     * @param frid
     * @param state 
     * 2010-2-25	
     * Administrator
     */
    public void updateFunctionState(int frid,String state){
    	updateState("TRoleFunction",frid,state);
    }
    
    /**
     * 更新按钮是否显示
     * @param frid
     * @param state
     * @param bid 
     * 2010-2-25	
     * Administrator
     */
    public void updateButtomState(int frid,String state,int bid){
    	TRoleFunction tRoleFunction = new TRoleFunction();
    	tRoleFunction = (TRoleFunction) this.service.findObjectById(tRoleFunction, frid);
    	TButtonType tButtonType = new TButtonType();
    	tButtonType = (TButtonType) this.service.findObjectById(tButtonType, bid);
    	Object[] field =new Object[2];
    	Object[] value =new Object[2];
    	field[0] = "tRoleFunction";
    	value[0] = tRoleFunction;
    	field[1] = "tButtonType";
    	value[1] = tButtonType;
    	TRfButton tRfButton = (TRfButton) this.service.findObjectByEntity("TRfButton", field, value);
    	int btid = tRfButton.getId();
    	updateState("TRfButton",btid,state);
    }
    
    /**
     * 更新状态
     * @param obj
     * @param objid
     * @param state 
     * 2010-2-25	
     * Administrator
     */
    public void updateState(String obj,int objid,String state){
    	String[] field =new String[2];
    	String[] value =new String[2];
    	field[0] = "state";
    	value[0] = state;
    	field[1] = "id";
    	value[1] = Integer.toString(objid);
    	this.service.updateSql(obj,field,value);
    }

 

  • 大小: 38.8 KB
分享到:
评论
10 楼 luoyexian 2010-03-02  
ylssww 写道
最烦码上满篇code不说句人话的。

illu 写道
代码帝

大家有什么不满也不用这样子说啊!看来以后还是不发贴。
9 楼 illu 2010-03-02  
代码帝
8 楼 GaoJimmy 2010-03-02  
要贴代码只贴关键的不就行啦  通篇code只能是滚轮滚过而已
7 楼 xinnn 2010-03-02  
拖出去,枪毙!!!
6 楼 yuan 2010-03-02  
为什么新来的都喜欢刷屏呢?一系列一系列的刷。
5 楼 lfz8888666 2010-03-02  
完全不知所云。
4 楼 夜之son 2010-03-02  
等你的附件
3 楼 nothinkinperson 2010-03-02  
这是看什么啊.看代码啊?要不要发个JDK源码看看,然后叫深入JDK.我倒
2 楼 wyh6635 2010-03-02  
强烈支持楼上的说法,楼猪满篇CODE,又不先说说设计思路与解说,叫大伙咱看吗。
1 楼 ylssww 2010-03-02  
最烦码上满篇code不说句人话的。

相关推荐

    zkacegi WEB 权限控制框架

    ZK 是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架。ZKACEGI是ZK与ACEGI相结合的技术,包含了用户、角色、权限等几个部分,实现了登录管理、权限控制、操作控制等...

    MF00392-权限管理MVC架构EasyUI框架.zip

    ASP.NET权限管理MVC架构EasyUI框架源码带完整文档 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 1、基于 ASP.NET MVC +...

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码

    1、基于ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout的架构设计开发 2、采用MVC的框架模式,具有耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理等优点 3、采用WebAPI,客户端完全摆脱了代理...

    Java毕业设计-基于ssm框架开发的Web的智慧城市实验室主页系统设计与实现+vue-毕业论文(附源代码).rar

    本资源是一个基于SSM(Spring+SpringMVC+MyBatis)框架开发的Web智慧城市实验室主页系统设计与实现的完整毕业设计项目,同时结合了Vue前端框架,为用户提供了一个现代化、交互性强的网页界面。该项目不仅包含了系统...

    Java毕业设计-基于springboot开发的web机动车号牌管理系统-毕业论文(附毕设源代码).rar

    本资源是一个基于Spring Boot框架开发的Web机动车号牌管理系统,旨在提供一个高效、便捷的平台,用于机动车号牌的申请、审批、发放以及查询等管理工作。系统采用了现代化的Web开发技术,实现了前后端分离,具备良好...

    其他类别MeyboMail Web(Java)开源简化-meybomailweb.zip

    MeyboMail Web(Java)采用了Java语言开发,基于Spring Boot框架,具有良好的可扩展性和易用性。它支持多种邮件协议,如SMTP、POP3和IMAP,可以实现邮件的发送、接收、阅读和存储等功能。同时,它还提供了一个简洁的...

    ASPNET权限管理后台框架源码 适合oa,erp二开使用

    1、可做管理平台型界面框架; 2、可做手机Web应用; 3、后台界面权限、按钮权限功能齐全; 4、无需额外编码,配置可完成菜单新建; 5、权限功能需要自己编写,按照数据库角色逻辑保存即可,非常简单; 6、新建...

    基于web的客运系统

    基于web的客运系统加源码加数据库加论文,3大框架 在线订票系统源码 系统设置:密码修改 增加用户(权限) [打印机设置 票样打印设置 这2块用不着实现系统界面上 放着就好了] 基础设置:基础参数设置(买票设置/...

    基于JAVA SSH+DWZ的权限管理系统 keta-custom

    keta-custom(原keta-security)是一个通用的定制化平台,解决了在web程序再开发过程中遇见的通用功能重复,界面风格迥异;安全无保障,质量无保 障等问题。该平台使用了maven作为项目管理,使用了web开发流行的框架...

    web开发课程设计案例&数据库毕设实例.docx

    当设计web开发课程设计案例或数据库毕业设计时,通常需要考虑项目的实际应用和学生的实际需求。以下是一个可能的 web 开发课程设计案例和数据库毕设实例: Web 开发课程设计案例:在线任务管理系统 项目简介: 设计...

    基于Python3和Django的完整Web后台管理系统源码

    系统以layui为前端界面框架,实现了菜单权限、机构权限、数据权限等管理功能。此外,集成了可视化图表和统计表格,功能全面,适合各类后台管理需求。 技术细节: - Python文件(py):717个,为主要编程语言文件。 ...

    基于 .NET Core MVC 的权限管理系统,代码易读易懂、界面简洁美观.zip

    这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等...

    ASP.NET教务管理平台-权限及公共模块设计与开发(源代码+thesis).zip

    ASP.NET MVC是一种成熟的开发框架,它采用模型-视图-控制器的设计模式,将应用程序的逻辑和界面分离,提供了更好的代码组织和可维护性。我们选择ASP.NET MVC框架是因为它具有良好的可扩展性和灵活性,可以轻松地添加...

    java web人力资源管理项目-采用SSH框架

    1.通过权限管理验证是不是员工,进入员工界面; 2.实现每天的上下班打卡考勤记录(迟到早退,旷工判断); 3.员工可以查看公司下所有的部门及部门下的职位; 4.涉及某员工的培训,该员工必须能收到关于培训的通知; ...

    Java毕业设计-基于ssm框架开发的电子资源管理系统--论文-附毕设源代码+说明文档.rar

    在技术上,本系统采用了SSM框架,这是一种轻量级、易扩展的Java Web开发框架。Spring框架负责业务逻辑的处理和事务管理,SpringMVC负责请求的接收和响应的发送,而MyBatis则负责数据的持久化操作。这种框架组合使得...

    图书推荐系统-毕业设计

    - **Web框架**:选择一个Web框架,如Spring Boot、Django或Flask,用于构建前后端分离的应用。 ### 3. 系统设计 - **数据库设计**:设计数据库模型,包括用户、图书、推荐算法等实体。 - **推荐算法**:选择合适的...

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码+说明教程文档资料.zip

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码+说明教程文档资料,框架特色: 1、基于ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout的架构设计开发 2、采用MVC的框架模式,具有耦合性低、重用性高...

    毕业设计 基于WEB的图书阅读器的实现

    用户界面设计:设计用户友好的界面,确保良好的用户体验。 4. 实现 数据采集:从用户或电子书获取必要信息。 用户注册与登录:实现用户注册、登录功能。 电子书管理:提供电子书的增删改查功能。 在线阅

    Web mvc4.0 EasyUI 最新 权限管理系统源码.zip

    1、基于ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout的架构设计开发 2、采用MVC的框架模式,具有耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理等优点 3、采用WebAPI,客户端完全摆脱了...

Global site tag (gtag.js) - Google Analytics