/** * Queue hook * 打印队列方法 */ export default function QueuePrinter(list,hiprintTemplate,columnsNum){ 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]) 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) } } }, 5000) };