第一章 POS界面

POS应用中的弹窗类型

如果想要在POS界面中使用弹窗,根据不同的版本代码形式有稍许区别。

17.0版本代码

const {confirmed} = await this.popup.add(ConfirmPopup, {
    title: _t("Refund Confirm"),
    body: _t("Are you sure to Refund?")
})

使用this.popup.add方法来添加弹窗,弹窗的结果可以通过confirm和payload变量获得。目前版本(17.0)支持的弹窗列表如下:

  • 文本输入框: TextInputPopup
  • 数字输入框: NumberPopup
  • 对话确认框: ConfirmPopup

18.0版本代码

而在18.0中,取消了popup属性,取而代之的是dialog属性,弹窗方式为:

this.dialog.add(AlertDialog,{
    title: res.msg,
    body: res.sub_msg,
    confirm: ()=>{
        this.cancel_payment(paymentMethod, trade_no);
    }
})

支持的对话框:

  • AlertDialog: 警告框
  • ConfirmationDialog: 确认对话框
  • ErrorDialog: 异常对话框

警告框

import { ConfirmationDialog, AlertDialog } from "@web/core/confirmation_dialog/confirmation_dialog";

this.dialog.add(AlertDialog,{
    title: res.msg,
    body: res.sub_msg,
    confirm: ()=>{
        this.cancel_payment(paymentMethod, trade_no);
    }
})
  • confirm: 当用户点击了确认按钮触发的事件

确认对话框

import { ConfirmationDialog, AlertDialog } from "@web/core/confirmation_dialog/confirmation_dialog";

this.dialog.add(ConfirmationDialog,{
    title: res.msg,
    body: res.sub_msg,
    confirm: ()=>{
        this.cancel_payment(paymentMethod, trade_no);
    }
})
  • confirm: 当用户点击了确认按钮触发的事件
  • cancel: 当用户点击取消按钮出发的事件

文本输入框和数字对话框

使用文本对话框和数字对话框获取值的方式如下:

const { payload } = await this.popup.add(TextInputPopup, {
    title: _t("Scan Barcode/QR Code"),
});

对话框输入的内容将被赋值到变量payload中。

POS布局

18.0 版本

POS屏幕可以分为以下几个屏幕布局

  • partner_list
  • payment_screen
  • product_screen
  • receipt_screen
  • scale_screen
  • ticket_screen

Product Screen

接下来我们先看以下Proudct Screen的结构。

Control Buttons

想要自定义一个Control Button就需要按照如下步骤进行编码:

  1. 编写button布局文件

results matching ""

    No results matching ""