From 5eebb72fe7ef86f141a5adb0b490ae484c8ee1d2 Mon Sep 17 00:00:00 2001 From: NXX <447201003@qq> Date: Sat, 17 Sep 2022 13:50:08 +0800 Subject: [PATCH] recipe --- BPASmart.Model/配方/LocalRecipes.cs | 9 +- BPASmart.Model/配方/Order.cs | 36 ++ BPASmart.Model/配方/Recipes.cs | 42 +- BPASmart.RecipeManagement/App.xaml | 268 ++++++++++++- .../BPASmart.RecipeManagement.csproj | 28 ++ .../Globle/GlobleData.cs | 5 + BPASmart.RecipeManagement/Image/AddGreen.png | Bin 0 -> 2235 bytes BPASmart.RecipeManagement/Image/Delete.png | Bin 0 -> 14157 bytes BPASmart.RecipeManagement/MainWindow.xaml | 16 +- BPASmart.RecipeManagement/MainWindow.xaml.cs | 9 +- .../View/CreateOrder.xaml | 112 ++++++ .../View/CreateOrder.xaml.cs | 37 ++ .../View/MaterialConfigure.xaml | 159 +------- .../View/MaterialManager.xaml | 15 +- .../View/OrderManager.xaml | 179 +++++++++ .../View/OrderManager.xaml.cs | 30 ++ .../View/PowerManager.xaml | 361 ++++++++++++++++++ .../View/PowerManager.xaml.cs | 28 ++ .../View/RecipeManager.xaml | 158 ++++++++ .../View/RecipeManager.xaml.cs | 28 ++ .../View/RecipesConfigure.xaml | 273 +++++++++++++ .../View/RecipesConfigure.xaml.cs | 37 ++ .../View/TechnologySetting.xaml | 12 + .../View/TechnologySetting.xaml.cs | 28 ++ .../ViewModel/CreateOrderViewModel.cs | 62 +++ .../ViewModel/MainWindowViewModel.cs | 1 + .../ViewModel/OrderManagerViewModel.cs | 34 ++ .../ViewModel/PowerManagerViewModel.cs | 150 ++++++++ .../ViewModel/RecipeManagerViewModel.cs | 60 +++ .../ViewModel/RecipesConfigureViewModel.cs | 115 ++++++ 30 files changed, 2102 insertions(+), 190 deletions(-) create mode 100644 BPASmart.Model/配方/Order.cs create mode 100644 BPASmart.RecipeManagement/Image/AddGreen.png create mode 100644 BPASmart.RecipeManagement/Image/Delete.png create mode 100644 BPASmart.RecipeManagement/View/CreateOrder.xaml create mode 100644 BPASmart.RecipeManagement/View/CreateOrder.xaml.cs create mode 100644 BPASmart.RecipeManagement/View/OrderManager.xaml create mode 100644 BPASmart.RecipeManagement/View/OrderManager.xaml.cs create mode 100644 BPASmart.RecipeManagement/View/PowerManager.xaml create mode 100644 BPASmart.RecipeManagement/View/PowerManager.xaml.cs create mode 100644 BPASmart.RecipeManagement/View/RecipeManager.xaml create mode 100644 BPASmart.RecipeManagement/View/RecipeManager.xaml.cs create mode 100644 BPASmart.RecipeManagement/View/RecipesConfigure.xaml create mode 100644 BPASmart.RecipeManagement/View/RecipesConfigure.xaml.cs create mode 100644 BPASmart.RecipeManagement/View/TechnologySetting.xaml create mode 100644 BPASmart.RecipeManagement/View/TechnologySetting.xaml.cs create mode 100644 BPASmart.RecipeManagement/ViewModel/CreateOrderViewModel.cs create mode 100644 BPASmart.RecipeManagement/ViewModel/OrderManagerViewModel.cs create mode 100644 BPASmart.RecipeManagement/ViewModel/PowerManagerViewModel.cs create mode 100644 BPASmart.RecipeManagement/ViewModel/RecipeManagerViewModel.cs create mode 100644 BPASmart.RecipeManagement/ViewModel/RecipesConfigureViewModel.cs diff --git a/BPASmart.Model/配方/LocalRecipes.cs b/BPASmart.Model/配方/LocalRecipes.cs index 41515a36..74a4c335 100644 --- a/BPASmart.Model/配方/LocalRecipes.cs +++ b/BPASmart.Model/配方/LocalRecipes.cs @@ -1,13 +1,16 @@ -using System; + +using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BPASmart.Model.配方 { - public class LocalRecipes + public class LocalRecipes { - + public ObservableCollection locaRecipes { get; set; } = new ObservableCollection(); } + } diff --git a/BPASmart.Model/配方/Order.cs b/BPASmart.Model/配方/Order.cs new file mode 100644 index 00000000..bcc4a8aa --- /dev/null +++ b/BPASmart.Model/配方/Order.cs @@ -0,0 +1,36 @@ +using Microsoft.Toolkit.Mvvm.ComponentModel; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BPASmart.Model.配方 +{ + public class Order:ObservableObject + { + /// + /// 订单ID + /// + public string OrderId { get { return _orderId; } set { _orderId = value; OnPropertyChanged(); } } + private string _orderId; + + /// + /// 下单时间 + /// + public string OrderdateTime { get { return _orderDateTime; } set { _orderDateTime = value; OnPropertyChanged(); } } + private string _orderDateTime; + + /// + /// 订单完成时间 + /// + public string OrderCompeleteTime { get { return _orderCompeleteTime; } set { _orderCompeleteTime = value; OnPropertyChanged(); } } + private string _orderCompeleteTime; + + /// + /// 配方集合 + /// + public ObservableCollection Recipes { get; set; } = new ObservableCollection(); + } +} diff --git a/BPASmart.Model/配方/Recipes.cs b/BPASmart.Model/配方/Recipes.cs index 10f0b4be..27f66760 100644 --- a/BPASmart.Model/配方/Recipes.cs +++ b/BPASmart.Model/配方/Recipes.cs @@ -1,4 +1,5 @@ -using System; +using Microsoft.Toolkit.Mvvm.ComponentModel; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; @@ -7,8 +8,43 @@ using System.Threading.Tasks; namespace BPASmart.Model.配方 { - public class Recipes + public class Recipes:ObservableObject { - public ObservableCollection Materials { get; set; } + /// + /// 配方ID + /// + public string ID { get { return _id; } set { _id = value; OnPropertyChanged(); } } + private string _id; + + /// + /// 配方名称 + /// + public string Name { get { return _name; } set { _name = value; OnPropertyChanged(); } } + public string _name; + + /// + /// 配方状态 + /// + public RecipeStates RecipeState { get { return _recipeState; } set { _recipeState = value; OnPropertyChanged(); } } + public RecipeStates _recipeState; + + /// + /// 配方单数 + /// + public int RecipeCount { get { return _recipeCount; } set { _recipeCount = value; OnPropertyChanged(); } } + private int _recipeCount; + /// + /// 配方原料集合 + /// + public ObservableCollection recipeMaterials { get; set; } + + } + + public enum RecipeStates + { + 等待制作 = 0, + 制作中 = 1, + 制作完成 = 2 } } + diff --git a/BPASmart.RecipeManagement/App.xaml b/BPASmart.RecipeManagement/App.xaml index fc09f9a4..c488f68c 100644 --- a/BPASmart.RecipeManagement/App.xaml +++ b/BPASmart.RecipeManagement/App.xaml @@ -4,6 +4,272 @@ xmlns:local="clr-namespace:BPASmart.RecipeManagement" StartupUri="MainWindow.xaml"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BPASmart.RecipeManagement/BPASmart.RecipeManagement.csproj b/BPASmart.RecipeManagement/BPASmart.RecipeManagement.csproj index 42495326..d52552a2 100644 --- a/BPASmart.RecipeManagement/BPASmart.RecipeManagement.csproj +++ b/BPASmart.RecipeManagement/BPASmart.RecipeManagement.csproj @@ -15,9 +15,37 @@ + + + + + + + + Code + + + + + + $(DefaultXamlRuntime) + Designer + + + + + + Always + + + + + + + diff --git a/BPASmart.RecipeManagement/Globle/GlobleData.cs b/BPASmart.RecipeManagement/Globle/GlobleData.cs index 12fb80ef..c0db0770 100644 --- a/BPASmart.RecipeManagement/Globle/GlobleData.cs +++ b/BPASmart.RecipeManagement/Globle/GlobleData.cs @@ -1,6 +1,7 @@ using BPASmart.Model.配方; using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,5 +11,9 @@ namespace BPASmart.RecipeManagement.Globle public class GlobleData { public static RecipeMaterials ChangeMaterail; + + public static Recipes ChangeRecipes; + + public static ObservableCollection orders { get; set; } = new ObservableCollection(); } } diff --git a/BPASmart.RecipeManagement/Image/AddGreen.png b/BPASmart.RecipeManagement/Image/AddGreen.png new file mode 100644 index 0000000000000000000000000000000000000000..13676da2514869a9492400022e37de09d712af05 GIT binary patch literal 2235 zcmV;s2t@aZP)zf?^*>hKa`Ty5H zudBC}?z&n2`_qe$Hzt5~5)A}zxhr#5{(twc2;dLjfD6f5 ziARCHZrSFApFbWEz-DsSMf|N@tc*#MwL#ht@!BCDNCwY>Ze97|`Fqw-?B(ZI846+9 zWz-TyV<{nRfP66Oxq>mlh!^nF5w2oLCx{-3c27aPAlm)VeSi2$A*zL_I_lynd- z8UT?)=C7-C3{wU2a}52geDBDAmvk6T1XGW?U|0IxK`Kl>7f(Ov2Q^rkphkwh2MxfNu#5wV8JK~dx^kostr%?&lp9_aThv#3L*fT z920--EzVkMECLJ}p?_j@Kc3f1wi$F3;lYwIt(fRoaNIedVgWO){X)NF$(lu8t8|N00-v% z(M5rSkOH9OoP~KmI|?k6IN=Kb!+&PpA6*p4IB8%*+4}+3^xE%Y)P3D*bn9XIDs=0 zepbpDdB^#cuq7e>v8}ifx6SipD78;xB5RwWOm!&B3Jl+AY|5{O}%S?UZ@CQ z2xn7@04OQohw&v2icND30T?<66MzZ8U;;3h01PGo$zjN*nN}PWn-&@Zpfn=-#+Nu$ zY^v1>^xYEnERlbkNI6)tQ272u!!~^oqzxioe|__B-FrVge;?I(MA+M}yPSIRWq&@7 z>F0gnO+HXeR#`ngXEYu^r=0w0=>kHK+pk zPPjKW-o%hAaYPmXX?7}g7Lnn>{7*f>tW*;KW0B{;DD(!&hSUutIimo|7wj2--q=&( zhAjX}gJfW7z&rd8l(=CFKz+rkfo;3Fx&T}qP!fk4N5&%?6x%I02TXB0ffS`>j76mu z{_hrfW}4pbBY-nSB^!7)I}0WNMjFU13Xr{@Vy}{WzM#*`pov9+XuSV~`$awifShwf zi~>XB_DSy_61|_gjf{){aPtSM@}|}ocyio7rFy^5nE}4@0cOPeMfSMwcDa~kQhgCUf03cS&}ohIUOe(>CRzu1v`($m66%=~$}PE8`u!=pu0 zrX3&OOxW+{@$nTAj1zvtr?Z72v*5cQZc7{$8$^EkfPIr7N&0C?tY z&7DHkSMcH)L*G0_aC@R=TZW2Qr@`DOMK?KXj2)q#semGTS(FPEo34Lr(@`DSYQW*LSi5?v)C3gobsfnRN z`d%Wx;N^Dct6A_xApjHs81gjHTQyWBzxMelx%~tjzk^Vh`wMApdI91cNxa@|g#ao- z7$@PTh?N*(;phFv%hx}ztM_ao$-N}p4ks!dzE%hTMUZ1O$eQ^66#<0A0=>S`LN zyaJ?z*aXm6$d6J0O-6&j0*J!vqZPnPZE%<4L`UXR-h@d2Z<*KP!=y84L1h5hj1}KDnqyi|B_<5`z-&z5zhyes}fP%;x z7Qh0l`m>NN+_e_K17ZLnP<8|N6#!K6m+0xOJ|eI60(fL738L7-=#YB~pg=E&9XQLF zhHxeTx-gc=9}&Pkxm_dLU@#aA27|$1Fc=I5gTY`htTX--U;wONI!~4!O1=O9002ov JPDHLkV1kZ$_H+OM literal 0 HcmV?d00001 diff --git a/BPASmart.RecipeManagement/Image/Delete.png b/BPASmart.RecipeManagement/Image/Delete.png new file mode 100644 index 0000000000000000000000000000000000000000..f53eb2b31eb2ed3670f8e1a5acd84f57c690afb3 GIT binary patch literal 14157 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 + Title="MainWindow" Height="900" Width="1400" WindowStyle="None" WindowStartupLocation="CenterScreen"> @@ -81,14 +81,16 @@ - + + + Click="NavButton_Click" Tag="MaterialManager"/> + Click="NavButton_Click" Tag="TechnologySetting"/> + Click="NavButton_Click" Tag="PowerManager"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BPASmart.RecipeManagement/View/PowerManager.xaml.cs b/BPASmart.RecipeManagement/View/PowerManager.xaml.cs new file mode 100644 index 00000000..917d0d85 --- /dev/null +++ b/BPASmart.RecipeManagement/View/PowerManager.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 BPASmart.RecipeManagement.View +{ + /// + /// PowerManager.xaml 的交互逻辑 + /// + public partial class PowerManager : UserControl + { + public PowerManager() + { + InitializeComponent(); + } + } +} diff --git a/BPASmart.RecipeManagement/View/RecipeManager.xaml b/BPASmart.RecipeManagement/View/RecipeManager.xaml new file mode 100644 index 00000000..22f6b89d --- /dev/null +++ b/BPASmart.RecipeManagement/View/RecipeManager.xaml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BPASmart.RecipeManagement/View/RecipeManager.xaml.cs b/BPASmart.RecipeManagement/View/RecipeManager.xaml.cs new file mode 100644 index 00000000..b0632507 --- /dev/null +++ b/BPASmart.RecipeManagement/View/RecipeManager.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 BPASmart.RecipeManagement.View +{ + /// + /// RecipeManager.xaml 的交互逻辑 + /// + public partial class RecipeManager : UserControl + { + public RecipeManager() + { + InitializeComponent(); + } + } +} diff --git a/BPASmart.RecipeManagement/View/RecipesConfigure.xaml b/BPASmart.RecipeManagement/View/RecipesConfigure.xaml new file mode 100644 index 00000000..cb9e0cd1 --- /dev/null +++ b/BPASmart.RecipeManagement/View/RecipesConfigure.xaml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +