• flex成品作不知道有哪位大神能看懂是干嘛的


    小弟布局什么都乱七八糟,但是功能还是行了,不知道哪位大神可以看懂吐舌头,我乱七八糟的代码,是干嘛的,这功能幸好公司内部用,不然做出去就难看死了

    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
    					   xmlns:s="library://ns.adobe.com/flex/spark" 
    					   xmlns:mx="library://ns.adobe.com/flex/mx" 
    					   width="800" height="600"
    					   showStatusBar="false">
    	
    	<fx:Script>
    		<![CDATA[
    			import flashx.textLayout.conversion.TextConverter;
    			import flashx.textLayout.elements.TextFlow;
    			import flashx.textLayout.factory.StringTextLineFactory;
    			
    			import mx.collections.ArrayCollection;
    			import mx.controls.Alert;
    			import mx.events.FlexEvent;
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent;
    			
    			import spark.events.GridSelectionEvent;
    			import spark.utils.DataItem;
    			
    			private var content:String="";
    			private var newcontent:String="";
    			private var imgcount:int=0;
    			private var imgreplace:int=0;
    			private var servename:String="";
    			public var customerid:String="";
    			
    			[Bindable]
    			public var customerList:ArrayCollection;
    			[Bindable]
    			public var _pageList:ArrayCollection;
    			
    			private function richeditabletext1_pasteHandler(event:Event):void
    			{
    				var a:* = Clipboard.generalClipboard.getData(ClipboardFormats.HTML_FORMAT); //从系统剪切板中读取是html格式的数据
    				if(a!=null){
    					var stra:String= a as String;
    					content=content as String;
    					
    					var myPattern:RegExp =/file:\/\/\//gi; 
    					stra=stra.replace(myPattern, "");
    					
    					content=content+stra;
    					a=content as Object;
    					abc.textFlow = TextConverter.importToFlow(a, TextConverter.TEXT_FIELD_HTML_FORMAT);
    				}
    				
    			}
    			
    			protected function button1_clickHandler(event:MouseEvent):void
    			{
    				
    				if(abc.text==""){
    					Alert.show("输入不能为空");
    					return ;
    				}
    				var flexreg:RegExp=/<IMG/gi;
    				
    				if(content.search(flexreg)<0){//说明提交的内容没有图片,那么就直接提交
    					var params:Object = {};  
    					params["content"]=abc.text;
    					params["customer.serveCustomer"]=servename;
    					params["customer.id"]=customerid;
    					service.send(params);
    					return;
    				}
    				
    				
    				//把content中的img的标签替换掉,替换成{图片发送上去,服务器返回给客户端的一个地址}
    				
    				
    				while(content.search(flexreg)>=0){
    					
    					imgcount++;//图片数量加一
    					
    					var start:int=content.search(flexreg);
    					newcontent=newcontent+content.substring(0,start);//newcontent信息取到标签之前
    					content=content.substring(start,content.length);//content字符串去掉<IMG之前的字符
    					
    					var intsrc:int=content.indexOf("src");
    					newcontent=newcontent+content.substring(0,intsrc);//把src属性之前的字符取到,可能有width之类的
    					content=content.substring(intsrc,content.length);
    					
    					var intone:int=content.indexOf('"');
    					newcontent=newcontent+content.substring(0,intone+1);//把第一个引号字符取到,可能有width之类的
    					newcontent=newcontent+"{"+imgcount+"}";
    					
    					content=content.substring(intone+1,content.length);
    					
    					var inttwo:int=content.indexOf('"');
    					
    					var strsrc:String=content.substring(0,inttwo);//图片的地址
    					content=content.substring(inttwo,content.length);//原先字符串去掉路径
    					
    					
    					//向newcontent中添加返回的绝对路径
    					var file:File = new File(strsrc);
    					if(file.exists){
    						file.upload(new URLRequest("http://localhost:8080/WallpaperShowShow/terminal/serve_uploadImg?imgcount="+imgcount),"file");
    						file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadComplete);
    						file.addEventListener(IOErrorEvent.IO_ERROR,onIoError);
    					}
    					
    				}
    				
    				//要把最后一个img标签后面的字符加入进去
    				newcontent=newcontent+content;
    				
    				
    			}
    			
    			
    			protected function uploadComplete(event:DataEvent):void{
    				
    				var obj:Object=JSON.parse(event.data)
    				var state:String=obj.state as String;
    				if(state == "0"){
    					Alert.show("图片上传失败");
    					return ;
    				}
    				var strs:Array=state.split("&");
    				
    				newcontent=newcontent.replace("{"+strs[1]+"}",strs[0]);
    				imgreplace++;
    				
    				if(imgcount==imgreplace){
    					var params:Object = {};  
    					params["content"]=newcontent;
    					params["customer.serveCustomer"]=servename;
    					params["customer.id"]=customerid;
    					service.send(params);
    				}
    				
    			}
    			
    			protected function onIoError(event:IOErrorEvent):void{
    				Alert.show("图片上传失败");
    			}
    			
    			//调用失败  
    			protected function service_faultHandler(event:FaultEvent):void  
    			{  
    				Alert.show("提交失败了","提示");
    			}
    			//内容点击提交之后是成功还是失败
    			protected function service_resultHandler(event:ResultEvent):void 
    			{
    				var obj:Object=JSON.parse(event.result.toString());
    				var state:String=obj.state as String;
    				if(state=="1"){
    					Alert.show("提交成功","提示");
    					abc.text="";
    				}else{
    					Alert.show("提交失败","提示");
    				}
    				
    			}
    			//点击登陆按钮开始验证,并发送请求
    			protected function login_clickHandler(event:MouseEvent):void
    			{
    				if(""==username.text || ""==userpwd.text){
    					Alert.show("请出入完整信息","提示");
    					return;
    				}
    				var params:Object = {};  
    				params["admin.loginName"]=username.text;
    				params["admin.loginPwd"]=userpwd.text;
    				loginservice.send(params);
    			}
    			
    			protected function login_faultHandler(event:FaultEvent):void  
    			{  
    				Alert.show("登陆失败了","提示");
    			}
    			//登陆成功,发送请求去读取客户数据
    			protected function login_resultHandler(event:ResultEvent):void 
    			{
    				
    				var obj:Object=JSON.parse(event.result.toString());
    				var state:String=obj.state as String;
    				
    				if(state == "0"){
    					Alert.show("用户名密码错误");
    				}else{
    					servename=obj.name as String;
    					customerservice.send();
    				}
    			}
    			
    			protected function customer_faultHandler(event:FaultEvent):void  
    			{  
    				Alert.show("读取客户表失败","提示");
    			}
    			
    			//登陆成功要进行客户列表的显示
    			protected function customer_resultHandler(event:ResultEvent):void 
    			{
    				
    				var obj:Object=JSON.parse(event.result.toString());
    				customerList = new ArrayCollection();
    				_pageList = new ArrayCollection();
    				for (var i:int = 0; i < obj.customerList.length; i++) 
    				{
    					var dataItem:DataItem = new DataItem();
    					dataItem.name = obj.customerList[i].name;
    					dataItem.phone = obj.customerList[i].phone;
    					dataItem.serveCustomer = obj.customerList[i].serveCustomer;
    					dataItem.customerType = obj.customerList[i].customerType;
    					dataItem.id=obj.customerList[i].id;
    					customerList.addItem(dataItem);
    				}
    				
    				
    				if(obj.page.currentPage>1)
    					_pageList.addItem({num:obj.page.currentPage-1,left:true,click:gotoPage});
    				for (var j:int = 1; j <= obj.page.sumPage; j++) 
    				{
    					if(j==obj.page.currentPage){
    						_pageList.addItem({num:j,current:true});
    					}else if((j < obj.page.currentPage+3 && j > obj.page.currentPage-3) || j > obj.page.sumPage-2 || j < 3){
    						_pageList.addItem({num:j,click:gotoPage});
    					}else if(j == obj.page.currentPage+3||j == obj.page.currentPage-3){
    						_pageList.addItem({num:"...",isPoint:true});
    					}
    				}
    				if(obj.page.currentPage<obj.page.sumPage)
    					_pageList.addItem({num:obj.page.currentPage+1,right:true,click:gotoPage});
    				
    				currentState = "logined";
    			}
    			
    			//翻页按钮 进行翻页
    			private function gotoPage(currentPage:int = 1):void
    			{
    				var req:Object ={};
    				if(cname.text!=""){
    					req["name"]=cname.text;
    				}
    				req["page.currentPage"]=currentPage;
    				customerservice.send(req);
    			}
    			private function creationCompleteHandler(event:FlexEvent):void
    			{
    				event.target.scroller.setStyle('verticalScrollPolicy','off');
    				event.target.scroller.setStyle('horizontalScrollPolicy','off');
    			}
    			// 点返回按钮状态返回
    			protected function back_clickHandler(event:MouseEvent):void
    			{
    				currentState="logined";
    			}
    			
    			
    			protected function search_clickHandler(event:MouseEvent):void
    			{
    				var params:Object={};
    				params["name"]=cname.text;
    				
    				customerservice.send(params);
    			}
    			
    		]]>
    	</fx:Script>
    	
    	<fx:Declarations>
    		
    		<s:HTTPService id="service"   
    					   url="http://192.168.1.200:8080/WallpaperShowShow/terminal/serve_addServeRecord"   
    					   useProxy="false" method="POST"  
    					   fault="service_faultHandler(event)"   
    					   result="service_resultHandler(event)" resultFormat="text">    
    			
    		</s:HTTPService>  
    		
    		<s:HTTPService id="loginservice"   
    					   url="http://192.168.1.200:8080/WallpaperShowShow/terminal/flex_logined"   
    					   useProxy="false" method="POST"  
    					   fault="login_faultHandler(event)"   
    					   result="login_resultHandler(event)" resultFormat="text">    
    			
    		</s:HTTPService>
    		
    		<s:HTTPService id="customerservice"   
    					   url="http://192.168.1.200:8080/WallpaperShowShow/terminal/flex_searchCustomer"
    					   useProxy="false" method="POST"  
    					   fault="customer_faultHandler(event)"   
    					   result="customer_resultHandler(event)" resultFormat="text">    
    			
    		</s:HTTPService>
    		
    		
    	</fx:Declarations>
    	<s:states>
    		<s:State name="login"/>
    		<s:State name="logined"/>
    		<s:State name="recording" />
    	</s:states>
    	
    	<s:VGroup includeIn="login" verticalCenter="0" horizontalCenter="0" horizontalAlign="center">
    		<s:HGroup verticalAlign="middle">
    			<s:Label text="用户名:" width="100" textAlign="right"/>
    			<s:TextInput id="username" />
    		</s:HGroup>
    		<s:HGroup verticalAlign="middle">
    			<s:Label text="密 码:" width="100" textAlign="right"/>
    			<s:TextInput id="userpwd" displayAsPassword="true" />
    		</s:HGroup>
    		<s:HGroup verticalAlign="middle" >
    			<s:Button label="登录" click="login_clickHandler(event)" />
    		</s:HGroup>	
    	</s:VGroup>
    	
    	<s:Group includeIn="logined" verticalCenter="0" horizontalCenter="0" >
    		<s:VGroup>
    			<s:HGroup verticalCenter="-20" horizontalCenter="-10">
    				<s:Label text="姓名:" verticalAlign="middle" width="100" textAlign="right" height="20" />
    				<s:TextInput id="cname" />
    				<s:Button label="查询" click="search_clickHandler(event)"/>
    			</s:HGroup>
    			<s:DataGrid x="10" y="10" width="700" height="351" borderColor="0xdedede"
    						dataProvider="{customerList}" fontSize="14">
    				<s:columns>
    					<s:ArrayList>
    						<s:GridColumn dataField="name" headerText="客户名称"></s:GridColumn>
    						<s:GridColumn dataField="phone" headerText="电话"></s:GridColumn>
    						<s:GridColumn dataField="serveCustomer" headerText="销售员"></s:GridColumn>
    						<s:GridColumn dataField="customerType" headerText="客户类型"></s:GridColumn>
    						<s:GridColumn  headerText="增加记录">
    							<s:itemRenderer>
    								<fx:Component>
    									<s:GridItemRenderer>
    										<fx:Script>
    											<![CDATA[
    												import mx.controls.Alert;
    												protected function gostate(event:MouseEvent):void
    												{
    													outerDocument.customerid=data.id;
    													outerDocument.currentState="recording";
    												}
    											]]>
    										</fx:Script>
    										<s:Label text="添加记录" left="5" color="0x26546c" verticalCenter="0" click="gostate(event)" mouseChildren="false" buttonMode="true" useHandCursor="true"/>
    									</s:GridItemRenderer>
    								</fx:Component>
    							</s:itemRenderer>
    						</s:GridColumn>
    					</s:ArrayList>
    				</s:columns>
    			</s:DataGrid>
    		</s:VGroup>
    		
    		<s:HGroup  horizontalAlign="right" verticalCenter="200" horizontalCenter="-60">
    			<s:List dataProvider="{_pageList}" borderVisible="false" contentBackgroundAlpha="0"  height="50" creationComplete="creationCompleteHandler(event)" itemRenderer="itemRenderer.PageItemRenderer">
    				<s:layout>
    					<s:HorizontalLayout verticalAlign="middle" gap="5" />
    				</s:layout>
    			</s:List>
    		</s:HGroup>
    		
    	</s:Group>
    	<s:Group includeIn="recording">
    		<s:HGroup verticalCenter="20" horizontalCenter="20">
    			<s:Label backgroundColor="#FFFFFF" fontFamily="Arial" fontSize="14" text="内容:"/>
    			<s:Group>
    				
    				<s:Rect width="600" height="450">
    					<s:stroke>
    						<s:SolidColorStroke color="0x0"/>
    					</s:stroke>
    				</s:Rect>
    				<s:RichEditableText id="abc" x="0" y="0" width="600" height="450" text="RichEditableText" paste="richeditabletext1_pasteHandler(event)">
    					<s:span></s:span>
    				</s:RichEditableText>
    			</s:Group>
    			<s:VGroup>
    				<s:Button label="提交" click="button1_clickHandler(event)"/>
    				<s:Button label="返回" click="back_clickHandler(event)"/>
    			</s:VGroup>
    		</s:HGroup>
    		
    	</s:Group>
    </s:WindowedApplication>
    


  • 相关阅读:
    CCD类型介绍:Linear, Interline, FullFrame, FrameTransfer CCD的区别
    电源纹波调试小结
    FPGA调试之特殊管脚
    C#获取指定日期的星期,和sql server中根据指定日期取出来的相对应
    利用TSQL添加作业
    SQL insert失败时也会造成自增长字段加1
    ANSI编码
    分页
    PHP编码转换
    SqlDataReader读取带有输出参数的存储过程
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3102166.html
Copyright © 2020-2023  润新知