Pear-Admin-Layui/Pear Admin v 1.0/views/plugin/table.html

168 lines
4.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数据表格</title>
<link href="../../assets/css/pearone.css" rel="stylesheet" />
<link href="../../component/layui/css/layui.css" rel="stylesheet" />
<link href="../../component/font-awesome/css/font-awesome.css" rel="stylesheet" />
<style>
body{
margin:10px;
background: lightgray;
}
</style>
</head>
<body>
<div class="layui-card">
<div class="layui-card-header">数据表格封装</div>
<div class="layui-card-body">
<blockquote class="layui-elem-quote">
<form class="layui-form">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" class="layui-input" id="searchVal" name="searchVal" placeholder="请输入搜索的内容" />
</div>
</div>
<div class="layui-inline">
<button type="button" class="layui-btn" id="search_btn">搜索</button>
</div>
<div class="layui-inline">
<button type="reset" class="layui-btn layui-btn-danger">重置</button>
</div>
</form>
</blockquote>
<table class="layui-hide" id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
</div>
</div>
<script src="../../component/layui/layui.js"></script>
<script>
layui.config({
version: '1575404972583' //为了更新 js 缓存,可忽略
});
layui.use(['laydate', 'laypage', 'layer', 'table', 'carousel', 'upload', 'element', 'slider','jquery'], function() {
var laydate = layui.laydate //日期
,laypage = layui.laypage //分页
,layer = layui.layer //弹层
,table = layui.table //表格
,carousel = layui.carousel //轮播
,upload = layui.upload //上传
,element = layui.element //元素操作
,slider = layui.slider //滑块
,$ = layui.jquery //jquery
//执行一个 table 实例
table.render({
elem: '#demo',
url: '../../api/table.json' //数据接口
,title: '用户表'
,page: true //开启分页
,toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
,totalRow: true //开启合计行
,cols: [
[ //表头
{
type: 'checkbox',
fixed: 'left'
}, {
field: 'id',
title: 'ID',
width: 80,
sort: true,
fixed: 'left',
totalRowText: '合计:'
}, {
field: 'username',
title: '用户名'
}, {
field: 'experience',
title: '积分'
}, {
fixed: 'right',
width: 165,
align: 'center',
toolbar: '#barDemo'
}
]
]
});
//监听头工具栏事件
table.on('toolbar(test)', function(obj) {
var checkStatus = table.checkStatus(obj.config.id),
data = checkStatus.data; //获取选中的数据
switch (obj.event) {
case 'add':
layer.msg('添加');
break;
case 'update':
if (data.length === 0) {
layer.msg('请选择一行');
} else if (data.length > 1) {
layer.msg('只能同时编辑一个');
} else {
layer.alert('编辑 [id]' + checkStatus.data[0].id);
}
break;
case 'delete':
if (data.length === 0) {
layer.msg('请选择一行');
} else {
layer.msg('删除');
}
break;
};
});
//监听行工具事件
table.on('tool(test)', function(obj) { //注tool 是工具条事件名test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,
layEvent = obj.event; //获得 lay-event 对应的值
if (layEvent === 'detail') {
layer.msg('查看操作');
} else if (layEvent === 'del') {
layer.confirm('真的删除行么', function(index) {
obj.del(); //删除对应行tr的DOM结构
layer.close(index);
//向服务端发送删除指令
});
} else if (layEvent === 'edit') {
layer.msg('编辑操作');
}
});
//搜索演示【因为需要后台配合所说义暂时看不到实际搜索效果network可查看请求参数】
$("#search_btn").on("click",function(){
// 这里仅仅为了演示效果,具体实现结合需求自行更改
if($("#searchVal").val() != ''){
table.reload("demo",{
page: {
curr: 1 //重新从第 1 页开始
},
where: {
key: $("#searchVal").val() //搜索的关键字
}
})
}else{
layer.msg("请输入搜索的内容");
}
});
});
</script>
</body>
</html>