汽修 / 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。百度开发者中心这篇不放外链。

相关推荐
不是万能的豆学长3 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
m0_敲代码的彭于晏1686 小时前
Vercel 前端部署平台深度评测
前端
懂点Tech7 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
怕浪猫7 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github
m0_敲代码的彭于晏1688 小时前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
徐小夕8 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
贾伟康8 小时前
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
前端·移动开发·harmonyos·arkts·arkui
catchadmin8 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路9 小时前
go-grpc设计思想
开发语言·后端·golang
Csvn9 小时前
SSR/SSG/ISR(上):峡谷与渲染策略的时间预算
前端