var layer; var form; var table; var element; var grainData;// 仓库信息及温湿度信息 $(function () { layui.use(['layer', 'laydate', 'form', 'table', 'element'], function () { element = layui.element; 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); }); //初始化刷新数据 initData(); }); // 初始化WebSocket initWS(deptId, bizType, null, userId); }); function initData() { if (depotId) { $("#depotId").val(depotId); flushGrain(null); form.render(); } } function queryDeviceIot() { depotId = $("#depotId").val(); if (!depotId) { layer.msg("请先选择仓库!"); return; } $.ajax({ type: "POST", url: "../../basic/grain/list-device-iot", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify({ depotId: depotId }), success: function (result) { if (result.code != "0000") { layer.msg(result.msg); return; } deviceList = result.data; console.log(deviceList); // 根据设备渲染 addDevice(deviceList); }, error: function (result) { layer.msg("获取设备失败,请重新尝试!"); } }); } function addDevice(list) { console.log(list); if (!list || list.length == 0) { return; } //清空设备信息 $("#lq-center").empty(); $("#lq-center").html(''); var mainImg = $("#lq-center"); var temp; var left = 0, top = 0; $.each(list, function (index, item) { left = item.posX; top = item.posY; if (left < 1) left = 50; if (top < 1) top = 50; temp = ''; temp += '
'; temp += '--℃
'; temp += '
--%'; temp += '
'; mainImg.append(temp); }); } function showTips(name) { $("#device_info").text("提示:设备名称-" + name); } // 开始拖拽 function dragDevice() { var tips = $(".device"); if (tips.length == 0) { return; } var maxX = 1280; var maxY = 500; $.each(tips, function (index, item) { var dd = new Dragdrop({ target: item, area: [0, maxX, 0, maxY], callback: function (obj) { //console.log('x:' + (obj.moveX) + ' y:' + (obj.moveY)); } }); dd.dragAll(); }); } // 保存设备位置信息 function updateGrainPos() { var tips = $(".device"); if (tips.length == 0) { return; } var container = $("#lq-center"); var parentLeft = container.offset().left; var parentTop = container.offset().top; // 封装数据进行保存 var data = new Array(); var id = null, curDepotId = null; var offset; $.each(tips, function (index, item) { id = item.id; curDepotId = item.getAttribute("depotId"); offset = $('#' + id).offset(); data[index] = { bizId: id, depotId: curDepotId, posX: offset.left - parentLeft, posY: offset.top - parentTop }; }); $.ajax({ type: 'POST', url: "../../basic/common/update-grain-pos", dataType: 'JSON', contentType: "application/json;charset=UTF-8", data: JSON.stringify(data), success: function (result) { layer.msg(result.msg); }, error: function (result) { layer.msg(result.msg); } }); } /** * 检测仓库类型是否发生改变,如果发生改变,重新切换页面 */ 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") { flushGrain(null); return true; } else { changeView(depotType, storeType); } }else { changeView(depotType, storeType); } } function changeView(depotType, storeType) { //类型改变,自动切换页面 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") {// 信息解析成功刷新当前数据 window.parent.sysNotify(pocket.data); } }; // 单仓打印 function printSingle() { layer.msg("功能待开放……"); return; layer.msg("开始调用后台打印模板……"); toPrintSingle(grainData); } // 批量打印 function printBatch() { layer.msg("功能待开放……"); return; // 首先去除之前的选择 $('#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 flushGrain() { queryDeviceIot(); compareData = null; depotId = $("#depotId").val(); if (!depotId) { layer.alert("请先选择仓库!"); return; } var data = { depotId: depotId }; $.ajax({ type: "POST", url: "../../basic/grain/query-grain-iot-data", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(data), success: function (result) { if (result.code != "0000") { layer.msg(result.msg); }else { } grainData = result.data; if (!grainData) { return; } // 粮情信息赋值 renderGrainInfo(); // 调用全部关闭 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); $("#perImpurity").text(depotData.perImpurity); $("#storeKeeperName").text(depotData.storeKeeperName); var grainIotData = grainData.grainIotData; if (!grainIotData) { return; } var tempMax = null, humMax = null, tempMin = null, humMin = null, tempSum = 0.0, humSum = 0.0; var i = 0, j = 0; var time = ""; $.each(grainIotData, function (index, item) { if(index == 0){ $("#tempOut").text(item.outTemp == null?"--":item.outTemp.toFixed(1)); $("#humidityOut").text(item.outHum == null?"--":item.outHum.toFixed(1)); } time = item.time; if(item.temp){ $("#" + item.deviceId + "_temp").text(item.temp + "℃"); tempSum += item.temp; i ++; if(!tempMax){ tempMax = item.temp; } if(!tempMin){ tempMin = item.temp; } if(item.temp > tempMax){ tempMax = item.temp; } if(item.temp < tempMin){ tempMin = item.temp; } } if(item.hum){ $("#" + item.deviceId + "_hum").text(item.hum + "%"); humSum += item.hum; j ++; if(!humMax){ humMax = item.hum; } if(!humMin){ humMin = item.hum; } if(item.hum > humMax){ humMax = item.hum; } if(item.hum < humMin){ humMin = item.hum; } } }); $("#tempMax").text(tempMax == null?"--":tempMax.toFixed(1)); $("#tempMin").text(tempMin == null?"--":tempMin.toFixed(1)); $("#humMax").text(humMax == null?"--":humMax.toFixed(1)); $("#humMin").text(humMin == null?"--":humMin.toFixed(1)); if(i > 0){ $("#tempAve").text((tempSum/i).toFixed(1)); } if(j > 0){ $("#humAve").text((humSum/j).toFixed(1)); } $("#batchId").empty(); $('#batchId').append(new Option(time, time));// 下拉菜单里添加元素 form.render(); }