IM12345_Web demo - 代码源于 商丘市12345项目

spotDist.js 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. // 百度地图API功能
  2. var map = new BMap.Map("allmap");
  3. var point = new BMap.Point(114.090325, 32.129247);
  4. var pointArray = new Array();
  5. var json_data;
  6. var opts = {
  7. width: 250, // 信息窗口宽度
  8. height: 80, // 信息窗口高度
  9. title: "", // 信息窗口标题
  10. enableMessage: true //设置允许信息窗发送短息
  11. };
  12. $(document).ready(function () {
  13. //日期
  14. laydate.render({
  15. elem: '#starttime', //指定元素
  16. range:'~'
  17. });
  18. QY();
  19. LY();
  20. throungh();
  21. tree();
  22. $(".Seach").click(function() {
  23. var time1=$('#starttime').val() && $('#starttime').val().split(' ~ ')[1];
  24. var time2=$('#starttime').val() && $('#starttime').val().split(' ~ ')[0];
  25. var aDate, oDate1, oDate2, iDays
  26. DateDiff(time1, time2)
  27. function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
  28. aDate = sDate1.split("-")
  29. oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
  30. aDate = sDate2.split("-")
  31. oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
  32. iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
  33. console.log(iDays);
  34. }
  35. if (iDays>=7) {
  36. layer.msg("您选择时间大于7天,数据无法加载");
  37. }else {
  38. throungh();
  39. }
  40. })
  41. });
  42. //搜索开始
  43. //区域
  44. function QY() {
  45. $("#sourcearea").empty();
  46. //$("#sourcearea").append('<option selected="selected" value="">请选择</option>');
  47. $.getJSON(huayi.config.callcenter_url + "Area/GetAreaListById", {
  48. "token": $.cookie("token"),
  49. }, function (data) {
  50. if (data.state.toLowerCase() == "success") {
  51. var content = data.data;
  52. $(content).each(function (i, n) {
  53. if (n.F_AreaName != '商丘市') {
  54. $("<option value='" + n.F_AreaId + "'>" + n.F_AreaName + "</option>").appendTo("#sourcearea");
  55. }
  56. })
  57. }
  58. })
  59. }
  60. //来源
  61. function LY() {
  62. $("#source").empty();
  63. $("#source").append('<option selected="selected" value="">请选择</option>');
  64. $.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById", {
  65. "token": $.cookie("token"),
  66. id: 1
  67. }, function (data) {
  68. if (data.state.toLowerCase() == "success") {
  69. var content = data.data;
  70. $(content).each(function (i, n) {
  71. $("<option value='" + n.F_ValueId + "'>" + n.F_Value + "</option>").appendTo("#source");
  72. })
  73. }
  74. })
  75. }
  76. //所属分类下拉
  77. $('.inps').focus(function () {
  78. $('.xlAdd').css('display', 'block')
  79. })
  80. $('.xl').click(function () {
  81. if ($('.xlAdd').css('display') == 'block') {
  82. $('.xlAdd').css('display', 'none')
  83. } else {
  84. $('.xlAdd').css('display', 'block')
  85. }
  86. })
  87. $('.addTree').mouseleave(function () {
  88. $(this).css('display', 'none')
  89. })
  90. //清除
  91. $(".Cleans ").click(function () {
  92. $('.inps').val("");
  93. $("#PID").val("");
  94. $("#Dpment").val("");
  95. })
  96. function tree() {
  97. $.get(huayi.config.callcenter_url + 'Department/GetDeptList', {
  98. "token": $.cookie("token"),
  99. // "pid": pid
  100. }, function (result) {
  101. result = $.parseJSON(result);
  102. $.fn.zTree.init($("#addTreeDemo"), setting1, result.data); //实例化树形图
  103. });
  104. }
  105. var setting1 = {
  106. data: {
  107. key: {
  108. name: "F_DeptName"
  109. },
  110. simpleData: {
  111. enable: true,
  112. idKey: "F_DeptId",
  113. pIdKey: "F_PartentId",
  114. rootPId: 0
  115. }
  116. },
  117. callback: {
  118. onClick: zTreeOnClick
  119. }
  120. };
  121. function zTreeOnClick(event, treeId, treeNode) {
  122. if (treeNode.level >= 2) {
  123. $('.inps').val(treeNode.F_DeptName);
  124. $("#PID").val(treeNode.F_DeptId);
  125. $("#Dpment").val(treeNode.F_DeptId);
  126. $(".Cleans").show();
  127. }
  128. };
  129. function Close() {
  130. $(".lyxz").removeClass("cx");
  131. if ($('audio').length > 0) {
  132. $('audio')[0].pause();
  133. }
  134. }
  135. function darptSearch() {
  136. $('.xlAdd').css('display', 'none');
  137. $(".selDpart1").css('display', 'block');
  138. depart();
  139. }
  140. $("#sponsor").on('click', 'li', function() {
  141. $(".selDpart1").css('display', 'none');
  142. $(".inps").val($(this).html());
  143. $("#Dpment").val($(this).attr("index"));
  144. $(".Cleans").show();
  145. })
  146. ///部门
  147. function depart() {
  148. $("#sponsor").empty();
  149. $.getJSON(huayi.config.callcenter_url + "Department/GetDeptListByDept", {
  150. "token": $.cookie("token"),
  151. dept: $('.inps').val(),
  152. }, function(data) {
  153. if(data.state.toLowerCase() == "success") {
  154. var content = data.data;
  155. $(content).each(function(i, n) {
  156. $("<li index='" + n.F_DeptId + "'>" + n.F_DeptName + "</li>").appendTo("#sponsor");
  157. })
  158. }
  159. })
  160. }
  161. function throungh() {
  162. debugger
  163. $.ajax({
  164. type: "get",
  165. url: huayi.config.callcenter_url + "WorkOrderReport/GetHotspotMap",
  166. async: true,
  167. dataType: 'json',
  168. data: {
  169. token: $.cookie("token"),
  170. start:$('#starttime').val() && $('#starttime').val().split(' ~ ')[0], //=开始时间
  171. end:$('#starttime').val() && $('#starttime').val().split(' ~ ')[1], //=结束时间
  172. deptid: $("#Dpment").val(),
  173. keyid:$("#key").val(),
  174. sourcearea:$('#sourceAreas').val(),
  175. source:$("#source").val()
  176. },
  177. success: function(result) {
  178. if(result.state.toLowerCase() == "success") {
  179. json_data = result.data;
  180. for(var i = 0; i < json_data.length; i++) {
  181. var marker = new BMap.Marker(new BMap.Point(json_data[i][0], json_data[i][1])); // 创建点
  182. map.addOverlay(marker); //增加点
  183. pointArray[i] = new BMap.Point(json_data[i][0], json_data[i][1]);
  184. var content = json_data[i][2];
  185. addClickHandler(content, marker);
  186. //让所有点在视野范围内
  187. map.setViewport(pointArray);
  188. }
  189. console.log(json_data)
  190. }
  191. }
  192. })
  193. }
  194. function mapLoad(){
  195. map.centerAndZoom(point, 15);
  196. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  197. }
  198. $('#sourcearea').change(function(obj) {
  199. if($('#sourcearea').val() == "") {
  200. alert("请选择省市区");
  201. return;
  202. }
  203. var address = '河南省商丘' + $('#sourcearea').find("option:selected").text();;
  204. //var address = '河南省商丘市睢阳区'
  205. if(address != "") {
  206. var city = '商丘市';
  207. // 创建地址解析器实例
  208. var myGeo = new BMap.Geocoder();
  209. myGeo.getPoint(address, function(point) {
  210. if(point) {
  211. //定位到区 ,级别显示12
  212. map.centerAndZoom(point, 12);
  213. //删除选点
  214. map.clearOverlays();
  215. for(var i = 0; i < json_data.length; i++) {
  216. var marker = new BMap.Marker(new BMap.Point(json_data[i][0], json_data[i][1])); // 创建点
  217. map.addOverlay(marker); //增加点
  218. pointArray[i] = new BMap.Point(json_data[i][0], json_data[i][1]);
  219. var content = json_data[i][2];
  220. addClickHandler(content, marker);
  221. }
  222. } else {
  223. // alert("您选择地址没有解析到结果!");
  224. }
  225. }, city);
  226. }
  227. });
  228. function addClickHandler(content, marker) {
  229. marker.addEventListener("click", function(e) {
  230. openInfo(content, e)
  231. });
  232. }
  233. function openInfo(content, e) {
  234. var p = e.target;
  235. var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
  236. var infoWindow = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
  237. map.openInfoWindow(infoWindow, point); //开启信息窗口
  238. }
  239. //移动到某一坐标点
  240. function to(x, y) {
  241. map.panTo(new BMap.Point(x, y));
  242. }