Browse Source

Merge branch 'reconfiguration' of http://111.9.47.105:10244/bpa/BPASmartClient into reconfiguration

JXJAgvReake
pry 1 year ago
parent
commit
80e2fe8717
20 changed files with 477 additions and 132 deletions
  1. +1
    -0
      BPASmartClient.Tourism/BPASmartClient.MorkCL.csproj
  2. +6
    -0
      BPASmartClient.Tourism/Control_MorkCL.cs
  3. +10
    -1
      BPASmartClient.Tourism/HelpClass/FuncSet.cs
  4. +25
    -0
      BPASmartClient.Tourism/Model/Json/MaterialsInfo.cs
  5. +14
    -0
      BPASmartClient.Tourism/Model/Json/RecipesInfo.cs
  6. +43
    -0
      BPASmartClient.Tourism/Model/Recipe/TempRecipe.cs
  7. +10
    -10
      BPASmartClient.Tourism/View/AddRawMaterialView.xaml
  8. +11
    -11
      BPASmartClient.Tourism/View/Debug.xaml
  9. +13
    -3
      BPASmartClient.Tourism/View/EditFunctionParamView.xaml
  10. +5
    -0
      BPASmartClient.Tourism/View/EditFunctionParamView.xaml.cs
  11. +15
    -20
      BPASmartClient.Tourism/View/EditRecipeView.xaml
  12. +5
    -0
      BPASmartClient.Tourism/View/EditRecipeView.xaml.cs
  13. +53
    -4
      BPASmartClient.Tourism/View/ItemStorageView.xaml
  14. +1
    -1
      BPASmartClient.Tourism/View/ParSet.xaml
  15. +6
    -6
      BPASmartClient.Tourism/View/RecipeManageView.xaml
  16. +49
    -1
      BPASmartClient.Tourism/ViewModel/AddRawMaterialViewModel.cs
  17. +8
    -12
      BPASmartClient.Tourism/ViewModel/EditFunctionParamViewModel.cs
  18. +134
    -38
      BPASmartClient.Tourism/ViewModel/EditRecipeViewModel.cs
  19. +37
    -1
      BPASmartClient.Tourism/ViewModel/ItemStorageViewModel.cs
  20. +31
    -24
      BPASmartClient.Tourism/ViewModel/RecipeManageViewModel.cs

+ 1
- 0
BPASmartClient.Tourism/BPASmartClient.MorkCL.csproj View File

@@ -7,6 +7,7 @@
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.84" /> <PackageReference Include="SqlSugarCore" Version="5.1.4.84" />
</ItemGroup> </ItemGroup>




+ 6
- 0
BPASmartClient.Tourism/Control_MorkCL.cs View File

@@ -1,5 +1,6 @@
using BPA.Message.Enum; using BPA.Message.Enum;
using BPASmartClient.Device; using BPASmartClient.Device;
using BPASmartClient.MorkCL.Model.Json;
using BPASmartClient.MorkCL.Server; using BPASmartClient.MorkCL.Server;
using SqlSugar; using SqlSugar;
using System; using System;
@@ -48,6 +49,11 @@ namespace BPASmartClient.MorkCL
devices[EDeviceType.机器人].Init(ConnectPar.RobotIP); devices[EDeviceType.机器人].Init(ConnectPar.RobotIP);
devices[EDeviceType.压力锅].Init(ConnectPar.PressureCookerIP); devices[EDeviceType.压力锅].Init(ConnectPar.PressureCookerIP);
devices[EDeviceType.外部设备].Init(ConnectPar.PPortName); devices[EDeviceType.外部设备].Init(ConnectPar.PPortName);

#region 读取本地文件数据
Json<RecipesInfo>.Read();
Json<MaterialsInfo>.Read();
#endregion
} }


public override void MainTask() public override void MainTask()


+ 10
- 1
BPASmartClient.Tourism/HelpClass/FuncSet.cs View File

@@ -13,7 +13,16 @@ namespace BPASmartClient.MorkCL.HelpClass
public class FuncSet public class FuncSet
{ {
public int Step { get; set; } public int Step { get; set; }
public string FuncName { get; set; }

private string _FuncName;
public string FuncName
{
get { return _FuncName; }
set { _FuncName = value;
FuncPars = InitData.FunParInit[(EFunc)Enum.Parse(typeof(EFunc),value)]?.ToList();
}
}

public List<FuncPar> FuncPars { get; set; } public List<FuncPar> FuncPars { get; set; }
} }
} }

+ 25
- 0
BPASmartClient.Tourism/Model/Json/MaterialsInfo.cs View File

@@ -0,0 +1,25 @@
using BPASmartClient.MorkCL.Model.DataInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkCL.Model.Json
{
public class MaterialsInfo
{
/// <summary>
/// 辅料信息集合
/// </summary>
public ObservableCollection<AccessoriesInfo> Accessories { get; set; }=new ObservableCollection<AccessoriesInfo>();
/// <summary>
/// 主料信息集合
/// </summary>
public ObservableCollection<IngredientsInfo> Ingredients { get; set; }=new ObservableCollection<IngredientsInfo>();
/// <summary>
/// 调料信息集合
/// </summary>
public ObservableCollection<SeasoningInfo> Seasonings { get; set; }=new ObservableCollection<SeasoningInfo>();
}
}

+ 14
- 0
BPASmartClient.Tourism/Model/Json/RecipesInfo.cs View File

@@ -0,0 +1,14 @@
using BPASmartClient.MorkCL.Model.Recipe;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkCL.Model.Json
{
public class RecipesInfo
{
public ObservableCollection<TempRecipeData> LocalRecipes { get; set; }=new ObservableCollection<TempRecipeData>();
}
}

+ 43
- 0
BPASmartClient.Tourism/Model/Recipe/TempRecipe.cs View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkCL.Model.Recipe
{
public class TempRecipeData:NotifyBase
{
private string _Name;

public string Name
{
get { return _Name; }
set { _Name = value; OnPropertyChanged(); }
}
private string _ID;

public string ID
{
get { return _ID; }
set { _ID = value; OnPropertyChanged(); }
}
private string _Remark;

public string Remark
{
get { return _Remark; }
set { _Remark = value; OnPropertyChanged(); }
}
private Dictionary<EFunc, FuncPar[]> _Functions;

public Dictionary<EFunc, FuncPar[]> Functions
{
get { return _Functions; }
set { _Functions = value; OnPropertyChanged(); }
}



}
}

+ 10
- 10
BPASmartClient.Tourism/View/AddRawMaterialView.xaml View File

@@ -48,12 +48,12 @@
<Button <Button
Margin="30,0" Margin="30,0"
Content="新增辅料数据" Content="新增辅料数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding AddMaterialCommand}" CommandParameter="辅料"/>


<Button <Button
Margin="30,0" Margin="30,0"
Content="保存数据" Content="保存数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding SaveMaterialInfoCommand}" CommandParameter="辅料"/>
</DockPanel> </DockPanel>
<!--#region 表格标题栏设置--> <!--#region 表格标题栏设置-->
<Grid <Grid
@@ -130,7 +130,7 @@
<TextBox <TextBox
Style="{StaticResource DataShowTextBoxStyle}" Style="{StaticResource DataShowTextBoxStyle}"
Text="{Binding Name}" Text="{Binding Name}"
TextAlignment="Center" />
TextAlignment="Center" MinWidth="100"/>
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" BorderThickness="1,0,1,0"
@@ -196,12 +196,12 @@
<Button <Button
Margin="30,0" Margin="30,0"
Content="新增调料数据" Content="新增调料数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding AddMaterialCommand}" CommandParameter="调料"/>


<Button <Button
Margin="30,0" Margin="30,0"
Content="保存数据" Content="保存数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding SaveMaterialInfoCommand}" CommandParameter="调料"/>
</DockPanel> </DockPanel>
<!--#region 表格标题栏设置--> <!--#region 表格标题栏设置-->
<Grid <Grid
@@ -275,7 +275,7 @@
<TextBox <TextBox
Style="{StaticResource DataShowTextBoxStyle}" Style="{StaticResource DataShowTextBoxStyle}"
Text="{Binding Name}" Text="{Binding Name}"
TextAlignment="Center" />
TextAlignment="Center" MinWidth="100"/>
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" BorderThickness="1,0,1,0"
@@ -347,12 +347,12 @@
<Button <Button
Margin="30,0" Margin="30,0"
Content="新增主料数据" Content="新增主料数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding AddMaterialCommand}" CommandParameter="主料"/>


<Button <Button
Margin="30,0" Margin="30,0"
Content="保存数据" Content="保存数据"
DockPanel.Dock="Right" />
DockPanel.Dock="Right" Command="{Binding SaveMaterialInfoCommand}" CommandParameter="主料"/>
</DockPanel> </DockPanel>
<!--#region 表格标题栏设置--> <!--#region 表格标题栏设置-->
<Grid <Grid
@@ -424,7 +424,7 @@
<TextBox <TextBox
Style="{StaticResource DataShowTextBoxStyle}" Style="{StaticResource DataShowTextBoxStyle}"
Text="{Binding Name}" Text="{Binding Name}"
TextAlignment="Center" />
TextAlignment="Center" MinWidth="100"/>
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" BorderThickness="1,0,1,0"
@@ -433,7 +433,7 @@


<Grid Grid.Column="2"> <Grid Grid.Column="2">
<Button <Button
Command="{Binding DataContext.RemoveSeasoningCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
Command="{Binding DataContext.RemoveIngreditentCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
CommandParameter="{Binding Id}" CommandParameter="{Binding Id}"
Content="删除" Content="删除"
FontSize="16" FontSize="16"


+ 11
- 11
BPASmartClient.Tourism/View/Debug.xaml View File

@@ -1,11 +1,13 @@
<UserControl x:Class="BPASmartClient.MorkCL.View.Debug"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BPASmartClient.MorkCL.View"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl
x:Class="BPASmartClient.MorkCL.View.Debug"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BPASmartClient.MorkCL.View"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450"
d:DesignWidth="800" Name="调试界面"
mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
@@ -14,7 +16,5 @@
</ResourceDictionary.MergedDictionaries> </ResourceDictionary.MergedDictionaries>
</ResourceDictionary> </ResourceDictionary>
</UserControl.Resources> </UserControl.Resources>
<Grid>

</Grid>
<Grid />
</UserControl> </UserControl>

+ 13
- 3
BPASmartClient.Tourism/View/EditFunctionParamView.xaml View File

@@ -76,15 +76,25 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
<TextBlock Style="{StaticResource TextBlockStyle}" Text="{Binding ParName, StringFormat={}{0}:}" /> <TextBlock Style="{StaticResource TextBlockStyle}" Text="{Binding ParName, StringFormat={}{0}:}" />
<TextBox Style="{StaticResource InputTextboxStyle}" Text="{Binding ParValue}" />
<TextBlock Style="{StaticResource TextBlockStyle}" Text="{Binding ParUnit}" HorizontalAlignment="Left"/>
<TextBox
Height="30"
BorderBrush="DeepSkyBlue"
BorderThickness="1"
Style="{StaticResource InputTextboxStyle}"
Text="{Binding ParValue}" />
<TextBlock
Margin="5,0"
HorizontalAlignment="Left"
Style="{StaticResource TextBlockStyle}"
Text="{Binding ParUnit}" />
</StackPanel> </StackPanel>
<TextBlock <TextBlock
Grid.Row="1" Grid.Row="1"
HorizontalAlignment="Left" HorizontalAlignment="Left"
FontSize="12" FontSize="12"
Foreground="#7DC3D5"
Style="{StaticResource TextBlockStyle}" Style="{StaticResource TextBlockStyle}"
Text="{Binding ParDescribe, StringFormat=备注:{0}}" Foreground="#7DC3D5"/>
Text="{Binding ParDescribe, StringFormat=备注:{0}}" />
</Grid> </Grid>


</DataTemplate> </DataTemplate>


+ 5
- 0
BPASmartClient.Tourism/View/EditFunctionParamView.xaml.cs View File

@@ -23,6 +23,11 @@ namespace BPASmartClient.MorkCL.View
{ {
InitializeComponent(); InitializeComponent();
this.br.MouseLeftButtonDown += (o, e) => { if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); }; this.br.MouseLeftButtonDown += (o, e) => { if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); };

ActionManage.GetInstance.Register((object b) => {
this.DialogResult =(bool)b ;
this.Close();
},"CloseFuncParmEditView",true);
} }


private void Button_Click(object sender, RoutedEventArgs e) private void Button_Click(object sender, RoutedEventArgs e)


+ 15
- 20
BPASmartClient.Tourism/View/EditRecipeView.xaml View File

@@ -2,6 +2,7 @@
x:Class="BPASmartClient.MorkCL.View.EditRecipeView" x:Class="BPASmartClient.MorkCL.View.EditRecipeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BPASmartClient.MorkCL.View" xmlns:local="clr-namespace:BPASmartClient.MorkCL.View"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -101,22 +102,19 @@
<Grid Margin="0,10,0,0" Background="#ff0C255F"> <Grid Margin="0,10,0,0" Background="#ff0C255F">


<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="50" />
<ColumnDefinition /> <ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>


<Grid Grid.Column="0"> <Grid Grid.Column="0">
<TextBlock
Style="{StaticResource TitleTextblockStyle}"
Text="步骤" />
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="步骤" />
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" BorderThickness="1,0,1,0"
Cursor="SizeWE" /> Cursor="SizeWE" />
</Grid> </Grid>


<TextBlock <TextBlock
Grid.Column="1" Grid.Column="1"
@@ -136,12 +134,10 @@
Style="{StaticResource TitleTextblockStyle}" Style="{StaticResource TitleTextblockStyle}"
Text="删除" /> Text="删除" />



<Border <Border
Grid.ColumnSpan="10" Grid.ColumnSpan="10"
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" /> BorderThickness="1,0,1,0" />

</Grid> </Grid>
<!--#endregion--> <!--#endregion-->


@@ -153,30 +149,31 @@
<DataTemplate> <DataTemplate>
<Grid Name="gr" Height="30"> <Grid Name="gr" Height="30">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition/>
<ColumnDefinition Width="50" />
<ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
<ColumnDefinition /> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid> <Grid>
<TextBlock <TextBlock
Grid.Column="0"
Style="{StaticResource LeftAligentTextStyle}" Text="{Binding Step}" HorizontalAlignment="Center"
TextAlignment="Right" />
Grid.Column="0"
HorizontalAlignment="Center"
Style="{StaticResource LeftAligentTextStyle}"
Text="{Binding Step}"
TextAlignment="Right" />
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="2,0,2,0" BorderThickness="2,0,2,0"
Cursor="SizeWE" /> Cursor="SizeWE" />
</Grid> </Grid>
<Grid Grid.Column="1"> <Grid Grid.Column="1">
<ComboBox <ComboBox
FontSize="18" FontSize="18"
IsReadOnly="True" IsReadOnly="True"
Text="{Binding FuncName}"
ItemsSource="{Binding DataContext.AllFunc, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}">
ItemsSource="{Binding DataContext.AllFunc, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
Text="{Binding FuncName}">
</ComboBox> </ComboBox>
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
@@ -184,7 +181,6 @@
Cursor="SizeWE" /> Cursor="SizeWE" />
</Grid> </Grid>



<Grid Grid.Column="2"> <Grid Grid.Column="2">
<Button <Button
Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
@@ -215,7 +211,6 @@
Grid.ColumnSpan="10" Grid.ColumnSpan="10"
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,1" /> BorderThickness="1,0,1,1" />

</Grid> </Grid>
<DataTemplate.Triggers> <DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true"> <Trigger Property="IsMouseOver" Value="true">
@@ -232,4 +227,4 @@
<!--#endregion--> <!--#endregion-->
</Grid> </Grid>
</Border> </Border>
</Window>
</Window>

+ 5
- 0
BPASmartClient.Tourism/View/EditRecipeView.xaml.cs View File

@@ -23,6 +23,11 @@ namespace BPASmartClient.MorkCL.View
{ {
InitializeComponent(); InitializeComponent();
this.br.MouseLeftButtonDown += (o, e) => { if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); }; this.br.MouseLeftButtonDown += (o, e) => { if (e.LeftButton == MouseButtonState.Pressed) this.DragMove(); };

ActionManage.GetInstance.Register(() =>
{
this.Close();
}, "CloseEditRecipeView", true);
} }


private void Button_Click(object sender, RoutedEventArgs e) private void Button_Click(object sender, RoutedEventArgs e)


+ 53
- 4
BPASmartClient.Tourism/View/ItemStorageView.xaml View File

@@ -5,10 +5,14 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BPASmartClient.MorkCL.View" xmlns:local="clr-namespace:BPASmartClient.MorkCL.View"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="clr-namespace:BPASmartClient.MorkCL.ViewModel"
Name="库位状态" Name="库位状态"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.DataContext>
<vm:ItemStorageViewModel />
</UserControl.DataContext>
<UserControl.Resources> <UserControl.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
@@ -29,7 +33,7 @@


<!--#region 入库电子称状态--> <!--#region 入库电子称状态-->
<StackPanel> <StackPanel>
<TextBlock Width="200" Text="{Binding Weight, StringFormat=当前重量:{0}g}" />
<TextBlock Width="200" Text="{Binding ScaleCurrentWeight, StringFormat=当前重量:{0} g}" />
</StackPanel> </StackPanel>
<!--#endregion--> <!--#endregion-->


@@ -53,8 +57,10 @@
Grid.Row="1" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Margin="3" Margin="3"
Background="AliceBlue"
BorderThickness="1">
Background="Transparent"
BorderThickness="1"
ItemsSource="{Binding Materials}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemsPanel> <ListView.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<UniformGrid <UniformGrid
@@ -67,7 +73,50 @@


<ListView.ItemTemplate> <ListView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Border Background="Black" />
<Border Margin="5" Background="Transparent">
<Grid Height="180">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>

<TextBlock
Margin="0,0,0,25"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
FontSize="25"
Foreground="#ffccd61f"
Text="{Binding Name}" />
<TextBlock
Grid.Row="1"
Margin="0,0,0,35"
HorizontalAlignment="Center"
FontSize="20"
Foreground="#FF0084FF"
Text="{Binding Weight,StringFormat={}{0} KG}" />


<StackPanel
Grid.Row="1"
Margin="0,25"
HorizontalAlignment="Center"
Orientation="Horizontal">
<TextBlock
FontSize="20"
Foreground="#FF0084FF"
Text="{Binding ID}" />
<TextBlock
FontSize="20"
Foreground="#FF0084FF"
Text=" 号仓" />
</StackPanel>
<Image
Grid.RowSpan="2"
Source="/BPASmartClient.CustomResource;component/Image/光柱.png"
Stretch="Fill" />
</Grid>
</Border>
</DataTemplate> </DataTemplate>
</ListView.ItemTemplate> </ListView.ItemTemplate>
</ListView> </ListView>


+ 1
- 1
BPASmartClient.Tourism/View/ParSet.xaml View File

@@ -6,7 +6,7 @@
xmlns:local="clr-namespace:BPASmartClient.MorkCL.View" xmlns:local="clr-namespace:BPASmartClient.MorkCL.View"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800"
d:DesignWidth="800" Name="参数设置"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<ResourceDictionary> <ResourceDictionary>


+ 6
- 6
BPASmartClient.Tourism/View/RecipeManageView.xaml View File

@@ -171,18 +171,18 @@
<ColumnDefinition Width="100" /> <ColumnDefinition Width="100" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>


<TextBox
<TextBlock
Grid.Column="0" Grid.Column="0"
IsReadOnly="True"
Style="{StaticResource DataShowTextBoxStyle}"
Text="{Binding ID}"
Style="{StaticResource TextBlockStyle}"
HorizontalAlignment="Center"
Text="{Binding Name}"
TextAlignment="Center" /> TextAlignment="Center" />


<Grid Grid.Column="1"> <Grid Grid.Column="1">
<TextBox <TextBox
Style="{StaticResource DataShowTextBoxStyle}" Style="{StaticResource DataShowTextBoxStyle}"
Text="{Binding Remark}" Text="{Binding Remark}"
TextAlignment="Center" />
TextAlignment="Center" MinWidth="200"/>
<Border <Border
BorderBrush="{StaticResource bordColor}" BorderBrush="{StaticResource bordColor}"
BorderThickness="1,0,1,0" BorderThickness="1,0,1,0"
@@ -205,7 +205,7 @@
<Grid Grid.Column="3" Margin="5"> <Grid Grid.Column="3" Margin="5">
<Button <Button
Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}"
CommandParameter="{Binding ID}"
CommandParameter="{Binding}"
Content="编辑" Content="编辑"
FontSize="16" FontSize="16"
Style="{StaticResource IssueRecipeButtonStyle}" /> Style="{StaticResource IssueRecipeButtonStyle}" />


+ 49
- 1
BPASmartClient.Tourism/ViewModel/AddRawMaterialViewModel.cs View File

@@ -5,6 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BPASmartClient.MorkCL.Model.DataInfo; using BPASmartClient.MorkCL.Model.DataInfo;
using BPASmartClient.MorkCL.Model.Json;


namespace BPASmartClient.MorkCL.ViewModel namespace BPASmartClient.MorkCL.ViewModel
{ {
@@ -12,12 +13,51 @@ namespace BPASmartClient.MorkCL.ViewModel
{ {
public AddRawMaterialViewModel() public AddRawMaterialViewModel()
{ {
InitialTestData(); InitialTestData();



RemoveAccessoryCommand = new BPARelayCommand<string>((Id) => RemoveAccessoryCommand = new BPARelayCommand<string>((Id) =>
{ {
Accessories.Remove(Accessories.FirstOrDefault(a=>a.Id==Id)); Accessories.Remove(Accessories.FirstOrDefault(a=>a.Id==Id));
}); });
RemoveIngreditentCommand = new BPARelayCommand<string>((Id) =>
{
Ingredients.Remove(Ingredients.FirstOrDefault(a => a.Id == Id));
});
RemoveSeasoningCommand = new BPARelayCommand<string>((Id) =>
{
Seasonings.Remove(Seasonings.FirstOrDefault(a => a.Id == Id));
});

AddMaterialCommand = new BPARelayCommand<string>((materialType) =>
{
switch (materialType)
{
case "主料":Ingredients.Add(new IngredientsInfo());
break;
case "辅料":
Accessories.Add(new AccessoriesInfo());
break;
case "调料":
Seasonings.Add(new SeasoningInfo());
break;
}
});
SaveMaterialInfoCommand = new BPARelayCommand<string>((materialType) =>
{
//TODO:暂时不写 可能使用数据库保存。
switch (materialType)
{
case "主料":
break;
case "辅料":
break;
case "调料":
break;
}
});
} }


private void InitialTestData() private void InitialTestData()
@@ -67,5 +107,13 @@ namespace BPASmartClient.MorkCL.ViewModel
/// 删除调料信息 /// 删除调料信息
/// </summary> /// </summary>
public BPARelayCommand<string> RemoveSeasoningCommand { get; set; } public BPARelayCommand<string> RemoveSeasoningCommand { get; set; }
/// <summary>
/// 添加物料信息。
/// </summary>
public BPARelayCommand<string> AddMaterialCommand { get; set; }
/// <summary>
/// 保存物料信息。
/// </summary>
public BPARelayCommand<string> SaveMaterialInfoCommand { get; set; }
} }
} }

+ 8
- 12
BPASmartClient.Tourism/ViewModel/EditFunctionParamViewModel.cs View File

@@ -13,7 +13,6 @@ namespace BPASmartClient.MorkCL.ViewModel
public EditFunctionParamViewModel() public EditFunctionParamViewModel()
{ {
//AddTestData(); //AddTestData();
ActionManage.GetInstance.CancelRegister("OpenFuncEditView");
ActionManage.GetInstance.Register((object o) => ActionManage.GetInstance.Register((object o) =>
{ {
FuncPars.Clear(); FuncPars.Clear();
@@ -34,7 +33,13 @@ namespace BPASmartClient.MorkCL.ViewModel
} }
} }
} }
}, "OpenFuncEditView");
}, "OpenFuncEditView",true);

SaveParamCommand = new BPARelayCommand(() =>{

//关闭视图窗口。
ActionManage.GetInstance.Send("CloseFuncParmEditView",true);
});
} }


void AddTestData() void AddTestData()
@@ -59,15 +64,6 @@ namespace BPASmartClient.MorkCL.ViewModel
/// 保存参数。 /// 保存参数。
/// </summary> /// </summary>
public BPARelayCommand SaveParamCommand { get; set; } public BPARelayCommand SaveParamCommand { get; set; }
/// <summary>
/// 添加功能
/// </summary>
public BPARelayCommand AddParamCommand { get; set; }
/// <summary>
/// 删除功能。
/// </summary>
public BPARelayCommand<object> RemoveCommand { get; set; }



private string _FuncName; private string _FuncName;
/// <summary> /// <summary>
@@ -79,7 +75,7 @@ namespace BPASmartClient.MorkCL.ViewModel
set { _FuncName = value;OnPropertyChanged(); } set { _FuncName = value;OnPropertyChanged(); }
} }


public ObservableCollection<FuncPar> FuncPars { get; set; } = new ObservableCollection<FuncPar>();
public static ObservableCollection<FuncPar> FuncPars { get; set; } = new ObservableCollection<FuncPar>();




} }


+ 134
- 38
BPASmartClient.Tourism/ViewModel/EditRecipeViewModel.cs View File

@@ -1,42 +1,141 @@
using BPASmartClient.MorkCL.HelpClass;
using BPASmartClient.MorkCL.Model.Func;
using System;
using System.CodeDom;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BPA.Helper;
using BPASmartClient.CustomResource.Pages.Model;
using BPASmartClient.CustomResource.UserControls.MessageShow;
using BPASmartClient.MorkCL.HelpClass;
using BPASmartClient.MorkCL.Model.Json;
using BPASmartClient.MorkCL.Model.Recipe;


namespace BPASmartClient.MorkCL.ViewModel namespace BPASmartClient.MorkCL.ViewModel
{ {
public class EditRecipeViewModel:NotifyBase
public class EditRecipeViewModel : NotifyBase
{ {
public EditRecipeViewModel() public EditRecipeViewModel()
{ {
AddTestData();
//AddTestData();

Functions = new();

ActionManage.GetInstance.Register((object o) =>
{
if (o != null && o is TempRecipeData recipe)
{
this.Name = recipe.Name;
this.ID = recipe.ID;

int step = 0;
Functions.Clear();
foreach (var func in recipe.Functions)
{
step++;
Functions.Add(new FuncSet() { FuncName = Enum.GetName<EFunc>(func.Key), FuncPars = func.Value?.ToList(), Step = step });
}
}
}, "OpenRecipeEditView",true);


AllFunc = new ObservableCollection<string>();
foreach (var item in Enum.GetNames(typeof(EFunc)))
{
AllFunc.Add(item);
}


SaveParamCommand = new BPARelayCommand(() => SaveParamCommand = new BPARelayCommand(() =>
{ {
if (!MessageNotify.GetInstance.ShowDialog("请确认是否保存该配方?"))
{
return;
}


#region 数据验证
if (String.IsNullOrEmpty(Name)||Name.Length<=0)
{
MessageNotify.GetInstance.ShowDialog("配方名称不可为空,请重新输入后重试!");
return;
}
if (!int.TryParse(ID,out int Id))
{
MessageNotify.GetInstance.ShowDialog("配方ID不是数字,请重新输入后重试!");
return;
}
if (Functions==null||Functions.Count<=0)
{
MessageNotify.GetInstance.ShowDialog("没有可保存的配方功能配置,请验证后重试!");
return;
}
#endregion
Dictionary<EFunc, FuncPar[]> TempFunces=new Dictionary<EFunc, FuncPar[]>();
//查询是否是编辑现有配方。
int index = Array.FindIndex(Json<RecipesInfo>.Data.LocalRecipes.ToArray(), p => p.ID == ID);
//修改配方
if (index>=0)
{
foreach (var item in Functions)
{
TempFunces.Add((EFunc)Enum.Parse(typeof(EFunc), item.FuncName), item.FuncPars?.ToArray());
}
Json<RecipesInfo>.Data.LocalRecipes.ElementAt(index).ID = ID;
Json<RecipesInfo>.Data.LocalRecipes.ElementAt(index).Name = Name;
Json<RecipesInfo>.Data.LocalRecipes.ElementAt(index).Functions = TempFunces;
}
//没找到则为新增配方
else
{
foreach (var item in Functions)
{
TempFunces.Add((EFunc)Enum.Parse(typeof(EFunc), item.FuncName), item.FuncPars?.ToArray());
}
Json<RecipesInfo>.Data.LocalRecipes.Add(new TempRecipeData()
{
ID = ID,
Name = Name,
Remark = " ",
Functions = TempFunces
}) ;
}
//关闭窗体。
ActionManage.GetInstance.Send("CloseEditRecipeView");
}); });
AddFuncCommand = new BPARelayCommand(() => AddFuncCommand = new BPARelayCommand(() =>
{ {
Functions.Add(new FuncSet()
{
Step=Functions.Count+1
});
});


RemoveCommand = new BPARelayCommand<object>((o) =>
{
if (o !=null && o is FuncSet func)
{
Functions.Remove(func);
}
}); });


FuncChangeCommand = new BPARelayCommand<object>((o) =>
{
if (o!=null && o is FuncSet funcSet)
{
funcSet.FuncPars = InitData.FunParInit[(EFunc)Enum.Parse(typeof(EFunc), funcSet.FuncName)]?.ToList();
}
});
EditCommand = new BPARelayCommand<object>((o) => EditCommand = new BPARelayCommand<object>((o) =>
{ {
if (o is FuncSet)
if (o is FuncSet funcSet)
{ {
ActionManage.GetInstance.Send("OpenFuncEditView", o);
EditFunctionParamView editFunction = new EditFunctionParamView(); EditFunctionParamView editFunction = new EditFunctionParamView();
editFunction.ShowDialog();
ActionManage.GetInstance.Send("OpenFuncEditView", o);
if (editFunction.ShowDialog()==true)
{
funcSet.FuncPars = EditFunctionParamViewModel.FuncPars?.ToList();
}
} }
}); });
} }



private void AddTestData() private void AddTestData()
{ {
ID = "32587"; ID = "32587";
@@ -48,38 +147,32 @@ namespace BPASmartClient.MorkCL.ViewModel
//{ //{
// Functions.Add(item); // Functions.Add(item);
//} //}
Functions = new();
int step = 0;
foreach (var func in InitData.FunParInit)
{
step++;
Functions.Add(new FuncSet() { FuncName = Enum.GetName<EFunc>(func.Key), FuncPars = func.Value.ToList(),Step=step});
}
AllFunc = new ObservableCollection<string>();
foreach (var item in Enum.GetNames(typeof(EFunc)))
{
AllFunc.Add(item);
}
} }

/// <summary> /// <summary>
/// 保存参数。 /// 保存参数。
/// </summary> /// </summary>
public BPARelayCommand SaveParamCommand { get; set; } public BPARelayCommand SaveParamCommand { get; set; }

/// <summary> /// <summary>
/// 添加功能 /// 添加功能
/// </summary> /// </summary>
public BPARelayCommand AddFuncCommand { get; set; } public BPARelayCommand AddFuncCommand { get; set; }

/// <summary> /// <summary>
/// 删除功能。 /// 删除功能。
/// </summary> /// </summary>
public BPARelayCommand<object> RemoveCommand { get; set; } public BPARelayCommand<object> RemoveCommand { get; set; }
/// <summary>
/// 功能改变。
/// </summary>
public BPARelayCommand<object> FuncChangeCommand { get; set; }

/// <summary> /// <summary>
/// 编辑功能。 /// 编辑功能。
/// </summary> /// </summary>
public BPARelayCommand<object> EditCommand { get; set; } public BPARelayCommand<object> EditCommand { get; set; }



private ObservableCollection<FuncSet> _Functions; private ObservableCollection<FuncSet> _Functions;


public ObservableCollection<FuncSet> Functions public ObservableCollection<FuncSet> Functions
@@ -88,17 +181,20 @@ namespace BPASmartClient.MorkCL.ViewModel
set { _Functions = value; OnPropertyChanged(); } set { _Functions = value; OnPropertyChanged(); }
} }



private string _Name; private string _Name;

/// <summary>
/// 配方名称
/// </summary>
public string Name public string Name
{ {
get { return _Name; } get { return _Name; }
set { _Name = value;OnPropertyChanged(); }
set { _Name = value; OnPropertyChanged(); }
} }


private string _ID; private string _ID;

/// <summary>
/// 配方ID。
/// </summary>
public string ID public string ID
{ {
get { return _ID; } get { return _ID; }
@@ -106,13 +202,13 @@ namespace BPASmartClient.MorkCL.ViewModel
} }


private ObservableCollection<string> _AllFunc; private ObservableCollection<string> _AllFunc;
/// <summary>
/// 所有功能集合。
/// </summary>
public ObservableCollection<string> AllFunc public ObservableCollection<string> AllFunc
{ {
get { return _AllFunc; } get { return _AllFunc; }
set { _AllFunc = value;OnPropertyChanged(); }
set { _AllFunc = value; OnPropertyChanged(); }
} }


} }
}
}

+ 37
- 1
BPASmartClient.Tourism/ViewModel/ItemStorageViewModel.cs View File

@@ -6,7 +6,43 @@ using System.Threading.Tasks;


namespace BPASmartClient.MorkCL.ViewModel namespace BPASmartClient.MorkCL.ViewModel
{ {
internal class ItemStorageViewModel
public class ItemStorageViewModel:NotifyBase
{ {
public ItemStorageViewModel()
{
Materials = new ObservableCollection<TempMaterial>();
AddTestData();
}

void AddTestData()
{
ScaleCurrentWeight = 1.23f;
Materials.Clear();
for (int i = 1; i < 13; i++)
{
Materials.Add(new TempMaterial() { ID = 10000 + i, Loc = i.ToString(), Name = $"第{i}库位", Weight = new Random().NextSingle() });
}
}

private float _ScaleCurrentWeight;
public float ScaleCurrentWeight { get { return _ScaleCurrentWeight; } set { _ScaleCurrentWeight = value; OnPropertyChanged(); } }

private ObservableCollection<TempMaterial> _Materials;

public ObservableCollection<TempMaterial> Materials
{
get { return _Materials; }
set { _Materials = value; OnPropertyChanged(); }
}


}
public class TempMaterial
{
public int ID { get; set; }
public string Name { get; set; }
public float Weight { get; set; }
public string Loc { get; set; }
} }
} }

+ 31
- 24
BPASmartClient.Tourism/ViewModel/RecipeManageViewModel.cs View File

@@ -1,41 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BPASmartClient.CustomResource.Pages.Model;
using BPASmartClient.MorkCL.Model.Json;
using BPASmartClient.MorkCL.Model.Recipe;


namespace BPASmartClient.MorkCL.ViewModel namespace BPASmartClient.MorkCL.ViewModel
{ {
public class RecipeManageViewModel:NotifyBase
public class RecipeManageViewModel : NotifyBase
{ {
public RecipeManageViewModel() public RecipeManageViewModel()
{ {
Recipes = new();
AddTestData();
Recipes = Json<RecipesInfo>.Data.LocalRecipes;
//AddTestData();


SaveParamCommand = new(() => SaveParamCommand = new(() =>
{ {

if (MessageNotify.GetInstance.ShowDialog("是否保存所有配方信息?", DialogType.Warning))
{
Json<RecipesInfo>.Save();
}
}); });
AddRecipeCommand = new(() => {
AddRecipeCommand = new(() =>
{
EditRecipeView editRecipeView = new EditRecipeView();
editRecipeView.ShowDialog();
}); });
RemoveCommand = new((id) => RemoveCommand = new((id) =>
{ {

if (MessageNotify.GetInstance.ShowDialog("是否删除该配方?", DialogType.Warning))
{
var deleteRecipe = Recipes.FirstOrDefault(recipe => recipe.ID == id.ToString());
if (deleteRecipe != null)
{
Recipes.Remove(deleteRecipe);
}
}
}); });
IssueCommand = new((id) => IssueCommand = new((id) =>
{ {

//TODO:下发逻辑,暂时不清楚。
}); });
EditCommand = new((o) => EditCommand = new((o) =>
{ {
EditRecipeView editRecipeView = new EditRecipeView(); EditRecipeView editRecipeView = new EditRecipeView();
ActionManage.GetInstance.Send("OpenRecipeEditView", o);
editRecipeView.ShowDialog(); editRecipeView.ShowDialog();
}); });
} }



/// <summary> /// <summary>
/// 配方类,里面应该包含配方数据。 /// 配方类,里面应该包含配方数据。
/// </summary> /// </summary>
@@ -45,37 +55,34 @@ namespace BPASmartClient.MorkCL.ViewModel
/// 保存参数。 /// 保存参数。
/// </summary> /// </summary>
public BPARelayCommand SaveParamCommand { get; set; } public BPARelayCommand SaveParamCommand { get; set; }

/// <summary> /// <summary>
/// 添加配方。 /// 添加配方。
/// </summary> /// </summary>
public BPARelayCommand AddRecipeCommand { get; set; } public BPARelayCommand AddRecipeCommand { get; set; }

/// <summary> /// <summary>
/// 移除配方。 /// 移除配方。
/// </summary> /// </summary>
public BPARelayCommand<object> RemoveCommand { get; set; } public BPARelayCommand<object> RemoveCommand { get; set; }

/// <summary> /// <summary>
/// 下发配方。 /// 下发配方。
/// </summary> /// </summary>
public BPARelayCommand<object> IssueCommand { get; set; } public BPARelayCommand<object> IssueCommand { get; set; }

/// <summary> /// <summary>
/// 编辑配方。 /// 编辑配方。
/// </summary> /// </summary>
public BPARelayCommand<object> EditCommand { get; set; } public BPARelayCommand<object> EditCommand { get; set; }


void AddTestData()
private void AddTestData()
{ {
Recipes.Clear(); Recipes.Clear();
for (int i = 1; i < 10; i++) for (int i = 1; i < 10; i++)
{ {
Recipes.Add(new TempRecipeData() { ID = i.ToString(),Name=$"{i}道菜",Remark=$"这是第{i}道菜。" });
Recipes.Add(new TempRecipeData() { ID = i.ToString(), Name = $"{i}道菜", Remark = $"这是第{i}道菜。" });
} }
} }
public class TempRecipeData
{
public string Name { get; set; }
public string ID { get; set; }
public string Remark { get; set; }

}
} }
}
}

Loading…
Cancel
Save