| //初始化模板 | 
| initModel = function () { | 
|     if (CACHE_PRINT_MODEL.size > 0) { | 
|         return; | 
|     } | 
|     $.ajax({ | 
|         type: "POST", | 
|         url: "../../basic/grain/build-print-model-all", | 
|         data: JSON.stringify({ | 
|             depotId: depotId | 
|         }), | 
|         dataType: "json", | 
|         contentType: "application/json;charset=UTF-8", | 
|         success: function (result) { | 
|             if (result.code != "0000") { | 
|                 layer.msg(result.msg); | 
|                 return null; | 
|             } else { | 
|                 //存放在缓存中 | 
|                 CACHE_PRINT_MODEL = result.data; | 
|             } | 
|         }, | 
|         error: function () { | 
|             layer.msg("初始化模板失败!!"); | 
|         } | 
|     }); | 
| }; | 
|   | 
| /** | 
|  * 单仓打印,如果直接返回的模板信息为NULL,重新获取下模板 | 
|  * @param grainData | 
|  */ | 
| toPrintSingle = function (grainData) { | 
|     var html = null; | 
|   | 
|     var depotData = grainData.depotData; | 
|     if (!depotData.depotType) { | 
|         depotData.depotType = DepotType.T_01; | 
|     } | 
|     var key = builderModelKey(depotData.depotType, grainData.cable, grainData.cableCir); | 
|   | 
|     //先从单个模板中获取 | 
|     var modelData = CACHE_PRINT_MODEL[key]; | 
|     if (modelData) { | 
|         html = builderModelByType(modelData, grainData); | 
|         previewA4(html); | 
|         return; | 
|     } | 
|   | 
|     console.log("---------重新获取模板--------"); | 
|   | 
|     $.ajax({ | 
|         type: "POST", | 
|         url: "../../basic/grain/build-print-model", | 
|         data: JSON.stringify({ | 
|             depotId: depotId, | 
|             depotType: depotData.depotType, | 
|             cableRule: grainData.cable, | 
|             cableCir: grainData.cableCir | 
|         }), | 
|         dataType: "json", | 
|         contentType: "application/json;charset=UTF-8", | 
|         success: function (result) { | 
|             if (result.code != "0000") { | 
|                 layer.alert("服务器获取打印模板失败,请重新操作-" + result.msg); | 
|                 return; | 
|             } else { | 
|                 html = builderModelByType(result.data, grainData); | 
|                 previewA4(html); | 
|                 return; | 
|             } | 
|         }, | 
|         error: function () { | 
|             layer.alert("服务器获取打印模板失败!!!"); | 
|         } | 
|     }); | 
| }; | 
|   | 
| /** | 
|  * 获取模板 | 
|  * @param grainData | 
|  */ | 
| builderModel = function (grainData) { | 
|     var depotData = grainData.depotData; | 
|     if (!depotData.depotType) { | 
|         depotData.depotType = DepotType.T_01; | 
|     } | 
|     var key = builderModelKey(depotData.depotType, grainData.cable, grainData.cableCir); | 
|   | 
|     //先从单个模板中获取 | 
|     var modelData = CACHE_PRINT_MODEL[key]; | 
|     if (modelData) { | 
|         // return builderModelStep2(modelData, grainData); | 
|         return builderModelByType(modelData, grainData); | 
|     } else { | 
|         return null; | 
|     } | 
| }; | 
|   | 
| /** | 
|  * 获取模板后添加数据 | 
|  * @param grainData | 
|  */ | 
| builderModelByType = function (modelData, grainData) { | 
|     var depotData = grainData.depotData; | 
|     //动态数据信息--平方仓 | 
|     if (DepotType.T_01 == depotData.depotType) { | 
|         return builderModelLay(grainData); | 
|     }else if (DepotType.T_02 == depotData.depotType) { | 
|         return builderModelCir(modelData, grainData); | 
|     }else if (DepotType.T_03 == depotData.depotType) { | 
|         return builderModelCir(modelData, grainData); | 
|     }else if (DepotType.T_04 == depotData.depotType) { | 
|         return builderModelCir(modelData, grainData); | 
|     }else { | 
|         return builderModelLay(modelData, grainData); | 
|     } | 
| }; | 
|   | 
| /** | 
|  * 获取模板后添加数据--筒仓 | 
|  * @param grainData | 
|  */ | 
| builderModelCir = function (modelData, grainData) { | 
|     var attCable = grainData.cable.split("-"); | 
|     numZ = attCable[0]; | 
|     numY = attCable[1]; | 
|     numX = attCable[2]; | 
|   | 
|     var model = modelData.model; | 
|     var depotData = grainData.depotData; | 
|     //替换基础数据 | 
|     if (dept) { | 
|         model = model.replace("companyName", dept.name); | 
|     } else { | 
|         model = model.replace("companyName", "智慧粮库"); | 
|     } | 
|     model = model.replace("depotName", depotData.name) | 
|         .replace("weather", grainData.weather == null ? "" : grainData.weather) | 
|         .replace("orientation", depotData.orientation == null ? "" : depotData.orientation) | 
|         .replace("checkDate", grainData.receiveDate) | 
|         .replace("remark", grainData.remark == null ? "正常" : grainData.remark) | 
|         .replace("c_max_all", grainData.tempMax) | 
|         .replace("c_min_all", grainData.tempMin) | 
|         .replace("c_ave_all", grainData.tempAve); | 
|   | 
|     model = model.replace("c_out_ave_all", "");//暂时不用 | 
|     model = model.replace("c_in_ave_all", "");//暂时不用 | 
|   | 
|     model = model.replace("c_tIn", grainData.tempIn <= -100.0 ? "备用" : grainData.tempIn) | 
|         .replace("c_hIn", grainData.humidityIn <= -100.0 ? "备用" : grainData.humidityIn) | 
|         .replace("c_tOut", grainData.tempOut <= -100.0 ? "备用" : grainData.tempOut) | 
|         .replace("c_hOut", grainData.humidityOut <= -100.0 ? "备用" : grainData.humidityOut) | 
|         .replace("c_depotType", depotData.depotTypeName == null ? "/":depotData.depotTypeName) | 
|         .replace("c_storeDate", depotData.storeDate == null ? "/" : depotData.storeDate.substring(0,10)) | 
|         .replace("c_foodLocation", depotData.foodLocation == null ? "/" : depotData.foodLocation) | 
|         .replace("c_foodVariety", depotData.foodVarietyName == null ? "/" : depotData.foodVarietyName) | 
|         .replace("c_perWet", depotData.perWet == null ? "/" : depotData.perWet) | 
|         .replace("c_perImpurity", depotData.perImpurity == null ? "/" : depotData.perImpurity) | 
|         .replace("c_bulkWeight", depotData.bulkWeight == null ? "/" : depotData.bulkWeight) | 
|         .replace("c_storeDate", depotData.storeDate == null ? "/" : depotData.storeDate) | 
|         .replace("c_storageReal", depotData.storageReal == null ? "/" : (Number(depotData.storageReal)/1000).toFixed(2)) | 
|         .replace("c_checkUser", grainData.checkUser == null ? "/":grainData.checkUser) | 
|         .replace("c_storeKeeperName", depotData.storeKeeperName == null ? "/" : depotData.storeKeeperName) | 
|         .replace("createBillDate", grainData.sysDate); | 
|   | 
|     //动态数据信息--平方仓 | 
|     if (DepotType.T_01 == depotData.depotType) { | 
|         if ("ROW" == modelData.modelType) { | 
|             model = addPointsRow1(model, grainData, numX); | 
|         } else { | 
|             model = addPoints1(model, grainData, numX); | 
|         } | 
|     } | 
|     //动态数据信息--浅圆仓 | 
|     if (DepotType.T_02 == depotData.depotType) { | 
|         model = addPoints4(model, grainData); | 
|     } | 
|     //动态数据信息--油罐 | 
|     if (DepotType.T_03 == depotData.depotType) { | 
|         var oilHeight = grainData.oilHeight; | 
|         if (oilHeight) { | 
|             var att = oilHeight.split("-"); | 
|             model = model.replace("c_depotHeight", att[1]) | 
|                 .replace("c_oilHeight", att[0]); | 
|         } else { | 
|             model = model.replace("c_depotHeight", "#") | 
|                 .replace("c_oilHeight", "#"); | 
|         } | 
|         model = addPoints4(model, grainData); | 
|     } | 
|     //动态数据信息--立筒仓 | 
|     if (DepotType.T_04 == depotData.depotType) { | 
|         model = addPoints4(model, grainData); | 
|     } | 
|     return model; | 
| }; | 
|   | 
| /** | 
|  * 平方仓打印报表 | 
|  */ | 
| builderModelLay = function(grainData) { | 
|     var depotData = grainData.depotData; | 
|     var quality = grainData.mquality; | 
|     var qualityItemMap = {}; | 
|     if(quality){ | 
|         var item = quality.checkItems; | 
|         if(item){ | 
|             for (var i =0;i<item.length;i++){ | 
|                 qualityItemMap[item[i].standardId] = item[i]; | 
|             } | 
|         } | 
|     } | 
|     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 model = "<!DOCTYPE html><html lang=\"zh-cn\">\n" | 
|         + "<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"><title>粮情报表模版</title>" | 
|         + "    <style>\n" | 
|         + "        table,table tr th,table tr td{border:1px solid #0d1021}table{width:100%;line-height:23px;text-align:center;font-size:14px}.table-2{border-top:0px solid #0d1021 !important}.table-2 tr{border-top:0px solid #0d1021 !important}.table-2 td{border-top:0px solid #0d1021 !important}.table-row-tr{border-left:0px !important;border-right:0px !important;border-top:0px !important}.table-row-fz{border:0px !important}.link-top{width:100%;border-top:solid #0d1021 1px}</style>\n" | 
|         + "</head>\n" + "<body>"; | 
|   | 
|     model += "<div style=\"text-align: center\">\n" | 
|         + "<span style=\"font-size: 26px; font-weight: bold;\">\n"; | 
|     if(dept){ | 
|         model += dept.name; | 
|     }else{ | 
|         model += "--XXX--粮库" | 
|     } | 
|     model += "</span><div class=\"link-top\"></div><div class=\"link-top\"></div>\n"; | 
|     model += "<span style=\"font-size: 18px; \">"; | 
|     model += depotData.name; | 
|     if(compareData){ | 
|         model += "    粮情报表(层基准) 对比 "+compareData.batchId+"</span>\n"; | 
|     }else{ | 
|         model += "    粮情报表(层基准)</span>\n"; | 
|     } | 
|     model += "</div><div style=\"margin-top: 5px;\"><span style=\"float: left;\">天气:"; | 
|     model += grainData.weather ==null?"":grainData.weather; | 
|     model += "  方向:"; | 
|     model += depotData.orientation ==null?"":depotData.orientation | 
|     model += "</span><span style=\"float: right;\">检测时间:"; | 
|     model += grainData.receiveDate; | 
|     model += "</span></div>"; | 
|   | 
|     //动态配置 | 
|     model += "<table cellspacing=\"0\" cellpadding=\"0\"><tr><td colspan=\"2\"></td>"; | 
|     //动态添加列配置 | 
|     for (var x = 1; x <= numX; x++) { | 
|         model += "<td>第" + x + "列</td>"; | 
|     } | 
|     model += "</tr>"; | 
|     //动态添加采集点信息 Y | 
|     for (var y = 1; y <= numY; y++) { | 
|         for (var z = 1; z <= numZ; z++) { | 
|             model += "<tr>"; | 
|             if (1 == z) { | 
|                 model += "<td rowspan=" + numZ + " class=\"table-row-tr\">" | 
|                     + y + "行</td>"; | 
|             } | 
|             if (z == numZ) { | 
|                 model += "<td class=\"table-row-tr\">" + z + "层</td>"; | 
|             } else { | 
|                 model += "<td class=\"table-row-fz\">" + z + "层</td>"; | 
|             } | 
|             for (var x = numX; x >= 1; x--) { //值的格式:cell+层+行+列 | 
|                 if (z == numZ) { | 
|                     model += "<td class=\"table-row-tr\">c_" + z + y + x | 
|                         + "</td>"; | 
|                 } else { | 
|                     model += "<td class=\"table-row-fz\">c_" + z + y + x | 
|                         + "</td>"; | 
|                 } | 
|             } | 
|             model += "</tr>"; | 
|         } | 
|     } | 
|     model += "</table>"; | 
|     //开始添加粮情整体数据 | 
|     model += "<table cellspacing=\"0\" cellpadding=\"0\" class=\"table-2\">"; | 
|     model += "<tr><td width=\"200px\">粮情分析:</td>"; | 
|     model += "<td colspan=5>" + grainData.remark + "</td></tr>"; | 
|     model += "</tr><tr><td></td><td>最高</td><td>最低</td><td>平均</td><td>周均</td><td>内均</td></tr>"; | 
|     //遍历每层的信息 | 
|     var layData; | 
|     for (var i = 0; i < listLays.length; i++) { | 
|         layData = listLays[i]; | 
|         model += "<tr><td>"; | 
|         model += layData.fz + "层"; | 
|         model += "</td><td>"; | 
|         model += layData.tempMax; | 
|         model += "</td><td>"; | 
|         model += layData.tempMin; | 
|         model += "</td><td>"; | 
|         model += layData.tempAve; | 
|         model += "</td><td>"; | 
|         model += layData.tempAveOut; | 
|         model += "</td><td>"; | 
|         model += layData.tempAveIn; | 
|         model += "</td></tr>"; | 
|     } | 
|     //整仓 | 
|     model += "<tr><td>整仓</td><td>"; | 
|     model += grainData.tempMax; | 
|     model += "</td><td>"; | 
|     model += grainData.tempMin; | 
|     model += "</td><td>"; | 
|     model += grainData.tempAve; | 
|     model += "</td><td>"; | 
|     model += "</td><td>"; | 
|     model += "</td></tr>"; | 
|   | 
|     //固定栏位值 | 
|     model += "<tr><td>仓温:" + (grainData.tempIn <= -100.0 ? "备用" : grainData.tempIn) + "</td>"; | 
|     model += "<td>仓湿:" + (grainData.humidityIn <= -100.0 ? "备用" : grainData.humidityIn) + "</td>"; | 
|     model += "<td colspan=\"2\">气温:" + (grainData.tempOut <= -100.0 ? "备用" : grainData.tempOut) + "</td>"; | 
|     model += "<td colspan=\"2\">气湿:" + (grainData.humidityOut <= -100.0 ? "备用" : grainData.humidityOut) + "</td></tr>"; | 
|   | 
|     model += "<tr><td>仓房类型</td><td>" + (depotData.depotTypeName == null?'/':depotData.depotTypeName) + "</td>"; | 
|     model += "<td colspan=\"2\">入仓日期</td><td colspan=\"2\">" | 
|         + (depotData.storeDate == null?'/':depotData.storeDate.substring(0,10)) + "</td></tr>"; | 
|   | 
|     model += "<tr><td>粮食品种</td><td>" + (depotData.foodVarietyName == null?'/':depotData.foodVarietyName) + "</td>"; | 
|     model += "<td colspan=\"2\">实际储量(吨)</td><td colspan=\"2\">" | 
|         + (depotData.storageReal == null?'/':(Number(depotData.storageReal)/1000).toFixed(2)) + "</td></tr>"; | 
|   | 
|     model += "<tr><td>水分(入仓% ~ 当前%)</td><td>" + (depotData.perWet == null?'/':depotData.perWet) + " ~ " + getCheckValue(qualityItemMap,"C01") + "</td>"; | 
|     model += "<td colspan=\"2\">出糙率(%)</td><td colspan=\"2\">" | 
|         + getCheckValue(qualityItemMap,"C09") + "</td></tr>"; | 
|   | 
|     model += "<tr><td>发芽率(%)</td><td>" + getCheckValue(qualityItemMap,"C32")+"</td>";//发芽率 | 
|     model += "<td colspan=\"2\">粮食产地</td><td colspan=\"2\">" | 
|         + (depotData.foodLocation == null?'/':depotData.foodLocation) + "</td></tr>"; | 
|   | 
|     model += "<tr><td>容重(kg/m3)</td><td>" + getCheckValue(qualityItemMap,"C03")+ "</td>"; | 
|     model += "<td colspan=\"2\">面筋持水率(%)</td><td colspan=\"2\">"+ getCheckValue(qualityItemMap,"C08") +"</td></tr>";//没有填写 | 
|   | 
|     model += "<tr><td>杂质(%)</td><td>" + getCheckValue(qualityItemMap,"C02") + "</td>"; | 
|     model += "<td colspan=\"2\">不完善粒(%)</td><td colspan=\"2\">"; | 
|     model += getCheckValue(qualityItemMap,"C04"); | 
|     model +=  "</td></tr>"; | 
|   | 
|     model += "<tr><td>检测人</td><td>" + (grainData.checkUser == null?'/':grainData.checkUser) + "</td>"; | 
|     model += "<td colspan=\"2\">保管员</td><td colspan=\"2\">" | 
|         + (depotData.storeKeeperName == null?'/':depotData.storeKeeperName) + "</td></tr>"; | 
|     model += "</table>"; | 
|   | 
|     //添加尾部信息 | 
|     model += "<div style=\"margin-top: 5px;\">"; | 
|     model += "<span style=\"float: left;\">注:#表示层最低温  *表示层最高温  \<表示电缆开始位置\></span>"; | 
|     model += "<span style=\"float: right;\">制表时间:" + grainData.sysDate | 
|         + "</span></div>"; | 
|     model += "</div></body></html>"; | 
|     //点位信息赋值 | 
|     model = attrPointsLay(model, grainData.listPoints,listLays,numX); | 
|     return model; | 
| }; | 
|   | 
| //根据采集点赋值,注意数据库生成的坐标是从0开始的 | 
| attrPointsLay = function (model, listPoints, listLays, numX) { | 
|     var point; | 
|     var key; | 
|     var lay; | 
|     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); | 
|         //判断层高低温 | 
|         lay = listLays[point.z]; | 
|         if (-100.0 == temp) { | 
|             temp = "备用"; | 
|         } | 
|         if (-101.0 == temp) { | 
|             temp = "故障"; | 
|         } | 
|         if (temp == lay.tempMax) { | 
|             temp = temp + "*"; | 
|         } | 
|         if (temp == lay.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; | 
| }; | 
|   | 
| /** | 
|  * 模板缓存KEY的生成 | 
|  * @param depotType | 
|  * @param cable | 
|  * @param cableCir | 
|  */ | 
| builderModelKey = function (depotType, cable, cableCir) { | 
|     if (cableCir) { | 
|         return depotType + "_" + cable + "_" + cableCir; | 
|     } | 
|     return depotType + "_" + cable; | 
| }; | 
|   | 
| //根据采集点赋值,注意数据库生成的坐标是从0开始的 | 
| addPoints1 = function (model, numX) { | 
|     var listPoints = grainData.listPoints; | 
|     var listLays = grainData.listLays; | 
|     var point; | 
|     var key; | 
|     var lay; | 
|     var temp; | 
|     for (var i = 0; i < listPoints.length; i++) { | 
|         point = listPoints[i]; | 
|         temp = point.temp; | 
|         lay = listLays[point.z]; | 
|         //层最 | 
|         if (lay.z <= listLays.length) { | 
|             key = "c_max_" + (lay.z + 1); | 
|             model = model.replace(key, lay.tempMax); | 
|             key = "c_min_" + (lay.z + 1); | 
|             model = model.replace(key, lay.tempMin); | 
|             key = "c_ave_" + (lay.z + 1); | 
|             model = model.replace(key, lay.tempAve); | 
|             key = "c_out_ave_" + (lay.z + 1); | 
|             model = model.replace(key, lay.tempAveOut); | 
|             key = "c_in_ave_" + (lay.z + 1); | 
|             model = model.replace(key, lay.tempAveIn); | 
|         } | 
|   | 
|         key = (point.z + 1) + '_' + (point.y + 1) + '_' + (point.x + 1); | 
|         if (-100.0 == temp) { | 
|             temp = "备用"; | 
|         } | 
|         if (-101.0 == temp) { | 
|             temp = "故障"; | 
|         } | 
|         if (temp == lay.tempMax) { | 
|             temp = temp + "*"; | 
|         } | 
|         if (temp == lay.tempMin) { | 
|             temp = temp + "#"; | 
|         } | 
|         //key = c_z+1 + 1 + numX表示第一列 | 
|         // if (key == ((point.z + 1) + "1" + numX) + "_c") { | 
|         //     temp = "<" + temp + ">"; | 
|         // } | 
|         model = model.replace(key, temp); | 
|     } | 
|     return model; | 
| }; | 
|   | 
| //横向通风赋值 | 
| addPointsRow1 = function (model, grainData, numX) { | 
|     var listPoints = grainData.listPoints; | 
|     var listRows = grainData.listRows; | 
|     var point; | 
|     var key; | 
|     var temp; | 
|     for (var i = 0; i < listPoints.length; i++) { | 
|         point = listPoints[i]; | 
|         temp = point.temp; | 
|         row = listRows[point.y]; | 
|         //行最大 | 
|         if (row.y <= listRows.length) { | 
|             key = "c_max_" + (row.y + 1); | 
|             model = model.replace(key, row.tempMax); | 
|             key = "c_min_" + (row.y + 1); | 
|             model = model.replace(key, row.tempMin); | 
|             key = "c_ave_" + (row.y + 1); | 
|             model = model.replace(key, row.tempAve); | 
|         } | 
|   | 
|         key = (point.z + 1) + '_' + (point.y + 1) + '_' + (point.x + 1); | 
|         if (-100.0 == temp) { | 
|             temp = "备用"; | 
|         } | 
|         if (-101.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; | 
| }; | 
|   | 
| //筒仓添加采集点和层温度信息 | 
| addPoints4 = function (model, grainData) { | 
|     // console.log(grainData); | 
|     var listPoints = grainData.listPoints; | 
|     var listLays = grainData.listLays; | 
|     var point; | 
|     var key; | 
|     var lay; | 
|     var temp; | 
|     for (var i = 0; i < listPoints.length; i++) { | 
|         point = listPoints[i]; | 
|         lay = listLays[point.z]; | 
|         temp = point.temp; | 
|         //层最 | 
|         if (lay.z <= listLays.length) { | 
|             key = "c_max_" + lay.z; | 
|             model = model.replace(key, lay.tempMax); | 
|             key = "c_min_" + lay.z; | 
|             model = model.replace(key, lay.tempMin); | 
|             key = "c_ave_" + lay.z; | 
|             model = model.replace(key, lay.tempAve); | 
|             key = "c_out_ave_" + lay.z; | 
|             model = model.replace(key, lay.tempAveOut); | 
|             key = "c_in_ave_" + lay.z; | 
|             model = model.replace(key, lay.tempAveIn); | 
|         } | 
|   | 
|         key = (point.x + 1) + "_" + (point.y + 1) + "_" + (point.z + 1); | 
|         //判断层高低温 | 
|         if (-100.0 == temp) { | 
|             temp = "备用"; | 
|         } | 
|         if (-101.0 == temp) { | 
|             temp = "故障"; | 
|         } | 
|         if (-102.0 == temp) { | 
|             temp = "--"; | 
|         } | 
|         if (temp == lay.tempMax) { | 
|             temp = temp + "*"; | 
|         } | 
|         if (temp == lay.tempMin) { | 
|             temp = temp + "#"; | 
|         } | 
|         model = model.replace(key, temp); | 
|     } | 
|     return model; | 
| }; | 
| /** | 
|  * 根据HTML模版打印为A4 | 
|  * @param strHtml | 
|  */ | 
| previewA4 = function (strHtml) { | 
|     var LODOP = CLODOP; | 
|     LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4"); | 
|     LODOP.PRINT_INIT("粮情报表"); | 
|     LODOP.ADD_PRINT_HTM(30, 40, "180mm", "100%", strHtml); | 
|     //设置默认满张打印 | 
|     LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Full-Page"); | 
|     LODOP.PREVIEW(); | 
| }; | 
|   | 
| getCheckValue = function(qualityItemMap,key){ | 
|     try{ | 
|         return (qualityItemMap[key].value?qualityItemMap[key].value:"/"); | 
|     }catch (e) { | 
|         console.log(e); | 
|         return "/"; | 
|     } | 
|     return "/"; | 
| }; |