From ab9e93c67ca5d54e2f3aee5f561a6516697340ab Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Sun, 9 Jan 2022 15:42:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BD=91=E6=A0=BC=E7=BB=98?= =?UTF-8?q?=E5=88=B6=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/grid/GridController.java | 11 ++ .../route/grid/GridRouteController.java | 7 + .../module/map/service/grid/IGridService.java | 8 ++ .../service/grid/impl/GridServiceImpl.java | 6 + .../static/baidu-map/baidu-map-1.0.0.min.js | 7 +- .../templates/grid/grid/default/get.html | 14 +- .../templates/grid/grid/default/list.html | 18 ++- .../templates/grid/grid/default/save.html | 10 +- .../grid/grid/default/show-grid.html | 134 ++++++++++++++++++ .../templates/grid/grid/default/update.html | 16 ++- 10 files changed, 208 insertions(+), 23 deletions(-) create mode 100644 module-map/src/main/resources/templates/grid/grid/default/show-grid.html diff --git a/module-map/src/main/java/ink/wgink/module/map/controller/api/grid/GridController.java b/module-map/src/main/java/ink/wgink/module/map/controller/api/grid/GridController.java index 55607954..79bd378e 100644 --- a/module-map/src/main/java/ink/wgink/module/map/controller/api/grid/GridController.java +++ b/module-map/src/main/java/ink/wgink/module/map/controller/api/grid/GridController.java @@ -105,6 +105,17 @@ public class GridController extends DefaultBaseController { return gridService.listAllByAreaCode(areaCode, params); } + @ApiOperation(value = "全部网格列表", notes = "全部网格列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "areaCode", value = "地区编码", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list-all-with-point/area-code/{areaCode}") + public List listAllWithPointByAreaCode(@PathVariable("areaCode") String areaCode) { + Map params = requestParams(); + return gridService.listAllWithPointByAreaCode(areaCode, params); + } + @ApiOperation(value = "子网格列表", notes = "网格列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "areaCode", value = "地区编码", paramType = "path") diff --git a/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java b/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java index cc629d0d..c0f1bbdb 100644 --- a/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java +++ b/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java @@ -45,6 +45,13 @@ public class GridRouteController { return mv; } + @GetMapping("show-grid") + public ModelAndView showGrid() { + ModelAndView mv = new ModelAndView("grid/grid/default/show-grid"); + mv.addObject("baiduMapProperties", baiduMapProperties); + return mv; + } + @GetMapping("list") public ModelAndView list() { return new ModelAndView("grid/grid/default/list"); diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java index a1bcbb99..387fd4dc 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/IGridService.java @@ -268,4 +268,12 @@ public interface IGridService { * @return */ List listWithPointByRelationId(String relationId); + + /** + * 全部网格(带网格点)列表 + * @param areaCode + * @param params + * @return + */ + List listAllWithPointByAreaCode(String areaCode, Map params); } diff --git a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java index 623a0115..fbc027b5 100644 --- a/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java +++ b/module-map/src/main/java/ink/wgink/module/map/service/grid/impl/GridServiceImpl.java @@ -403,6 +403,12 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService return gridDTOs; } + @Override + public List listAllWithPointByAreaCode(String areaCode, Map params) { + params.put("areaCodeLike", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0')); + return list(params, false, true); + } + /** * 设置网格点 * diff --git a/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js b/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js index 44cf924b..61fba3bf 100644 --- a/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js +++ b/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js @@ -913,8 +913,9 @@ BaiduMap.prototype.setGridArray = function (gridArray) { setPolygon(grid); } } -BaiduMap.prototype.setBoundary = function(areaName, option) { +BaiduMap.prototype.setBoundary = function(areaName, option, callback) { if(!areaName) { + callback ? callback() : ''; return; } var self = this; @@ -929,8 +930,10 @@ BaiduMap.prototype.setBoundary = function(areaName, option) { strokeColor: option && option.strokeColor ? option.strokeColor : 'black', strokeWeight: option && option.strokeWeight ? option.strokeWeight : 2, fillColor: option && option.fillColor ? option.fillColor : 'white', - fillOpacity: option && option.fillOpacity ? option.fillOpacity : 0.01 + fillOpacity: option && option.fillOpacity ? option.fillOpacity : 0.01, }); //建立多边形覆盖物 self.map.addOverlay(ply); //添加覆盖物 + callback ? callback() : ''; }); + } \ No newline at end of file diff --git a/module-map/src/main/resources/templates/grid/grid/default/get.html b/module-map/src/main/resources/templates/grid/grid/default/get.html index 651c37bf..441720e6 100644 --- a/module-map/src/main/resources/templates/grid/grid/default/get.html +++ b/module-map/src/main/resources/templates/grid/grid/default/get.html @@ -121,12 +121,14 @@ function initData() { top.restAjax.get(top.restAjax.path('api/grid/get/{gridId}', [gridId]), {}, null, function(code, data) { initMap(function() { - // 背景层 - initGridBG(data.areaCode, function() { - // 网格层 - var grid = new BaiduMap.Grid(data.gridId, data.pointArray); - grid.setFillColor(data.fillColor); - baiduMap.setGridArray([grid]); + baiduMap.setBoundary([[${baiduMapProperties.boundary}]], null, function() { + // 背景层 + initGridBG(data.areaCode, function() { + // 网格层 + var grid = new BaiduMap.Grid(data.gridId, data.pointArray); + grid.setFillColor(data.fillColor); + baiduMap.setGridArray([grid]); + }); }); }); }, function (code, data) { diff --git a/module-map/src/main/resources/templates/grid/grid/default/list.html b/module-map/src/main/resources/templates/grid/grid/default/list.html index a37ceb12..1ff0d61f 100644 --- a/module-map/src/main/resources/templates/grid/grid/default/list.html +++ b/module-map/src/main/resources/templates/grid/grid/default/list.html @@ -20,9 +20,12 @@
- +
+ + +
@@ -243,6 +246,15 @@ $(document).on('click', '#search', function() { reloadTable(1); }); + $(document).on('click', '#showGrid', function() { + top.dialog.open({ + url: top.restAjax.path('route/grid/show-grid', []), + title: '查看网格', + width: '80%', + height: '80%', + onClose: function() {} + }); + }); // 事件 - 增删改 table.on('toolbar(dataTable)', function(obj) { var layEvent = obj.event; diff --git a/module-map/src/main/resources/templates/grid/grid/default/save.html b/module-map/src/main/resources/templates/grid/grid/default/save.html index cdc9ece1..389a9851 100644 --- a/module-map/src/main/resources/templates/grid/grid/default/save.html +++ b/module-map/src/main/resources/templates/grid/grid/default/save.html @@ -62,7 +62,7 @@
- +
@@ -248,9 +248,9 @@ height: '225px', onClose: function() { var selectedAreaArray = top.dialog.dialogData.selectedAreaArray; - var areaCode = ''; - var areaName = ''; if(selectedAreaArray.length > 0) { + var areaCode = ''; + var areaName = ''; areaCode = selectedAreaArray[selectedAreaArray.length - 1].areaCode; for(var i = 0, item; item = selectedAreaArray[i++];) { if(areaName) { @@ -259,9 +259,9 @@ areaName += item.areaName; } initGridBG(areaCode); + $('#areaCode').val(areaCode); + $('#areaName').val(areaName); } - $('#areaCode').val(areaCode); - $('#areaName').val(areaName); } }) }); diff --git a/module-map/src/main/resources/templates/grid/grid/default/show-grid.html b/module-map/src/main/resources/templates/grid/grid/default/show-grid.html new file mode 100644 index 00000000..6719fea9 --- /dev/null +++ b/module-map/src/main/resources/templates/grid/grid/default/show-grid.html @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/module-map/src/main/resources/templates/grid/grid/default/update.html b/module-map/src/main/resources/templates/grid/grid/default/update.html index 5ea2d617..c1097913 100644 --- a/module-map/src/main/resources/templates/grid/grid/default/update.html +++ b/module-map/src/main/resources/templates/grid/grid/default/update.html @@ -188,7 +188,6 @@ mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP], }); baiduMap.getMap().addControl(mapTypeControl); - baiduMap.setBoundary([[${baiduMapProperties.boundary}]]); baiduMap.setDefaultConfig(); baiduMap.initGridOption(); baiduMap.initGridOptionEvent(); @@ -215,12 +214,15 @@ initGridGroupSelect(data.gridGroupId); initMap(function() { - // 背景层 - initGridBG(data.areaCode, function() { - // 网格层 - var grid = new BaiduMap.Grid(data.gridId, data.pointArray); - grid.setFillColor(data.fillColor); - baiduMap.setGridArray([grid]); + // 边界层 + baiduMap.setBoundary([[${baiduMapProperties.boundary}]], null, function() { + // 背景层 + initGridBG(data.areaCode, function() { + // 网格层 + var grid = new BaiduMap.Grid(data.gridId, data.pointArray); + grid.setFillColor(data.fillColor); + baiduMap.setGridArray([grid]); + }); }); }); }, function (code, data) {