渲染标签添加提示消息

This commit is contained in:
maqiao 2024-02-28 10:06:11 +08:00
parent 9aeafa2552
commit a23fcb0599
1 changed files with 51 additions and 20 deletions

View File

@ -218,7 +218,15 @@ namespace DM_Weight.ViewModels
SetProperty(ref _pageSize, value); SetProperty(ref _pageSize, value);
} }
} }
/// <summary>
/// 渲染标签状态
/// </summary>
private bool _status = false;
public bool Status
{
get => _status;
set => SetProperty(ref _status, value);
}
public bool CanCloseDialog() public bool CanCloseDialog()
@ -510,23 +518,29 @@ namespace DM_Weight.ViewModels
/// </summary> /// </summary>
public DelegateCommand ResetLabelCommand public DelegateCommand ResetLabelCommand
{ {
get => new DelegateCommand(async () => get => new DelegateCommand(() =>
{ {
var SelectChannels = Channels.FindAll(item => item.IsSelected); var SelectChannels = Channels.FindAll(item => item.IsSelected);
var c = SelectChannels.Count; var c = SelectChannels.Count;
if (c > 0) if (c > 0)
{ {
List<Task> tasks = new List<Task>();
SelectChannels.ForEach(async item => SelectChannels.ForEach(async item =>
{ {
//var channelStock = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.Chnguid == item.Id).ToList(); //var channelStock = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.Chnguid == item.Id).ToList();
if (item.BoardType == 5) if (item.BoardType == 5)
{ {
Status = true;
if (item.DrugId == null) if (item.DrugId == null)
{ {
// 清除显示屏库位信息 // 清除显示屏库位信息
_portUtil.ClearContent(item.DrawerNo, item.ColNo); _portUtil.ClearContent(item.DrawerNo, item.ColNo);
await Task.Delay(200); //await Task.Delay(200000);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo); _portUtil.ShowContent(item.DrawerNo, item.ColNo);
} }
else else
@ -535,23 +549,36 @@ namespace DM_Weight.ViewModels
_portUtil.WindowName = "BindingChannelDialog"; _portUtil.WindowName = "BindingChannelDialog";
// 向显示屏写入库位信息 // 向显示屏写入库位信息
_portUtil.WriteChannelInfo(1, drugSelected.DrugName, item.DrawerNo, item.ColNo); _portUtil.WriteChannelInfo(1, drugSelected.DrugName, item.DrawerNo, item.ColNo);
await Task.Delay(200); //await Task.Delay(200000000);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.WriteChannelInfo(2, drugSelected.DrugSpec, item.DrawerNo, item.ColNo); _portUtil.WriteChannelInfo(2, drugSelected.DrugSpec, item.DrawerNo, item.ColNo);
await Task.Delay(200); //await Task.Delay(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.WriteChannelInfo(8, drugSelected.Manufactory.Length > 10 ? drugSelected.Manufactory.Substring(0, 10) : drugSelected.Manufactory, item.DrawerNo, item.ColNo); _portUtil.WriteChannelInfo(8, drugSelected.Manufactory.Length > 10 ? drugSelected.Manufactory.Substring(0, 10) : drugSelected.Manufactory, item.DrawerNo, item.ColNo);
await Task.Delay(200); //await Task.Delay(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.ShowContent(item.DrawerNo, item.ColNo); _portUtil.ShowContent(item.DrawerNo, item.ColNo);
//_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo); //_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
await Task.Delay(200); //await Task.Delay(200);
//Thread.Sleep(200);
tasks.Add(TaskSleep());
_portUtil.WriteQuantity(item.DrawerNo, item.ColNo, item.totalCount); _portUtil.WriteQuantity(item.DrawerNo, item.ColNo, item.totalCount);
//await Task.Delay(200); //await Task.Delay(200);
} }
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
SnackbarMessageQueue.Enqueue("标签渲染完成!");
return;
} }
}); });
//GetChannelsByDrawerNo(); Task.WhenAll(tasks);
if (Status.Equals(true))
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
SnackbarMessageQueue.Enqueue("标签渲染完成!");
Status = false;
}
GetChannelsByDrawerNo();
} }
else else
{ {
@ -560,7 +587,11 @@ namespace DM_Weight.ViewModels
SnackbarMessageQueue.Enqueue("请选择库位"); SnackbarMessageQueue.Enqueue("请选择库位");
return; return;
} }
}); }, () => Status == false);
}
static async Task TaskSleep()
{
await Task.Delay(200);
} }
public DelegateCommand BtnCloseCommand public DelegateCommand BtnCloseCommand
{ {