diff --git a/DM_Weight/ViewModels/HomeWindowViewModel.cs b/DM_Weight/ViewModels/HomeWindowViewModel.cs index 9e91a17..6762d72 100644 --- a/DM_Weight/ViewModels/HomeWindowViewModel.cs +++ b/DM_Weight/ViewModels/HomeWindowViewModel.cs @@ -66,87 +66,87 @@ namespace DM_Weight.ViewModels get { return _selectedChildMenu; } set { - if (!_portUtil.Operate) - { - if (value != null) - { - if (value.PremissionPath.Equals("TakeRecordWindow")) - { - //定义传参变量 - NavigationParameters keys = new NavigationParameters(); + //if (!_portUtil.Operate) + //{ + // if (value != null) + // { + // if (value.PremissionPath.Equals("TakeRecordWindow")) + // { + // //定义传参变量 + // NavigationParameters keys = new NavigationParameters(); - //添加参数,键值对格式 - keys.Add("Type", 2); - _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); - } - else if (value.PremissionPath.Equals("AddRecordWindow")) - { - //定义传参变量 - NavigationParameters keys = new NavigationParameters(); + // //添加参数,键值对格式 + // keys.Add("Type", 2); + // _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + // } + // else if (value.PremissionPath.Equals("AddRecordWindow")) + // { + // //定义传参变量 + // NavigationParameters keys = new NavigationParameters(); - //添加参数,键值对格式 - keys.Add("Type", 1); - _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); - } - else if (value.PremissionPath.Equals("ReturnRecordWindow")) - { - //定义传参变量 - NavigationParameters keys = new NavigationParameters(); + // //添加参数,键值对格式 + // keys.Add("Type", 1); + // _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + // } + // else if (value.PremissionPath.Equals("ReturnRecordWindow")) + // { + // //定义传参变量 + // NavigationParameters keys = new NavigationParameters(); - //添加参数,键值对格式 - keys.Add("Type", 3); - _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); - } - else if (value.PremissionPath.Equals("RetrunEmptyRecordWindow")) - { - //定义传参变量 - NavigationParameters keys = new NavigationParameters(); + // //添加参数,键值对格式 + // keys.Add("Type", 3); + // _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + // } + // else if (value.PremissionPath.Equals("RetrunEmptyRecordWindow")) + // { + // //定义传参变量 + // NavigationParameters keys = new NavigationParameters(); - //添加参数,键值对格式 - keys.Add("Type", 3); - _regionManager.RequestNavigate("ContentRegion", value.PremissionPath, keys); - } - else if (value.PremissionPath.Equals("CheckRecordWindow")) - { - //定义传参变量 - NavigationParameters keys = new NavigationParameters(); + // //添加参数,键值对格式 + // keys.Add("Type", 3); + // _regionManager.RequestNavigate("ContentRegion", value.PremissionPath, keys); + // } + // else if (value.PremissionPath.Equals("CheckRecordWindow")) + // { + // //定义传参变量 + // NavigationParameters keys = new NavigationParameters(); - //添加参数,键值对格式 - keys.Add("Type", 4); - _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); - } - else - { - if (value.PremissionPath.Equals("ReturnDrugWindow") || value.PremissionPath.Equals("ReturnDrugWindow2")) - { - if (ConfigurationManager.AppSettings["returnDrugMode"].ToString().Equals("1")) - { - _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow2"); - } - else - { - _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow"); - } - } - else if (value.PremissionPath.Equals("SettingMainWindow") || value.PremissionPath.Equals("SettingWindow")) - { - //if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"])>0) - //{ - // _regionManager.RequestNavigate("ContentRegion", "SettingMainWindow"); - //} - //else - { - _regionManager.RequestNavigate("ContentRegion", "SettingWindow"); - } - } - else - { - _regionManager.RequestNavigate("ContentRegion", value.PremissionPath); - } - } - } + // //添加参数,键值对格式 + // keys.Add("Type", 4); + // _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + // } + // else + // { + // if (value.PremissionPath.Equals("ReturnDrugWindow") || value.PremissionPath.Equals("ReturnDrugWindow2")) + // { + // if (ConfigurationManager.AppSettings["returnDrugMode"].ToString().Equals("1")) + // { + // _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow2"); + // } + // else + // { + // _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow"); + // } + // } + // else if (value.PremissionPath.Equals("SettingMainWindow") || value.PremissionPath.Equals("SettingWindow")) + // { + // //if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"])>0) + // //{ + // // _regionManager.RequestNavigate("ContentRegion", "SettingMainWindow"); + // //} + // //else + // { + // _regionManager.RequestNavigate("ContentRegion", "SettingWindow"); + // } + // } + // else + // { + // _regionManager.RequestNavigate("ContentRegion", value.PremissionPath); + // } + // } + // } SetProperty(ref _selectedChildMenu, value); - } + //} } } @@ -172,31 +172,146 @@ namespace DM_Weight.ViewModels SetProperty(ref _selectedMenu, value); } } + #region 父菜单点击事件 - private DelegateCommand _selectionCommon; - public DelegateCommand SelectionCommon + #endregion + private DelegateCommand _selectionCommon; + public DelegateCommand SelectionCommon { - get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod)); + get => _selectionCommon ?? (_selectionCommon = new DelegateCommand(SelectionMethod)); } - private void SelectionMethod(ListBox viewName) + private void SelectionMethod() { - SelectedMenu = viewName.SelectedItem as PremissionDm; - if (SelectedMenu.PremissionName == "退出") - { + //SelectedMenu = viewName.SelectedItem as PremissionDm; + //if (SelectedMenu.PremissionName == "退出") + //{ - _chkFunction.HIKStopDVRRecord(); + // _chkFunction.HIKStopDVRRecord(); + // logger.Info($"用户【{Operator?.Nickname}】退出登录"); + // Operator = null; + // Reviewer = null; + // _regionManager.RequestNavigate("MainRegion", "LoginWindow"); + //} + //else + //{ + // //SelectedMenu.Children = SelectedMenu.Children; + // SelectedChildMenu = SelectedMenu.Children[0]; + //} + logger.Info("开始进入父菜单"); + if (SelectedMenu != null && SelectedMenu.PremissionName == "退出") + { logger.Info($"用户【{Operator?.Nickname}】退出登录"); Operator = null; Reviewer = null; - _regionManager.RequestNavigate("MainRegion", "LoginWindow"); + _regionManager.RequestNavigate("MainRegion", "BeforeLogin"); } else { - //SelectedMenu.Children = SelectedMenu.Children; - SelectedChildMenu = SelectedMenu.Children[0]; + if (!_portUtil.Operate) + { + _regionManager.RequestNavigate("ContentRegion", SelectedMenu.Children[0].PremissionPath); + } + } + logger.Info("结束父菜单"); + } + + #region + private DelegateCommand _selectionChildCommon; + public DelegateCommand SelectionChildCommon + { + get => _selectionChildCommon ?? (_selectionChildCommon = new DelegateCommand(SelectionChildMethod)); + } + private void SelectionChildMethod() + { + SelectChildNavigate(SelectedChildMenu); + } + private void SelectChildNavigate(PremissionDm SelectedChildMenu) + { + if (!_portUtil.Operate) + { + if (SelectedChildMenu != null) + { + if (SelectedChildMenu.PremissionPath.Equals("TakeRecordWindow")) + { + //定义传参变量 + NavigationParameters keys = new NavigationParameters(); + + //添加参数,键值对格式 + keys.Add("Type", 2); + _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + } + else if (SelectedChildMenu.PremissionPath.Equals("AddRecordWindow")) + { + //定义传参变量 + NavigationParameters keys = new NavigationParameters(); + + //添加参数,键值对格式 + keys.Add("Type", 1); + _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + } + else if (SelectedChildMenu.PremissionPath.Equals("ReturnRecordWindow")) + { + //定义传参变量 + NavigationParameters keys = new NavigationParameters(); + + //添加参数,键值对格式 + keys.Add("Type", 3); + _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + } + else if (SelectedChildMenu.PremissionPath.Equals("RetrunEmptyRecordWindow")) + { + //定义传参变量 + NavigationParameters keys = new NavigationParameters(); + + //添加参数,键值对格式 + keys.Add("Type", 3); + _regionManager.RequestNavigate("ContentRegion", SelectedChildMenu.PremissionPath, keys); + } + else if (SelectedChildMenu.PremissionPath.Equals("CheckRecordWindow")) + { + //定义传参变量 + NavigationParameters keys = new NavigationParameters(); + + //添加参数,键值对格式 + keys.Add("Type", 4); + _regionManager.RequestNavigate("ContentRegion", "MachineRecordWindow", keys); + } + else + { + if (SelectedChildMenu.PremissionPath.Equals("ReturnDrugWindow") || SelectedChildMenu.PremissionPath.Equals("ReturnDrugWindow2")) + { + if (ConfigurationManager.AppSettings["returnDrugMode"].ToString().Equals("1")) + { + _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow2"); + } + else + { + _regionManager.RequestNavigate("ContentRegion", "ReturnDrugWindow"); + } + } + else if (SelectedChildMenu.PremissionPath.Equals("SettingMainWindow") || SelectedChildMenu.PremissionPath.Equals("SettingWindow")) + { + //if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"])>0) + //{ + // _regionManager.RequestNavigate("ContentRegion", "SettingMainWindow"); + //} + //else + { + _regionManager.RequestNavigate("ContentRegion", "SettingWindow"); + } + } + else + { + _regionManager.RequestNavigate("ContentRegion", SelectedChildMenu.PremissionPath); + } + } + } } } + #endregion + + public List PremissionDmList { get { return _premissionDmList; } set { SetProperty(ref _premissionDmList, value); } } public UserList UserList { get { return _userList; } set { SetProperty(ref _userList, value); } } @@ -406,6 +521,7 @@ namespace DM_Weight.ViewModels PremissionDmList = premissions; SelectedMenu = premissions[0]; SelectedChildMenu = premissions[0].Children[0]; + _regionManager.RequestNavigate("ContentRegion", premissions[0].Children[0].PremissionPath); FindDrawerCount(); int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0"); diff --git a/DM_Weight/Views/HomeWindow.xaml b/DM_Weight/Views/HomeWindow.xaml index c7d93ec..f10190c 100644 --- a/DM_Weight/Views/HomeWindow.xaml +++ b/DM_Weight/Views/HomeWindow.xaml @@ -26,10 +26,11 @@ - + - + + @@ -55,7 +56,11 @@ - + + + + +