汽修 / 4S 店:维修工单、结算单网页怎么静默出纸

修理厂现场最怕:技师在工位等工单,前台却在跟浏览器打印框较劲。一张施工单打到财务激光机,一张结算单打到车间针式机------纸飞、人吼、车还压着工位。

服务顾问提的需求通常就这几句:

  • 接车单 / 施工单打到车间那台
  • 结算单、报价单打到前台那台
  • 不要弹窗、尽量指定打印机
  • 格式跟现在单据差不多

window.print 解决不了「指定机」;jsPDF 更冤,做出来是下载文件,车间要的是纸。

这类系统真正卡在哪

浏览器安全模型不允许网页随便静默出纸。车间、前台想一点就出,行业做法是:出纸电脑装本机打印服务,页面把内容推过去。

老 DMS / 汽修软件里 Lodop 很常见。能跑就别全拆。新做的 Vue 工单模块、平板接车壳,继续塞全局脚本会越来越痛,Chrome 一升级又「打印没反应」。

我现在新模块怎么接

票种不多、单据是页面 HTML 的,用 npm 包 web-print-pdf:工位装配套客户端,前端 async 调一下。

bash 复制代码
npm install web-print-pdf
js 复制代码
import webPrintPdf from 'web-print-pdf'

export async function printWorkOrder(html, printerName) {
  return webPrintPdf.printHtml(
    html,
    {
      paperFormat: 'A4',
      margin: { top: '10mm', bottom: '10mm', left: '10mm', right: '10mm' },
      printBackground: true,
    },
    { printerName, copies: 1 },
    { action: 'print' } // 联调先 preview
  )
}

// 车间施工单
await printWorkOrder(jobHtml, '车间-工单针式')
// 前台结算单
await printWorkOrder(billHtml, '前台-结算激光')

打印机名字写进门店 / 工位配置。 别信「默认打印机」。名字用包里的 utils.getPrinterList() 抄。

已经生成 PDF 的结算、报价,走 printPdfByUrl / printPdfByBase64,别再转 HTML。客户端要能访问到那个地址,内网鉴权链现场容易栽。

和 Lodop 怎么共存

老接车单、老套打继续 Lodop。新做的快速保养单、配件领料单走新方案。字典加打印引擎字段。对店长好讲话:不是推翻现场,是新流程试点。

上线前车间盯什么

客户端开机自启没有。

车间机、前台机名字有没有装反。

一式两联要不要 copies: 2,还是模板里直接两联排版。

高峰连打会不会把针式机堵死(看包是否支持排队 / 批量)。

包名搜 web-print-pdf。百度开发者中心这篇不放外链。

相关推荐
Sirens.1 小时前
Java多线程实例:单例模式、阻塞队列、线程池与定时器
java·开发语言·单例模式
liangshanbo12151 小时前
Webpack的分包策略面试题
前端·webpack·node.js
沫璃染墨1 小时前
《从零入门Linux系统篇(五十三):线程篇·六——线程互斥详解:从并发问题到mutex互斥锁》
linux·运维·服务器·开发语言·后端·架构·系统架构
ttwuai1 小时前
Golang Web后台管理框架推荐:Gin、GoFrame与数据面板项目怎么分
前端·golang·gin
广州华水科技1 小时前
北斗GNSS变形监测系统在水库安全监测中的应用与优势
前端
老王爱玩车1 小时前
深入理解指针6
c语言·开发语言·学习
Eloudy1 小时前
全文 - version.A - AMBA CHI Chip-to-Chip(C2C)
java·开发语言·数据库·gpu·chiplet
秋名RG1 小时前
Java历代LTS版本新特性详解(代码增强版)
java·开发语言·python