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"
+ + materialArray[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"
+ + materialArray[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';
+
+ var itemIndex = row*itemsPerRow + 0;
+ var material1 = materials[itemIndex];
+ var material2 = materials[itemIndex+1];
+ tempStr = '${tousseName} | \
+ ${amount} | \
+ | ';
+ tableHtml += fillPropertiesFromObj(material1,tempStr);
+
+ tempStr = '${tousseName} | \
+ ${amount} | \
+ | ';
+ tableHtml += fillPropertiesFromObj(material2,tempStr);
+ tableHtml += "";
+ }
+ }
+ // 工具总数
+ tempStr = '\
+ 工具总数 | \
+ ${toolsAmount} | \
+
';
+ tableHtml += fillPropertiesFromObj(tousse,tempStr);
+ // 植入物总数
+ tempStr = '\
+ 植入物总数 | \
+ ${includeImplantAmount} | \
+
';
+ tableHtml += fillPropertiesFromObj(tousse,tempStr);
+ // 打印合计信息
+ tempStr = '\
+ 总数 | \
+ ${materialsAmount} | \
+
';
+ tableHtml += fillPropertiesFromObj(tousse,tempStr);
+ tableHtml += '
';
+
+ return tableHtml;
+}
+function printForeignTousseAppliation(obj){
+ var tousses = obj.tousses;
+ if(tousses.length > 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 += ""+unit+" | ";
+ tableHtml += "
";
+ tableHtml += "";
+ tableHtml += ""+name+" | ";
+ tableHtml += "
";
+ tableHtml += "
";
+ 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";
+ tableHtml += ""+materialName;
+ tableHtml += " | "+count+" | ";
+
+ 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 += ""+materialName2;
+ tableHtml += " | "+count2+"";
+ tableHtml += " | ";
+ }
+
+ tableHtml += "";
+ }
+
+ tableHtml += "
";
+
+ tableHtml += "";
+ //条码,打印人和时间和器械数量
+ if(barcode != '' && userName != '' && date != ''){
+ tableHtml += "";
+ tableHtml += "";
+ tableHtml += " ";
+ tableHtml += ""+barcode;
+ tableHtml += " | ";
+ tableHtml += "";
+ tableHtml += "器械总数量:"+amount+"件";
+ tableHtml += " | ";
+ tableHtml += "
";
+ }else{
+ tableHtml += "";
+ tableHtml += "器械总数量:"+amount+"件";
+ tableHtml += " | ";
+ tableHtml += "
";
+ }
+
+ //告警语(已注释不打印,经省医护长与封枫、关总确认 since 2016-01-25 SYF)
+ /*tableHtml += "";
+ tableHtml += "***需要回收,切勿丢失*** | ";
+ tableHtml += "
";*/
+ 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