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

286 lines
8.5 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
let signalNumList = [], signalTypeList = [];
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
layui.form.render();
signalNumList = getDictSelect('signal_num');
signalTypeList = getDictSelect('signal_type');
setSelectValue(signalNumList, 'signalNum');
setSelectValue(signalTypeList, 'signalType');
pages(1, 10, 1);
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
$.ajax({
url: dataUrl + "/sys/signal/getList",
headers: {
"token": tokens
},
data: params,
type: 'POST',
async: false,
success: function (result) {
if (result.status === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
}
} else if (result.status === 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: "deviceName",
title: "设备名称",
unresize: true,
align: "center"
},
{
field: "signalName",
title: "点位名称",
unresize: true,
align: "center"
},
{
field: "signalNumName",
title: "点位编号",
unresize: true,
align: "center"
},
{
field: "signalType",
title: "点位类型",
unresize: true,
align: "center"
},
{
field: "ip",
title: "IP",
unresize: true,
align: "center"
},
{
field: "depositAddress",
title: "寄存地址",
unresize: true,
align: "center"
},
{
field: "signalValue",
title: "采集值",
unresize: true,
align: "center", templet: function (d) {
if(d.signalValue==null){
return '';
}
if(d.unit!=null && d.unit!=''){
return d.signalValue+d.unit;
}
return d.signalValue;
}
},
{
field: "signalPort",
title: "端口号",
unresize: true,
align: "center"
},
{
field: "signalDescribe",
title: "描述",
unresize: true,
align: "center"
},
{
field: "controlDeviceName",
title: "对应控制设备",
unresize: true,
align: "center"
},
{
title: "操作",
unresize: true,
width: 120,
align: "center",
templet: function (d) {
let html = '';
html += "<a class='layui-icon layui-icon-edit' title='编辑' onclick=\"addData('" + d.id + "')\"></a>" +
"<a class='layui-icon layui-icon-delete' title='删除' onclick=\"delData('" + d.id + "')\"></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(),
ip: $('#ip').val(),
depositAddress: $('#depositAddress').val(),
signalType: $('#signalType').val(),
signalNum: $('#signalNum').val(),
};
} else {
obj = {
page: '1',
limit: '10',
keyWord: '',
ip: '',
depositAddress: '',
signalType: '',
signalNum: '',
};
}
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秒
});
}
if (pattern.test($("#ip").val())) {
$("#ip").val('');
return layer.msg('ip查询包含特殊字符请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
if (pattern.test($("#depositAddress").val())) {
$("#depositAddress").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("addOrEdit", title, "child/signalForm.html", '1300px', '725px', param);
}
/*删除点位*/
function delData(id) {
layer.confirm("确定删除吗?", {
move: false
}, function () {
let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0});
let url = dataUrl + "/sys/signal/delSignalById";
let params = {
'id': id
}
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
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)
});
})
}