'创建鸿蒙应用'
This commit is contained in:
628
src/utils/bluetoothPrinter/printerTemplate.ts
Normal file
628
src/utils/bluetoothPrinter/printerTemplate.ts
Normal file
@@ -0,0 +1,628 @@
|
||||
|
||||
import { store } from '@/store';
|
||||
import PrinterJobs from '@/utils/bluetoothPrinter/printerjobs'
|
||||
import printerUtil from '@/utils/bluetoothPrinter/printerutil.js'
|
||||
import util from '@/utils/bluetoothPrinter/util.js'
|
||||
import { getStorage } from '../storage';
|
||||
import { timeFormatHMS } from '../tools';
|
||||
/*************************************************
|
||||
* 打印机模板
|
||||
* @param {string} size 模板大小 0:小号 1:中号 2:大号
|
||||
* @return {} 蓝牙打印订单
|
||||
*/
|
||||
const printerTemplate = async function (data: AnyObject) {
|
||||
let tmpOrder = data.orderInfo
|
||||
let tmpSkus = data.skus
|
||||
let storeName = store.state.storeInfo.allStoreInfo.name ? store.state.storeInfo.allStoreInfo.name : '京西到家'
|
||||
let storeTel = store.state.storeInfo.allStoreInfo.tel1 ? store.state.storeInfo.allStoreInfo.tel1 : '18048531223'
|
||||
let p = new PrinterJobs()
|
||||
let size = +getStorage('printerRetrySize') || 0
|
||||
switch (size) {
|
||||
// 小号
|
||||
case 0:
|
||||
// 平台名称
|
||||
p
|
||||
.clear()
|
||||
.setSize(2, 2)
|
||||
.setAlign('ct')
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 下单时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`下单时间:${timeFormatHMS(tmpOrder.orderCreatedAt)}`)
|
||||
|
||||
// 预计送达时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`预计送达:${expectTime(tmpOrder)}`)
|
||||
|
||||
// 客户姓名
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`客户姓名:${tmpOrder.consigneeName}`)
|
||||
|
||||
// 客户电话
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`客户电话:${tmpOrder.consigneeMobile}`)
|
||||
|
||||
// 订单编号
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.printArrayP(30)
|
||||
.print(`订单编号:${tmpOrder.vendorOrderID}`)
|
||||
|
||||
// 订单序号
|
||||
.setSize(2, 2)
|
||||
.setBold(true)
|
||||
.setAlign('ct')
|
||||
.printArrayP(30)
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}#${tmpOrder.orderSeq}`)
|
||||
|
||||
// 条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && !getStorage('printerCompatible')) {
|
||||
p
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
}
|
||||
|
||||
// 饿佰取货码
|
||||
if (tmpOrder.vendorID === 3) {
|
||||
p
|
||||
.setSize(1, 2)
|
||||
.setAlign('ct')
|
||||
.printArrayP(30)
|
||||
.print(`饿百取货码: ${tmpOrder.vendorOrderID2.slice(tmpOrder.vendorOrderID2.length - 4)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户地址
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.print(`客户地址:${tmpOrder.consigneeAddress}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户备注
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.print(`客户备注:${tmpOrder.buyerComment}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品列表
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print('商品列表')
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
// 打印
|
||||
p
|
||||
.print('品名 数量 单价')
|
||||
.print(printerUtil.fillLine())
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
console.log('ZSW-item', item);
|
||||
let comparePrice = item.vendorPrice / 100
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', `x${item.count}`, `¥${(comparePrice * 1).toFixed(2)}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
} else {
|
||||
// 不打印
|
||||
p
|
||||
.print('品名 数量')
|
||||
.print(printerUtil.fillLine())
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', '', `x${item.count}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
}
|
||||
|
||||
p
|
||||
.print(`共${tmpOrder.skuCount}种${tmpOrder.goodsCount}件商品`)
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
p
|
||||
.print(`实付金额: ¥${(tmpOrder.actualPayPrice / 100).toFixed(2)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品质量问题
|
||||
.setSize(1, 2)
|
||||
.setAlign('ct')
|
||||
.print('商品质量问题')
|
||||
.print(storeTel)
|
||||
.println(storeName)
|
||||
|
||||
// 兼容模式条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && getStorage('printerCompatible')) {
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.setAlign('ct')
|
||||
.print(`#${tmpOrder.orderSeq}号兼容模式条形码`)
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
.println()
|
||||
.println()
|
||||
} else {
|
||||
p
|
||||
// 结束
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillAround(`#${tmpOrder.orderSeq}完`))
|
||||
.println()
|
||||
.println()
|
||||
}
|
||||
break
|
||||
// 中号
|
||||
case 1:
|
||||
// 平台名称
|
||||
p
|
||||
.clear()
|
||||
.setSize(2, 2)
|
||||
.setAlign('ct')
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 下单时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`下单时间:${timeFormatHMS(tmpOrder.orderCreatedAt)}`)
|
||||
|
||||
// 预计送达时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`预计送达:${expectTime(tmpOrder)}`)
|
||||
|
||||
// 客户姓名
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`客户姓名:${tmpOrder.consigneeName}`)
|
||||
|
||||
// 客户电话
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.print(`客户电话:${tmpOrder.consigneeMobile}`)
|
||||
|
||||
// 订单编号
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.printArrayP(30)
|
||||
.print(`订单编号:${tmpOrder.vendorOrderID}`)
|
||||
|
||||
// 订单序号
|
||||
.setSize(2, 2)
|
||||
.setBold(true)
|
||||
.setAlign('ct')
|
||||
.printArrayP(30)
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}#${tmpOrder.orderSeq}`)
|
||||
|
||||
// 条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && !getStorage('printerCompatible')) {
|
||||
p
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
}
|
||||
|
||||
// 饿佰取货码
|
||||
if (tmpOrder.vendorID === 3) {
|
||||
p
|
||||
.setSize(1, 2)
|
||||
.setAlign('ct')
|
||||
.printArrayP(30)
|
||||
.print(`饿百取货码: ${tmpOrder.vendorOrderID2.slice(tmpOrder.vendorOrderID2.length - 4)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户地址
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户地址:${tmpOrder.consigneeAddress}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户备注
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户备注:${tmpOrder.buyerComment}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品列表
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print('商品列表')
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
p
|
||||
.print('品名 数量 单价')
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
.setSize(1, 1)
|
||||
.setBold(true)
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
let comparePrice = item.vendorPrice / 100
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', `x${item.count}`, `¥${(comparePrice * 1).toFixed(2)}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
} else {
|
||||
p
|
||||
.print('品名 数量')
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
.setSize(1, 1)
|
||||
.setBold(true)
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', '', `x${item.count}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.setBold(true)
|
||||
.print(`共${tmpOrder.skuCount}种${tmpOrder.goodsCount}件商品`)
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
p
|
||||
.print(`实付金额: ¥${(tmpOrder.actualPayPrice / 100).toFixed(2)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品质量问题
|
||||
.setSize(1, 2)
|
||||
.setAlign('ct')
|
||||
.setBold(true)
|
||||
.print('商品质量问题')
|
||||
.print(storeTel)
|
||||
.println(storeName)
|
||||
|
||||
// 兼容模式条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && getStorage('printerCompatible')) {
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.setAlign('ct')
|
||||
.print(`#${tmpOrder.orderSeq}号兼容模式条形码`)
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
.println()
|
||||
.println()
|
||||
} else {
|
||||
p
|
||||
// 结束
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillAround(`#${tmpOrder.orderSeq}完`))
|
||||
.println()
|
||||
.println()
|
||||
}
|
||||
break
|
||||
// 大号
|
||||
case 2:
|
||||
// 平台名称
|
||||
p
|
||||
.clear()
|
||||
.setSize(2, 2)
|
||||
.setAlign('ct')
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 下单时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`下单时间:${timeFormatHMS(tmpOrder.orderCreatedAt)}`)
|
||||
|
||||
// 预计送达时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`预计送达:${expectTime(tmpOrder)}`)
|
||||
|
||||
// 预计送达时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户姓名:${tmpOrder.consigneeName}`)
|
||||
|
||||
// 预计送达时间
|
||||
.setSize(1, 1)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户电话:${tmpOrder.consigneeMobile}`)
|
||||
|
||||
// 订单编号
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.printArrayP(30)
|
||||
.print(`订单编号:${tmpOrder.vendorOrderID}`)
|
||||
|
||||
// 订单序号
|
||||
.setSize(2, 2)
|
||||
.setBold(true)
|
||||
.setAlign('ct')
|
||||
.printArrayP(30)
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}#${tmpOrder.orderSeq}`)
|
||||
|
||||
// 条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && !getStorage('printerCompatible')) {
|
||||
p
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
}
|
||||
|
||||
// 饿佰取货码
|
||||
if (tmpOrder.vendorID === 3) {
|
||||
p
|
||||
.setSize(1, 2)
|
||||
.setAlign('ct')
|
||||
.setBold(true)
|
||||
.printArrayP(30)
|
||||
.print(`饿百取货码: ${tmpOrder.vendorOrderID2.slice(tmpOrder.vendorOrderID2.length - 4)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户地址
|
||||
.setSize(2, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户地址:${tmpOrder.consigneeAddress}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 客户备注
|
||||
.setSize(2, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print(`客户备注:${tmpOrder.buyerComment}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品列表
|
||||
.setSize(1, 2)
|
||||
.setAlign('lt')
|
||||
.setBold(true)
|
||||
.print('商品列表')
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
p
|
||||
.print('品名 数量 单价')
|
||||
.setSize(1, 2)
|
||||
.print(printerUtil.fillLine())
|
||||
.setSize(1, 2)
|
||||
.setBold(true)
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
let comparePrice = item.vendorPrice / 100
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', `x${item.count}`, `¥${(comparePrice * 1).toFixed(2)}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
} else {
|
||||
p
|
||||
.print('品名 数量')
|
||||
.setSize(1, 2)
|
||||
.print(printerUtil.fillLine())
|
||||
.setSize(1, 2)
|
||||
.setBold(true)
|
||||
tmpSkus.forEach((item: any, index: number) => {
|
||||
p.print(`${index + 1}.${item.skuName}`)
|
||||
p.print(util.goodsGandle('', '', `x${item.count}`))
|
||||
|
||||
// 蓝牙打印机地方设置打印 upc
|
||||
if (getStorage('isPrinterUpc') && item.upc) {
|
||||
p.print(`UPC: ${item.upc}`)
|
||||
}
|
||||
|
||||
p.print(printerUtil.fillLine())
|
||||
})
|
||||
}
|
||||
|
||||
p
|
||||
.setSize(2, 2)
|
||||
.setBold(true)
|
||||
.print(`共${tmpOrder.skuCount}种${tmpOrder.goodsCount}件商品`)
|
||||
if (!getStorage('printerGoodsMoney')) {
|
||||
p
|
||||
.print(`实付:¥${(tmpOrder.actualPayPrice / 100).toFixed(2)}`)
|
||||
}
|
||||
|
||||
// 分割线
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillLine())
|
||||
|
||||
// 商品质量问题
|
||||
.setSize(2, 2)
|
||||
.setAlign('ct')
|
||||
.setBold(true)
|
||||
.print('商品质量问题')
|
||||
.print(storeTel)
|
||||
.println(storeName)
|
||||
|
||||
// 兼容模式条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && getStorage('printerCompatible')) {
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.setAlign('ct')
|
||||
.print(`#${tmpOrder.orderSeq}号兼容模式条形码`)
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
.println()
|
||||
.println()
|
||||
} else {
|
||||
p
|
||||
// 结束
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillAround(`#${tmpOrder.orderSeq}完`))
|
||||
.println()
|
||||
.println()
|
||||
}
|
||||
break
|
||||
// 开发者模板
|
||||
case 3:
|
||||
p
|
||||
.clear()
|
||||
// 开始
|
||||
.setSize(2, 2)
|
||||
.setAlign('ct')
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}`)
|
||||
|
||||
// 分割线
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillAround(`#${tmpOrder.orderSeq}`))
|
||||
.println()
|
||||
|
||||
// 订单序号
|
||||
.setSize(2, 2)
|
||||
.setBold(true)
|
||||
.setAlign('ct')
|
||||
.print(`${vendorID2(tmpOrder.vendorID)}#${tmpOrder.orderSeq}`)
|
||||
|
||||
// 条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && !getStorage('printerCompatible')) {
|
||||
p
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
}
|
||||
|
||||
// 兼容模式条形码
|
||||
if (tmpOrder.vendorOrderID.length < 18 && getStorage('printerCompatible')) {
|
||||
p
|
||||
.setSize(1, 1)
|
||||
.setAlign('ct')
|
||||
.print(`#${tmpOrder.orderSeq}号兼容模式条形码`)
|
||||
.printQrFormat(tmpOrder.vendorOrderID)
|
||||
.print(tmpOrder.vendorOrderID)
|
||||
.println()
|
||||
.println()
|
||||
} else {
|
||||
p
|
||||
// 结束
|
||||
.setSize(1, 1)
|
||||
.print(printerUtil.fillAround(`#${tmpOrder.orderSeq}完`))
|
||||
.println()
|
||||
.println()
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
let buffer = await p.buffer()
|
||||
return buffer
|
||||
}
|
||||
|
||||
// 处理平台名字
|
||||
function vendorID2(vendorID: number) {
|
||||
switch (vendorID) {
|
||||
case 0:
|
||||
return '京东到家'
|
||||
case 1:
|
||||
return '美团外卖'
|
||||
case 2:
|
||||
return '饿了么'
|
||||
case 3:
|
||||
return '饿百新零售'
|
||||
case 5:
|
||||
return '京东商城'
|
||||
case 9:
|
||||
return '京西到家'
|
||||
case 11:
|
||||
return '微盟'
|
||||
case 14:
|
||||
return '抖音小时购'
|
||||
case 16:
|
||||
return '淘鲜达'
|
||||
default:
|
||||
return '未知平台'
|
||||
}
|
||||
}
|
||||
|
||||
// 无预计送达时间的情况
|
||||
function expectTime(tmpOrder: AnyObject) {
|
||||
let timer
|
||||
try {
|
||||
if (!tmpOrder.expectedDeliveredTime || tmpOrder.expectedDeliveredTime.indexOf('1970') !== -1) {
|
||||
timer = new Date(new Date(tmpOrder.orderCreatedAt).getTime() + 60 * 60 * 1000)
|
||||
} else {
|
||||
timer = new Date(tmpOrder.expectedDeliveredTime)
|
||||
}
|
||||
return timeFormatHMS(+timer)
|
||||
} catch (e) {
|
||||
return 'YYYY-MM-DD hh:mm:ss'
|
||||
}
|
||||
}
|
||||
|
||||
export default printerTemplate
|
||||
Reference in New Issue
Block a user