@page
@model xxtsoft.Web.Entry.Pages.sysadmins.rw.rw_listModel
@{
Layout = "_LayoutAdmin";
}
<div class="layui-fluid">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label"> 部门</label>
<div class="layui-input-inline">
<input type="text" name="bm" id="bm" autocomplete="off" class="layui-input" value="@Model.bm" autocomplete="off" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">项目</label>
<div class="layui-input-inline">
<input type="text" name="xm" id="xm" autocomplete="off" class="layui-input" value="@Model.xm" autocomplete="off" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
<input type="hidden" name="fst" id="fst" value="@Request.Query["fst"]" class="layui-input">
<button class="layui-btn layuiadmin-btn-list btn-block" lay-submit lay-filter="LAY-app-contlist-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
</button>
</div>
</div>
</form>
</div>
<div class="layui-fluid paneltop35">
<div class="layui-panel layui-padding-3">
<table id="xxt-tbl" lay-filter="xxt-tbl"></table>
<script type="text/html" id="xxt-bar">
<div class="layui-btn-container">
<button class="layui-btn " lay-event="add"><i class="layui-icon layui-icon-add-1"></i>添加</button>
</div>
</script>
<script type="text/html" id="xxt-opr">
<div class="layui-clear-space">
<a class="layui-btn layui-btn-xs layui-bg-blue" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑 </a>
<a class="layui-btn layui-btn-xs layui-bg-red" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除 </a>
</div>
</script>
<div id="demo-laypage-limits"></div>
<script type="text/html" id="xxt-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchdel">批量删除</button>
</div>
</script>
</div>
</div>
<script>
layui.config({
base: '/layui/' // 静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(function () {
var table = layui.table;
var layer = layui.layer;
var $ = layui.jquery;
var mobile = layui.device().mobile;//手机模式
table.render({
elem: '#xxt-tbl'
, height: mobile ? 550 : 700
, url: '@Model.url' //数据接口
, method: 'POST'
, page: true // 开启分页
, request: {
pageName: 'pageindex', // page
limitName: 'PageSize'// limit
}
, toolbar: '#xxt-bar'
, defaultToolbar: ['filter',
{
title: '导出全部Excel',
layEvent: 'Excel_Allout',
icon: 'layui-icon-export'
}
, 'print']
, page: {
limit: 10//分页显示数据
, limits: [5, 10, 20, 50, 100]
, curr: @Model.pageindex
} //开启分页
, where: {
}
, even: true
, response: {
statusCode: 200 // 重新规定成功的状态码为 200,table 组件默认为 0
}
, parseData: function (res) { //res 即为原始返回的数据
var code = res.statusCode;
var count = res.totaldata;
var data = res.data;
//JSON.stringify(res)
return {
"code": res.statusCode, //解析接口状态
"msg": '', //解析提示文本
"count": count, //解析数据长度
"data": data //解析数据列表
};
}
, loading: true
, pagebar: '#xxt-pagebar'// 分页栏模板
, cols: [[ //表头
{ type: 'checkbox', fixed: 'left' }
, { field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left' }
, { field: 'bm', title: '部门', width: 100 }
, { field: 'xm', title: '项目', width: 100 }
, { field: 'rw', title: '任务', width: 100 }
, { field: 'zrr', title: '责任人', width: 100 }
, { field: 'kssj', title: '开始时间', width: 120, sort: true, templet: function (d) { return layui.util.toDateString(d.kssj, "yyyy-MM-dd"); } }
, { field: 'jssj', title: '结束时间', width: 120, sort: true, templet: function (d) { return layui.util.toDateString(d.jssj, "yyyy-MM-dd"); } }
, { field: 'bz', title: '备注' }
, { fixed: 'right', title: '操作', minWidth: 160, toolbar: '#xxt-opr' }
]],
done: function (res, curr, count) {
// 渲染完成后更新 URL
var url = new URL(window.location);
url.searchParams.set('pageindex', curr);
window.history.pushState({}, '', url);
}
});
// 头工具栏事件
table.on('toolbar(xxt-tbl)', function (obj) {
// layer.msg(obj.event);
switch (obj.event) {
case 'add':
layer.open({
type: 2,
title: '添加',
content: 'rw_add?fst=' + @Request.Query["fst"],
shadeClose: true,
area: mobile ? ['95%', '80%'] : ['80%', '80%'],
maxmin: true, //开启最大化最小化按钮
});
break;
case 'Excel_Allout':
layer.confirm("是否要导出当前数据?", {
icon: 3,
btn: ["确定", "取消"]
}, function (layerIndex) {
layer.close(layerIndex);
indexload = layer.load(2, {
content: '加载中...',
icon: 16,
success: function (layero) {
layero.find('.layui-layer-content').css({
'paddingTop': '40px',
'width': '200px',
'textAlign': 'center',
'backgroundPositionX': 'center'
});
}
});
exportData();
layer.close(indexload);
});
break;
};
});
//导出全部数据excel
var dataExport = new Array;
function exportData(obj, offset, limit) {
//请求所有数据
$.ajax({
type: 'POST',
url: '/api/rw/GetAll',
dataType: 'json',
success: function (res) {
table.exportFile('xxt-tbl', res.data,
{
type: 'xls',
title: '任务导出'
}
);
}
});
}
// 底部分页栏事件
table.on('pagebar(xxt-tbl)', function (obj) {
var eventValue = obj.event; // 获得按钮 lay-event 值
// layer.msg(eventValue);
// console.log(obj); // 查看对象所有成员
// console.log(obj.event);
var id = obj.config.id;
var checkStatus = table.checkStatus(id);
switch (eventValue) {
case 'batchdel':
var data = checkStatus.data;
var ids = [];
for (var i = 0; i < data.length; i++) {
var rowId = data[i].id; // 假设每一行数据都有一个 'id' 字段
// console.log(rowId);
ids.push(Number(rowId));
}
var jsonData = JSON.stringify(ids);
layer.confirm('真的批量删除么', function (index) {
// console.log(ids);
// console.log(jsonData);
$.ajax({
url: "/api/rw/DelByIds",
type: "POST",
data: jsonData,
contentType: 'application/json', // 设置请求头中的 Content-Type 为 application/json
});
table.reload('xxt-tbl');
layer.close(index);
});
break;
};
});
//触发单元格工具事件
table.on('tool(xxt-tbl)', function (obj) { // 双击 toolDouble
var data = obj.data;
// console.log(obj)
// console.log(data.id);
var id = data.id;
// console.log(id);
// alert(id);
// // 更新 URL 中的页码
// var page = obj.config.page.curr;
// console.log(page);
// var url = new URL(window.location);
// url.searchParams.set('PageIndex', page);
// window.history.pushState({}, '', url);
if (obj.event === 'del') {
layer.confirm('真的删除么', function (index) {
$.ajax({
url: "/api/rw/DelById/" + id,
type: "POST",
});
obj.del();
layer.close(index);
});
} else if (obj.event === 'edit') {
layer.open({
type: 2,
title: '编辑',
content: 'rw_add?fst=' + @Request.Query["fst"]+'&id=' + id,
shadeClose: true,
area: mobile ? ['95%', '80%'] : ['900px', '700px'],
maxmin: true, //开启最大化最小化按钮
});
}
});
});
</script>