Index: ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js
===================================================================
diff -u -r13686 -r13783
--- ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js (.../printConfig.js) (revision 13686)
+++ ssts-web/src/main/webapp/disinfectsystem/config/gzspyqzyy/print/printConfig.js (.../printConfig.js) (revision 13783)
@@ -43,6 +43,55 @@
}
}
+var batchPrintInvoicesConfig = {
+
+ 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,
+ fontSize : 11,
+ position : ["100","2%","98%","7cm"],
+ headRepeat : true,
+ columns : [
+ {header : "序号", dataIndex : 'serialNumber', width : 40, align : 'center', fontSize : 11},
+ {header : "名称", dataIndex : 'name', width : 200, align : 'left', fontSize : 11},
+ {header : "规格", dataIndex : 'specification', width : 150, align : 'center', fontSize : 11},
+ {header : "单位", dataIndex : 'unit', width : 50, align : 'center', fontSize : 11},
+ {header : "数量", dataIndex : 'amount', width : 50, align : 'right', fontSize : 11},
+ {header : "有效日期", dataIndex : 'expireDate', width : 80, align : 'center', fontSize : 11},
+ {header : "批号", dataIndex : 'batchNumber', width : 70, align : 'center', fontSize : 11},
+ {header : "灭菌炉", dataIndex : 'sterilizerName', width : 150, align : 'center', fontSize : 11},
+ {header : "炉次", dataIndex : 'frequency', width : 50, align : 'center', fontSize : 11},
+ {header : "单价", dataIndex : 'price', width : 50, align : 'right', fontSize : 11},
+ {header : "金额", dataIndex : 'totalPrice', width : 50, align : 'right', fontSize : 11}
+ ]
+ }
+}
+
var invoiceComboPrintConfig = {
headerFooter : [
// 页眉名称
@@ -81,6 +130,8 @@
{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 : 'sterilizerName', width : 85, align : 'center', fontSize : 11},
+ {header : "炉次", dataIndex : 'frequency', width : 85, align : 'center', fontSize : 11},
{header : "单价", dataIndex : 'price', width : 60, align : 'right', fontSize : 11},
{header : "金额", dataIndex : 'totalPrice', width : 75, align : 'right', fontSize : 11}
]
@@ -325,34 +376,7 @@
// 中标签配置
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}
- ]
- }
- ]
+ customPrint:printMiddleLable_gzspyqzyy
}
var middleLable_disinfectConfig = {
customPrint:printMiddleLable_gzspyqzyy_disinfect
@@ -407,6 +431,121 @@
for(var row = 0; row < rows;++row){
var addRow = 0;
var index = cols * row;
+ while(index < cols * (row + 1)){
+ 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 = 8;
+ }else if(rows >= 18){
+ fontSize = 9;
+ }
+ else if (rows >= 12){
+ fontSize = 11;
+ }
+ else if (rows >= 10){
+ fontSize = 12;
+ }else if (rows >= 8){
+ fontSize = 12;
+ }else if (rows >= 6){
+ fontSize = 12;
+ }else if (rows >= 4){
+ fontSize = 12;
+ }
+ 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 +" x " + material.count + "";
+ }
+ if (materialsAmount % 3 != 0) {
+ for (var i = 0; i < (3 - materialsAmount % 3); i++) {
+ materialStr += (" | ");
+ }
+ }
+
+ if (materialStr.length > 0) {
+ materialsTab += "";
+ var materialArray = materialStr.split("#;");
+ for (var i=0; i"
+ + materialArray[i] + "";
+ }
+ materialsTab += "
";
+ }
+
+ }
+ //alert(materialsTab)
+ return materialsTab;
+}
+
+/**
+ * 获取大标签中材料的字体大小。需要根据记录数计算大小,同时要考虑材料的名称,如果当前字体下,名称太长导致换行,则认为行数增加
+ * @param materials 所有需要打印的材料
+ * @param cols 材料的列数 如:名称 数量 名称 数量,这种情况下,cols为2,指一行的记录数
+ */
+function getMaterialsFontSize_middleLabel(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]);
@@ -438,7 +577,7 @@
return fontSize;
}
//构造表格
-function getMaterialsTabHtml_largeLabel(tousse){
+function getMaterialsTabHtml_middleLabel(tousse){
//绘制材料明细表格
var markTousse = tousse['markTousse'];
var materials = tousse.materials;
@@ -453,7 +592,7 @@
var materialsAmount = materials.length;
if(materials != null && materialsAmount > 0){
var materialStr = "";
- var fontSize = getMaterialsFontSize_largeLabel(materials,2);
+ var fontSize = getMaterialsFontSize_middleLabel(materials,2);
// alert(fontSize)
materialStr += "名称 | ";
materialStr += "数量 | ";
@@ -506,26 +645,26 @@
LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true);
var fontSize = getFontSizeByStr(obj.name,[
- {maxLen:10,fontSize:10},
- {maxLen:20,fontSize:8},
+ {maxLen:10,fontSize:15},
+ {maxLen:20,fontSize:11},
{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);// 设置字体
+ LODOP.ADD_PRINT_TEXT("6mm","5mm","44mm","6mm", "灭菌:"+obj.sterilizationDate);
+ setFontSizeBold(11,0);// 设置字体
+ LODOP.ADD_PRINT_TEXT("6mm","43mm","30mm","6mm", "装配:"+obj.operator);
+ setFontSizeBold(11,0);// 设置字体
+ LODOP.ADD_PRINT_TEXT("10mm","5mm","44mm","6mm", "失效:"+obj.validDate);
+ setFontSizeBold(11,0);// 设置字体
+ LODOP.ADD_PRINT_TEXT("10mm","43mm","30mm","6mm", "审核:"+obj.reviewer);
+ setFontSizeBold(11,0);// 设置字体
- var tableStr = getMaterialsTabHtml_largeLabel(obj);
- addPrintTable(tableStr,"11mm","2mm","RightMargin:1mm","40mm");
+ var tableStr = getMaterialsTabHtml_middleLabel(obj);
+ addPrintTable(tableStr,"14mm","2mm","RightMargin:1mm","40mm");
setAlignment('center');// 居中对齐
LODOP.ADD_PRINT_TEXT("41mm","2mm","40mm","5mm", "灭菌炉:" + obj.sterilizer);
@@ -799,28 +938,28 @@
}
LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","BottomMargin:0mm", obj.name);
- setFontSizeBold(11,1);// 设置字体
+ setFontSizeBold(15,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);
+ LODOP.ADD_PRINT_TEXT("7mm","2mm","50mm","8px", "装配员:"+obj.operator);
setFontSizeBold(10,1);// 设置字体
- LODOP.ADD_PRINT_TEXT("6mm","30mm","50mm","8px", "审核员:"+obj.reviewer);
+ LODOP.ADD_PRINT_TEXT("7mm","30mm","50mm","8px", "审核员:"+obj.reviewer);
setFontSizeBold(10,1);// 设置字体
- LODOP.ADD_PRINT_TEXT("6mm","58mm","50mm","8px", "灭菌日期:"+obj.sterilizationDate);
+ LODOP.ADD_PRINT_TEXT("7mm","58mm","50mm","8px", "灭菌日期:"+obj.sterilizationDate);
setFontSizeBold(10,1);// 设置字体
- LODOP.ADD_PRINT_TEXT("10mm","2mm","70mm","8px", "配包时间:" + packingDateTime);
+ LODOP.ADD_PRINT_TEXT("11mm","2mm","70mm","8px", "配包时间:" + packingDateTime);
setFontSizeBold(10,1);// 设置字体
- LODOP.ADD_PRINT_TEXT("10mm","58mm","50mm","8px", "失效日期:"+obj.validDate);
+ LODOP.ADD_PRINT_TEXT("11mm","58mm","50mm","8px", "失效日期:"+obj.validDate);
setFontSizeBold(10,1);// 设置字体
// 打印表格
var tableStr = getMaterialsTabHtml_largeLabel(obj);
- addPrintTable(tableStr,"14mm","0mm","RightMargin:0mm","44mm");
+ addPrintTable(tableStr,"15mm","2mm","RightMargin:0mm","44mm");
setAlignment('center');// 居中对齐
LODOP.ADD_PRINT_TEXT("67mm","0mm","RightMargin:50mm","BottomMargin:0mm", obj.name);
@@ -880,40 +1019,40 @@
// 灭菌方式
{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 : 'nameWithoutPartInfo', position : ["2mm","0mm","RightMargin:0mm","5mm"], type: 'html', beforeStr: "", afterStr: "
"},
+ {label : "手术名称:", dataIndex : 'surgery', fontSize : 8, bold: 1, position : ["29mm","10mm","80mm","5mm"]},
+ {label : "供应商:", dataIndex : 'supplierName', fontSize : 8, bold: 1, position : ["9mm","10mm","60mm","5mm"]},
+ {label : "住院号:", dataIndex : 'hospitalNumber', fontSize :8, bold: 1, position : ["9mm","55mm","60mm","5mm"]},
+ {label : "包装总数:", dataIndex : 'splitPackagesAmount', fontSize : 8, bold: 1, position : ["14mm","10mm","30mm","5mm"]},
+ {label : "使用医生:", dataIndex : 'doctor', fontSize :8, bold: 1, position : ["14mm","55mm","30mm","5mm"]},
+ {label : "第几包:", dataIndex : 'packageNumber', fontSize :8, bold: 1, position : ["19mm","10mm","30mm","5mm"]},
+ {label : "使用病人:", dataIndex : 'patient', fontSize : 8, bold: 1, position : ["19mm","55mm","30mm","5mm"]},
+ {label : "病人科室:", dataIndex : 'depart', fontSize :8, bold: 1, position : ["24mm","10mm","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 : 'total', position : ["38mm","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"]}
+ {label : "灭菌期:", dataIndex : 'sterilizationDate', fontSize : 8, bold: 1, position : ["47mm","10mm","35mm","3mm"]},
+ {label : "失效期:", dataIndex : 'validDate', fontSize : 8, bold: 1, position : ["47mm","55mm","35mm","3mm"]},
+
+ {label : "装配员:", dataIndex : 'operator', fontSize : 8, bold: 1, position : ["53mm","10mm","26mm","3mm"]},
+ {label : "审核员:", dataIndex : 'reviewer', fontSize : 8, bold: 1, position : ["59mm","10mm","26mm","3mm"]}
],
barcodes : [{
- codeType : "128Auto", dataIndex : 'barcode', position : ["50mm","55mm","32mm","10mm"],
+ codeType : "128Auto", dataIndex : 'barcode', position : ["53mm","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"],
+ codeType : "128Auto", dataIndex : 'barcode', position : ["68mm","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"],
+ codeType : "128Auto", dataIndex : 'barcode', position : ["68mm","15mm","32mm","10mm"],
styles : [{itemNameID: 0, styleName: 'ShowBarText', styleValue: true},
{itemNameID: 0, styleName: 'FontSize', styleValue: 6},
{itemNameID: 0, styleName: 'NotOnlyHighPrecision', styleValue: true}]
@@ -1176,6 +1315,7 @@
var printConfig = {
//发货计划单
invoicePlan : invoicePlanPrintConfig,
+ batchPrintInvoices: batchPrintInvoicesConfig,
// 发货单(通用发货单)
invoiceCombo : invoiceComboPrintConfig,
// 发货单(一次性物品)