处理样式问题

This commit is contained in:
wanggeng 2021-10-22 10:05:00 +08:00
parent 49f0a73cb4
commit ebdc524c48
6 changed files with 480 additions and 18 deletions

View File

@ -72,7 +72,7 @@ public class GridController extends DefaultBaseController {
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get/{gridId}")
public GridDTO get(@PathVariable("gridId") String gridId) {
return gridService.get(gridId);
return gridService.get(gridId, true, true);
}
@ApiOperation(value = "网格列表", notes = "网格列表接口")
@ -83,6 +83,14 @@ public class GridController extends DefaultBaseController {
return gridService.list(params);
}
@ApiOperation(value = "网格列表", notes = "网格列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list/area-code/{areaCode}")
public List<GridDTO> listByAreaCode(@PathVariable("areaCode") String areaCode) {
Map<String, Object> params = requestParams();
return gridService.listByAreaCode(areaCode, params);
}
@ApiOperation(value = "网格(排除查询网格)列表", notes = "网格(排除查询网格)列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list/except/{gridId}")
@ -107,4 +115,20 @@ public class GridController extends DefaultBaseController {
return gridService.listPage(page);
}
@ApiOperation(value = "网格分页列表", notes = "网格分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("listpage/area-code/{areaCode}")
public SuccessResultList<List<GridDTO>> listPageByAreaCode(@PathVariable("areaCode") String areaCode, ListPage page) {
Map<String, Object> params = requestParams();
page.setParams(params);
return gridService.listPageByAreaCode(areaCode, page);
}
}

View File

@ -39,4 +39,9 @@ public class GridRouteController {
return new ModelAndView("grid/grid/list");
}
@GetMapping("list-select")
public ModelAndView listSelect() {
return new ModelAndView("grid/grid/list-select");
}
}

View File

@ -85,6 +85,16 @@ public interface IGridService {
*/
GridDTO get(Map<String, Object> params);
/**
* 网格详情
*
* @param params
* @param withRelations 包含关联关系
* @param withPoints 包含点
* @return
*/
GridDTO get(Map<String, Object> params, boolean withRelations, boolean withPoints);
/**
* 网格详情
*
@ -93,6 +103,16 @@ public interface IGridService {
*/
GridDTO get(String gridId);
/**
* 网格详情
*
* @param gridId
* @param withRelations 包含关联关系
* @param withPoints 包含点
* @return
*/
GridDTO get(String gridId, boolean withRelations, boolean withPoints);
/**
* 网格详情
*
@ -117,6 +137,16 @@ public interface IGridService {
*/
List<GridDTO> list(Map<String, Object> params);
/**
* 网格列表
*
* @param params
* @param withRelations 包含关联关系
* @param withPoints 包含点
* @return
*/
List<GridDTO> list(Map<String, Object> params, boolean withRelations, boolean withPoints);
/**
* 网格列表
*
@ -125,6 +155,16 @@ public interface IGridService {
*/
List<GridDTO> list(List<String> gridIds);
/**
* 网格列表
*
* @param gridIds 网格ID
* @param withRelations 包含关联关系
* @param withPoints 包含点
* @return
*/
List<GridDTO> list(List<String> gridIds, boolean withRelations, boolean withPoints);
/**
* 获取网格列表
*
@ -166,6 +206,16 @@ public interface IGridService {
*/
SuccessResultList<List<GridDTO>> listPage(ListPage page);
/**
* 网格列表
*
* @param page
* @param withRelations 包含关联关系
* @param withPoints 包含点
* @return
*/
SuccessResultList<List<GridDTO>> listPage(ListPage page, boolean withRelations, boolean withPoints);
/**
* 网格排除查询网格
*
@ -174,4 +224,22 @@ public interface IGridService {
* @return
*/
List<GridDTO> listExcept(String gridId, Map<String, Object> params);
/**
* 网格列表
*
* @param areaCode
* @param params
* @return
*/
List<GridDTO> listByAreaCode(String areaCode, Map<String, Object> params);
/**
* 网格分页列表
*
* @param areaCode
* @param page
* @return
*/
SuccessResultList<List<GridDTO>> listPageByAreaCode(String areaCode, ListPage page);
}

View File

@ -159,8 +159,19 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
@Override
public GridDTO get(Map<String, Object> params) {
GridDTO gridDTO = gridDao.get(params);
setGridPoints(gridDTO);
setGridRelation(gridDTO);
return gridDTO;
}
@Override
public GridDTO get(Map<String, Object> params, boolean withRelations, boolean withPoints) {
GridDTO gridDTO = get(params);
if (withPoints) {
setGridPoints(gridDTO);
}
if (withRelations) {
setGridRelation(gridDTO);
}
return gridDTO;
}
@ -171,6 +182,13 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
return get(params);
}
@Override
public GridDTO get(String gridId, boolean withRelations, boolean withPoints) {
Map<String, Object> params = getHashMap(2);
params.put("gridId", gridId);
return get(params, withRelations, withPoints);
}
@Override
public GridPO gridPO(Map<String, Object> params) {
return gridDao.getPO(params);
@ -185,9 +203,18 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
@Override
public List<GridDTO> list(Map<String, Object> params) {
List<GridDTO> gridDTOs = ArrayListUtil.deepClone(gridDao.list(params), GridDTO.class);
setGridPoints(gridDTOs);
setGridRelation(gridDTOs);
return ArrayListUtil.deepClone(gridDao.list(params), GridDTO.class);
}
@Override
public List<GridDTO> list(Map<String, Object> params, boolean withRelations, boolean withPoints) {
List<GridDTO> gridDTOs = list(params);
if (withPoints) {
setGridPoints(gridDTOs);
}
if (withRelations) {
setGridRelation(gridDTOs);
}
return gridDTOs;
}
@ -198,6 +225,13 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
return list(params);
}
@Override
public List<GridDTO> list(List<String> gridIds, boolean withRelations, boolean withPoints) {
Map<String, Object> params = getHashMap(2);
params.put("gridIds", gridIds);
return list(params, true, true);
}
@Override
public List<GridDTO> listByRelationId(String relationId) throws SearchException {
if (StringUtils.isBlank(relationId)) {
@ -286,14 +320,22 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
@Override
public SuccessResultList<List<GridDTO>> listPage(ListPage page) {
PageHelper.startPage(page.getPage(), page.getRows());
List<GridDTO> gridDTOs = gridDao.list(page.getParams());
List<GridDTO> gridDTOs = list(page.getParams());
PageInfo<GridDTO> pageInfo = new PageInfo<>(gridDTOs);
return new SuccessResultList<>(gridDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override
public SuccessResultList<List<GridDTO>> listPage(ListPage page, boolean withRelations, boolean withPoints) {
PageHelper.startPage(page.getPage(), page.getRows());
List<GridDTO> gridDTOs = list(page.getParams(), withRelations, withPoints);
PageInfo<GridDTO> pageInfo = new PageInfo<>(gridDTOs);
return new SuccessResultList<>(gridDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
@Override
public List<GridDTO> listExcept(String gridId, Map<String, Object> params) {
List<GridDTO> gridDTOs = list(params);
List<GridDTO> gridDTOs = list(params, true, true);
for (GridDTO gridDTO : gridDTOs) {
if (StringUtils.equals(gridId, gridDTO.getGridId())) {
gridDTOs.remove(gridDTO);
@ -303,6 +345,18 @@ public class GridServiceImpl extends DefaultBaseService implements IGridService
return gridDTOs;
}
@Override
public List<GridDTO> listByAreaCode(String areaCode, Map<String, Object> params) {
params.put("areaCode", areaCode);
return list(params);
}
@Override
public SuccessResultList<List<GridDTO>> listPageByAreaCode(String areaCode, ListPage page) {
page.getParams().put("areaCode", areaCode);
return listPage(page);
}
/**
* 设置网格点
*

View File

@ -0,0 +1,320 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
<div class="layui-inline">
<input type="text" id="keywords" class="layui-input search-item search-item-width-100" placeholder="输入关键字">
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
<button type="button" id="confirm" class="layui-btn layui-btn-normal layui-btn-sm" style="float: right;">确定</button>
</div>
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
</div>
</div>
</div>
</div>
</div>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'table', 'laydate', 'common'], function() {
var $ = layui.$;
var $win = $(window);
var table = layui.table;
var admin = layui.admin;
var laydate = layui.laydate;
var common = layui.common;
var resizeTimeout = null;
var queryParams = top.restAjax.params(window.location.href);
var selectType = queryParams.selectType;
selectType = selectType ? selectType : 'radio'
var areaCode = queryParams.areaCode;
var cplng = queryParams.cplng ? queryParams.cplng : 111.848937;
var cplat = queryParams.cplat ? queryParams.cplat : 40.904095;
var oldSelectedGridList = top.dialog.dialogData.oldSelectedGridList ? top.dialog.dialogData.oldSelectedGridList : [];
// 清空上次选择
top.dialog.dialogData.newSelectedGridList = [];
var newSelectedGridList = [];
var tableData = [];
var tableUrl = 'api/grid/listpage/area-code/{areaCode}';
// 初始化选择列表
function initNewSelectedGridList() {
for(var i = 0, item; item = oldSelectedGridList[i++];) {
newSelectedGridList.push(item);
}
}
initNewSelectedGridList();
// 初始化表格
function initTable() {
$.extend(table, {config: {checkName: 'checked'}});
table.render({
elem: '#dataTable',
id: 'dataTable',
url: top.restAjax.path(tableUrl, [areaCode]),
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 90,
limit: 20,
limits: [20, 40, 60, 80, 100, 200],
toolbar: '#headerToolBar',
request: {
pageName: 'page',
limitName: 'rows'
},
cols: [
[
{type: selectType, fixed: 'left'},
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field: 'gridName', width: 120, title: '网格名称', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'gridDuty', width: 120, title: '职责', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'gridSummary', width: 180, title: '描述', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'gridCode', width: 180, title: '网格编码', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'areaName', width: 180, title: '地区名称', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'areaCode', width: 180, title: '地区编码', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'gridSquare', width: 180, title: '单元网格面积', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData + ' ㎡';
}
},
{field: 'gmtCreate', width: 180, title: '创建时间', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'gmtModified', width: 180, title: '修改时间', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'operation', width: 90, title: '操作', align:'center', fixed: 'right',
templet: function(row) {
return '<div class="layui-btn-group">' +
'<button class="layui-btn layui-btn-xs" lay-event="gridEvent">查看网格</button>' +
'</div>';
}
}
]
],
page: true,
parseData: function(data) {
for(var i = 0, item; item = data.rows[i++];) {
if(!newSelectedGridList) {
item.checked = false;
continue;
}
var isSelected = false;
for(var j = 0, jItem; jItem = newSelectedGridList[j++];) {
if(item.gridId === jItem.gridId) {
isSelected = true;
break;
}
}
if(isSelected) {
item.checked = true;
} else {
item.checked = false;
}
}
tableData = data.rows;
return {
'code': 0,
'msg': '',
'count': data.total,
'data': data.rows
};
}
});
}
// 重载表格
function reloadTable(currentPage) {
table.reload('dataTable', {
url: top.restAjax.path(tableUrl, [areaCode]),
where: {
keywords: $('#keywords').val(),
startTime: $('#startTime').val(),
endTime: $('#endTime').val()
},
page: {
curr: currentPage
},
height: $win.height() - 90,
});
}
initTable();
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
reloadTable();
}, 500);
});
// 事件 - 搜索
$(document).on('click', '#search', function() {
reloadTable(1);
});
function isGridSelected(gridId) {
for(var i = 0, item; item = newSelectedGridList[i++];) {
if(gridId == item.gridId) {
return true;
}
}
return false;
}
function addGridSelected(gridItem) {
if(isGridSelected(gridItem.gridId)) {
return;
}
newSelectedGridList.push({
gridId: gridItem.gridId,
gridName: gridItem.gridName,
gridCode: gridItem.gridCode
})
}
function removeGridSelected(gridItem) {
for(var i = 0, item; item = newSelectedGridList[i++];) {
if(gridItem.gridId == item.gridId) {
newSelectedGridList.splice(--i, 1);
i--;
return;
}
}
}
table.on('checkbox(dataTable)', function(obj) {
if(obj.type === 'all') {
if(obj.checked) {
// 添加全部
for(var i = 0, item; item = tableData[i++];) {
addGridSelected(item);
}
} else {
// 删除全部
for(var i = 0, item; item = tableData[i++];) {
removeGridSelected(item);
}
}
} else {
if(obj.checked) {
addGridSelected(obj.data);
} else {
removeGridSelected(obj.data);
}
}
});
table.on('radio(dataTable)', function(obj) {
newSelectedGridList.splice(0, newSelectedGridList.length);
addGridSelected(obj.data);
});
$(document).on('click', '#search', function() {
reloadTable(1);
});
$(document).on('click', '#confirm', function() {
top.dialog.dialogData.newSelectedGridList = newSelectedGridList;
top.dialog.closeBox();
});
table.on('tool(dataTable)', function(obj) {
var data = obj.data;
var layEvent = obj.event;
if(layEvent === 'gridEvent') {
top.dialog.open({
url: top.restAjax.path('route/grid/get?gridId={gridId}&cplng={cplng}&cplat={cplat}', [data.gridId, cplng, cplat]),
title: '【'+ data.gridName +'】网格',
width: '80%',
height: '80%',
onClose: function() {}
});
}
})
});
</script>
</body>
</html>

View File

@ -17,14 +17,6 @@
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
<div class="layui-inline">
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入关键字">
</div>
<button type="button" id="search" class="layui-btn layui-btn-sm">
<i class="fa fa-lg fa-search"></i> 搜索
</button>
</div>
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
<!-- 表头按钮组 -->
<script type="text/html" id="headerToolBar">
@ -66,7 +58,7 @@
id: 'dataTable',
url: top.restAjax.path(tableUrl, [gridId]),
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 60,
height: $win.height() - 20,
limit: 20,
limits: [20, 40, 60, 80, 100, 200],
toolbar: '#headerToolBar',
@ -119,7 +111,6 @@
page: {
curr: currentPage
},
height: $win.height() - 60,
});
}
// 删除