Index: ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js (revision 13627) @@ -0,0 +1,1219 @@ + +var invoicePlanPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : true, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : false, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : false, + printOrder : 2, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 2, + rowsPerPage : 8, + headerContent : [ + // 标题 + {label : "无菌物品领用单 ", dataIndex : 'header', fontSize : 17, position : ["0","60mm","99%",22]}, + {label : "单号:", dataIndex : 'serialNum', fontSize : 11, position : ["30","1%","90%",10]}, + {label : "接收部门:", dataIndex : 'depart', fontSize : 11, position : ["30","45mm","90%",5]}, + {label : "收物者:", dataIndex : '', fontSize : 11, position : ["30","100mm","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["30","165mm","90%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : ["49","1%","99%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 200, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 120, align : 'left', fontSize : 11}, + {header : "申请数量", dataIndex : 'applyAmount', width : 70, align : 'center', fontSize : 11}, + {header : "回收数量", dataIndex : 'recyclingAmount', width : 70, align : 'center', fontSize : 11} + //{header : "单位", dataIndex : 'unit', width : 60, align : 'left', fontSize : 11}, + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "回收人:", dataIndex : 'recyclingUser'}, + {label : " 清点人:", dataIndex : 'applicant'}, + {label : " 发货者:", dataIndex : ''}, + {label : " 收物者:", dataIndex : ''}, + {label : " 打印时间:", dataIndex : 'printTime'} + ] + } +} + +var invoiceComboPrintConfig = { + headerFooter : [ + // 页眉名称 + {label : "番禺区中医院", dataIndex : '', fontSize : 10, position : ["5","1%","90%",5]}, + // 标题 + {label : "材料出库单", dataIndex : '', fontSize : 15, position : ["20","40%","99%",5]}, + {label : "部门:", dataIndex : 'depart', fontSize : 11, position : ["55","2%","90%",5]}, + {label : "单号:", dataIndex : 'serialNumber', fontSize : 11, position : ["55","35%","90%",5]}, + {label : "仓库:消毒供应中心", dataIndex : '', fontSize : 11, position : ["55","75%","90%",5]}, + {label : "制单人:", dataIndex : 'printUser', fontSize : 11, position : ["80","75%","90%",5]}, + {label : "申请时间:", dataIndex : 'applicationTime', fontSize : 11, position : ["80","35%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["80","2%","90%",5]}, + {label : "主管:", dataIndex : '', fontSize : 11, position : ["415","5%","90%",5]}, + {label : "领料人:", dataIndex : '', fontSize : 11, position : ["415","40%","90%",5]}, + {label : "发货员:", dataIndex : 'sender', fontSize : 11, position : ["415","75%","90%",5]}, + {label : "发货日期:", dataIndex : 'sendTime', fontSize : 11, position : ["445","5%","90%",5]}, + {barcodes : [ + {codeType : "128Auto", dataIndex : 'departBarcode', position : ["3mm","74%","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ]} + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["445","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["445","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["100","1%","97%","7cm"], + headRepeat : true, + columns : [ + {header : "名称", dataIndex : 'name', width : 220, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'count', width : 40, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 40, align : 'center', fontSize : 11}, + {header : "规格", dataIndex : 'specification', width : 110, align : 'center', fontSize : 11}, + {header : "批次/灭菌日期", dataIndex : 'batchNumber', width : 105, align : 'center', fontSize : 11}, + {header : "失效日期", dataIndex : 'expireDate', width : 85, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'totalPrice', width : 75, align : 'right', fontSize : 11} + ] + } +} + +var applicationPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : true, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDiposable : true, // 器械包和一次性物品是否合并打印 + printApplyInfo : true, + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 1, + rowsPerPage : 8, + headerContent : [ + // 标题 + {label : "番禺区中医院CSSD无菌物品领用单", dataIndex : 'header', fontSize : 17, position : ["0","60mm","99%",22]}, + {label : "单号:", dataIndex : 'serialNum', fontSize : 11, position : ["30","1%","90%",10]}, + {label : "接收部门:", dataIndex : 'depart', fontSize : 11, position : ["30","45mm","90%",5]}, + {label : "收物者:", dataIndex : '', fontSize : 11, position : ["30","100mm","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 11, position : ["30","165mm","90%",5]} + + ], + goodsTable :{ + rowHeight : 25, + position : ["49","1%","99%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 200, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 120, align : 'left', fontSize : 11}, + {header : "申请数量", dataIndex : 'applyAmount', width : 60, align : 'center', fontSize : 11}, + {header : "回收数量", dataIndex : 'recyclingAmount', width : 60, align : 'center', fontSize : 11} + //{header : "单位", dataIndex : 'unit', width : 60, align : 'left', fontSize : 11}, + + ] + }, + footer: { + fontSize : 14, + content : [ + {label : " 清点人:", dataIndex : 'applicant'}, + {label : " 打印人:", dataIndex : 'printUser'}, + {label : " 发货者:", dataIndex : ''}, + {label : " 收物者:", dataIndex : ''}, + {label : " 打印时间:", dataIndex : 'printTime'} + + ] + }} + + var borrowPrintConfig = { + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : false, // 打印申请单是否打印一次性物品 + isMergePrintTousseAndDiposable : true, // 器械包和一次性物品是否合并打印 + printApplyInfo : true, + disinfectGoodsPrintMode : 1, + rowsPerPage : 14, + headerContent : [ + // 标题 + {label : "部门领货凭证(借物单)", dataIndex : '', fontSize : 17, position : ["0","5%","99%",22]}, + {label : "去向:", dataIndex : 'depart', fontSize : 10, position : ["55","5%","90%",5]}, + {label : "单号:", dataIndex : 'serialNum', fontSize : 10, position : ["55","25%","90%",5]}, + {label : "日期:", dataIndex : 'printTime', fontSize : 10, position : ["55","41%","90%",5]}, + {label : "备注:", dataIndex : 'remark', fontSize : 10, position : ["55","65%","90%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : ["75","2%","97%","2000"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 340, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 60, align : 'right', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 100, align : 'center', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 60, align : 'center', fontSize : 11}, + {header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11}, + {header : "金额", dataIndex : 'rowPrice', width : 75, align : 'right', fontSize : 11} + ] + }, + footer: { + fontSize : 14, + content : [ + {label : "制单:", dataIndex : 'printUser'}, + {label : " 申请人:", dataIndex : 'applicant'}, + {label : " 复核: ", dataIndex : ''}, + {label : " 验收: ", dataIndex : ''}, + {label : "提交时间:", dataIndex : 'applicationTime'} + ] + }, + barcodes : [ + {codeType : "128Auto", dataIndex : 'serialNum', position : ["0","65%",210,30], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] + + } + +// 打印回收清单配置 +var recyclingItemsPrintConfig = { + isPrintTousse : false, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : false, + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : false, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : false, + printOrder : 2, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 3, + sortDisinfcetGoodsByDepartShift : true, + headerFooter : [ + // 标题 + {label : "番禺区中医院消毒物品下送表", dataIndex : 'header', fontSize : 17, position : ["20","60mm","99%",22]}, + {label : "统计时间: ", dataIndex : 'fromTime', fontSize : 11, position : ["70","20mm","90%",5]}, + {label : "至 ", dataIndex : 'toTime', fontSize : 11, position : ["70","95mm","90%",5]}, + {label : "制单人: ", dataIndex : 'printUser', fontSize : 11, position : ["90","20mm","90%",5]}, + {label : "打印时间: ", dataIndex : 'printTime', fontSize : 11, position : ["90","95mm","90%",5]} + + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["27.5cm","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["27.5cm","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["117","3%","97%","23cm"], + headRepeat : true, + columns : [ + {header : "序号", dataIndex : 'serialNumber', width : 40, align : 'center', fontSize : 11}, + {header : "科室分类", dataIndex : 'departShift', width : 90, align : 'left', fontSize : 11}, + {header : "科室名称", dataIndex : 'applicationDepart', width : 100, align : 'left', fontSize : 11}, + {header : "项目名称", dataIndex : 'goodsName', width : 100, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 45, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 45, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 100, align : 'left', fontSize : 11} + ] + } + } + +// 加大标签配置,100x100mm +var exLargeLabelConfig = { + headerContent : [ + // 器械包名称,水平居中 + {label : "", dataIndex : 'name', position : ["1mm","0mm","RightMargin:0mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "装配员:", dataIndex : 'operator', fontSize : 10, bold: 1, position : ["6mm","5mm","50mm","10px"]}, + {label : "审核员:", dataIndex : 'reviewer', fontSize : 10, bold: 1, position : ["6mm","55mm","50mm","10px"]}, + {label : "灭菌日期:", dataIndex : 'sterilizationDate', fontSize : 10, bold: 1, position : ["10mm","5mm","50mm","10px"]}, + {label : "失效日期:", dataIndex : 'validDate', fontSize : 10, bold: 1, position : ["10mm","55mm","50mm","10px"]}, + + {label : "", dataIndex : 'materials', position : ["14mm","0mm","RightMargin:0mm","BottomMargin:20mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + + {label : "灭菌程序:", dataIndex : 'sterilingType', position : ["78mm","0mm","RightMargin:50mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + + {label : "", dataIndex : 'name', position : ["87mm","0mm","RightMargin:50mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "", dataIndex : 'name', position : ["87mm","50mm","RightMargin:0mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"} + + ], + barcodes : [ + {codeType : "128Auto", dataIndex : 'barcode', position : ["77mm","55mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + }, + {codeType : "128Auto", dataIndex : 'barcode', position : ["91mm","5mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + }, + {codeType : "128Auto", dataIndex : 'barcode', position : ["91mm","55mm","40mm","8mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] +} + +function getMaterialsTabHtmlForMiddleLableConfig_zd5y(printSummaryObj,itemData){ + var materialsJsonArr = itemData; + var markTousse = printSummaryObj['markTousse']; + //绘制材料明细表格 + // 打印材料明细 + var materialsTab = ""; + var borderSize = 0; + + if(markTousse){ + borderSize = 1; + } + // 每行打印两个材料,所以行数为amount/2 + var colsPerRow = 2; +// alert(colsPerRow) + var materialsAmount = materialsJsonArr.length; + if(materialsJsonArr != null && materialsAmount > 0){ + var materialStr = ""; + var fontSize = 8; + var rows = (materialsAmount+1) / colsPerRow ; + if ( rows > 14){ + fontSize = 5; + } + else if (rows >= 12){ + fontSize = 6; + } + else if (rows >= 10){ + + } + for (var i=0;i" + materialName + "x" + material.count + ""; + } + // 使每行都有colsPerRow个 + if (materialsAmount % colsPerRow != 0) { + for (var i = 0; i < (colsPerRow - materialsAmount % colsPerRow); i++) { + materialStr += (""); + } + } + + if (materialStr.length > 0) { + materialsTab += ""; + var materialArray = materialStr.split("#;"); + for (var i=0; i"; + } + materialsTab += "
"; + } + } + + return materialsTab; +} + +// 中标签配置 +var middleLableConfig = { + customPrint:printMiddleLable_gzspyqzyy, + printDiposableGoods:true,// 是否打印一次性物品 + headerContent : [ +// {label : "", dataIndex : 'sterilingType', position : ["1mm","0mm","13mm","3mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + //{label : "", dataIndex : 'sterilingType', position : ["32mm","1mm","26mm","3mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + // 器械包名称,水平居中 + {label : "", dataIndex : 'name', position : ["0mm","14mm","RightMargin:0mm","5mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "装配员:", dataIndex : 'operator', fontSize : 6, bold: 1, position : ["38mm","25mm","19mm","3mm"]}, + {label : "审核员:", dataIndex : 'reviewer', fontSize : 6, bold: 1, position : ["41mm","25mm","19mm","3mm"]}, + {label : "灭菌期:", dataIndex : 'sterilizationDate', fontSize : 6, bold: 1, position : ["38mm","1mm","26mm","3mm"]}, + {label : "失效期:", dataIndex : 'validDate', fontSize : 6, bold: 1, position : ["41mm","1mm","26mm","3mm"]}, + + {label : "", dataIndex : 'materials',LODOPFun:'ADD_PRINT_IMAGE',formatter:getMaterialsTabHtmlForMiddleLableConfig_zd5y, position : ["5mm","15mm","60mm","27mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "器械总数:", dataIndex : 'materialAmount', fontSize : 6, bold: 1, position : ["32mm","45mm","30mm","3mm"]} + + +// {label : "", dataIndex : 'name', position : ["87mm","0mm","RightMargin:50mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"}, +// {label : "", dataIndex : 'name', position : ["87mm","50mm","RightMargin:0mm","BottomMargin:0mm"], type: 'html', beforeStr: "
", afterStr: "
"} + + ], + barcodes : [ + {codeType : "128Auto", dataIndex : 'barcode', position : ["35mm","43mm","32mm","10mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] +} +var middleLable_disinfectConfig = { + customPrint:printMiddleLable_gzspyqzyy_disinfect + } +var smallLabelConfig = { + customPrint:printSmallLabel_gdsy, + headerContent : [ + //器材包所属虚拟篮筐编号 + {label : "", dataIndex : 'virtualBasketSeqNum', fontSize : 6, bold: 1, position : ["0mm","0mm","20mm","4mm"]}, + // 器械包名称,水平居中 + {label : "", dataIndex : 'name', position : ["0mm","9mm","37mm","4mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "灭菌:", dataIndex : 'sterilizationDate', fontSize : 7, bold: 1, position : ["7mm","2mm","30mm","3mm"]}, + {label : "装配:", dataIndex : 'operator', fontSize : 6, bold: 1, position : ["7mm","32mm","18mm","3mm"]}, + {label : "失效:", dataIndex : 'validDate', fontSize : 7, bold: 1, position : ["12mm","2mm","30mm","3mm"]}, + {label : "审核:", dataIndex : 'reviewer', fontSize : 6, bold: 1, position : ["12mm","32mm","18mm","3mm"]} + ], + barcodes : [ + {codeType : "128Auto", dataIndex : 'barcode', position : ["17mm","10mm","30mm","11mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] + +} + +/** + * 获取大标签中材料的字体大小。需要根据记录数计算大小,同时要考虑材料的名称,如果当前字体下,名称太长导致换行,则认为行数增加 + * @param materials 所有需要打印的材料 + * @param cols 材料的列数 如:名称 数量 名称 数量,这种情况下,cols为2,指一行的记录数 + */ +function getMaterialsFontSize_largeLabel(materials,cols){ + /** + * 计算材料名称列的行数(包括名称和规格) + */ + var nameRows = function(material){ + var temp = material.name; + // 不打印材料 + if (material.specification != null && material.specification != ""){ + temp += "[" + material.specification + "]"; + } + + var nameMaxLenthPerLine = 5; + return Math.ceil(temp.length / nameMaxLenthPerLine) ; // 向上取整 + } + + var materialsAmount = materials.length; + var fontSize = 10; + var rows = Math.ceil(materialsAmount / cols) ; // 向上取整 + var addTotalRow = 0; + for(var row = 0; row < rows;++row){ + var addRow = 0; + var index = cols * row; + while(index < cols){ + if(index < materialsAmount){ + var addRow2 = nameRows(materials[index]); + addRow = (addRow > addRow2)?addRow:addRow2; + } + ++index; + } + addRow = addRow < 1?1:addRow; //至少有一行 + addTotalRow += (addRow - 1); + } + rows += addTotalRow; + if ( rows >= 23){ + fontSize = 6; + }else if(rows >= 18){ + fontSize = 6; + } + else if (rows >= 12){ + fontSize = 7; + } + else if (rows >= 10){ + fontSize = 8; + }else if (rows >= 8){ + fontSize = 11; + }else if (rows >= 6){ + fontSize = 12; + }else if (rows >= 4){ + fontSize = 13; + } + return fontSize; +} +//构造表格 +function getMaterialsTabHtml_largeLabel(tousse){ + //绘制材料明细表格 + var markTousse = tousse['markTousse']; + var materials = tousse.materials; + // 打印材料明细 + var materialsTab = ""; + var borderSize = 0; + + if(markTousse){ + //borderSize = 1; + } + + var materialsAmount = materials.length; + if(materials != null && materialsAmount > 0){ + var materialStr = ""; + var fontSize = getMaterialsFontSize_largeLabel(materials,2); +// alert(fontSize) + materialStr += "名称"; + materialStr += "数量"; + materialStr += "名称"; + materialStr += "数量"; + materialStr += "#;"; + for (var i=0;i" + temp + ""; + materialStr += "" + material.count + ""; + } + if (materialsAmount % 2 != 0) { + for (var i = 0; i < (2 - materialsAmount % 2); i++) { + materialStr += (""); + } + } + + if (materialStr.length > 0) { + materialsTab += ""; + var materialArray = materialStr.split("#;"); + for (var i=0; i"; + } + materialsTab += "
"; + } + + } + //alert(materialsTab) + return materialsTab; +} + +function printMiddleLable_gzspyqzyy(obj){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:10,fontSize:10}, + {maxLen:20,fontSize:8}, + {maxLen:30,fontSize:8}, + {maxLen:1000,fontSize:8} + ]); + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","3mm", obj.name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","5mm","44mm","6mm", "灭菌:"+obj.sterilizationDate); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","43mm","30mm","6mm", "装配:"+obj.operator); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("8mm","5mm","44mm","6mm", "失效:"+obj.validDate); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("8mm","43mm","30mm","6mm", "审核:"+obj.reviewer); + setFontSizeBold(9,0);// 设置字体 + + var tableStr = getMaterialsTabHtml_largeLabel(obj); + addPrintTable(tableStr,"11mm","2mm","RightMargin:1mm","40mm"); + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_TEXT("41mm","2mm","40mm","5mm", "灭菌炉:" + obj.sterilizer); + setFontSizeBold(7,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("44mm","2mm","35mm","5mm", "炉次:" + obj.frequency); + setFontSizeBold(7,0);// 设置字体 + + LODOP.ADD_PRINT_BARCODE("40mm","40mm","30mm","8mm","128Auto", obj.barcode);// 条码1 + +} +// 消毒物品的打印 +function printMiddleLable_gzspyqzyy_disinfect(obj){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:10,fontSize:10}, + {maxLen:20,fontSize:8}, + {maxLen:30,fontSize:8}, + {maxLen:1000,fontSize:8} + ]); + + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","3mm", obj.name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("5mm","5mm","44mm","6mm", "消毒时间:"+obj.sterilizationDate); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("5mm","43mm","30mm","6mm", "清洗员:"+obj.washOperator); + setFontSizeBold(9,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("8mm","5mm","44mm","6mm", "装配员:"+obj.operator); + setFontSizeBold(9,0);// 设置字体 + + var tableStr = getMaterialsTabHtml_largeLabel(obj); + addPrintTable(tableStr,"11mm","2mm","RightMargin:1mm","40mm"); + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_BARCODE("40mm","40mm","30mm","8mm","128Auto", obj.barcode);// 条码1 + +} + +function printSmallLabel_gdsy(obj){ + doGetLodop(); + // 划线 + if(obj.markTousse){ + LODOP.ADD_PRINT_LINE('5mm','0mm','5mm','50mm',0,1); + LODOP.ADD_PRINT_LINE('16mm','0mm','16mm','50mm',0,1); + } + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var fontSize = getFontSizeByStr(obj.name,[ + {maxLen:10,fontSize:10}, + {maxLen:20,fontSize:6}, + {maxLen:1000,fontSize:4} + ]); + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","5mm", obj.name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT("1mm","1mm","20mm","4mm", obj.virtualBasketSeqNum); + setFontSizeBold(10,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","1mm","34mm","6mm", "灭菌:"+obj.sterilizationDate); + setFontSizeBold(10,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","30mm","30mm","6mm", "装配:"+obj.operator); + setFontSizeBold(10,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("12mm","1mm","34mm","6mm", "失效:"+obj.validDate); + setFontSizeBold(10,0);// 设置字体 + LODOP.ADD_PRINT_TEXT("12mm","30mm","30mm","6mm", "审核:"+obj.reviewer); + setFontSizeBold(10,0);// 设置字体 + + LODOP.ADD_PRINT_BARCODE("17mm","10mm","30mm","10mm","128Auto", obj.barcode);// 条码1 + +} + +var middleLable2Config = { + table : { + rules : 'rows', + style : 'width: 77mm; height: 49mm', + cellspacing : '0', + cellpadding : '0', + position : [0,"0mm","100%","100%"], + printMode : {mode : 'PRINT_PAGE_PERCENT', value : 'Full-Page'}, + beforeStr: "", afterStr: "", + rows : [ + // 每个表格行的定义 + {height : "30%", tds : [ + { label : "", dataIndex : 'name', colspan: 4, styles : [{minLen:0, maxLen:10, style: "font-size:15px;font-weight:bold;text-align:center"},{minLen :10, maxLen:100 ,style : "font-size:10px;text-align:center"}]} + ] + }, + {height : "20%", tds : [ + { label : "灭菌:", dataIndex : '', style : "font-size:14px; text-align:center;width:10mm"}, + { label : "", dataIndex : 'sterilizationDate', style : "font-size:14px; text-align:center;width:20mm"}, + { label : "装配:", dataIndex : '', style : "font-size:14px; text-align:center;width:10mm"}, + { label : "", dataIndex : 'operator', style : "font-size:14px; text-align:center;width:16mm"} + ] + }, + {height : "20%", tds : [ + { label : "失效:", dataIndex : '', style : "font-size:14px; text-align:center"}, + { label : "", dataIndex : 'validDate', style : "font-size:14px; text-align:center"}, + { label : "审核:", dataIndex : '', style : "font-size:14px; text-align:center"}, + { label : "", dataIndex : 'reviewer', style : "font-size:14px; text-align:center"} + ] + }, + {height : "30%", tds : [ + { label : "", dataIndex : 'barcode', colspan: 4, style : "font-size:14px;text-align:center"} + ] + } + ] + } +// headerContent : [ +// // 器械包名称,水平居中 +// {label : "", dataIndex : 'name', position : ["0mm","14mm","60mm","6mm"], type: 'html', beforeStr: "
", afterStr: "
"}, +// {label : "灭菌日期:", dataIndex : 'sterilizationDate', fontSize : 8, bold: 1, position : ["11mm","23mm","57mm","5mm"]}, +// {label : "失效日期:", dataIndex : 'validDate', fontSize : 8, bold: 1, position : ["20mm","23mm","57mm","5mm"]}, +// {label : "装配:", dataIndex : 'operator', fontSize : 7, bold: 1, position : ["32mm","0mm","26mm","5mm"]}, +// {label : "核对:", dataIndex : 'reviewer', fontSize : 7, bold: 1, position : ["37mm","0mm","26mm","5mm"]} +// +//// {label : "灭菌程序:", dataIndex : 'sterilingType', position : ["30mm","10mm","20mm","10mm"], type: 'html', beforeStr: "
", afterStr: "
"}, +// ], +// barcodes : [ +// {codeType : "128Auto", dataIndex : 'barcode', position : ["28mm","26mm","50mm","13mm"], +// styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, +// {itemNameID: 0, styleName: 'FontSize', styleValue: 8}, +// {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} +// ] +// } +// ] + +} + +var foreignProxyDisinfectionLabelConfig = { + // 可带表格线的table定义 + table : { + rules : 'rows', + style : 'width: 50mm; height: 30mm', + cellspacing : '0', + cellpadding : '0', + position : ["3mm","0mm","100%","100%"], + printMode : {mode : 'PRINT_PAGE_PERCENT', value : 'Full-Page'}, + beforeStr: "", afterStr: "", + rows : [ + // 每个表格行的定义 + {height : "", tds : [ + { label : "", dataIndex : 'name', colspan: 4, styles : [{minLen:0, maxLen:14, style: "font-size:12px;font-weight:bold;text-align:center"},{minLen :14, maxLen:100 ,style : "font-size:10px;text-align:center"}]} + ] + }, + {height : "", tds : [ + { label : "", dataIndex : 'depart', colspan: 4, style : "font-size:12px;text-align:center;height:5mm"} + ] + }, + {height : "", tds : [ + { label : "灭菌程序:", dataIndex : 'sterilingType', colspan: 2, style : "font-size:12px;text-align:center;height:4mm"}, + { label : "灭菌员:", dataIndex : 'applicant', colspan: 2, style : "font-size:12px;text-align:center;height:4mm"} + ] + }, + {height : "", tds : [ + { label : "灭菌:", dataIndex : 'sterilizationDate', colspan: 2, style : "font-size:11px; text-align:center;height:4mm;width:24mm"}, + { label : "失效:", dataIndex : 'validDate', colspan: 2, length: 10, style : "font-size:11px; text-align:center;height:4mm;width:24mm"} + ] + }, + {height : "", tds : [ + { label : "灭菌炉:", dataIndex : 'sterilizer', colspan: 4, style : "font-size:11px; text-align:center;height:4mm;width:24mm"} + ] + }, + {height : "", tds : [ + { label : "炉次:", dataIndex : 'frequency', colspan: 4, style : "font-size:11px; text-align:center;height:4mm;width:24mm"} + ] + }, + {height : "", tds : [ + { label : "", dataIndex : 'barcode', colspan: 4, style : "font-size:10px;text-align:center"} + ] + } + ] + } +} + +var foreignTousseAppliationPrintConfig = { + customPrint:printForeignTousseAppliation, + isPrintTousse : true, + isPrintDisinfectGoods : false, + isPrintDisposableGoods : false, // 打印申请单是否打印一次性物品 + isPrintForeignTousse : true, // 是否打印外来器械包 + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : true, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : true, + printOrder : 1, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 3, + rowsPerPage : 20, + headerContent : [ + // 标题 + {label : "番禺区中医院外来器械接收单", dataIndex : 'header', position : [30,0,"100%",22], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "手术名称:", dataIndex : 'surgery', fontSize : 11, position : [80,"4%","30%",5]}, + {label : "器械包名称:", dataIndex : 'supplierName', fontSize : 11, position : [80,"35%","30%",5]}, + {label : "供应商名称:", dataIndex : 'supplierName', fontSize : 11, position : [80,"66%","20%",5]} + ], + goodsTable :{ + rowHeight : 25, + position : [110,"4%","90%","BottomMargin:10mm"], + content : [ + {header : "序号", dataIndex : 'serialNumber', width : 60, align : 'center', fontSize : 11}, + {header : "名称", dataIndex : 'goodsName', width : 300, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 60, align : 'right', fontSize : 11}, + {header : "材料名称及数量", dataIndex : 'sp', width : 300, align : 'center', fontSize : 11} + ] + } +} +//外来器械包中标签 +var foreignTousseMiddleLableConfig = { +// customPrint:printForeignTousseMiddleLable + headerContent : [ + // 灭菌方式 + {label : "", dataIndex : 'sterilingType', position : ["32mm","1mm","26mm","3mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + // 器械包名称,水平居中 + {label : "", dataIndex : 'nameWithoutPartInfo', position : ["0mm","14mm","RightMargin:0mm","5mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "手术名称:", dataIndex : 'surgery', fontSize : 8, bold: 1, position : ["7mm","15mm","60mm","5mm"]}, + {label : "供应商:", dataIndex : 'supplierName', fontSize : 8, bold: 1, position : ["12mm","15mm","60mm","5mm"]}, + {label : "手术预约日期:", dataIndex : '', fontSize :8, bold: 1, position : ["12mm","45mm","60mm","5mm"]}, + {label : "包装总数:", dataIndex : 'splitPackagesAmount', fontSize : 8, bold: 1, position : ["17mm","15mm","30mm","5mm"]}, + {label : "使用医生:", dataIndex : 'doctor', fontSize :8, bold: 1, position : ["17mm","45mm","30mm","5mm"]}, + {label : "第几包:", dataIndex : 'packageNumber', fontSize :8, bold: 1, position : ["22mm","15mm","30mm","5mm"]}, + {label : "使用病人:", dataIndex : 'patient', fontSize : 8, bold: 1, position : ["22mm","45mm","30mm","5mm"]}, + {label : "病人科室:", dataIndex : 'depart', fontSize :8, bold: 1, position : ["27mm","15mm","30mm","5mm"]}, + {label : "植入物:", dataIndex : 'implantAmount', fontSize : 8, bold: 1, position : ["35mm","1mm","30mm","5mm"]}, + {label : "生物监测结果及签名:", dataIndex : '', fontSize :8, bold: 1, position : ["35mm","25mm","44mm","5mm"]}, + {label : "装配员:", dataIndex : 'operator', fontSize : 6, bold: 1, position : ["43mm","25mm","19mm","3mm"]}, + {label : "审核员:", dataIndex : 'reviewer', fontSize : 6, bold: 1, position : ["46mm","25mm","19mm","3mm"]}, + + //{label : "", dataIndex : 'name', fontSize : 8, bold: 1, position : ["35mm","1mm","26mm","3mm"]}, + {label : "灭菌期:", dataIndex : 'sterilizationDate', fontSize : 6, bold: 1, position : ["43mm","1mm","26mm","3mm"]}, + {label : "失效期:", dataIndex : 'validDate', fontSize : 6, bold: 1, position : ["46mm","1mm","26mm","3mm"]} + ], + barcodes : [ + {codeType : "128Auto", dataIndex : 'barcode', position : ["40mm","43mm","32mm","10mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true} + ] + } + ] +} + +//大标签配置,100x80mm +var largeLabelConfig = { + customPrint:printLargeLabel +} + +function printLargeLabel(obj){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',10,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var size = 11; + if (obj.name.length >15){ + size = 7; + } + + LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","BottomMargin:0mm", obj.name); + setFontSizeBold(11,1);// 设置字体 + setAlignment('center');// 对齐 + var curDate = new Date(); + var packingDateTime = date2string(curDate) + packingDateTime = packingDateTime.substring(0,16); + + LODOP.ADD_PRINT_TEXT("6mm","2mm","50mm","8px", "装配员:"+obj.operator); + setFontSizeBold(10,1);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","30mm","50mm","8px", "审核员:"+obj.reviewer); + setFontSizeBold(10,1);// 设置字体 + LODOP.ADD_PRINT_TEXT("6mm","58mm","50mm","8px", "灭菌日期:"+obj.sterilizationDate); + setFontSizeBold(10,1);// 设置字体 + + LODOP.ADD_PRINT_TEXT("10mm","2mm","70mm","8px", "配包时间:" + packingDateTime); + setFontSizeBold(10,1);// 设置字体 + + LODOP.ADD_PRINT_TEXT("10mm","58mm","50mm","8px", "失效日期:"+obj.validDate); + setFontSizeBold(10,1);// 设置字体 + + // 打印表格 + var tableStr = getMaterialsTabHtml_largeLabel(obj); + addPrintTable(tableStr,"14mm","0mm","RightMargin:0mm","44mm"); + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_TEXT("67mm","0mm","RightMargin:50mm","BottomMargin:0mm", obj.name); + setFontSizeBold(size,1);// 设置字体 + setAlignment('center');// 居中对齐 + LODOP.ADD_PRINT_TEXT("67mm","50mm","RightMargin:0mm","BottomMargin:0mm", obj.name); + setFontSizeBold(size,1);// 设置字体 + setAlignment('center');// 居中对齐 + + LODOP.ADD_PRINT_BARCODE("57mm","55mm","40mm","8mm","128Auto", obj.barcode);// 条码1 + LODOP.ADD_PRINT_BARCODE("71mm","5mm","40mm","8mm","128Auto", obj.barcode);// 条码2 + LODOP.ADD_PRINT_BARCODE("71mm","55mm","40mm","8mm","128Auto", obj.barcode);// 条码3 + + var hospitalName = obj.hospitalName; + + var sterilizerStr = ""; + var sterilizer = obj.sterilizer; + var frequency = obj.frequency; + var fontSize = 10; + + if(sterilizer == null || sterilizer.length == 0){ + LODOP.ADD_PRINT_TEXT("58mm","0mm","RightMargin:50mm","BottomMargin:0mm", hospitalName); + }else{ + if (sterilizer.length < 10){ + sterilizer = "【"+sterilizer + "】"; + } + else{ + fontSize = 8; + sterilizer = "【"+sterilizer + "】"; + } + + LODOP.ADD_PRINT_TEXT("56mm","0mm","RightMargin:50mm","BottomMargin:0mm", sterilizer); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 居中对齐 + LODOP.ADD_PRINT_TEXT("61mm","0mm","RightMargin:50mm","BottomMargin:0mm", "第" + frequency +"炉"); + } + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 居中对齐 + + // 包装方式简称1 + LODOP.ADD_PRINT_TEXT("57mm","51mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 + // 包装方式简称2 + LODOP.ADD_PRINT_TEXT("71mm","1mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 + // 包装方式简称3 + LODOP.ADD_PRINT_TEXT("71mm","51mm","4mm","8mm", obj.packageTypeAbbreviation); + setFontSizeBold(10,0);// 设置字体 + setAlignment('center');// 对齐 +} + +//外来器械包大标签 +var foreignTousseLargeLabelConfig = { + headerContent : [ + // 灭菌方式 + {label : "", dataIndex : 'sterilingType', position : ["32mm","1mm","26mm","3mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + // 器械包名称,水平居中 + {label : "", dataIndex : 'nameWithoutPartInfo', position : ["0mm","0mm","RightMargin:0mm","5mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + {label : "手术名称:", dataIndex : 'surgery', fontSize : 8, bold: 1, position : ["7mm","10mm","60mm","5mm"]}, + {label : "供应商:", dataIndex : 'supplierName', fontSize : 8, bold: 1, position : ["12mm","10mm","60mm","5mm"]}, + {label : "住院号:", dataIndex : 'hospitalNumber', fontSize :8, bold: 1, position : ["7mm","55mm","60mm","5mm"]}, + {label : "包装总数:", dataIndex : 'splitPackagesAmount', fontSize : 8, bold: 1, position : ["17mm","10mm","30mm","5mm"]}, + {label : "使用医生:", dataIndex : 'doctor', fontSize :8, bold: 1, position : ["12mm","55mm","30mm","5mm"]}, + {label : "第几包:", dataIndex : 'packageNumber', fontSize :8, bold: 1, position : ["22mm","10mm","30mm","5mm"]}, + {label : "使用病人:", dataIndex : 'patient', fontSize : 8, bold: 1, position : ["17mm","55mm","30mm","5mm"]}, + {label : "病人科室:", dataIndex : 'depart', fontSize :8, bold: 1, position : ["22mm","55mm","30mm","5mm"]}, + //{label : "植入物:", dataIndex : 'implantAmount', fontSize : 8, bold: 1, position : ["35mm","5mm","30mm","5mm"]}, + //{label : "生物监测结果及签名:", dataIndex : '', fontSize :8, bold: 1, position : ["35mm","25mm","44mm","5mm"]}, + + + // 植入物?件,工具?件,水平居中 + {label : "", dataIndex : 'total', position : ["35mm","0mm","RightMargin:0mm","5mm"], type: 'html', beforeStr: "
", afterStr: "
"}, + + {label : "装配员:", dataIndex : 'operator', fontSize : 6, bold: 1, position : ["50mm","35mm","19mm","3mm"]}, + {label : "审核员:", dataIndex : 'reviewer', fontSize : 6, bold: 1, position : ["55mm","35mm","19mm","3mm"]}, + //{label : "", dataIndex : 'name', fontSize : 8, bold: 1, position : ["35mm","1mm","26mm","3mm"]}, + {label : "灭菌期:", dataIndex : 'sterilizationDate', fontSize : 6, bold: 1, position : ["50mm","10mm","26mm","3mm"]}, + {label : "失效期:", dataIndex : 'validDate', fontSize : 6, bold: 1, position : ["55mm","10mm","26mm","3mm"]} + ], + barcodes : [{ + codeType : "128Auto", dataIndex : 'barcode', position : ["50mm","55mm","32mm","10mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true}] + },{ + codeType : "128Auto", dataIndex : 'barcode', position : ["65mm","55mm","32mm","10mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true}] + },{ + codeType : "128Auto", dataIndex : 'barcode', position : ["65mm","15mm","32mm","10mm"], + styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true}, + {itemNameID: 0, styleName: 'FontSize', styleValue: 6}, + {itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true}] + }] +} +// 构造表格 +function getMaterialsTabHtml_foreignTousseAppliation_zd5y(printSummaryObj,tousse){ + // 打印材料明细 + var tempStr; + var tableHtml = ''; + tableHtml += '\ + \ + \ + \ + \ + \ + \ + '; + /////////////////////////// + // 打印物品内容行 + var itemsPerRow = 2;// 每行打印2个item + var materials = tousse.materials; + + var mod = materials.length % itemsPerRow; + if(mod != 0){// 填补空对象 + var paddingItemsCount = itemsPerRow - mod; + for(var i=0;i 0){ + for(var row=0;row 0){// TODO 以后可能会有多个包要打印 + printForeignTousse(obj,tousses[0]) + } +} +function printForeignTousse(obj,tousse){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',11,0) + LODOP.ADD_PRINT_TEXT(30,0,"100%",22, "番禺区中医院外来器械接收单"); + setFontSizeBold(17,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT(80,"4%","30%",5, "手术名称: "+obj.surgery); + LODOP.ADD_PRINT_TEXT(80,"35%","30%",5, "器械包名称: "+tousse.tousseName); + LODOP.ADD_PRINT_TEXT(80,"66%","20%",5, "供应商名称: "+obj.supplierName); + // 打印表格 + var tableStr = getMaterialsTabHtml_foreignTousseAppliation_zd5y(obj,tousse); +// alert(tableStr) + addPrintTable(tableStr,100,"4%","90%","BottomMargin:10mm"); +} +// 打印外来器械包中标签 +function printForeignTousseMiddleLable(obj,tousse){ + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',11,0) + LODOP.ADD_PRINT_TEXT(30,0,"100%",22, "番禺区中医院外来器械接收单"); + setFontSizeBold(17,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_TEXT(80,"4%","30%",5, "手术名称: "+obj.surgery); + LODOP.ADD_PRINT_TEXT(80,"35%","30%",5, "器械包名称: "+tousse.tousseName); + LODOP.ADD_PRINT_TEXT(80,"66%","20%",5, "供应商名称: "+obj.supplierName); + // 打印表格 + var tableStr = getMaterialsTabHtml_foreignTousseAppliation_zd5y(obj,tousse); +// alert(tableStr) + addPrintTable(tableStr,100,"4%","90%","BottomMargin:10mm"); +} +var idCardLargeLabelConfig = { + customPrint:printIDCardLargeLabel + } +function printIDCardLargeLabel(idCardInstance){ + if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition)){ + alert('包定义不能为空!'); + return; + } + doGetLodop(); + var barcode = idCardInstance.barcode; + var date = idCardInstance.printDate; + var name = idCardInstance.tousseDefinition.name; + var userName = idCardInstance.userName; + var unit = idCardInstance.unit; + + var tableHtml = "
器械名称器械数量每把器械拆卸的最小单位器械名称器械数量每把器械拆卸的最小单位
"; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += "
"+unit+"
"+name+"
"; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + + var materials = []; + if(!isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition) && !isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition.materialInstances)){ + materials = idCardInstance.tousseDefinition.materialInstances; + } + var total = materials.length; + var isEven = true; //判断材料的数量是奇数还是偶数 + if(total%2 != 0){ + isEven = false; + total++; + } + total /= 2; + var amount = 0; + //之所以用这种方式是因为用户习惯从上往下清点材料,而不是从左往右 + for(var i=0;i"; + + if(i==total-1 && !isEven){ + tableHtml += ""; + tableHtml += ""; + }else{ + var record2 = materials[i+total]; + var materialName2 = record2.materialDefinition.name; + var specification2 = record2.materialDefinition.specification; + var type2 = record2.materialDefinition.type; + if(specification2 != 'null' && specification2 != ""){ + materialName2 += "["+specification2+"]"; + } + var count2 = record2.count; + if(type2 != '一次性物品'){ + amount += parseInt(count2); + } + tableHtml += ""; + } + + tableHtml += ""; + } + + tableHtml += "
器械名称
数量
器械名称
数量
"+materialName2; + tableHtml += "
"+count2+"
"; + tableHtml += "
"; + + tableHtml += ""; + //条码,打印人和时间和器械数量 + if(barcode != '' && userName != '' && date != ''){ + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + }else{ + tableHtml += ""; + tableHtml += ""; + tableHtml += ""; + } + + //告警语(已注释不打印,经省医护长与封枫、关总确认 since 2016-01-25 SYF) + /*tableHtml += ""; + tableHtml += ""; + tableHtml += "";*/ + tableHtml += "
"; + tableHtml += ""; + tableHtml += "
"+barcode; + tableHtml += "
器械总数量:"+amount+"件"; + tableHtml += "
器械总数量:"+amount+"件"; + tableHtml += "
***需要回收,切勿丢失***
"; + + LODOP.ADD_PRINT_HTM(0,0,"95%","100%",""+tableHtml+""); + LODOP.PRINT(); +} +var idCardSmallLabelConfig = { + customPrint:printIDCardSmallLabel_gdsy + } +function printIDCardSmallLabel_gdsy(idCardInstance){ + if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition)){ + alert('包定义不能为空!'); + return; + } + var barcode = idCardInstance.barcode; + var name = idCardInstance.tousseDefinition.name; + + doGetLodop(); + // 设置默认字体 + setDefaultFontNameSizeBold('宋体',12,1); + // 默认条码属性 + LODOP.SET_PRINT_STYLE('ShowBarText', true); + LODOP.SET_PRINT_STYLE('FontSize', 6); + LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); + + var fontSize = getFontSizeByStr(name,[ + {maxLen:10,fontSize:12}, + {maxLen:20,fontSize:10}, + {maxLen:30,fontSize:8}, + {maxLen:1000,fontSize:6} + ]); + LODOP.ADD_PRINT_TEXT("1mm","1mm","RightMargin:0mm","12mm", name); + setFontSizeBold(fontSize,1);// 设置字体 + setAlignment('center');// 对齐 + + LODOP.ADD_PRINT_BARCODE("14mm","5mm","40mm","10mm","128Auto", barcode);// 条码1 + LODOP.PRINT(); +} +var printConfig = { + //发货计划单 + invoicePlan : invoicePlanPrintConfig, + // 发货单(通用发货单) + invoiceCombo : invoiceComboPrintConfig, + // 发货单(一次性物品) + invoiceDiposableGoods : invoiceComboPrintConfig, + // 发货单(器械包或者回收申请单) + invoiceTousse : invoiceComboPrintConfig, + // 发货单(消毒物品) + invoiceDisinfectGoods : invoiceComboPrintConfig, + // 申请单 + application : applicationPrintConfig, + // 消毒物品申请单 + disinfectGoodsApplication : applicationPrintConfig, + // 借物单 + borrow : borrowPrintConfig, + + recyclingItems : recyclingItemsPrintConfig, + + // 小标签:47mmx29mm规格 + smallLabel : smallLabelConfig, + // 中标签:77mmx49mm规格 + middleLable : middleLableConfig, + middleLable_disinfect : middleLable_disinfectConfig,// 消毒物品中标签 + // 中标签:77mmx49mm规格(不打内容物) + middleLable2 : middleLable2Config, +// middleLable : exLargeLabelConfig, + // 大标签:100x80规格 + largeLabel : largeLabelConfig, + // 加大标签:100x100规格 + exLargeLabel : exLargeLabelConfig, + // 外部代理灭菌标签 + foreignProxyDisinfectionLabel : foreignProxyDisinfectionLabelConfig, + //外来器械申请单A4 + foreignTousseAppliation : foreignTousseAppliationPrintConfig, + // 外来器械包中标签 + foreignTousseMiddleLable:foreignTousseMiddleLableConfig, + // 外来器械包大标签 + foreignTousseLargeLabel:foreignTousseLargeLabelConfig, + // 标识牌 + idCardLargeLabel:idCardLargeLabelConfig, + idCardSmallLabel:idCardSmallLabelConfig// 小标签 +}; Index: ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/config.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/config.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/config.js (revision 13627) @@ -0,0 +1,58 @@ +var sstsConfig = { + // 禁用批量装入虚拟篮筐功能(仅仅隐藏页面相关的元素、不做后台控制.未配此参数时则标识牌功能默认为禁用),只有值为false才启用,为其它任何值或未配置此属性均表示禁用 + disableLoadToVirtualBasket : false, + // 禁用标识牌功能(仅仅隐藏页面相关的元素、不做后台控制.未配此参数时则标识牌功能默认为禁用),只有值为false才启用,为其它任何值或未配置此属性均表示禁用 + disableIdCard : false, + // 回收时科室显示结算科室 + showSettleAccountsDepartInRecycling : false, + // 审核器械包必须入篮筐(一级供应室) + mustScanBasketForTousseReview : true, + // 审核器械包必须入篮筐(二级供应室) + mustScanBasketForTousseReviewOf2ndSupplyRoom : true, + // 申请表单的类型:1 : 通用申请单(组合申请单),2:分开的申请单 + applicationFormType : 1, + hidePackageSpec : true, + // 申请界面是否显示器械包或消毒物品的的单位 + showTousseUnitColumn : true, + // 申请界面是否隐藏器械包价格 + hideToussePriceColumn : false, + // 申请界面是否隐藏一次性物品价格 + hideDisposablePriceColumn : false, + // 条码类型:1:一维码, 2:二维码 + barcodeType : 1, + // 申请器械包时是否自动归还待归还物品 + autoReturnTousse : true, + // 是否隐藏进入审核列表按钮 + hideEnterReviewListButton : true, + // 已发货但是未签收的物品是否允许登记使用记录 + notSignedItemsCanRegistUseRecord : true, + // 是否自动补全用户名 + autoFillUserName:false, + // 自动补全用户名的长度 + autoFillUserNameLength:6, + // 打印回收清单区分部分的过滤是通过器械包定义的资产归属属性 + recyclingRecordListFilterByAssetBelong : false, + // 打印回收清单的打印物品范围,'器械包'、'消毒物品'、'敷料包'、'全部' + recyclingRecordListPrintTousseType : '全部', + // 是否支持部分终止申请单中的物品 + enableTerminatePartOfApplication : true, + //限制入库单填写的一次性物品为能申领的物品 + restrictGodownEntryDiposableGoods : false, + //提交申请单前显示申请的物品清单 + showAppliedGoodsBeforeSubmit : true, + printRecyclingConfigFormVersion: 2,// 发货计划设置页的版本,默认为1 + // 使用记录审核方式, 1: 审核和转换按钮分开; 2:审核和转换按钮合并为1个 + useRecordAuditMode : 1, + hideApplyDepartColumn : false, // 隐藏申请科室 + hideSettleDepartColumn : true, // 隐藏结算科室 + //审核页扫描模式(不配此参数的话默认都为single(单个扫描),也可配置成area(首尾条码),每个project根据需要可进行配置) + reviewPageScanMode : 'single', + //灭菌页扫描模式(不配此参数的话默认都为single(单个扫描),也可配置成area(首尾条码),每个project根据需要可进行配置) + sterilePageScanMode : 'single', + //发货页扫描模式(不配此参数的话默认都为single(单个扫描),也可配置成area(首尾条码),每个project根据需要可进行配置) + invoicePageScanMode : 'single', + //清洗界面添加清洗记录时扫描清洗篮筐条码是否收缩(未配置或配置值为false表示不收缩) + enableCollapseWhenScanWashBasketBarcode : true, + disableDeviceInterface : false, // 使能设备接口 + showSterilizer : true // 装配界面显示灭菌炉和炉次 +} \ No newline at end of file