diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs index 3d368e4..9e28e3c 100644 --- a/Properties/Resources.Designer.cs +++ b/Properties/Resources.Designer.cs @@ -2400,6 +2400,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.Properties { } } + /// + /// 查找类似 View 的本地化字符串。 + /// + public static string View { + get { + return ResourceManager.GetString("View", resourceCulture); + } + } + /// /// 查找类似 Washing 的本地化字符串。 /// diff --git a/Properties/Resources.en-US.resx b/Properties/Resources.en-US.resx index be59ed9..c6391c2 100644 --- a/Properties/Resources.en-US.resx +++ b/Properties/Resources.en-US.resx @@ -942,4 +942,7 @@ Jump + + View + \ No newline at end of file diff --git a/Properties/Resources.resx b/Properties/Resources.resx index be1fde9..fe59b7a 100644 --- a/Properties/Resources.resx +++ b/Properties/Resources.resx @@ -942,4 +942,7 @@ Jump + + View + \ No newline at end of file diff --git a/Properties/Resources.zh-CN.resx b/Properties/Resources.zh-CN.resx index 01214dd..25cd367 100644 --- a/Properties/Resources.zh-CN.resx +++ b/Properties/Resources.zh-CN.resx @@ -942,4 +942,7 @@ 跳步 + + 视图 + \ No newline at end of file diff --git a/View/ProductionPlanningView.xaml.cs b/View/ProductionPlanningView.xaml.cs index 9dd375d..11ddd6d 100644 --- a/View/ProductionPlanningView.xaml.cs +++ b/View/ProductionPlanningView.xaml.cs @@ -39,6 +39,7 @@ using nGantt.PeriodSplitter; using ScottPlot.TickGenerators.TimeUnits; using System.Runtime.Serialization; using System.Windows.Markup; +using System.Collections.ObjectModel; namespace SunlightCentralizedControlManagement_SCCM_.View @@ -58,32 +59,72 @@ namespace SunlightCentralizedControlManagement_SCCM_.View private readonly UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "SCCM.ini"); private SQLiteHelper SQLiteHelpers = null; //定义数据库 private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径 + DataTable WorkOrder; private DateTime minDate; private DateTime maxDate; private void UserControl_Loaded(object sender, RoutedEventArgs e)//打开页面时的操作 - { + { Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd"); minDate = DateTime.Now.Date; maxDate = minDate.AddDays(1); - + //添加表右键功能 + ganttTaskContextMenuItems.Add(new ContextMenuItem(ViewClicked, Properties.Resources.View + "...")); + ganttTaskContextMenuItems.Add(new ContextMenuItem(EditClicked, Properties.Resources.edit + "...")); + ganttTaskContextMenuItems.Add(new ContextMenuItem(DeleteClicked, Properties.Resources.Delete + "...")); + GanttChart.GanttTaskContextMenuItems = ganttTaskContextMenuItems; GanttChartNEW(); - } - private void GanttChartNEW() - { + } + + private ObservableCollection ganttTaskContextMenuItems = new ObservableCollection(); + private void GanttChartNEW() + { + SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 + SQLiteHelpers.Open(); //打开数据库 + WorkOrder = SQLiteHelpers.ExecuteDataSet( + "select * from WorkOrder where StartTime>'" + Sdatepicker.Text + + "'or EndTime>'" + Sdatepicker.Text + "'Order by StartTime", null).Tables[0]; //读取表写入缓存 + SQLiteHelpers.Close(); + + //生成表 GanttChart.ClearGantt(); GanttChart.Initialize(minDate, maxDate); var gridLineTimeLine = GanttChart.CreateTimeLine(new PeriodDaySplitter(minDate, maxDate), FormatDay); - GanttChart.CreateTimeLine(new PeriodHourSplitter(minDate, maxDate), FormatHour); + GanttChart.CreateTimeLine(new PeriodHourSplitter(minDate, maxDate), FormatHour); + // Set the timeline to atatch gridlines to GanttChart.SetGridLinesTimeline(gridLineTimeLine, DetermineBackground); var rowgroup = GanttChart.CreateGanttRowGroup(); - var row = GanttChart.CreateGanttRow(rowgroup, "GanttRow"); - GanttChart.AddGanttTask(row, new GanttTask() { Start = DateTime.Parse("2024-12-30 00:30:00"), End = DateTime.Parse("2024-12-30 01:00:00"), Name = "GanttRow:"+"GanttTask 1", TaskProgressVisibility = System.Windows.Visibility.Hidden }); - GanttChart.AddGanttTask(row, new GanttTask() { Start = DateTime.Parse("2024-12-30 06:00:00"), End = DateTime.Parse("2024-12-30 07:00:00"), Name = "GanttRow:"+"GanttTask 2" }); - GanttChart.AddGanttTask(row, new GanttTask() { Start = DateTime.Parse("2024-12-30 10:00:00"), End = DateTime.Parse("2024-12-30 20:00:00"), Name = "GanttRow:"+"GanttTask 3" }); - }//创建日程图表 + //生成表信息 + List Chart_machines = MainWindowViewModel.Machines.AsEnumerable().Select(rowdata => rowdata.Field("name")).ToList();//转换列名为机台 + for (int i= 0; i("StartTime")), + End = DateTime.Parse(dataRows[j].Field("EndTime")), + Name = Properties.Resources.ProcessName +";"+ dataRows[j].Field("ProgramName"), + TaskProgressVisibility = System.Windows.Visibility.Hidden }); + } + } + }//创建日程图 + private void ViewClicked(GanttTask ganttTask) + { + MessageBox.Show("New clicked for task " + ganttTask.Name); + } + private void EditClicked(GanttTask ganttTask) + { + MessageBox.Show("Edit clicked for task " + ganttTask.Name); + } + private void DeleteClicked(GanttTask ganttTask) + { + MessageBox.Show("Delete clicked for task " + ganttTask.Name); + } private string FormatYear(Period period) { return period.Start.Year.ToString();