admin2.jsp 13 KB

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