Index: ssts-web/src/main/webapp/disinfectsystem/print/print.js =================================================================== diff -u -r13669 -r13690 --- ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13669) +++ ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13690) @@ -840,34 +840,57 @@ var newDate = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate(); return newDate; } +//根据标签纸类型设置打印页面类型 +function setFormTypeOfPrintedByPageType(tousseType,pageType){ + var formType = pageTypeToFormTypeOfPrinted(tousseType,pageType); + if(formType == ''){ + formType = "smallLabel"; + } + formTypeOfPrinted = formType; +} +function pageTypeToFormTypeOfPrinted(tousseType,pageType){ + var formType = ''; + if(pageType == "加大标签"){ + formType = "exLargeLabel"; + } + else if(pageType == "大标签"){ + formType = "largeLabel"; + }else if(pageType == "中标签"){ //需要改造,调用print(obj)进行打印 + formType = "middleLable"; + }else if(pageType == "中标签2"){ //需要改造,调用print(obj)进行打印 + formType = "middleLable2"; + }else if(pageType == "小标签2"){ + formType = "smallLabel2"; + } + if(formType != ''){ + if(tousseType=='消毒物品'){ + formType = formType + '_disinfect'; + } + } + return formType; +} +function isPageTypeConfigured(tousseType,pageType){ + var formType = pageTypeToFormTypeOfPrinted(tousseType,pageType); + if(formType == ''){ + return false; + } + return isFormTypeConfigured(formType); +} +function isFormTypeConfigured(formType){ + var myObj = printConfig[formType]; + if(isUndefinedOrNullOrEmpty(myObj)){ + return false; + } + return true; +} //打印装配包 function defaultPrintPackage(obj) { var pageType = obj.pageType; if (!isUndefinedOrNullOrEmpty(obj.barcode)) { - if(pageType == "加大标签"){ - formTypeOfPrinted = "exLargeLabel"; - print(obj); - } - else if(pageType == "大标签"){ - formTypeOfPrinted = "largeLabel"; - print(obj); - }else if(pageType == "中标签"){ //需要改造,调用print(obj)进行打印 - formTypeOfPrinted = "middleLable"; - print(obj); -// printPackage_60x80(barcode,name,material,operator,reviewer,sterilizationDate,validDate,hospitalName,sterilizer,frequency,markTousse,sterilingType); - }else if(pageType == "中标签2"){ //需要改造,调用print(obj)进行打印 - formTypeOfPrinted = "middleLable2"; - print(obj); -// printPackage_60x80(barcode,name,material,operator,reviewer,sterilizationDate,validDate,hospitalName,sterilizer,frequency,markTousse,sterilingType); - }else if(pageType == "小标签2"){ - formTypeOfPrinted = "smallLabel2"; - print(obj); - }else{ - formTypeOfPrinted = "smallLabel"; - print(obj); - } + setFormTypeOfPrintedByPageType(obj.tousseType,pageType); + print(obj); // jeff li 2015/6/26,增加选择打印机的功能,会从C:\forgon\config\printConfig.ini本地文件 // 读取配置,如果没有获取到对应的打印机,则会用默认打印机打印。 var printerName = getPrinterNameByType(formTypeOfPrinted); @@ -885,6 +908,111 @@ alert("打印内容为空"); } } +// 打印消毒物品 +function defaultPrintDisinfection(tousseObj) { + var barcodes = tousseObj.barcodes; + var validDate = tousseObj.validDate; + var packageType = tousseObj.packageType; + + if (typeof(validDate) == undefined || typeof(validDate) == "undefined"){ + alert("包装类型【" + packageType + "】的有效期未定义,请检查系统参数设置!"); + return; + } + + var isTraceable = tousseObj.isTraceable; + var fixedBarcode = tousseObj.fixedBarcode; + + var tousseName = tousseObj.tousseName; + + var packTime = tousseObj.packTime; + var sterilizationDate = tousseObj.sterilizationDate; // 灭菌日期,高水平消毒的消毒物品,采用该值作为消毒日期 + var materialsJsonArray = tousseObj.materialsJsonArray; + var department = tousseObj.department; + var isSterile = tousseObj.isSterile; + + var operatorToPrint = tousseObj.operatorToPrint; + var reviewerToPrint = tousseObj.reviewerToPrint; + + if(barcodes != null && barcodes.length > 0){ + if(department != null && department != ""){ + // 消毒物品如果追溯,则在物品名字前面打印科室名称,不追溯就不打印科室名称 + /*if (isTraceable){ + tousseName = "(" + department + ")" + tousseName; + }*/ + //调整为消毒物品的器械包定义是否打印科室如果为是,则打印科室名称 + if(tousseObj.isPrintOrg == true){ + tousseName = "(" + department + ")" + tousseName; + } + } + for ( var j = 0; j < barcodes.length; j++) { + var printBarcodeStr = barcodes[j]; + if(!isTraceable){ + printBarcodeStr = fixedBarcode; + } + if (printBarcodeStr != null && printBarcodeStr != '') { + + LODOP = getLodop(document.getElementById('LODOP'), document + .getElementById('LODOP_EM')); + var position = tousseName.indexOf("_"); + if (position > 0){ + tousseName = tousseName.substring(0, position); + } + + var tableHtml =""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + + var dateStr = packTime; + // 如果该消毒物品需要灭菌,并且灭菌日期不为空,则消毒日期取灭菌日期的值 + if (tousseObj.isSterile == '是' && sterilizationDate != "" && sterilizationDate != 'undefined'){ + dateStr = sterilizationDate; + } + + if (dateStr.length > 10){ + dateStr = dateStr.substring(0,10); + } + + tableHtml += ""; + tableHtml += ""; + + //打印材料明细 + if(materialsJsonArray && materialsJsonArray.length>0){ + tableHtml += ""; + tableHtml += ""); + } + + tableHtml += ""; + tableHtml += ""; + + + tableHtml += "
"+tousseName+"
"; + tableHtml += "
消毒日期:" + dateStr + "
"; + tableHtml += "
"; + + var materialHtml = ""; +// materialHtml += ""; + for ( var i = 0; i < materialsJsonArray.length; i++) { + materialHtml += ""; + + } + materialHtml += "
物品名称数量
"+materialsJsonArray[i].name+""+materialsJsonArray[i].count+"
"; + + + tableHtml += (materialHtml + "
"; + tableHtml += tousseObj.packageTypeAbbreviation+""; + tableHtml += "
"+printBarcodeStr; + tableHtml += "
"; + LODOP.ADD_PRINT_HTM(0,0,"100%","100%",""+tableHtml+""); + LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page"); + + LODOP.PRINT(); + } else { + alert("打印的物品没有条码,无法打印"); + } + } + } +} function printObjByConfig(printSummaryObj) { formTypeOfPrinted = printSummaryObj.formTypeOfPrinted; print(printSummaryObj); @@ -1868,6 +1996,31 @@ var idCardLargeLabelConfig_default = { customPrint:printIDCardLargeLabel_default } +//将一次性物品材料设置到材料属性里面 +function setDisposableGoodsItemsToMaterialInstances(idCardInstance){ + if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition)){ + return; + } + var diposableGoodsItems = idCardInstance.tousseDefinition.diposableGoodsItems; + if(isUndefinedOrNullOrEmpty(diposableGoodsItems)){ + return; + } + if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition.materialInstances)){ + idCardInstance.tousseDefinition.materialInstances = []; + } + var materialInstances = idCardInstance.tousseDefinition.materialInstances; + for(var i=0;i