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()] // 设置默认日期范围为今天
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|