|
@@ -31,6 +31,11 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
private readonly ILogger _logger;
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly IMenuService _menuService;
|
|
|
+
|
|
|
+ private List<BasicPlcTestSchemeDto> allConfigList = new List<BasicPlcTestSchemeDto>();//所有方案
|
|
|
+ private List<BasicPlcTestSchemeDto> conditionConfig = new List<BasicPlcTestSchemeDto>();//所有方案
|
|
|
+
|
|
|
+ private const int PageCount = 1; //每一页显示个数
|
|
|
public BaseConfigViewModel(IDialogService dialog, IMenuService menuService, IOptionConfigService optionConfigService, IBasicPlcTestSchemeService basicPlcTestSchemeService, IBasicPlcTestSchemeDtlService basicPlcTestSchemeDtlService ,IMapper mapper, ILogger logger)
|
|
|
{
|
|
|
_dialog = dialog;
|
|
@@ -40,15 +45,66 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
_logger = logger;
|
|
|
_mapper = mapper;
|
|
|
_menuService = menuService;
|
|
|
-
|
|
|
+ QueryCommand = new DelegateCommand<object>(Query);
|
|
|
+ ResetCommand = new DelegateCommand<object>(Reset);
|
|
|
ExportCommand = new DelegateCommand<string>(Export);
|
|
|
AddPlanCommand = new DelegateCommand<string>(AddPlan);
|
|
|
EditCommand = new DelegateCommand<object>(Edit);
|
|
|
DeleteCommand = new DelegateCommand<object>(Delete);
|
|
|
+ PageUpdatedCmd = new DelegateCommand(PageUpdated);
|
|
|
GetConfigOption();
|
|
|
GetContent();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #region 私有方法
|
|
|
+ /// <summary>
|
|
|
+ /// 上下页
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="obj"></param>
|
|
|
+ private void PageUpdated()
|
|
|
+ {
|
|
|
+ var disDatas = conditionConfig.Skip((PageIndex - 1) * PageCount).Take(PageCount).ToList();
|
|
|
+ BaseConfigList = new ObservableCollection<BasicPlcTestSchemeDto>(disDatas);
|
|
|
+ }
|
|
|
+ private void Reset(object obj)
|
|
|
+ {
|
|
|
+ ScheduleName = string.Empty;
|
|
|
+ DeviceName = string.Empty;
|
|
|
+ TestName = string.Empty;
|
|
|
+ SelectTest = string.Empty;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Query(object obj)
|
|
|
+ {
|
|
|
+ if((!string.IsNullOrEmpty(StartTime))&&(!string.IsNullOrEmpty(EndTime)))
|
|
|
+ {
|
|
|
+ if (Convert.ToDateTime(StartTime) > Convert.ToDateTime( EndTime))
|
|
|
+ {
|
|
|
+ MessageBox.Show("起始时间大于结束时间,请重新输入", "确认", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (Convert.ToDateTime(StartTime).AddDays(2) < Convert.ToDateTime(EndTime))
|
|
|
+ {
|
|
|
+ MessageBox.Show("起始时间和结束时间间隔不能大于2天,请重新输入", "确认", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ conditionConfig = (from a in allConfigList
|
|
|
+ where (EndTime == string.Empty ? true : (a.CreateTime < Convert.ToDateTime(EndTime)) && (Convert.ToDateTime(StartTime) < a.CreateTime))
|
|
|
+ && (string.IsNullOrEmpty(ScheduleName) ? true : (a.SchemeName == ScheduleName))
|
|
|
+ && (string.IsNullOrEmpty(TestName) ? true : (a.ItemName == TestName))
|
|
|
+ && (string.IsNullOrEmpty(DeviceName) ? true : (a.DeviceName == DeviceName))
|
|
|
+ && (string.IsNullOrEmpty(SelectTest) ? true : (a.ItemType == SelectTest))
|
|
|
+ select a).ToList();
|
|
|
+ //默认显示的第一页
|
|
|
+ PageIndex = 1;
|
|
|
+ PageUpdated();
|
|
|
+ //BaseConfigList = new ObservableCollection<BasicPlcTestSchemeDto>(conditionConfig);
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// 获取配置
|
|
|
/// </summary>
|
|
@@ -100,7 +156,10 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
GetContent();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 新增按钮
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="obj"></param>
|
|
|
private void AddPlan(string obj)
|
|
|
{
|
|
|
|
|
@@ -115,7 +174,10 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// excel导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="obj"></param>
|
|
|
private void Export(object obj)
|
|
|
{
|
|
|
|
|
@@ -170,6 +232,8 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
var configList = _mapper.Map<List<bas_plc_test_scheme>, List<BasicPlcTestSchemeDto>>(schlist);
|
|
|
//清空集合
|
|
|
BaseConfigList.Clear();
|
|
|
+ allConfigList.Clear();
|
|
|
+ conditionConfig.Clear();
|
|
|
//查找测试项名称
|
|
|
foreach (var sch in configList)
|
|
|
{
|
|
@@ -198,39 +262,63 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
basicPlcTestSchemeDto.ItemName=item.item_name;
|
|
|
basicPlcTestSchemeDto.CreateBy=sch.CreateBy;
|
|
|
basicPlcTestSchemeDto.CreateTime = sch.CreateTime;
|
|
|
- BaseConfigList.Add(basicPlcTestSchemeDto);
|
|
|
+
|
|
|
+ allConfigList.Add(basicPlcTestSchemeDto);
|
|
|
+ conditionConfig.Add(basicPlcTestSchemeDto);
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+ //默认显示的第一页
|
|
|
+ PageIndex = 1;
|
|
|
+ PageUpdated();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void PopMethod(string obj)
|
|
|
- {
|
|
|
- DialogParameters parm = new DialogParameters();
|
|
|
- parm.Add("Key", MyContent);
|
|
|
- //弹出详情对话框
|
|
|
- _dialog.ShowDialog("PopView", parm, async callback =>
|
|
|
- {
|
|
|
- if (callback.Result == ButtonResult.OK)
|
|
|
- {
|
|
|
- MyContent = callback.Parameters.GetValue<string>("ReturnValue");
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
+ #endregion
|
|
|
#region 命令绑定
|
|
|
- public DelegateCommand<string> AddPlanCommand { set; get; }
|
|
|
- public DelegateCommand<object> EditCommand { set; get; }
|
|
|
|
|
|
+ public DelegateCommand<object> EditCommand { set; get; }
|
|
|
+ public DelegateCommand<string> AddPlanCommand { set; get; }
|
|
|
+ public DelegateCommand<object> QueryCommand { set; get; }
|
|
|
+ public DelegateCommand<object> ResetCommand { set; get; }
|
|
|
public DelegateCommand<object> DeleteCommand { set; get; }
|
|
|
public DelegateCommand<string> ExportCommand { set; get; }
|
|
|
+
|
|
|
+ public DelegateCommand PageUpdatedCmd { set; get; }
|
|
|
#endregion
|
|
|
#region 数据绑定
|
|
|
-
|
|
|
/// <summary>
|
|
|
- /// 测试项
|
|
|
+ /// 测试方案编码
|
|
|
/// </summary>
|
|
|
+ private string scheduleName;
|
|
|
+ public string ScheduleName
|
|
|
+ {
|
|
|
+ get { return scheduleName; }
|
|
|
+ set { scheduleName = value; RaisePropertyChanged(); }
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 设备名称
|
|
|
+ /// </summary>
|
|
|
+ private string deviceName;
|
|
|
+ public string DeviceName
|
|
|
+ {
|
|
|
+ get { return deviceName; }
|
|
|
+ set { deviceName = value; RaisePropertyChanged(); }
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 测试项名称
|
|
|
+ /// </summary>
|
|
|
+ private string testName;
|
|
|
+ public string TestName
|
|
|
+ {
|
|
|
+ get { return testName; }
|
|
|
+ set { testName = value; RaisePropertyChanged(); }
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 测试项类型
|
|
|
+ /// </summary>
|
|
|
+
|
|
|
+
|
|
|
private List<string> testKinds = new List<string>();
|
|
|
public List<string> TestKinds
|
|
|
{
|
|
@@ -247,11 +335,24 @@ namespace PLCTool.ViewModels.BasicConfigViewModel
|
|
|
set { selectTest = value; RaisePropertyChanged(); }
|
|
|
}
|
|
|
|
|
|
- private string myContent = string.Empty;
|
|
|
- public string MyContent
|
|
|
+ private string startTime=string.Empty;
|
|
|
+ public string StartTime
|
|
|
+ {
|
|
|
+ get { return startTime; }
|
|
|
+ set { startTime = value; RaisePropertyChanged(); }
|
|
|
+ }
|
|
|
+ private string endTime=string.Empty;
|
|
|
+ public string EndTime
|
|
|
+ {
|
|
|
+ get { return endTime; }
|
|
|
+ set { endTime = value; RaisePropertyChanged(); }
|
|
|
+ }
|
|
|
+
|
|
|
+ private int pageIndex = 1;
|
|
|
+ public int PageIndex
|
|
|
{
|
|
|
- get { return myContent; }
|
|
|
- set { SetProperty(ref myContent, value); }
|
|
|
+ get { return pageIndex; }
|
|
|
+ set { pageIndex = value; RaisePropertyChanged(); }
|
|
|
}
|
|
|
|
|
|
private ObservableCollection<BasicPlcTestSchemeDto> baseConfigList = new ObservableCollection<BasicPlcTestSchemeDto>();
|