表数据
姓名 | 金额 | 项目名 | 发放日期 | 类别 |
张三 | 1 | 项目1 | 2020/02/02 | 金额 |
李四 | 2 | 项目1 | 2020/02/02 | 金额 |
合计 | 3 | 项目1 | 2020/02/02 | 合计 |
按项目名、发放日期分组
SELECT * from 表名 where
类别 = #{类别,jdbcType=VARCHAR}
<if test='类别 != null and 类别 != "" and 类别 == "奖金"'>
<!-- 子页面查询条件一一对应 -->
<if test='姓名 != null and 姓名 != ""'>
AND 姓名 = #{姓名,jdbcType=VARCHAR}
</if>
<if test='部门 != null and 部门 != ""'>
AND 部门 = #{部门,jdbcType=VARCHAR}
</if>
</if>
and 项目名||发放日期 in
(SELECT 项目名||发放日期 from 表名
<!-- 父页面查询条件 -->
WHERE 字段...(不能包含【类别】字段)='');
页面跳转
@GetMapping("/displayDeductMoneyDetailPage")
public ModelAndView displayDeductMoneyDetailPage(Model model,String 项目名,String 发放日期) {
if (StrUtil.isBlank(项目名)||StrUtil.isBlank(type2)) {
model.addAttribute("类别", "合计");
}else {
model.addAttribute("类别", "金额");
}
return new ModelAndView("表格分页html");
}
分页接口
@PostMapping("/分页接口")
public Object 分页接口(Integer pageNo, Integer pageSize, String orderBy, 实体类) {
PageHelper.startPage(pageNo, pageSize, orderBy);
List<?> list = service.分页(实体类);
return new Page<>(list);
}
页面
{
header: '操作',
name: '显示明细',
align: "center",
sortable: false,
formatter: function (val, obj, row, act) {
return '<button onclick="show(\'' + row.项目名+ '\',\'' + row.发放日期+ '\')">显示明细</button>';
}
},
gridComplete:function(){
if ('${类别}' == '合计') {
//表格 隐藏列
$("#dataGrid").dataGrid('hideCol', '姓名');
} else if ('${类别}' == '金额') {
//表格 隐藏列
$("#dataGrid").dataGrid('hideCol', '显示明细');
$("#dataGrid").dataGrid('hideCol', '操作');
//功能按钮 隐藏
$("#xxx").hide();
//查询条件 隐藏
$("#xxx").parents('div[class="form-group"]').hide();
}
}
function show(type1, type2) {
layui.layer.open({
anim: false,
isOutAnim: false,
title: false,
closeBtn: true,
shadeClose: false,
skin: 'demo-class',
type: 2,
area: ['97%', '90%'],
content: '分页接口?项目名=' + 项目名+ '&发放日期=' + 发放日期,
btn: false
});
}