提交记录修改Core/Models/Config/GeneralModel.cs+16 −0看文件
修改UI/App.xaml.cs+2 −3看文件
修改UI/Models/IndexPageModel.cs+12 −0看文件
修改UI/ViewModels/IndexPageVM.cs+37 −23看文件
修改UI/ViewModels/MainViewModel.cs+19 −15看文件
修改UI/Views/IndexPage.xaml+2 −2看文件
| @@ -40,5 +40,21 @@ namespace Core.Models.Config | ||
| 40 | 40 | /// 窗口高度 |
| 41 | 41 | /// </summary> |
| 42 | 42 | public double WindowHeight { get; set; } = 585; |
| 43 | 新增: | |
| 44 | 新增: /// <summary> | |
| 45 | 新增: /// 启动页选择 | |
| 46 | 新增: /// </summary> | |
| 47 | 新增: [Config(Options = "概览|统计|详细|分类", Name = "启动页", Description = "设置打开主界面时显示的页面", Group = "基础")] | |
| 48 | 新增: public int StartPage { get; set; } = 0; | |
| 49 | 新增: /// <summary> | |
| 50 | 新增: /// 概览页最为频繁显示条数 | |
| 51 | 新增: /// </summary> | |
| 52 | 新增: [Config(Options = "1|2|3|4|5|6|7|8|9|10", Name = "最为频繁显示条数", Description = "", Group = "概览页")] | |
| 53 | 新增: public int IndexPageFrequentUseNum { get; set; } = 2; | |
| 54 | 新增: /// <summary> | |
| 55 | 新增: /// 概览页最为频繁显示条数 | |
| 56 | 新增: /// </summary> | |
| 57 | 新增: [Config(Options = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20", Name = "更多显示条数", Description = "", Group = "概览页")] | |
| 58 | 新增: public int IndexPageMoreNum { get; set; } = 11; | |
| 43 | 59 | } |
| 44 | 60 | } |
| @@ -259,7 +259,7 @@ namespace UI | ||
| 259 | 259 | keepaliveWindow = new HideWindow(); |
| 260 | 260 | } |
| 261 | 261 | |
| 262 | 删除: | |
| 262 | 新增: | |
| 263 | 263 | |
| 264 | 264 | private void ShowMainWindow() |
| 265 | 265 | { |
| @@ -271,8 +271,7 @@ namespace UI | ||
| 271 | 271 | mainWindow = serviceProvider.GetService<MainWindow>(); |
| 272 | 272 | |
| 273 | 273 | mainWindow.DataContext = dataContext; |
| 274 | 删除: dataContext.SelectGroup(-1); | |
| 275 | 删除: dataContext.Uri = nameof(IndexPage); | |
| 274 | 新增: dataContext.LoadDefaultPage(); | |
| 276 | 275 | } |
| 277 | 276 | |
| 278 | 277 | mainWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen; |
| @@ -51,5 +51,17 @@ namespace UI.Models | ||
| 51 | 51 | |
| 52 | 52 | private ContextMenu AppContextMenu_; |
| 53 | 53 | public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } } |
| 54 | 新增: | |
| 55 | 新增: private int FrequentUseNum_; | |
| 56 | 新增: /// <summary> | |
| 57 | 新增: /// 最为频繁条数 | |
| 58 | 新增: /// </summary> | |
| 59 | 新增: public int FrequentUseNum { get { return FrequentUseNum_; } set { FrequentUseNum_ = value; OnPropertyChanged(); } } | |
| 60 | 新增: private int MoreNum_; | |
| 61 | 新增: /// <summary> | |
| 62 | 新增: /// 更多条数 | |
| 63 | 新增: /// </summary> | |
| 64 | 新增: public int MoreNum { get { return MoreNum_; } set { MoreNum_ = value; OnPropertyChanged(); } } | |
| 65 | 新增: | |
| 54 | 66 | } |
| 55 | 67 | } |
| @@ -28,14 +28,16 @@ namespace UI.ViewModels | ||
| 28 | 28 | private readonly IMain mainServicer; |
| 29 | 29 | private readonly IAppContextMenuServicer appContextMenuServicer; |
| 30 | 30 | private readonly IInputServicer inputServicer; |
| 31 | 新增: private readonly IAppConfig appConfig; | |
| 31 | 32 | public IndexPageVM( |
| 32 | 删除: IData data, MainViewModel main, IMain mainServicer, IAppContextMenuServicer appContextMenuServicer, IInputServicer inputServicer) | |
| 33 | 新增: IData data, MainViewModel main, IMain mainServicer, IAppContextMenuServicer appContextMenuServicer, IInputServicer inputServicer, IAppConfig appConfig) | |
| 33 | 34 | { |
| 34 | 35 | this.data = data; |
| 35 | 36 | this.main = main; |
| 36 | 37 | this.mainServicer = mainServicer; |
| 37 | 38 | this.appContextMenuServicer = appContextMenuServicer; |
| 38 | 39 | this.inputServicer = inputServicer; |
| 40 | 新增: this.appConfig = appConfig; | |
| 39 | 41 | |
| 40 | 42 | ToDetailCommand = new Command(new Action<object>(OnTodetailCommand)); |
| 41 | 43 | RefreshCommand = new Command(new Action<object>(OnRefreshCommand)); |
| @@ -58,22 +60,21 @@ namespace UI.ViewModels | ||
| 58 | 60 | { |
| 59 | 61 | TabbarData = new System.Collections.ObjectModel.ObservableCollection<string>() |
| 60 | 62 | { |
| 61 | 删除: "上周","本周" | |
| 63 | 新增: "今日","本周" | |
| 62 | 64 | }; |
| 63 | 65 | |
| 64 | 删除: TabbarSelectedIndex = 1; | |
| 65 | 删除: | |
| 66 | 删除: PropertyChanged += IndexPageVM_PropertyChanged; | |
| 67 | 删除: LoadThisWeekData(); | |
| 68 | 删除: | |
| 66 | 新增: TabbarSelectedIndex = 0; | |
| 69 | 67 | AppContextMenu = appContextMenuServicer.GetContextMenu(); |
| 70 | 68 | |
| 69 | 新增: PropertyChanged += IndexPageVM_PropertyChanged; | |
| 71 | 70 | inputServicer.OnKeyUpInput += InputServicer_OnKeyUpInput; |
| 71 | 新增: | |
| 72 | 新增: LoadData(); | |
| 72 | 73 | } |
| 73 | 74 | |
| 74 | 75 | private void InputServicer_OnKeyUpInput(object sender, System.Windows.Forms.Keys key) |
| 75 | 76 | { |
| 76 | 删除: if(key== System.Windows.Forms.Keys.F5) | |
| 77 | 新增: if (key == System.Windows.Forms.Keys.F5) | |
| 77 | 78 | { |
| 78 | 79 | // 重新加载数据 |
| 79 | 80 | LoadData(); |
| @@ -113,31 +114,44 @@ namespace UI.ViewModels | ||
| 113 | 114 | return; |
| 114 | 115 | } |
| 115 | 116 | |
| 116 | 删除: if (TabbarSelectedIndex == 1) | |
| 117 | 新增: FrequentUseNum = appConfig.GetConfig().General.IndexPageFrequentUseNum + 1; | |
| 118 | 新增: MoreNum = appConfig.GetConfig().General.IndexPageMoreNum + 1; | |
| 119 | 新增: | |
| 120 | 新增: if (TabbarSelectedIndex == 0) | |
| 117 | 121 | { |
| 118 | 删除: LoadThisWeekData(); | |
| 122 | 新增: LoadTodayData(); | |
| 119 | 123 | } |
| 120 | 删除: else | |
| 124 | 新增: else if (TabbarSelectedIndex == 1) | |
| 121 | 125 | { |
| 122 | 删除: LoadLastWeekData(); | |
| 126 | 新增: LoadThisWeekData(); | |
| 123 | 127 | } |
| 128 | 新增: //else | |
| 129 | 新增: //{ | |
| 130 | 新增: // LoadLastWeekData(); | |
| 131 | 新增: //} | |
| 124 | 132 | } |
| 125 | 133 | |
| 126 | 删除: #region 本周数据 | |
| 127 | 删除: private void LoadThisWeekData() | |
| 134 | 新增: #region 今日数据 | |
| 135 | 新增: private void LoadTodayData() | |
| 128 | 136 | { |
| 129 | 删除: //IsLoading = true; | |
| 137 | 新增: IsLoading = true; | |
| 130 | 138 | |
| 131 | 删除: //var task = Task.Run(() => | |
| 132 | 删除: // { | |
| 133 | 删除: // var list = data.GetThisWeeklogList(); | |
| 134 | 删除: // var res = MapToChartsData(list); | |
| 135 | 删除: // IsLoading = false; | |
| 136 | 删除: // return res; | |
| 139 | 新增: Task.Run(() => | |
| 140 | 新增: { | |
| 141 | 新增: var list = data.GetDateRangelogList(DateTime.Now.Date, DateTime.Now.Date); | |
| 142 | 新增: var res = MapToChartsData(list); | |
| 143 | 新增: IsLoading = false; | |
| 144 | 新增: WeekData = res; | |
| 145 | 新增: }); | |
| 137 | 146 | |
| 138 | 删除: // }); | |
| 139 | 147 | |
| 140 | 删除: //WeekData = await task; | |
| 148 | 新增: | |
| 149 | 新增: } | |
| 150 | 新增: #endregion | |
| 151 | 新增: | |
| 152 | 新增: #region 本周数据 | |
| 153 | 新增: private void LoadThisWeekData() | |
| 154 | 新增: { | |
| 141 | 155 | IsLoading = true; |
| 142 | 156 | |
| 143 | 157 | Task.Run(() => |
| @@ -1,4 +1,5 @@ | ||
| 1 | 删除:using System; | |
| 1 | 新增:using Core.Servicers.Interfaces; | |
| 2 | 新增:using System; | |
| 2 | 3 | using System.Collections.Generic; |
| 3 | 4 | using System.Linq; |
| 4 | 5 | using System.Text; |
| @@ -15,18 +16,22 @@ namespace UI.ViewModels | ||
| 15 | 16 | public class MainViewModel : MainWindowModel |
| 16 | 17 | { |
| 17 | 18 | private readonly IServiceProvider serviceProvider; |
| 18 | 删除: | |
| 19 | 新增: private readonly IAppConfig appConfig; | |
| 19 | 20 | public Command OnSelectedCommand { get; set; } |
| 20 | 21 | public Command GotoPageCommand { get; set; } |
| 21 | 22 | |
| 23 | 新增: private string[] pages = { nameof(IndexPage), nameof(ChartPage), nameof(DataPage), nameof(CategoryPage) }; | |
| 22 | 24 | public MainViewModel( |
| 23 | 删除: IServiceProvider serviceProvider | |
| 25 | 新增: IServiceProvider serviceProvider, | |
| 26 | 新增: IAppConfig appConfig, | |
| 27 | 新增: IMain main | |
| 24 | 28 | ) |
| 25 | 29 | { |
| 26 | 30 | this.serviceProvider = serviceProvider; |
| 31 | 新增: this.appConfig = appConfig; | |
| 27 | 32 | |
| 28 | 33 | ServiceProvider = serviceProvider; |
| 29 | 删除: Uri = nameof(IndexPage); | |
| 34 | 新增: | |
| 30 | 35 | OnSelectedCommand = new Command(new Action<object>(OnSelectedCommandHandle)); |
| 31 | 36 | GotoPageCommand = new Command(new Action<object>(OnGotoPageCommand)); |
| 32 | 37 | |
| @@ -38,6 +43,8 @@ namespace UI.ViewModels | ||
| 38 | 43 | InitNavigation(); |
| 39 | 44 | } |
| 40 | 45 | |
| 46 | 新增: | |
| 47 | 新增: | |
| 41 | 48 | private void MainViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) |
| 42 | 49 | { |
| 43 | 50 | if (e.PropertyName == nameof(Uri)) |
| @@ -49,9 +56,11 @@ namespace UI.ViewModels | ||
| 49 | 56 | } |
| 50 | 57 | } |
| 51 | 58 | |
| 52 | 删除: public void SelectGroup(int ID) | |
| 59 | 新增: public void LoadDefaultPage() | |
| 53 | 60 | { |
| 54 | 删除: NavSelectedItem = Items.Where(m => m.ID == ID).FirstOrDefault(); | |
| 61 | 新增: int startPageIndex = appConfig.GetConfig().General.StartPage; | |
| 62 | 新增: NavSelectedItem = Items[startPageIndex]; | |
| 63 | 新增: Uri = NavSelectedItem.Uri; | |
| 55 | 64 | } |
| 56 | 65 | |
| 57 | 66 | |
| @@ -71,11 +80,7 @@ namespace UI.ViewModels | ||
| 71 | 80 | private void InitNavigation() |
| 72 | 81 | { |
| 73 | 82 | IndexUriList = new List<string>(); |
| 74 | 删除: IndexUriList.Add(nameof(IndexPage)); | |
| 75 | 删除: IndexUriList.Add(nameof(DataPage)); | |
| 76 | 删除: IndexUriList.Add(nameof(CategoryPage)); | |
| 77 | 删除: IndexUriList.Add(nameof(ChartPage)); | |
| 78 | 删除: | |
| 83 | 新增: IndexUriList.AddRange(pages); | |
| 79 | 84 | |
| 80 | 85 | Items.Add(new Controls.Navigation.Models.NavigationItemModel() |
| 81 | 86 | { |
| @@ -89,7 +94,7 @@ namespace UI.ViewModels | ||
| 89 | 94 | Items.Add(new Controls.Navigation.Models.NavigationItemModel() |
| 90 | 95 | { |
| 91 | 96 | UnSelectedIcon = Controls.Base.IconTypes.ZeroBars, |
| 92 | 删除: SelectedIcon= IconTypes.FourBars, | |
| 97 | 新增: SelectedIcon = IconTypes.FourBars, | |
| 93 | 98 | Title = "统计", |
| 94 | 99 | ID = 1, |
| 95 | 100 | Uri = nameof(ChartPage), |
| @@ -98,7 +103,7 @@ namespace UI.ViewModels | ||
| 98 | 103 | Items.Add(new Controls.Navigation.Models.NavigationItemModel() |
| 99 | 104 | { |
| 100 | 105 | UnSelectedIcon = Controls.Base.IconTypes.Calendar, |
| 101 | 删除: SelectedIcon= IconTypes.CalendarSolid, | |
| 106 | 新增: SelectedIcon = IconTypes.CalendarSolid, | |
| 102 | 107 | //Icon = Controls.Base.IconTypes.BIDashboard, |
| 103 | 108 | Title = "详细", |
| 104 | 109 | ID = 2, |
| @@ -108,13 +113,12 @@ namespace UI.ViewModels | ||
| 108 | 113 | Items.Add(new Controls.Navigation.Models.NavigationItemModel() |
| 109 | 114 | { |
| 110 | 115 | UnSelectedIcon = Controls.Base.IconTypes.EndPoint, |
| 111 | 删除: SelectedIcon= IconTypes.EndPointSolid, | |
| 116 | 新增: SelectedIcon = IconTypes.EndPointSolid, | |
| 112 | 117 | Title = "分类", |
| 113 | 118 | ID = 3, |
| 114 | 119 | Uri = nameof(CategoryPage), |
| 115 | 120 | |
| 116 | 121 | }); |
| 117 | 删除: NavSelectedItem = Items[0]; | |
| 118 | 122 | } |
| 119 | 123 | |
| 120 | 124 | public void Toast(string content, ToastType type = ToastType.Info, IconTypes icon = IconTypes.Accept) |
| @@ -31,9 +31,9 @@ | ||
| 31 | 31 | <TextBlock Text="概览" FontSize="18" Margin="0,5,0,20"/> |
| 32 | 32 | <Tabbar:Tabbar Width="100" HorizontalAlignment="Left" Data="{Binding TabbarData}" SelectedIndex="{Binding TabbarSelectedIndex,Mode=TwoWay}"/> |
| 33 | 33 | <TextBlock Text="最为频繁" FontSize="15" Margin="0,20,0,10"/> |
| 34 | 删除: <Charts:Charts IsCanScroll="False" Height="180" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="3" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}" ItemMenu="{Binding AppContextMenu}"/> | |
| 34 | 新增: <Charts:Charts IsCanScroll="False" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="{Binding FrequentUseNum}" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}" ItemMenu="{Binding AppContextMenu}"/> | |
| 35 | 35 | <TextBlock Text="更多" FontSize="15" Margin="0,20,0,10"/> |
| 36 | 删除: <Charts:Charts Data="{Binding WeekData}" ItemMenu="{Binding AppContextMenu}" ChartsType="Card" ShowLimit="12" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/> | |
| 36 | 新增: <Charts:Charts Data="{Binding WeekData}" ItemMenu="{Binding AppContextMenu}" ChartsType="Card" ShowLimit="{Binding MoreNum}" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/> | |
| 37 | 37 | |
| 38 | 38 | |
| 39 | 39 | </StackPanel> |

