/** * Queue hook * 打印队列方法 */ export default function QueuePrinter(list,hiprintTemplate,columnsNum,printer){ const queue = JSON.parse(JSON.stringify(list)); // 添加打印任务 this.printJob = function(job) { queue.push(job); }; // 模拟打印 this.tick = setInterval(()=>{ if(typeof queue === 'object' && Array.isArray(queue)){ if (queue.length > 0) {hiprintTemplate.value.print2(queue[0],{printer:printer}) queue.shift(); // 打印任务,并从队列中移除 }else{ clearInterval(this.tick) } }else{ if (queue.table.length > 0) { hiprintTemplate.value.print2({table:queue.table.slice(0, columnsNum)}) queue.table.splice(0, columnsNum); }else{ clearInterval(this.tick) } } }, 500) };