diff --git a/DM_Weight/ViewModels/HomeWindowViewModel.cs b/DM_Weight/ViewModels/HomeWindowViewModel.cs
index 2d7c0ac..cf9b75c 100644
--- a/DM_Weight/ViewModels/HomeWindowViewModel.cs
+++ b/DM_Weight/ViewModels/HomeWindowViewModel.cs
@@ -24,6 +24,8 @@ using Newtonsoft.Json.Linq;
using DM_Weight.msg;
using DM_Weight.HIKVISION;
using System.Threading;
+using MaterialDesignThemes.Wpf;
+using System.Windows.Media;
namespace DM_Weight.ViewModels
{
@@ -34,8 +36,8 @@ namespace DM_Weight.ViewModels
private readonly IDialogService _dialogService;
private UserList? _userList;
private UserList? _userList2;
-
-
+
+
///
/// 冰箱温度
///
@@ -50,6 +52,21 @@ namespace DM_Weight.ViewModels
get => loginMode == 2;
}
+ private SolidColorBrush _colorBrush;
+
+ public SolidColorBrush SnackbarBackground
+ {
+ get => _colorBrush;
+ set => SetProperty(ref _colorBrush, value);
+ }
+ private ISnackbarMessageQueue _snackbarMessageQueue = new SnackbarMessageQueue(TimeSpan.FromSeconds(3));
+
+ public ISnackbarMessageQueue SnackbarMessageQueue
+ {
+ get => _snackbarMessageQueue;
+ set => SetProperty(ref _snackbarMessageQueue, value);
+ }
+
private PremissionDm? _selectedMenu;
private PremissionDm? _selectedChildMenu;
@@ -153,7 +170,16 @@ namespace DM_Weight.ViewModels
// SelectedChildMenu = value.Children[0];
// }
//}
- SetProperty(ref _selectedMenu, value);
+ if (!_portUtil.Operate)
+ {
+ SetProperty(ref _selectedMenu, value);
+ }
+ else
+ {
+ logger.Info($"未关闭抽屉切换菜单");
+ SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
+ SnackbarMessageQueue.Enqueue("请关闭抽屉后再切换菜单");
+ }
}
}
@@ -167,12 +193,21 @@ namespace DM_Weight.ViewModels
SelectedMenu = viewName.SelectedItem as PremissionDm;
if (SelectedMenu.PremissionName == "退出")
{
-
- _chkFunction.HIKStopDVRRecord();
- logger.Info($"用户【{Operator?.Nickname}】退出登录");
- Operator = null;
- Reviewer = null;
- _regionManager.RequestNavigate("MainRegion", "LoginWindow");
+ if (!_portUtil.Operate)
+ {
+ _chkFunction.HIKStopDVRRecord();
+ logger.Info($"用户【{Operator?.Nickname}】退出登录");
+ Operator = null;
+ Reviewer = null;
+ _regionManager.RequestNavigate("MainRegion", "LoginWindow");
+ }
+ else
+ {
+ logger.Info($"未关闭抽屉操作退出");
+ SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
+ SnackbarMessageQueue.Enqueue("请关闭抽屉后再退出");
+ return;
+ }
}
else
{
@@ -353,7 +388,7 @@ namespace DM_Weight.ViewModels
{
//指定时间内无人操作鼠标键盘则停止录像
- if (!_portUtil.Operate && CheckComputerFreeState.GetLastInputTime() > stopRecord)
+ if (!_portUtil.Operate && CheckComputerFreeState.GetLastInputTime() > stopRecord)
{
_chkFunction.HIKStopDVRRecord();
}
diff --git a/DM_Weight/Views/HomeWindow.xaml b/DM_Weight/Views/HomeWindow.xaml
index 90ef497..406f271 100644
--- a/DM_Weight/Views/HomeWindow.xaml
+++ b/DM_Weight/Views/HomeWindow.xaml
@@ -123,6 +123,8 @@
-
+