From 46c767b3d0c229f4c92b76cbbe895e39b18eeb07 Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Mon, 24 Jun 2024 17:30:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B9=98=E6=BD=AD-=E6=89=8B=E6=9C=AF=E9=BA=BB?= =?UTF-8?q?=E9=86=89=E7=A7=91-8=E5=B1=82=E9=83=BD=E6=98=AF=E7=89=A9?= =?UTF-8?q?=E7=90=86=E9=9A=94=E6=96=AD=EF=BC=8C=E5=85=B6=E4=B8=AD=E4=B8=80?= =?UTF-8?q?=E5=B1=82=E9=9C=80=E8=A6=81=E5=86=B7=E8=97=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DM_Weight.Commons/DM_Weight.Commons.csproj | 13 + .../ValidationErrorMappingBehavior.cs | 75 ++ DM_Weight.sln | 14 + DM_Weight/App.config | 40 +- DM_Weight/App.xaml.cs | 25 + DM_Weight/Common/CRC16MODBUS.cs | 42 ++ DM_Weight/Common/CommonClass.cs | 31 + DM_Weight/Common/PrismManager.cs | 24 + DM_Weight/Common/TemperatureRangeRule.cs | 61 ++ DM_Weight/Converter/ApplyListConverter.cs | 91 +++ DM_Weight/Converter/ForeColorConverter.cs | 30 + DM_Weight/Converter/ShiftsStateConverter.cs | 30 + DM_Weight/Converter/StatusConverter.cs | 2 +- DM_Weight/DM_Weight.csproj | 13 + DM_Weight/HIKVISION/CHKFunction.cs | 34 +- DM_Weight/Models/AccountBookG2.cs | 152 ++++ DM_Weight/Models/AccountType.cs | 23 + DM_Weight/Models/CollectDrug.cs | 118 ++++ DM_Weight/Models/DestoryDetail.cs | 36 + DM_Weight/Models/DrugBase.cs | 31 + DM_Weight/Models/DrugInfo.cs | 13 +- DM_Weight/Models/DrugPleaseClaim.cs | 125 ++++ DM_Weight/Models/DrugPleaseState.cs | 20 + DM_Weight/Models/HkcChangeShifts.cs | 45 ++ DM_Weight/Models/MachineRecord.cs | 23 +- DM_Weight/Models/OrderInfo.cs | 7 + DM_Weight/Models/SettingPage.cs | 56 ++ DM_Weight/Models/ShiftsReport.cs | 55 ++ DM_Weight/Port/PortUtil.cs | 333 ++++++++- DM_Weight/Report/GridReportUtil.cs | 208 +++++- .../ReturnEmptyDistory_template.grf | 432 ++++++++++++ DM_Weight/ReportTemp/account_book_temp.grf | 49 +- DM_Weight/ReportTemp/changeShifts_temp.grf | 345 +++++++++ DM_Weight/ReportTemp/orderUse_template.grf | 633 +++++++++++++++++ .../ViewModels/AccountWindowViewModel.cs | 350 ++++++++++ .../ViewModels/AddDrugControlViewModel.cs | 4 +- .../ViewModels/ApplyListWindowViewModel.cs | 183 +++++ .../ViewModels/ChangeShiftsDialogViewModel.cs | 656 ++++++++++++++++++ .../ChangeShiftsListWindowViewModel.cs | 190 +++++ .../ViewModels/CheckStockWindowViewModel.cs | 6 +- .../ViewModels/CollectDrugDialogViewModel.cs | 230 ++++++ .../ViewModels/CollectDrugWindowViewModel.cs | 291 ++++++++ .../ViewModels/DestoryEmptyDialogViewModel.cs | 202 ++++++ .../DrawerAddDrugWindowViewModel.cs | 45 +- .../DrawerTakeDrugWindowViewModel.cs | 47 +- .../ViewModels/DrugBaseWindowViewModel.cs | 12 + .../ViewModels/DrugListWindowViewModel.cs | 130 +++- DM_Weight/ViewModels/FridgeWindowViewModel.cs | 263 +++++++ DM_Weight/ViewModels/HomeWindowViewModel.cs | 108 ++- .../ViewModels/InvoiceAddDialogViewModel.cs | 44 +- .../ViewModels/InvoiceInWindowViewModel.cs | 4 +- .../ViewModels/InvoiceOutWindowViewModel.cs | 4 +- .../ViewModels/InvoiceTakeDialogViewModel.cs | 46 +- DM_Weight/ViewModels/LoginWindowViewModel.cs | 80 +++ .../MultiOrderTakeDialogViewModel.cs | 4 +- .../ViewModels/OrderReturnDialogViewModel.cs | 45 +- .../ViewModels/OrderTakeDialogViewModel.cs | 51 +- .../OrderTakeDrugWindowViewModel.cs | 1 + .../ViewModels/ReturnDrugDialogViewModel.cs | 46 +- .../ViewModels/ReturnEmptyDialogViewModel.cs | 43 +- .../ViewModels/ReturnEmptyWindowViewModel.cs | 252 ++++++- .../ViewModels/RoleManagerWindowViewModel.cs | 33 +- .../ViewModels/SelfAddDialogViewModel.cs | 46 +- .../ViewModels/SelfTakeDialogViewModel.cs | 49 +- .../ViewModels/SettingMainWindowViewModel.cs | 74 ++ DM_Weight/Views/AccountWindow.xaml | 236 +++++++ DM_Weight/Views/AccountWindow.xaml.cs | 51 ++ DM_Weight/Views/ApplyListWindow.xaml | 282 ++++++++ DM_Weight/Views/ApplyListWindow.xaml.cs | 28 + DM_Weight/Views/ChangeShiftsListWindow.xaml | 136 ++++ .../Views/ChangeShiftsListWindow.xaml.cs | 28 + DM_Weight/Views/CollectDrugWindow.xaml | 140 ++++ DM_Weight/Views/CollectDrugWindow.xaml.cs | 28 + .../Views/Dialog/ChangeShiftsDialog.xaml | 163 +++++ .../Views/Dialog/ChangeShiftsDialog.xaml.cs | 28 + DM_Weight/Views/Dialog/CollectDrugDialog.xaml | 145 ++++ .../Views/Dialog/CollectDrugDialog.xaml.cs | 28 + .../Views/Dialog/DestoryEmptyDialog.xaml | 201 ++++++ .../Views/Dialog/DestoryEmptyDialog.xaml.cs | 28 + DM_Weight/Views/Dialog/ReturnEmptyDialog.xaml | 10 +- DM_Weight/Views/DrugBaseWindow.xaml | 13 + DM_Weight/Views/DrugBaseWindow.xaml.cs | 28 + DM_Weight/Views/DrugListWindow.xaml | 6 +- DM_Weight/Views/FridgeWindow.xaml | 77 ++ DM_Weight/Views/FridgeWindow.xaml.cs | 28 + DM_Weight/Views/HomeWindow.xaml | 1 + DM_Weight/Views/LoginWindow.xaml | 1 + DM_Weight/Views/MachineRecordWindow.xaml | 4 +- DM_Weight/Views/ReturnEmptyWindow.xaml | 52 +- DM_Weight/Views/SettingMainWindow.xaml | 44 ++ DM_Weight/Views/SettingMainWindow.xaml.cs | 28 + 91 files changed, 8448 insertions(+), 134 deletions(-) create mode 100644 DM_Weight.Commons/DM_Weight.Commons.csproj create mode 100644 DM_Weight.Commons/ValidatRules/ValidationErrorMappingBehavior.cs create mode 100644 DM_Weight/Common/CRC16MODBUS.cs create mode 100644 DM_Weight/Common/CommonClass.cs create mode 100644 DM_Weight/Common/PrismManager.cs create mode 100644 DM_Weight/Common/TemperatureRangeRule.cs create mode 100644 DM_Weight/Converter/ApplyListConverter.cs create mode 100644 DM_Weight/Converter/ForeColorConverter.cs create mode 100644 DM_Weight/Converter/ShiftsStateConverter.cs create mode 100644 DM_Weight/Models/AccountBookG2.cs create mode 100644 DM_Weight/Models/AccountType.cs create mode 100644 DM_Weight/Models/CollectDrug.cs create mode 100644 DM_Weight/Models/DestoryDetail.cs create mode 100644 DM_Weight/Models/DrugBase.cs create mode 100644 DM_Weight/Models/DrugPleaseClaim.cs create mode 100644 DM_Weight/Models/DrugPleaseState.cs create mode 100644 DM_Weight/Models/HkcChangeShifts.cs create mode 100644 DM_Weight/Models/SettingPage.cs create mode 100644 DM_Weight/Models/ShiftsReport.cs create mode 100644 DM_Weight/ReportTemp/ReturnEmptyDistory_template.grf create mode 100644 DM_Weight/ReportTemp/changeShifts_temp.grf create mode 100644 DM_Weight/ReportTemp/orderUse_template.grf create mode 100644 DM_Weight/ViewModels/AccountWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/ApplyListWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/ChangeShiftsDialogViewModel.cs create mode 100644 DM_Weight/ViewModels/ChangeShiftsListWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/CollectDrugDialogViewModel.cs create mode 100644 DM_Weight/ViewModels/CollectDrugWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/DestoryEmptyDialogViewModel.cs create mode 100644 DM_Weight/ViewModels/DrugBaseWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/FridgeWindowViewModel.cs create mode 100644 DM_Weight/ViewModels/SettingMainWindowViewModel.cs create mode 100644 DM_Weight/Views/AccountWindow.xaml create mode 100644 DM_Weight/Views/AccountWindow.xaml.cs create mode 100644 DM_Weight/Views/ApplyListWindow.xaml create mode 100644 DM_Weight/Views/ApplyListWindow.xaml.cs create mode 100644 DM_Weight/Views/ChangeShiftsListWindow.xaml create mode 100644 DM_Weight/Views/ChangeShiftsListWindow.xaml.cs create mode 100644 DM_Weight/Views/CollectDrugWindow.xaml create mode 100644 DM_Weight/Views/CollectDrugWindow.xaml.cs create mode 100644 DM_Weight/Views/Dialog/ChangeShiftsDialog.xaml create mode 100644 DM_Weight/Views/Dialog/ChangeShiftsDialog.xaml.cs create mode 100644 DM_Weight/Views/Dialog/CollectDrugDialog.xaml create mode 100644 DM_Weight/Views/Dialog/CollectDrugDialog.xaml.cs create mode 100644 DM_Weight/Views/Dialog/DestoryEmptyDialog.xaml create mode 100644 DM_Weight/Views/Dialog/DestoryEmptyDialog.xaml.cs create mode 100644 DM_Weight/Views/DrugBaseWindow.xaml create mode 100644 DM_Weight/Views/DrugBaseWindow.xaml.cs create mode 100644 DM_Weight/Views/FridgeWindow.xaml create mode 100644 DM_Weight/Views/FridgeWindow.xaml.cs create mode 100644 DM_Weight/Views/SettingMainWindow.xaml create mode 100644 DM_Weight/Views/SettingMainWindow.xaml.cs diff --git a/DM_Weight.Commons/DM_Weight.Commons.csproj b/DM_Weight.Commons/DM_Weight.Commons.csproj new file mode 100644 index 0000000..467963e --- /dev/null +++ b/DM_Weight.Commons/DM_Weight.Commons.csproj @@ -0,0 +1,13 @@ + + + + net6.0-windows + enable + true + + + + + + + diff --git a/DM_Weight.Commons/ValidatRules/ValidationErrorMappingBehavior.cs b/DM_Weight.Commons/ValidatRules/ValidationErrorMappingBehavior.cs new file mode 100644 index 0000000..fce3c87 --- /dev/null +++ b/DM_Weight.Commons/ValidatRules/ValidationErrorMappingBehavior.cs @@ -0,0 +1,75 @@ +using Microsoft.Xaml.Behaviors; +using System.Collections.ObjectModel; +using System.Windows; +using System.Windows.Controls; + +namespace DM_Weight.Commons.ValidatRules +{ + public class ValidationErrorMappingBehavior : Behavior + { + #region Properties + + public static readonly DependencyProperty ValidationErrorsProperty = + DependencyProperty.Register("ValidationErrors", typeof(ObservableCollection), + typeof(ValidationErrorMappingBehavior), new PropertyMetadata(new ObservableCollection())); + + public ObservableCollection ValidationErrors + { + get { return (ObservableCollection)this.GetValue(ValidationErrorsProperty); } + set { this.SetValue(ValidationErrorsProperty, value); } + } + + public static readonly DependencyProperty HasValidationErrorProperty = DependencyProperty.Register("HasValidationError", + typeof(bool), typeof(ValidationErrorMappingBehavior), new PropertyMetadata(false)); + + public bool HasValidationError + { + get { return (bool)this.GetValue(HasValidationErrorProperty); } + set { this.SetValue(HasValidationErrorProperty, value); } + } + + #endregion + + #region Constructors + + public ValidationErrorMappingBehavior() + : base() + { } + + #endregion + + #region Events & Event Methods + + private void Validation_Error(object sender, ValidationErrorEventArgs e) + { + if (e.Action == ValidationErrorEventAction.Added) + { + this.ValidationErrors.Add(e.Error); + } + else + { + this.ValidationErrors.Remove(e.Error); + } + + this.HasValidationError = this.ValidationErrors.Count > 0; + } + + #endregion + + #region Support Methods + + protected override void OnAttached() + { + base.OnAttached(); + Validation.AddErrorHandler(this.AssociatedObject, Validation_Error); + } + + protected override void OnDetaching() + { + base.OnDetaching(); + Validation.RemoveErrorHandler(this.AssociatedObject, Validation_Error); + } + + #endregion + } +} diff --git a/DM_Weight.sln b/DM_Weight.sln index 7c397af..1e50fcf 100644 --- a/DM_Weight.sln +++ b/DM_Weight.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.3.32922.545 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DM_Weight", "DM_Weight\DM_Weight.csproj", "{439FA76B-F874-40DB-BAF2-E3647CD55B10}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DM_Weight.Commons", "DM_Weight.Commons\DM_Weight.Commons.csproj", "{7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,18 @@ Global {439FA76B-F874-40DB-BAF2-E3647CD55B10}.Release|x64.Build.0 = Release|x64 {439FA76B-F874-40DB-BAF2-E3647CD55B10}.Release|x86.ActiveCfg = Debug|x86 {439FA76B-F874-40DB-BAF2-E3647CD55B10}.Release|x86.Build.0 = Debug|x86 + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|x64.ActiveCfg = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|x64.Build.0 = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|x86.ActiveCfg = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Debug|x86.Build.0 = Debug|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|Any CPU.Build.0 = Release|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|x64.ActiveCfg = Release|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|x64.Build.0 = Release|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|x86.ActiveCfg = Release|Any CPU + {7F9FA18B-5C28-476E-97D4-B5504B8DEB9B}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DM_Weight/App.config b/DM_Weight/App.config index e9a2333..73292e0 100644 --- a/DM_Weight/App.config +++ b/DM_Weight/App.config @@ -3,7 +3,7 @@ - + - + + + + + + + + + + + + + + - + @@ -23,8 +36,11 @@ + + + - + @@ -41,6 +57,22 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DM_Weight/Views/AccountWindow.xaml.cs b/DM_Weight/Views/AccountWindow.xaml.cs new file mode 100644 index 0000000..08f3686 --- /dev/null +++ b/DM_Weight/Views/AccountWindow.xaml.cs @@ -0,0 +1,51 @@ +using DM_Weight.ViewModels; +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 DM_Weight.Views +{ + /// + /// AccountWindow.xaml 的交互逻辑 + /// + public partial class AccountWindow : UserControl + { + AccountWindowViewModel vms; + public AccountWindow() + { + InitializeComponent(); + } + /// + /// 药品名称下拉框 + /// + /// + /// + private void ComboBox_KeyUp(object sender, KeyEventArgs e) + { + ComboBox comboBox = sender as ComboBox; + vms.UpdateComboBoxItems(comboBox.Text); + if (this.vms.DrugInfos.Count > 0) + { + comboBox.IsDropDownOpen = true; + } + TextBox textBox = (TextBox)comboBox.Template.FindName("PART_EditableTextBox", comboBox); + textBox.SelectionStart = textBox.Text.Length; + } + + private void UserControl_Loaded(object sender, RoutedEventArgs e) + { + vms = AccountWindowViewModel.vm; + } + } +} diff --git a/DM_Weight/Views/ApplyListWindow.xaml b/DM_Weight/Views/ApplyListWindow.xaml new file mode 100644 index 0000000..8243d31 --- /dev/null +++ b/DM_Weight/Views/ApplyListWindow.xaml @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DM_Weight/Views/ApplyListWindow.xaml.cs b/DM_Weight/Views/ApplyListWindow.xaml.cs new file mode 100644 index 0000000..0eaa07f --- /dev/null +++ b/DM_Weight/Views/ApplyListWindow.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 DM_Weight.Views +{ + /// + /// ApplyListWindow.xaml 的交互逻辑 + /// + public partial class ApplyListWindow : UserControl + { + public ApplyListWindow() + { + InitializeComponent(); + } + } +} diff --git a/DM_Weight/Views/ChangeShiftsListWindow.xaml b/DM_Weight/Views/ChangeShiftsListWindow.xaml new file mode 100644 index 0000000..fcab7a8 --- /dev/null +++ b/DM_Weight/Views/ChangeShiftsListWindow.xaml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DM_Weight/Views/ChangeShiftsListWindow.xaml.cs b/DM_Weight/Views/ChangeShiftsListWindow.xaml.cs new file mode 100644 index 0000000..3c5b7fa --- /dev/null +++ b/DM_Weight/Views/ChangeShiftsListWindow.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 DM_Weight.Views +{ + /// + /// ChangeShiftsListWindow.xaml 的交互逻辑 + /// + public partial class ChangeShiftsListWindow : UserControl + { + public ChangeShiftsListWindow() + { + InitializeComponent(); + } + } +} diff --git a/DM_Weight/Views/CollectDrugWindow.xaml b/DM_Weight/Views/CollectDrugWindow.xaml new file mode 100644 index 0000000..d8de6ac --- /dev/null +++ b/DM_Weight/Views/CollectDrugWindow.xaml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DM_Weight/Views/CollectDrugWindow.xaml.cs b/DM_Weight/Views/CollectDrugWindow.xaml.cs new file mode 100644 index 0000000..73f65aa --- /dev/null +++ b/DM_Weight/Views/CollectDrugWindow.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 DM_Weight.Views +{ + /// + /// CollectDrugWindow.xaml 的交互逻辑 + /// + public partial class CollectDrugWindow : UserControl + { + public CollectDrugWindow() + { + InitializeComponent(); + } + } +} diff --git a/DM_Weight/Views/Dialog/ChangeShiftsDialog.xaml b/DM_Weight/Views/Dialog/ChangeShiftsDialog.xaml new file mode 100644 index 0000000..1ee41d0 --- /dev/null +++ b/DM_Weight/Views/Dialog/ChangeShiftsDialog.xaml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -->