var pageCurr = 1;
|
var tableIns;
|
var autoRefreshTimer = null;
|
var editDialogIndex = null;
|
var reloading = false;
|
|
layui.config({
|
base: baseUrl + "/static/layui/lay/modules/"
|
}).use(['table', 'form', 'admin'], function () {
|
var table = layui.table;
|
var $ = layui.jquery;
|
var layer = layui.layer;
|
var form = layui.form;
|
var admin = layui.admin;
|
|
tableIns = table.render({
|
elem: '#basCrnp',
|
headers: {token: localStorage.getItem('token')},
|
url: baseUrl + '/basCrnp/list/auth',
|
page: true,
|
limit: 15,
|
limits: [15, 30, 50, 100, 200, 500],
|
toolbar: '#toolbar',
|
cellMinWidth: 80,
|
height: 'full-160',
|
cols: [[
|
{type: 'checkbox'},
|
{field: 'crnNo', align: 'center', title: '堆垛机号'},
|
{field: 'localStatusDesc', align: 'center', title: '本地状态'},
|
{field: 'onlineDesc', align: 'center', title: '在线状态'},
|
{field: 'modeDesc', align: 'center', title: '模式'},
|
{field: 'deviceStatusDesc', align: 'center', title: '设备状态'},
|
{
|
field: 'taskNo',
|
align: 'center',
|
title: '任务号',
|
templet: function (d) {
|
return d.taskNo == null ? '-' : d.taskNo;
|
}
|
},
|
{
|
field: 'alarm',
|
align: 'center',
|
title: '报警码',
|
templet: function (d) {
|
return d.alarm == null ? '-' : d.alarm;
|
}
|
},
|
{
|
field: 'lastSyncTime',
|
align: 'center',
|
title: '最后同步时间',
|
templet: function (d) {
|
return isEmpty(d.lastSyncTime) ? '-' : d.lastSyncTime;
|
}
|
},
|
{field: 'memo', align: 'center', title: '备注'},
|
{fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 120}
|
]],
|
request: {
|
pageName: 'curr',
|
pageSize: 'limit'
|
},
|
parseData: function (res) {
|
return {
|
code: res.code,
|
msg: res.msg,
|
count: res.data.total,
|
data: res.data.records,
|
syncError: res.data.syncError,
|
lastSyncTime: res.data.lastSyncTime
|
};
|
},
|
response: {
|
statusCode: 200
|
},
|
done: function (res, curr) {
|
reloading = false;
|
if (res.code === 403) {
|
top.location.href = baseUrl + "/";
|
return;
|
}
|
pageCurr = curr;
|
renderSyncStatus(res.lastSyncTime, res.syncError);
|
limit();
|
}
|
});
|
|
table.on('toolbar(basCrnp)', function (obj) {
|
var checkStatus = table.checkStatus(obj.config.id).data;
|
switch (obj.event) {
|
case 'addData':
|
showEditModel();
|
break;
|
case 'deleteData':
|
if (checkStatus.length === 0) {
|
layer.msg('请选择要删除的数据', {icon: 2});
|
return;
|
}
|
del(checkStatus.map(function (d) {
|
return d.crnNo;
|
}));
|
break;
|
case 'refreshData':
|
refreshNow();
|
break;
|
}
|
});
|
|
table.on('tool(basCrnp)', function (obj) {
|
var data = obj.data;
|
switch (obj.event) {
|
case 'edit':
|
showEditModel(data);
|
break;
|
case 'del':
|
del([data.crnNo]);
|
break;
|
}
|
});
|
|
form.on('submit(search)', function () {
|
pageCurr = 1;
|
tableReload();
|
return false;
|
});
|
|
form.on('submit(reset)', function () {
|
pageCurr = 1;
|
clearFormVal($('#search-box'));
|
tableReload();
|
return false;
|
});
|
|
function showEditModel(mData) {
|
editDialogIndex = admin.open({
|
type: 1,
|
area: '600px',
|
title: (mData ? '修改' : '添加') + '堆垛机配置',
|
content: $('#editDialog').html(),
|
success: function (layero, dIndex) {
|
form.val('detail', {
|
crnNo: mData ? mData.crnNo : '',
|
status: mData ? mData.localStatus : 1,
|
memo: mData ? mData.memo : ''
|
});
|
if (mData) {
|
$(layero).find('#crnNo').attr('readonly', true).addClass('layui-disabled');
|
}
|
form.on('submit(editSubmit)', function (data) {
|
var loadIndex = layer.load(2);
|
$.ajax({
|
url: baseUrl + "/basCrnp/" + (mData ? 'update' : 'add') + "/auth",
|
headers: {'token': localStorage.getItem('token')},
|
data: data.field,
|
method: 'POST',
|
success: function (res) {
|
layer.close(loadIndex);
|
if (res.code === 200) {
|
layer.close(dIndex);
|
editDialogIndex = null;
|
layer.msg('保存成功', {icon: 1});
|
tableReload();
|
} else if (res.code === 403) {
|
top.location.href = baseUrl + "/";
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
}
|
});
|
return false;
|
});
|
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
layui.form.render('select');
|
},
|
end: function () {
|
editDialogIndex = null;
|
}
|
});
|
}
|
|
function del(ids) {
|
layer.confirm('确定要删除选中数据吗?', {
|
skin: 'layui-layer-admin',
|
shade: .1
|
}, function (i) {
|
layer.close(i);
|
var loadIndex = layer.load(2);
|
$.ajax({
|
url: baseUrl + "/basCrnp/delete/auth",
|
headers: {'token': localStorage.getItem('token')},
|
data: {ids: ids},
|
method: 'POST',
|
success: function (res) {
|
layer.close(loadIndex);
|
if (res.code === 200) {
|
layer.msg('删除成功', {icon: 1});
|
pageCurr = 1;
|
tableReload();
|
} else if (res.code === 403) {
|
top.location.href = baseUrl + "/";
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
}
|
});
|
});
|
}
|
|
function refreshNow() {
|
var loadIndex = layer.load(2);
|
$.ajax({
|
url: baseUrl + '/basCrnp/refresh/auth',
|
headers: {'token': localStorage.getItem('token')},
|
method: 'POST',
|
success: function (res) {
|
layer.close(loadIndex);
|
if (res.code === 200) {
|
layer.msg('同步成功', {icon: 1});
|
tableReload();
|
} else if (res.code === 403) {
|
top.location.href = baseUrl + "/";
|
} else {
|
layer.msg(res.msg, {icon: 2});
|
}
|
},
|
error: function () {
|
layer.close(loadIndex);
|
layer.msg('同步请求异常', {icon: 2});
|
}
|
});
|
}
|
|
function renderSyncStatus(lastSyncTime, syncError) {
|
var box = $('#syncStatusBox');
|
if (isEmpty(lastSyncTime) && isEmpty(syncError)) {
|
box.css('color', '#999').text('尚未同步');
|
return;
|
}
|
if (!isEmpty(syncError)) {
|
box.css('color', '#FF5722').text('数据非最新,最近同步时间:' + (lastSyncTime || '-') + ',原因:' + syncError);
|
return;
|
}
|
box.css('color', '#16b777').text('最近同步成功时间:' + (lastSyncTime || '-'));
|
}
|
|
autoRefreshTimer = setInterval(function () {
|
if (editDialogIndex != null || reloading) {
|
return;
|
}
|
tableReload();
|
}, 3000);
|
|
$(window).on('beforeunload', function () {
|
if (autoRefreshTimer != null) {
|
clearInterval(autoRefreshTimer);
|
}
|
});
|
});
|
|
function tableReload() {
|
if (reloading) {
|
return;
|
}
|
reloading = true;
|
var searchData = {};
|
$.each($('#search-box [name]').serializeArray(), function () {
|
searchData[this.name] = this.value;
|
});
|
tableIns.reload({
|
where: searchData,
|
page: {curr: pageCurr}
|
});
|
}
|