yijia-webman/app/view/book/readingBook.html

126 lines
4.8 KiB
HTML
Raw Normal View History

2025-03-30 10:36:39 +08:00
{layout name="layout" /}
<div style="padding: 16px;">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-row">
<div class="layui-btn-container layui-col-md2">
<span>{$reading.name}</span>
<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
</div>
</div>
</script>
<script type="text/html" id="toolDemo">
<div class="layui-clear-space">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
<a class="layui-btn layui-btn-xs" lay-event="start">开始</a>
<a class="layui-btn layui-btn-xs" lay-event="end">结束</a>
</div>
</script>
<!--script src="/layui/soulTable/soulTable.slim.js"></script-->
<script>
layui.config({
base: '/layui/', // 第三方模块所在目录
version: 'v1.9.0' // 插件版本号
}).extend({
soulTable: 'soulTable/soulTable.slim'
});
layui.use(['table', 'dropdown', 'soulTable'], function(){
var table = layui.table;
var dropdown = layui.dropdown;
var soulTable = layui.soulTable;
var readingID = "{$reading.id}";
// 创建渲染实例
table.render({
elem: '#test',
url: '/book/apiGetReadingBookList?id=' + readingID, // 此处为静态模拟数据,实际使用时需换成真实接口
toolbar: '#toolbarDemo',
defaultToolbar: ['filter'],
height: 'full-135', // 最大高度减去其他容器已占有的高度差
even: true,
css: [ // 重设当前表格样式
'.layui-table-tool-temp{padding-right: 145px;}'
].join(''),
cellMinWidth: 80,
//totalRow: true, // 开启合计行
//page: true,
page: { // 支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'], //自定义分页布局
//curr: 5, //设定初始在第 5 页
limit: 50,
//groups: 1, //只显示 1 个连续页码
//first: false, //不显示首页
//last: false //不显示尾页
},
// 将原始数据解析成 table 组件所规定的数据格式
parseData: function(res){
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.bookList.length, //解析数据长度
"data": res.bookList //解析数据列表
};
},
cols: [[
{field: 'id', fixed: 'left', width:80, title: 'ID'},
{field: 'book_name', width:300, title: '书名'},
{field: 'author', width:180, title: '作者'},
{field: 'category_name', width:100, title: '分类'},
{field: 'statusStr', width:100, title: '状态'},
{field: 'start', width:120, title: '开始'},
{field: 'end', width:120, title: '结束'},
{field: 'remark', title: '备注'},
{fixed: 'right', title:'操作', minWidth: 60, templet: '#toolDemo'}
]],
rowDrag:{done:function(obj){
//拖动排序
var num = obj.newIndex - obj.oldIndex;
$.post('/book/apiSortReadingBook', {id: obj.row.id, num: num}, function(data){
alert(data.msg);
});
}},
done: function() {
// 在 done 中开启
soulTable.render(this)
}
});
// 工具栏事件
table.on('toolbar(test)', function(obj){
var id = obj.config.id;
var checkStatus = table.checkStatus(id);
var othis = lay(this);
switch(obj.event){
case 'add':
layerAlert('get', '添加', '/book/addReadingBook?reading_id=' + readingID);
break;
};
});
// 触发单元格工具事件
table.on('tool(test)', function(obj){ // 双击 toolDouble
var data = obj.data; // 获得当前行数据
// console.log(obj)
if(obj.event === 'edit'){
layerAlert('get', '编辑', '/book/editReadingBook?id=' + data.id);
} else if(obj.event === 'del'){ //删除
$.get('/book/apiDelReadingBook', {id:data.id},function(data){
layui.layer.msg(data.msg);
});
} else if(obj.event === 'start'){ //开始
$.post('/book/apiStartReadingBook', {id: data.id}, function(data){
layui.layer.msg(data.msg);
});
} else if(obj.event === 'end'){ //结束
$.post('/book/apiEndReadingBook', {id: data.id}, function(data){
layui.layer.msg(data.msg);
});
}
});
});
</script>