//初始化模板 initModel = function () { }; /** * 单仓打印 * @param grainData */ toPrintSingle = function (grainData) { var model = builderModel(grainData); previewA4(model); }; /** * 根据粮库数据和粮情数据生成打印模版 * 注意:当前模版底部统计信息以行为基准进行统计 * @param depotData 仓库基本信息 * @param grainData 粮情数据信息 */ builderModel = function (grainData) { var depotData = grainData.depotData; var cable = grainData.cable; var attr = cable.split("-"); var numZ = attr[0];//层配置 var numY = attr[1];//行配置 var numX = attr[2];//列配置 //var listLays = grainData.listLays; var listRows = grainData.listRows; var model = "\n" + "粮情报表模版" + " \n" + "\n" + ""; model += "
\n" + "\n"; if (dept) { model += dept.name; } else { model += "--XXX--粮库" } model += "\n"; model += ""; model += depotData.name; if (compareData != null) { model += "    粮情报表(行基准) 对比 " + compareData.batchId + "\n"; } else { model += "    粮情报表(行基准)\n"; } model += "
天气:"; model += grainData.weather == null ? "" : grainData.weather; model += "  方向:"; model += depotData.orientation == null ? "" : depotData.orientation model += "检测时间:"; model += grainData.receiveDate; model += "
"; //动态配置 model += ""; //动态添加列配置 for (var x = 1; x <= numX; x++) { model += ""; } model += ""; //动态添加采集点信息 Y for (var y = 1; y <= numY; y++) { for (var z = 1; z <= numZ; z++) { model += ""; if (1 == z) { model += ""; } if (z == numZ) { model += ""; } else { model += ""; } for (var x = numX; x >= 1; x--) { //值的格式:cell+层+行+列 if (z == numZ) { model += ""; } else { model += ""; } } model += ""; } } model += "
第" + x + "列
" + y + "行" + z + "层" + z + "层c_" + z + y + x + "c_" + z + y + x + "
"; //开始添加粮情整体数据 model += ""; model += ""; model += ""; model += ""; //遍历每行的信息 var rowData; for (var i = 0; i < listRows.length; i++) { rowData = listRows[i]; model += ""; } //整仓 model += ""; //固定栏位值 model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += ""; model += "
粮情分析:" + grainData.remark + "
最高最低平均周均内均
"; model += (rowData.y + 1) + "行"; model += ""; model += rowData.tempMax; model += ""; model += rowData.tempMin; model += ""; model += rowData.tempAve; model += ""; model += ""; model += ""; model += ""; model += "
整仓"; model += grainData.tempMax; model += ""; model += grainData.tempMin; model += ""; model += grainData.tempAve; model += ""; model += ""; model += "
仓温:" + grainData.tempIn + "仓湿:" + grainData.humidityIn + "气温:" + grainData.tempOut + "气湿:" + grainData.humidityOut + "
仓房类型" + depotData.depotTypeName + "入仓日期" + depotData.storeDate + "
粮食品种" + depotData.foodVarietyName + "实际储量(吨)" + depotData.storageReal + "
入仓水分(%)" + depotData.perWet + "当前水分(%)" + depotData.perWet + "
出糙率(%)" + depotData.rough + "粮食产地" + depotData.foodLocation + "
容重(kg/m3)" + depotData.bulkWeight + "面筋持水率(%)" + depotData.waterGluten + "
杂质(%)" + depotData.perImpurity + "不完善粒(%)"; model += depotData.broken; model += "
检测人" + grainData.checkUser + "保管员" + depotData.storeKeeperName + "
"; //添加尾部信息 model += "
"; model += "注:#表示行最低温  *表示行最高温  \<表示电缆开始位置\>"; model += "制表时间:" + grainData.sysDate + "
"; model += ""; //点位信息赋值 model = attrPoints(model, grainData.listPoints, listRows, numX); return model; }; //根据采集点赋值,注意数据库生成的坐标是从0开始的 attrPoints = function (model, listPoints, listRows, numX) { var point; var key; var row; var temp; for (var i = 0; i < listPoints.length; i++) { point = listPoints[i]; temp = point.temp; key = "c_" + (point.z + 1) + (point.y + 1) + (point.x + 1); //判断层高低温 row = listRows[point.y]; if (-100.0 == temp) { temp = "备用"; } if (temp == row.tempMax) { temp = temp + "*"; } if (temp == row.tempMin) { temp = temp + "#"; } //key = c_z+1 + 1 + numX表示第一列 if (key == ("c_" + (point.z + 1) + "1" + numX)) { temp = "<" + temp + ">"; } model = model.replace(key, temp); } return model; }; /** * 根据HTML模版打印为A4 * @param strHtml */ previewA4 = function (strHtml) { // var LODOP = getLodop(); var LODOP = CLODOP; LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4"); LODOP.PRINT_INIT("打印为A4纸张_Lodop功能_全页"); LODOP.ADD_PRINT_HTM(30, 40, "180mm", "100%", strHtml); //设置默认满张打印 LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Full-Page"); LODOP.PREVIEW(); };