@@ -105,6 +105,11 @@ namespace BPASmartClient.Device | |||||
/// </summary> | /// </summary> | ||||
private List<IPeripheral> peripherals; | private List<IPeripheral> peripherals; | ||||
/// <summary> | |||||
/// <炒锅>:<外设状态,硬件设备数据>的键值对 | |||||
/// </summary> | |||||
protected Dictionary<int, ConcurrentDictionary<string, object>> dicPort2peripheralStatus = new Dictionary<int, ConcurrentDictionary<string, object>>(); | |||||
public Action<int, object> AddErrorAction { get; set; } | public Action<int, object> AddErrorAction { get; set; } | ||||
public Action<int, object> DeleteErrorAction { get; set; } | public Action<int, object> DeleteErrorAction { get; set; } | ||||
public List<Alarm> alarms { get; set; } = new List<Alarm>(); | public List<Alarm> alarms { get; set; } = new List<Alarm>(); | ||||
@@ -176,19 +181,34 @@ namespace BPASmartClient.Device | |||||
{ | { | ||||
ThreadManage.GetInstance().StartLong(new Action(() => | ThreadManage.GetInstance().StartLong(new Action(() => | ||||
{ | { | ||||
int i = 0; | |||||
foreach (var peripheral in peripherals) | foreach (var peripheral in peripherals) | ||||
{ | { | ||||
string TypeName = peripheral.GetType().FullName.Replace("BPASmartClient.", ""); | string TypeName = peripheral.GetType().FullName.Replace("BPASmartClient.", ""); | ||||
Status.Update($"{TypeName}.IsConnected", peripheral.IsConnected); | Status.Update($"{TypeName}.IsConnected", peripheral.IsConnected); | ||||
Status.Update($"{TypeName}.IsWork", peripheral.IsWork); | Status.Update($"{TypeName}.IsWork", peripheral.IsWork); | ||||
//做为炒锅与状态字典的新数据 | |||||
ConcurrentDictionary<string, object> newPeripheralStatus = new ConcurrentDictionary<string, object>(); | |||||
foreach (var key in peripheral.GetAllStatus().Keys) | foreach (var key in peripheral.GetAllStatus().Keys) | ||||
{ | { | ||||
peripheralStatus[key] = peripheral.GetAllStatus()[key]; | peripheralStatus[key] = peripheral.GetAllStatus()[key]; | ||||
//新的硬件设备数据存储 | |||||
newPeripheralStatus[key] = peripheral.GetAllStatus()[key]; | |||||
if (TypeName != "PLC.PLCMachine") | if (TypeName != "PLC.PLCMachine") | ||||
{ | { | ||||
Status.Update($"{TypeName}.{key}", peripheral.GetAllStatus()[key]); | Status.Update($"{TypeName}.{key}", peripheral.GetAllStatus()[key]); | ||||
} | } | ||||
} | } | ||||
if(dicPort2peripheralStatus.ContainsKey(i)) | |||||
{ | |||||
dicPort2peripheralStatus[i] = newPeripheralStatus; | |||||
} | |||||
else | |||||
{ | |||||
//将存储的新硬件设备数据放入字典中,i是作为炒锅编号。 | |||||
dicPort2peripheralStatus.Add(i, newPeripheralStatus); | |||||
} | |||||
i++; | |||||
} | } | ||||
if (AddErrorAction != null && DeleteErrorAction != null) | if (AddErrorAction != null && DeleteErrorAction != null) | ||||
@@ -354,7 +374,7 @@ namespace BPASmartClient.Device | |||||
{ | { | ||||
ReadData(); | ReadData(); | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"ReadData:{DeviceId}"); | |||||
}), $"ReadData:{DeviceId}",true); | |||||
#endregion | #endregion | ||||
#region 任务流程 | #region 任务流程 | ||||
@@ -190,6 +190,16 @@ namespace BPASmartClient.Helper | |||||
return false; | return false; | ||||
} | } | ||||
/// <summary> | |||||
/// 根据key获取取消状态,为start()开启的task在外部停止使用。 | |||||
/// </summary> | |||||
/// <param name="key"></param> | |||||
/// <returns></returns> | |||||
public bool IsCanncel(string key) | |||||
{ | |||||
if(CancellationTokenSources.ContainsKey(guid + key)) return CancellationTokenSources[guid + key].IsCancellationRequested; | |||||
return false; | |||||
} | |||||
} | } | ||||
} | } |
@@ -160,7 +160,8 @@ namespace BPASmartClient.Modbus | |||||
} | } | ||||
} | } | ||||
} | } | ||||
else if (address.ToUpper().Contains("VW")|| address.ToUpper().Contains("VD") && address.Length >= 3) | |||||
else if ((address.ToUpper().Contains("VW") || address.ToUpper().Contains("VD")) && address.Length >= 3) | |||||
{ | { | ||||
var res = address.Substring(2); | var res = address.Substring(2); | ||||
if (res != null && int.TryParse(res, out int tempAddress)) | if (res != null && int.TryParse(res, out int tempAddress)) | ||||
@@ -262,7 +263,18 @@ namespace BPASmartClient.Modbus | |||||
commandType = CommandType.Coils; | commandType = CommandType.Coils; | ||||
return master.ReadCoils(slaveAddress, startAddress, len); | return master.ReadCoils(slaveAddress, startAddress, len); | ||||
} | } | ||||
else if (address.ToUpper().Contains("VW") || address.ToUpper().Contains("LW") || address.ToUpper().Contains("D") || address.ToUpper().Contains("GI")) | |||||
else if (address.ToUpper().Contains("VD")) | |||||
{ | |||||
commandType = CommandType.HoldingRegisters; | |||||
var var1 = master.ReadHoldingRegisters(slaveAddress, startAddress, len); | |||||
var var2 = master.ReadHoldingRegisters(slaveAddress, (ushort)(startAddress + 1), len); | |||||
int dest = 0; | |||||
dest |= (var2[0] & 0x0000ffff); | |||||
dest = (dest << 16) | (var1[0] & 0x0000ffff); | |||||
return dest; | |||||
} | |||||
else if (address.ToUpper().Contains("VW") || address.ToUpper().Contains("LW") || address.ToUpper().Contains("D")) | |||||
{ | { | ||||
commandType = CommandType.HoldingRegisters; | commandType = CommandType.HoldingRegisters; | ||||
return master.ReadHoldingRegisters(slaveAddress, startAddress, len); | return master.ReadHoldingRegisters(slaveAddress, startAddress, len); | ||||
@@ -373,14 +385,15 @@ namespace BPASmartClient.Modbus | |||||
commandType = CommandType.HoldingRegisters; | commandType = CommandType.HoldingRegisters; | ||||
if (value is int intValue) | if (value is int intValue) | ||||
{ | { | ||||
var val1 = (UInt16)intValue; | |||||
var val2 = Convert.ToUInt16(intValue >> 16 & 0x0000ffff); | |||||
var val1 = (UInt16)intValue; | |||||
var val2 = Convert.ToUInt16(intValue >> 16 & 0x0000ffff); | |||||
master.WriteSingleRegister(slaveAddress, startAddress, val1); | master.WriteSingleRegister(slaveAddress, startAddress, val1); | ||||
master.WriteSingleRegister(slaveAddress, (ushort)(startAddress + 1), val2); | master.WriteSingleRegister(slaveAddress, (ushort)(startAddress + 1), val2); | ||||
} | } | ||||
} | } | ||||
else if (address.ToUpper().Contains("VW") || address.ToUpper().Contains("LW") || address.ToUpper().Contains("D") || address.ToUpper().Contains("GI")) | |||||
else if (address.ToUpper().Contains("VW") || address.ToUpper().Contains("LW") || address.ToUpper().Contains("D")) | |||||
{ | { | ||||
commandType = CommandType.HoldingRegisters; | commandType = CommandType.HoldingRegisters; | ||||
if (value is ushort ushortValue) | if (value is ushort ushortValue) | ||||
@@ -10,11 +10,6 @@ namespace BPASmartClient.MorkF | |||||
{ | { | ||||
internal class GVL_MorkF | internal class GVL_MorkF | ||||
{ | { | ||||
/// <summary> | |||||
/// 小炒菜单集合 | |||||
/// </summary> | |||||
public List<StirFryGoods> LocalstirFryGoods =new List<StirFryGoods>(); | |||||
/// <summary> | /// <summary> | ||||
/// 小炒队列 | /// 小炒队列 | ||||
/// </summary> | /// </summary> | ||||
@@ -24,6 +19,10 @@ namespace BPASmartClient.MorkF | |||||
#region 炒锅1 | #region 炒锅1 | ||||
/// <summary> | /// <summary> | ||||
/// 炒锅是否在工作状态中 | |||||
/// </summary> | |||||
public bool FryWorking { get; set; } | |||||
/// <summary> | |||||
/// 炒锅自动模式 | /// 炒锅自动模式 | ||||
/// </summary> | /// </summary> | ||||
public bool AutoMode { get; set; } | public bool AutoMode { get; set; } | ||||
@@ -20,56 +20,46 @@ | |||||
</UserControl.Resources> | </UserControl.Resources> | ||||
<Grid> | <Grid> | ||||
<Grid.RowDefinitions> | <Grid.RowDefinitions> | ||||
<RowDefinition Height="162" ></RowDefinition> | |||||
<RowDefinition Height="81" ></RowDefinition> | |||||
<RowDefinition Height="81" ></RowDefinition> | |||||
<RowDefinition Height="285"></RowDefinition> | <RowDefinition Height="285"></RowDefinition> | ||||
<RowDefinition></RowDefinition> | <RowDefinition></RowDefinition> | ||||
</Grid.RowDefinitions> | </Grid.RowDefinitions> | ||||
<GroupBox Header="设备控制" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" > | <GroupBox Header="设备控制" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" > | ||||
<Grid Height="120"> | |||||
<Grid Height="50"> | |||||
<Grid.RowDefinitions> | <Grid.RowDefinitions> | ||||
<RowDefinition Height="1*"/> | <RowDefinition Height="1*"/> | ||||
<RowDefinition Height="2*"/> | |||||
<RowDefinition Height="1*"/> | |||||
</Grid.RowDefinitions> | </Grid.RowDefinitions> | ||||
<WrapPanel Orientation="Horizontal"> | <WrapPanel Orientation="Horizontal"> | ||||
<TextBlock Text="炒锅选择:" Margin="10,0"/> | |||||
<ComboBox ItemsSource="{Binding lstFry}" Width="80" Margin="10,0,10,0" HorizontalAlignment="Center" VerticalAlignment="Center" | |||||
SelectedValue="{Binding FryGear}" SelectedIndex="0"/> | |||||
<Button Content="设定" Margin="0,0,30,0" Command="{Binding SetFry}"/> | |||||
<Button Content="炒锅初始化" Command="{Binding PlcInite}" Cursor="Hand" Margin="10,0"/> | <Button Content="炒锅初始化" Command="{Binding PlcInite}" Cursor="Hand" Margin="10,0"/> | ||||
<Button Content="炒锅1复位" Command="{Binding Plc1Reset}" Cursor="Hand" Margin="10,0"/> | |||||
<TextBlock Text="菜单编号;" Margin="10,0"/> | |||||
<Button Content="炒锅复位" Command="{Binding Plc1Reset}" Cursor="Hand" Margin="10,0"/> | |||||
</WrapPanel> | |||||
</Grid> | |||||
</GroupBox> | |||||
<GroupBox Grid.Row="1" Header="自动炒菜" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" > | |||||
<Grid Height="50"> | |||||
<Grid.RowDefinitions> | |||||
<RowDefinition Height="1*"/> | |||||
</Grid.RowDefinitions> | |||||
<WrapPanel Grid.Row="1" Orientation="Horizontal"> | |||||
<TextBlock Text="菜单编号:" Margin="10,0"/> | |||||
<TextBox Text="{Binding FoodMenuID}" Width="100"/> | <TextBox Text="{Binding FoodMenuID}" Width="100"/> | ||||
<Button Content="下单" Margin="10,0" Command="{Binding StartOrder}" Cursor="Hand"/> | <Button Content="下单" Margin="10,0" Command="{Binding StartOrder}" Cursor="Hand"/> | ||||
<Button Content="本地模拟流程配置" Click="Button_Click"/> | <Button Content="本地模拟流程配置" Click="Button_Click"/> | ||||
<Button Content="本地模拟流程下单" Margin="10,0" Command="{Binding StartLocalOrder}"/> | |||||
</WrapPanel> | |||||
<WrapPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,-37" RenderTransformOrigin="0.503,0.715"> | |||||
<Button x:Name="checkValue" Content="炒锅1模拟" Command="{Binding Pot1SimOrder}" Margin="10,0"/> | |||||
<TextBlock Text="模拟参数--" Margin="5,0"/> | |||||
<TextBlock Text="油加热时间:" Margin="5,0"/> | |||||
<TextBox Text="{Binding OilTime}" Width="60" Margin="5,0"/> | |||||
<TextBlock Text="秒" Margin="5,0"/> | |||||
<TextBlock Text="油加热挡位" Margin="5,0"/> | |||||
<TextBox Text="{Binding OilFirGear}" Width="60" Margin="5,0"/> | |||||
<TextBlock Text="油搅拌挡位" Margin="5,0"/> | |||||
<TextBox Text="{Binding OilStrGear}" Width="60" Margin="5,0,20,0"/> | |||||
<TextBlock Text="菜品1加热时间:" Margin="5,0"/> | |||||
<TextBox Text="{Binding Food1Time}" Width="60" Margin="5,0"/> | |||||
<TextBlock Text="秒" Margin="20,0,80,0"/> | |||||
<TextBlock Text="菜品1加热挡位" Margin="5,0"/> | |||||
<TextBox Text="{Binding Food1FirGear}" Width="60" Margin="5,20"/> | |||||
<TextBlock Text="菜品1搅拌挡位" Margin="5,20"/> | |||||
<TextBox Text="{Binding Food1StrGear}" Width="60" Margin="5,0,20,0"/> | |||||
<TextBlock Text="菜品2加热时间:" Margin="5,0"/> | |||||
<TextBox Text="{Binding Food2Time}" Width="60" Margin="5,0"/> | |||||
<TextBlock Text="秒" Margin="20,0,80,0"/> | |||||
<TextBlock Text="菜品2加热挡位" Margin="5,0"/> | |||||
<TextBox Text="{Binding Food2FirGear}" Width="60" Margin="5,20"/> | |||||
<TextBlock Text="菜品2搅拌挡位" Margin="5,20"/> | |||||
<TextBox Text="{Binding Food2StrGear}" Width="60" Margin="5,0,20,0"/> | |||||
<Button Content="本地模拟流程下单" Margin="10,0" Command="{Binding StartLocalOrder}" Cursor="Hand"/> | |||||
<Button Content="停止炒菜" Margin="10,0" Command="{Binding StopLocalOrder}" Cursor="Hand"/> | |||||
</WrapPanel> | </WrapPanel> | ||||
</Grid> | </Grid> | ||||
</GroupBox> | </GroupBox> | ||||
<GroupBox Header="菜品选择" FontSize="15" Foreground="Aqua" Grid.Row="1" VerticalAlignment="Center" Height="190" > | |||||
<GroupBox Header="菜品选择" FontSize="15" Foreground="Aqua" Grid.Row="2" VerticalAlignment="Center" Height="190" > | |||||
<Grid > | <Grid > | ||||
<Grid.RowDefinitions> | <Grid.RowDefinitions> | ||||
<RowDefinition Height="*"/> | <RowDefinition Height="*"/> | ||||
@@ -114,7 +104,7 @@ | |||||
</Grid> | </Grid> | ||||
</GroupBox> | </GroupBox> | ||||
<StackPanel Orientation="Vertical" Grid.Row="2"> | |||||
<StackPanel Orientation="Vertical" Grid.Row="3"> | |||||
<GroupBox Header="配料仓控制" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="65"> | <GroupBox Header="配料仓控制" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="65"> | ||||
<WrapPanel Orientation="Horizontal" Grid.RowSpan="2" VerticalAlignment="Top" Margin="0,5,0,0" > | <WrapPanel Orientation="Horizontal" Grid.RowSpan="2" VerticalAlignment="Top" Margin="0,5,0,0" > | ||||
<TextBlock Text="通道号" Margin="5,0"/> | <TextBlock Text="通道号" Margin="5,0"/> | ||||
@@ -127,7 +117,7 @@ | |||||
</WrapPanel> | </WrapPanel> | ||||
</GroupBox> | </GroupBox> | ||||
<GroupBox Header="炒锅1" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="140"> | |||||
<GroupBox Header="炒锅" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="140"> | |||||
<Grid> | <Grid> | ||||
<Grid.RowDefinitions> | <Grid.RowDefinitions> | ||||
<RowDefinition Height="*"/> | <RowDefinition Height="*"/> | ||||
@@ -159,7 +149,7 @@ | |||||
</Grid> | </Grid> | ||||
</GroupBox> | </GroupBox> | ||||
<GroupBox Header="炒锅2" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="140"> | |||||
<GroupBox Header="炒锅" FontSize="15" Foreground="Aqua" VerticalAlignment="Center" Height="140"> | |||||
<WrapPanel VerticalAlignment="Top" Margin="0,5,0,0"> | <WrapPanel VerticalAlignment="Top" Margin="0,5,0,0"> | ||||
<Button Content="注油" Command="{Binding SecAddOil}" Margin="10,0,10,0"></Button> | <Button Content="注油" Command="{Binding SecAddOil}" Margin="10,0,10,0"></Button> | ||||
<Button Content="加热关闭" Command="{Binding SecTempTurnOff}" Margin="10,0,10,0"></Button> | <Button Content="加热关闭" Command="{Binding SecTempTurnOff}" Margin="10,0,10,0"></Button> | ||||
@@ -34,7 +34,7 @@ namespace BPASmartClient.MorkF.ViewModel | |||||
public RelayCommand Plc1Reset { get; set; } | public RelayCommand Plc1Reset { get; set; } | ||||
public RelayCommand StartOrder { get; set; } | public RelayCommand StartOrder { get; set; } | ||||
public RelayCommand StartLocalOrder { get; set; } | public RelayCommand StartLocalOrder { get; set; } | ||||
public RelayCommand StopLocalOrder { get; set; } | |||||
#endregion | #endregion | ||||
@@ -118,11 +118,15 @@ namespace BPASmartClient.MorkF.ViewModel | |||||
public RelayCommand HBOTGoWork { get; set; } | public RelayCommand HBOTGoWork { get; set; } | ||||
public RelayCommand OutMeal { get; set; } | public RelayCommand OutMeal { get; set; } | ||||
public RelayCommand SetFire { get; set; } | public RelayCommand SetFire { get; set; } | ||||
public RelayCommand SetFry { get; set; } | |||||
public RelayCommand SetStir { get; set; } | public RelayCommand SetStir { get; set; } | ||||
public List<int> lstFire { get; set; } = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; | public List<int> lstFire { get; set; } = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; | ||||
public List<int> lstFry { get; set; } = new List<int>() { 1, 2 }; | |||||
public List<int> lstStir { get; set; } = new List<int>() { 1, 2, 3 }; | public List<int> lstStir { get; set; } = new List<int>() { 1, 2, 3 }; | ||||
public int FireGear { get { return _fireGear; } set { _fireGear = value; OnPropertyChanged(); } } | public int FireGear { get { return _fireGear; } set { _fireGear = value; OnPropertyChanged(); } } | ||||
private int _fireGear; | private int _fireGear; | ||||
public int FryGear { get { return _fryeGear; } set { _fryeGear = value; OnPropertyChanged(); } } | |||||
private int _fryeGear; | |||||
public int StirGear { get { return _stirGear; } set { _stirGear = value; OnPropertyChanged(); } } | public int StirGear { get { return _stirGear; } set { _stirGear = value; OnPropertyChanged(); } } | ||||
private int _stirGear; | private int _stirGear; | ||||
#region 模拟 | #region 模拟 | ||||
@@ -173,6 +177,7 @@ namespace BPASmartClient.MorkF.ViewModel | |||||
Plc1Reset = new RelayCommand(() => { ActionManage.GetInstance.Send("Plc1Reset"); }); | Plc1Reset = new RelayCommand(() => { ActionManage.GetInstance.Send("Plc1Reset"); }); | ||||
StartOrder = new RelayCommand(() => { ActionManage.GetInstance.Send("StartOrder", FoodMenuID); }); | StartOrder = new RelayCommand(() => { ActionManage.GetInstance.Send("StartOrder", FoodMenuID); }); | ||||
StartLocalOrder = new RelayCommand(() => { ActionManage.GetInstance.Send("StartLocalOrder"); }); | StartLocalOrder = new RelayCommand(() => { ActionManage.GetInstance.Send("StartLocalOrder"); }); | ||||
StopLocalOrder = new RelayCommand(() => { ActionManage.GetInstance.Send("StopLocalOrder"); }); | |||||
#endregion | #endregion | ||||
#region 菜品控制 | #region 菜品控制 | ||||
@@ -193,7 +198,7 @@ namespace BPASmartClient.MorkF.ViewModel | |||||
#endregion | #endregion | ||||
#region 配料仓控制 | #region 配料仓控制 | ||||
OutMaterials = new RelayCommand(() => { ActionManage.GetInstance.Send("OutMaterials" ,new List<int> { PassagePosition+1,Weight } ); }); | |||||
OutMaterials = new RelayCommand(() => { ActionManage.GetInstance.Send("OutMaterials" ,new List<int> { PassagePosition + 1,Weight } ); }); | |||||
#endregion | #endregion | ||||
#region 炒锅1 | #region 炒锅1 | ||||
@@ -210,6 +215,7 @@ namespace BPASmartClient.MorkF.ViewModel | |||||
OutMeal = new RelayCommand(() => { ActionManage.GetInstance.Send("OutMeal"); });//出餐启动 | OutMeal = new RelayCommand(() => { ActionManage.GetInstance.Send("OutMeal"); });//出餐启动 | ||||
SetFire = new RelayCommand(() => { ActionManage.GetInstance.Send("SetFire", new List<int> { FireGear }); });//加热挡位设定 | SetFire = new RelayCommand(() => { ActionManage.GetInstance.Send("SetFire", new List<int> { FireGear }); });//加热挡位设定 | ||||
SetStir = new RelayCommand(() => { ActionManage.GetInstance.Send("SetStir", new List<int> { StirGear }); });//搅拌挡位设定 | SetStir = new RelayCommand(() => { ActionManage.GetInstance.Send("SetStir", new List<int> { StirGear }); });//搅拌挡位设定 | ||||
SetFry = new RelayCommand(() => { ActionManage.GetInstance.Send("SetFry", new List<int> { FryGear }); });//炒锅选择 | |||||
#endregion | #endregion | ||||
#region 炒锅2 | #region 炒锅2 | ||||
@@ -0,0 +1,178 @@ | |||||
<UserControl x:Class="Control.StirFryView" | |||||
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:Control" | |||||
xmlns:vm="clr-namespace:BPASmartClient.ViewModel;assembly=BPASmartClient.ViewModel" | |||||
mc:Ignorable="d" | |||||
d:DesignHeight="450" | |||||
d:DesignWidth="800" | |||||
Background="{x:Null}" | |||||
> | |||||
<UserControl.DataContext> | |||||
<vm:OrderStatusViewModel /> | |||||
</UserControl.DataContext> | |||||
<UserControl.Resources> | |||||
<SolidColorBrush x:Key="BorderSolid" Color="#5523CACA" /> | |||||
<SolidColorBrush x:Key="FontColor" Color="#FF2AB2E7" /> | |||||
<SolidColorBrush x:Key="TitleFontColor" Color="#ddd" /> | |||||
<SolidColorBrush x:Key="CursorColor" Color="Aqua" /> | |||||
<SolidColorBrush x:Key="TitleBorderColor" Color="#FF2AB2E7" /> | |||||
<SolidColorBrush x:Key="TextBlockForeground" Color="#9934F7F7" /> | |||||
<Style x:Key="TextBlockStyle" TargetType="TextBlock"> | |||||
<Setter Property="FontFamily" Value="楷体" /> | |||||
<Setter Property="FontSize" Value="16" /> | |||||
<Setter Property="Background" Value="Transparent" /> | |||||
<!--<Setter Property="Foreground" Value="{StaticResource FontColor}" />--> | |||||
<Setter Property="VerticalAlignment" Value="Center" /> | |||||
<Setter Property="HorizontalAlignment" Value="Center" /> | |||||
</Style> | |||||
</UserControl.Resources> | |||||
<Grid> | |||||
<Grid.RowDefinitions> | |||||
<RowDefinition Height="30" /> | |||||
<RowDefinition /> | |||||
</Grid.RowDefinitions> | |||||
<!--#region 表格标题栏设置--> | |||||
<Grid Background="#dd2AB2E7"> | |||||
<Grid.ColumnDefinitions> | |||||
<ColumnDefinition Width="*" /> | |||||
<ColumnDefinition Width="*" /> | |||||
</Grid.ColumnDefinitions> | |||||
<TextBlock | |||||
Grid.Column="0" | |||||
HorizontalAlignment="Center" | |||||
VerticalAlignment="Center" | |||||
FontSize="16" | |||||
Foreground="{StaticResource TitleFontColor}" | |||||
Text="菜品名" /> | |||||
<Grid Grid.Column="1"> | |||||
<TextBlock | |||||
HorizontalAlignment="Center" | |||||
VerticalAlignment="Center" | |||||
FontSize="16" | |||||
Foreground="{StaticResource TitleFontColor}" | |||||
Text="商品名" /> | |||||
<Border BorderBrush="{StaticResource TitleBorderColor}" BorderThickness="1,0,1,0" /> | |||||
</Grid> | |||||
<TextBlock | |||||
Grid.Column="2" | |||||
HorizontalAlignment="Center" | |||||
VerticalAlignment="Center" | |||||
FontSize="16" | |||||
Foreground="{StaticResource TitleFontColor}" | |||||
Text="开始时间" /> | |||||
<Grid Grid.Column="3"> | |||||
<TextBlock | |||||
HorizontalAlignment="Center" | |||||
VerticalAlignment="Center" | |||||
FontSize="16" | |||||
Foreground="{StaticResource TitleFontColor}" | |||||
Text="结束时间" /> | |||||
<Border BorderBrush="{StaticResource TitleBorderColor}" BorderThickness="1,0,1,0" /> | |||||
</Grid> | |||||
<Grid Grid.Column="5"> | |||||
<TextBlock | |||||
HorizontalAlignment="Center" | |||||
VerticalAlignment="Center" | |||||
FontSize="16" | |||||
Foreground="{StaticResource TitleFontColor}" | |||||
Text="制作状态" /> | |||||
<Border BorderBrush="{StaticResource TitleBorderColor}" BorderThickness="0,0,1,0" /> | |||||
</Grid> | |||||
</Grid> | |||||
<!--#endregion--> | |||||
<!--#region 表格数据显示--> | |||||
<ScrollViewer | |||||
Grid.Row="1" | |||||
HorizontalScrollBarVisibility="Hidden" | |||||
VerticalScrollBarVisibility="Hidden"> | |||||
<ItemsControl ItemsSource="{Binding orderStatusLists}"> | |||||
<ItemsControl.ItemTemplate> | |||||
<DataTemplate> | |||||
<Grid Height="30"> | |||||
<Grid.ColumnDefinitions> | |||||
<ColumnDefinition Width="0.3*" /> | |||||
<ColumnDefinition /> | |||||
<ColumnDefinition Width="0.7*" /> | |||||
<ColumnDefinition Width="0.7*" /> | |||||
<ColumnDefinition Width="0" /> | |||||
<ColumnDefinition Width="0.7*" /> | |||||
<ColumnDefinition Width="0.5*" /> | |||||
</Grid.ColumnDefinitions> | |||||
<TextBlock | |||||
Grid.Column="0" | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding OrderPush.SortNum}" /> | |||||
<Grid Grid.Column="1"> | |||||
<TextBlock | |||||
Margin="5,0,0,0" | |||||
HorizontalAlignment="Left" | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding OrderPush.GoodsName}" /> | |||||
<Border BorderBrush="{StaticResource BorderSolid}" BorderThickness="1,0,1,0" /> | |||||
</Grid> | |||||
<TextBlock | |||||
Grid.Column="2" | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding StartDate}" /> | |||||
<Grid Grid.Column="3"> | |||||
<TextBlock | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding EndDate}" /> | |||||
<Border BorderBrush="{StaticResource BorderSolid}" BorderThickness="1,0,1,0" /> | |||||
</Grid> | |||||
<Grid Grid.Column="5"> | |||||
<TextBlock | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding OrderStatus, Converter={StaticResource TextConverter}}" /> | |||||
<Border BorderBrush="{StaticResource BorderSolid}" BorderThickness="0,0,1,0" /> | |||||
</Grid> | |||||
<Grid Grid.Column="6"> | |||||
<TextBlock | |||||
Foreground="{Binding OrderStatus, Converter={StaticResource ColorConverter}}" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="{Binding CompleteDate}" /> | |||||
<Border BorderBrush="{StaticResource BorderSolid}" BorderThickness="0,0,1,0" /> | |||||
</Grid> | |||||
<Border | |||||
Grid.ColumnSpan="8" | |||||
BorderBrush="{StaticResource BorderSolid}" | |||||
BorderThickness="1,0,1,1" /> | |||||
</Grid> | |||||
</DataTemplate> | |||||
</ItemsControl.ItemTemplate> | |||||
</ItemsControl> | |||||
</ScrollViewer> | |||||
<!--#endregion--> | |||||
</Grid> | |||||
</UserControl> |
@@ -0,0 +1,26 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
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 Control | |||||
{ | |||||
/// <summary> | |||||
/// StirFryView.xaml 的交互逻辑 | |||||
/// </summary> | |||||
public partial class StirFryView : UserControl | |||||
{ | |||||
public StirFryView() | |||||
{ | |||||
InitializeComponent(); | |||||
} | |||||
} | |||||
} |