MWF.xDesktop.requireApp("Attendance","Explorer",null,false);MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xApplication.Attendance.AddressExplorer=new Class({Extends:MWF.xApplication.Attendance.Explorer,Implements:[Options,Events],initialize:function(t,e,i,n){this.setOptions(n);this.app=e;this.path="/x_component_Attendance/$AddressExplorer/";this.cssPath="/x_component_Attendance/$AddressExplorer/"+this.options.style+"/css.wcss";this._loadCss();this.actions=i;this.node=$(t);this.initData()},reload:function(){this.node.empty();this.load()},load:function(){this.loadToolbar();this.loadContentNode();this.loadContent();this.setNodeScroll()},destroy:function(){if(this.baiduMap){this.baiduMap.map.clearOverlays();this.elementContentNode.destroy()}this.node.empty();delete this},loadContent:function(t){this.elementContentNode.empty();this.actions.listWorkplace(function(t){t.data=t.data||[];this.wpContent=this.toolbarNode.getElements("[name=wpContent]")[0];this.createList(t.data);this.baiduMap=new MWF.xApplication.Attendance.AddressExplorer.BaiduMap(this.elementContentNode,this.app,this,{});this.baiduMap.load(t.data);this.setContentSize()}.bind(this))},reloadList:function(){this.actions.listWorkplace(function(t){this.wpContent.empty();this.createList(t.data||[])}.bind(this))},createList:function(t){this.wdList=new Element("div",{styles:this.css.wdList}).inject(this.wpContent);this.wdList.setStyle("width",this.toolbarNode.getSize().x-200+"px");t.each(function(t){var e=new Element("div",{styles:this.css.toolbarContentItem,text:t.placeName}).inject(this.wdList);e.addEvent("click",function(t){this.obj.baiduMap.gotoMarker(this.data);t.stopPropagation()}.bind({obj:this,data:t}))}.bind(this));this.arrow="up";if(this.wdList.getScrollSize().y>this.wpContent.getSize().y){this.wdList.addEvent("click",function(t){if(this.arrow!="down"){this.openList(t)}else{this.closeList(t)}}.bind(this));this.arrowNode=new Element("div.arrowNode",{styles:this.css.arrowNode}).inject(this.wpContent,"top");this.arrowNode.addEvents({mouseover:function(){this.arrowNode.setStyles(this.categoryArrow!="down"?this.css.arrowNode_over:this.css.arrowNode_down_over)}.bind(this),mouseout:function(){this.arrowNode.setStyles(this.categoryArrow!="down"?this.css.arrowNode:this.css.arrowNode_down)}.bind(this),click:function(t){if(this.arrow!="down"){this.openList(t)}else{this.closeList(t)}}.bind(this)})}},_setContentSize:function(){this.wdList.setStyle("width",this.toolbarNode.getSize().x-200+"px")},openList:function(t){this.arrow="down";this.arrowNode.setStyle("display","none");this.wdList.setStyles(this.css.wdList_all);window.closeList=this.closeList.bind(this);this.app.content.addEvent("click",window.closeList);t.stopPropagation()},closeList:function(t){this.arrow="up";this.arrowNode.setStyle("display","");this.wdList.setStyles(this.css.wdList);this.app.content.removeEvent("click",window.closeList);t.stopPropagation()},createDocument:function(){this.baiduMap.createMarker()}});MWF.xApplication.Attendance.AddressExplorer.BaiduMap=new Class({Implements:[Options,Events],options:{style:"default"},initialize:function(t,e,i,n){this.container=t;this.explorer=i;this.app=e;this.actions=i.actions;this.setOptions(n);this.markers={};this.markerInfoWindows={}},load:function(t){this.markerData=t;this.mapNode=new Element("div",{styles:{width:"100%",height:"99%"}}).inject(this.container);setTimeout(function(){this.loadResource()}.bind(this),200)},loadResource:function(t){window.BMap_loadScriptTime=(new Date).getTime();var e="http://api.map.baidu.com/getscript?v=2.0&ak=Qac4WmBvHXiC87z3HjtRrbotCE3sC9Zg&services=&t=20161219171637";if(!window.BDMapApiLoaded){COMMON.AjaxModule.loadDom(e,function(){window.BDMapApiLoaded=true;if(!window.BDMarkerToolLoaded){COMMON.AjaxModule.load("/x_component_Attendance/BDMarkerTool.js",function(){window.BDMarkerToolLoaded=true;this._loadMap();if(t)t()}.bind(this))}else{this._loadMap();if(t)t()}}.bind(this))}else{this._loadMap();if(t)t()}},_loadMap:function(){if(navigator.geolocation){try{navigator.geolocation.getCurrentPosition(this.loadMap.bind(this),this.loadMap.bind(this))}catch(t){this.loadMap()}}else{this.loadMap()}},loadMap:function(t){this.createMap(t);this.addMapControl();if(this.markerData){this.addMarkerArray(this.markerData)}},createMap:function(t){var e=null;if(t&&t.coords){e=new BMap.Point(t.coords.longitude,t.coords.latitude)}if(!e){if(this.markerData&&this.markerData.length>0){var i=this.markerData[0];e=new BMap.Point(i.longitude,i.latitude)}else{e=new BMap.Point(116.404,39.915)}}var n=this.map=new BMap.Map(this.mapNode);n.centerAndZoom(e,12);n.enableScrollWheelZoom(true)},addMapControl:function(){var t=new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_RIGHT,type:BMAP_NAVIGATION_CONTROL_LARGE});this.map.addControl(t);var e=new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});this.map.addControl(e);var i=new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});this.map.addControl(i);this.addCityListControl()},addCityListControl:function(){this.map.addControl(new BMap.CityListControl({anchor:BMAP_ANCHOR_TOP_LEFT,offset:new BMap.Size(10,20),onChangeBefore:function(){},onChangeAfter:function(){}}))},getInfoWindowHtml:function(t){t=t||{};var e=[];e.push("
");e.push('');e.push(" ");e.push(' ');e.push(' ');e.push('\t ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push('\t ');e.push(" ");e.push(" ");e.push(' ');e.push(' ');e.push('\t ');e.push(" ");e.push(" ");e.push(' ');e.push(' ");e.push('\t ');e.push(" ");e.push(" ");e.push('\t ");e.push(" ");e.push("
名称:*
别名:
范围:
备注:
');e.push('   ');if(t.id){e.push('\t\t   ')}e.push('\t\t ');e.push("\t
");return e.join("")},createMarker:function(){var i=this;var t=new BMapLib.MarkerTool(this.map,{autoClose:true});t.addEventListener("markend",function(t){var e=new BMap.InfoWindow(this.getInfoWindowHtml(),{offset:new BMap.Size(0,-10)});e.addEventListener("open",function(){var t=document.id("markerTable");var e=t.getElements("[id='submitPlace']");e.addEvent("click",function(){this.obj.ok(this.mkr,this.table)}.bind({obj:this,mkr:n,table:t}));var i=t.getElements("[id='cancelPlace']");i.addEvent("click",function(){this.obj.cancel(this.mkr,this.table)}.bind({obj:this,mkr:n,table:t}))}.bind(i));var n=t.marker;n.addEventListener("click",function(){this.openInfoWindow(e)});n.addEventListener("dragend",function(){this.openInfoWindow(e)});n.openInfoWindow(e)}.bind(this));t.open();var e=BMapLib.MarkerTool.SYS_ICONS[14];t.setIcon(e)},addMarkerArray:function(t){for(var e=0;e