在系统参数设置 order_print_trigger_templete 中的打印内容模板,可使用下面的变量,具体说明如下:
语法
模板采用 freemarker 引擎解析,所以原生支持所有的 freemarker 语法,你可以自行百度一下 freemarker 语法的简单使用,包括如何判断、如何循环、如何格式化处理数据等等
标签支持
打印机使用标签(类似 html 格式)来格式化输出内容,具体说明如下:
<BR> :换行符
<CUT> :切刀指令(主动切纸,仅限切刀打印机使用才有效果)
<LOGO> :打印LOGO指令(前提是预先在机器内置LOGO图片)
<PLUGIN> :钱箱或者外置音响指令
<CB></CB>:居中放大
<B></B>:放大一倍
<C></C>:居中
<L></L>:字体变高一倍
<W></W>:字体变宽一倍
<QR></QR>:二维码(单个订单,最多只能打印一个二维码)
<RIGHT></RIGHT>:右对齐
<BOLD></BOLD>:字体加粗
参考模板
<CB>${order.id} 号</CB><BR>
<RIGHT>${.now?datetime}</RIGHT><BR>
名称 数量 金额<BR>
--------------------------------<BR>
<#list goods as test>
${test.goodsName} ${test.property!""} ${test.number} ${test.amount}
</#list>
--------------------------------<BR>
合计:${order.amountReal}元<BR>
订单号:${order.orderNumber}<BR>
联系电话:0571-28180512<BR>
<QR>https://www.it120.cc/</QR>
可用变量
打印时间
${.now?datetime}
?datetime 为文本格式化,当前格式化内容会输出 yyyy-MM-dd HH:mm:ss 的格式;
${.now?date} 格式化内容会输出 日期 的格式,不显示时间;
${.now?time} 格式化内容会输出 时间 的格式,不显示日期;
${.now?string("HH:mm")} 格式化内容会输出 几点几分 的格式;
具体可以查阅 freemarker 的使用手册
订单相关变量引用
${order.XXXXX}
后台订单详情接口返回的json数据中的 order 对象里的值都可以调用,比如:
${order.qudanhao} 将会打印出取餐号;
${order.orderNumber} 将会打印出订单号;
${order.amountReal} 将会打印出订单实际支付金额;
订单的商品明细
<#list goods as test>
... (这里面就可以调用 ${test.XXXX} 来显示商品数据)
</#list>
上面代码遍历打印所有的订单商品,后台订单详情接口返回的json数据中的 goodsList 对象里的值都可以调用
收货地址
${logistics.XXXXXX}
后台订单详情接口返回的json数据中的 apiExtOrderLogistics 对象里的值都可以调用
所属门店数据
${shopInfo.XXXXXX}
如果当前订单有归属门店,那么你就可以调用上面的变量直接打印门店数据;
后台门店详情接口返回的json数据中变量都可以调用
订单扩展属性
${extJson.XXXXXX}
后台订单详情接口返回的json数据中的 extJson 对象里的值都可以调用