admin2.jsp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  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/jsts.min.js"></fb:script>
  26. <fb:script src="${base}/static/package/geo_server_context.js"></fb:script>
  27. <fb:script src="${base}/static/package/plough_land.js"></fb:script>
  28. <fb:script src="${base}/static/package/zsjc.js"></fb:script>
  29. <fb:script src="${base}/static/package/city.js"></fb:script>
  30. <fb:script src="${base}/static/package/cityland.js"></fb:script>
  31. <fb:script src="${base}/static/package/task_action.js"></fb:script>
  32. <fb:script src="${base}/static/package/style.js"></fb:script>
  33. <fb:script src="${base}/static/package/publish_task_action.js"></fb:script>
  34. <fb:script type="text/javascript">
  35. <script>
  36. 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");
  37. ol.proj.proj4.register(proj4);
  38. let geoServerContext = null
  39. var popup = null;
  40. var popup2 = null;
  41. var currentPicker = null;
  42. var wmtsData = {'vector_wmts':${vector_wmts},'img_wmts':${img_wmts},'qyz':${qyz},'qysdcj':${qysdcj},'ext1':${ext1 == "" ? "{}" : ext1}
  43. ,'ext2':${ext2 == "" ? "{}" : ext2}
  44. }
  45. var cropTypes = {}
  46. for(let cropType of ${cropTypes}){
  47. cropTypes[cropType.id] = cropType.name
  48. }
  49. let cropPeriods = {}
  50. for(let cropPeriod of ${cropPeriods}){
  51. cropPeriods[cropPeriod.id] = cropPeriod.name
  52. }
  53. console.log(cropTypes)
  54. var map,view1,tool,overLay;
  55. var gjson = new ol.format.GeoJSON()
  56. var leftIframeObj = adm2.leftIframeObj,landObj = adm2.landObj, kcObj = adm2.kcObj;
  57. projection = ol.proj.get("EPSG:4326");
  58. layui.use([ 'tool', 'form', 'table','city'], function() {
  59. var form = layui.form;
  60. tool = layui.tool;
  61. var city = layui.city
  62. var target = "map"
  63. view1 = new ol.View({
  64. center: [113.303138,23.101339],
  65. projection: projection,
  66. zoom: 15
  67. })
  68. map = new ol.Map({
  69. view: view1,
  70. target: target
  71. });
  72. geoServerContext = new GeoServerContext({currentMap: map,currentView: view1,projection: projection},
  73. "${geoserver}")
  74. //默认打开的底图
  75. wmtsData["img_wmts"]["layerObj"] = crtLayerWMTS(wmtsData["img_wmts"],1,projection);
  76. wmtsData["vector_wmts"]["layerObj"] = crtLayerWMTS(wmtsData["vector_wmts"],1,projection);
  77. map.addLayer(wmtsData["img_wmts"]["layerObj"])
  78. map.addLayer(wmtsData["vector_wmts"]["layerObj"])
  79. var timeList = [
  80. {name:'第一次',time:'2019'},
  81. {name:'第二次',time:'2020'},
  82. {name:'第三次',time:'2021'},
  83. {name:'第四次',time:'2022'},
  84. {name:'第五次',time:'2023'},
  85. {name:'第六次',time:'2024'},
  86. {name:'第七次',time:'2025'},
  87. {name:'第八次',time:'2026'},
  88. ];//参数列表
  89. var param = {
  90. data: timeList,
  91. id: 'cxTime',
  92. width: '150px',
  93. index: 0
  94. }
  95. new oTimeAxios(param);
  96. var setting = {
  97. data: {
  98. simpleData: {
  99. enable: true
  100. }
  101. },
  102. callback:{
  103. onClick(e, treeId, treeNode){
  104. if(treeNode.level == 0){
  105. if (treeNode.open) {
  106. zTree.expandNode(treeNode, false);
  107. }else{
  108. zTree.expandNode(treeNode, true);
  109. }
  110. }
  111. let action;
  112. if(treeNode.Action){
  113. action = geoServerContext.createAction(treeNode.id, treeNode.Action, treeNode)
  114. geoServerContext.stopActions(treeNode.id)
  115. action.start()
  116. }
  117. }
  118. }
  119. };
  120. var zNodes =[
  121. { id:1, pId:0, name:"耕地地块",icon :"${base}/static/images/cloudy20x20.png", Action: CityLandAction},
  122. <%--{ id:2, pId:0, name:"作物类型", icon :"${base}/static/images/cloudy20x20.png"},--%>
  123. <%--{ id:21, pId:2, name:"种植结构",icon :"${base}/static/images/tree-point.png", Action: QyzAction},--%>
  124. <%--{ id:22, pId:2, name:"水稻",icon :"${base}/static/images/tree-point.png"},--%>
  125. <%--{ id:23, pId:2, name:"油菜",icon :"${base}/static/images/tree-point.png"},--%>
  126. <%--{ id:24, pId:2, name:"玉米",icon :"${base}/static/images/tree-point.png"},--%>
  127. <%--{ id:25, pId:2, name:"柑橘",icon :"${base}/static/images/tree-point.png"},--%>
  128. <%--{ id:3, pId:0, name:"任务管理",icon :"${base}/static/images/cloudy20x20.png",open:true},--%>
  129. <%--{ id:31, pId:3, status:1, name:"已发布的",icon :"${base}/static/images/cloudy20x20.png", Action:TaskLandAction},--%>
  130. <%--{ id:32, pId:3, status:2, name:"已接受的",icon :"${base}/static/images/cloudy20x20.png", Action:TaskLandAction},--%>
  131. <%--{ id:33, pId:3, status:3, name:"已完成的",icon :"${base}/static/images/cloudy20x20.png", Action:TaskLandAction},--%>
  132. { id:34, pId:0, name:"批量发布",icon :"${base}/static/images/cloudy20x20.png", Action: PublishTaskAction},
  133. { id:4, pId:0, name:"批量下载",icon :"${base}/static/images/cloudy20x20.png", Action: PublishTaskAction},
  134. <%--{ id:5, pId:0, name:"农业灾害风险",icon :"${base}/static/images/cloudy20x20.png"},--%>
  135. <%--{ id:6, pId:0, name:"土壤要素",icon :"${base}/static/images/cloudy20x20.png"},--%>
  136. <%--{ id:7, pId:0, name:"适应性评估",icon :"${base}/static/images/cloudy20x20.png"}--%>
  137. ];
  138. var zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  139. // 城市赋值
  140. currentPicker = new city("#city-picker", {
  141. getValListener: function(item){
  142. let landAction = geoServerContext.actions["1"]
  143. let cityAction = geoServerContext.actions["3"]
  144. if(cityAction){
  145. cityAction.fit(item.code,function(){
  146. if(landAction){
  147. landAction.obj.visibleWMTS([])
  148. }
  149. })
  150. }
  151. }});
  152. geoServerContext.createAction("3", CityAction).start();
  153. $("#gray-shade").hide()
  154. });
  155. </script>
  156. </fb:script>
  157. <fb:layout>
  158. <link href="${base}/static/css/ol.css" rel="stylesheet"/>
  159. <link href="${base}/static/css/admin2.css" rel="stylesheet"/>
  160. <link href="${base}/static/ol-ext/ol-ext.css" rel="stylesheet"/>
  161. <link href="${base}/static/timeaxis/timeAxis.css" rel="stylesheet"/>
  162. <!-- 底部地图 -->
  163. <div id="map" class="bottom-map">
  164. <div class="head-box no-events">
  165. <div class="box-left">
  166. <div class="label-bg general-font1 date"><img height="25" width="25" src="${base}/static/images/cloudy1.png" />星期六 2022/08/20</div>
  167. </div>
  168. <div class="box-center">
  169. <h1 class="general-font2 inline">广东省</h1><h3 class="general-font1 inline">农业专题信息一张图</h3>
  170. </div>
  171. <div class="box-right">
  172. <div class="label-bg general-font1 logout-info">
  173. <img height="25" width="25" src="${base}/static/images/boy-2.png" />
  174. ${user.nickname},
  175. <a class="yse-events" href="${base}/logout">退出</a>
  176. </div>
  177. </div>
  178. </div>
  179. <div class="timeline-box no-events">
  180. <div class="cx-time-main" id="cxTime"></div>
  181. </div>
  182. <div id="popup" class="ol-popup">
  183. <a href="#" id="popup-closer" class="ol-popup-closer"></a>
  184. <div id="popup-title" class="popup-title"></div>
  185. <div id="popup-content" class="popup-context" ></div>
  186. </div>
  187. </div>
  188. <!-- 底部地图 -->
  189. <!-- 背景层 -->
  190. <div id="backdrop-layer" class="backdrop-layer no-events">
  191. </div>
  192. <!-- 背景层 -->
  193. <!-- 左边层 -->
  194. <div id="left-layer" class="left-layer no-events">
  195. <ul id="treeDemo" class="ztree no-events"></ul>
  196. <div id="search-box" class="search-box">
  197. <div id="select-region" class="select-region yse-events">
  198. <input placeholder="全境" id="city-picker" readonly type="text">
  199. </div>
  200. </div>
  201. </div>
  202. <!-- 左边层 -->
  203. <!-- 右下角层 -->
  204. <div id="right-bottom-box" class="right-bottom-box no-events">
  205. <div id="coord-box"></div>
  206. <div id="cutline" class="cutline">
  207. <div class="cutline-close"><a href="#" class="yse-events">x</a></div>
  208. <div class="cutline-title">图例</div>
  209. <div id="cutline-items" class="cutline-items">
  210. </div>
  211. </div>
  212. </div>
  213. <!-- 右下角层 -->
  214. <!-- 灰色遮罩 -->
  215. <div id="gray-shade" class="gray-shade">
  216. </div>
  217. <!-- 灰色遮罩 -->
  218. <link href="${base}/static/js/ztree/css/demo.css" rel="stylesheet"/>
  219. </fb:layout>
  220. </fb:ui>