|
@@ -211,7 +211,7 @@ const execPrint = () => {
|
|
|
let prntContent = document.getElementById("infusion_list").innerHTML
|
|
|
// console.log("prntContent",prntContent)
|
|
|
let printHTML = ""
|
|
|
- const prntStyle = `<style>td{border: 1px solid black;
|
|
|
+ const printStyle = `<style>td{border: 1px solid black;
|
|
|
font-size: 12px;padding: 2px;}</style>`
|
|
|
if (patientInfusionInfos.value.length == 1) {
|
|
|
let id = queryParams.cardType === 'INFUSION_CARD'
|
|
@@ -219,34 +219,53 @@ const execPrint = () => {
|
|
|
printHTML = document.getElementById(id).innerHTML
|
|
|
LODOP.PRINT_INIT('infusionCard')
|
|
|
LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '')
|
|
|
- LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', prntStyle + '<body style:"display: flex;justify-content: center;align-items: center;">' + printHTML + '</body>')
|
|
|
+ LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printStyle + '<body style:"display: flex;justify-content: center;align-items: center;">' + printHTML + '</body>')
|
|
|
LODOP.SET_PRINT_STYLE('ItemType', 3)
|
|
|
LODOP.PREVIEW();
|
|
|
} else {
|
|
|
+ LODOP.PRINT_INIT('infusionCard')
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '')
|
|
|
+ let PAGE_MAX_HEIGHT = 1050
|
|
|
+ let pageHeightNow = 0
|
|
|
+ let currentPageHTML = '';
|
|
|
for (let i = 0; i < patientInfusionInfos.value.length; i++) {
|
|
|
let info = patientInfusionInfos.value[i]
|
|
|
- let id = queryParams.cardType === 'INFUSION_CARD'
|
|
|
- ? info.patInfo.patNo : info.patInfo.patNo + '-' + i
|
|
|
- let printCount = queryParams.cardType === 'INFUSION_CARD'
|
|
|
- ? 3 : 6
|
|
|
- // console.log("printCount",printCount)
|
|
|
- if (i !== 0 && ((i + 1) % printCount == 0 || i == patientInfusionInfos.value.length - 1)) {
|
|
|
- // console.log("printIndex",i)
|
|
|
- printHTML = document.getElementById(id).innerHTML + printHTML
|
|
|
- let printFinal = prntStyle + '<body><div style:"width:600px;display: flex;justify-content: center;align-items: center;flex-wrap: wrap;">' + printHTML + '</div></body>';
|
|
|
- console.log("printFinal", printFinal)
|
|
|
- LODOP.PRINT_INIT('infusionCard')
|
|
|
- LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '')
|
|
|
- // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm',prntStyle + '<body style:"width:800px;display: flex;justify-content: center;align-items: center;flex-wrap: wrap;">' + printHTML + '</body>' )
|
|
|
- LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printFinal)
|
|
|
- LODOP.SET_PRINT_STYLE('ItemType', 3)
|
|
|
- // LODOP.PREVIEW();
|
|
|
- LODOP.PRINT()
|
|
|
- printHTML = ""
|
|
|
+ let printTarget = document.getElementById(info.patInfo.patNo)
|
|
|
+ console.log('printTarget', printTarget)
|
|
|
+ if (pageHeightNow + printTarget.offsetHeight > PAGE_MAX_HEIGHT) {
|
|
|
+ LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printStyle + currentPageHTML);
|
|
|
+ LODOP.NewPage(); // 开启新页
|
|
|
+ // 新页初始化:当前行作为新页的第一行
|
|
|
+ currentPageHTML = printTarget.innerHTML;
|
|
|
+ pageHeightNow = printTarget.offsetHeight;
|
|
|
} else {
|
|
|
- printHTML += document.getElementById(id).innerHTML
|
|
|
+ pageHeightNow += printTarget.offsetHeight
|
|
|
+ currentPageHTML += printTarget.innerHTML
|
|
|
}
|
|
|
+ // let info = patientInfusionInfos.value[i]
|
|
|
+ // let id = queryParams.cardType === 'INFUSION_CARD'
|
|
|
+ // ? info.patInfo.patNo : info.patInfo.patNo + '-' + i
|
|
|
+ // let printCount = queryParams.cardType === 'INFUSION_CARD'
|
|
|
+ // ? 3 : 6
|
|
|
+ // // console.log("printCount",printCount)
|
|
|
+ // if (i !== 0 && ((i + 1) % printCount == 0 || i == patientInfusionInfos.value.length - 1)) {
|
|
|
+ // // console.log("printIndex",i)
|
|
|
+ // printHTML = document.getElementById(id).innerHTML + printHTML
|
|
|
+ // let printFinal = printStyle + '<body><div style:"width:600px;display: flex;justify-content: center;align-items: center;flex-wrap: wrap;">' + printHTML + '</div></body>';
|
|
|
+ // console.log("printFinal", printFinal)
|
|
|
+
|
|
|
+ // // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm',printStyle + '<body style:"width:800px;display: flex;justify-content: center;align-items: center;flex-wrap: wrap;">' + printHTML + '</body>' )
|
|
|
+ // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printFinal)
|
|
|
+ // LODOP.SET_PRINT_STYLE('ItemType', 3)
|
|
|
+ // LODOP.PREVIEW();
|
|
|
+ // // LODOP.PRINT()
|
|
|
+ // printHTML = ""
|
|
|
+ // } else {
|
|
|
+ // printHTML += document.getElementById(id).innerHTML
|
|
|
+ // }
|
|
|
}
|
|
|
+ LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printStyle + currentPageHTML);
|
|
|
+ LODOP.PREVIEW()
|
|
|
}
|
|
|
updatePrintState()
|
|
|
} else {
|
|
@@ -257,13 +276,13 @@ const execPrint = () => {
|
|
|
LODOP.PRINT_INIT('infusionCard');
|
|
|
LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '');
|
|
|
|
|
|
- const prntStyle = `<style>
|
|
|
+ const printStyle = `<style>
|
|
|
.card-container { display: inline-block; } /* 一行3个,预留间距 */
|
|
|
td { border: 1px solid black; font-size: 12px; padding: 2px; }
|
|
|
</style>`;
|
|
|
|
|
|
const PAGE_MAX_HEIGHT = 1100; // 页面最大高度阈值(px)
|
|
|
- let currentPageHTML = prntStyle; // 当前页内容
|
|
|
+ let currentPageHTML = printStyle; // 当前页内容
|
|
|
let currentPageTotalHeight = 0; // 当前页累计高度(px)
|
|
|
let currentRowElements = []; // 当前行的元素
|
|
|
let currentRowMaxHeight = 0; // 当前行最高元素高度(px)
|
|
@@ -291,7 +310,7 @@ const execPrint = () => {
|
|
|
LODOP.NewPage(); // 开启新页
|
|
|
|
|
|
// 新页初始化:当前行作为新页的第一行
|
|
|
- currentPageHTML = prntStyle;
|
|
|
+ currentPageHTML = printStyle;
|
|
|
currentPageTotalHeight = currentRowMaxHeight;
|
|
|
} else {
|
|
|
// 不需要分页,累加当前行高度
|
|
@@ -318,7 +337,7 @@ const execPrint = () => {
|
|
|
if (totalHeightAfterAdd > PAGE_MAX_HEIGHT) {
|
|
|
LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', currentPageHTML);
|
|
|
LODOP.NewPage();
|
|
|
- currentPageHTML = prntStyle;
|
|
|
+ currentPageHTML = printStyle;
|
|
|
currentPageTotalHeight = currentRowMaxHeight;
|
|
|
} else {
|
|
|
currentPageTotalHeight = totalHeightAfterAdd;
|
|
@@ -345,7 +364,7 @@ const execPrint = () => {
|
|
|
// let rowCount = 0;
|
|
|
// let isWarp = false;
|
|
|
// let isRowHeightNew = true
|
|
|
- // const prntStyle = `<style>td{border: 1px solid black;
|
|
|
+ // const printStyle = `<style>td{border: 1px solid black;
|
|
|
// font-size: 12px;padding: 2px;}</style>`
|
|
|
// patientInfusionInfos.value.forEach((item, index) => {
|
|
|
// let printTarget = document.getElementById(item.patInfo.patNo + '-' + index);
|
|
@@ -365,7 +384,7 @@ const execPrint = () => {
|
|
|
// // 此时超出一页
|
|
|
// // LODOP.PRINT()
|
|
|
// rowCount = 0
|
|
|
- // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', prntStyle + printHTML)
|
|
|
+ // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printStyle + printHTML)
|
|
|
// LODOP.NewPage(); // 关键:开启新页
|
|
|
// printHTML = printTarget.outerHTML;
|
|
|
// pageHeightNow = pageHeighInRow;
|
|
@@ -391,13 +410,13 @@ const execPrint = () => {
|
|
|
// }
|
|
|
// });
|
|
|
// if (printHTML) {
|
|
|
- // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', prntStyle + printHTML);
|
|
|
+ // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printStyle + printHTML);
|
|
|
// }
|
|
|
// let prntContent1 = document.getElementById("print-test").innerHTML
|
|
|
// let flexStyles = getStyleText('.print-bottle-card-area');
|
|
|
- // // const prntStyle = `<style>${flexStyles}td{border: 1px solid black;
|
|
|
+ // // const printStyle = `<style>${flexStyles}td{border: 1px solid black;
|
|
|
// // font-size: 12px;padding: 2px;}</style>`
|
|
|
- // // let printFinal = prntStyle + prntContent1
|
|
|
+ // // let printFinal = printStyle + prntContent1
|
|
|
// // console.log("prntContent1", prntContent1)
|
|
|
// // LODOP.ADD_PRINT_HTML('0mm', '0mm', '210mm', '297mm', printFinal)
|
|
|
// // LODOP.SET_PRINT_STYLE('ItemType', 3)
|