切换CANLIN配置程序后的数据刷新,如果当前的没有,则刷新,不需要展示上一次的数据

This commit is contained in:
2025-08-13 17:12:04 +08:00
parent 1d32e59360
commit d6f6022482
11 changed files with 272 additions and 85 deletions

View File

@@ -4,6 +4,7 @@ using CapMachine.Model;
using CapMachine.Model.CANLIN;
using CapMachine.Wpf.Dtos;
using CapMachine.Wpf.Services;
using ImTools;
using Prism.Commands;
using Prism.Services.Dialogs;
using System;
@@ -43,28 +44,30 @@ namespace CapMachine.Wpf.ViewModels
},
};
//默认只能用1号调度器
SchTabIndexCbxItems = new ObservableCollection<CbxItems>()
{
new CbxItems(){
Key="0",
Text="0",
},
new CbxItems(){
Key="1",
Text="1",
},
new CbxItems(){
Key="2",
Text="2",
},
new CbxItems(){
Key="3",
Text="3",
},
new CbxItems(){
Key="4",
Text="4",
},
//new CbxItems(){
// Key="1",
// Text="1",
//},
//new CbxItems(){
// Key="2",
// Text="2",
//},
//new CbxItems(){
// Key="3",
// Text="3",
//},
//new CbxItems(){
// Key="4",
// Text="4",
//},
};
}
@@ -123,6 +126,17 @@ namespace CapMachine.Wpf.ViewModels
}
private string? _CurSendOrder;
/// <summary>
/// 当前发送方式
/// </summary>
public string? CurSendOrder
{
get { return _CurSendOrder; }
set { _CurSendOrder = value; RaisePropertyChanged(); }
}
private ObservableCollection<CbxItems> _SchTabIndexCbxItems;
/// <summary>
/// 调度器序号 集合信息
@@ -256,6 +270,9 @@ namespace CapMachine.Wpf.ViewModels
//检查空的数据
foreach (var item in ListCANScheduleConfigDto)
{
//整个的发送方式赋值给每个子项
item.OrderSend = CurSendOrder == "0" ? 0 : 1;
if (string.IsNullOrEmpty(item.MsgName))
{
MessageBox.Show("请确认消息名称是否正确", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
@@ -272,13 +289,16 @@ namespace CapMachine.Wpf.ViewModels
return;
}
}
//检查重复设置问题
bool isRepeat = ListCANScheduleConfigDto.GroupBy(i => i.MsgName).Any(g => g.Count() > 1);
if (isRepeat)
{
MessageBox.Show("请确认是否重复设置", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
return;
}
//发送的控制帧都放到同一个调度表中,不需要检查了
////检查重复设置问题
//bool isRepeat = ListCANScheduleConfigDto.GroupBy(i => i.MsgName).Any(g => g.Count() > 1);
//if (isRepeat)
//{
// MessageBox.Show("请确认是否重复设置", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
// return;
//}
//检查数据是否正常
foreach (var item in ListCANScheduleConfigDto)
@@ -347,6 +367,9 @@ namespace CapMachine.Wpf.ViewModels
//防止返回的数据为空,就无法增加了
if (ListCANScheduleConfigDto == null) ListCANScheduleConfigDto = new ObservableCollection<CANScheduleConfigDto>();
//Name = parameters.GetValue<string>("Name");
if (ListCANScheduleConfigDto.Count > 0) {
CurSendOrder = ListCANScheduleConfigDto.FirstOrDefault()!.OrderSend.ToString();
}
SelectCanLinConfigProId = parameters.GetValue<long>("SelectCanLinConfigProId");
}