var layer; var depotId;// 当前仓库id var curData;// 当前仓粮情数据 var mapData;// 根据日期查询的每个仓库一条数据 var form; var table; var listData;// 默认页面中的粮情列表 var gasConf;// 气体采集配置信息,包括开始采集点和截至采集点。 $(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', theme : '#7b8e9f' }); laydate.render({ elem : '#printCheckDate', theme : '#7b8e9f' }); // 监听仓库选择 form.on('select(select_depotId)', function(obj) { flushData(null); //获取当前仓库效果图 cutImg(obj.value); //根据仓库编码切换采集点位置 // cutPoint(obj.value); }); // 监听选择批次 form.on('select(select_batchId)', function(obj) { var value = obj.value; if (value == "0") {// 表示弹出更多批次 showMore(); } else { flushByBatchId(value); } }); }); // 初始化WebSocket initWS(deptId, bizType,null, userId); }); // socket信息返回處理 function socketOnMessage(pocket) { if (pocket.orderResp == "MSG_SUCCESS") {// 信息解析成功刷新当前数据 flushData(null); }else if (pocket.orderResp == "ORDER_INPROGRESS") {// 命令执行中返回执行进度信息 window.parent.sysNotify(pocket.data.msg); //在页面中做对应的渲染 renderCheckPoint(pocket.data); } else{ window.parent.sysNotify(pocket.data); } }; //根据采集进度信息渲染采集点效果 function renderCheckPoint(checkProgress) { if (depotId != checkProgress.depotId) { $("#progress-info").text(""); return; } $("#progress-info").text(checkProgress.msg); //首先除去已有效果 $(".qt-pic-icon-active").removeClass("qt-pic-icon-active"); var id = "#point" + checkProgress.checkPoint+"-left"; $(id).addClass("qt-pic-icon-active"); id = "#point" + checkProgress.checkPoint+"-right"; $(id).addClass("qt-pic-icon-active"); } /** * 切换采集点 * @param depotId */ function cutPoint(depotId) { //首先除去已有效果 $(".qt-pic-icon-active").removeClass("qt-pic-icon-active"); //根据义乌这边直接判断 if("0135,0137,0139,0141,0143,0145,0147,0149,0151,0153".indexOf(depotId) >=0 ){ $("#list-point-right").css("display","block"); $("#list-point-left").css("display","none"); }else{ $("#list-point-right").css("display","none"); $("#list-point-left").css("display","block"); } } // 单仓打印 function printSingle() { layer.msg("开始生成打印模版……"); var html = builderModel(curData,dept); layer.msg("开始调用打印机程序预览……"); previewA4(html); }; // 批量打印 function printBatch() { // 首先去除之前的选择 var name; $('#batchPrintSelect input').each(function() { name = $(this).prop("name"); if (name == "printCheckDate") {// 跳过 return true; } $(this).prop("disabled", false); $(this).prop("checked", false); }); form.render(); // 弹出选择框 layer.open({ type : 1, title : '批量打印(红色表示没有检测记录,默认为当天)', area : [ '690px', '450px' ], shade : 0, content : $('#batchPrintSelect'), btn : [ '全选', '反选', '重选', '打印预览', '取消打印' ], yes : function() { var disabled, name; $('#batchPrintSelect input').each(function() { disabled = $(this).prop("disabled"); name = $(this).prop("name"); if (name == "printCheckDate" || disabled) { } else { $(this).prop("checked", true); } }); form.render(); }, btn2 : function() { var disabled, name; $('#batchPrintSelect input').each(function() { disabled = $(this).prop("disabled"); name = $(this).prop("name"); if (name == "printCheckDate" || disabled) { // 不做处理 } else { if ($(this).prop("checked")) { $(this).prop("checked", false); } else { $(this).prop("checked", true); } } }); form.render(); return false; }, btn3 : function() { var disabled, name; $('#batchPrintSelect input').each(function() { disabled = $(this).prop("disabled"); name = $(this).prop("name"); if (name == "printCheckDate" || disabled) { // 不做处理 } 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/gas/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); // 设置所有仓库不可选 var name; $('#batchPrintSelect input').each(function() { name = $(this).prop("name"); if (name != "printCheckDate") {// 跳过 $(this).prop("disabled", true); } }); form.render(); } else { mapData = result.data; // 动态调整仓库是否可以选择 var name, value; $('#batchPrintSelect input').each(function() { name = $(this).prop("name"); value = $(this).val(); if (name != "printCheckDate") {// 跳过 if (mapData[value]) { $(this).prop("disabled", false); } else { $(this).prop("disabled", true); } } }); form.render(); } }, error : function() { layer.msg("批量打印获取粮情信息失败!"); } }); }; // 根据查询的数据批量打印预览 function printBatchTodo() { layer.msg("开始批量生成打印模版……"); var strHtml; var value; var checked; var printData; // 将仓库数据列表转换为MAP var mapDepot = {}; $.each(listDepot, function(index, data) { mapDepot[data.id] = data; }); var LODOP = getLodop(); 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(); LODOP.NewPage(); printData = mapData[value]; if (!printData) {// 如果没有粮情数据跳过执行下一个 return true; } printData.depotData = mapDepot[value]; strHtml = builderModel(printData,dept); LODOP.ADD_PRINT_HTM(30, 40, "180mm", "100%", strHtml); } }); layer.msg("开始调用打印程序预览……"); LODOP.PREVIEW(); }; // 点击刷新操作 function flushData(checkDate) { depotId = $("#depotId").val(); if (!depotId) { layer.msg("请先选择仓库!"); return; } cleanData(); var data = { depotId : depotId, checkDate : checkDate }; $.ajax({ type : "POST", url : "../../basic/gas/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); } listData = result.data; if(!listData) return; curData = listData[0]; // 渲染数据 renderDataInfo(); // 在批次选择中添加下拉数据 resetSelectBatchId(); // 调用全部关闭 layer.closeAll(); layer.msg("更新成功……"); }, error : function() { layer.msg("根据当前条件获取粮情数据渲染图标失败!!"); } }); }; //清空数据 function cleanData() { //清空检测时间批次值 $("#batchId").empty(); form.render(); $("#perO2").text("#"); $("#perO2Max").text("#"); $("#perO2Min").text("#"); $("#perCo2").text("#"); $("#perCo2Max").text("#"); $("#perCo2Min").text("#"); $("#perPh3").text("#"); $("#perPh3Max").text("#"); $("#perPh3Min").text("#"); $("#perN2").text("#"); $("#perN2Max").text("#"); $("#perN2Min").text("#"); $("#tableInfo").html(""); } //切换仓库图片 function cutImg(depotId) { //默认图片 var imgPath = "../../static/img/gas/default_img.png"; //取仓库配置图片 var gasImg = gasImgMap[depotId]; if(gasImg){ imgPath = "../../static/img/gas/"+companyId+"/" + gasImg.img; }else { //仓库配置为空,则去库区配置 gasImg = gasImgMap[deptId]; if(gasImg){ imgPath = "../../static/img/gas/"+companyId+"/" + gasImg.img; } } $("#depot_img").attr("src", imgPath); } function renderTableInfo() { var listPoint = curData.listPoint; var tableHtml = ""; tableHtml += ""; tableHtml += ""; tableHtml += ""; // 动态创建表格 $.each(listPoint, function(index, item) { tableHtml += ""; tableHtml += ""; tableHtml += ""; tableHtml += ""; tableHtml += ""; }); tableHtml += "
通道CO2O2PH3N2
" + item.passCode + "" + item.perCo2 + "" + item.perO2 + "" + item.perPh3 + "" + item.perN2 + "
"; $("#tableInfo").html(tableHtml); }; // 回填检测信息 function renderDataInfo() { $("#perCo2").text(curData.perCo2); $("#perO2").text(curData.perO2); $("#perPh3").text(curData.perPh3); $("#perN2").text(curData.perN2); $("#perO2Max").text(curData.perO2Max); $("#perO2Min").text(curData.perO2Min); $("#perCo2Max").text(curData.perCo2Max); $("#perCo2Min").text(curData.perCo2Min); $("#perPh3Max").text(curData.perPh3Max); $("#perPh3Min").text(curData.perPh3Min); $("#perN2Max").text(curData.perN2Max); $("#perN2Min").text(curData.perN2Min); renderTableInfo(); }; // 根据批次更新的值调整 function flushByBatchId(batchId) { var temp; $.each(listData, function(index, item) { if (item.batchId == batchId) { temp = item; return false; } }); if (temp) { curData = temp; renderDataInfo(); layer.msg("更新成功……"); } }; // 重置批次下拉框 function resetSelectBatchId() { // 首先清空原来的值 $("#batchId").empty(); // 未下拉框赋值 $.each(listData, 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 : [ '380px', '250px' ], shade : 0, content : $('#dialogMoreSelect'), btn : [ '确认选择', '取消' ], yes : function() { var checkDateMore = $("#checkDateMore").val(); if (checkDateMore) { flushData(checkDateMore); } else { layer.msg("请先确认时间!"); } }, btn2 : function() { layer.close(0); }, closeBtn : 0 }); }; // 气体采集的入口方法,type=1,表示整仓采集;type=2,表示选择采集,type=3表示多仓采集 function checkStart(type) { if (3 == type) { checkBatch(); return; } // 整仓采集和选择采集需要获取到气体的配置信息后进行操作 depotId = $("#depotId").val(); if (!depotId) { layer.msg("请先选择仓库!"); return; } if (gasConf && gasConf.depotId == depotId) { if (1 == type) { check(); } if (2 == type) { checkSelect(); } return; } layer.msg("获取当前仓库的配置信息……"); var data = { depotId : depotId }; $.ajax({ type : "POST", url : "../../basic/gas/gas-conf", dataType : "json", contentType : "application/json;charset=UTF-8", data : JSON.stringify(data), success : function(result) { if (result.code != "0000") { layer.msg(result.msg); return; } gasConf = result.data; if (1 == type) { check(); return; } if (2 == type) { checkSelect(); return; } }, error : function() { layer.msg("获取当前仓库配置信息失败!"); } }); }; // 单个粮情检测 function check() { layer.msg("开始气体检测……"); var data = { depotId : depotId }; $.ajax({ type : "POST", url : "../../basic/gas/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 checkSelect() { // 弹出选择框,选择信息 var gasStart = gasConf.gasStart, gasEnd = gasConf.gasEnd; var strHtml = ""; for (var i = gasStart; i <= gasEnd; i++) { if (i < 10) { strHtml += ""; strHtml += "
位置0" + i + "
"; } else { strHtml += ""; strHtml += "
位置" + i + "
"; } } $("#div_point_select").html(strHtml); form.render(); // 开始选择 layer.open({ type : 1, title : '选择采集点(全选请使用整仓采集)', area : [ '690px', '450px' ], shade : 0, content : $('#pointSelect'), btn : [ '全选', '反选', '重选', '确定检测', '取消检测' ], yes : function() { $('#pointSelect input').each(function() { $(this).prop("checked", true); }); form.render(); }, btn2 : function() { $('#pointSelect input').each(function() { if ($(this).prop("checked")) { $(this).prop("checked", false); } else { $(this).prop("checked", true); } }); form.render(); return false; }, btn3 : function() { $('#pointSelect input').each(function() { $(this).prop("checked", false); }); form.render(); return false; }, btn4 : function() { return checkSelectStep2(); }, btn5 : function() { layer.close(0); }, closeBtn : 1 }); }; // 执行采集点检测 function checkSelectStep2() { // 获取选择的采集点 var checkPoints = ""; $('#pointSelect input').each(function() { if ($(this).prop("checked")) { checkPoints += $(this).val() + ","; } }); if (checkPoints == "") { layer.msg("请选择需要检测的采集点"); return false; } layer.msg("开始气体检测……"); var data = { depotId : depotId, checkPoints : checkPoints }; $.ajax({ type : "POST", url : "../../basic/gas/check-select", 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; }; // 批量粮情采集 function checkBatch() { // 首先去除之前的选择 $('#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 checkBatchStep2(); }, btn5 : function() { layer.close(0); }, closeBtn : 0 }); }; /** * 开始执行批量检测 */ function checkBatchStep2() { 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/gas/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; }; function gasChart() { layer.msg("功能暂未开放……"); };