From 770ab0e034ffefd29be46e5b0f03752d0e089683 Mon Sep 17 00:00:00 2001 From: "CHEN-ZW\\acer" Date: Fri, 15 Aug 2025 15:38:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E6=B0=94=E5=89=8D=E7=AB=AF=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- newFront/c#前端/SWS.CAD.sln | 231 + .../c#前端/SWS.WPF/Properties/AssemblyInfo.cs | 33 + newFront/c#前端/SWS.WPF/SWS.WPF.csproj | 229 + newFront/c#前端/SWS.WPF/SWS.WPF.csproj.user | 6 + .../c#前端/SWS.WPF/Style/CustomStyles.xaml | 552 + .../SWS.WPF/ViewModels/DialogInputViewModel.cs | 74 + .../DialogSignalManagementViewModel.cs | 1509 + .../DialogSignalNoticeViewModel.cs | 418 + .../DialogSignalPropertyhisAndLogsViewModel.cs | 379 + .../DialogSignalSelectViewModel.cs | 146 + .../SWS.WPF/ViewModels/DialogTestViewModel.cs | 75 + .../SWS.WPF/ViewModels/ProjectViewModel.cs | 68 + .../ViewModels/myViewModelBase/DialogBase.cs | 76 + .../SWS.WPF/Views/CustomDialogWindow.xaml | 21 + .../SWS.WPF/Views/CustomDialogWindow.xaml.cs | 36 + .../c#前端/SWS.WPF/Views/DialogInput.xaml | 69 + .../c#前端/SWS.WPF/Views/DialogInput.xaml.cs | 28 + .../DialogSignalManagement.xaml | 1079 + .../DialogSignalManagement.xaml.cs | 29 + .../DialogSignalNotice.xaml | 210 + .../DialogSignalNotice.xaml.cs | 29 + .../DialogSignalPropertyhisAndLogs.xaml | 130 + .../DialogSignalPropertyhisAndLogs.xaml.cs | 28 + .../DialogSignalSelect.xaml | 102 + .../DialogSignalSelect.xaml.cs | 28 + newFront/c#前端/SWS.WPF/Views/DialogTest.xaml | 55 + .../c#前端/SWS.WPF/Views/DialogTest.xaml.cs | 29 + newFront/c#前端/SWS.WPF/Views/Project.xaml | 83 + newFront/c#前端/SWS.WPF/Views/Project.xaml.cs | 35 + newFront/c#前端/SWS.WPF/app.config | 31 + newFront/c#前端/SWS.WPF/bin/Debug/DryIoc.dll | Bin 0 -> 569344 bytes newFront/c#前端/SWS.WPF/bin/Debug/DryIoc.xml | 5867 ++ .../SWS.WPF/bin/Debug/EasyEncryption.dll | Bin 0 -> 11776 bytes .../SWS.WPF/bin/Debug/INIFileParser.dll | Bin 0 -> 28672 bytes .../SWS.WPF/bin/Debug/INIFileParser.xml | 1181 + .../bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll | Bin 0 -> 26904 bytes .../bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml | 417 + ...ensions.DependencyInjection.Abstractions.dll | Bin 0 -> 64160 bytes ...ensions.DependencyInjection.Abstractions.xml | 2515 + .../bin/Debug/Microsoft.Xaml.Behaviors.dll | Bin 0 -> 146472 bytes .../bin/Debug/Microsoft.Xaml.Behaviors.pdb | Bin 0 -> 482816 bytes .../bin/Debug/Microsoft.Xaml.Behaviors.xml | 2400 + .../SWS.WPF/bin/Debug/Newtonsoft.Json.dll | Bin 0 -> 711952 bytes .../SWS.WPF/bin/Debug/Newtonsoft.Json.xml | 11363 +++ .../SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.dll | Bin 0 -> 26720 bytes .../SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.pdb | Bin 0 -> 7104 bytes .../SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.xml | 341 + .../SWS.WPF/bin/Debug/Prism.Unity.Wpf.dll | Bin 0 -> 28256 bytes .../SWS.WPF/bin/Debug/Prism.Unity.Wpf.pdb | Bin 0 -> 13984 bytes .../SWS.WPF/bin/Debug/Prism.Unity.Wpf.xml | 324 + .../c#前端/SWS.WPF/bin/Debug/Prism.Wpf.dll | Bin 0 -> 134752 bytes .../c#前端/SWS.WPF/bin/Debug/Prism.Wpf.pdb | Bin 0 -> 54660 bytes .../c#前端/SWS.WPF/bin/Debug/Prism.Wpf.xml | 5209 ++ newFront/c#前端/SWS.WPF/bin/Debug/Prism.dll | Bin 0 -> 90720 bytes newFront/c#前端/SWS.WPF/bin/Debug/Prism.pdb | Bin 0 -> 30988 bytes newFront/c#前端/SWS.WPF/bin/Debug/Prism.xml | 3445 + .../c#前端/SWS.WPF/bin/Debug/SWS.Commons.dll | Bin 0 -> 17408 bytes .../SWS.WPF/bin/Debug/SWS.Commons.dll.config | 31 + .../c#前端/SWS.WPF/bin/Debug/SWS.Commons.pdb | Bin 0 -> 48640 bytes .../SWS.WPF/bin/Debug/SWS.CustomControl.dll | Bin 0 -> 34816 bytes .../SWS.WPF/bin/Debug/SWS.CustomControl.pdb | Bin 0 -> 105984 bytes .../c#前端/SWS.WPF/bin/Debug/SWS.Event.dll | Bin 0 -> 3584 bytes .../c#前端/SWS.WPF/bin/Debug/SWS.Event.pdb | Bin 0 -> 15872 bytes .../c#前端/SWS.WPF/bin/Debug/SWS.Model.dll | Bin 0 -> 104960 bytes .../c#前端/SWS.WPF/bin/Debug/SWS.Model.pdb | Bin 0 -> 491008 bytes .../c#前端/SWS.WPF/bin/Debug/SWS.Service.dll | Bin 0 -> 83968 bytes .../SWS.WPF/bin/Debug/SWS.Service.dll.config | 31 + .../c#前端/SWS.WPF/bin/Debug/SWS.Service.pdb | Bin 0 -> 163328 bytes newFront/c#前端/SWS.WPF/bin/Debug/SWS.WPF.dll | Bin 0 -> 151040 bytes .../SWS.WPF/bin/Debug/SWS.WPF.dll.config | 31 + newFront/c#前端/SWS.WPF/bin/Debug/SWS.WPF.pdb | Bin 0 -> 241152 bytes .../System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes .../System.Runtime.CompilerServices.Unsafe.xml | 200 + .../Debug/System.Threading.Tasks.Extensions.dll | Bin 0 -> 25984 bytes .../Debug/System.Threading.Tasks.Extensions.xml | 166 + .../SWS.WPF/bin/Debug/System.ValueTuple.dll | Bin 0 -> 25232 bytes .../SWS.WPF/bin/Debug/System.ValueTuple.xml | 8 + .../bin/Debug/Telerik.Windows.Controls.Data.dll | Bin 0 -> 2788760 bytes .../bin/Debug/Telerik.Windows.Controls.Data.xml | 12566 +++ .../Telerik.Windows.Controls.FileDialogs.dll | Bin 0 -> 4263320 bytes .../Telerik.Windows.Controls.FileDialogs.xml | 3981 + .../Debug/Telerik.Windows.Controls.GridView.dll | Bin 0 -> 4424600 bytes .../Debug/Telerik.Windows.Controls.GridView.xml | 19948 +++++ .../Debug/Telerik.Windows.Controls.Input.dll | Bin 0 -> 4265368 bytes .../Debug/Telerik.Windows.Controls.Input.xml | 18342 +++++ .../Telerik.Windows.Controls.Navigation.dll | Bin 0 -> 7371672 bytes .../Telerik.Windows.Controls.Navigation.xml | 29108 +++++++ .../bin/Debug/Telerik.Windows.Controls.dll | Bin 0 -> 9015704 bytes .../bin/Debug/Telerik.Windows.Controls.xml | 64656 ++++++++++++++++ .../SWS.WPF/bin/Debug/Telerik.Windows.Data.dll | Bin 0 -> 503704 bytes .../SWS.WPF/bin/Debug/Telerik.Windows.Data.xml | 7444 ++ .../SWS.WPF/bin/Debug/Unity.Abstractions.dll | Bin 0 -> 68096 bytes .../SWS.WPF/bin/Debug/Unity.Abstractions.pdb | Bin 0 -> 26588 bytes .../SWS.WPF/bin/Debug/Unity.Container.dll | Bin 0 -> 148480 bytes .../SWS.WPF/bin/Debug/Unity.Container.pdb | Bin 0 -> 51380 bytes .../de/Telerik.Windows.Controls.resources.dll | Bin 0 -> 525720 bytes .../es/Telerik.Windows.Controls.resources.dll | Bin 0 -> 520088 bytes .../fr/Telerik.Windows.Controls.resources.dll | Bin 0 -> 522136 bytes .../it/Telerik.Windows.Controls.resources.dll | Bin 0 -> 516504 bytes .../c#前端/SWS.WPF/bin/Debug/log4net.config | 93 + newFront/c#前端/SWS.WPF/bin/Debug/log4net.dll | Bin 0 -> 296448 bytes newFront/c#前端/SWS.WPF/bin/Debug/log4net.pdb | Bin 0 -> 137320 bytes newFront/c#前端/SWS.WPF/bin/Debug/log4net.xml | 28302 +++++++ .../nl/Telerik.Windows.Controls.resources.dll | Bin 0 -> 511896 bytes .../tr/Telerik.Windows.Controls.resources.dll | Bin 0 -> 515480 bytes ...Framework,Version=v4.8.AssemblyAttributes.cs | 4 + ...signTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 5105 bytes .../SWS.WPF.csproj.AssemblyReference.cache | Bin 0 -> 38278 bytes .../SWS.WPF.csproj.CoreCompileInputs.cache | 1 + .../Debug/SWS.WPF.csproj.FileListAbsolute.txt | 100 + .../SWS.WPF/obj/Debug/SWS.WPF.csproj.Up2Date | 0 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.dll | Bin 0 -> 151040 bytes .../SWS.WPF/obj/Debug/SWS.WPF.g.resources | Bin 0 -> 80511 bytes newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.pdb | Bin 0 -> 241152 bytes .../obj/Debug/SWS.WPF_MarkupCompile.cache | 20 + .../obj/Debug/SWS.WPF_MarkupCompile.i.cache | 20 + .../obj/Debug/SWS.WPF_MarkupCompile.i.lref | 9 + .../obj/Debug/SWS.WPF_MarkupCompile.lref | 9 + .../SWS.WPF/obj/Debug/Style/CustomStyles.baml | Bin 0 -> 18092 bytes .../obj/Debug/Views/CustomDialogWindow.baml | Bin 0 -> 1163 bytes .../obj/Debug/Views/CustomDialogWindow.g.cs | 74 + .../obj/Debug/Views/CustomDialogWindow.g.i.cs | 74 + .../SWS.WPF/obj/Debug/Views/DialogInput.baml | Bin 0 -> 4089 bytes .../SWS.WPF/obj/Debug/Views/DialogInput.g.cs | 111 + .../SWS.WPF/obj/Debug/Views/DialogInput.g.i.cs | 111 + .../DialogSignalManagement.baml | Bin 0 -> 31022 bytes .../DialogSignalManagement.g.cs | 148 + .../DialogSignalManagement.g.i.cs | 148 + .../DialogSignalNotice.baml | Bin 0 -> 7762 bytes .../DialogSignalNotice.g.cs | 112 + .../DialogSignalNotice.g.i.cs | 112 + .../DialogSignalPropertyhisAndLogs.baml | Bin 0 -> 5805 bytes .../DialogSignalPropertyhisAndLogs.g.cs | 124 + .../DialogSignalPropertyhisAndLogs.g.i.cs | 124 + .../DialogSignalSelect.baml | Bin 0 -> 4271 bytes .../DialogSignalSelect.g.cs | 98 + .../DialogSignalSelect.g.i.cs | 98 + .../SWS.WPF/obj/Debug/Views/DialogTest.baml | Bin 0 -> 3028 bytes .../SWS.WPF/obj/Debug/Views/DialogTest.g.cs | 112 + .../SWS.WPF/obj/Debug/Views/DialogTest.g.i.cs | 112 + .../SWS.WPF/obj/Debug/Views/Project.baml | Bin 0 -> 4254 bytes .../SWS.WPF/obj/Debug/Views/Project.g.cs | 108 + .../SWS.WPF/obj/Debug/Views/Project.g.i.cs | 108 + newFront/c#前端/SWS.WPF/packages.config | 17 + newFront/c#前端/c++ cSharp 混用.txt | 1 + 145 files changed, 225742 insertions(+) create mode 100644 newFront/c#前端/SWS.CAD.sln create mode 100644 newFront/c#前端/SWS.WPF/Properties/AssemblyInfo.cs create mode 100644 newFront/c#前端/SWS.WPF/SWS.WPF.csproj create mode 100644 newFront/c#前端/SWS.WPF/SWS.WPF.csproj.user create mode 100644 newFront/c#前端/SWS.WPF/Style/CustomStyles.xaml create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogInputViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalManagementViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalNoticeViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalPropertyhisAndLogsViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalSelectViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/DialogTestViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/ProjectViewModel.cs create mode 100644 newFront/c#前端/SWS.WPF/ViewModels/myViewModelBase/DialogBase.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogInput.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogInput.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogTest.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/DialogTest.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/Views/Project.xaml create mode 100644 newFront/c#前端/SWS.WPF/Views/Project.xaml.cs create mode 100644 newFront/c#前端/SWS.WPF/app.config create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/DryIoc.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/DryIoc.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/EasyEncryption.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/INIFileParser.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/INIFileParser.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Xaml.Behaviors.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Xaml.Behaviors.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Microsoft.Xaml.Behaviors.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Newtonsoft.Json.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Newtonsoft.Json.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.DryIoc.Wpf.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Unity.Wpf.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Unity.Wpf.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Unity.Wpf.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Wpf.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Wpf.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.Wpf.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Prism.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Commons.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Commons.dll.config create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Commons.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.CustomControl.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.CustomControl.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Event.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Event.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Model.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Model.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Service.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Service.dll.config create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.Service.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.WPF.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.WPF.dll.config create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/SWS.WPF.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.Threading.Tasks.Extensions.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.Threading.Tasks.Extensions.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.ValueTuple.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/System.ValueTuple.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Data.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Data.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.FileDialogs.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.FileDialogs.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.GridView.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.GridView.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Input.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Input.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Navigation.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.Navigation.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Controls.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Data.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Telerik.Windows.Data.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Unity.Abstractions.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Unity.Abstractions.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Unity.Container.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/Unity.Container.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/de/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/es/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/fr/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/it/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/log4net.config create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/log4net.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/log4net.pdb create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/log4net.xml create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/nl/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/bin/Debug/tr/Telerik.Windows.Controls.resources.dll create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.csproj.AssemblyReference.cache create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.csproj.CoreCompileInputs.cache create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.csproj.FileListAbsolute.txt create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.csproj.Up2Date create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.dll create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.g.resources create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF.pdb create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF_MarkupCompile.cache create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF_MarkupCompile.i.cache create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF_MarkupCompile.i.lref create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/SWS.WPF_MarkupCompile.lref create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Style/CustomStyles.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/CustomDialogWindow.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/CustomDialogWindow.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/CustomDialogWindow.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogInput.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogInput.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogInput.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalManagement.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalManagement.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalManagement.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalNotice.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalNotice.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalNotice.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalSelect.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalSelect.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogSignalManagements/DialogSignalSelect.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogTest.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogTest.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/DialogTest.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/Project.baml create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/Project.g.cs create mode 100644 newFront/c#前端/SWS.WPF/obj/Debug/Views/Project.g.i.cs create mode 100644 newFront/c#前端/SWS.WPF/packages.config create mode 100644 newFront/c#前端/c++ cSharp 混用.txt diff --git a/newFront/c#前端/SWS.CAD.sln b/newFront/c#前端/SWS.CAD.sln new file mode 100644 index 00000000..c0471360 --- /dev/null +++ b/newFront/c#前端/SWS.CAD.sln @@ -0,0 +1,231 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34221.43 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.CAD", "SWS.CAD\SWS.CAD.csproj", "{6BD9B3FC-7D55-4762-AF68-A50183342537}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CAD.Extend", "CAD.Extend\CAD.Extend.csproj", "{8740B023-B585-4E69-8521-4F62FA754A1B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.Model", "SWS.Model\SWS.Model.csproj", "{1995385B-D1B0-4C55-835E-D3E769972A6A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.Service", "SWS.Service\SWS.Service.csproj", "{51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.CAD.Base", "SWS.CAD.Base\SWS.CAD.Base.csproj", "{D4A15774-1469-45A0-9EFF-771271764A00}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.Commons", "SWS.Commons\SWS.Commons.csproj", "{9AC724F6-883D-4357-9422-602748F25B69}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.Event", "SWS.Event\SWS.Event.csproj", "{2C965C14-FE5C-4DC6-91E4-CDD333E38436}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.CustomControl", "SWS.CustomControl\SWS.CustomControl.csproj", "{2DCF996E-063B-4B95-8530-28F6DF0DA58A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.Electrical", "SWS.Electrical\SWS.Electrical.csproj", "{A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "启动项目", "启动项目", "{00C64D96-E9F1-4525-A542-C7D23206B2E4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DI-Electrical", "DI-Electrical\DI-Electrical.csproj", "{924A2824-BE62-42A7-81A8-49BEFCB3801F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWS.WPF", "SWS.WPF\SWS.WPF.csproj", "{7AFF9117-78E7-4395-9F23-6DCFE09F9299}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|ARM64.Build.0 = Debug|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|x64.ActiveCfg = Debug|x64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|x64.Build.0 = Debug|x64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|x86.ActiveCfg = Debug|x86 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Debug|x86.Build.0 = Debug|x86 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|Any CPU.Build.0 = Release|Any CPU + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|ARM64.ActiveCfg = Release|ARM64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|ARM64.Build.0 = Release|ARM64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|x64.ActiveCfg = Release|x64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|x64.Build.0 = Release|x64 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|x86.ActiveCfg = Release|x86 + {6BD9B3FC-7D55-4762-AF68-A50183342537}.Release|x86.Build.0 = Release|x86 + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|ARM64.Build.0 = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|x64.ActiveCfg = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|x64.Build.0 = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|x86.ActiveCfg = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Debug|x86.Build.0 = Debug|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|Any CPU.Build.0 = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|ARM64.ActiveCfg = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|ARM64.Build.0 = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|x64.ActiveCfg = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|x64.Build.0 = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|x86.ActiveCfg = Release|Any CPU + {8740B023-B585-4E69-8521-4F62FA754A1B}.Release|x86.Build.0 = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|ARM64.Build.0 = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|x64.ActiveCfg = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|x64.Build.0 = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|x86.ActiveCfg = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Debug|x86.Build.0 = Debug|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|Any CPU.Build.0 = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|ARM64.ActiveCfg = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|ARM64.Build.0 = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|x64.ActiveCfg = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|x64.Build.0 = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|x86.ActiveCfg = Release|Any CPU + {1995385B-D1B0-4C55-835E-D3E769972A6A}.Release|x86.Build.0 = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|Any CPU.Build.0 = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|ARM64.Build.0 = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|x64.ActiveCfg = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|x64.Build.0 = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|x86.ActiveCfg = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Debug|x86.Build.0 = Debug|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|Any CPU.ActiveCfg = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|Any CPU.Build.0 = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|ARM64.ActiveCfg = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|ARM64.Build.0 = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|x64.ActiveCfg = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|x64.Build.0 = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|x86.ActiveCfg = Release|Any CPU + {51CB6F5B-16E9-4EE0-BAA4-144DD1EC8580}.Release|x86.Build.0 = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|ARM64.Build.0 = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|x64.ActiveCfg = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|x64.Build.0 = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|x86.ActiveCfg = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Debug|x86.Build.0 = Debug|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|Any CPU.Build.0 = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|ARM64.ActiveCfg = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|ARM64.Build.0 = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|x64.ActiveCfg = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|x64.Build.0 = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|x86.ActiveCfg = Release|Any CPU + {D4A15774-1469-45A0-9EFF-771271764A00}.Release|x86.Build.0 = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|ARM64.Build.0 = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|x64.ActiveCfg = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|x64.Build.0 = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|x86.ActiveCfg = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Debug|x86.Build.0 = Debug|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|Any CPU.Build.0 = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|ARM64.ActiveCfg = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|ARM64.Build.0 = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|x64.ActiveCfg = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|x64.Build.0 = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|x86.ActiveCfg = Release|Any CPU + {9AC724F6-883D-4357-9422-602748F25B69}.Release|x86.Build.0 = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|ARM64.Build.0 = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|x64.ActiveCfg = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|x64.Build.0 = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|x86.ActiveCfg = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Debug|x86.Build.0 = Debug|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|Any CPU.Build.0 = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|ARM64.ActiveCfg = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|ARM64.Build.0 = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|x64.ActiveCfg = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|x64.Build.0 = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|x86.ActiveCfg = Release|Any CPU + {2C965C14-FE5C-4DC6-91E4-CDD333E38436}.Release|x86.Build.0 = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|ARM64.Build.0 = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|x64.ActiveCfg = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|x64.Build.0 = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|x86.ActiveCfg = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Debug|x86.Build.0 = Debug|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|Any CPU.Build.0 = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|ARM64.ActiveCfg = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|ARM64.Build.0 = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|x64.ActiveCfg = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|x64.Build.0 = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|x86.ActiveCfg = Release|Any CPU + {2DCF996E-063B-4B95-8530-28F6DF0DA58A}.Release|x86.Build.0 = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|ARM64.Build.0 = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|x64.ActiveCfg = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|x64.Build.0 = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|x86.ActiveCfg = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Debug|x86.Build.0 = Debug|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|Any CPU.Build.0 = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|ARM64.ActiveCfg = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|ARM64.Build.0 = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|x64.ActiveCfg = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|x64.Build.0 = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|x86.ActiveCfg = Release|Any CPU + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0}.Release|x86.Build.0 = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|ARM64.Build.0 = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|x64.ActiveCfg = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|x64.Build.0 = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|x86.ActiveCfg = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Debug|x86.Build.0 = Debug|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|Any CPU.Build.0 = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|ARM64.ActiveCfg = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|ARM64.Build.0 = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|x64.ActiveCfg = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|x64.Build.0 = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|x86.ActiveCfg = Release|Any CPU + {924A2824-BE62-42A7-81A8-49BEFCB3801F}.Release|x86.Build.0 = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|ARM64.Build.0 = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|x64.ActiveCfg = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|x64.Build.0 = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|x86.ActiveCfg = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Debug|x86.Build.0 = Debug|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|Any CPU.Build.0 = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|ARM64.ActiveCfg = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|ARM64.Build.0 = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|x64.ActiveCfg = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|x64.Build.0 = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|x86.ActiveCfg = Release|Any CPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {6BD9B3FC-7D55-4762-AF68-A50183342537} = {00C64D96-E9F1-4525-A542-C7D23206B2E4} + {8740B023-B585-4E69-8521-4F62FA754A1B} = {00C64D96-E9F1-4525-A542-C7D23206B2E4} + {A399B5A6-0E27-417B-BF2A-6B1FF89EB6A0} = {00C64D96-E9F1-4525-A542-C7D23206B2E4} + {924A2824-BE62-42A7-81A8-49BEFCB3801F} = {00C64D96-E9F1-4525-A542-C7D23206B2E4} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {819AA00B-0A09-49DD-AC3A-2AC6041E0524} + EndGlobalSection +EndGlobal diff --git a/newFront/c#前端/SWS.WPF/Properties/AssemblyInfo.cs b/newFront/c#前端/SWS.WPF/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..6f107275 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("SWS.WPF")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SWS.WPF")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("7aff9117-78e7-4395-9f23-6dcfe09f9299")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/newFront/c#前端/SWS.WPF/SWS.WPF.csproj b/newFront/c#前端/SWS.WPF/SWS.WPF.csproj new file mode 100644 index 00000000..38ea30a5 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/SWS.WPF.csproj @@ -0,0 +1,229 @@ + + + + + Debug + AnyCPU + {7AFF9117-78E7-4395-9F23-6DCFE09F9299} + Library + Properties + SWS.WPF + SWS.WPF + v4.8 + 512 + true + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + x64 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\DryIoc.dll.4.7.7\lib\net45\DryIoc.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.1\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Xaml.Behaviors.Wpf.1.1.122\lib\net462\Microsoft.Xaml.Behaviors.dll + + + False + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + + + ..\packages\Prism.Core.8.1.97\lib\net47\Prism.dll + + + ..\packages\Prism.DryIoc.8.1.97\lib\net47\Prism.DryIoc.Wpf.dll + + + ..\packages\Prism.Unity.8.1.97\lib\net47\Prism.Unity.Wpf.dll + + + ..\packages\Prism.Wpf.8.1.97\lib\net47\Prism.Wpf.dll + + + + + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + + + + + + + + + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.Data.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.FileDialogs.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.GridView.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.Input.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Controls.Navigation.dll + + + False + ..\SWS.CAD\RefDLL\WPF45\Telerik.Windows.Data.dll + + + ..\packages\Unity.Abstractions.5.11.7\lib\net48\Unity.Abstractions.dll + + + ..\packages\Unity.Container.5.11.11\lib\net48\Unity.Container.dll + + + + + + + + + + + + + + + CustomDialogWindow.xaml + + + DialogInput.xaml + + + DialogSignalNotice.xaml + + + DialogSignalPropertyhisAndLogs.xaml + + + DialogSignalSelect.xaml + + + DialogSignalManagement.xaml + + + DialogTest.xaml + + + Project.xaml + + + + + + + + + {9ac724f6-883d-4357-9422-602748f25b69} + SWS.Commons + + + {2dcf996e-063b-4b95-8530-28f6df0da58a} + SWS.CustomControl + + + {2c965c14-fe5c-4dc6-91e4-cdd333e38436} + SWS.Event + + + {1995385b-d1b0-4c55-835e-d3e769972a6a} + SWS.Model + + + {51cb6f5b-16e9-4ee0-baa4-144dd1ec8580} + SWS.Service + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + XamlIntelliSenseFileGenerator + + + Designer + XamlIntelliSenseFileGenerator + + + Designer + XamlIntelliSenseFileGenerator + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + \ No newline at end of file diff --git a/newFront/c#前端/SWS.WPF/SWS.WPF.csproj.user b/newFront/c#前端/SWS.WPF/SWS.WPF.csproj.user new file mode 100644 index 00000000..0b246432 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/SWS.WPF.csproj.user @@ -0,0 +1,6 @@ + + + + ProjectFiles + + \ No newline at end of file diff --git a/newFront/c#前端/SWS.WPF/Style/CustomStyles.xaml b/newFront/c#前端/SWS.WPF/Style/CustomStyles.xaml new file mode 100644 index 00000000..675dba38 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Style/CustomStyles.xaml @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #C0C4CC + M998 352c0 -8 -4 -17 -10 -23l-50 -50c-6 -6 -14 -10 -23 -10c-8 0 -17 4 -23 10l-393 393l-393 -393c-6 -6 -15 -10 -23 -10s-17 4 -23 10l-50 50c-6 6 -10 15 -10 23s4 17 10 23l466 466c6 6 15 10 23 10s17 -4 23 -10l466 -466c6 -6 10 -15 10 -23z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogInputViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogInputViewModel.cs new file mode 100644 index 00000000..c823b3cc --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogInputViewModel.cs @@ -0,0 +1,74 @@ +using System; +using Prism.Services.Dialogs; +using SWS.Commons; +using Telerik.Windows.Controls; +using DialogParameters = Prism.Services.Dialogs.DialogParameters; + +namespace SWS.WPF.ViewModels +{ + public class DialogInputViewModel : DialogBase, IDialogAware + { + + public DialogInputViewModel() + { + + } + + public string Title => ""; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + + private string _TextInfo; + /// + /// 文本内容 + /// + public string TextInfo + { + get { return _TextInfo; } + set { _TextInfo = value; RaisePropertyChanged(nameof(TextInfo)); } + } + private string _TextRemark; + /// + /// 注释 + /// + public string TextRemark + { + get { return _TextRemark; } + set { _TextRemark = value; RaisePropertyChanged(nameof(TextRemark)); } + } + + + public void OnDialogOpened(IDialogParameters parameters) + { + title = parameters.GetValue(GlobalObject.dialogPar.title.ToString()); + TextRemark = parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + } + public override void ExecuteOKCommandAsync(object para) + { + IDialogParameters res = new DialogParameters(); + res.Add(GlobalObject.dialogPar.info.ToString(), $"{TextInfo}"); + DialogResult result = new DialogResult(ButtonResult.Yes,res); + RequestClose.Invoke(result); + } + public override void ExecuteCloseCommand(object parameter) + { + IDialogParameters par = new DialogParameters(); + DialogResult result = new DialogResult(ButtonResult.No); + RequestClose.Invoke(result); + this.Dispose(); + } + + } + + +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalManagementViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalManagementViewModel.cs new file mode 100644 index 00000000..b6dd6536 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalManagementViewModel.cs @@ -0,0 +1,1509 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Input; +using Prism.Services.Dialogs; +using Prism.Ioc; +using SWS.Commons; +using SWS.Model; +using SWS.Service; +using SWS.WPF.Views; +using Telerik.Windows.Controls; +using Telerik.Windows.Data; +using Unity; +using DialogParameters = Prism.Services.Dialogs.DialogParameters; +using DryIoc; +using ImTools; + +namespace SWS.WPF.ViewModels +{ + public class DialogSignalManagementViewModel : DialogBase, IDialogAware + { + #region 属性 + + private ObservableCollection _smInfos = new ObservableCollection(); + /// + /// 表格数据源 + /// + public ObservableCollection smInfos + { + get { return _smInfos; } + set + { + _smInfos = value; + dataView = new QueryableCollectionView(value); + RaisePropertyChanged(nameof(smInfos)); + } + } + private SignalManagementInfo _SelectedSmInfo; + /// + /// 选中行 + /// + public SignalManagementInfo SelectedSmInfo + { + get { return _SelectedSmInfo; } + set + { + + _SelectedSmInfo = value; + RaisePropertyChanged(nameof(SelectedSmInfo)); + } + } + + /// + /// 信号接口服务 + /// + WireGroupService _wireGroupService; + + private string _count; + /// + /// 表格数据数量 + /// + public string count + { + get { return _count; } + set { _count = value; RaisePropertyChanged(nameof(count)); } + } + + private string _pojectName; + /// + /// 表格名 + /// + public string pojectName + { + get { return _pojectName; } + set { _pojectName = value; RaisePropertyChanged(nameof(pojectName)); } + } + + public DialogSignalNotice SignalNoticeView { get; set; } + + private string _ButtonContent = "回收站"; + /// + /// 回收站按钮文本 + /// + public string ButtonContent + { + get { return _ButtonContent; } + set { _ButtonContent = value; RaisePropertyChanged(nameof(ButtonContent)); } + } + + private string _SearchText; + /// + /// 搜索框文本 + /// + public string SearchText + { + get { return _SearchText; } + set { _SearchText = value; RaisePropertyChanged(nameof(SearchText)); } + } + + private QueryableCollectionView _dataView; + + public QueryableCollectionView dataView + { + get { return _dataView; } + set { _dataView = value; RaisePropertyChanged(nameof(dataView)); } + } + + private System.Windows.Visibility _IsButtonVisibility = Visibility.Hidden; + /// + /// 控制关联母线按钮显示隐藏 + /// + public System.Windows.Visibility IsButtonVisibility + { + get { return _IsButtonVisibility; } + set + { + _IsButtonVisibility = value; + RaisePropertyChanged(nameof(IsButtonVisibility)); + } + } + private Visibility _IsChannelButtonVisibility = Visibility.Hidden; + /// + /// 控制关联通道按钮显示隐藏 + /// + public Visibility IsChannelButtonVisibility + { + get { return _IsChannelButtonVisibility; } + set + { + _IsChannelButtonVisibility = value; + RaisePropertyChanged(nameof(IsChannelButtonVisibility)); + } + } + + private ec_Wire_Group _IsAssociated; + /// + /// 通道是否关联信号 + /// + public ec_Wire_Group IsAssociated + { + get { return _IsAssociated; } + set + { + _IsAssociated = value; + RaisePropertyChanged(nameof(IsAssociated)); + } + } + + private string[] _buttonTexts = { "所有信号", "输出信号", "输入信号" }; + + private string _buttonText = "所有信号"; + /// + /// 切换信号按钮的文本 + /// + public string buttonText + { + get { return _buttonText; } + set + { + _buttonText = value; + RaisePropertyChanged(nameof(buttonText)); + } + } + + #region 下拉列表 + private List _GroupOthers; + /// + /// 绑定组别列表 + /// + public List GroupOthers + { + get { return _GroupOthers; } + set { _GroupOthers = value; RaisePropertyChanged(nameof(GroupOthers)); } + } + + private List _BelongingMajors = new List { "E", "M" }; + /// + /// 绑定归属专业 + /// + public List BelongingMajors + { + get { return _BelongingMajors; } + set { _BelongingMajors = value; RaisePropertyChanged(nameof(BelongingMajors)); } + } + + private List _InOrOuts = new List { "input", "output" }; + /// + /// 绑定IO类型 + /// + public List InOrOuts + { + get { return _InOrOuts; } + set { _InOrOuts = value; RaisePropertyChanged(nameof(InOrOuts)); } + } + + private List _IO_Types = new List { "ON/OFF", "NO", "NC", "4-20mA", "PT100", "Pulse", "N/A" }; + /// + /// 绑定信号类型 + /// + public List IO_Types + { + get { return _IO_Types; } + set { _IO_Types = value; RaisePropertyChanged(nameof(IO_Types)); } + } + + private List _AL_GRPs; + /// + /// 绑定AL_GRP + /// + public List AL_GRPs + { + get { return _AL_GRPs; } + set { _AL_GRPs = value; RaisePropertyChanged(nameof(AL_GRPs)); } + } + private List _BL_GRPs; + /// + /// 绑定BL_GRP + /// + public List BL_GRPs + { + get { return _BL_GRPs; } + set { _BL_GRPs = value; RaisePropertyChanged(nameof(BL_GRPs)); } + } + + private List _Suppliers; + /// + /// 绑定供应商 + /// + public List Suppliers + { + get { return _Suppliers; } + set { _Suppliers = value; RaisePropertyChanged(nameof(Suppliers)); } + } + + private List _WHCPUs; + /// + /// 绑定WHCPU + /// + public List WHCPUs + { + get { return _WHCPUs; } + set + { + _WHCPUs = value; + ECRCPUs = value; + ShipOfficeCPUs = value; + RaisePropertyChanged(nameof(WHCPUs)); + } + } + + private List _ECRCPUs; + /// + /// 绑定ECRCPU + /// + public List ECRCPUs + { + get { return _ECRCPUs; } + set { _ECRCPUs = value; RaisePropertyChanged(nameof(ECRCPUs)); } + } + + private List _ShipOfficeCPUs; + /// + /// 绑定ShipOfficeCPU + /// + public List ShipOfficeCPUs + { + get { return _ShipOfficeCPUs; } + set { _ShipOfficeCPUs = value; RaisePropertyChanged(nameof(ShipOfficeCPUs)); } + } + + private WireGroups _Ent; + /// + /// 新增或修改的列表 + /// + public WireGroups Ent + { + get { return _Ent; } + set { _Ent = value; } + } + + #endregion + + + #endregion + + private readonly IDialogService _dialogService; + public DialogSignalManagementViewModel() + { + title = "信号管理"; + _dialogService = GlobalObject._prismContainer.Resolve(); + _wireGroupService = GlobalObject.container.Resolve(); + var serv = GlobalObject.container.Resolve(); + GroupOthers = Task.Run(() => serv.GetDetails("be_Signal_Group")).Result; + Suppliers = Task.Run(() => serv.GetDetails("Maker")).Result; + WHCPUs = Task.Run(() => serv.GetDetails("Alarm")).Result; + + Ent = new WireGroups(); + Ent.Signals = new List(); + + var screen = System.Windows.Forms.Screen.PrimaryScreen; + var workArea = screen.WorkingArea; + + } + + public string Title => ""; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + + private List signals; + public async void OnDialogOpened(IDialogParameters parameters) + { + + try + { + IsBusy = true; BusyContent = "加载中..."; + signals = await _wireGroupService.GetSignals(GlobalObject.curProject.ProjectId, false); + IsBusy = false; + count = signals.Count.ToString(); + signals = signals.Where(s => s.Status != WireGroupStatusEnum.deleted).ToList(); + SetBaseData(signals); + dataView = new QueryableCollectionView(smInfos); + count = smInfos.Count.ToString() + "/" + count; + pojectName = GlobalObject.curProject.ProjectName + " | " + GlobalObject.curProject.ShipNameCN; + //关联母线按钮是否显示 + string FromWhichPage = parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); + if (FromWhichPage != null) + { + if (FromWhichPage.Equals("关联母线")) + { + IsButtonVisibility = Visibility.Visible; + } + if (FromWhichPage.Equals("关联通道")) + { + IsChannelButtonVisibility = Visibility.Visible; + } + } + + IsAssociated = parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + + } + catch (Exception) + { + + + } + + } + public override void ExecuteOKCommandAsync(object para) + { + DialogResult res = new DialogResult(ButtonResult.Yes); + RequestClose.Invoke(res); + } + public override void ExecuteCloseCommand(object parameter) + { + if (parameter as string == "ClickNo") + { + DialogResult res = new DialogResult(ButtonResult.No); + RequestClose.Invoke(res); + } + else + { + DialogResult res = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(res); + } + this.Dispose(); + } + + #region 页面按钮事件 + public ICommand StatusButtonCmd => new DelegateCommand(StatusButton_Click); + /// + /// 显示状态按钮 + /// + /// + public virtual async void StatusButton_Click(object parameter) + { + smInfos = new ObservableCollection(); + IsBusy = true; BusyContent = "查询中..."; + signals = await _wireGroupService.GetSignals(GlobalObject.curProject.ProjectId, false); + IsBusy = false; + count = signals.Count.ToString(); + signals = signals.Where(s => s.Status != WireGroupStatusEnum.deleted).ToList(); + if (!parameter.Equals("All")) + { + signals = signals.Where(s => s.Status.ToString().Equals(parameter)).ToList(); + } + SetBaseData(signals); + count = smInfos.Count.ToString() + "/" + count; + + } + + public ICommand ButtonCmd => new DelegateCommand(Button_Click); + /// + /// 页面右侧按钮 + /// + /// + public virtual async void Button_Click(object parameter) + { + if (!_smInfos.Any()) + { + return; + } + int index = _smInfos.IndexOf(_SelectedSmInfo);//当前选中项在源数据集合中的索引 + #region 新增信号按钮 + if (parameter.Equals("新增信号")) + { + + if (index != -1 || SelectedSmInfo.type != "虚拟点") + { + var newEntity = new SignalManagementInfo(); + newEntity.BelongingMajor = "M"; + newEntity.type = "信号"; + newEntity.Status = "New"; + newEntity.GroupOthers = GroupOthers; + newEntity.Suppliers = Suppliers; + newEntity.IsModified = true; + //订阅事件以更新数据。 + newEntity.GroupOtherChanged += (sender, e) => UpdateParametersValue((SignalManagementInfo)sender); + // 添加新行到选中行下方 + _smInfos.Insert(index == -1 ? 0 : index + 1, newEntity); + //重新排序 + int i = 0; + foreach (var item in _smInfos) + { + i++; + item.serialNumber = i.ToString(); + foreach (var item2 in item.ChildSignals) + { + i++; + item2.serialNumber = i.ToString(); + } + } + SelectedSmInfo = newEntity; + } + else + { + // 显示消息框 + MessageBox.Show("请选择信号节点!", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + + } + #endregion + + #region 新增虚拟点 + if (parameter.Equals("新增虚拟点")) + { + if (index == -1 || SelectedSmInfo.type.Equals("虚拟点")) + { + MessageBox.Show("请选择信号节点!", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + else + { + var newEntity = new SignalManagementInfo(); + newEntity.BelongingMajor = SelectedSmInfo.BelongingMajor; + newEntity.type = "虚拟点"; + newEntity.Status = "New"; + newEntity.ParentID = SelectedSmInfo.Wire_Group_ID; + newEntity.GroupOthers = GroupOthers; + newEntity.GroupOther = SelectedSmInfo.GroupOther; + newEntity.Suppliers = Suppliers; + newEntity.IsModified = true; + //订阅事件以更新数据。 + newEntity.ParametersChanged += (sender, e) => UpdateParametersValue((SignalManagementInfo)sender); + // 添加新行到选中行下方 + //smInfos.Insert(index + 1, newEntity); + SelectedSmInfo.ChildSignals.Add(newEntity); + //重新排序 + int i = 0; + foreach (var item in smInfos) + { + i++; + item.serialNumber = i.ToString(); + foreach (var item2 in item.ChildSignals) + { + i++; + item2.serialNumber = i.ToString(); + } + } + SelectedSmInfo = newEntity; + } + } + #endregion + + #region 信号转虚拟点 + if (parameter.Equals("信号转虚拟点")) + { + if (SelectedSmInfo != null) + { + if (SelectedSmInfo.type.Equals("信号")) + { + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.title.ToString(), "信号选择框"); + para.Add(GlobalObject.dialogPar.info.ToString(), "请选择要将这个虚拟点放在哪个信号下"); + para.Add(GlobalObject.dialogPar.para1.ToString(), smInfos); + _dialogService.ShowDialog(nameof(DialogSignalSelect), para, (RES) => + { + + if (RES.Result == ButtonResult.Yes) + { + var signal = RES.Parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); + SelectedSmInfo.ParentID = signal.SignalId; + SelectedSmInfo.type = "虚拟点"; + SelectedSmInfo.Group_Name = SelectedSmInfo.Group_Name + (string.IsNullOrEmpty(SelectedSmInfo.Code) ? "" : "_" + SelectedSmInfo.Code); + SelectedSmInfo.IsModified = true; + var tempSmInfo = SelectedSmInfo; + smInfos.Remove(SelectedSmInfo); + + //var signalindex = smInfos.IndexOf(smInfos.FirstOrDefault(s => s.Wire_Group_ID == signal.SignalId)) + 1; + + //smInfos.Insert(signalindex, tempSmInfo); + + smInfos.FirstOrDefault(s => s.Wire_Group_ID == signal.SignalId).ChildSignals.Add(tempSmInfo); + + var i = 0; + foreach (var item in smInfos) + { + i++; + item.serialNumber = i.ToString(); + foreach (var item2 in item.ChildSignals) + { + i++; + item2.serialNumber = i.ToString(); + } + } + + SelectedSmInfo = tempSmInfo; + } + else if (RES.Result == ButtonResult.No) + { } + }); + + + } + else if (SelectedSmInfo.type.Equals("虚拟点")) + { + var parentSmif = smInfos.FirstOrDefault(s => s.Wire_Group_ID == SelectedSmInfo.ParentID); + SelectedSmInfo.type = "信号"; + SelectedSmInfo.ParentID = ""; + //SelectedSmInfo.Code = ""; + SelectedSmInfo.Group_Name = SelectedSmInfo.Group_Name.Split('_')[0]; + + SelectedSmInfo.IsModified = true; + + var tempSmInfo = SelectedSmInfo; + + parentSmif.ChildSignals.Remove(SelectedSmInfo); + var signalindex = smInfos.IndexOf(parentSmif); + //signalindex = smInfos.IndexOf(smInfos.Skip(signalindex).Where(s => s.type.Equals("信号")).First()); + smInfos.Insert(signalindex + 1, tempSmInfo); + + var i = 0; + foreach (var item in smInfos) + { + i++; + item.serialNumber = i.ToString(); + foreach (var item2 in item.ChildSignals) + { + i++; + item2.serialNumber = i.ToString(); + } + } + + SelectedSmInfo = tempSmInfo; + } + } + } + #endregion + + #region 删除 + if (parameter.Equals("删除")) + { + if (SelectedSmInfo != null) + { + //RadWindow.Alert("Start time: " + this.StartTime + "\nEnd time: " + this.EndTime); + // 显示消息框 + MessageBoxResult result = MessageBox.Show("确定准备删除选择的一行数据", "KunHengCAD", MessageBoxButton.OKCancel, MessageBoxImage.Question); + if (result == MessageBoxResult.OK) + { + + //id为空表示新增的未保存所以直接删除,不为空表示数据库已存在只修改状态 + if (string.IsNullOrEmpty(SelectedSmInfo.Wire_Group_ID)) + { + smInfos.Remove(SelectedSmInfo); + } + else + { + + IDialogParameters x = new DialogParameters(); + x.Add(GlobalObject.dialogPar.title.ToString(), "提示"); + x.Add(GlobalObject.dialogPar.info.ToString(), "请输入删除的原因:"); + _dialogService.ShowDialog(nameof(DialogInput), x, (RES) => + { + if (RES.Result == ButtonResult.Yes) + { + var Reason = RES.Parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + if (string.IsNullOrEmpty(Reason)) + { + MessageBox.Show("您输入的信息为空!"); + } + else + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = SWS.Model.Action.准备删除, + reason = Reason + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "ToDelete"; + SelectedSmInfo.IsModified = true; + if (SelectedSmInfo.type.Equals("虚拟点")) + { + SelectedSmInfo.GroupOther = ""; + } + } + } + else if (RES.Result == ButtonResult.No) + { } + }); + } + + } + + } + else + { + // 显示消息框 + MessageBox.Show("请选择要准备删除的信号!", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + } + } + #endregion + + #region 撤销删除 + if (parameter.Equals("撤销删除")) + { + if (SelectedSmInfo != null && SelectedSmInfo.Status == "ToDelete") + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = Model.Action.撤销删除, + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "New"; + SelectedSmInfo.IsModified = true; + } + else + { + MessageBox.Show("只有待删除的信号才能撤销删除"); + } + + } + #endregion + + #region 彻底删除 + if (parameter.Equals("彻底删除")) + { + if (SelectedSmInfo != null) + { + List Signals = new List() + { + new ec_Wire_Group() + { + Group_Name = SelectedSmInfo.Group_Name, + Wire_Group_ID = SelectedSmInfo.Wire_Group_ID + } + }; + WireGroups ent = new WireGroups(); + ent.Signals = Signals; + string message = await _wireGroupService.CanSaveSignals(ent, Model.Action.删除); + if (message != "OK") + { + // 显示消息框 + MessageBox.Show(message, "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + else + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = Model.Action.删除, + reason = "" + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "deleted"; + SelectedSmInfo.DeleteFlg = true; + SelectedSmInfo.IsModified = true; + SignalManagementInfo tempsmif = new SignalManagementInfo(); + tempsmif = SelectedSmInfo; + if (SelectedSmInfo.type.Equals("信号")) + { + smInfos.Remove(SelectedSmInfo); + smInfos.Add(tempsmif); + } + else + { + var parentSmif = smInfos.FirstOrDefault(s => s.Wire_Group_ID == SelectedSmInfo.ParentID); + parentSmif.ChildSignals.Remove(SelectedSmInfo); + smInfos.Add(tempsmif); + } + + } + } + + } + #endregion + + #region 还原信号 + if (parameter.Equals("还原信号")) + { + if (SelectedSmInfo != null) + { + IDialogParameters x = new DialogParameters(); + x.Add(GlobalObject.dialogPar.title.ToString(), "提示"); + x.Add(GlobalObject.dialogPar.info.ToString(), "请输入还原信号的原因:"); + _dialogService.ShowDialog(nameof(DialogInput), x, (RES) => + { + if (RES.Result == ButtonResult.Yes) + { + var Reason = RES.Parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + if (string.IsNullOrEmpty(Reason)) + { + MessageBox.Show("您输入的信息为空!"); + } + else + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = Model.Action.回收站恢复, + reason = Reason + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "New"; + SelectedSmInfo.DeleteFlg = false; + SelectedSmInfo.IsModified = true; + SignalManagementInfo tempsmif = new SignalManagementInfo(); + tempsmif = SelectedSmInfo; + if (SelectedSmInfo.Equals("信号")) + { + smInfos.Remove(SelectedSmInfo); + smInfos.Add(tempsmif); + } + else + { + var parentSmif = smInfos.FirstOrDefault(s => s.Wire_Group_ID == SelectedSmInfo.ParentID); + parentSmif.ChildSignals.Remove(SelectedSmInfo); + smInfos.Add(tempsmif); + } + + } + } + else if (RES.Result == ButtonResult.No) + { } + }); + + + } + } + + #endregion + + #region 审核 + if (parameter.Equals("审核")) + { + if (SelectedSmInfo != null) + { + + List Signals = new List() + { + new ec_Wire_Group() + { + Group_Name = SelectedSmInfo.Group_Name, + Wire_Group_ID = SelectedSmInfo.Wire_Group_ID + } + }; + WireGroups ent = new WireGroups(); + ent.Signals = Signals; + string message = await _wireGroupService.CanSaveSignals(ent, Model.Action.审核); + if (message != "OK") + { + // 显示消息框 + MessageBox.Show(message, "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + else + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = Model.Action.审核, + reason = "" + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "Confirmed"; + SelectedSmInfo.IsModified = true; + } + } + } + #endregion + + #region 重新打开 + if (parameter.Equals("重新打开")) + { + if (SelectedSmInfo != null) + { + var messageBoxResult = MessageBox.Show("确定重新打开选中的一行数据?", "KunHengCAD", MessageBoxButton.OKCancel, MessageBoxImage.Question); + if (messageBoxResult == MessageBoxResult.OK) + { + if (SelectedSmInfo.Status == "Confirmed") + { + IDialogParameters x = new DialogParameters(); + x.Add(GlobalObject.dialogPar.title.ToString(), "提示"); + x.Add(GlobalObject.dialogPar.info.ToString(), "请输入重新打开改信号的原因:"); + _dialogService.ShowDialog(nameof(DialogInput), x, (RES) => + { + if (RES.Result == ButtonResult.Yes) + { + var Reason = RES.Parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + if (string.IsNullOrEmpty(Reason)) + { + MessageBox.Show("输入的信息不能为空!"); + } + else + { + List histories = new List() + { + new ActionHistory() + { + ActionTime= DateTime.Now, + ActionType = Model.Action.重新打开, + reason = Reason + + } + }; + SelectedSmInfo.ActionHistorys = histories; + SelectedSmInfo.Status = "Reopen"; + SelectedSmInfo.IsModified = true; + } + } + else if (RES.Result == ButtonResult.No) + { } + }); + } + else + { + // 显示消息框 + MessageBox.Show("只有已审核的信号才能重新打开", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + } + else + { + return; + } + + } + } + #endregion + + #region 关联通道 + if (parameter.Equals("关联通道")) + { + if (SelectedSmInfo == null) + { + System.Windows.MessageBox.Show("您未选择关联信号", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); return; + } + else + { + if (!SelectedSmInfo.Status.Equals("New") || SelectedSmInfo.Status.Equals("Reopen")) + { + System.Windows.MessageBox.Show("只有新增或重新打开的信号才能关联,请重新选择!", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); return; + } + else + { + if (IsAssociated != null) + { + MessageBoxResult result = System.Windows.MessageBox.Show("已关联的信号:" + IsAssociated.Group_Name + "是否确认被覆盖?", "KunHengCAD", MessageBoxButton.OKCancel, MessageBoxImage.Warning); + if (result == MessageBoxResult.OK) + { + List WireGroups = new List(); + WireGroups.Add(SelectedSmInfo.to_ec_Wire_Group(signals)); + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.para1.ToString(), WireGroups); + DialogResult res = new DialogResult(ButtonResult.Yes); + RequestClose.Invoke(res); + this.Dispose(); + } + else + { + return; + } + } + + + } + } + } + #endregion + + #region 关联母线 + if (parameter.Equals("关联母线")) + { + if (SelectedSmInfo == null) + { + System.Windows.MessageBox.Show("您未选择关联信号", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); return; + } + else + { + if (!SelectedSmInfo.CommunicationPoint) + { + System.Windows.MessageBox.Show("只有通讯信号才能关联,请重新选择!", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); return; + } + else + { + List WireGroupIds = new List(); + WireGroupIds.Add(SelectedSmInfo); + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.para1.ToString(), WireGroupIds); + DialogResult res = new DialogResult(ButtonResult.Yes); + RequestClose.Invoke(res); + this.Dispose(); + } + } + } + #endregion + + #region 关联信号 + if (parameter.Equals("关联信号")) + { + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.title.ToString(), "信号选择框"); + para.Add(GlobalObject.dialogPar.info.ToString(), "请选择要关联的信号:"); + para.Add(GlobalObject.dialogPar.para1.ToString(), smInfos); + _dialogService.ShowDialog(nameof(DialogSignalSelect), para, (RES) => + { + + if (RES.Result == ButtonResult.Yes) + { + var signal = RES.Parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); + var LinkedIDs = SelectedSmInfo.LinkedID.Split(',').ToList(); + LinkedIDs.RemoveAll(item=>string.IsNullOrEmpty(item)); + if (!LinkedIDs.Contains(signal.SignalId)) + { + LinkedIDs.Add(signal.SignalId); + } + SelectedSmInfo.LinkedID = string.Join(",", LinkedIDs); + SelectedSmInfo.IsModified = true; + + } + else if (RES.Result == ButtonResult.No) + { } + }); + return; + } + #endregion + + #region 查关联信号 + if (parameter.Equals("查关联信号")) + { + //传入窗口的参数 + ObservableCollection sminfols = new ObservableCollection(); + var LinkedIDs = SelectedSmInfo.LinkedID.Split(',').ToList(); + foreach (var smInfoitem in smInfos) + { + if (LinkedIDs.Contains(smInfoitem.Wire_Group_ID)) + { + sminfols.Add(smInfoitem); + } + foreach (var item in smInfoitem.ChildSignals) + { + if (LinkedIDs.Contains(item.Wire_Group_ID)) + { + sminfols.Add(item); + } + } + } + //打开窗口 + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.title.ToString(), "信号关联列表"); + para.Add(GlobalObject.dialogPar.info.ToString(), "下面是信号关联列表"); + para.Add(GlobalObject.dialogPar.para1.ToString(), sminfols); + _dialogService.ShowDialog(nameof(DialogSignalSelect), para, (RES) => + { + + if (RES.Result == ButtonResult.Yes) + { + + } + else if (RES.Result == ButtonResult.No) + { } + }); + return; + } + #endregion + + #region 切换信号 + if (parameter.Equals("切换信号")) + { + int buttonTextindex = _buttonTexts.IndexOf(buttonText); + buttonText = _buttonTexts[(buttonTextindex + 1) % _buttonTexts.Length]; + + var InOrOut = ""; + if (buttonText.Equals("输出信号")) + { + InOrOut = "output"; + } + if (buttonText.Equals("输入信号")) + { + InOrOut = "input"; + } + + + smInfos = new ObservableCollection(); + IsBusy = true; BusyContent = "查询中..."; + signals = await _wireGroupService.GetSignals(GlobalObject.curProject.ProjectId, false); + IsBusy = false; + count = signals.Count.ToString(); + signals = signals.Where(s => s.Status != WireGroupStatusEnum.deleted).ToList(); + if (!buttonText.Equals("所有信号")) + { + signals = signals.Where(s => s.InOrOut.ToString().Equals(InOrOut)).ToList(); + } + SetBaseData(signals); + count = smInfos.Count.ToString() + "/" + count; + + } + #endregion + } + + + + public ICommand HeadButtonCmd => new DelegateCommand(HeadButton_Click); + /// + /// 页面右侧按钮 + /// + /// + public virtual async void HeadButton_Click(object parameter) + { + #region 保存按钮 + if (parameter.Equals("保存")) + { + //新增或者修改的集合 + List updatals = new List(); + foreach (var item in smInfos) + { + if (item.IsModified) + { + updatals.Add(item); + } + foreach (var item2 in item.ChildSignals) + { + if (item2.IsModified) + { + updatals.Add(item2); + } + } + } + //updatals = smInfos.Where(s => s.IsModified == true).ToList(); + foreach (var item in updatals) + { + //保存的为信号时才判断组别 + if (item.type == "信号") + { + if (string.IsNullOrEmpty(item.GroupOther)) + { + // 显示消息框 + MessageBox.Show("组别不能为空", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + } + else if (item.type == "虚拟点") + { + if (string.IsNullOrEmpty(item.Code)) + { + MessageBox.Show("Code列不能为空", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + } + + Ent.Signals.Add(item.to_ec_Wire_Group(signals)); + } + //保存 + var data = await _wireGroupService.SaveSignals(Ent); + if (data != null && data.Count != 0) + { + + //foreach (var item in data) + //{ + + //} + smInfos = new ObservableCollection(); + IsBusy = true; BusyContent = "保存中..."; + signals = await _wireGroupService.GetSignals(GlobalObject.curProject.ProjectId, false); + IsBusy = false; + count = signals.Count.ToString(); + if (ButtonContent.Equals("回收站")) + { + signals = signals.Where(s => s.Status != WireGroupStatusEnum.deleted).ToList(); + } + else + { + signals = signals.Where(s => s.Status == WireGroupStatusEnum.deleted).ToList(); + } + + SetBaseData(signals); + count = smInfos.Count.ToString() + "/" + count; + Ent.Signals.Clear(); + // 显示消息框 + MessageBox.Show("保存成功", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Information); + } + else + { + Ent.Signals.Clear(); + MessageBox.Show("保存失败", "KunHengCAD", MessageBoxButton.OK, MessageBoxImage.Error); + } + return; + } + #endregion + + #region 退出按钮 + if (parameter.Equals("退出")) + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + this.Dispose(); + } + #endregion + + #region 通知消息 + if (parameter.Equals("通知信息")) + { + + //RadWindow window = new RadWindow(); + + //window.Content = new DialogSignalNotice(); + //window.WindowStartupLocation = WindowStartupLocation.CenterOwner; + //window.Header = "通知消息"; + ////window.CanClose = false; + //window.Show(); + + //打开窗体 + IDialogParameters para = new DialogParameters(); + _dialogService.ShowDialog(nameof(DialogSignalNotice), para, (RES) => + { + if (RES.Result == ButtonResult.Yes) + { + + } + else if (RES.Result == ButtonResult.No) + { } + }); + + } + #endregion + + #region 历史记录 + if (parameter.Equals("历史记录")) + { + if (SelectedSmInfo != null) + { + //打开窗体 + IDialogParameters para = new DialogParameters(); + para.Add(GlobalObject.dialogPar.para1.ToString(), SelectedSmInfo); + _dialogService.ShowDialog(nameof(DialogSignalPropertyhisAndLogs), para, (RES) => + { + + }); + } + + } + #endregion + + #region 回收站 + if (parameter.Equals("回收站")) + { + switch (ButtonContent) + { + case "回收站": + ButtonContent = "显示全部"; + break; + case "显示全部": + ButtonContent = "回收站"; + break; + } + + + smInfos = new ObservableCollection(); + IsBusy = true; BusyContent = "查询中..."; + signals = await _wireGroupService.GetSignals(GlobalObject.curProject.ProjectId, false); + IsBusy = false; + count = signals.Count.ToString(); + if (ButtonContent.Equals("回收站")) + { + signals = signals.Where(s => s.Status != WireGroupStatusEnum.deleted).ToList(); + } + else + { + signals = signals.Where(s => s.Status == WireGroupStatusEnum.deleted).ToList(); + + } + SetBaseData(signals); + count = smInfos.Count.ToString() + "/" + count; + } + #endregion + + #region 搜索 + if (parameter.Equals("搜索框")) + { + PerformSearch(); + } + #endregion + + } + + public ICommand EditEndCmd => new DelegateCommand(EditEnd); + /// + /// 编辑结束事件 + /// + /// + public virtual void EditEnd(object parameter) + { + //做个标记表示该项修改过 + SelectedSmInfo.IsModified = true; + + } + + + + #endregion + + #region 方法 + /// + /// 设置数据 + /// + public void SetBaseData(List signals) + { + + int index = 0; + foreach (var signal in signals) + { + + //if (signal.ParentID.Equals("")) + if (string.IsNullOrEmpty(signal.ParentID)) + { + SignalManagementInfo info = new SignalManagementInfo(); + + index++; + info.Wire_Group_ID = signal.Wire_Group_ID; + info.ParentID = signal.ParentID; + info.LinkedID = signal.LinkedID; + info.Status = signal.Status.ToString(); + info.serialNumber = index.ToString(); + info.type = string.IsNullOrEmpty(signal.ParentID) ? "信号" : "虚拟点"; + info.Group_Name = signal.Group_Name; + info.Group_Desc_EN = signal.Group_Desc_EN; + info.Group_Desc = signal.Group_Desc; + info.BelongingMajor = signal.ElecOnly ? "E" : "M"; + + info.GroupOthers = GroupOthers; + info.GroupOther = GroupOthers.Where(g => g.DataItemCode == signal.Signal_Group).Select(g => g.DataItemName).FirstOrDefault(); + + info.Signal_SeqNo = signal.Signal_SeqNo; + info.Code = signal.Code; + info.InOrOut = signal.InOrOut; + info.IO_Type = signal.IO_Type; + info.Range_Min = signal.Range_Min; + info.Range_Max = signal.Range_Max; + info.Unit = signal.Unit; + info.Alarm_LL = signal.Alarm_LL; + info.Alarm_L = signal.Alarm_L; + info.Alarm_H = signal.Alarm_H; + info.Alarm_HH = signal.Alarm_HH; + info.SENSOR_CODE = signal.SENSOR_CODE; + info.CommunicationPoint = signal.CommunicationPoint; + info.SeriousType = signal.SeriousType; + info.AL_GRP = signal.AL_GRP; + info.BL_GRP = signal.BL_GRP; + info.Time_Delay = signal.Time_Delay; + info.Suppliers = Suppliers; + info.Supplier = Suppliers.Where(g => g.DataItemCode == signal.Supplier).Select(g => g.DataItemName).FirstOrDefault(); + info.EquipName = signal.EquipName; + info.VDR_Record = signal.VDR_Record; + info.WHConsole = signal.WHConsole; + //info.WHCPU = signal.WHCPU; + foreach (var item in signal.WHCPU.Split('|')) + { + info.WHCPUs.Add(WHCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info.ECRConsole = signal.ECRConsole; + //info.ECRCPU = signal.ECRCPU; + foreach (var item in signal.ECRCPU.Split('|')) + { + info.ECRCPUs.Add(ECRCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info.ShipOfficeConsole = signal.ShipOfficeConsole; + //info.ShipOfficeCPU = signal.ShipOfficeCPU; + foreach (var item in signal.ShipOfficeCPU.Split('|')) + { + info.ShipOfficeCPUs.Add(ShipOfficeCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info.SLD = signal.SLD; + info.SHD = signal.SHD; + info.SafetyDelay = signal.SafetyDelay; + info.AutoCtrl = signal.AutoCtrl; + info.AssociatedCableInfo = (signal.CableName == "" || signal.CableName == null ? "" : "电缆位号:" + signal.CableName) + (signal.CableSetName == null ? "" : " 电缆对:" + signal.CableSetName); + info.AssociatedChannelInfo = (signal.PanelName == null ? "" : "采集箱:" + signal.PanelName) + (signal.StripName == null ? "" : "端子排:" + signal.StripName) + (signal.ChannelName == null ? "" : " 通道:" + signal.ChannelName); + info.Remarks = signal.Remarks; + info.DeleteFlg = signal.DeleteFlg; + //订阅事件以更新数据。 + info.ParametersChanged += (sender, e) => UpdateParametersValue((SignalManagementInfo)sender); + smInfos.Add(info); + foreach (var signal2 in signals) + { + if (signal.Wire_Group_ID.Equals(signal2.ParentID)) + { + SignalManagementInfo info2 = new SignalManagementInfo(); + + index++; + info2.Wire_Group_ID = signal2.Wire_Group_ID; + info2.ParentID = signal2.ParentID; + info2.LinkedID = signal2.LinkedID; + info2.Status = signal2.Status.ToString(); + info2.serialNumber = index.ToString(); + info2.type = signal2.ParentID.Equals("") ? "信号" : "虚拟点"; + info2.Group_Name = signal2.Group_Name; + info2.Group_Desc_EN = signal2.Group_Desc_EN; + info2.Group_Desc = signal2.Group_Desc; + info2.BelongingMajor = signal.ElecOnly ? "E" : "M"; + + info2.GroupOthers = GroupOthers; + info2.GroupOther = GroupOthers.Where(g => g.DataItemCode == signal2.Signal_Group).Select(g => g.DataItemName).FirstOrDefault(); + + info2.Signal_SeqNo = signal2.Signal_SeqNo; + info2.Code = signal2.Code; + info2.InOrOut = signal2.InOrOut; + info2.IO_Type = signal2.IO_Type; + info2.Range_Min = signal2.Range_Min; + info2.Range_Max = signal2.Range_Max; + info2.Unit = signal2.Unit; + info2.Alarm_LL = signal2.Alarm_LL; + info2.Alarm_L = signal2.Alarm_L; + info2.Alarm_H = signal2.Alarm_H; + info2.Alarm_HH = signal2.Alarm_HH; + info2.SENSOR_CODE = signal2.SENSOR_CODE; + info2.CommunicationPoint = signal2.CommunicationPoint; + info2.SeriousType = signal2.SeriousType; + info2.AL_GRP = signal2.AL_GRP; + info2.BL_GRP = signal2.BL_GRP; + info2.Time_Delay = signal2.Time_Delay; + info2.Suppliers = Suppliers; + info2.Supplier = Suppliers.Where(g => g.DataItemCode == signal2.Supplier).Select(g => g.DataItemName).FirstOrDefault(); + info2.EquipName = signal2.EquipName; + info2.VDR_Record = signal2.VDR_Record; + info2.WHConsole = signal2.WHConsole; + //info2.WHCPU = signal2.WHCPU; + foreach (var item in signal2.WHCPU.Split('|')) + { + info2.WHCPUs.Add(WHCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info2.ECRConsole = signal2.ECRConsole; + //info2.ECRCPU = signal2.ECRCPU; + foreach (var item in signal2.ECRCPU.Split('|')) + { + info2.ECRCPUs.Add(ECRCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info2.ShipOfficeConsole = signal2.ShipOfficeConsole; + //info2.ShipOfficeCPU = signal2.ShipOfficeCPU; + foreach (var item in signal2.ShipOfficeCPU.Split('|')) + { + info2.ShipOfficeCPUs.Add(ShipOfficeCPUs.Where(e => e.DataItemCode.Equals(item.Trim())).FirstOrDefault()); + } + info2.SLD = signal2.SLD; + info2.SHD = signal2.SHD; + info2.SafetyDelay = signal2.SafetyDelay; + info2.AutoCtrl = signal2.AutoCtrl; + info2.AssociatedCableInfo = (signal2.CableName == "" || signal2.CableName == null ? "" : "电缆位号:" + signal2.CableName) + (signal2.CableSetName == null ? "" : " 电缆对:" + signal2.CableSetName); + info2.AssociatedChannelInfo = (signal2.PanelName == null ? "" : "采集箱:" + signal2.PanelName) + (signal2.StripName == null ? "" : "端子排:" + signal2.StripName) + (signal2.ChannelName == null ? "" : " 通道:" + signal2.ChannelName); + info2.Remarks = signal2.Remarks; + info2.DeleteFlg = signal2.DeleteFlg; + //订阅事件以更新数据。 + info2.ParametersChanged += (sender, e) => UpdateParametersValue((SignalManagementInfo)sender); + //smInfos.Add(info2); + info.ChildSignals.Add(info2); + } + } + } + } + } + + + /// + /// 选择组别改变时修改Group_Name和Code() + /// + /// + private async void UpdateParametersValue(SignalManagementInfo item) + { + if (item.type == "信号") + { + //获取当前组别的可用编码 + string group = GroupOthers.Where(e => e.DataItemName.Equals(item.GroupOther)).Select(e => e.DataItemCode).FirstOrDefault(); + if (string.IsNullOrEmpty(item.Signal_SeqNo))//编码列为空时才通过接口获取可用编码 + { + var seq = await _wireGroupService.GetNextAvailableSeq(group); + int count = smInfos.Where(s => s.IsModified == true && string.IsNullOrEmpty(s.Wire_Group_ID)).ToList().Count; + if (count > 1) + { + seq = (double.Parse(seq) + count - 1).ToString(); + } + item.Signal_SeqNo = seq.ToString(); + } + item.Group_Name = group + item.Signal_SeqNo; + } + else if (item.type == "虚拟点") + { + if (string.IsNullOrEmpty(item.Group_Name)) + { + string Group_Name = smInfos.Where(e => e.Wire_Group_ID == item.ParentID).Select(e => e.Group_Name).FirstOrDefault(); + item.Group_Name = Group_Name + "_" + item.Code; + } + else + { + item.Group_Name = item.Group_Name.Split('_')[0] + "_" + item.Code; + } + + } + + + + } + /// + /// 搜索方法 + /// + private void PerformSearch() + { + dataView.FilterDescriptors.Clear(); + + if (!string.IsNullOrEmpty(SearchText)) + { + var compositeFilter = new CompositeFilterDescriptor + { + LogicalOperator = FilterCompositionLogicalOperator.Or + }; + + foreach (var prop in typeof(SignalManagementInfo).GetProperties()) + { + if (prop.PropertyType == typeof(string)) + { + compositeFilter.FilterDescriptors.Add(new FilterDescriptor + { + Member = prop.Name, + Operator = FilterOperator.Contains, + Value = SearchText.ToLower(), + IsCaseSensitive = false + }); + } + } + + dataView.FilterDescriptors.Add(compositeFilter); + } + + + } + + #endregion + + } + + + + + +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalNoticeViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalNoticeViewModel.cs new file mode 100644 index 00000000..18869fb0 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalNoticeViewModel.cs @@ -0,0 +1,418 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Windows.Input; +using Prism.Services.Dialogs; +using Prism.Ioc; +using SWS.Commons; +using SWS.Model; +using SWS.Service; +using SWS.WPF.Views; +using Telerik.Windows.Controls; +using Unity; +using DialogParameters = Prism.Services.Dialogs.DialogParameters; + +namespace SWS.WPF.ViewModels +{ + public class DialogSignalNoticeViewModel : DialogBase, IDialogAware + { + #region 属性 + private ObservableCollection _MySignalNotices = new ObservableCollection(); + /// + /// 表格数据源 + /// + public ObservableCollection MySignalNotices + { + get { return _MySignalNotices; } + set { _MySignalNotices = value; RaisePropertyChanged(nameof(MySignalNotices)); } + } + private SignalNotice _SelectedSignalNotice; + /// + /// 选中行 + /// + public SignalNotice SelectedSignalNotice + { + get { return _SelectedSignalNotice; } + set { _SelectedSignalNotice = value; RaisePropertyChanged(nameof(SelectedSignalNotice)); } + } + + /// + /// 信号接口服务 + /// + WireGroupService _wireGroupService; + + public DialogSignalNotice SignalNoticeView { get; set; } + + + + + + #endregion + + + public DialogSignalNoticeViewModel() + { + title = "通知信息"; + _wireGroupService = GlobalObject.container.Resolve(); + } + + + public string Title => ""; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + + private List SignalNotices; + public async void OnDialogOpened(IDialogParameters parameters) + { + SignalNotices = await _wireGroupService.GetNotification(); + int index = 0; + foreach (var item in SignalNotices) + { + index++; + SignalNotice s = new SignalNotice(item); + s.ID = index; + MySignalNotices.Add(s); + } + + } + public override void ExecuteOKCommandAsync(object para) + { + DialogResult result = new DialogResult(ButtonResult.Yes); + RequestClose.Invoke(result); + } + public override void ExecuteCloseCommand(object parameter) + { + if (parameter as string == "ClickNo") + { + DialogResult result = new DialogResult(ButtonResult.No); + RequestClose.Invoke(result); + } + else + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + } + this.Dispose(); + } + + #region 状态按钮 + public ICommand StatusButtonCmd => new DelegateCommand(StatusButton_Click); + /// + /// 显示状态按钮 + /// + /// + public virtual async void StatusButton_Click(object parameter) + { + MySignalNotices = new ObservableCollection(); + + SignalNotices = await _wireGroupService.GetNotification(); + if (!parameter.Equals("All")) + { + SignalNotices = SignalNotices.Where(s => s.CheckFLG.ToString().Equals(parameter)).ToList(); + } + + int index = 0; + foreach (var item in SignalNotices) + { + index++; + SignalNotice s = new SignalNotice(item); + s.ID = index; + MySignalNotices.Add(s); + } + } + #endregion + + #region 右侧按钮 + + public ICommand ButtonCmd => new DelegateCommand(Button_Click); + /// + /// 页面右侧按钮 + /// + /// + public virtual async void Button_Click(object parameter) + { + #region 确定 + if (parameter.Equals("确定")) + { + List noticeIds = new List(); + foreach (var item in MySignalNotices) + { + noticeIds = MySignalNotices.Where(e => e.IsModified == true).Select(e => e.WireGroupNoticeID).ToList(); + } + List ReNotices = await _wireGroupService.ReadNotification(noticeIds); + foreach (var item in ReNotices) + { + var ent = MySignalNotices.FirstOrDefault(x => x.WireGroupNoticeID == item.WireGroupNoticeID); + if (ent != null) + { + ent.UpdateTime = item.UpdateTime; + } + } + + + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + this.Dispose(); + + } + #endregion + + #region 取消 + if (parameter.Equals("取消")) + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + this.Dispose(); + } + #endregion + + #region 已阅 + if (parameter.Equals("已阅")) + { + + if (SelectedSignalNotice == null) + { + return; + } + else + { + if (!SelectedSignalNotice.CheckFLG) + { + SelectedSignalNotice.CheckFLG = true; + SelectedSignalNotice.IsModified = true; + } + } + + } + #endregion + + #region 全部已阅 + if (parameter.Equals("全部已阅")) + { + foreach (var item in MySignalNotices) + { + if (!item.CheckFLG) + { + item.CheckFLG = true; + item.IsModified = true; + } + } + } + #endregion + + } + #endregion + } + + //public class SignalNotice: DialogBase + //{ + // #region 属性 + // private int _ID; + // /// + // /// 序号 + // /// + // public int ID + // { + // get { return _ID; } + // set { _ID = value; } + // } + + // private string _WireGroupNoticeID; + // /// + // /// 信号通知ID + // /// + // public string WireGroupNoticeID + // { + // get { return _WireGroupNoticeID; } + // set { _WireGroupNoticeID = value; } + // } + + // private string _Group_Name; + // /// + // /// CH.NO + // /// + // public string Group_Name + // { + // get { return _Group_Name; } + // set { _Group_Name = value; } + // } + // private string _Group_Desc; + // /// + // /// z中文描述 + // /// + // public string Group_Desc + // { + // get { return _Group_Desc; } + // set { _Group_Desc = value; } + // } + + + // private string _Group_Desc_EN; + // /// + // /// 英文描述 + // /// + // public string Group_Desc_EN + // { + // get { return _Group_Desc_EN; } + // set { _Group_Desc_EN = value; } + // } + + // private string _IO_Type; + // /// + // /// 信号类型 + // /// + // public string IO_Type + // { + // get { return _IO_Type; } + // set { _IO_Type = value; } + // } + + // private Model.Action _ActionID; + // /// + // /// 操作ID + // /// + // public Model.Action ActionID + // { + // get { return _ActionID; } + // set { _ActionID = value; } + // } + + // private string _Action; + // /// + // /// 操作 + // /// + // public string Action + // { + // get { return _Action; } + // set { _Action = value; } + // } + + + // private string _CreateUserName; + // /// + // /// 发出者 + // /// + // public string CreateUserName + // { + // get { return _CreateUserName; } + // set { _CreateUserName = value; } + // } + + // private DateTime? _CreateTime; + // /// + // /// 操作时间 + // /// + // public DateTime? CreateTime + // { + // get { return _CreateTime; } + // set { _CreateTime = value; } + // } + + // private string _UpdateUserName; + // /// + // /// 已阅人 + // /// + // public string UpdateUserName + // { + // get { return _UpdateUserName; } + // set { _UpdateUserName = value; } + // } + + // private DateTime? _UpdateTime; + // /// + // /// 已阅时间 + // /// + // public DateTime? UpdateTime + // { + // get { return _UpdateTime; } + // set { _UpdateTime = value; } + // } + + // private string _Message; + // /// + // /// 操作信息 + // /// + // public string Message + // { + // get { return _Message; } + // set { _Message = value; } + // } + + // private bool _CheckFLG; + // /// + // /// 是否已读 + // /// + // public bool CheckFLG + // { + // get { return _CheckFLG; } + // set { _CheckFLG = value; } + // } + + // private bool _IsModified; + // /// + // /// 是否修改 + // /// + // public bool IsModified + // { + // get { return _IsModified; } + // set { _IsModified = value; RaisePropertyChanged(nameof(IsModified)); } + // } + + // private bool _IsReadOnly; + // /// + // /// 是否可编辑 + // /// + // public bool IsReadOnly + // { + // get { return _IsReadOnly; } + // set { _IsReadOnly = value; RaisePropertyChanged(nameof(IsReadOnly)); } + // } + // #endregion + + // #region 方法 + // public SignalNotice() + // { + + // } + // public SignalNotice(ec_wire_group_notice ec_Notice) + // { + // #region 前端表格对应列 + // this.Group_Name = ec_Notice.Group_Name; + // this.Group_Desc = ec_Notice.Group_Desc; + // this.Group_Desc_EN = ec_Notice.Group_Desc_EN; + // this.IO_Type = ec_Notice.IO_Type; + // this.Action = ec_Notice.Action; + // this.CreateUserName = ec_Notice.CreateUserName; + // this.CreateTime = ec_Notice.CreateTime; + // this.UpdateUserName = ec_Notice.UpdateUserName; + // this.UpdateTime = ec_Notice.UpdateTime; + // this.Message = ec_Notice.Message; + // #endregion + + // this.WireGroupNoticeID = ec_Notice.WireGroupNoticeID; + // this.CheckFLG = ec_Notice.CheckFLG; + // this.IsReadOnly = ec_Notice.CheckFLG; + // } + // /// + // /// 设置数据 + // /// + // public void setData() + // { + + // } + // #endregion + //} + + +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalPropertyhisAndLogsViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalPropertyhisAndLogsViewModel.cs new file mode 100644 index 00000000..216e91c6 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalPropertyhisAndLogsViewModel.cs @@ -0,0 +1,379 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Windows.Input; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Prism.Services.Dialogs; +using Prism.Ioc; +using SWS.Commons; +using SWS.Model; +using SWS.Service; +using Telerik.Windows.Controls; +using Unity; +namespace SWS.WPF.ViewModels +{ + public class DialogSignalPropertyhisAndLogsViewModel : DialogBase, IDialogAware + { + #region 属性 + private SignalManagementInfo _SignalInfo; + /// + /// 传入选中的信号对象 + /// + public SignalManagementInfo SignalInfo + { + get { return _SignalInfo; } + set { _SignalInfo = value; RaisePropertyChanged(nameof(SignalInfo)); } + } + + + private ObservableCollection _MySignalLogs = new ObservableCollection(); + /// + /// 表格数据源 + /// + public ObservableCollection MySignalLogs + { + get { return _MySignalLogs; } + set { _MySignalLogs = value; RaisePropertyChanged(nameof(MySignalLogs)); } + } + private SignalLog _SelectedSignalLog; + /// + /// 选中行 + /// + public SignalLog SelectedSignalLog + { + get { return _SelectedSignalLog; } + set { _SelectedSignalLog = value; RaisePropertyChanged(nameof(SelectedSignalLog)); } + } + + private ObservableCollection _MySingnalPropertyhis = new ObservableCollection(); + /// + /// 表格数据源 + /// + public ObservableCollection MySingnalPropertyhis + { + get { return _MySingnalPropertyhis; } + set { _MySingnalPropertyhis = value; RaisePropertyChanged(nameof(MySingnalPropertyhis)); } + } + private SingnalPropertyhis _SelectedPropertyhi; + /// + /// 选中行 + /// + public SingnalPropertyhis SelectedPropertyhi + { + get { return _SelectedPropertyhi; } + set { _SelectedPropertyhi = value; RaisePropertyChanged(nameof(SelectedPropertyhi)); } + } + + /// + /// 信号接口服务 + /// + WireGroupService _wireGroupService; + + + + #endregion + + + public DialogSignalPropertyhisAndLogsViewModel() + { + _wireGroupService =GlobalObject.container.Resolve(); + } + + public string Title => ""; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + + private List SignalLogs; + private List SignalPropertyhis; + public async void OnDialogOpened(IDialogParameters parameters) + { + SignalInfo = parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); + title = SignalInfo.Group_Name + " 信号属性修改历史和操作记录"; + + SignalLogs = await _wireGroupService.GetSignalLogs(SignalInfo.Wire_Group_ID); + if(SignalLogs != null) + { + int index = 0; + foreach (var item in SignalLogs) + { + index++; + SignalLog s = new SignalLog(item); + s.ID = index; + MySignalLogs.Add(s); + } + } + SignalPropertyhis = await _wireGroupService.GetSignalPropertyhis(SignalInfo.Wire_Group_ID); + if (SignalPropertyhis != null) + { + int index = 0; + foreach (var item in SignalPropertyhis) + { + index++; + SingnalPropertyhis s = new SingnalPropertyhis(item); + s.ID = index; + MySingnalPropertyhis.Add(s); + } + } + + + } + public override void ExecuteOKCommandAsync(object para) + { + DialogResult result = new DialogResult(ButtonResult.Yes); + RequestClose.Invoke(result); + } + public override void ExecuteCloseCommand(object parameter) + { + if (parameter as string == "ClickNo") + { + DialogResult result = new DialogResult(ButtonResult.No); + RequestClose.Invoke(result); + } + else + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + } + this.Dispose(); + } + + + + #region 右侧按钮 + + public ICommand ButtonCmd => new DelegateCommand(Button_Click); + /// + /// 页面右侧按钮 + /// + /// + public virtual async void Button_Click(object parameter) + { + #region 确定 + if (parameter.Equals("确定")) + { + + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + this.Dispose(); + + } + #endregion + + #region 取消 + if (parameter.Equals("取消")) + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + this.Dispose(); + } + #endregion + + + } + #endregion + } + + public class SignalLog: DialogBase + { + #region 属性 + private int _ID; + /// + /// 序号 + /// + public int ID + { + get { return _ID; } + set { _ID = value; } + } + + private string _WireGroupLogID; + + public string WireGroupLogID + { + get { return _WireGroupLogID; } + set { _WireGroupLogID = value; } + } + private string _WireGroupID; + + public string WireGroupID + { + get { return _WireGroupID; } + set { _WireGroupID = value; } + } + [JsonConverter(typeof(StringEnumConverter))] + private Model.Action _OperateType; + /// + /// 操作 + /// + public Model.Action OperateType + { + get { return _OperateType; } + set { _OperateType = value; } + } + private string _ExtraMsg; + /// + /// 附加信息 + /// + public string ExtraMsg + { + get { return _ExtraMsg; } + set { _ExtraMsg = value; } + } + private string _CreateUserID; + + public string CreateUserID + { + get { return _CreateUserID; } + set { _CreateUserID = value; } + } + private string _CreateUserName; + /// + /// 操作人 + /// + public string CreateUserName + { + get { return _CreateUserName; } + set { _CreateUserName = value; } + } + + private DateTime? _CreateTime; + /// + /// 操作时间 + /// + /// + public DateTime? CreateTime + { + get { return _CreateTime; } + set { _CreateTime = value; } + } + + + + + + #endregion + + #region 方法 + public SignalLog() + { + + } + public SignalLog(ec_wire_group_log ec_Notice) + { + #region 前端表格对应列 + this.OperateType = ec_Notice.OperateType; + this.ExtraMsg = ec_Notice.ExtraMsg; + this.CreateUserName = ec_Notice.CreateUserName; + this.CreateTime = ec_Notice.CreateTime; + #endregion + + } + /// + /// 设置数据 + /// + public void setData() + { + + } + #endregion + } + + public class SingnalPropertyhis : DialogBase + { + #region 属性 + private int _ID; + /// + /// 序号 + /// + public int ID + { + get { return _ID; } + set { _ID = value; } + } + + private string _PropertyName; + /// + /// 属性 + /// + public string PropertyName + { + get { return _PropertyName; } + set { _PropertyName = value; } + } + private string _PropertyNameDec; + /// + /// 属性名称描述 + /// + public string PropertyNameDec + { + get { return _PropertyNameDec; } + set { _PropertyNameDec = value; } + } + + private string _OldPropertyValue; + /// + /// 旧属性值 + /// + public string OldPropertyValue + { + get { return _OldPropertyValue; } + set { _OldPropertyValue = value; } + } + private string _NewPropertyValue; + /// + /// 新属性值 + /// + public string NewPropertyValue + { + get { return _NewPropertyValue; } + set { _NewPropertyValue = value; } + } + private string _CreateUserName; + /// + /// 修改人 + /// + public string CreateUserName + { + get { return _CreateUserName; } + set { _CreateUserName = value; } + } + private DateTime? _CreateTime; + /// + /// 修改时间 + /// + public DateTime? CreateTime + { + get { return _CreateTime; } + set { _CreateTime = value; } + } + + #endregion + + #region 方法 + public SingnalPropertyhis(ec_wire_group_propertyhis ec_Wire_Group_Propertyhis) + { + #region 前端渲染 + this.PropertyName = ec_Wire_Group_Propertyhis.PropertyName; + this.PropertyNameDec = ec_Wire_Group_Propertyhis.PropertyNameDec; + this.OldPropertyValue = ec_Wire_Group_Propertyhis.OldPropertyValue; + this.NewPropertyValue = ec_Wire_Group_Propertyhis.NewPropertyValue; + this.CreateUserName = ec_Wire_Group_Propertyhis.CreateUserName; + this._CreateTime = ec_Wire_Group_Propertyhis.CreateTime; + #endregion + + } + #endregion + } + +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalSelectViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalSelectViewModel.cs new file mode 100644 index 00000000..c865d901 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogSignalManagementVM/DialogSignalSelectViewModel.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.ObjectModel; +using System.Windows; +using Prism.Services.Dialogs; +using SWS.Commons; +using SWS.Model; +using Telerik.Windows.Controls; +using DialogParameters = Prism.Services.Dialogs.DialogParameters; + +namespace SWS.WPF.ViewModels +{ + public class DialogSignalSelectViewModel : DialogBase, IDialogAware + { + + public DialogSignalSelectViewModel() + { + + } + + public string Title => ""; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + private ObservableCollection _listSignal; + /// + /// 单位列表 + /// + public ObservableCollection listSignal + { + get { return _listSignal; } + set { _listSignal = value; RaisePropertyChanged(nameof(listSignal)); } + } + private Signal _SelectedSignal; + /// + /// 选中的单位 + /// + public Signal SelectedSignal + { + get { return _SelectedSignal; } + set { _SelectedSignal = value; RaisePropertyChanged(nameof(SelectedSignal)); } + } + + private string _Info; + /// + /// 列表上方文字 + /// + public string Info + { + get { return _Info; } + set { _Info = value; RaisePropertyChanged(nameof(Info)); } + } + + + public void OnDialogOpened(IDialogParameters parameters) + { + title = parameters.GetValue(GlobalObject.dialogPar.title.ToString()); + Info = parameters.GetValue(GlobalObject.dialogPar.info.ToString()); + var signals = parameters.GetValue>(GlobalObject.dialogPar.para1.ToString()); + + listSignal = new ObservableCollection(); + foreach (var item in signals) + { + if (title.Equals("信号选择框")) + { + if (item.type.Equals("信号")) + { + listSignal.Add(new Signal() { SignalId = item.Wire_Group_ID, SignalName = item.Group_Name }); + } + } + else if (title.Equals("信号关联列表")) + { + listSignal.Add(new Signal() { SignalId = item.Wire_Group_ID, SignalName = item.Group_Name }); + } + + } + } + public override void ExecuteOKCommandAsync(object para) + { + if (title.Equals("信号选择框")) + { + if (SelectedSignal == null) + { + MessageBox.Show("请选择一个信号!"); + return; + } + } + else if (title.Equals("信号关联列表")) + { + } + IDialogParameters par = new DialogParameters(); + par.Add(GlobalObject.dialogPar.para1.ToString(), SelectedSignal); + DialogResult result = new DialogResult(ButtonResult.Yes, par); + RequestClose.Invoke(result); + } + public override void ExecuteCloseCommand(object parameter) + { + if (parameter as string == "ClickNo") + { + DialogResult result = new DialogResult(ButtonResult.No); + RequestClose.Invoke(result); + } + else + { + DialogResult result = new DialogResult(ButtonResult.Cancel); + RequestClose.Invoke(result); + } + this.Dispose(); + } + + } + + + public class Signal : ViewModelBase + { + private string _SignalId; + /// + /// Id + /// + public string SignalId + { + get { return _SignalId; } + set { _SignalId = value; RaisePropertyChanged(nameof(SignalId)); } + } + + private string _SignalName; + /// + /// 信号 + /// + public string SignalName + { + get { return _SignalName; } + set { _SignalName = value; RaisePropertyChanged(nameof(SignalName)); } + } + + } + +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/DialogTestViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/DialogTestViewModel.cs new file mode 100644 index 00000000..550f1bcd --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/DialogTestViewModel.cs @@ -0,0 +1,75 @@ +using System; +using System.Windows.Input; +using Prism.Services.Dialogs; +using SWS.Commons; +using Telerik.Windows.Controls; +using DialogParameters = Prism.Services.Dialogs.DialogParameters; + +namespace SWS.WPF.ViewModels +{ + public class DialogTestViewModel : DialogBase, IDialogAware + { + private string _parText; + /// + /// 参数值 + /// + public string parText + { + get { return _parText; } + set { _parText = value; OnPropertyChanged(nameof(parText)); } + } + + /// + /// 命令事件 + /// + public ICommand Command_Close1 { get; set; } + /// + /// 命令事件 + /// + public ICommand Command_Close2 { get; set; } + + public DialogTestViewModel() + { + Command_Close1 = new DelegateCommand(onClose1); + Command_Close2 = new DelegateCommand(onClose2); + title = "弹框测试页面"; + + + } + + + public string Title => "弹框测试页面"; + + public event Action RequestClose; + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + + public void OnDialogOpened(IDialogParameters parameters) + { + parText = parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); + } + + public void onClose1(object o) + { + IDialogParameters par = new DialogParameters(); + par.Add(GlobalObject.dialogPar.para1.ToString(), "xxx"); + DialogResult result = new DialogResult(ButtonResult.Yes,par); + RequestClose.Invoke(result); + } + public void onClose2(object o) + { + IDialogParameters par = new DialogParameters(); + par.Add(GlobalObject.dialogPar.para1.ToString(), "zzz"); + DialogResult result = new DialogResult(ButtonResult.No,par); + RequestClose.Invoke(result); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/ProjectViewModel.cs b/newFront/c#前端/SWS.WPF/ViewModels/ProjectViewModel.cs new file mode 100644 index 00000000..6deebd15 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/ProjectViewModel.cs @@ -0,0 +1,68 @@ +using System.Collections.Generic; +using System.Windows; +using System.Windows.Forms; +using Prism.Events; +using Prism.Ioc; +using SWS.Commons; +using SWS.Event; +using SWS.Model; +using SWS.Service; +using MessageBox = System.Windows.Forms.MessageBox; + +namespace SWS.WPF.ViewModels +{ + public class ProjectViewModel : DialogBase + { + private List projects; + public List Projects + { + get { return this.projects; } + set + { + this.projects = value; + RaisePropertyChanged(nameof(Projects)); + + } + } + private ec_project _select; + + public ec_project select + { + get { return _select; } + set { _select = value; RaisePropertyChanged(nameof(select)); } + } + ProjectService _Service; + ConfigService _configService; + IEventAggregator _eventAggregator; + public ProjectViewModel(IContainerProvider container) : base() + { + title = "项目选择"; + _Service = container.Resolve(); + _configService = container.Resolve(); + _eventAggregator= container.Resolve(); + } + public async override void onWindow_loaded(object para) + { + Projects = (await _Service.GetProjects(1, 200)).Rows; + base.onWindow_loaded(para); + } + public override async void ExecuteOKCommandAsync(object para) + { + if (select == null) + { + MessageBox.Show("请选择一个项目。"); + return; + } + _configService.Save(nameof(ConfigIni.ProjectID), select.ProjectId); + GlobalObject.curProject = select; + + IsBusy = true; + BusyContent = "项目加载中..."; + var userName = _configService.Read(nameof(ConfigIni.UserName)); + var o = await _Service.InitProjInfo(GlobalObject.curProject.ProjectId, userName); + IsBusy = false; + _eventAggregator.GetEvent().Publish(o); + CloseWindowAction?.Invoke(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/ViewModels/myViewModelBase/DialogBase.cs b/newFront/c#前端/SWS.WPF/ViewModels/myViewModelBase/DialogBase.cs new file mode 100644 index 00000000..7e016c05 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/ViewModels/myViewModelBase/DialogBase.cs @@ -0,0 +1,76 @@ +using System; +using System.Windows.Input; +using Telerik.Windows.Controls; +using Unity; + +namespace SWS.WPF.ViewModels +{ + /// + /// abstract 不同于接口,可以实现具体的代码 + /// + public abstract class DialogBase : ViewModelBase + { + public DialogBase() + { + window_loaded = new DelegateCommand(onWindow_loaded); + CloseCommand = new DelegateCommand(ExecuteCloseCommand); + OKCommand = new DelegateCommand(ExecuteOKCommandAsync); + } + #region binding + private bool _isbusy; + + public bool IsBusy + { + get { return _isbusy; } + set { _isbusy = value; RaisePropertyChanged(nameof(IsBusy)); } + } + private string _BusyContent; + + public string BusyContent + { + get { return _BusyContent; } + set { _BusyContent = value; RaisePropertyChanged(nameof(BusyContent)); } + } + + /// + /// 加载后 + /// + public ICommand window_loaded { get; } + public ICommand CloseCommand { get; } + + public ICommand OKCommand { get; } + private string _title; + + public string title + { + get { return _title; } + set { _title = value; RaisePropertyChanged(nameof(title)); } + } + #endregion + IUnityContainer _unityContainer; + /// + /// CODE-BEHAND里设置为this.close以关闭。调用时,.invoke即可 + /// + public Action CloseWindowAction { get; set; } + /// + /// virtual 可以重写 + /// + /// + public virtual void ExecuteCloseCommand(object parameter) + { + // 关闭窗口 (需要通过 CommandParameter 传入窗口实例) + if (parameter is System.Windows.Window window) + { + window.Close(); + } + } + public virtual void onWindow_loaded(object para) + { + + } + public virtual void ExecuteOKCommandAsync(object para) + { + + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml b/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml new file mode 100644 index 00000000..bbde8541 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml @@ -0,0 +1,21 @@ + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml.cs b/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml.cs new file mode 100644 index 00000000..937a4086 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/CustomDialogWindow.xaml.cs @@ -0,0 +1,36 @@ +using Prism.Services.Dialogs; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SWS.WPF.Views +{ + /// + /// Interaction logic for CustomDialogWindow.xaml + /// + public partial class CustomDialogWindow : Window, IDialogWindow + { + public CustomDialogWindow() + { + InitializeComponent(); + + // 设置窗口样式(可选) + WindowStartupLocation = WindowStartupLocation.CenterScreen; + ResizeMode = ResizeMode.NoResize; + + } + + public IDialogResult Result { get ; set ; } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml b/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml new file mode 100644 index 00000000..d28ce13f --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml.cs b/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml.cs new file mode 100644 index 00000000..5e9224e2 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogInput.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SWS.WPF.Views +{ + /// + /// DialogInput.xaml 的交互逻辑 + /// + public partial class DialogInput : UserControl + { + public DialogInput() + { + InitializeComponent(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml new file mode 100644 index 00000000..132c10ed --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml @@ -0,0 +1,1079 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ToDelete + + + + + New + + + + + Used + + + + + Confirmed + + + + + Reopen + + + + + deleted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml.cs b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml.cs new file mode 100644 index 00000000..9496999d --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalManagement.xaml.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using SWS.WPF.ViewModels; + +namespace SWS.WPF.Views +{ + /// + /// DialogTest.xaml 的交互逻辑 + /// + public partial class DialogSignalManagement : UserControl + { + public DialogSignalManagement() + { + InitializeComponent(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml new file mode 100644 index 00000000..daabfc0c --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + True + + + + + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml.cs b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml.cs new file mode 100644 index 00000000..9b4a92ff --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalNotice.xaml.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Telerik.Windows.Controls; + +namespace SWS.WPF.Views +{ + /// + /// DialogSignalNotice.xaml 的交互逻辑 + /// + public partial class DialogSignalNotice : UserControl + { + public DialogSignalNotice() + { + InitializeComponent(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml new file mode 100644 index 00000000..86ea74f3 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml.cs b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml.cs new file mode 100644 index 00000000..f318813d --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalPropertyhisAndLogs.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SWS.WPF.Views +{ + /// + /// DialogSignalPropertyhisAndLogs.xaml 的交互逻辑 + /// + public partial class DialogSignalPropertyhisAndLogs : UserControl + { + public DialogSignalPropertyhisAndLogs() + { + InitializeComponent(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml new file mode 100644 index 00000000..552e18d2 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml.cs b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml.cs new file mode 100644 index 00000000..17db2586 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogSignalManagements/DialogSignalSelect.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace SWS.WPF.Views +{ + /// + /// DialogSignalSelect.xaml 的交互逻辑 + /// + public partial class DialogSignalSelect : UserControl + { + public DialogSignalSelect() + { + InitializeComponent(); + } + } +} diff --git a/newFront/c#前端/SWS.WPF/Views/DialogTest.xaml b/newFront/c#前端/SWS.WPF/Views/DialogTest.xaml new file mode 100644 index 00000000..72c34b85 --- /dev/null +++ b/newFront/c#前端/SWS.WPF/Views/DialogTest.xaml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + +