admin2.jsp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <%@ page language="java" contentType="text/html;charset=UTF-8" trimDirectiveWhitespaces="true"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/fastboot" prefix="fb"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  4. <%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>
  5. <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
  6. <fb:ui src="base/main2">
  7. <fb:property name="title"></fb:property>
  8. <%-- <fb:script type="text/javascript" src='${base}/static/openlayers/proj4.js'></fb:script>--%>
  9. <fb:script type="text/javascript" src='${base}/static/openlayers/proj4.js'></fb:script>
  10. <fb:script type="text/javascript" src='${base}/static/openlayers/ol.js'></fb:script>
  11. <fb:script type="text/javascript" src="${base}/static/ol-ext/ol-ext.js"></fb:script>
  12. <fb:script type="text/javascript" src='${base}/static/js/tools/openLayers.js'></fb:script>
  13. <fb:script type="text/javascript" src='${base}/static/js/tools/styleFunction.js'></fb:script>
  14. <fb:script type="text/javascript" src='${base}/static/js/tools/costom.js'></fb:script>
  15. <fb:script type="text/javascript" src='${base}/static/js/tools/admin2.js'></fb:script>
  16. <fb:script type="text/javascript" src='${base}/static/js/tools/system.js'></fb:script>
  17. <fb:script type="text/javascript" src='${base}/static/js/tools/analyse.js'></fb:script>
  18. <fb:script type="text/javascript" src='${base}/static/timeaxis/timeAxis_new.js'></fb:script>
  19. <fb:css href="${base}/static/js/ztree/css/zTreeStyle/zTreeStyle.css"></fb:css>
  20. <fb:script src="${base}/static/js/ztree/js/jquery.ztree.core.js"></fb:script>
  21. <fb:script src="${base}/static/js/ztree/js/jquery.ztree.excheck.js"></fb:script>
  22. <fb:script src="${base}/static/js/ztree/js/jquery.ztree.exedit.js"></fb:script>
  23. <fb:css href="${base}/static/js/city-picker/city-picker.css"></fb:css>
  24. <fb:script src="${base}/static/js/city-picker/city-picker.data.js"></fb:script>
  25. <fb:script src="${base}/static/package/geo_server_context.js"></fb:script>
  26. <fb:script src="${base}/static/package/plough_land.js"></fb:script>
  27. <fb:script src="${base}/static/package/zsjc.js"></fb:script>
  28. <fb:script src="${base}/static/package/qyz.js"></fb:script>
  29. <fb:script src="${base}/static/package/cityland.js"></fb:script>
  30. <fb:script type="text/javascript">
  31. <script>
  32. proj4.defs("EPSG:4526","+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");
  33. ol.proj.proj4.register(proj4);
  34. let geoServerContext = null
  35. var popup = null;
  36. var popup2 = null;
  37. var currentPicker = null;
  38. var wmtsData = {'vector_wmts':${vector_wmts},'img_wmts':${img_wmts},'qyz':${qyz},'qysdcj':${qysdcj},'ext1':${ext1 == "" ? "{}" : ext1}
  39. ,'ext2':${ext2 == "" ? "{}" : ext2}
  40. }
  41. var map,view1,tool,overLay;
  42. var gjson = new ol.format.GeoJSON()
  43. var leftIframeObj = adm2.leftIframeObj,landObj = adm2.landObj, kcObj = adm2.kcObj;
  44. projection = ol.proj.get("EPSG:4326");
  45. layui.use([ 'tool', 'form', 'table','city'], function() {
  46. var form = layui.form;
  47. tool = layui.tool;
  48. var city = layui.city
  49. var target = "map"
  50. view1 = new ol.View({
  51. center: [117.0498, 23.4073],
  52. projection: projection,
  53. zoom: 18
  54. })
  55. map = new ol.Map({
  56. view: view1,
  57. target: target
  58. });
  59. geoServerContext = new GeoServerContext({currentMap: map,currentView: view1,projection: projection},
  60. "${geoserver}")
  61. //初始化鼠标位置控件
  62. var mousePositionControl = new ol.control.MousePosition({
  63. //样式类名称
  64. projection: projection,
  65. className:"coord-box",
  66. //投影坐标格式,显示小数点后边多少位
  67. coordinateFormat: ol.coordinate.createStringXY(4),
  68. //目标容器
  69. target:document.getElementById("coord-box")
  70. });
  71. //将鼠标位置坐标控件加入到map中
  72. map.addControl(mousePositionControl);
  73. //默认打开的底图
  74. wmtsData["img_wmts"]["layerObj"] = crtLayerWMTS(wmtsData["img_wmts"],1,projection);
  75. wmtsData["vector_wmts"]["layerObj"] = crtLayerWMTS(wmtsData["vector_wmts"],1,projection);
  76. map.addLayer(wmtsData["img_wmts"]["layerObj"])
  77. map.addLayer(wmtsData["vector_wmts"]["layerObj"])
  78. var timeList = [
  79. {name:'第一次',time:'2019'},
  80. {name:'第二次',time:'2020'},
  81. {name:'第三次',time:'2021'},
  82. {name:'第四次',time:'2022'},
  83. {name:'第五次',time:'2023'},
  84. {name:'第六次',time:'2024'},
  85. {name:'第七次',time:'2025'},
  86. {name:'第八次',time:'2026'},
  87. ];//参数列表
  88. var param = {
  89. data: timeList,
  90. id: 'cxTime',
  91. width: '150px',
  92. index: 0
  93. }
  94. new oTimeAxios(param);
  95. var setting = {
  96. data: {
  97. simpleData: {
  98. enable: true
  99. }
  100. },
  101. callback:{
  102. onClick(e, treeId, treeNode){
  103. if(treeNode.level == 0){
  104. if (treeNode.open) {
  105. zTree.expandNode(treeNode, false);
  106. }else{
  107. zTree.expandNode(treeNode, true);
  108. }
  109. }
  110. let action;
  111. if(treeNode.Action){
  112. action = geoServerContext.createAction(treeNode.id, treeNode.Action)
  113. geoServerContext.stopActions()
  114. action.start()
  115. }
  116. }
  117. }
  118. };
  119. var zNodes =[
  120. { id:1, pId:0, name:"耕地地块",icon :"${base}/static/images/cloudy20x20.png", Action: CityLandAction},
  121. { id:2, pId:0, name:"作物类型", icon :"${base}/static/images/cloudy20x20.png"},
  122. { id:21, pId:2, name:"种植结构",icon :"${base}/static/images/tree-point.png", Action: QyzAction},
  123. { id:22, pId:2, name:"水稻",icon :"${base}/static/images/tree-point.png"},
  124. { id:23, pId:2, name:"油菜",icon :"${base}/static/images/tree-point.png"},
  125. { id:24, pId:2, name:"玉米",icon :"${base}/static/images/tree-point.png"},
  126. { id:25, pId:2, name:"柑橘",icon :"${base}/static/images/tree-point.png"},
  127. { id:3, pId:0, name:"长势检测",icon :"${base}/static/images/cloudy20x20.png", Action: ZsjcAction},
  128. { id:4, pId:0, name:"产量预估",icon :"${base}/static/images/cloudy20x20.png"},
  129. { id:5, pId:0, name:"农业灾害风险",icon :"${base}/static/images/cloudy20x20.png"},
  130. { id:6, pId:0, name:"土壤要素",icon :"${base}/static/images/cloudy20x20.png"},
  131. { id:7, pId:0, name:"适应性评估",icon :"${base}/static/images/cloudy20x20.png"}
  132. ];
  133. var zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  134. // 城市赋值
  135. currentPicker = new city("#city-picker", {
  136. getValListener: function(item){
  137. if(geoServerContext.actions["3"]){
  138. geoServerContext.actions["3"].fit(item.code)
  139. }
  140. }});
  141. geoServerContext.createAction("3", QyzAction).start();
  142. $("#gray-shade").hide()
  143. });
  144. </script>
  145. </fb:script>
  146. <fb:layout>
  147. <link href="${base}/static/css/ol.css" rel="stylesheet"/>
  148. <link href="${base}/static/css/admin2.css" rel="stylesheet"/>
  149. <link href="${base}/static/ol-ext/ol-ext.css" rel="stylesheet"/>
  150. <link href="${base}/static/timeaxis/timeAxis.css" rel="stylesheet"/>
  151. <!-- 底部地图 -->
  152. <div id="map" class="bottom-map">
  153. <div class="head-box no-events">
  154. <div class="box-left">
  155. <div class="label-bg general-font1 date"><img height="25" width="25" src="${base}/static/images/cloudy1.png" />星期六 2022/08/20</div>
  156. </div>
  157. <div class="box-center">
  158. <h1 class="general-font2 inline">广东省</h1><h3 class="general-font1 inline">农业专题信息一张图</h3>
  159. </div>
  160. <div class="box-right">
  161. <div class="label-bg general-font1 logout-info">
  162. <img height="25" width="25" src="${base}/static/images/boy-2.png" />
  163. ${user.nickname},
  164. <a class="yse-events" href="${base}/logout">退出</a>
  165. </div>
  166. </div>
  167. </div>
  168. <div class="timeline-box no-events">
  169. <div class="cx-time-main" id="cxTime"></div>
  170. </div>
  171. <div id="popup" class="ol-popup">
  172. <a href="#" id="popup-closer" class="ol-popup-closer"></a>
  173. <div id="popup-title" class="popup-title"></div>
  174. <div id="popup-content" class="popup-context" ></div>
  175. </div>
  176. </div>
  177. <!-- 底部地图 -->
  178. <!-- 背景层 -->
  179. <div id="backdrop-layer" class="backdrop-layer no-events">
  180. </div>
  181. <!-- 背景层 -->
  182. <!-- 左边层 -->
  183. <div id="left-layer" class="left-layer no-events">
  184. <ul id="treeDemo" class="ztree no-events"></ul>
  185. <div id="search-box" class="search-box">
  186. <div id="select-region" class="select-region yse-events">
  187. <input placeholder="全境" id="city-picker" readonly type="text">
  188. </div>
  189. </div>
  190. </div>
  191. <!-- 左边层 -->
  192. <!-- 右下角层 -->
  193. <div id="right-bottom-box" class="right-bottom-box no-events">
  194. <div id="coord-box"></div>
  195. <div id="cutline" class="cutline">
  196. <div class="cutline-close"><a href="#" class="yse-events">x</a></div>
  197. <div class="cutline-title">图例</div>
  198. <div id="cutline-items" class="cutline-items">
  199. </div>
  200. </div>
  201. </div>
  202. <!-- 右下角层 -->
  203. <!-- 灰色遮罩 -->
  204. <div id="gray-shade" class="gray-shade">
  205. </div>
  206. <!-- 灰色遮罩 -->
  207. <link href="${base}/static/js/ztree/css/demo.css" rel="stylesheet"/>
  208. </fb:layout>
  209. </fb:ui>