yn_img_tool/target/classes/static/js/system/sysDoorConfig.js

223 lines
7.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
layui.use(['form', 'layer', 'table'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
pages(1, 10, 1);
//监听启用状态
form.on('switch(status)', function (obj) {
editSysDoorConfigStatus(this.value, $(this).prop('checked') ? '0' : '1');
});
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
$.ajax({
url: dataUrl + "/sys/door/getSysDoorList",
headers: {
"token": tokens
},
data: params,
type: 'POST',
async: false,
success: function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, error: function (xhr) {
error(xhr);
}
});
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
tableIns = table.render({
elem: "#table_data",
height: "full-130",
data: dataList,
limit: limit,
cols: [
[
//表头
{
title: "序号", width: 80, unresize: true, align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{field: "ip", title: "门禁IP", unresize: true, align: "center"},
{field: "port", title: "门禁端口", unresize: true, align: "center"},
{field: "userName", title: "门禁用户", unresize: true, align: "center"},
{field: "pwd", title: "门禁密码", unresize: true, align: "center"},
{field: "name", title: "门禁名称", unresize: true, align: "center"},
{field: "remarks", title: "备注", unresize: true, align: "center"},
{
field: "status",
title: "状态",
unresize: true,
align: "center",
templet: function (d) {
let html = '';
if (d.status === '1') {
html += '<input type="checkbox" name="status" value="' + (d.ip) + '" lay-skin="switch" lay-text="启用|停用" lay-filter="status">'
} else if (d.status === '0') {
html += '<input type="checkbox" name="status" checked value="' + (d.ip) + '" lay-skin="switch" lay-text="启用|停用" lay-filter="status">'
}
return html;
}
},
{
title: "操作", unresize: true, width: 300, align: "center",
templet: function (d) {
let html = '';
html += "<a class='layui-icon layui-icon-edit' title='编辑' onclick=\"addData('" + d.ip + "')\"></a>" +
"<a class='layui-icon layui-icon-delete' title='删除' onclick=\"delData('" + d.ip + "')\"></a>";
return html;
}
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
page: page + "",
limit: limit + "",
keyWord: $('#keyWord').val()
};
} else {
obj = {
page: '1',
limit: '10',
keyWord: ''
};
}
obj = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query() {
let pattern = new RegExp("[%<>]");
if (pattern.test($("#keyWord").val())) {
$("#keyWord").val('');
return layer.msg('关键字查询包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
pageNum = 1;
pages(1, limitSize);
}
function reloadData() {
pages(pageNum, limitSize);
}
// 新增/修改门禁配置
function addData(id) {
let title = '新增门禁'
if (id) {
title = '修改门禁';
}
let param = {
'id': id
}
openIframe2("addOrEditSysDoorConfig", title, "child/sysDoorConfigForm.html", '875px', '625px', param);
}
/*删除门禁*/
function delData(id) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/sys/door/delSysDoor"
let obj = {'ip': id}
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.status === 200) {
parent.layer.msg(result.msg, {icon: 1})
query()
} else if (result.status === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
layer.close(loadingMsg); // 关闭提示层
error(xhr)
});
})
}
// 门禁状态
function editSysDoorConfigStatus(id, status) {
let url = dataUrl + "/sys/door/editSysDoorConfigStatus";
let obj = {
'ip': id,
'status': status
}
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
reloadData();
parent.layer.msg(result.msg, {icon: 1})
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}