var layer;
|
var grainChar3d;// 中间三维
|
var grainData;// 当前仓粮情数据
|
var numX = 7, numY = 5, numZ = 4;// 层行列
|
var form;
|
var table;
|
var compareData = null;// 对比数据
|
var listGrainData;// 默认页面中的粮情列表
|
var mapGrainData;// 批量打印中的批量粮情信息
|
|
$(function () {
|
layui.use(['layer', 'laydate', 'form', 'table'], function () {
|
form = layui.form;
|
layer = layui.layer;
|
var laydate = layui.laydate;
|
table = layui.table;
|
// 日期
|
laydate.render({
|
elem: '#checkDateMore',
|
type: 'month',
|
theme: '#7b8e9f',
|
position: 'static',
|
done: function (value, date, endDate) {
|
flushGrain(value);
|
}
|
});
|
laydate.render({
|
elem: '#compareCheckDate',
|
type: 'month',
|
theme: '#7b8e9f',
|
done: function (value, date, endDate) {
|
compareStep2(value);
|
}
|
});
|
laydate.render({
|
elem: '#printCheckDate',
|
theme: '#7b8e9f'
|
});
|
|
laydate.render({
|
elem: '#printCheckDate2',
|
theme: '#7b8e9f'
|
});
|
|
form.render();
|
|
// 监听仓库选择
|
form.on('select(select_depotId)', function (obj) {
|
return onDepotChange(obj);
|
});
|
// 监听选择批次
|
form.on('select(select_batchId)', function (obj) {
|
var value = obj.value;
|
if (value == "0") {// 表示弹出更多批次
|
showMore();
|
} else {
|
flushGrainByBatchId(value);
|
}
|
});
|
|
// 监听显示类型
|
form.on('switch(filter_switch)', function (obj) {
|
var value = obj.value;
|
var checked = obj.elem.checked;
|
if (checked) {
|
if ("lay" == value) {
|
$("#switch_row").prop("checked", false);
|
$("#switch_col").prop("checked", false);
|
$("#switch_all").prop("checked", false);
|
}
|
if ("row" == value) {
|
$("#switch_lay").prop("checked", false);
|
$("#switch_col").prop("checked", false);
|
$("#switch_all").prop("checked", false);
|
}
|
if ("col" == value) {
|
$("#switch_lay").prop("checked", false);
|
$("#switch_row").prop("checked", false);
|
$("#switch_all").prop("checked", false);
|
}
|
if ("all" == value) {
|
$("#switch_lay").prop("checked", false);
|
$("#switch_row").prop("checked", false);
|
$("#switch_col").prop("checked", false);
|
}
|
|
form.render();
|
|
// 执行更换查看方式
|
resetGrainChartAlpha(value);
|
}
|
});
|
|
// 监听对比数据
|
table.on('radio(filterTable)', function (obj) {
|
compareData = obj.data;
|
});
|
|
//初始化刷新数据
|
initData();
|
});
|
// 初始化坐标系
|
grainChar3d = initGrainChar3d();
|
// 初始化WebSocket
|
initWS(deptId, bizType,null, userId);
|
});
|
|
function initData() {
|
if (depotId) {
|
$("#depotId").val(depotId);
|
flushGrain(null);
|
form.render();
|
}
|
}
|
|
/**
|
* 检测仓库类型是否发生改变,如果发生改变,重新切换页面
|
*/
|
function onDepotChange(obj) {
|
//仓库类型
|
var depotType = obj.elem[obj.elem.selectedIndex].getAttribute('type');
|
//储粮方式
|
var storeType = listDepot[obj.elem.selectedIndex - 1].storeType;
|
if (depotType == DEPOT_TYPE) {
|
if (storeType && storeType == "2") {
|
changeView(depotType, storeType);
|
} else {
|
flushGrain(null);
|
return true;
|
}
|
} else {
|
changeView(depotType, storeType);
|
}
|
}
|
|
function changeView(depotType, storeType) {
|
DEPT_TYPE = depotType;
|
//类型改变,自动切换页面
|
if (socket) {
|
socket.close();
|
}
|
depotId = $("#depotId").val();
|
window.location.href = "../../basic/grain/gateway?depotId=" + depotId
|
+ "&depotType=" + depotType + "&storeType=" + storeType;
|
return true;
|
}
|
|
// socket信息返回處理
|
function socketOnMessage(pocket) {
|
if (pocket.orderResp == "MSG_SUCCESS") {// 信息解析成功刷新当前数据
|
flushGrain(null);
|
window.parent.sysNotify(pocket.data);
|
}
|
};
|
|
// 单仓打印
|
function printSingle() {
|
layer.msg("开始调用后台打印模板……");
|
toPrintSingle(grainData);
|
}
|
|
// 批量打印
|
function printBatch() {
|
// 首先去除之前的选择
|
$('#batchPrintSelect input').each(function () {
|
var name = $(this).prop("name");
|
if (name == "printCheckDate") {// 跳过
|
return true;
|
}
|
$(this).prop("disabled", false);
|
$(this).prop("checked", false);
|
});
|
form.render();
|
|
//初始化批量模板
|
initModel();
|
|
// 弹出选择框
|
layer.open({
|
type: 1,
|
title: '批量粮情打印(红色表示没有粮情记录,默认为当天)',
|
area: ['690px', '450px'],
|
shade: 0,
|
content: $('#batchPrintSelect'),
|
btn: ['全选', '反选', '重选', '执行打印', '取消打印'],
|
yes: function () {
|
var name;
|
$('#batchPrintSelect input').each(function () {
|
name = $(this).prop("name");
|
if (name == "printCheckDate" || $(this).prop("disabled")) {
|
// doNothing
|
} else {
|
$(this).prop("checked", true);
|
}
|
});
|
form.render();
|
},
|
btn2: function () {
|
var name;
|
$('#batchPrintSelect input').each(function () {
|
name = $(this).prop("name");
|
if (name == "printCheckDate" || $(this).prop("disabled")) {
|
// doNothing
|
} else {
|
if ($(this).prop("checked")) {
|
$(this).prop("checked", false);
|
} else {
|
$(this).prop("checked", false);
|
}
|
}
|
});
|
form.render();
|
return false;
|
},
|
btn3: function () {
|
var name;
|
$('#batchPrintSelect input').each(function () {
|
name = $(this).prop("name");
|
if (name == "printCheckDate" || $(this).prop("disabled")) {
|
// doNothing
|
} else {
|
$(this).prop("checked", false);
|
}
|
});
|
form.render();
|
return false;
|
},
|
btn4: function () {
|
printBatchTodo();
|
},
|
btn5: function () {
|
layer.close(0);
|
},
|
closeBtn: 0
|
});
|
// 默认调用获取数据更新
|
$("#printCheckDate").prop("value", dateFtt("yyyy-MM-dd", new Date()));
|
getPrintBatchDepot();
|
};
|
|
// 获取批量打印的信息
|
function getPrintBatchDepot() {
|
layer.msg("验证粮情检测记录……");
|
var checkDate = $("#printCheckDate").val();
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/query-checkDate-map",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify({
|
checkDate: checkDate
|
}),
|
success: function (result) {
|
if (result.code != "0000") {
|
layer.msg(result.msg);
|
disabledAllSelectDepot();
|
} else {
|
mapGrainData = result.data;
|
updateSelectDepot();
|
}
|
},
|
error: function () {
|
layer.msg("批量打印获取粮情信息失败!");
|
}
|
});
|
};
|
|
// 根据查询的数据批量打印预览
|
function printBatchTodo() {
|
layer.msg("开始批量生成打印模版……");
|
var strHtml;
|
var value;
|
var checked;
|
var printGrainData;
|
// 将仓库数据列表转换为MAP
|
var mapDepot = {};
|
$.each(listDepot, function (index, data) {
|
mapDepot[data.id] = data;
|
});
|
var LODOP = CLODOP;
|
// 设置默认满张打印
|
LODOP.PRINT_INIT("粮情报表");// 初始化在循环外
|
LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
|
$('#batchPrintSelect input').each(function () {
|
if ($(this).prop("name") == "printCheckDate") {// 跳过
|
return true;
|
}
|
checked = $(this).prop("checked");
|
if (checked) {
|
value = $(this).val();
|
printGrainData = mapGrainData[value];
|
if (!printGrainData) {// 如果没有粮情数据跳过执行下一个
|
return true;
|
}
|
LODOP.NewPage();
|
printGrainData.depotData = mapDepot[value];
|
strHtml = builderModel(printGrainData);
|
LODOP.ADD_PRINT_HTM(30, 40, "180mm", "100%", strHtml);
|
}
|
});
|
layer.msg("开始调用打印程序预览……");
|
LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Full-Page");
|
LODOP.PREVIEW();
|
};
|
|
// 设置批量打印中所有仓库不可选择
|
function disabledAllSelectDepot() {
|
var name;
|
$('#batchPrintSelect input').each(function () {
|
name = $(this).prop("name");
|
if (name == "printCheckDate") {// 跳过
|
return true;
|
}
|
$(this).prop("disabled", true);
|
});
|
form.render();
|
};
|
|
function updateSelectDepot() {
|
var value, name;
|
$('#batchPrintSelect input').each(function () {
|
value = $(this).val();
|
name = $(this).prop("name");
|
if (name == "printCheckDate") {// 跳过
|
return true;
|
}
|
if (mapGrainData[value]) {
|
$(this).prop("disabled", false);
|
} else {
|
$(this).prop("disabled", true);
|
}
|
});
|
form.render();
|
};
|
|
// 粮情对比
|
function compare() {
|
if (!depotId) {
|
layer.msg("请先选择仓库……");
|
return;
|
}
|
var batchId = $("#batchId").val();
|
if (!batchId) {
|
layer.msg("当前没有可以比较的数据……");
|
return;
|
}
|
// 为了避免重复比较出现的问题,如果已经比较过数据,则在比较前刷新下数据
|
if (compareData) {
|
flushGrainByBatchId(batchId);
|
}
|
|
// 首先弹出层
|
layer.open({
|
type: 1,
|
title: '粮情对比选择',
|
area: ['330px', '640px'],
|
shade: 0,
|
content: $('#compareSelect'),
|
btn: ['确认对比', '取消对比'],
|
yes: function () {
|
if (compareData) {
|
layer.msg("开始执行批次对比……");
|
compareStep3(grainData, compareData);
|
} else {
|
layer.msg("没有获取到对比数据!!");
|
}
|
},
|
btn2: function () {
|
layer.closeAll();
|
},
|
closeBtn: 1
|
});
|
|
$("#compareCheckDate").prop("value", null);
|
compareStep2(null);
|
form.render();
|
};
|
|
function compareStep2(compareDate) {
|
//depotId = $("#depotId").val();
|
if (!depotId) {
|
layer.msg("请先选择仓库!");
|
return;
|
}
|
if (!compareDate) {
|
compareDate = $("#compareCheckDate").val();
|
}
|
var data = {
|
depotId: depotId,
|
checkMonth: compareDate,
|
extBatchId: grainData.batchId
|
};
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/page-list",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify(data),
|
success: function (result) {
|
if (result.code != "0000") {
|
layer.msg(result.msg);
|
} else {
|
table.render({
|
elem: '#tableSelect',
|
height: 450,
|
data: result.data,
|
page: false,
|
limit: 100,
|
skin: "nob",
|
even: true,
|
size: "sm",
|
cols: [[{
|
type: 'radio',
|
fixed: 'left',
|
title: '选择'
|
}, {
|
field: 'receiveDate',
|
title: '检测时间',
|
align: 'center',
|
}]]
|
});
|
}
|
},
|
error: function () {
|
layer.msg("获取当前仓库检测记录失败,请重新尝试!!");
|
}
|
});
|
};
|
|
// 开始批次对比
|
function compareStep3(dataA, dataB) {
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/data-compare",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify({
|
dataA: dataA,
|
dataB: dataB
|
}),
|
success: function (result) {
|
if (result.code != "0000") {
|
layer.msg(result.msg);
|
} else {
|
// 覆盖页面中的粮情数据
|
grainData = result.data;
|
// 显示采集点信息
|
resetGrainChart3d();
|
// 粮情信息赋值
|
renderGrainInfo();
|
// 添加对比提示 TODO
|
|
layer.closeAll();
|
}
|
},
|
error: function () {
|
layer.msg("批次对比出现异常,请重新选择");
|
}
|
});
|
};
|
|
// 点击刷新操作
|
function flushGrain(checkMonth) {
|
compareData = null;
|
//depotId = $("#depotId").val();
|
|
if (!depotId) {
|
layer.msg("请先选择仓库!");
|
return;
|
}
|
var data = {
|
depotId: depotId,
|
checkMonth: checkMonth
|
};
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/query-list-data",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify(data),
|
success: function (result) {
|
if (result.code != "0000") {
|
layer.msg(result.msg);
|
}
|
listGrainData = result.data;
|
if (!listGrainData) {
|
return;
|
}
|
grainData = listGrainData[0];
|
// 显示采集点信息
|
resetGrainChart3d();
|
// 粮情信息赋值
|
renderGrainInfo();
|
// 在批次选择中添加下拉数据
|
resetSelectBatchId();
|
// 调用全部关闭
|
layer.closeAll();
|
layer.msg("更新成功……");
|
},
|
error: function () {
|
layer.msg("根据当前条件获取粮情数据渲染图标失败!!");
|
}
|
});
|
};
|
|
// 填写粮情信息
|
function renderGrainInfo() {
|
// 配置仓库卡片信息
|
var depotData = grainData.depotData;
|
$("#depotTypeName").text(depotData.depotTypeName);
|
$("#storeDate").text(depotData.storeDate);
|
$("#storageReal").text(depotData.storageReal);
|
$("#foodVarietyName").text(depotData.foodVarietyName);
|
$("#perWet").text(depotData.perWet);
|
$("#depotStatus").text(DEPOT_STATUS_MSG(depotData.depotStatus));
|
$("#foodLocation").text(depotData.foodLocation);
|
$("#bulkWeight").text(depotData.bulkWeight);
|
$("#perImpurity").text(depotData.perImpurity);
|
$("#broken").text(depotData.broken);
|
$("#storeKeeperName").text(depotData.storeKeeperName);
|
|
$("#rough").text(depotData.rough);
|
$("#waterGluten").text(depotData.waterGluten);
|
|
// 粮情检测信息赋值
|
$("#checkUser").text(grainData.checkUser);
|
$("#tempMax").text(grainData.tempMax);
|
$("#tempAve").text(grainData.tempAve);
|
$("#tempMin").text(grainData.tempMin);
|
$("#tempIn").text(grainData.tempIn <= -100.0 ? "--" : grainData.tempIn);
|
$("#tempOut").text(grainData.tempOut <= -100.0 ? "--" : grainData.tempOut);
|
$("#humidityIn").text(grainData.humidityIn <= -100.0 ? "--" : grainData.humidityIn);
|
$("#humidityOut").text(grainData.humidityOut <= -100.0 ? "--" : grainData.humidityOut);
|
};
|
|
// 根据批次更新的值调整
|
function flushGrainByBatchId(batchId) {
|
var temp;
|
$.each(listGrainData, function (index, item) {
|
if (item.batchId == batchId) {
|
temp = item;
|
return false;
|
}
|
});
|
if (temp) {
|
grainData = temp;
|
// 显示采集点信息
|
resetGrainChart3d();
|
// 粮情信息赋值
|
renderGrainInfo();
|
layer.msg("更新成功……");
|
}
|
};
|
|
// 重置批次下拉框
|
function resetSelectBatchId() {
|
// 首先清空原来的值
|
$("#batchId").empty();
|
// 未下拉框赋值
|
$.each(listGrainData, function (index, item) {
|
$('#batchId').append(new Option(item.receiveDate, item.batchId));// 下拉菜单里添加元素
|
});
|
$('#batchId').append(new Option("选择时间……", "0"));
|
form.render();
|
};
|
|
// 更多批次选择
|
function showMore() {
|
layer.open({
|
type: 1,
|
title: '选择检测时间',
|
area: ['300px', '400px'],
|
shade: 0,
|
content: $('#dialogMoreSelect'),
|
btn: 0,
|
closeBtn: 1
|
});
|
};
|
|
// 单个粮情检测
|
function checkGrain() {
|
//depotId = $("#depotId").val();
|
if (!depotId) {
|
layer.msg("请先选择仓库!");
|
return;
|
}
|
layer.msg("开始执行粮情采集……");
|
var data = {
|
depotId: depotId
|
};
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/check-single",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify(data),
|
success: function (result) {
|
if (result.code != "ORDER_SUCCESS") {
|
if (result.msg) {
|
layer.msg(result.msg);
|
} else {
|
layer.msg("执行出现异常,请重试或联系管理员");
|
}
|
} else {
|
layer.msg("命令已经成功发送,待终端响应……");
|
}
|
},
|
error: function () {
|
layer.msg("粮情检测出现异常,执行失败!");
|
}
|
});
|
};
|
|
// 批量粮情采集
|
function checkGrainBatch() {
|
// 首先去除之前的选择
|
$('#batchCheckSelect input').each(function () {
|
$(this).prop("checked", false);
|
});
|
form.render();
|
|
// 弹出选择框
|
layer.open({
|
type: 1,
|
title: '批量检测选择仓库',
|
area: ['690px', '450px'],
|
shade: 0,
|
content: $('#batchCheckSelect'),
|
btn: ['全选', '反选', '重选', '确定检测', '取消检测'],
|
yes: function () {
|
$('#batchCheckSelect input').each(function () {
|
$(this).prop("checked", true);
|
});
|
form.render();
|
},
|
btn2: function () {
|
$('#batchCheckSelect input').each(function () {
|
if ($(this).prop("checked")) {
|
$(this).prop("checked", false);
|
} else {
|
$(this).prop("checked", true);
|
}
|
});
|
form.render();
|
return false;
|
},
|
btn3: function () {
|
$('#batchCheckSelect input').each(function () {
|
$(this).prop("checked", false);
|
});
|
form.render();
|
return false;
|
},
|
btn4: function () {
|
return checkBatchTodo();
|
},
|
btn5: function () {
|
layer.close(0);
|
},
|
closeBtn: 0
|
});
|
};
|
|
/**
|
* 开始执行批量检测
|
*/
|
function checkBatchTodo() {
|
var depotIds = "";
|
$('#batchCheckSelect input').each(function () {
|
if ($(this).prop("checked")) {
|
depotIds += $(this).val() + ",";
|
}
|
});
|
|
if (depotIds == "") {
|
layer.msg("请先选择需要检测的仓库……");
|
return false;
|
}
|
layer.msg("开始执行批量检测……");
|
// 调用后台批量检测
|
var data = {
|
depotIds: depotIds
|
};
|
$.ajax({
|
type: "POST",
|
url: "../../basic/grain/check-batch",
|
dataType: "json",
|
contentType: "application/json;charset=UTF-8",
|
data: JSON.stringify(data),
|
success: function (result) {
|
if (result.code != "ORDER_SUCCESS") {
|
if (result.msg) {
|
layer.msg(result.msg);
|
} else {
|
layer.msg("执行出现异常,请重试或联系管理员");
|
}
|
return false;
|
} else {
|
layer.msg("命令已经成功发送,待终端响应……");
|
return true;
|
}
|
},
|
error: function () {
|
layer.msg("粮情检测出现异常,执行失败!");
|
return false;
|
}
|
});
|
return true;
|
};
|