209 lines
5.6 KiB
Plaintext
209 lines
5.6 KiB
Plaintext
let table;
|
||
var logTable;
|
||
let form;
|
||
var per;
|
||
let page = 1, limit = 10;
|
||
layui.use(['layer', 'form', 'laydate', 'element'], function () {
|
||
var layer = layui.layer; //弹层
|
||
var laypage = layui.laypage; //分页
|
||
table = layui.table; //表格
|
||
form = layui.form;
|
||
laydate = layui.laydate;
|
||
laydate.render({
|
||
elem: '#workDay', //指定元素 元素选择器
|
||
type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒)
|
||
trigger: 'click',
|
||
range: true,
|
||
format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss
|
||
max: Date.parse(new Date()),
|
||
btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定
|
||
});
|
||
//注册权限
|
||
// per = getPer();
|
||
// console.log(per);
|
||
//初始化下拉选
|
||
pages(1,10,1);
|
||
// initTable();
|
||
// 查询按钮
|
||
$("#query").off().click(function () {
|
||
// 筛选校验
|
||
inputTest1('roleName', 20, '用户身份')
|
||
inputTest2('detail', 200, '操作内容')
|
||
ipTest()
|
||
pages(1,10)
|
||
return;
|
||
})
|
||
// 重置
|
||
$("#reset").off().click(function () {
|
||
pages(1,10,1)
|
||
})
|
||
})
|
||
|
||
// 输入框校验
|
||
function inputTest1 (field, length, fieldName) {
|
||
console.log('field----'+field);
|
||
console.log('length----'+length);
|
||
console.log(typeof length);
|
||
|
||
let query = $("#"+field).val()
|
||
console.log(query);
|
||
if (query.trim() === '') return
|
||
if (query && query.length > length) {
|
||
layer.alert(`${fieldName}长度大于${length}个字符!`, {icon: 2});
|
||
}
|
||
// 禁止输入表情
|
||
const reg = /[^0-9a-zA-Z\u4E00-\u9FA5]/g
|
||
if (!reg.test(query)) {
|
||
return
|
||
} else {
|
||
layer.alert(`${fieldName}内容包含特殊字符!`, {icon: 2});
|
||
// $("#"+field).val("")
|
||
return
|
||
}
|
||
}
|
||
function inputTest2 (field, length, fieldName) {
|
||
let query = $("#"+field).val()
|
||
if (query.trim() === '') return
|
||
if (!query && query.length > length) {
|
||
layer.alert(`${fieldName}长度大于${length}个字符!`, {icon: 2});
|
||
}
|
||
}
|
||
|
||
// IP地址校验
|
||
function ipTest () {
|
||
const operIp = $("#operIp").val()
|
||
if (operIp.trim() === '') return
|
||
const regStr = /^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/
|
||
if (regStr.test(operIp)) {
|
||
return
|
||
} else {
|
||
layer.alert("IP地址格式不正确!",{icon: 2});
|
||
// $("#operIp").val("")
|
||
return
|
||
}
|
||
}
|
||
|
||
function pages(page, limit,type) {
|
||
let params = getReqParamss(page,limit,type);
|
||
$.ajax({
|
||
headers:{
|
||
"encrypt":sm3(JSON.stringify(params))
|
||
},
|
||
url: dataUrl + 'system/sys/logs/getBusinessByPage?token=' + token, //数据接口(此处为静态数据,仅作演示)
|
||
data: params,
|
||
//content:'applicatiopn/json',
|
||
type: 'POST',
|
||
async: false,
|
||
success: function (result) {
|
||
if(result.code === 500){
|
||
layer.alert(result.msg,{icon:2})
|
||
}
|
||
if (result.data) {
|
||
//console.log(result.data)
|
||
initTable(result.data,result.limit,result.curr)
|
||
laypages(result.count, result.curr, result.limit)
|
||
}
|
||
}, error: function () {
|
||
}
|
||
});
|
||
}
|
||
function laypages(total, page, limit) {
|
||
layui.use(['laypage'], function () {
|
||
let laypage = layui.laypage;
|
||
laypage.render({
|
||
elem: 'voi-page',
|
||
count: total,
|
||
curr: page,
|
||
limit: limit,
|
||
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
|
||
groups: 5,
|
||
jump: function (obj, first) {
|
||
if (!first) {
|
||
page = obj.curr, limit = obj.limit;
|
||
pages(obj.curr, obj.limit,null);
|
||
}
|
||
}
|
||
});
|
||
})
|
||
}
|
||
// 获取参数
|
||
function getReqParamss(page,limit,type) {
|
||
let obj = {};
|
||
if(!type){
|
||
obj = {
|
||
page: page + "",
|
||
limit: limit + "",
|
||
roleName: $("#roleName").val(),
|
||
operIp: $("#operIp").val(),
|
||
workDay: $("#workDay").val(),
|
||
startTime: $("#workDay").val().split(' ')[0],
|
||
endTime: $("#workDay").val().split(' ')[2],
|
||
detail: $("#detail").val(),
|
||
status: $("#status").val(),
|
||
grade: $("#grade").val(),
|
||
orderType: $("#orderType").val() || 'create_time',
|
||
orderBy: $("#orderBy").val() || 'DESC',
|
||
logType: '业务日志',
|
||
};
|
||
}else{
|
||
obj = {
|
||
page: '1',
|
||
limit: '10',
|
||
roleName: "",
|
||
operIp: "",
|
||
workDay: "",
|
||
startTime: "",
|
||
endTime: "",
|
||
detail: "",
|
||
status: "",
|
||
grade: "",
|
||
orderType: "create_time",
|
||
orderBy: "DESC",
|
||
logType: '业务日志',
|
||
};
|
||
}
|
||
return obj;
|
||
}
|
||
|
||
function initTable(dataList,limit,page) {
|
||
// 执行一个 table 实例
|
||
logTable = table.render({
|
||
id: 'logTable',
|
||
elem: '#log-table',
|
||
height: $(window).height() - ($(window).height() * 0.25),
|
||
title: '日志表',
|
||
data:dataList,
|
||
cols: [[ //表头
|
||
{
|
||
title: "序号",
|
||
width: 100,
|
||
unresize: true,
|
||
sort: true,
|
||
align: "center",
|
||
templet: function (d) {
|
||
|
||
return (page - 1) * limit + d.LAY_INDEX;
|
||
}
|
||
},
|
||
{ field: 'roleName', title: '用户身份', align: 'center', unresize: true, sort: true},
|
||
{ field: 'operName', title: '操作用户名', align: 'center', unresize: true, sort: true, },
|
||
{ field: 'operTime', title: '操作时间', align: 'center', unresize: true, sort: true,},
|
||
{ field: 'operIp', title: 'IP地址', align: 'center', unresize: true, sort: true,},
|
||
{ field: 'title', title: '业务模块', align: 'center', unresize: true, sort: true,},
|
||
// { field: 'title', title: '所属菜单', align: 'center', width: 150, unresize: true, },
|
||
{ field: 'detail', title: '操作内容', align: 'center', unresize: true, sort: true,},
|
||
{ field: 'grade', title: '操作类型', align: 'center', unresize: true, sort: true,},
|
||
{ field: 'status', title: '操作结果', align: 'center', unresize: true, sort: true, templet: function (d) {
|
||
if(d.status == '0') {
|
||
return '成功'
|
||
} else if(d.status == '1') {
|
||
return '失败'
|
||
} else {
|
||
return ''
|
||
}
|
||
} },
|
||
]],
|
||
limit:limit
|
||
});
|
||
}
|