170 lines
6.1 KiB
JavaScript
170 lines
6.1 KiB
JavaScript
var example = null;
|
||
var pers = null;
|
||
var layer;
|
||
var table;
|
||
var laydate;
|
||
let phyTimeStart;
|
||
let phyTimeEnd;
|
||
let keyWord;
|
||
$(function () {
|
||
layui.use(['layer','form','table','laydate'], function () {
|
||
layer = layui.layer;
|
||
table = layui.table;
|
||
var form = layui.form;
|
||
laydate = layui.laydate;
|
||
|
||
// 获取URL中的查询字符串参数
|
||
function getQueryString(name) {
|
||
var url = window.location.search.substring(1);
|
||
var params = url.split('&');
|
||
|
||
for (var i = 0; i < params.length; i++) {
|
||
var param = params[i].split('=');
|
||
|
||
if (param[0] === name) {
|
||
return param[1];
|
||
}
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
// 获取参数并根据参数值来获取相应的数据
|
||
var type = getQueryString('type');
|
||
getDataByType(type);
|
||
initTime();
|
||
});
|
||
});
|
||
|
||
// 使用Ajax请求从后端获取数据
|
||
function getDataByType(type) {
|
||
table.render({
|
||
elem: '#layuiTable'
|
||
, url: dataUrl + "secondary/getPersonInfo" //数据接口
|
||
, method: 'post' //方式默认是get
|
||
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
||
, where: {
|
||
type: type,
|
||
phyTimeStart : getNowTime(),
|
||
phyTimeEnd : getNowTime(),
|
||
} //post请求必须加where ,post请求需要的参数
|
||
, cellMinWidth: 80
|
||
, cols: getTypeCols(type)
|
||
, id: 'menuTable'
|
||
, page: true //开启分页
|
||
, loading: true //数据加载中。。。
|
||
, limits: [50, 100, 200] //一页选择显示3,5或10条数据
|
||
, limit: 7 //一页显示5条数据
|
||
, response: {
|
||
statusCode: 200 //规定成功的状态码,默认:0
|
||
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据,res为从url中get到的数据
|
||
tableData = res.data
|
||
let result;
|
||
if (res.data !== '' && res.data != null && res.data !== "null") {
|
||
if (this.page.curr) {
|
||
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
|
||
} else {
|
||
result = res.data.slice(0, this.limit);
|
||
}
|
||
}
|
||
return {
|
||
"code": res.code, //解析接口状态
|
||
"msg": res.msg, //解析提示文本
|
||
"count": res.count, //解析数据长度
|
||
"data": result, //解析数据列表
|
||
};
|
||
},
|
||
|
||
toolbar: "#toolbar"
|
||
});
|
||
|
||
|
||
table.on('toolbar(contact)', function (obj) {
|
||
console.log(obj);
|
||
// 获取当前表格被选中的记录对象,返回数据
|
||
var checkStatus = table.checkStatus(obj.config.id);
|
||
//获取事件名,执行对应的代码
|
||
var eventName = obj.event;
|
||
switch (eventName) {
|
||
case "searchBt":
|
||
document.getElementById("searchBt").click();//按钮自动点击一次
|
||
phyTimeStart = $("#phyTimeStart").val();
|
||
phyTimeEnd = $("#phyTimeEnd").val();
|
||
keyWord = $("#keyWord").val();
|
||
table.reload('menuTable', {
|
||
url: dataUrl + 'secondary/getPersonInfo'
|
||
, method: 'post' //方式默认是get
|
||
, page: true
|
||
, where: {
|
||
phyTimeStart: phyTimeStart,
|
||
phyTimeEnd: phyTimeEnd,
|
||
keyWord: keyWord,
|
||
type: type,
|
||
} //设定异步数据接口的额外参数
|
||
});
|
||
/**二次赋值-- 点击搜索按钮之后会进行一次刷新操作*/
|
||
initTime();
|
||
$("#phyTimeStart").val(phyTimeStart);
|
||
$("#phyTimeEnd").val(phyTimeEnd);
|
||
$("#keyWord").val(keyWord);
|
||
break;
|
||
}
|
||
});
|
||
initTime();
|
||
}
|
||
|
||
function getTypeCols(type) {
|
||
switch (type) {
|
||
case 'content1':
|
||
return [[
|
||
{
|
||
field: 'number', width: '100', title: '序号', templet: function (res) {
|
||
return res.LAY_INDEX;
|
||
}
|
||
},
|
||
{field: 'name',width:150, align: 'center', title: '人员姓名'},
|
||
{field: 'userType',width:150, align: 'center', title: '人员类型'},
|
||
{field: 'gender',width:150, align: 'center', title: '性别'},
|
||
{field: 'beginTime',width:250, align: 'center', title: '有效期开始时间'},
|
||
{field: 'endTime',width:250, align: 'center', title: '有效期结束时间'}
|
||
]];
|
||
case 'content2':
|
||
return [[
|
||
{
|
||
field: 'number', width: '100', title: '序号', templet: function (res) {
|
||
return res.LAY_INDEX;
|
||
}
|
||
},
|
||
{field: 'anyIndex',width:200, align: 'center', title: '人员姓名'},
|
||
{field: 'userType',width:250, align: 'center', title: '人员类型'},
|
||
{field: 'entryExitTime',width:250, align: 'center', title: '进出场时间'},
|
||
{field: 'type',width:250, align: 'center', title: '进出状态'}
|
||
]];
|
||
case 'content3':
|
||
return colsType3;
|
||
case 'other':
|
||
return [[
|
||
{
|
||
field: 'number', align: 'center', title: '序号', templet: function (res) {
|
||
return res.LAY_INDEX;
|
||
}
|
||
},
|
||
{field: 'anyIndex',align: 'center', title: '车牌号'},
|
||
{field: 'entryExitTime',align: 'center', title: '进出场时间'},
|
||
{field: 'type',align: 'center', title: '进出状态'}
|
||
]];
|
||
default:
|
||
return [];
|
||
}
|
||
}
|
||
|
||
function initTime() {
|
||
|
||
laydate.render({
|
||
elem: '#ID-laydate-range',
|
||
range: ['#phyTimeStart', '#phyTimeEnd'],
|
||
value: [getNowTime(),getNowTime()] // 设置默认日期范围为今天
|
||
});
|
||
|
||
}
|