header.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. /**
  2. * [ONEMAP.M.header]
  3. * @return {[object]}
  4. */
  5. define([
  6. 'html!templates/header',
  7. 'css!styles/header'
  8. ], function (tplLayout) {
  9. var jybzsj = new Date().getTime(),
  10. tn = 0,
  11. vtimeInterval = null,
  12. timeInterval = null;
  13. var modLocaSpace = {};
  14. function init() {
  15. setLayout();
  16. // setClock();
  17. initClock();
  18. if (vtimeInterval) {
  19. clearInterval(vtimeInterval);
  20. }
  21. vtimeInterval = setInterval(function () {
  22. initClock();
  23. }, 300000) //一分钟校验一次
  24. subscribe();
  25. bindEvents();
  26. };
  27. function setLayout() {
  28. $(tplLayout).appendTo($("#header"));
  29. $('#logo').html('<img src="' + onemapUrlConfig.systemLogoUrl + '" />');
  30. layoutResize();
  31. $(window).resize(function () {
  32. layoutResize();
  33. });
  34. $("#searchresult").mCustomScrollbar({
  35. scrollInertia: 500
  36. });
  37. //拖拽
  38. $("#diBanBen .popup-ct").dragmove($('#diBanBen'));
  39. }
  40. function layoutResize() {}
  41. /**
  42. * 添加系统logo
  43. */
  44. function setLogo() {}
  45. function bindEvents() {
  46. //全局搜索
  47. $("#searchInViewKey").on("input", function () {
  48. require(['modDir/tools/toolPlaceSearch'], function (toolPlaceSearch) {
  49. toolPlaceSearch.changSearchType('pac');
  50. toolPlaceSearch.init();
  51. });
  52. });
  53. //关闭左侧栏
  54. $("#searchInViewKey").on('focus', function () {
  55. ONEMAP.M.user.closeLeft();
  56. })
  57. //二维码
  58. $('#appQRCode').bind('mouseenter', function () {
  59. $('.appQRCodeContent').show();
  60. })
  61. $('#appQRCode').bind('mouseleave', function () {
  62. $('.appQRCodeContent').hide();
  63. })
  64. //开启目录
  65. $("#header .menu").bind('click', function () {
  66. if (!ONEMAP.D.isLoad) {
  67. ONEMAP.C.publisher.publish({
  68. type: 'warning',
  69. message: '用户未登录,请先登录。'
  70. }, 'noteBar::add');
  71. return false
  72. }
  73. if ($("#menu").hasClass("moveOut")) {
  74. $("#menu").animate({
  75. left: "-340px"
  76. }, 200)
  77. $("#menu").removeClass("moveOut");
  78. var layer = $("#layerControlMenu");
  79. var layerLeft = parseFloat($("#layerControlMenu").css("left"));
  80. if (layerLeft <= 0) {
  81. layer.animate({
  82. left: "-340px"
  83. }, 200)
  84. }
  85. } else {
  86. $("#menu").addClass("moveOut");
  87. $("#menu").animate({
  88. left: "0px"
  89. }, 200);
  90. var layer = $("#layerControlMenu");
  91. var layerLeft = parseFloat($("#layerControlMenu").css("left"));
  92. if (layerLeft <= 0) {
  93. layer.animate({
  94. left: "0px"
  95. }, 200)
  96. }
  97. $("#searchresult").hide();
  98. $('#header .h-center .close').click();
  99. }
  100. //关掉用户
  101. var userInfo = $("#userContent .userInfo");
  102. if (userInfo.hasClass("active")) {
  103. userInfo.removeClass("active");
  104. }
  105. //关掉打开的目录
  106. $("#menu li.menu-base").removeClass('active')
  107. })
  108. // $("#tiShiGengXin .closeTS").bind("click", function () {
  109. // $("#tiShiGengXin").hide();
  110. // })
  111. // $("#tiShiGengXin a").bind("click", function () {
  112. // $("#diBanBen").show();
  113. // })
  114. //加载WEB三维控件
  115. function DetectActiveX() {
  116. try {
  117. var comActiveX = new ActiveXObject("LocaSpacePlugin.LocaSpacePluginCtrl.1");
  118. } catch (e) {
  119. return false;
  120. }
  121. return true;
  122. }
  123. modLocaSpace.DetectActiveX = DetectActiveX;
  124. $("#diBanBen .tab-left li").bind("click", function () {
  125. $("#diBanBen .tab-left li").removeClass("active");
  126. $("#diBanBen .tab-right li").removeClass("active");
  127. if ($(this).hasClass("xp")) {
  128. $("#diBanBen li.xp").addClass("active");
  129. } else if ($(this).hasClass("win7")) {
  130. $("#diBanBen li.win7").addClass("active");
  131. } else if ($(this).hasClass("sanw")) {
  132. $("#diBanBen li.sanw").addClass("active");
  133. }
  134. })
  135. $("#diBanBen .close").bind("click", function () {
  136. $("#diBanBen").hide();
  137. })
  138. }
  139. function change23D(options) {
  140. if (options == '2d') {
  141. $('#header').removeClass('class3d');
  142. } else {
  143. $('#header').addClass('class3d');
  144. }
  145. }
  146. /**
  147. * 初始化作战时间
  148. */
  149. function initClock() {
  150. var sUrl = onemapUrlConfig.stalliteServer + "/NumEarth/time/get";
  151. // var sUrl= onemapUrlConfig.testServicesUrl+"/NumEarth/time/get";
  152. var t1 = new Date().getTime();
  153. if (!map23DConfig.clockLocal) {
  154. $.ajax({
  155. url: sUrl,
  156. type: 'GET',
  157. timeout: 2000,
  158. dataType: 'json',
  159. success: function (data) {
  160. jybzsj = parseInt(data.data) * 1000;
  161. setClock()
  162. },
  163. error: function () {
  164. jybzsj = new Date().getTime();
  165. setClock();
  166. }
  167. })
  168. } else {
  169. setClock();
  170. }
  171. }
  172. /**
  173. * 设置作战时间
  174. */
  175. function setClock() {
  176. if (timeInterval) {
  177. clearInterval(timeInterval)
  178. }
  179. timeInterval = setInterval(function () {
  180. newdata = new Date(jybzsj);
  181. newdata.setSeconds(newdata.getSeconds() + 1);
  182. jybzsj = newdata.getTime();
  183. year = newdata.getFullYear();
  184. month = (newdata.getMonth() + 1) < 10 ? '0' + (newdata.getMonth() + 1) : (newdata.getMonth() + 1);
  185. day = newdata.getDate() < 10 ? '0' + newdata.getDate() : newdata.getDate();
  186. var hour = newdata.getHours() < 10 ? '0' + newdata.getHours() : newdata.getHours();
  187. var mintes = newdata.getMinutes() < 10 ? '0' + newdata.getMinutes() : newdata.getMinutes();
  188. var second = newdata.getSeconds() < 10 ? '0' + newdata.getSeconds() : newdata.getSeconds();
  189. var hourF = hour.toString().substr(0, 1);
  190. var hourS = hour.toString().substr(1, 2);
  191. var mintesF = mintes.toString().substr(0, 1);
  192. var mintesS = mintes.toString().substr(1, 2);
  193. var secondF = second.toString().substr(0, 1);
  194. var secondS = second.toString().substr(1, 2);
  195. $("#standardTime .title .date").html(year + "-" + month + "-" + day);
  196. $("#standardTime .time").html("<span class='n" + hourF + "'></span><span class='n" + hourS + "'></span><span class='mao'></span><span class='n" + mintesF + "'></span><span class='n" + mintesS + "'></span><span class='mao'></span><span class='n" + secondF + "'></span><span class='n" + secondS + "'></span>");
  197. }, 1000);
  198. }
  199. function fullMap(option) {
  200. if (option) {
  201. $("#header").fadeOut('slow')
  202. } else {
  203. $("#header").fadeIn('slow')
  204. }
  205. }
  206. /**
  207. * 注册订阅
  208. * @type {Function}
  209. * 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
  210. * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
  211. */
  212. function subscribe() {
  213. ONEMAP.C.publisher.subscribe(change23D, 'change23D');
  214. }
  215. return ONEMAP.M.header = {
  216. init: init
  217. };
  218. })