引入文件
<link rel="stylesheet" href="<%=basePath%>static/css/layui.css">
<script type="text/javascript" src="<%=basePath%>static/js/jquery-2.1.4.js"></script>
<script src="<%=basePath%>static/js/layui.js"></script>
//先jquery 后 layui
静态页面
<body>
<form class="layui-form" action="">
<!-- 发票代码 -->
<div class="layui-form-item" style="display: inline-block;">
<label class="layui-form-label">发票代码:</label>
<div class="layui-input-inline">
<input type="text" name="fpdm" placeholder="请输入发票代码" autocomplete="off" class="layui-input">
</div>
</div>
<!-- 发票号码 -->
<div class="layui-form-item" style="display: inline-block;">
<label class="layui-form-label">发票号码:</label>
<div class="layui-input-inline">
<input type="text" name="fphm" placeholder="请输入发票号码" autocomplete="off" class="layui-input">
</div>
</div>
<!-- 时间范围选择器 -->
<div class="layui-form-item" style="display: inline-block;">
<label class="layui-form-label">开票日期:</label>
<div class="layui-input-inline">
<input type="text" name="dateCheck" class="layui-input" id="dateCheck" placeholder="请选择开票日期" autocomplete="off">
</div>
</div>
<!-- 销方税号 -->
<div class="layui-form-item" style="display: inline-block;">
<label class="layui-form-label">销方税号:</label>
<div class="layui-input-inline">
<input type="text" name="xfsh" placeholder="请输入销方税号" autocomplete="off" class="layui-input">
</div>
</div>
<!-- 是否预勾选 -->
<div class="layui-form-item">
<label class="layui-form-label" style="width:100px;">是否预勾选:</label>
<div class="layui-input-block">
<input type="radio" name="sfgx" value="1" title="全部" checked>
<input type="radio" name="sfgx" value="2" title="已勾选">
<input type="radio" name="sfgx" value="3" title="未勾选">
</div>
</div>
<!-- 提交按钮 -->
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formSearch" id="formSearchBtn">搜索</button>
<button type="reset" class="layui-btn layui-btn-primary" onclick="resetSearch()" id="resetSearchBtn">重置</button>
</div>
</div>
</form>
<!-- 列表 -->
<table class="layui-hide" id="fpList" lay-filter="test"></table>
<!-- 按钮 -->
<button class="layui-btn layui-btn-lg" id="baocunYgx">保存预勾选</button>
<button data-method="notice" class="layui-btn layui-btn-lg" id="qudingGx">确定勾选</button>
</body>
弹出框
加载完成就弹出
<script>
layui.use('layer',
function() {
var $ = layui.jquery,
layer = layui.layer;
layer.ready(function() {
type: 1,
title: ['标题', 'font-size:18px;'], //标题栏
closeBtn: false,
area: '400px' ,//宽度
offset: '30vh', //高度
id: 'selectGs' ,//设定一个id,防止重复弹出
btn: ['确定'] ,//按钮
btnAlign: 'c',
moveType: 1, //拖拽模式,0或者1
content: '', //弹出内容
success: function(layero) {
var btn = layero.find('.layui-layer-btn');
btn.find('.layui-layer-btn0').click(function() {
//点击确定
});
}
});
});
});
</script>
普通弹出框
layer.open({
type: 1,
title: ['自动确认勾选提示', 'font-size:18px;'] //标题栏
,
closeBtn: false,
area: '400px;',
shade: 0.3,
id: 'Ts' //设定一个id,防止重复弹出
,
btn: ['确定'],
offset: '30vh',
btnAlign: 'c',
moveType: 1 //拖拽模式,0或者1,
content: '',//弹出内容
success: function(layero) {
var btn = layero.find('.layui-layer-btn');
btn.find('.layui-layer-btn0').click(function() {
//点击确定
});
}
});
列表
列表的渲染
前台HTML代码
<!-- 列表 -->
<table class="layui-hide" id="fpList" lay-filter="test"></table>
前台Js代码
//通过返回值进行判断,修改列表显示数据
<script type="text/html" id="SLtemp">
{{# if(d.SL == null || d.SL === ''){ }}
0.00
{{# }else { }}
{{ d.SL }}
{{# } }}
</script>
<script type="text/html" id="SPBMtemp">
{{# if(d.SPBM == null || d.SPBM === ''){ }}
非ETC电子发票
{{# }else{ }}
{{# if(d.GXZT == null || d.GXZT === ''){ }}
<span style="color:green">ETC发票</span>【<span style="color:red">请到省国税局网站认证</span>】
{{# }else{ }}
<span style="color:green">ETC发票</span>【<span style="color:blue">已到省国税局网站认证</span>】
{{# } }}
{{# } }}
</script>
//*******************渲染列表********************
<script>
var table = null;
var laydate = null;
var tableIns = null;
layui.use('table',
function() {
table = layui.table;
tableIns = table.render({
text: {
none: '暂无相关数据' //默认:无数据。注:该属性为 layui 2.2.5 开始新增
},
skin: 'line', //行边框风格
even: true, //开启隔行背景
elem: '#fpList',
url: '<%=basePath%>/pc/gouxuanList.do',//数据来源请求
cols: [[{//列
type: 'checkbox'//开启复选框
},
{ field: 'FPHM',width: 140,title: '发票号码', align: 'center',sort: true},
{ field: 'FPDM',width: 180,title: '发票代码',align: 'center'},
{ field: 'SPBM',width: 280,title: '是否为ETC/是否认证',align: 'center',templet: '#SPBMtemp'},
{ field: 'XFSH',width: 200,title: '销方税号',align: 'center'},
{ field: 'XFMC',width: 280,title: '销方名称',align: 'center'},
{ field: 'GFSH',width: 200,title: '购方税号',align: 'center'},
{ field: 'JE',width: 120,title: '金额',align: 'center',sort: true},
{ field: 'SL',width: 120,title: '税率',align: 'center',templet: '#SLtemp',sort: true},
{ field: 'KPRQ',width: 120,title: '开票日期',align: 'center',sort: true},
]],
//*******************回调函数********************
done: function(res, curr, count) {
//*********************获取原本复选框选中的数据*******************
checkStatus1 = table.checkStatus('fpList');
console.log(checkStatus1.data);
//*********************隐藏列************************
/* var tables = $("#fpList").next().find(".layui-table-box");
tables.find("[data-field='fieldName']").css("display","none"); */
},
page: true,//开启分页
limits: [10, 20, 30, 40, 50]//分页的每页条数选择
});
});
</script>
后台代码
//查询数据
List<HashMap<String, Object>> fpList = fpService.getFpListFirst(pd);
//添加一个key 前台框架判断是不是选中
for(int i = 0;i<fpList.size();i++){
if(fpList.get(i).get("GXZT") != null && Integer.parseInt(fpList.get(i).get("GXZT").toString()) == 1){
fpList.get(i).put("LAY_CHECKED", true);
}else{
fpList.get(i).put("LAY_CHECKED", false);
}
}
//分页信息
PageInfo<HashMap<String, Object>> pageInfo = new PageInfo<>(fpList);
//传递参数
JsonJ jsonj = new JsonJ();
jsonj.setCount(pageInfo.getTotal());//前端需要的数据总条数
jsonj.setData(fpList);//前端需要的列表数据
return jsonj;
JsonJ Javabeen
public class JsonJ implements Serializable{
private static final long serialVersionUID = 189432980496211347L;
String code = "0"; //状态码 成功0 失败其他
String msg = ""; //返回信息
Long count = 0L;//数据条数
Object data = null;//列表数据
JsonJ属性解释
列表重载
//----------只有一个列表 不需要指定Id
tableIns.reload({
url: '<%=basePath%>/pc/gouxuanList.do',//重载数据请求路径
where: { //设定异步数据接口的额外参数,任意设
aaaaaa: 'xxx'
,bbb: 'yyy'
},
page: {
curr: 1 //重新从第 1 页开始
}
});
//----------多个列表 需要指定Id
table.reload('idTest', {
where: { //设定异步数据接口的额外参数,任意设
aaaaaa: 'xxx',
bbb: 'yyy'
},
page: {
curr: 1 //重新从第 1 页开始
}
});
隐藏一列
//*******************回调函数********************
done: function(res, curr, count){
//*********************获取原本选中的数据*******************
heckStatus1 = table.checkStatus('fpList');
console.log(checkStatus1.data);
//*********************隐藏列************************
var tables = $("#fpList").next().find(".layui-table-box");
tables.find("[data-field='etc']").css("display","none");
},
表单提交
//*******************提交搜索***********************
layui.use('form', function(){
var form = layui.form;
//监听提交
form.on('submit(formSearch)', function(data){
var data = JSON.stringify(data.field);
tableIns.reload({
url:'<%=basePath%>/pc/searchForm.do',
where: { //设定异步数据接口的额外参数,任意设
search: data
}
,page: {
curr: 1 //重新从第 1 页开始
}
});
layer.msg('加载中', {
time: 1500, //1s后自动关闭
});
return false;
});
});
网友评论