Browse Source

add print in is

dev
赵明涛 1 year ago
parent
commit
e06f698cfd
  1. 3
      uniapp_project_code/src/pages/index/standby.vue
  2. 19
      uniapp_project_code/src/pages/pay/index.vue
  3. 47
      uniapp_project_code/src/utils/print.js

3
uniapp_project_code/src/pages/index/standby.vue

@ -18,7 +18,7 @@ import {
import {
ox
} from "@/utils/server";
import print from "@/utils/print";
let app = getApp();
export default {
components: {
@ -79,6 +79,7 @@ export default {
console.log("onload:", res)
// this.test()
// this.showPageStandby = true
console.log(123,print.testPrintInfo,print.resetOXPrintInfo(print.testPrintInfo))
},
async onReady() {
// this.screenHeight = await util.getPageHeight()

19
uniapp_project_code/src/pages/pay/index.vue

@ -26,6 +26,8 @@
import {
ox
} from "@/utils/server";
import print from "@/utils/print";
import dictKeyboard from '@/utils/dictOfKeyboard'
import viewHeader from '@/components/index/view_header.nvue';//
import inputQrBox from '@/components/index/keyboard/input_box_QR.vue'; //
@ -144,6 +146,23 @@
util.hideLoad()
})
},
printOrder(){
util.showNone("小票打印中...")
let {store_id,brand_id,token} = getApp().globalData.accountInfo
let stadiumInfo = uni.getStorageSync('stadiumInfo')
let {goods_data,amount} = this.dataQuery
let {time,order_no} = this.paySuccessInfo
let {venue_name} = stadiumInfo
let print_info = {
...dataQuery,venue_name,time,order_no
}
console.log("print_info:",print_info)
//TODO
print.resetOXPrintInfo(print.testPrintInfo)
},
async makeOrder(){
let {store_id,brand_id,token} = getApp().globalData.accountInfo
let {goods_data,amount} = this.dataQuery

47
uniapp_project_code/src/utils/print.js

@ -0,0 +1,47 @@
function resetOXPrintInfo(printInfo) {
let data = [];
// 遍历 printInfo 中的 goods_data 数组,对每个商品对象进行处理
let line_46mm = "-------------------------------\n";
data.push(line_46mm);
for (let item of printInfo.goods_data) {
let row = item.name + ";" + item.nums + ";" + item.price + ";" + (item.price*item.nums).toFixed(2);
data.push(row);
}
data.push(line_46mm);
data.push(`金额合计:${printInfo.amount||'-'}\n`);
data.push(`交易时间:${printInfo.time||'-'}\n`);
data.push(`订单号:${printInfo.order_no||'-'}\n`);
data.push(`门店:${printInfo.venue_name||'-'}\n`);
//如:["乒乓球;5;3.99;19.95"],每个元素代表一行,每行的内容用分号隔开. 46mm打印机约定最大4列.其它纸张需要另做兼容.
// 示例
// ['-------------------------------\n', '南瓜1Kg;1;0.01;0.01', '乔丹篮球;2;0.01;0.02', '-------------------------------\n', '金额合计:0.03\n', '交易时间:-\n', '订单号:-\n', '门店:-\n']
return data;
}
const testPrintInfo = {
"goods_data": [
{
"id": 31,
"name": "南瓜1Kg",
"nums": 1,
"price": 0.01,
"unit": "个"
},
{
"id": 32,
"name": "乔丹篮球",
"nums": 2,
"price": 0.01,
"unit": "个"
}
],
"amount": 0.03
}
export default {
resetOXPrintInfo,
testPrintInfo,
}
Loading…
Cancel
Save