1.增加盟讯公司业务逻辑相关适配 前后端增加配置参数“ISMX”进行控制
2.前端websocket取消心跳机制(原有心跳和断线重连当服务端网线断开后需要等tcp保活期到期后才能发现重连),自己实现心跳和重连 3.前端关闭后任占用后台线程问题修复
This commit is contained in:
158
货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml.cs
Normal file
158
货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml.cs
Normal file
@ -0,0 +1,158 @@
|
||||
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;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="billNumber"></param>
|
||||
/// <param name="warehouseCode"></param>
|
||||
/// <param name="orderProdNumbers"></param>
|
||||
/// <param name="orderWorkNumbers"></param>
|
||||
/// <param name="isFirstSend">是否是首盘发料</param>
|
||||
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<MatInventoryDetailModel> DataGridItemSource = new List<MatInventoryDetailModel>();
|
||||
|
||||
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<ResponseCommon>(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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user