OutboundFinishedPage.xaml.cs 2.2 KB
using IndustrialControl.Services;
using IndustrialControl.ViewModels;

namespace IndustrialControl.Pages
{
    public partial class OutboundFinishedPage : ContentPage
    {
        private readonly ScanService _scanSvc;
        private readonly OutboundFinishedViewModel _vm;

        public OutboundFinishedPage(OutboundFinishedViewModel vm, ScanService scanSvc)
        {
            InitializeComponent();
            BindingContext = vm;
            _scanSvc = scanSvc;
            _vm = vm;
        }

        protected override void OnAppearing()
        {
            base.OnAppearing();
            _scanSvc.Attach(ScanEntry);
            ScanEntry.Focus();
        }

        /// <summary>
        /// 清空扫描记录
        /// </summary>
        void OnClearClicked(object sender, EventArgs e)
        {
            _vm.ClearScan();
            ScanEntry.Text = string.Empty;
            ScanEntry.Focus();
        }

        /// <summary>
        /// 预留摄像头扫码
        /// </summary>
        async void OnScanClicked(object sender, EventArgs e)
        {
            await DisplayAlert("提示", "此按钮预留摄像头扫码;硬件扫描直接扣扳机。", "确定");
        }

        /// <summary>
        /// 点击“出库单明细”Tab
        /// </summary>
        void OnPendingTabClicked(object sender, EventArgs e)
        {
            _vm.ShowPendingCommand.Execute(null);
        }

        /// <summary>
        /// 点击“扫描明细”Tab
        /// </summary>
        void OnScannedTabClicked(object sender, EventArgs e)
        {
            _vm.ShowScannedCommand.Execute(null);
        }

        /// <summary>
        /// 扫描通过
        /// </summary>
        void OnPassScanClicked(object sender, EventArgs e)
        {
            _vm.PassScanCommand.Execute(null);
        }

        /// <summary>
        /// 取消扫描
        /// </summary>
        void OnCancelScanClicked(object sender, EventArgs e)
        {
            _vm.CancelScanCommand.Execute(null);
        }

        /// <summary>
        /// 确认出库
        /// </summary>
        async void OnConfirmClicked(object sender, EventArgs e)
        {
            _vm.ConfirmCommand.Execute(null);
        }
    }
}