From 0a8fcbf4dfeba9db42119ae56b32e50dfcd8e4fa Mon Sep 17 00:00:00 2001 From: WenJY Date: Fri, 12 Jun 2026 17:06:48 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E5=88=A0=E9=99=A4=E6=97=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A1=AE=E8=AE=A4=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/Base/CrudPageViewModel.cs | 6 ++- .../ViewModels/Device/DeviceInfoViewModel.cs | 4 +- .../ViewModels/Path/PathInfoViewModel.cs | 4 +- .../ViewModels/Task/TaskQueueViewModel.cs | 4 +- Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml | 50 +++++++++++++++++++ Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml.cs | 31 ++++++++++++ .../Views/Device/DeviceInfoListView.axaml.cs | 4 +- .../Views/Path/PathInfoListView.axaml.cs | 4 +- .../Views/Task/TaskQueueListView.axaml.cs | 4 +- 9 files changed, 101 insertions(+), 10 deletions(-) create mode 100644 Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml create mode 100644 Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml.cs diff --git a/Sln.Wcs.UI/ViewModels/Base/CrudPageViewModel.cs b/Sln.Wcs.UI/ViewModels/Base/CrudPageViewModel.cs index 69f3aac..f35f9c0 100644 --- a/Sln.Wcs.UI/ViewModels/Base/CrudPageViewModel.cs +++ b/Sln.Wcs.UI/ViewModels/Base/CrudPageViewModel.cs @@ -108,9 +108,13 @@ public abstract partial class CrudPageViewModel : ObservableObject, ICrudPage } [RelayCommand] - private void Delete() + private async System.Threading.Tasks.Task Delete() { if (SelectedItem is null) return; + var dialog = new Views.Base.ConfirmDialog(); + var ok = await dialog.ShowDialog("确定要删除该条记录吗?此操作不可恢复。", GetMainWindow()); + if (!ok) return; + var prop = typeof(T).GetProperty("objId") ?? typeof(T).GetProperty("ObjId"); if (prop is null) return; var id = prop.GetValue(SelectedItem); diff --git a/Sln.Wcs.UI/ViewModels/Device/DeviceInfoViewModel.cs b/Sln.Wcs.UI/ViewModels/Device/DeviceInfoViewModel.cs index 93e965b..962cee9 100644 --- a/Sln.Wcs.UI/ViewModels/Device/DeviceInfoViewModel.cs +++ b/Sln.Wcs.UI/ViewModels/Device/DeviceInfoViewModel.cs @@ -86,8 +86,10 @@ public partial class DeviceInfoViewModel : CrudPageViewModel } } - public void DeleteParam(BaseDeviceParam param) + public async System.Threading.Tasks.Task DeleteParamAsync(BaseDeviceParam param) { + var dlg = new Sln.Wcs.UI.Views.Base.ConfirmDialog(); + if (!await dlg.ShowDialog("确定要删除该参数吗?", GetMainWindow())) return; _paramService.DeleteById(param.objId); LoadParams(); } diff --git a/Sln.Wcs.UI/ViewModels/Path/PathInfoViewModel.cs b/Sln.Wcs.UI/ViewModels/Path/PathInfoViewModel.cs index ff0fd69..386297c 100644 --- a/Sln.Wcs.UI/ViewModels/Path/PathInfoViewModel.cs +++ b/Sln.Wcs.UI/ViewModels/Path/PathInfoViewModel.cs @@ -86,8 +86,10 @@ public partial class PathInfoViewModel : CrudPageViewModel } } - public void DeleteDetail(BasePathDetails detail) + public async System.Threading.Tasks.Task DeleteDetailAsync(BasePathDetails detail) { + var dlg = new Sln.Wcs.UI.Views.Base.ConfirmDialog(); + if (!await dlg.ShowDialog("确定要删除该明细吗?", GetMainWindow())) return; _detailService.DeleteById(detail.objId); LoadDetails(); } diff --git a/Sln.Wcs.UI/ViewModels/Task/TaskQueueViewModel.cs b/Sln.Wcs.UI/ViewModels/Task/TaskQueueViewModel.cs index 5c036ad..496c0a0 100644 --- a/Sln.Wcs.UI/ViewModels/Task/TaskQueueViewModel.cs +++ b/Sln.Wcs.UI/ViewModels/Task/TaskQueueViewModel.cs @@ -92,8 +92,10 @@ public partial class TaskQueueViewModel : CrudPageViewModel } } - public void DeleteDetail(LiveTaskDetail detail) + public async System.Threading.Tasks.Task DeleteDetailAsync(LiveTaskDetail detail) { + var dlg = new Sln.Wcs.UI.Views.Base.ConfirmDialog(); + if (!await dlg.ShowDialog("确定要删除该明细吗?", GetMainWindow())) return; _detailService.DeleteById(detail.objId); LoadDetails(); } diff --git a/Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml b/Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml new file mode 100644 index 0000000..dc6e08e --- /dev/null +++ b/Sln.Wcs.UI/Views/Base/ConfirmDialog.axaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + +