123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- package com.jtgh.yjpt.model
- {
- import com.jtgh.yjpt.common.BusinessContext;
- import com.jtgh.yjpt.common.Global;
- import com.jtgh.yjpt.common.component.ui.IFrame;
- import com.jtgh.yjpt.common.util.ModuleUtil;
- import com.jtgh.yjpt.common.util.Utils;
- import com.jtgh.yjpt.select.MenuTypeSelect;
- import com.jtgh.yjpt.select.YesNoSelect;
- import com.jtgh.yjpt.view.Workspace;
- import com.jtgh.yjpt.view.core.LoginPanel;
- import com.jtgh.yjpt.view.core.PassWordYxq;
- import com.jtgh.yjpt.vo.access.UserVo;
- import com.jtgh.yjpt.vo.common.CodeVo;
- import com.jtgh.yjpt.vo.sys.ButtonVo;
- import com.jtgh.yjpt.vo.sys.MenuVo;
-
- import flash.display.DisplayObject;
- import flash.events.Event;
- import flash.utils.Dictionary;
- import flash.utils.getDefinitionByName;
-
- import mx.core.FlexGlobals;
- import mx.core.UIComponent;
- import mx.core.mx_internal;
- import mx.events.FlexEvent;
- import mx.resources.ResourceManager;
-
- import spark.components.Group;
- use namespace mx_internal;
- public class SystemModel
- {
- //instance
- private static var thisModel:SystemModel;
- private static var listEntryMap:Dictionary;
- public static function init():void
- {
- if(!thisModel)
- {
- thisModel = new SystemModel;
- listEntryMap = new Dictionary(true);
- }
- }
- public static function getInstance():SystemModel
- {
- init();
- return thisModel;
- }
- /**************************
- * 配置相关
- */
- public static var iFrame:IFrame=null;
- public static function changeViewStack():void
- {
- if(null!=iFrame){
- iFrame.visible=false;
- }
- thisModel.mainLayout.viewStack.selectedIndex = (thisModel.mainLayout.viewStack.selectedIndex + 1) % 2;
- // 同步选中菜单
- // if(Global.selectedFirstMenuVo){
- // if(thisModel.mainLayout.mapView){
- // thisModel.mainLayout.mapView.selectFirstMenuItem();
- // }
- // }
- //不再同步。。取消高亮
- if(thisModel.mainLayout.mapView.selectedFirstMenuBtn)
- thisModel.mainLayout.mapView.selectedFirstMenuBtn.selected=false;
- Global.selectedSecondMenuVo=null;
- Global.selectedThridMenuVo=null;
- thisModel.mainLayout.mapView.secondMenu.removeAllElements();
- thisModel.mainLayout.mapView.thridMenuBar.visible=false;
- }
- private var parameterXML:XML = null;
- private function get configLoadOK():Boolean
- {
- return moduleGroupXML&¶meterXML;
- }
- public static function getConfigureParameter(modId:String):XML
- {
- var paramXML:XML = thisModel.parameterXML;
- if(!paramXML)
- return null;
- var nl:XMLList = paramXML..module.(@modId==modId);
- if (nl && nl.length() > 0)
- {
- var item:XML = nl[0];
- return item;
- }
- return null;
- }
- //----------------------------------------------------------------------
- //--------------------------------------------------------------
- // 模块组
- //--------------------------------------------------------------
- private var moduleGroupMap:Object = new Object;
- private var moduleGroupXML:XML = null;
- public static function getModuleGroupURL(modId:String):String
- {
- var swfUrl:String="";
- if(modId.indexOf("002")==0)
- swfUrl="module/YjglModule.swf"+"?version="+Global.version;
- if(modId.indexOf("003")==0)
- swfUrl="module/JyrxxModule.swf"+"?version="+Global.version;
- if(modId.indexOf("004")==0)
- swfUrl="module/WxhwspModule.swf"+"?version="+Global.version;
- if(modId.indexOf("005")==0)
- swfUrl="module/BaglModule.swf"+"?version="+Global.version;
- if(modId.indexOf("006")==0)
- swfUrl="module/ZcdcModule.swf"+"?version="+Global.version;
- if(modId.indexOf("008")==0)
- swfUrl="module/TaskModule.swf"+"?version="+Global.version;//任务管理
- if(modId.indexOf("010")==0)
- swfUrl="module/QlygModule.swf"+"?version="+Global.version;
- return swfUrl;
- }
- //----------------------------------------------------------------------
- //--设置
- private var settingXML:XML = null;
- /**************************
- * 界面相关对象以及方法
- */
- private var mainPane:Group;
- public function setMainPane(mp:Group):void
- {
- thisModel.mainPane = mp;
- }
- private var mainLayout:Workspace;
- public function getMainLayout():Workspace
- {
- return mainLayout;
- }
- public function setMainLayout(ml:Workspace):void
- {
- thisModel.mainLayout = ml;
- }
- /*********
- * 登陆成功
- */
- public static function doLoginSuccess(bc:BusinessContext):void
- {
- if(bc!=null)
- {
- Global.user = bc.getAttribute("user") as UserVo;
- Global.jsessionid = bc.getAttribute("jsessionid") as String;
- Global.szd = bc.getAttribute("szd") as CodeVo;
- Global.deployMode = bc.getAttribute("deployMode") as String;
- Global.deploySzd = bc.getAttribute("deploySzd") as CodeVo;
- Global.adminId = bc.getAttribute("adminId") as Number;
- Global.tbUserId = bc.getAttribute("tbUserId") as Number;
- Global.birtUrl = bc.getAttribute("birtUrl") as String;
- Global.initMenu = bc.getAttribute("initMenu") as MenuVo;
- // Global.MAP_URL=bc.getAttribute("mapUrl") as String;
- Global.OPEN_MAP=bc.getAttribute("openMap") as String;
- Global.upload_file_size=bc.getAttribute("uploadFileSize") as Number;
- Global.upload_image_size=bc.getAttribute("uploadImageSize") as Number;
- Global.btyyj=bc.getAttribute("btyyj") as String;
- Global.thyj=bc.getAttribute("thyj") as String;
- Global.version=bc.getAttribute("version") as String;
- //设置是否在危险品审批中使用签章功能的参数
- Global.iSignature=bc.getAttribute("iSignature") as String;
- }
- //界面,登陆界面换成主框架
- thisModel.mainPane.removeAllElements();
- thisModel.mainLayout = new Workspace;
- thisModel.mainPane.addElement(thisModel.mainLayout);
- thisModel.mainLayout.percentWidth=100;
- if(Global.user.sfjyr==YesNoSelect.YES )
- {
- // var initMenu:MenuVo = new MenuVo;
- Global.selectedFirstMenuVo=Global.initMenu.parent;
- Global.selectedSecondMenuVo=Global.initMenu;
- menuClick(Global.initMenu);
- }
- if(Global.user.pdwx){
- thisModel.mainLayout.addEventListener(FlexEvent.CREATION_COMPLETE,function(e:Event):void{
- var yxq:PassWordYxq= new PassWordYxq;
- Utils.popupWindow(ResourceManager.getInstance().getString("common","tip"),yxq,FlexGlobals.topLevelApplication as DisplayObject,null,300,150);
- });
- }
- }
- /*********
- * 登出
- */
- public static function doLogout(bc:BusinessContext):void
- {
- //登出时清空缓存
- Global.cleanData();
- if(bc!=null)
- Global.szd = bc.getAttribute("szd") as CodeVo;
- //界面,登陆界面换成主框架
- thisModel.mainPane.removeAllElements();
- thisModel.mainLayout = null;
- var loginUI:LoginPanel = new LoginPanel();
- loginUI.percentWidth = 100;
- loginUI.percentHeight = 100;
- thisModel.mainPane.addElement(loginUI);
- }
- /*********
- * 切换用户
- */
- public static function doSwitchUser(bc:BusinessContext):void
- {
- //切换用户时清空缓存
- Global.cleanData();
- doLoginSuccess(bc);
- }
- /*********
- * 点击菜单,确定modId,创建对应的视图
- */
- public static function menuClick(menuVo:MenuVo,... args:Array):void
- {
- Global.menuFlag=true;
- addTab(thisModel.mainLayout,menuVo,args);
- }
- /**************
- * 打开一个新窗口,加载模块的列表或者编辑界面
- * 触发条件可能是菜单点击、程序新开窗口
- * viewStack中第一页是地图应用,第二页是普通应用
- */
- private static function addTab(workspace:Workspace,menuVo:MenuVo,args:Array):void
- {
- if(!menuVo) return;
- //比较已打开的tab
- ModuleUtil.loadModule(menuVo.code,function():void{
- if(menuVo.type==MenuTypeSelect.MENU_TYPE_1||menuVo.parent==null)
- {
- if(menuVo.path!=null)
- {
- // 普通应用,先初始化列表页面
- workspace.viewStack.selectedIndex=1;
- var cls:Class = getDefinitionByName(menuVo.path) as Class;
- var ui:Object = new cls;
- // 初始化参数
- if(ui.hasOwnProperty("initParam"))
- ui.initParam = args;
- Global.menuCache[ui] = menuVo;
- for each(var b:ButtonVo in menuVo.buttons)
- {
- if(ui.hasOwnProperty(b.code))
- {
- ui[b.code].visible = true;
- ui[b.code].includeInLayout = true;
- Global.menuCache[ui[b.code]] = b;
- }
- }
- if(!workspace.workView.workContent)
- {
- workspace.workView.addEventListener(FlexEvent.CREATION_COMPLETE,function(e:Event):void{
- workspace.workView.workContent.pageName.text = menuVo.pageName;
- workspace.workView.workContent.content.addElement(UIComponent(ui));
- });
- }
- else
- {
- workspace.workView.workContent.content.removeAllElements();
- workspace.workView.workContent.pageName.text = menuVo.pageName;
- workspace.workView.workContent.content.addElement(UIComponent(ui));
- }
- // 同步选中菜单
- if(Global.selectedFirstMenuVo){
- if(workspace.workView.mainNav){
- workspace.workView.mainNav.selectFirstMenuItem();
- }
- }
- }
- }
- else if(menuVo.type==MenuTypeSelect.MENU_TYPE_2)
- {
- // 地图应用,先初始化model
- workspace.viewStack.selectedIndex=0;
- Utils.getModelByName(menuVo.path);
- }
- });
- }
- }
- }
|