首次提交:添加src文件夹代码
This commit is contained in:
108
Cowain.Bake.UI/ProductManagement/ViewModels/DBLogViewModel.cs
Normal file
108
Cowain.Bake.UI/ProductManagement/ViewModels/DBLogViewModel.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Common;
|
||||
using Cowain.Bake.Common.Core;
|
||||
using Cowain.Bake.Common.Enums;
|
||||
using Cowain.Bake.Model;
|
||||
using HandyControl.Controls;
|
||||
using Prism.Commands;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.ViewModels
|
||||
{
|
||||
public class DBLogViewModel: ViewModelBase
|
||||
{
|
||||
public DBLogViewModel(IUnityContainer unityContainer, IRegionManager regionManager) : base(unityContainer, regionManager)
|
||||
{
|
||||
this.PageTitle = "日志查询";
|
||||
SetCombox();
|
||||
}
|
||||
private ObservableCollection<TLog> logList;
|
||||
public ObservableCollection<TLog> LogList
|
||||
{
|
||||
get => logList ?? (logList = new ObservableCollection<TLog>());
|
||||
set { SetProperty(ref logList, value); }
|
||||
}
|
||||
private DateTime _startTime = DateTime.Now.AddHours(-4);
|
||||
public DateTime StartDatetime
|
||||
{
|
||||
get { return _startTime; }
|
||||
set { SetProperty(ref _startTime, DateTime.Parse(value.ToString("yyyy-MM-dd HH:mm:ss"))); }
|
||||
}
|
||||
|
||||
private DateTime _endTime = DateTime.Now.AddHours(4);
|
||||
public DateTime EndDatetime
|
||||
{
|
||||
get { return _endTime; }
|
||||
set { SetProperty(ref _endTime, DateTime.Parse(value.ToString("yyyy-MM-dd HH:mm:ss"))); }
|
||||
}
|
||||
private string _logText=string.Empty;
|
||||
public string LogText
|
||||
{
|
||||
get { return _logText; }
|
||||
set { SetProperty(ref _logText, value); }
|
||||
}
|
||||
|
||||
public string selectLogLevel;
|
||||
public string SelectLogLevel
|
||||
{
|
||||
get => selectLogLevel;
|
||||
set => SetProperty(ref selectLogLevel, value);
|
||||
}
|
||||
|
||||
private List<string> listLogLevel;
|
||||
public List<string> ListLogLevel
|
||||
{
|
||||
get => listLogLevel;
|
||||
set => SetProperty(ref listLogLevel, value);
|
||||
}
|
||||
|
||||
private void SetCombox()
|
||||
{
|
||||
ListLogLevel = new List<string>();
|
||||
|
||||
foreach (E_LogType level in System.Enum.GetValues(typeof(E_LogType)))
|
||||
{
|
||||
ListLogLevel.Add(level.GetDescription());
|
||||
}
|
||||
|
||||
SelectLogLevel = E_LogType.Operate.GetDescription();
|
||||
}
|
||||
|
||||
public DelegateCommand<object> QueryCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
logList.Clear();
|
||||
E_LogType logType = EnumHelper.GetValueByDescription<E_LogType>(SelectLogLevel);
|
||||
//var list = EnumHelper.GetEnumList<E_LogType>().Where(item => item.EnumDesc == SelectLogLevel);
|
||||
//string level = list.FirstOrDefault().EnumString;
|
||||
var logService = _unityContainer.Resolve<LogService>();
|
||||
List<Model.TLog> logListTemporary;
|
||||
//if (string.IsNullOrEmpty(level))
|
||||
//{
|
||||
// //logListTemporary = logService.QueryByTime(StartDatetime, EndDatetime);
|
||||
// LogHelper.Instance.Warn("日志级别不能为空",null, true);
|
||||
// return;
|
||||
//}
|
||||
//else
|
||||
{
|
||||
logListTemporary = logService.QueryByTimeAndText(StartDatetime, EndDatetime, logType);
|
||||
}
|
||||
if (logListTemporary.Count != 0)
|
||||
{
|
||||
logListTemporary.ForEach(item => logList.Add(item));
|
||||
Growl.Success("查询完成!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Success("没有数据!");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
//using GalaSoft.MvvmLight.Command;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Unity;
|
||||
using Cowain.Bake.Model;
|
||||
using System.Collections.ObjectModel;
|
||||
using Cowain.Bake.BLL;
|
||||
using Prism.Commands;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.ViewModels
|
||||
{
|
||||
public class DisableStoveViewModel
|
||||
{
|
||||
private IUnityContainer _unityContainer;
|
||||
//public RelayCommand SaveCommand { get; set; }
|
||||
public DisableStoveViewModel(IUnityContainer unityContainer)
|
||||
{
|
||||
_unityContainer = unityContainer;
|
||||
DisplayInfo();
|
||||
}
|
||||
public ObservableCollection<TStation> MachineList { get; set; } = new ObservableCollection<TStation>();
|
||||
public DelegateCommand<object> SaveCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
foreach (var item in MachineList)
|
||||
{
|
||||
_unityContainer.Resolve<StationService>().UpdateEnableStatus(item);
|
||||
}
|
||||
Common.Core.CommonCoreHelper.Instance.MainViewAutoEvent.Set();
|
||||
HandyControl.Controls.Growl.Success("保存成功!");
|
||||
});
|
||||
private void DisplayInfo()
|
||||
{
|
||||
_unityContainer.Resolve<StationService>().GetAll().ForEach(item => MachineList.Add(item));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Common;
|
||||
using Cowain.Bake.Common.Core;
|
||||
using Cowain.Bake.Common.Enums;
|
||||
using Cowain.Bake.Model;
|
||||
using Prism.Commands;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.ViewModels
|
||||
{
|
||||
public class EleTableViewModel : ViewModelBase
|
||||
{
|
||||
public string selectStationId;
|
||||
public string SelectStationId
|
||||
{
|
||||
get => selectStationId;
|
||||
set => SetProperty(ref selectStationId, value);
|
||||
}
|
||||
|
||||
private List<string> listStationId;
|
||||
public List<string> ListStationId
|
||||
{
|
||||
get => listStationId;
|
||||
set => SetProperty(ref listStationId, value);
|
||||
}
|
||||
|
||||
private ObservableCollection<TElectricEnergy> eleList;
|
||||
public ObservableCollection<TElectricEnergy> EellList
|
||||
{
|
||||
get => eleList ?? (eleList = new ObservableCollection<TElectricEnergy>());
|
||||
set { SetProperty(ref eleList, value); }
|
||||
}
|
||||
//IUnityContainer _unityContainer ;
|
||||
List<TElectricEnergy> queryData = null;
|
||||
List<TStation> _stations = null;
|
||||
public EleTableViewModel(IUnityContainer unityContainer, IRegionManager regionManager) : base(unityContainer, regionManager)
|
||||
{
|
||||
_unityContainer = unityContainer;
|
||||
_stations = _unityContainer.Resolve<StationService>().GetStationsByType((int)EStationType.Stove);
|
||||
this.PageTitle = "电表查询";
|
||||
SetCombox();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SetCombox()
|
||||
{
|
||||
ListStationId = new List<string>();
|
||||
|
||||
foreach (var station in _stations)
|
||||
{
|
||||
ListStationId.Add(station.Desc);
|
||||
}
|
||||
|
||||
selectStationId = ListStationId[0];
|
||||
}
|
||||
|
||||
public DelegateCommand<object> QueryCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
EellList.Clear();
|
||||
var station = _stations.Where(s=>s.Desc == selectStationId).FirstOrDefault();
|
||||
queryData = _unityContainer.Resolve<ElectricEnergyService>().Query(station.Id, StartTime, EndTime);
|
||||
if (0 == queryData.Count)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Warning("查询数据为空!");
|
||||
return;
|
||||
}
|
||||
queryData.ForEach(item => EellList.Add(item));
|
||||
});
|
||||
|
||||
public DelegateCommand<object> ExportCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
if (0 == queryData.Count)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Warning("数据为空,请先查询数据!");
|
||||
return;
|
||||
}
|
||||
|
||||
CSVHelper.WriteDataTableToCsv(queryData, new List<string>() { "序号", "烤箱编号", "A相电流" , "B相电流", "C相电流","A相电压", "B相电压", "C相电压", "电能","创建时间" });
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
using Cowain.Bake.Common;
|
||||
using Cowain.Bake.Common.Core;
|
||||
using Cowain.Bake.Common.Enums;
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Model;
|
||||
using HandyControl.Controls;
|
||||
using Prism.Commands;
|
||||
using Prism.Mvvm;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.ViewModels
|
||||
{
|
||||
public class TaskMaintainViewModel : ViewModelBase //BindableBase
|
||||
{
|
||||
private string _title;
|
||||
public string Title
|
||||
{
|
||||
get { return _title; }
|
||||
set { SetProperty(ref _title, value); }
|
||||
}
|
||||
|
||||
private TTaskType selectTask;
|
||||
public TTaskType SelectTask
|
||||
{
|
||||
get => selectTask ?? (selectTask = new TTaskType());
|
||||
set
|
||||
{
|
||||
SetProperty(ref selectTask, value);
|
||||
}
|
||||
}
|
||||
|
||||
private TTaskType _editTask;
|
||||
public TTaskType EditTask
|
||||
{
|
||||
get => _editTask ?? (_editTask = new TTaskType());
|
||||
set
|
||||
{
|
||||
SetProperty(ref _editTask, value);
|
||||
}
|
||||
}
|
||||
|
||||
private ObservableCollection<TTaskType> _taskList;
|
||||
public ObservableCollection<TTaskType> TaskList
|
||||
{
|
||||
//get { return _taskList; }
|
||||
get => _taskList ?? (_taskList = new ObservableCollection<TTaskType>());
|
||||
set { SetProperty(ref _taskList, value); }
|
||||
}
|
||||
|
||||
private List<string> machineList;
|
||||
public List<string> MachineList
|
||||
{
|
||||
get => machineList ?? (machineList = new List<string>());
|
||||
set { SetProperty(ref machineList, value); }
|
||||
}
|
||||
|
||||
private List<string> _palletStatusList;
|
||||
public List<string> PalletStatusList
|
||||
{
|
||||
get => _palletStatusList ?? (_palletStatusList = new List<string>());
|
||||
set { SetProperty(ref _palletStatusList, value); }
|
||||
}
|
||||
|
||||
|
||||
public TaskMaintainViewModel(IUnityContainer unityContainer, IRegionManager regionManager) : base(unityContainer, regionManager)
|
||||
{
|
||||
_taskList = new ObservableCollection<TTaskType>();
|
||||
_unityContainer = unityContainer;
|
||||
_regionManager = regionManager;
|
||||
PalletStatusList = EPalletStatus.Loading.GetListDesc();
|
||||
MachineList = EnumHelper.GetDescriptions<EStationType>();
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public DelegateCommand EnableCommand => new DelegateCommand(() =>
|
||||
{
|
||||
if (SelectTask != null && SelectTask.Id > 0)
|
||||
{
|
||||
var tServices = _unityContainer.Resolve<TaskTypeService>();
|
||||
|
||||
var res = tServices.UpdateEnableTask(SelectTask.Id, !SelectTask.Enable);
|
||||
if (res > 0)
|
||||
{
|
||||
Growl.Success("是否启用任务修改完成!");
|
||||
Refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Fatal("是否启用任务失败!");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
public DelegateCommand SelectCommand => new DelegateCommand(() =>
|
||||
{
|
||||
if (SelectTask != null && SelectTask.Id > 0)
|
||||
{
|
||||
//深拷贝
|
||||
EditTask = BasicFramework.DeepCopy<TTaskType>(SelectTask);
|
||||
}
|
||||
});
|
||||
|
||||
public DelegateCommand AddCommand => new DelegateCommand(() =>
|
||||
{
|
||||
var result = HandyControl.Controls.MessageBox.Ask($@"是否确定要添加任务?", "操作提示");
|
||||
if (result == System.Windows.MessageBoxResult.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var res = _unityContainer.Resolve<TaskTypeService>().AddTaskConfig(EditTask);
|
||||
if (res > 0)
|
||||
{
|
||||
Growl.Success("任务添加完成!");
|
||||
Refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Fatal("任务添加失败!");
|
||||
}
|
||||
});
|
||||
|
||||
public DelegateCommand EditCommand => new DelegateCommand(() =>
|
||||
{
|
||||
var result = HandyControl.Controls.MessageBox.Ask($@"是否确定要修改任务?", "操作提示");
|
||||
if (result == System.Windows.MessageBoxResult.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var res = _unityContainer.Resolve<TaskTypeService>().EditTaskConfig(EditTask);
|
||||
if (res > 0)
|
||||
{
|
||||
Growl.Success("任务修改完成!");
|
||||
Refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Fatal("任务修改失败,优先级不存在!");
|
||||
}
|
||||
});
|
||||
|
||||
public override void Refresh()
|
||||
{
|
||||
TaskList.Clear();
|
||||
List<TTaskType> list = _unityContainer.Resolve<TaskTypeService>().GetAll();
|
||||
list.ForEach(p => TaskList.Add(p));
|
||||
}
|
||||
}
|
||||
}
|
||||
215
Cowain.Bake.UI/ProductManagement/ViewModels/TaskViewModel.cs
Normal file
215
Cowain.Bake.UI/ProductManagement/ViewModels/TaskViewModel.cs
Normal file
@@ -0,0 +1,215 @@
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Common;
|
||||
using Cowain.Bake.Common.Core;
|
||||
using Cowain.Bake.Common.Enums;
|
||||
using Cowain.Bake.Common.Interface;
|
||||
using Cowain.Bake.Model;
|
||||
using HandyControl.Controls;
|
||||
using Prism.Commands;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.ViewModels
|
||||
{
|
||||
public class TaskViewModel: ViewModelBase, INavigationAware
|
||||
{
|
||||
//
|
||||
private DateTime _startTime = DateTime.Now.AddHours(-4);
|
||||
public new DateTime StartTime
|
||||
{
|
||||
get { return _startTime; }
|
||||
set { SetProperty(ref _startTime, value); }
|
||||
}
|
||||
|
||||
private DateTime _endTime = DateTime.Now.AddHours(10);
|
||||
public new DateTime EndTime
|
||||
{
|
||||
get { return _endTime; }
|
||||
set { SetProperty(ref _endTime, value); }
|
||||
}
|
||||
|
||||
private ObservableCollection<TTaskRecord> _taskList;
|
||||
public ObservableCollection<TTaskRecord> TaskList
|
||||
{
|
||||
get => _taskList ?? (_taskList = new ObservableCollection<TTaskRecord>());
|
||||
set { SetProperty(ref _taskList, value); }
|
||||
}
|
||||
|
||||
private ObservableCollection<TTaskStep> _taskStepList;
|
||||
public ObservableCollection<TTaskStep> TaskStepList
|
||||
{
|
||||
get => _taskStepList ?? (_taskStepList = new ObservableCollection<TTaskStep>());
|
||||
set { SetProperty(ref _taskStepList, value); }
|
||||
}
|
||||
private TTaskStep _selectTaskStep;
|
||||
public TTaskStep SelectTaskStep
|
||||
{
|
||||
get => _selectTaskStep ?? (_selectTaskStep = new TTaskStep());
|
||||
set
|
||||
{
|
||||
SetProperty(ref _selectTaskStep, value);
|
||||
}
|
||||
}
|
||||
|
||||
private TTaskRecord _selectTaskRecord;
|
||||
public TTaskRecord SelectTaskRecord
|
||||
{
|
||||
get => _selectTaskRecord ?? (_selectTaskRecord = new TTaskRecord());
|
||||
set
|
||||
{
|
||||
SetProperty(ref _selectTaskRecord, value);
|
||||
}
|
||||
}
|
||||
//public Dictionary<int, string> SexDict { get; } = new Dictionary<int, string>();
|
||||
public TaskViewModel(IUnityContainer unityContainer, IRegionManager regionManager) : base(unityContainer, regionManager)
|
||||
{
|
||||
this.PageTitle = "调度记录";
|
||||
|
||||
//var models =_unityContainer.Resolve<RgvActionService>().GetAll();
|
||||
//foreach(var item in models)
|
||||
//{
|
||||
// SexDict.Add(item.Cmd, item.Desc);
|
||||
//}
|
||||
}
|
||||
public DelegateCommand SelectCommand => new DelegateCommand(() =>
|
||||
{
|
||||
if (SelectTaskRecord != null && SelectTaskRecord.Id > 0)
|
||||
{
|
||||
TaskStepList.Clear();
|
||||
var models = _unityContainer.Resolve<TaskStepService>().GetTaskAllStep(SelectTaskRecord.Id);
|
||||
models.ForEach(item => TaskStepList.Add(item));
|
||||
}
|
||||
});
|
||||
|
||||
public DelegateCommand SendCommand => new DelegateCommand(() =>
|
||||
{
|
||||
if (null == SelectTaskRecord
|
||||
|| 0 == SelectTaskRecord.Id
|
||||
|| 0 == SelectTaskRecord.Target)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Info("请选择任务!", "提示");
|
||||
return;
|
||||
}
|
||||
|
||||
if ((int)ETaskStatus.ExecutionCompleted == SelectTaskRecord.Status)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Warning("已经完成的任务不能再发送!", "警告");
|
||||
return;
|
||||
}
|
||||
|
||||
if (SelectTaskStep != null)
|
||||
{
|
||||
if ((ETaskStep)SelectTaskStep.StepId == ETaskStep.None
|
||||
|| (ETaskStep)SelectTaskStep.StepId == ETaskStep.Unexecuted
|
||||
|| (ETaskStep)SelectTaskStep.StepId == ETaskStep.Finish)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Warning("请选择任务步骤!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (System.Windows.MessageBoxResult.OK ==
|
||||
HandyControl.Controls.MessageBox.Ask($"你确定重新发送【{((ETaskStep)SelectTaskStep.StepId).GetDescription()}】指令到PLC?", "发送指令"))
|
||||
{
|
||||
if(_unityContainer.Resolve<ICommonFun>().ManualTaskCmd(SelectTaskRecord, (short)SelectTaskStep.StepId))
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Info("发送成功");
|
||||
}
|
||||
else
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Fatal("发送失败,请重新发送!","警示");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
public async override void Refresh()
|
||||
{
|
||||
TaskList.Clear();
|
||||
|
||||
var listTask = await System.Threading.Tasks.Task.Run(() =>
|
||||
{
|
||||
//从数据库查询任务
|
||||
return _unityContainer.Resolve<TaskRecordService>().GetAllTaskRun();
|
||||
});
|
||||
listTask = UpdetaListStatus(listTask);
|
||||
listTask.ForEach(x => TaskList.Add(x));
|
||||
}
|
||||
|
||||
public DelegateCommand<object> QueryCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
TaskList.Clear();
|
||||
var queryTask = _unityContainer.Resolve<TaskRecordService>().Query(StartTime, EndTime);
|
||||
|
||||
if (0 != queryTask.Count)
|
||||
{
|
||||
queryTask = UpdetaListStatus(queryTask);
|
||||
queryTask.ForEach(item => TaskList.Add(item));
|
||||
Growl.Success("查询完成!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Success("没有数据!");
|
||||
}
|
||||
});
|
||||
public List<TTaskRecord> UpdetaListStatus(List<TTaskRecord> taskRunList)
|
||||
{
|
||||
foreach (var item in taskRunList)
|
||||
{
|
||||
if (item.Status != (int)ETaskStatus.ExecutionCompleted)
|
||||
{
|
||||
item.Status = (int)ETaskStatus.None;
|
||||
}
|
||||
}
|
||||
return taskRunList;
|
||||
}
|
||||
public DelegateCommand<object> DeleteCommand => new DelegateCommand<object>((x) =>
|
||||
{
|
||||
var result = HandyControl.Controls.MessageBox.Ask($@"是否确定要删除任务?", "操作提示");
|
||||
if (result == System.Windows.MessageBoxResult.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var taskService = _unityContainer.Resolve<TaskRecordService>();
|
||||
var task = x as TTaskRecord;
|
||||
if (task != null)
|
||||
{
|
||||
int delCount = taskService.DeleteTask(task.Id);
|
||||
if (delCount > 0)
|
||||
{
|
||||
//如果是未执行完成的任务,要清除主界面
|
||||
if (task.Status != (int)ETaskStatus.ExecutionCompleted)
|
||||
{
|
||||
task.StepId = (int)ETaskStep.None;
|
||||
CommonCoreHelper.Instance.BlockTask.Add(task);
|
||||
}
|
||||
|
||||
LogHelper.Instance.Debug($"删除了一条任务,取盘位置{task.Source},放盘位置{task.Target},托盘ID{task.PalletId}");
|
||||
Growl.Success("任务删除完成!");
|
||||
this.Refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
Growl.Success("任务删除失败!");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
void INavigationAware.OnNavigatedTo(NavigationContext navigationContext)
|
||||
{
|
||||
// 导航到当前页面时的处理逻辑,先执行构造方法,再执行本方法
|
||||
}
|
||||
|
||||
bool INavigationAware.IsNavigationTarget(NavigationContext navigationContext)
|
||||
{
|
||||
return false; //false:表示每次导航都创建新实例,不重用旧实例; true:用旧实例,不会执行构造方法
|
||||
}
|
||||
|
||||
void INavigationAware.OnNavigatedFrom(NavigationContext navigationContext)
|
||||
{
|
||||
//相当于析构方法,退出时(切换时)再执行。
|
||||
// 在这里添加释放旧视图实例资源的代码
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Cowain.Bake.UI/ProductManagement/Views/DBLogView.xaml
Normal file
33
Cowain.Bake.UI/ProductManagement/Views/DBLogView.xaml
Normal file
@@ -0,0 +1,33 @@
|
||||
<UserControl x:Class="Cowain.Bake.UI.ProductManagement.Views.DBLogView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Cowain.Bake.UI.ProductManagement.Views"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:convertor="clr-namespace:Cowain.Bake.BLL.Converter;assembly=Cowain.Bake.BLL"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="900">
|
||||
<UserControl.Resources>
|
||||
<convertor:LogTypeConverter x:Key="logTypeConvertor"></convertor:LogTypeConverter>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<DataGrid ItemsSource="{Binding LogList}" Margin="0,40,0,0" AutoGenerateColumns="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Width="50" CanUserResize="False" Binding="{Binding Id}" Header="序号" Visibility="Hidden"/>
|
||||
<DataGridTextColumn Width="150" Binding="{Binding CreateTime, StringFormat=yyyy-MM-dd HH:mm:ss}" Header="时间" Visibility="Visible"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="True" Binding="{Binding Level, Converter={StaticResource logTypeConvertor}}" Header="日志级别" Visibility="Visible"/>
|
||||
<DataGridTextColumn Width="800" CanUserResize="True" Binding="{Binding Content}" Header="内容" Visibility="Visible"/>
|
||||
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<hc:DateTimePicker x:Name="startTime" Text="{Binding StartDatetime,Mode=TwoWay}" HorizontalAlignment="Left" Margin="62,5,0,0" VerticalAlignment="Top" Width="163"/>
|
||||
<Label Content="时间:" HorizontalAlignment="Left" Margin="5,5,0,0" VerticalAlignment="Top"/>
|
||||
<hc:DateTimePicker x:Name="endTime" Text="{Binding EndDatetime,Mode=TwoWay}" HorizontalAlignment="Left" Margin="235,5,0,0" VerticalAlignment="Top" Width="185"/>
|
||||
<Label Content="内容:" HorizontalAlignment="Left" Margin="438,5,0,0" VerticalAlignment="Top"/>
|
||||
<ComboBox ItemsSource="{Binding ListLogLevel}" FontWeight="Bold" SelectedValue="{Binding SelectLogLevel,Mode=TwoWay}" Margin="492,5,0,0" IsReadOnly="True" HorizontalAlignment="Left" VerticalAlignment="Top" Width="135"/>
|
||||
<!--<TextBox HorizontalAlignment="Left" Margin="492,5,0,0" TextWrapping="NoWrap" Text="{Binding LogText}" VerticalAlignment="Top" Width="178"/>-->
|
||||
<Button x:Name="report" Content="查询" Style="{StaticResource ButtonSuccess}" HorizontalAlignment="Left" Margin="679,5,0,0"
|
||||
VerticalAlignment="Top" Width="61" Command="{Binding QueryCommand}"/>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
27
Cowain.Bake.UI/ProductManagement/Views/DBLogView.xaml.cs
Normal file
27
Cowain.Bake.UI/ProductManagement/Views/DBLogView.xaml.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// DBLog.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class DBLogView : UserControl
|
||||
{
|
||||
public DBLogView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
21
Cowain.Bake.UI/ProductManagement/Views/DisableStove.xaml
Normal file
21
Cowain.Bake.UI/ProductManagement/Views/DisableStove.xaml
Normal file
@@ -0,0 +1,21 @@
|
||||
<UserControl x:Class="Cowain.Bake.UI.ProductManagement.Views.DisableStove"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Cowain.Bake.UI.ProductManagement.Views"
|
||||
mc:Ignorable="d"
|
||||
Loaded="DisableStove_Loaded"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<DataGrid ItemsSource="{Binding MachineList}" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="10,65,0,0" VerticalAlignment="Top">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="序号" Binding="{Binding Id}" Width="100"/>
|
||||
<DataGridTextColumn Header="名称" Binding="{Binding Desc}" Width="150"/>
|
||||
<DataGridTextColumn Header="编号" Binding="{Binding Number}" Width="100"/>
|
||||
<DataGridCheckBoxColumn Header="可用" Binding="{Binding Enable}" Width="100"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<Button Content="保存" Style="{StaticResource ButtonSuccess}" Command="{Binding SaveCommand}" HorizontalAlignment="Left" Margin="10,13,0,0" VerticalAlignment="Top" Width="115" Height="40"/>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
34
Cowain.Bake.UI/ProductManagement/Views/DisableStove.xaml.cs
Normal file
34
Cowain.Bake.UI/ProductManagement/Views/DisableStove.xaml.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// DisableStove.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class DisableStove : UserControl
|
||||
{
|
||||
public DisableStove()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void DisableStove_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
50
Cowain.Bake.UI/ProductManagement/Views/EleTableView.xaml
Normal file
50
Cowain.Bake.UI/ProductManagement/Views/EleTableView.xaml
Normal file
@@ -0,0 +1,50 @@
|
||||
<UserControl x:Class="Cowain.Bake.UI.ProductManagement.Views.EleTableView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Cowain.Bake.UI.ProductManagement.Views"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:prism="http://prismlibrary.com/"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="900"
|
||||
prism:ViewModelLocator.AutoWireViewModel="True" >
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="60"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="#EEE" Margin="4" CornerRadius="6" BorderThickness="1"/>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,10,0,10" HorizontalAlignment="Center" Width="880" >
|
||||
<TextBlock VerticalAlignment="Center" Margin="4">日期:</TextBlock>
|
||||
<hc:DatePicker Width="110" Height="30" Margin="4" Text="{Binding Date,Mode=TwoWay}"></hc:DatePicker>
|
||||
<TextBlock VerticalAlignment="Center" Margin="4">时间:</TextBlock>
|
||||
<hc:TimePicker Height="30" Text="{Binding StartTime,Mode=OneWayToSource,FallbackValue='{x:Static sys:DateTime.Now}'}"></hc:TimePicker>
|
||||
<TextBlock VerticalAlignment="Center">-</TextBlock>
|
||||
<hc:TimePicker Height="30" Text="{Binding EndTime,Mode=OneWayToSource,FallbackValue='{x:Static sys:DateTime.Now}'}"></hc:TimePicker>
|
||||
<Label Content="炉号:" VerticalAlignment="Center" Margin="100,0,0,0"/>
|
||||
<ComboBox ItemsSource="{Binding ListStationId}" FontWeight="Bold" SelectedValue="{Binding SelectStationId,Mode=TwoWay}" IsReadOnly="True" Width="135"/>
|
||||
<Button Content="查询" Style="{StaticResource ButtonSuccess}" HorizontalAlignment="Left" Margin="20,0,0,0" Width="80" Command="{Binding QueryCommand}"/>
|
||||
<Button Content="导出" Style="{StaticResource ButtonPrimary}" HorizontalAlignment="Left" Margin="20,0,0,0" Width="80" Command="{Binding ExportCommand}"/>
|
||||
</StackPanel>
|
||||
|
||||
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" x:Name="dgvStation" Grid.Row="1"
|
||||
SelectionMode="Single" Margin="4" IsReadOnly="True" CanUserSortColumns="False"
|
||||
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding EellList,UpdateSourceTrigger=PropertyChanged}">
|
||||
<DataGrid.Columns>
|
||||
<!--<DataGridTextColumn Width="90" Binding="{Binding Id}" Header="序号" />-->
|
||||
<DataGridTextColumn Width="150" Binding="{Binding CreateTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="创建时间" />
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding ElectricityA}" Header="A相电流"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding ElectricityB}" Header="B相电流"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding ElectricityC}" Header="C相电流"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding VoltageA}" Header="A相电压A"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding VoltageB}" Header="B相电压"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding VoltageC}" Header="C相电压"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding VoltageB}" Header="B相电压"/>
|
||||
<DataGridTextColumn Width="100" CanUserResize="False" Binding="{Binding ElectricEnergy}" Header="电能"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
28
Cowain.Bake.UI/ProductManagement/Views/EleTableView.xaml.cs
Normal file
28
Cowain.Bake.UI/ProductManagement/Views/EleTableView.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// EleTableView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class EleTableView : UserControl
|
||||
{
|
||||
public EleTableView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
124
Cowain.Bake.UI/ProductManagement/Views/TaskMaintainView.xaml
Normal file
124
Cowain.Bake.UI/ProductManagement/Views/TaskMaintainView.xaml
Normal file
@@ -0,0 +1,124 @@
|
||||
<UserControl x:Class="Cowain.Bake.UI.ProductManagement.Views.TaskMaintainView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Cowain.Bake.UI.ProductManagement.Views"
|
||||
xmlns:core="clr-namespace:Cowain.Bake.Common.Core;assembly=Cowain.Bake.Common"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:converter="clr-namespace:Cowain.Bake.Common.Converter;assembly=Cowain.Bake.Common"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="900" d:DesignWidth="1400">
|
||||
<UserControl.Resources>
|
||||
<converter:EnumDescriptionConverter x:Key="DescriptionConverter"/>
|
||||
<converter:PalletStatusConvertor x:Key="CPalletStatus"/>
|
||||
<converter:StationTypeConverter x:Key="CMachineType"/>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="280"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" x:Name="dgvStation"
|
||||
CanUserSortColumns="False" SelectionMode="Single" Margin="4" SelectedItem="{Binding SelectTask}"
|
||||
IsReadOnly="True" HorizontalScrollBarVisibility="Auto"
|
||||
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding TaskList}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding SelectCommand}"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<!--<DataGrid.RowHeaderTemplate>
|
||||
<DataTemplate>
|
||||
<CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
|
||||
</DataTemplate>
|
||||
</DataGrid.RowHeaderTemplate>-->
|
||||
<DataGrid.ContextMenu>
|
||||
<ContextMenu>
|
||||
<MenuItem Header="删除选择" Command="{Binding DeleteSelectCommand}"/>
|
||||
<MenuItem Header="启用/禁用" Command="{Binding EnableCommand}"/>
|
||||
<MenuItem Header="导入"/>
|
||||
<MenuItem Header="导出"/>
|
||||
</ContextMenu>
|
||||
</DataGrid.ContextMenu>
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Width="66" Binding="{Binding Id}" Header="序号"/>
|
||||
<DataGridTextColumn MinWidth="120" Binding="{Binding Name}" Header="任务名称"/>
|
||||
<DataGridTextColumn Width="66" Binding="{Binding Priority}" Header="优先级"/>
|
||||
<DataGridTextColumn Width="100" Binding="{Binding SourceDeviceType,Converter={StaticResource CMachineType}}" Header="源设备类型"/>
|
||||
<DataGridTextColumn Width="100" Binding="{Binding TargetDeviceType,Converter={StaticResource CMachineType}}" Header="目标设备类型"/>
|
||||
<DataGridTextColumn MinWidth="120" Binding="{Binding PalletStatus,Converter={StaticResource CPalletStatus}}" Header="夹具状态"/>
|
||||
<DataGridCheckBoxColumn Width="60" Binding="{Binding Enable}" Header="启用" IsReadOnly="True"/>
|
||||
<DataGridTextColumn MinWidth="120" Binding="{Binding Json}" Header="备注"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<Border Background="#EEE" Grid.Column="1" Margin="4" CornerRadius="6" BorderThickness="1"/>
|
||||
<Grid Grid.Column="1">
|
||||
<ScrollViewer>
|
||||
<StackPanel HorizontalAlignment="Left" Margin="4">
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="优先级数字越小,优先级越高,越先执行!" FontSize="14" Margin="2" HorizontalContentAlignment="Left" Width="auto" Foreground="red" Height="30" Background="Transparent"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="优先级" FontSize="14" Margin="2" HorizontalContentAlignment="Left" Width="120" Height="30" Background="Transparent"/>
|
||||
<hc:NumericUpDown Maximum="50" Minimum="0" Increment="1" HorizontalContentAlignment="Center" Value="{Binding EditTask.Priority}" Width="130"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="源设备类型" FontSize="14" HorizontalContentAlignment="Left" Margin="2" Width="120" Height="30" Background="Transparent"/>
|
||||
<hc:ComboBox Margin="2" FontSize="14" Width="130" Height="30"
|
||||
ItemsSource="{Binding MachineList}" SelectedValue="{Binding EditTask.SourceDeviceType,Converter={StaticResource CMachineType}}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center">
|
||||
</hc:ComboBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="目标设备类型" FontSize="14" HorizontalContentAlignment="Left" Margin="2" Width="120" Height="30" Background="Transparent"/>
|
||||
<hc:ComboBox Margin="2" FontSize="14" Width="130" Height="30"
|
||||
ItemsSource="{Binding MachineList}" SelectedValue="{Binding EditTask.TargetDeviceType,Converter={StaticResource CMachineType}}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center">
|
||||
</hc:ComboBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="夹具状态" FontSize="14" HorizontalContentAlignment="Left" Margin="2" Width="120" Height="30" Background="Transparent"/>
|
||||
<hc:ComboBox Margin="2" FontSize="14" Width="130" Height="30"
|
||||
ItemsSource="{Binding PalletStatusList}" SelectedValue="{Binding EditTask.PalletStatus,Converter={StaticResource CPalletStatus}}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center">
|
||||
</hc:ComboBox>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="是否启用" FontSize="14" Margin="2" HorizontalContentAlignment="Left" Width="120" Height="30" Background="Transparent"/>
|
||||
<CheckBox HorizontalContentAlignment="Center" Margin="2" FontSize="14" Width="130" Height="30" IsChecked ="{Binding EditTask.Enable}"/>
|
||||
</StackPanel>
|
||||
<!--<StackPanel Orientation="Horizontal" Margin="2">
|
||||
<Label Content="目标夹具状态" HorizontalContentAlignment="Left" FontSize="14" Margin="2" Width="120" Height="30" Background="Transparent"/>
|
||||
<ComboBox Margin="2" FontSize="14" Width="130" Height="30"
|
||||
ItemsSource="{Binding Source={StaticResource PStatus},Path=PalletStatusList}" SelectedValue="{Binding EditTask.TargetPStatus}"
|
||||
DisplayMemberPath="Name" SelectedValuePath="State"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center">
|
||||
</ComboBox>
|
||||
</StackPanel>-->
|
||||
|
||||
<Label Content="名称:" HorizontalAlignment="Left" FontSize="14" Margin="4" Height="30" FontWeight="Bold" BorderThickness="0" Background="Transparent"/>
|
||||
<hc:TextBox Margin="4" Text="{Binding EditTask.Name}" Width="254"
|
||||
VerticalScrollBarVisibility="Visible" AcceptsReturn="True"
|
||||
HorizontalAlignment="Left" TextWrapping="Wrap"/>
|
||||
<Label Content="Json:" HorizontalAlignment="Left" FontSize="14" Margin="4" Height="30" FontWeight="Bold" BorderThickness="0" Background="Transparent"/>
|
||||
<TextBox Margin="4" Text="{Binding EditTask.Json}" Height="100" Width="254"
|
||||
VerticalScrollBarVisibility="Visible" AcceptsReturn="True"
|
||||
HorizontalAlignment="Left" TextWrapping="Wrap"/>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Margin="2" HorizontalAlignment="Center">
|
||||
<Button Content="添加" Style="{StaticResource ButtonSuccess}" Margin="4" Width="100" Command="{Binding AddCommand}"/>
|
||||
<Button Content="修改" Style="{StaticResource ButtonWarning}" Margin="4" Width="100" Command="{Binding EditCommand}"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,40 @@
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Model;
|
||||
using Prism.Common;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// TaskMaintainView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class TaskMaintainView : UserControl
|
||||
{
|
||||
public TaskMaintainView()
|
||||
{
|
||||
InitializeComponent();
|
||||
//RegionContext.GetObservableContext(this).PropertyChanged += PersonDetail_PropertyChanged;
|
||||
}
|
||||
|
||||
//private void PersonDetail_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
//{
|
||||
// var context = (ObservableObject<object>)sender;
|
||||
// var selectedPerson = (TTaskType)context.Value;
|
||||
// //(DataContext as PersonDetailViewModel).SelectedPerson = selectedPerson;
|
||||
//}
|
||||
}
|
||||
}
|
||||
87
Cowain.Bake.UI/ProductManagement/Views/TaskView.xaml
Normal file
87
Cowain.Bake.UI/ProductManagement/Views/TaskView.xaml
Normal file
@@ -0,0 +1,87 @@
|
||||
<UserControl x:Class="Cowain.Bake.UI.ProductManagement.Views.TaskView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:bllConverter="clr-namespace:Cowain.Bake.BLL.Converter;assembly=Cowain.Bake.BLL"
|
||||
xmlns:Converter="clr-namespace:Cowain.Bake.Common.Converter;assembly=Cowain.Bake.Common"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="1200">
|
||||
<UserControl.Resources>
|
||||
<bllConverter:CavityInfoIdConverter x:Key="CavityInfoIdConverter"/>
|
||||
<bllConverter:PalletIdConverter x:Key="CPalletId"/>
|
||||
<bllConverter:TaskTypeConverter x:Key="TaskTypeConverter"/>
|
||||
<Converter:TaskCmdConvertor x:Key="TaskCmdConvertor"/>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="60"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="#EEE" Margin="4" CornerRadius="6" BorderThickness="1"/>
|
||||
<StackPanel Orientation="Horizontal" Margin="2,10,10,10" HorizontalAlignment="Right">
|
||||
<TextBlock VerticalAlignment="Center" Margin="4" FontSize="20" >生成时间范围:</TextBlock>
|
||||
<hc:DateTimePicker x:Name="startTime" Width="160" Height="30" Margin="4" Text="{Binding StartTime,Mode=TwoWay}" DateTimeFormat="yyyy-MM-dd HH:mm"></hc:DateTimePicker>
|
||||
<TextBlock VerticalAlignment="Center">—</TextBlock>
|
||||
<hc:DateTimePicker x:Name="endTime" Width="160" Height="30" Margin="4" Text="{Binding EndTime,Mode=TwoWay}" DateTimeFormat="yyyy-MM-dd HH:mm"></hc:DateTimePicker>
|
||||
<Button Content="查询" Style="{StaticResource ButtonSuccess}" Margin="4" Width="100" Command="{Binding QueryCommand}"/>
|
||||
</StackPanel>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2.4*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" x:Name="dgvStation"
|
||||
CanUserSortColumns="True" SelectionMode="Single" Margin="4" IsReadOnly="True" SelectedItem="{Binding SelectTaskRecord}"
|
||||
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding TaskList}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding SelectCommand}"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<DataGrid.Columns>
|
||||
|
||||
<DataGridTextColumn Width="80" CanUserResize="False" Binding="{Binding StepId,Converter={StaticResource TaskCmdConvertor}}" Header="任务步骤"/>
|
||||
<DataGridTextColumn Width="auto" CanUserResize="False" Binding="{Binding PalletId,Converter={StaticResource CPalletId}}" Header="夹具条码"/>
|
||||
<DataGridTextColumn Width="auto" Binding="{Binding Source,Converter={StaticResource CavityInfoIdConverter}}" Header="取盘位置"/>
|
||||
<DataGridTextColumn Width="auto" Binding="{Binding Target,Converter={StaticResource CavityInfoIdConverter}}" Header="放盘位置"/>
|
||||
<DataGridCheckBoxColumn Width="auto" Binding="{Binding Status}" IsReadOnly="True" Header="完成"/>
|
||||
<!--<DataGridTextColumn Width="150" Binding="{Binding BuildTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="生成时间" />-->
|
||||
<DataGridTextColumn Width="150" Binding="{Binding StartTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="开始时间"/>
|
||||
<DataGridTextColumn Width="150" Binding="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="结束时间"/>
|
||||
<DataGridTextColumn Width="150" Binding="{Binding TaskTypeId,Converter={StaticResource TaskTypeConverter}}" Header="任务名称"/>
|
||||
<DataGridTemplateColumn Header="操作" Width="80">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
<TextBlock Margin="3,0" >
|
||||
<Hyperlink Foreground="Red" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" CommandParameter="{Binding}">删除</Hyperlink>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
|
||||
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" x:Name="dgvTaskSetp"
|
||||
CanUserSortColumns="True" SelectionMode="Single" Margin="4" IsReadOnly="True" Grid.Column="1"
|
||||
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding TaskStepList}" SelectedItem="{Binding SelectTaskStep}">
|
||||
<DataGrid.ContextMenu>
|
||||
<ContextMenu>
|
||||
<MenuItem Header="发送指令" Command="{Binding SendCommand}"/>
|
||||
</ContextMenu>
|
||||
</DataGrid.ContextMenu>
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Width="60" CanUserResize="False" Binding="{Binding Count}" Header="计数"/>
|
||||
<DataGridTextColumn Width="80" CanUserResize="False" Binding="{Binding StepId,Converter={StaticResource TaskCmdConvertor}}" Header="指令"/>
|
||||
<DataGridTextColumn Width="150" Binding="{Binding StartTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="开始时间"/>
|
||||
<DataGridTextColumn Width="150" Binding="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="结束时间"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
||||
28
Cowain.Bake.UI/ProductManagement/Views/TaskView.xaml.cs
Normal file
28
Cowain.Bake.UI/ProductManagement/Views/TaskView.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace Cowain.Bake.UI.ProductManagement.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// TaskView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class TaskView : UserControl
|
||||
{
|
||||
public TaskView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user