using HandyControl.Controls; using HandyControl.Data; using HandyControl.Tools.Extension; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Media; using System.Runtime.CompilerServices; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using WCS.Model; using WCS.Model.ApiModel.MatInventoryDetail; using 货架标准上位机.Api; using 货架标准上位机.ViewModel; using 货架标准上位机.Views.Controls; namespace 货架标准上位机 { public partial class MXOutOrderDetailView : HandyControl.Controls.Window { public MXOutOrderDetailViewViewModel viewModel; /// /// /// /// /// /// /// /// 是否是首盘发料 public MXOutOrderDetailView(string billNumber, string warehouseCode , string orderProdNumbers, string orderWorkNumbers, int isFirstSend = 0, string reportSide = null ) { InitializeComponent(); viewModel = new MXOutOrderDetailViewViewModel(billNumber, warehouseCode, orderProdNumbers, orderWorkNumbers, isFirstSend, reportSide); this.DataContext = viewModel; } private void closeClick(object sender, RoutedEventArgs e) { this.DialogResult = false; this.Close(); } private void DataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { DataGrid datagrid = sender as DataGrid; var index = datagrid.SelectedIndex; if (index >= 0) { if (viewModel.DataGridItemSource != null && viewModel.DataGridItemSource.Count() > index) { var data = viewModel.DataGridItemSource.ElementAt(index); data.IsSelected = !data.IsSelected; viewModel.DataGridItemSource = viewModel.DataGridItemSource.ToList(); } } datagrid.UnselectAllCells(); } private void txtMatQty1_PreviewTextInput(object sender, TextCompositionEventArgs e) { if (!Regex.IsMatch(e.Text, "^[0-9]")) { e.Handled = true; } } public List DataGridItemSource = new List(); private void comfirmClick(object sender, RoutedEventArgs e) { this.DialogResult = true; if (viewModel.DataGridItemSource != null) { DataGridItemSource = viewModel.DataGridItemSource.Where(t => t.IsSelected).ToList(); if (DataGridItemSource != null && DataGridItemSource.Count > 0) { var dia = Dialog.Show(new TextDialog()); try { #region 调用接口保存出库单据 var body1 = new SysOutOrderByMatSnRequest() { OrderNumber = viewModel.BillNumber, OrderType = "出库", OrderSource = "WCS前端", SnList = DataGridItemSource.Select(t => t.MatSN).ToList(), DeviceType = LocalFile.Config.DeviceType, UserName = LocalStatic.CurrentUser }; var Result1 = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outstore/sysOutOrderByMatSn", body1, "POST"); if (Result1 != null && Result1.Code == 200) { //出库单据保存成功 刷新左侧出库单列表 MXOutInventoryView.viewModel.RefreshOutOrderList(viewModel.BillNumber); Growl.Success("出库单据保存成功,请点击【开始发料】进行发料!"); } else if (Result1 != null) { Growl.Warning(Result1.Message); } #endregion } catch (Exception ex) { Growl.Error("保存出库单据失败:" + ex.Message); } finally { App.Current.Dispatcher.Invoke(() => { dia.Close(); dia.Collapse(); }); } } this.Close(); } else this.Close(); } private void CheckBox_Checked(object sender, RoutedEventArgs e) { viewModel.RefreshCount(); } private void allChecked_Checked(object sender, RoutedEventArgs e) { if (viewModel != null && viewModel.DataGridItemSource != null && viewModel.DataGridItemSource.Count() > 0) { foreach (var item in viewModel.DataGridItemSource) { item.IsSelected = true; } viewModel.DataGridItemSource = viewModel.DataGridItemSource.ToList(); } } private void allChecked_Unchecked(object sender, RoutedEventArgs e) { if (viewModel != null && viewModel.DataGridItemSource != null && viewModel.DataGridItemSource.Count() > 0) { foreach (var item in viewModel.DataGridItemSource) { item.IsSelected = false; } viewModel.DataGridItemSource = viewModel.DataGridItemSource.ToList(); } } } }