扩展打印二维码的功能,可以把任意字段作为二维码打印

分享 二维码打印二维码  收藏
16 / 1543

最近在给客户搭建应用的过程中,涉及到仓库里的商品要扫码出库(用扫码枪),由于是按批次「先进先出」的规则,必须在二维码中包含商品的批次信息,所以无法使用商品自身包装上的条码来执行扫码。

第一个想到的办法就是利用明道云自己的「打印二维码」的功能,因为这个码是记录的分享链接,是一个 URL,其实里面是包含了批次和商品明细信息的,只要在扫码枪拿到 URL 录入系统后,在工作流里处理时把二维码对应的记录拿到,这样接下来就很好处理了。用这个二维码打印出来帖在商品上还有一个好处,就是客户在收到商品后,可以直接扫码查看商品的一些系统想要给他看的关联信息,比如货源追踪之类的。

一切都貌似很美好,直到我发现「工作流」里根本无法通过分享链接的记录 ID 来获取记录!晴天霹雳啊!马上问了一下深圳的兰倚同学这种情况是怎么处理的,他说一般都是用外接 API 生成一个二维码,然后再在系统里添加一个打印模板来实现。但是我的客户是用二维码打印机的呀,我一时不敢确认这个方法是不是在这种情况下行得通。

我没有贸然去搞 API 和模板,因为明道云里自带的这个可以用二维码打印机的模板我真的是很喜欢啊( 除了每次打开都要重新选择配置 🤪 )。

image.png

盯着这个窗口看了一阵,我突然想到,是不是可以直接把某个文本字段的值作为二维码的来源来打印?越想越觉得好像真的可行啊,而且貌似这个功能纯前端就可以做啊,不用给明道云提需求,自己动手就行了啊(明道云前端开源真是值得大大的赞)。

于是马上画了原型图:

二维码打印设置.png

和前端的小伙伴一商量,得,开始吧,顺便把不能记忆配置这个问题解决掉。这样客户要用的时候直接点击「打印二维码」,连上二维码打印机就可以啦。

接下来,就展示我们的成品啦 ( 其实就是上面那个图啊,一比一还原 ):

  1. 在工作表视图里选择记录「打印二维码」时,除了保持原来的分享链接作为源之外,可以选择任意字段作为二维码的图源;
  2. 可以记忆最后打印的配置;
  3. 当选择的字段不支持生成二维码时,会提示「该字段不支持生成二维码」。

私有部署的同学们有需要可以马上用起来:

https://github.com/tontisa/pd-openweb

另外,已经向官方仓库提交 PR,期待合并到正式产品里!