Эх сурвалжийг харах

git-svn-id: https://192.168.57.71/svn/hbghj@30 201dd7a2-ec1b-f84b-8b06-88221118ff88

ld_zhoutl 9 жил өмнө
parent
commit
4240bcf377

+ 7 - 1
gkaq/gis-flex/trunk/src/com/xt/hb/ais/AisMgr.as

@@ -32,6 +32,8 @@ package com.xt.hb.ais
 		private var cbUpdateTimer:Timer;
 		private static var  instance:AisMgr;
 		private static var showAis:Boolean;
+		// 海事船舶是否移入,默认false
+		private static var isMove:Boolean = false;
 //		private static var  currLevel;
 		/** 船舶闪烁定时器 */
 		public function AisMgr(singletonEnforcer:SingletonEnforcer)
@@ -161,6 +163,7 @@ package com.xt.hb.ais
 		 */ 
 		private function hscbMouseOver(e:MouseEvent):void
 		{
+			isMove = true;
 			var g:Graphic=e.currentTarget as Graphic;
 			var model:InfoModel = new InfoModel();
 			var infoArr: Array = [
@@ -180,7 +183,9 @@ package com.xt.hb.ais
 					var shipName:String = ResultEvent(ae).result as String;
 					nameArr.push("船名 : " + shipName);
 				}
-				model.showInfoWindow(nameArr.concat(infoArr), e);
+				if(isMove) {
+					model.showInfoWindow(nameArr.concat(infoArr), e);
+				}
 			},g.attributes.name);
 		}
 		/**
@@ -188,6 +193,7 @@ package com.xt.hb.ais
 		 */ 
 		private function hscbMouseOut(e:MouseEvent):void
 		{
+			isMove = false;
 			var g:Graphic=e.currentTarget as Graphic;
 			MapUtils.map.infoWindow.hide();
 		}

+ 2 - 0
gkaq/gis-flex/trunk/src/com/xt/hb/ais/BwxqModel.mxml

@@ -17,7 +17,9 @@
 	
 	<fx:Script>
 		<![CDATA[
+			import com.AdvancedDataGrid.SubClasses.AdvancedDataGridColumn;
 			import com.xt.hb.events.PageEvent;
+			import com.xt.hb.utils.CommonUtils;
 			import com.xt.hb.utils.ConstUtil;
 			import com.xt.hb.utils.RemoteUtils;
 			import com.xt.hb.utils.ServicesUtility;

+ 131 - 0
gkaq/gis-flex/trunk/src/com/xt/hb/ais/CbxqModel.mxml

@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" 
+			   xmlns:s="library://ns.adobe.com/flex/spark" 
+			   xmlns:mx="library://ns.adobe.com/flex/mx" 
+			   xmlns:tree="com.tree.*"
+			   skinClass="com.skins.tdt.TitleWinSkin"
+			   title="船舶作业记录"   close="{PopUpManager.removePopUp(this);}"
+			   width="660" height="340" xmlns:components="com.xt.hb.ui.*"
+			   creationComplete="init()">
+
+	<fx:Style>
+	</fx:Style>
+	
+	<fx:Declarations>
+		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
+	</fx:Declarations>
+	
+	<fx:Script>
+		<![CDATA[
+			import com.AdvancedDataGrid.SubClasses.AdvancedDataGridColumn;
+			import com.xt.hb.events.PageEvent;
+			import com.xt.hb.utils.CommonUtils;
+			import com.xt.hb.utils.ConstUtil;
+			import com.xt.hb.utils.RemoteUtils;
+			import com.xt.hb.utils.ServicesUtility;
+			
+			import mx.collections.ArrayCollection;
+			import mx.controls.Alert;
+			import mx.managers.PopUpManager;
+			import mx.rpc.events.AbstractEvent;
+			import mx.rpc.events.FaultEvent;
+			import mx.rpc.events.ResultEvent;
+			
+			
+			[Bindable]
+			private var dataArr:ArrayCollection = new ArrayCollection();
+			
+			private var pageSize:int = ConstUtil.DATAGRIDCTRL_DATA_NUMBER; 
+			
+			private var isFirst:Boolean = true;//如果根据新的条件查询,则此变量设为true,如果翻页则值为false
+			
+			private var _cbmc:String;
+			[Bindable]
+			public function get cbmc():String{
+				return _cbmc;
+			}
+			public function set cbmc(value:String):void{
+				_cbmc = value;
+			}
+			
+			// 页面初始化
+			public function init():void
+			{
+				this.pagePersons.addEventListener(PageEvent.PAGECHANGE, pageChangeHandle);
+				//clickBtn();
+				queryCbInfo(pageSize, 1);
+			}
+			
+			// 页面跳转
+			private function pageChangeHandle(event:PageEvent):void
+			{
+				var page:int = event.data as int;
+				queryCbInfo(pageSize,page);
+				closeWindow();
+			}
+			
+			/**
+			 * 查询
+			 */
+			private function queryCbInfo(size:int=0,page:int=1):void
+			{
+				// 远程调用
+				RemoteUtils.callRemote("aisCtl","queryCbPage",function(ae:AbstractEvent):void{
+					if(ae is FaultEvent){
+						Alert.show("ERROR Call aisCtl queryCbPage");
+					}else {
+						var resultObj:Object = ResultEvent(ae).result as Object;
+						queryCbInfoResult(resultObj);
+					}
+				},cbmc,page,size);
+//				var ro:RemoteObject=new RemoteObject();
+//				ro.destination="query_gq";
+//				ro.queryGQInfo(pageSize,page,obj);
+//				ro.addEventListener(ResultEvent.RESULT, queryGQInfoResult);
+//				ro.addEventListener(FaultEvent.FAULT, queryGQInfoFault);
+			}
+			
+			private function queryCbInfoResult(obj:Object):void
+			{
+				dataArr = obj.list as ArrayCollection;
+				this.pagePersons.orgData=dataArr;
+				this.pagePersons.dataGrid=dg;
+				this.pagePersons.totalRecord = obj.total;
+				if(isFirst)
+					this.pagePersons.dataBind(true);
+				isFirst = false;
+			}
+			
+			// 加载进度
+			private function closeWindow():void
+			{
+				//CommonUtility.waitingShow("正在查询中,请稍等。。。");
+			}
+		]]>
+	</fx:Script>
+	<mx:VBox width="100%" height="100%" verticalGap="0">
+		<s:SkinnableContainer width="100%" height="100%" skinClass="com.skins.tdt.SkinnableContainerSkin">
+			<s:layout>
+				<s:HorizontalLayout/>
+			</s:layout>
+			<mx:DataGrid id="dg" width="100%" height="100%" click="" dataProvider="{dataArr}" headerBackgroundSkin="com.skins.tdt.AdvanceDataGridHeaderSkin"
+						 horizontalScrollPolicy="off" verticalScrollPolicy="auto">
+				<mx:columns>
+					<mx:DataGridColumn dataField="id" headerText="ID" visible="false"/>
+					<mx:DataGridColumn width="120" dataField="bh" headerText="申请单编号" showDataTips="true"/>
+					<mx:DataGridColumn width="140" dataField="wxwpmc" headerText="危险品名" showDataTips="true"/>
+					<mx:DataGridColumn width="60" dataField="zysl" headerText="作业数量"/>
+					<mx:DataGridColumn width="170" dataField="zysjq" headerText="作业时间"/>
+					<mx:DataGridColumn width="170" dataField="kgsj" headerText="开工时间"/>
+					
+				</mx:columns>
+			</mx:DataGrid>
+		</s:SkinnableContainer>
+		<mx:HBox width="100%" height="30" backgroundAlpha="0.3" backgroundColor="#84c4ee" verticalAlign="middle">
+			<s:Spacer width="150"/>
+			<s:Spacer width="100%"/>
+			<components:PageDataGridCtrl id="pagePersons" height="25"/>
+			<s:Spacer width="150"/>
+		</mx:HBox>
+	</mx:VBox>
+</s:TitleWindow>

+ 18 - 2
gkaq/gis-flex/trunk/src/com/xt/hb/ais/ShipViewPanel.mxml

@@ -58,6 +58,20 @@
 			protected function showTrace(event:MouseEvent):void{
 				addLocusPanelToPopLayer();
 			}
+			// 弹出显示船舶作业记录
+			protected function showZyjl(event:MouseEvent):void{
+				trace(ship.name);
+				if(null == ship.name || typeof(ship.name) == "undefined") {
+				} else {
+					var cbxqModel:CbxqModel = new CbxqModel;
+					cbxqModel.cbmc = "鲁青远渔1081";
+					var width:int = FlexGlobals.topLevelApplication.stage.stageWidth;
+					var height:int = FlexGlobals.topLevelApplication.stage.stageHeight;
+					var x:Number = width/2-230;
+					var y:Number = height/2 - 165;
+					CommonUtility.showTitleWindow(cbxqModel, false, x, y);
+				}
+			}
 			
 			public static function addLocusPanelToPopLayer():void{
 				var x:int =FlexGlobals.topLevelApplication.width-850;
@@ -150,9 +164,11 @@
 			</s:Line>				
 		</s:Group>
 		<mx:HBox width="100%" height="30" backgroundColor="#F0F0F0"   verticalAlign="middle" horizontalGap="5" verticalGap="0"  borderVisible="false">
-			<s:Spacer width="200"/>
+			<s:Spacer width="120"/>
+			<mx:LinkButton label="作业记录"  fontWeight="bold" fontSize="14"    color="#2f6ea1"  rollOverColor="#FEB355" buttonMode="true" useHandCursor="true"  click="showZyjl(event)" />
+			<s:Spacer width="6"/>
 			<mx:LinkButton label="绘制轨迹"  fontWeight="bold" fontSize="14"    color="#2f6ea1"  rollOverColor="#FEB355" buttonMode="true" useHandCursor="true"  click="showTrace(event)" />
-			<s:Spacer width="8"/>
+			<s:Spacer width="6"/>
 			<mx:LinkButton label="清除轨迹" fontWeight="bold" fontSize="14"  color="#2f6ea1" rollOverColor="#FEB355" buttonMode="true" useHandCursor="true" click="clearShipLocus(event)" />
 		</mx:HBox>	
 	</mx:VBox>

+ 26 - 0
gkaq/gis-flex/trunk/src/com/xt/hb/ui/TreeWithIcon.as

@@ -1,13 +1,18 @@
 package com.xt.hb.ui
 {
+	import flash.events.Event;
+	
 	import mx.controls.Tree;
 	import mx.core.ClassFactory;
+	import mx.core.ScrollPolicy;
+	import mx.core.mx_internal;
 	
 	public class TreeWithIcon extends Tree
 	{
 		public function TreeWithIcon()
 		{
 			super();
+			horizontalScrollPolicy=ScrollPolicy.AUTO; 
 		}
 		
 		override protected function createChildren():void
@@ -17,6 +22,27 @@ package com.xt.hb.ui
 			super.createChildren();
 		}
 		
+		override public function set maxHorizontalScrollPosition(value:Number):void
+		{
+			mx_internal::_maxHorizontalScrollPosition=value;
+			dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
+			scrollAreaChanged=true;
+			invalidateDisplayList();
+		}
+		
+		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			var diffWidth:Number=measureWidthOfItems(0, 0) - (unscaledWidth - viewMetrics.left - viewMetrics.right);
+			
+			var indentation:Number=getStyle("indentation");
+			
+			if (diffWidth <= 0)
+				maxHorizontalScrollPosition=NaN;
+			else
+				maxHorizontalScrollPosition=diffWidth + indentation;
+			super.updateDisplayList(unscaledWidth, unscaledHeight);
+		}
+		
 		
 	}
 }

+ 32 - 1
gkaq/gis-flex/trunk/src/com/xt/hb/ui/TreeWithLines.as

@@ -1,13 +1,18 @@
 package com.xt.hb.ui
 {
+	import flash.events.Event;
+	
 	import mx.controls.Tree;
 	import mx.core.ClassFactory;
+	import mx.core.ScrollPolicy;
+	import mx.core.mx_internal;
 	
 	public class TreeWithLines extends Tree
 	{
 		public function TreeWithLines()
 		{
 			super();
+			horizontalScrollPolicy=ScrollPolicy.AUTO; 
 		}
 		
 		override protected function createChildren():void
@@ -17,6 +22,32 @@ package com.xt.hb.ui
 			super.createChildren();
 		}
 		
+		override public function get maxHorizontalScrollPosition():Number
+		{
+			if (isNaN(mx_internal::_maxHorizontalScrollPosition))
+				return 0;
+			return mx_internal::_maxHorizontalScrollPosition;
+		}
+		
+		override public function set maxHorizontalScrollPosition(value:Number):void
+		{
+			mx_internal::_maxHorizontalScrollPosition=value;
+			dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
+			scrollAreaChanged=true;
+			invalidateDisplayList();
+		}
 		
-	}
+		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+		{
+			var diffWidth:Number=measureWidthOfItems(0, 0) - (unscaledWidth - viewMetrics.left - viewMetrics.right);
+			
+			var indentation:Number=getStyle("indentation");
+			
+			if (diffWidth <= 0)
+				maxHorizontalScrollPosition=NaN;
+			else
+				maxHorizontalScrollPosition=diffWidth + indentation;
+			super.updateDisplayList(unscaledWidth, unscaledHeight);
+		}
+	} 
 }

+ 1 - 1
gkaq/gis-flex/trunk/src/com/xt/hb/utils/ServicesUtility.as

@@ -188,7 +188,7 @@ package com.xt.hb.utils
 		 * 增加泊位详情
 		 */
 		private static function addBwxq(grid:Grid, obj:Object):void {
-			var id:String = obj.ID;
+			var id:String = obj.GISID;
 			// 定义link
 			var link:LinkButton=new LinkButton();
 			link.addEventListener(MouseEvent.CLICK,function (e:MouseEvent):void {ServicesUtility.bwInfo(e,id);});

+ 28 - 2
gkaq/gis-flex/trunk/src/com/xt/hb/views/resLocation.as

@@ -4,12 +4,13 @@ import com.esri.ags.Map;
 import com.esri.ags.geometry.MapPoint;
 import com.esri.ags.layers.GraphicsLayer;
 import com.esri.ags.symbols.PictureMarkerSymbol;
+import com.xt.hb.common.InfoModel;
 import com.xt.hb.utils.ConstUtil;
 import com.xt.hb.utils.GisUtils;
+import com.xt.hb.utils.GlobalData;
 import com.xt.hb.utils.MapUtils;
 import com.xt.hb.utils.RemoteUtils;
 import com.xt.hb.utils.ServicesUtility;
-import com.xt.hb.utils.GlobalData;
 
 import flash.events.Event;
 import flash.events.MouseEvent;
@@ -385,11 +386,13 @@ private function onSpResult(featureSet:FeatureSet,token:Object = null):void
 		map.level = 15;
 		map.centerAt(mp);
 		// 显示坐标点,并添加点击事件
-		var symbol:PictureMarkerSymbol = new PictureMarkerSymbol("flexResources/png/aq_sxt.png", 14, 22);
+		var symbol:PictureMarkerSymbol = new PictureMarkerSymbol("flexResources/png/aq_sxt.png", 20, 20);
 		graphic.symbol = symbol;
 		graphic.useHandCursor=true;
 		graphic.buttonMode = true;
 		graphic.addEventListener(MouseEvent.CLICK,spMouseClick);
+		graphic.addEventListener(MouseEvent.MOUSE_OVER,spMouseOver);
+		graphic.addEventListener(MouseEvent.MOUSE_OUT,spMouseOut);
 		layer.add(graphic);
 	}
 }
@@ -404,6 +407,29 @@ private function spMouseClick(e:MouseEvent):void
 	navigateToURL(new URLRequest(url),"_blank");
 }
 
+/**
+ * 摄像头移入事件
+ */ 
+private function spMouseOver(e:MouseEvent):void
+{
+	var g:Graphic=e.currentTarget as Graphic;
+	var model:InfoModel = new InfoModel();
+	var infoArr: Array = [
+		//"船名 : " + g.attributes.name,
+		"ID : " + g.attributes.ID
+	];
+	model.showInfoWindow(infoArr, e);
+}
+
+/**
+ * 海事船舶移出事件
+ */ 
+private function spMouseOut(e:MouseEvent):void
+{
+	var g:Graphic=e.currentTarget as Graphic;
+	MapUtils.map.infoWindow.hide();
+}
+
 
 /**
  * 视频监控双击动作时间

+ 27 - 0
gkaq/gis-flex/trunk/src/com/xt/hb/views/show.as

@@ -10,8 +10,10 @@ import com.esri.ags.symbols.SimpleLineSymbol;
 import com.esri.ags.symbols.TextSymbol;
 import com.xt.hb.ais.AisMgr;
 import com.xt.hb.ais.GpsMgr;
+import com.xt.hb.common.InfoModel;
 import com.xt.hb.events.QueryLayerEvent;
 import com.xt.hb.server.QueryAction;
+import com.xt.hb.utils.CommonUtils;
 import com.xt.hb.utils.ConfigUtil;
 import com.xt.hb.utils.ConstUtil;
 import com.xt.hb.utils.GisUtils;
@@ -476,11 +478,36 @@ private function onSpResult(featureSet:FeatureSet,token:Object = null):void
 		var symbol:PictureMarkerSymbol = new PictureMarkerSymbol("flexResources/png/aq_sxt.png", 20, 20);
 		graphic.symbol = symbol;
 		graphic.addEventListener(MouseEvent.CLICK,spMouseClick);
+		graphic.addEventListener(MouseEvent.MOUSE_OVER,spMouseOver);
+		graphic.addEventListener(MouseEvent.MOUSE_OUT,spMouseOut);
 		layer.add(graphic);
 	}
 }
 
 /**
+* 摄像头移入事件
+*/ 
+private function spMouseOver(e:MouseEvent):void
+{
+	var g:Graphic=e.currentTarget as Graphic;
+	var model:InfoModel = new InfoModel();
+	var infoArr: Array = [
+		//"船名 : " + g.attributes.name,
+		"ID : " + g.attributes.ID
+	];
+	model.showInfoWindow(infoArr, e);
+}
+
+/**
+ * 海事船舶移出事件
+ */ 
+private function spMouseOut(e:MouseEvent):void
+{
+	var g:Graphic=e.currentTarget as Graphic;
+	MapUtils.map.infoWindow.hide();
+}
+
+/**
  * 视频
  */
 public function queryQskLayer():void