<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" layout="absolute">
??? <mx:Script>
??????? <![CDATA[
??????????? import mx.printing.FlexPrintJobScaleType;
??????????? import mx.printing.FlexPrintJob;
??????????? import mx.controls.Image;
??????????? import mx.graphics.ImageSnapshot;
??????????? import mx.containers.VBox;
??????????? import mx.charts.HitData;
??????????? import mx.collections.ArrayCollection;
??????????? import com.esri.solutions.flexviewer.utils.QueryUtil;
??????????? import mx.validators.ValidationResult;
??????????? import mx.rpc.events.FaultEvent;
??????????? import mx.rpc.events.ResultEvent;
??????? private var content:String;
??????? var queryUtil:QueryUtil;
?????? [Bindable]
??????? private var rainDateArr:ArrayCollection;
??????? [Bindable]
??????? private var riverDateArr:ArrayCollection;
??????? [Bindable]
??????? private var rainArr:ArrayCollection;
??????? var stcd:String="mj01";
??????? var dt:Date=new Date("2009-9-12");
??????? private function oncezhanResult(event:ResultEvent):void
??????? {
??????????? content= event.result.toString();???
??????? }
??????? private function onFault(event:FaultEvent):void
??????? {
??????? }
??????? private function init():void
??????? {
?????????? service.GetRainLineByDate.send("mj01","2009-9-12");
?????????? // service.HelloWorld.send("a","b");
?????????? //service.GetRiverLineByDate.send();
?????????? service.GetRiverLineByDate.send("mj01","2009-9-12");
?????????? //service.GetHydrograph_rain.send("mj01");
??????? }
??????? private function onClick(event:MouseEvent):void
??????? {
??????????? var str:String=queryUtil.getContent();
??????????? //lb.text=str;
??????? }
??????? private function onResult(event:ResultEvent):void
??????? {
??????????? var dd:String=(event.result as XML).inforTitle;
??????? }
???????? //当日雨量柱状图
??????? private function RainDateResult(event:ResultEvent):void
??????? {
??????????? if(rainDateArr!=null)
??????????? {
??????????????? rainDateArr.removeAll();
??????????? }
??????????? rainDateArr = event.result.Tables.ds.Rows;
?????????????? return;
??????? }
??????? //当日河道水位过程线
??????? private function RiverDateResult(event:ResultEvent):void
??????? {
??????????? if(riverDateArr!=null)
??????????? {
??????????????? riverDateArr.removeAll();
??????????? }
??????????? riverDateArr = event.result.Tables.ds.Rows;
?????????????? return;
??????? }
??????? private function onRiverDateFault(e:FaultEvent):void
??????? {
??????? }
??????? public function RainResult(event:ResultEvent) : void
??????? {
??????????? if(rainArr!=null)
??????????? {
??????????????? rainArr.removeAll();
??????????? }
??????????? rainArr = event.result.Tables.ds.Rows;
?????????????? return;
??????? }// end function
???????????? public function myParseFunction(s:String):Date {
????????????? // Get an array of Strings from the comma-separated String passed in.
???????????? var a:Array = s.split(":");
????????????? // Create the new Date object. Note that the month argument is 0-based (with 0 being January).
????????????? var date:Date=new Date();
????????????? var y:Number=date.fullYear
????????????? var m:Number=date.month;
????????????? var d:Number=date.date;
????????????? var newDate:Date = new Date(y,m,d,a[0],a[1],a[2]);
????????????? return newDate;
????????? }
??????????? private function renderTips(data:HitData):String
??????????? {
??????????????? var a:String=data.item.Z;
??????????????? var b:String=data.item.TM;
??????????????? return "时间:"+b+"n"+"水位:"+a+"(m)";
??????????? }
//打印的核心代码
??????????? private function print(event:MouseEvent):void
??????????? {???
??????????????? var printJob:FlexPrintJob = new FlexPrintJob();
??????????????? if(printJob.start())
??????????????? {
??????????????????????? var printBox:VBox = new VBox();
??????????????????????? printBox.styleName = "PrintBox";
??????????????????????? printBox.width = 600;
??????????????????????? printBox.horizontalScrollPolicy = "off";
??????????????????????? printBox.verticalScrollPolicy = "off";
??????????????????????? var bmpMap:BitmapData = ImageSnapshot.captureBitmapData(panel);
??????????????????????? var bmp:Bitmap = new Bitmap(bmpMap);?
??????????????????????? var printImg:Image = new Image();??
??????????????????????? printImg.source = bmp;
??????????????????????? printBox.addChild(printImg);
??????????????????????? this.addChild(printBox);
??????????????????????? printJob.addObject(printBox,FlexPrintJobScaleType.SHOW_ALL);
??????????????????????? printJob.printAsBitmap;
??????????????????????? this.removeChild(printBox);
??????????????????????? printJob.send();
??????????????? }
??????????? }
??????? ]]>
??? </mx:Script>
??? <mx:Style>?
???? .ChineseFont?
??? {??
??????? fontFamily:"Verdana","宋体";??
??????? fontSize:12;??
???? }??
??? </mx:Style>?
??? <mx:WebService id="service" wsdl="../WebService.asmx?WSDL">
??????? <mx:operation name="HelloWorld" result="RainResult(event)"/>
??????? <mx:operation name="GetRainLineByDate" result="RainDateResult(event)">
??????? <mx:request xmlns="">
??????????????? <stcd>
??????????????????? {stcd}
??????????????? </stcd>
??????????????? <dt>
??????????????????? {dt}
??????????????? </dt>
??????????? </mx:request>
??????? </mx:operation>
??????? <mx:operation name="GetRiverLineByDate" result="RiverDateResult(event)" fault="onRiverDateFault(event)">
??????????? <mx:request xmlns="">
??????????????? <stcd>
??????????????????? {stcd}
??????????????? </stcd>
??????????????? <dt>
??????????????????? {dt}
??????????????? </dt>
??????????? </mx:request>
??????? </mx:operation>
??? </mx:WebService>
??? <mx:Canvas height="100%" id="riverTabToday" label="当日河道水位过程线" width="100%">
??????????? <mx:Panel x="52" y="38" id="panel" width="590" height="354" layout="absolute">
??????????????????? <mx:LineChart dataProvider='{riverDateArr}' showDataTips="true" fontSize="12" height="100%"? id="riverChartToday"?? width="453" x="0" y="0">
??????????????????????? <mx:horizontalAxis>
???????????????????????????????????? <mx:DateTimeAxis displayLocalTime="true" parseFunction="myParseFunction"?? autoAdjust="true" interval="24"? dataUnits="minutes" title="采集时间" />
???????????????????????????????? </mx:horizontalAxis>
????????????????????????????? <mx:verticalAxis>
????????????????????????????????? <mx:LinearAxis baseAtZero="false" title="水位(m)"/>
????????????????????????????? </mx:verticalAxis>
????????????????????????????? <mx:series>
?????????????????????????????????? <mx:LineSeries yField="WRZ"? xField="TM"? displayName="警戒水位(m)"/>
?????????????????????????????????? <mx:LineSeries yField="Z"? xField="TM" displayName="水位(m)"/>
????????????????????????????? <!--?????? <mx:LineSeries yField="Q"? displayName="流量(m^3/s)"/>-->
????????????????????????????? </mx:series>
??????????????????? </mx:LineChart>
??????????????????? <mx:Legend dataProvider='{riverChartToday}' legendItemClass="com.esri.solutions.flexviewer.xiniu.BigFontLegendItem" x="453" y="0"/>
??????????? </mx:Panel>
??????????? <mx:Button label="打印" click="print(event)" x="266" y="10"/>
??????? </mx:Canvas>
</mx:Application>
