|
@@ -1,14 +1,358 @@
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
<s:VGroup 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="100%" height="100%" xmlns:whsptj="com.jtgh.yjpt.view.whsptj.*">
|
|
|
- <fx:Declarations>
|
|
|
- <!-- 将非可视元素(例如服务、值对象)放在此处 -->
|
|
|
- </fx:Declarations>
|
|
|
- <whsptj:Whfb width="100%" height="230"/>
|
|
|
+ xmlns:mx="library://ns.adobe.com/flex/mx"
|
|
|
+ xmlns:whsptj="com.jtgh.yjpt.view.whsptj.*"
|
|
|
+ xmlns:ui="com.jtgh.yjpt.common.component.ui.*"
|
|
|
+ xmlns:button="com.jtgh.yjpt.common.component.ui.button.*"
|
|
|
+ width="100%" height="100%"
|
|
|
+ creationComplete="group1_creationCompleteHandler(event)">
|
|
|
+ <fx:Script>
|
|
|
+ <![CDATA[
|
|
|
+ import com.jtgh.yjpt.common.BusinessContext;
|
|
|
+ import com.jtgh.yjpt.common.Global;
|
|
|
+ import com.jtgh.yjpt.common.PrintParam;
|
|
|
+ import com.jtgh.yjpt.common.PrintTypes;
|
|
|
+ import com.jtgh.yjpt.common.util.Constants;
|
|
|
+ import com.jtgh.yjpt.common.util.PrintUtil;
|
|
|
+ import com.jtgh.yjpt.common.util.Utils;
|
|
|
+ import com.jtgh.yjpt.model.SystemModel;
|
|
|
+ import com.jtgh.yjpt.vo.sys.MenuVo;
|
|
|
+
|
|
|
+ import mx.collections.ArrayCollection;
|
|
|
+ import mx.events.FlexEvent;
|
|
|
+ import mx.formatters.DateFormatter;
|
|
|
+ import mx.rpc.events.ResultEvent;
|
|
|
+ import mx.controls.Alert;
|
|
|
+
|
|
|
+ import spark.events.IndexChangeEvent;
|
|
|
+ //import com.jtgh.yjpt.common.util.Utils;
|
|
|
+
|
|
|
+ //import mx.collections.ArrayCollection;
|
|
|
+ //import mx.events.FlexEvent;
|
|
|
+ //import mx.formatters.DateFormatter;
|
|
|
+ //import mx.rpc.events.ResultEvent;
|
|
|
+
|
|
|
+ //import spark.events.IndexChangeEvent;
|
|
|
+
|
|
|
+ // -----------------------上部柱状统计图 begin------------------------
|
|
|
+ //private var szd:String=null;
|
|
|
+ [Bindable]
|
|
|
+ private var list:ArrayCollection;
|
|
|
+ private var spMax:Number=0;
|
|
|
+ private var zxlMax:Number=0;
|
|
|
+ private var type:String ="YYYY";
|
|
|
+
|
|
|
+ [Bindable]
|
|
|
+ private var list2:ArrayCollection;
|
|
|
+// private var type:String ="YYYY";
|
|
|
+ [Bindable]
|
|
|
+ private var szd:String=null;
|
|
|
+
|
|
|
+ protected function group1_creationCompleteHandler(event:FlexEvent):void
|
|
|
+ {
|
|
|
+ this.sp.labelContainer.y-=12;
|
|
|
+ this.zxl.labelContainer.y-=12;
|
|
|
+ if(Global.deployMode==Constants.DEPLOY_MODE_1){
|
|
|
+ szd=Global.szd.id.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ Utils.callRemote("zysqbpController","getDateRange",function(r:ResultEvent):void{
|
|
|
+ var bc:BusinessContext = r.result as BusinessContext;
|
|
|
+ start.dateTime = bc.getAttribute("ks") as Date;
|
|
|
+ end.dateTime = bc.getAttribute("js") as Date;
|
|
|
+ //柱状图
|
|
|
+ doQuery(start.dateTime,end.dateTime);
|
|
|
+ //加载左下侧统计列表数据
|
|
|
+ doQuery2(start.dateTime,end.dateTime);
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ protected function doQuery(startDate:Date,endDate:Date):void{
|
|
|
+ Utils.callRemote("zysqbpController", "countSpZxl", function (r:ResultEvent):void
|
|
|
+ {
|
|
|
+ var bc:BusinessContext=new BusinessContext();
|
|
|
+ bc=r.result as BusinessContext;
|
|
|
+ list=bc.getAttribute("records") as ArrayCollection;
|
|
|
+ for each(var o:Object in list)
|
|
|
+ {
|
|
|
+ o.ZXLNUM=Number(o.ZXLNUM).toFixed(2);
|
|
|
+ if(null==szd)
|
|
|
+ o.NAME=resourceManager.getString('select',o.NAME);
|
|
|
+ getMax("sp",o.SPNUM);
|
|
|
+ getMax("zxl",o.ZXLNUM);
|
|
|
+ }
|
|
|
+ if(spMax<20){spva.maximum=spMax+1;}
|
|
|
+ else{spva.maximum=Math.ceil(spMax*1.05);}
|
|
|
+ if(zxlMax<8){zxlva.maximum=zxlMax+1;}
|
|
|
+ else{zxlva.maximum=Math.ceil(zxlMax*1.125);}
|
|
|
+ },szd,startDate,endDate);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function getTime():String
|
|
|
+ {
|
|
|
+ var fr:DateFormatter=new DateFormatter();
|
|
|
+ fr.formatString="YYYY.MM.DD";
|
|
|
+ return fr.format(new Date())
|
|
|
+ }
|
|
|
+
|
|
|
+ private function getMax(max:String,num:Number):void{
|
|
|
+ if("sp"==max)
|
|
|
+ spMax=spMax<num?num:spMax;
|
|
|
+ else if("zxl"==max)
|
|
|
+ zxlMax=zxlMax<num?num:zxlMax;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function labelClick(event:MouseEvent):void
|
|
|
+ {
|
|
|
+ var node:MenuVo = getMenuVo(Global.menuList, "004001");
|
|
|
+ SystemModel.menuClick(node, event.target.text);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private function getMenuVo(list:ArrayCollection, code:String):MenuVo{
|
|
|
+ for(var i:int=0; i<list.length; i++){
|
|
|
+ var node:MenuVo = list.getItemAt(i) as MenuVo;
|
|
|
+ //trace(node.code);
|
|
|
+ if(code == node.code){
|
|
|
+ return node;
|
|
|
+ }else{
|
|
|
+ if(node.children && node.children.length > 0){
|
|
|
+ var vo:MenuVo = getMenuVo(node.children, code);
|
|
|
+ if(vo){
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function over(event:MouseEvent):void
|
|
|
+ {
|
|
|
+ if(event.target is Label)
|
|
|
+ (event.target as Label).setStyle("color",0xE48701);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function out(event:MouseEvent):void
|
|
|
+ {
|
|
|
+ if(event.target is Label)
|
|
|
+ (event.target as Label).setStyle("color",0x000000);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /* protected function tj(event:IndexChangeEvent):void
|
|
|
+ {
|
|
|
+ if(0==event.newIndex)
|
|
|
+ {
|
|
|
+ type="YYYY";
|
|
|
+ }else if(1==event.newIndex)
|
|
|
+ {
|
|
|
+ type="YYYYMM";
|
|
|
+ }
|
|
|
+ doQuery();
|
|
|
+ } */
|
|
|
+ //-----------------------上部柱状统计图 end------------------------
|
|
|
+
|
|
|
+ // ------------------------左下方列表统计 begin-------------------------
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /* protected function init(event:FlexEvent):void
|
|
|
+ {
|
|
|
+ if(Constants.DEPLOY_MODE_1==Global.deployMode){
|
|
|
+ szd=Global.szd.id.toString();
|
|
|
+ }
|
|
|
+ doQuery2();
|
|
|
+ } */
|
|
|
+
|
|
|
+ private function doQuery2(startDate:Date,endDate:Date):void
|
|
|
+ {
|
|
|
+ Utils.callRemote("zysqbpController","countSp",function(r:ResultEvent):void{
|
|
|
+ var bc:BusinessContext=r.result as BusinessContext;
|
|
|
+ list2=bc.getAttribute("records") as ArrayCollection;
|
|
|
+ var hj:Object=new Object;
|
|
|
+ hj.type="hj";
|
|
|
+ hj.NAME="合计";
|
|
|
+ hj.SSNUM=0;
|
|
|
+ hj.FZNUM=0;
|
|
|
+ hj.XMNUM=0;
|
|
|
+ hj.ZYNUM=0;
|
|
|
+ for each(var o:Object in list2)
|
|
|
+ {
|
|
|
+ if(null==szd){
|
|
|
+ o.NAME=resourceManager.getString("select",o.NAME);
|
|
|
+ }
|
|
|
+ hj.SSNUM+=Number(o.SSNUM);
|
|
|
+ hj.FZNUM+=Number(o.FZNUM);
|
|
|
+ hj.XMNUM+=Number(o.XMNUM);
|
|
|
+ hj.ZYNUM+=Number(o.ZYNUM);
|
|
|
+ }
|
|
|
+ list2.addItem(hj);
|
|
|
+ },szd,startDate,endDate);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* private function getTime():String
|
|
|
+ {
|
|
|
+ var fr:DateFormatter=new DateFormatter();
|
|
|
+ fr.formatString="YYYY.MM.DD";
|
|
|
+ return fr.format(new Date())
|
|
|
+ } */
|
|
|
+
|
|
|
+ /* protected function tj(event:IndexChangeEvent):void
|
|
|
+ {
|
|
|
+ if(0==event.newIndex)
|
|
|
+ {
|
|
|
+ type="YYYY";
|
|
|
+ }else if(1==event.newIndex)
|
|
|
+ {
|
|
|
+ type="YYYYMM";
|
|
|
+ }
|
|
|
+ doQuery();
|
|
|
+ } */
|
|
|
+
|
|
|
+ protected function doPrint(event:MouseEvent):void
|
|
|
+ {
|
|
|
+ if(null==szd){
|
|
|
+ var param:PrintParam=new PrintParam("bdwhspTj");
|
|
|
+ param.setParameter("type", type);
|
|
|
+ param.setParameter("szd",null);
|
|
|
+ PrintUtil.doPrint1(param);
|
|
|
+ }else{
|
|
|
+ var param:PrintParam=new PrintParam("bdwhspTj");
|
|
|
+ param.setParameter("type", type);
|
|
|
+ param.setParameter("szd",szd);
|
|
|
+ PrintUtil.doPrint1(param);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ protected function doPrint1(event:MouseEvent):void
|
|
|
+ {
|
|
|
+ if(null==szd){
|
|
|
+ var param:PrintParam=new PrintParam(PrintTypes.SPTJ);
|
|
|
+ param.setParameter("type", type);
|
|
|
+ param.format="xls";
|
|
|
+ PrintUtil.doPrint(param);
|
|
|
+ }else{
|
|
|
+ var param:PrintParam=new PrintParam(PrintTypes.SJSPTJ);
|
|
|
+ param.setParameter("type", type);
|
|
|
+ param.setParameter("szd",szd+"%");
|
|
|
+ param.format="xls";
|
|
|
+ PrintUtil.doPrint(param);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // ------------------------左下方列表统计 end---------------------------
|
|
|
+
|
|
|
+ //统计查询
|
|
|
+ /** 统计处理 */
|
|
|
+ public function search():void
|
|
|
+ {
|
|
|
+ var tjsjq:Date=start.dateTime;
|
|
|
+ var tjsjz:Date=end.dateTime;
|
|
|
+ if(tjsjq==null||tjsjz==null){
|
|
|
+ Alert.show("请选择统计的时间区间","提示");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //柱状图
|
|
|
+ doQuery(start.dateTime,end.dateTime);
|
|
|
+ //加载左下侧统计列表数据
|
|
|
+ doQuery2(start.dateTime,end.dateTime);
|
|
|
+ }
|
|
|
+
|
|
|
+ ]]>
|
|
|
+ </fx:Script>
|
|
|
+ <!--<whsptj:Whfb width="100%" height="230"/>-->
|
|
|
+ <!-- **************************上部柱状统计图 begin************************** -->
|
|
|
+ <s:VGroup width="100%" height="100%">
|
|
|
+ <s:BorderContainer borderVisible="false" height="32" backgroundColor="#23A5B8" width="100%">
|
|
|
+ <s:layout>
|
|
|
+ <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle"/>
|
|
|
+ </s:layout>
|
|
|
+ <s:Label text="港口危货作业审批数量/危货装卸量" width="100%" fontFamily="宋体" fontSize="14" color="#ffffff" fontWeight="bold" paddingLeft="10"/>
|
|
|
+ <!--<cus:QComboBox width="100" comboxClass="TjTimeSelect" change="tj(event)" selectedIndex="0" text="{resourceManager.getString('select','tj.year')}"/>-->
|
|
|
+ </s:BorderContainer>
|
|
|
+ <s:HGroup width="100%" height="100%">
|
|
|
+ <s:VGroup height="100%">
|
|
|
+ <mx:Legend right="4" top="4" dataProvider="{colChart}"/>
|
|
|
+ <s:Spacer height="100%"/>
|
|
|
+ <!--<s:Label text="截止{getTime()}"/>-->
|
|
|
+ <s:Spacer height="15"/>
|
|
|
+ </s:VGroup>
|
|
|
+ <mx:ColumnChart id="colChart" width="95%"
|
|
|
+ showDataTips="true" height="200" dataProvider="{list}">
|
|
|
+ <mx:horizontalAxis>
|
|
|
+ <mx:CategoryAxis id="xx" categoryField="NAME"/>
|
|
|
+ </mx:horizontalAxis>
|
|
|
+ <mx:verticalAxisRenderers>
|
|
|
+ <mx:AxisRenderer placement="left" axis="{spva}"/>
|
|
|
+ <mx:AxisRenderer placement="right" axis="{zxlva}"/>
|
|
|
+ </mx:verticalAxisRenderers>
|
|
|
+ <mx:horizontalAxisRenderers>
|
|
|
+ <mx:AxisRenderer axis="{xx}" click="labelClick(event)" buttonMode="true" mouseOver="over(event)" mouseOut="out(event)"/>
|
|
|
+ </mx:horizontalAxisRenderers>
|
|
|
+ <mx:series>
|
|
|
+ <mx:ColumnSeries displayName="危货作业审批数量(个)" id="sp" yField="SPNUM" maxColumnWidth="20" labelPosition="inside" labelAlign="top" >
|
|
|
+ <mx:verticalAxis>
|
|
|
+ <mx:LinearAxis id="spva"/>
|
|
|
+ </mx:verticalAxis>
|
|
|
+ <mx:fill>
|
|
|
+ <s:SolidColor color="#30BAAA"/>
|
|
|
+ </mx:fill>
|
|
|
+ </mx:ColumnSeries>
|
|
|
+ <mx:ColumnSeries displayName="危险货物装卸量(万吨)" id="zxl" yField="ZXLNUM" maxColumnWidth="20" chromeColor="#F9837F" labelPosition="inside" labelAlign="top" >
|
|
|
+ <mx:verticalAxis>
|
|
|
+ <mx:LinearAxis id="zxlva"/>
|
|
|
+ </mx:verticalAxis>
|
|
|
+ <mx:fill>
|
|
|
+ <s:SolidColor color="#F9847F"/>
|
|
|
+ </mx:fill>
|
|
|
+ </mx:ColumnSeries>
|
|
|
+ </mx:series>
|
|
|
+ </mx:ColumnChart>
|
|
|
+ </s:HGroup>
|
|
|
+ </s:VGroup>
|
|
|
+
|
|
|
+ <!-- **************************上部柱状统计图 end************************** -->
|
|
|
+
|
|
|
<s:Spacer height="10"/>
|
|
|
<s:HGroup width="100%" height="316">
|
|
|
- <whsptj:Sptj width="50%" height="100%"/>
|
|
|
+ <!--<whsptj:Sptj width="50%" height="100%"/>-->
|
|
|
+ <!-- **************************左下方列表统计 begin************************** -->
|
|
|
+ <s:VGroup width="100%">
|
|
|
+ <s:BorderContainer borderVisible="false" height="32" backgroundColor="#23A5B8" width="100%">
|
|
|
+ <s:layout>
|
|
|
+ <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle"/>
|
|
|
+ </s:layout>
|
|
|
+ <s:Label text="{null==szd?'全省':'本地'}危货审批统计" width="100%" fontFamily="宋体" fontSize="14" color="#ffffff" fontWeight="bold" paddingLeft="10"/>
|
|
|
+ <!--<cus:QComboBox width="100" comboxClass="TjTimeSelect" change="tj(event)" selectedIndex="0" text="{resourceManager.getString('select','tj.year')}"/>-->
|
|
|
+ <ui:DateTime id="start" width="180"/>
|
|
|
+ <s:Label text="~" width="100%" fontFamily="宋体" fontSize="14" color="#ffffff" fontWeight="bold" paddingLeft="10"/>
|
|
|
+ <ui:DateTime id="end" width="180"/>
|
|
|
+ <button:IconButton id="query" click="search()"
|
|
|
+ toolTip="{resourceManager.getString('common','btn.query')}"
|
|
|
+ type="query"/>
|
|
|
+ <s:Spacer width="5"/>
|
|
|
+ <!--<s:Image id="icon" buttonMode="true" width="30" height="30" click="doPrint(event)" source="resource/yjpt/list/print.png"/>-->
|
|
|
+ </s:BorderContainer>
|
|
|
+ <mx:DataGrid id="grid" width="100%" dataProvider="{list2}" rowCount="10" textAlign="center" verticalAlign="middle" sortableColumns="false">
|
|
|
+ <mx:columns>
|
|
|
+ <mx:DataGridColumn headerText="所在地" dataField="NAME" itemRenderer="com.jtgh.yjpt.common.component.renderer.TjDataGridItemRenderer" />
|
|
|
+ <mx:DataGridColumn headerText="作业附证审批" dataField="FZNUM" itemRenderer="com.jtgh.yjpt.common.component.renderer.TjDataGridItemRenderer"/>
|
|
|
+ <mx:DataGridColumn headerText="作业申报审批" dataField="ZYNUM" itemRenderer="com.jtgh.yjpt.common.component.renderer.TjDataGridItemRenderer"/>
|
|
|
+ <mx:DataGridColumn headerText="安全设施专项验收" dataField="SSNUM" itemRenderer="com.jtgh.yjpt.common.component.renderer.TjDataGridItemRenderer"/>
|
|
|
+ <mx:DataGridColumn headerText="建设项目安全条件审查" dataField="XMNUM" itemRenderer="com.jtgh.yjpt.common.component.renderer.TjDataGridItemRenderer"/>
|
|
|
+ </mx:columns>
|
|
|
+ </mx:DataGrid>
|
|
|
+ </s:VGroup>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- **************************左下方列表统计 end************************** -->
|
|
|
+
|
|
|
<whsptj:Zxlqs width="50%" height="100%"/>
|
|
|
</s:HGroup>
|
|
|
</s:VGroup>
|