@@ -76,9 +76,11 @@ | |||
Width="200" | |||
FontFamily="楷体" | |||
FontSize="20" | |||
IsEditable="False" | |||
IsEditable="False" | |||
SelectedValuePath="Key" DisplayMemberPath="Value" | |||
ItemsSource="{Binding DataContext.materialsName, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" | |||
SelectedItem="{Binding Name}" | |||
SelectedValue="{Binding ID}" | |||
/> | |||
<StackPanel | |||
Grid.Column="1" | |||
@@ -18,8 +18,8 @@ namespace BPASmart.RecipeManagement.ViewModel | |||
/// <summary> | |||
/// 原料名称集合 | |||
/// </summary> | |||
public ObservableCollection<string> materialsName { get; set; } = new ObservableCollection<string>(); | |||
public Dictionary<string, string> materialsName { get; set; } = new Dictionary<string, string>(); | |||
/// <summary> | |||
/// 配方名称 | |||
/// </summary> | |||
@@ -50,13 +50,11 @@ namespace BPASmart.RecipeManagement.ViewModel | |||
public RecipesConfigureViewModel() | |||
{ | |||
AddMaterailsCommand = new RelayCommand(() => | |||
{ | |||
recipeMaterials.Add(new RecipeMaterials() | |||
{ | |||
ID = Guid.NewGuid().ToString() | |||
//ID = Guid.NewGuid().ToString() | |||
}); | |||
}); | |||
@@ -70,6 +68,11 @@ namespace BPASmart.RecipeManagement.ViewModel | |||
return; | |||
} | |||
recipeMaterials?.ToList().ForEach(p => { | |||
if (materialsName.ContainsKey(p.ID)) p.Name = materialsName[p.ID]; | |||
}); | |||
if (Globle.GlobleData.ChangeRecipes != null) | |||
{ | |||
var res = Json<LocalRecipes>.Data.locaRecipes.FirstOrDefault(p => p.ID == Globle.GlobleData.ChangeRecipes.ID); | |||
@@ -101,7 +104,7 @@ namespace BPASmart.RecipeManagement.ViewModel | |||
{ | |||
foreach (var materail in Json<LocalMaterails>.Data.locaMaterails) | |||
{ | |||
materialsName.Add(materail.Name); | |||
materialsName.Add(materail.ID,materail.Name); | |||
} | |||
} | |||
if (Globle.GlobleData.ChangeRecipes != null) | |||
@@ -1,7 +1,8 @@ | |||
<Application x:Class="BPASmartClient.JXJFoodSmallStation.App" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:con="clr-namespace:BPASmartClient.CustomResource.Converters;assembly=BPASmartClient.CustomResource" | |||
<Application | |||
x:Class="BPASmartClient.JXJFoodSmallStation.App" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:con="clr-namespace:BPASmartClient.CustomResource.Converters;assembly=BPASmartClient.CustomResource" | |||
xmlns:local="clr-namespace:BPASmartClient.JXJFoodSmallStation"> | |||
<Application.Resources> | |||
<ResourceDictionary> | |||
@@ -34,7 +34,7 @@ namespace BPASmartClient.MorkS | |||
public override void DoMain() | |||
{ | |||
MonitorViewModel.DeviceId = DeviceId; | |||
ServerInit(); | |||
@@ -60,12 +60,12 @@ namespace BPASmartClient.MorkS | |||
ActionManage.GetInstance.Register(new Action<object[]>((o) => | |||
{ | |||
if (o.Length > 0 ) | |||
if (o.Length > 0) | |||
{ | |||
Random rd = new Random(); | |||
ThreadManage.GetInstance().StartLong(new Action(() => | |||
{ | |||
int NoodleLoc = (int)o[0] == 0? rd.Next(1, 6) : (int)o[0]; | |||
int NoodleLoc = (int)o[0] == 0 ? rd.Next(1, 6) : (int)o[0]; | |||
int BowlLoc = (int)o[1] == 0 ? rd.Next(10, 12) : (int)o[1]; | |||
string guid = new Guid().ToString(); | |||
@@ -144,7 +144,7 @@ namespace BPASmartClient.MorkS | |||
private void GetStatus(string key, Action<object> action) | |||
{ | |||
if (peripheralStatus.ContainsKey(key)) | |||
{ | |||
{ | |||
if (peripheralStatus[key] != null) | |||
{ | |||
action?.Invoke(peripheralStatus[key]); | |||
@@ -633,10 +633,10 @@ namespace BPASmartClient.MorkS | |||
/// </summary> | |||
/// <param name="meal"></param> | |||
private void WaitMeaLSpeak(string meal) | |||
{ | |||
{ | |||
VoiceAPI.m_SystemPlayWav(@"Vioce\电子提示音.wav"); | |||
Thread.Sleep(1000); | |||
if(meal!= null) mORKS.speech.Speak(meal); | |||
if (meal != null) mORKS.speech.Speak(meal); | |||
VoiceAPI.m_SystemPlayWav(@"Vioce\取餐通知.wav"); | |||
} | |||
@@ -30,6 +30,7 @@ | |||
<ResourceDictionary> | |||
<ImageBrush x:Key="hbl" ImageSource="/BPASmartClient.CustomResource;component/Image/HBL.png" /> | |||
<ImageBrush x:Key="dbxt" ImageSource="/BPASmartClient.CustomResource;component/Image/顶部线条.png" /> | |||
<SolidColorBrush x:Key="PoupTextblockColor" Color="#009dff" /> | |||
</ResourceDictionary> | |||
</ResourceDictionary.MergedDictionaries> | |||
@@ -9,6 +9,7 @@ using System.Windows; | |||
using BPASmartClient.CustomResource.Pages.Enums; | |||
using BPASmartClient.CustomResource.Pages.Model; | |||
using BPASmartClient.CustomResource.Pages.View; | |||
using BPASmartClient.SmallBatchingSystem.Services; | |||
namespace BPASmartClient.SmallBatchingSystem | |||
{ | |||
@@ -23,16 +24,17 @@ namespace BPASmartClient.SmallBatchingSystem | |||
base.OnStartup(e); | |||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; | |||
MenuInit(); | |||
SiloServer siloServer = new SiloServer(); | |||
MainView mv = new MainView(); | |||
LoginView lv = new LoginView(); | |||
var res = lv.ShowDialog(); | |||
if (res != null && res == true) | |||
{ | |||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||
//LoginView lv = new LoginView(); | |||
//var res = lv.ShowDialog(); | |||
//if (res != null && res == true) | |||
//{ | |||
// MessageLog.GetInstance.ShowUserLog("用户登录"); | |||
mv.Show(); | |||
} | |||
else | |||
mv.Close(); | |||
//} | |||
//else | |||
// mv.Close(); | |||
MainWindow = mv; | |||
} | |||
@@ -20,6 +20,7 @@ | |||
<ItemGroup> | |||
<ProjectReference Include="..\BPASmart.RecipeManagement\BPASmart.RecipeManagement.csproj" /> | |||
<ProjectReference Include="..\BPASmartClient.CustomResource\BPASmartClient.CustomResource.csproj" /> | |||
<ProjectReference Include="..\BPASmartClient.Modbus\BPASmartClient.Modbus.csproj" /> | |||
</ItemGroup> | |||
</Project> |
@@ -0,0 +1,36 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||
using System.Collections.ObjectModel; | |||
namespace BPASmartClient.SmallBatchingSystem.Models | |||
{ | |||
/// <summary> | |||
/// 出料口信息 | |||
/// </summary> | |||
public class OutletInfoModel : ObservableObject | |||
{ | |||
/// <summary> | |||
/// 出料口名称 | |||
/// </summary> | |||
public string OutletName { get { return _mOutletName; } set { _mOutletName = value; OnPropertyChanged(); } } | |||
private string _mOutletName; | |||
/// <summary> | |||
/// 出来哦口位置 | |||
/// </summary> | |||
public int OutletLoc { get { return _mOutletLoc; } set { _mOutletLoc = value; OnPropertyChanged(); } } | |||
private int _mOutletLoc; | |||
/// <summary> | |||
/// 出料口对应的料仓信息 | |||
/// </summary> | |||
public ObservableCollection<SiloInfoModel> SiloInfos { get { return _mSiloInfos; } set { _mSiloInfos = value; OnPropertyChanged(); } } | |||
private ObservableCollection<SiloInfoModel> _mSiloInfos; | |||
} | |||
} |
@@ -7,11 +7,22 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||
namespace BPASmartClient.SmallBatchingSystem.Models | |||
{ | |||
/// <summary> | |||
/// 原料仓信息 | |||
/// </summary> | |||
public class SiloInfoModel : ObservableObject | |||
{ | |||
public SiloInfoModel() | |||
{ | |||
/// <summary> | |||
/// 料仓原料名称 | |||
/// </summary> | |||
public string SiloName { get { return _mSiloName; } set { _mSiloName = value; OnPropertyChanged(); } } | |||
private string _mSiloName; | |||
/// <summary> | |||
/// 料仓原料位置 | |||
/// </summary> | |||
public int SiloLoc { get { return _mSiloLoc; } set { _mSiloLoc = value; OnPropertyChanged(); } } | |||
private int _mSiloLoc; | |||
} | |||
} | |||
} |
@@ -4,8 +4,8 @@ using System.Linq; | |||
using System.Text; | |||
using System.Threading; | |||
using System.Threading.Tasks; | |||
using BPA.Communication; | |||
using BPA.Helper; | |||
using BPASmartClient.Modbus; | |||
using BPASmartClient.SmallBatchingSystem.Models; | |||
namespace BPASmartClient.SmallBatchingSystem.Services | |||
@@ -16,7 +16,7 @@ namespace BPASmartClient.SmallBatchingSystem.Services | |||
public static PlcServer GetInstance => _Instance ?? (_Instance = new PlcServer()); | |||
private PlcServer() { } | |||
ModbusTcp Communication = new ModbusTcp(); | |||
public ModbusTcp Communication = new ModbusTcp(); | |||
public void Connect() | |||
{ | |||
@@ -33,5 +33,18 @@ namespace BPASmartClient.SmallBatchingSystem.Services | |||
Communication.ModbusTcpConnect(Json<CommunicationPar>.Data.Host, Json<CommunicationPar>.Data.Port); | |||
} | |||
public void WriteData(string address, object value) | |||
{ | |||
if (address != null && value != null) | |||
Communication.Write(address, value); | |||
} | |||
public object ReadData(string address,int length) | |||
{ | |||
object res=null; | |||
if (address != null) | |||
res= Communication.Read(address,(ushort)length); | |||
return res; | |||
} | |||
} | |||
} |
@@ -0,0 +1,216 @@ | |||
using BPASmart.Model; | |||
using BPASmartClient.Helper; | |||
using System; | |||
using System.Collections.Concurrent; | |||
using System.Collections.Generic; | |||
using System.Collections.ObjectModel; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading; | |||
using System.Threading.Tasks; | |||
namespace BPASmartClient.SmallBatchingSystem.Services | |||
{ | |||
/// <summary> | |||
/// 料仓服务线程 | |||
/// </summary> | |||
public class SiloServer | |||
{ | |||
public SiloServer() | |||
{ | |||
BusinessThread(); | |||
RefreshRecips(); | |||
MakeToRecipsID("2d1ac4da-110b-4d4d-9e94-36aac6d67124"); | |||
} | |||
#region 临时变量 | |||
/// <summary> | |||
/// 物料数据 | |||
/// </summary> | |||
public ObservableCollection<RecipeMaterials> RecipeMaterialsDic = new ObservableCollection<RecipeMaterials>(); | |||
/// <summary> | |||
/// 当前配方 | |||
/// </summary> | |||
public ObservableCollection<Recipes> RecipesDic = new ObservableCollection<Recipes>(); | |||
#endregion | |||
#region 订单管理 | |||
public ConcurrentQueue<Recipes> MakeOrderQueue { get; set; }=new ConcurrentQueue<Recipes>(); | |||
#endregion | |||
#region 业务 | |||
/// <summary> | |||
/// 业务线程 | |||
/// </summary> | |||
public void BusinessThread() | |||
{ | |||
ThreadManage.GetInstance().Start(new Action(() => | |||
{ | |||
PlcServer.GetInstance.Connect(); | |||
}), "启动PLC", false); | |||
ThreadManage.GetInstance().StartLong(new Action(() => | |||
{ | |||
// if (PlcServer.GetInstance.Communication.Connected) | |||
{ | |||
if (MakeOrderQueue.TryDequeue(out Recipes recipes)) | |||
{ | |||
Make(recipes); | |||
} | |||
} | |||
}), "配料线程启动", true); | |||
} | |||
#endregion | |||
#region 调用函数 | |||
/// <summary> | |||
/// 刷新配方数据 | |||
/// </summary> | |||
public void RefreshRecips() | |||
{ | |||
try | |||
{ | |||
//读取料仓物料数据 配方数据 | |||
Json<LocalMaterails>.Read(); | |||
Json<LocalRecipes>.Read(); | |||
RecipeMaterialsDic = Json<LocalMaterails>.Data.locaMaterails; | |||
RecipesDic = Json<LocalRecipes>.Data.locaRecipes; | |||
RecipesDic?.ToList().ForEach(par => { | |||
par.recipeMaterials?.ToList().ForEach((recipeMaterial) => | |||
{ | |||
RecipeMaterials recipe = RecipeMaterialsDic?.ToList().Find(k => k.ID == recipeMaterial.ID); | |||
if (recipe != null) | |||
{ | |||
recipeMaterial.MaterialType = recipe.MaterialType; | |||
recipeMaterial.MaterialPosion = recipe.MaterialPosion; | |||
recipeMaterial.PropertyCollections = recipe.PropertyCollections; | |||
} | |||
}); | |||
}); | |||
} | |||
catch (Exception ex) | |||
{ | |||
} | |||
} | |||
/// <summary> | |||
/// 根据配方ID制作流程 | |||
/// </summary> | |||
public void MakeToRecipsID(string id) | |||
{ | |||
try | |||
{ | |||
//chaxun 配方 | |||
Recipes info = RecipesDic?.ToList().Find(par => par.ID == id); | |||
if (info != null) | |||
{ | |||
//添加到队列 | |||
MakeOrderQueue.Enqueue(info); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
} | |||
} | |||
/// <summary> | |||
/// 根据配方控制流程 | |||
/// </summary> | |||
/// <param name="recipes"></param> | |||
public async void Make(Recipes recipes) | |||
{ | |||
try | |||
{ | |||
//遍历配方物料集合 | |||
recipes?.recipeMaterials?.ToList().ForEach(recipe => | |||
{ | |||
//料仓位置 | |||
int recipesLoc = 1; int.TryParse(recipe.PropertyCollections?.First()?.PropertyValue, out recipesLoc); | |||
//原料位置 | |||
int storeLoc = 1; int.TryParse(recipe.MaterialPosion, out recipesLoc); | |||
//原料需求(g)数 | |||
int storeWeight = recipe.MaterialWeight; | |||
//1.写PLC VW302 目标位置 -> recipesLoc M10.0 定位启动 开始运行 | |||
//2.读取PLC M20.0 到达目标位置 <- 标志 (bool) 【等待】 | |||
//3.写PLC VW100 料口X需求 ->写入重量 storeWeight | |||
//4.写PLC M0.0 启动出料口xx ->storeLoc (bool) | |||
//5.读PLC M4.0 通道XX出料完成<-标志 (bool) 【等待】 | |||
if (storeWeight > 0) | |||
{ | |||
WriteData("VW302", recipesLoc); | |||
WriteData("M10.0",true); | |||
#region 读取是否到达目标位置,超时10秒 | |||
bool IsOver = false; | |||
int fade1 = 1000; | |||
while (fade1 != -1 && !IsOver) | |||
{ | |||
IsOver = (bool)ReadData("M20.0", 1); | |||
Thread.Sleep(10); | |||
fade1--; | |||
} | |||
#endregion | |||
if (IsOver)//到达指定位置 | |||
{ | |||
//写需求 | |||
string adder = $"VW{100 + 2 * (storeLoc - 1)}"; | |||
WriteData(adder, storeWeight); | |||
//写启动料口 | |||
adder = storeLoc <= 8 ? $"M0.{(storeLoc - 1)}" : $"M1.{(storeLoc - 9)}"; | |||
WriteData(adder, true); | |||
//读取通道下料是否完成 | |||
adder = storeLoc <= 8 ? $"M4.{(storeLoc - 1)}" : $"M5.{(storeLoc - 9)}"; | |||
#region 通道XX出料完成,超时10秒 | |||
bool IsXLOver = false; | |||
int fade1XL = 1000; | |||
while (fade1XL != -1 && !IsXLOver) | |||
{ | |||
IsXLOver = (bool)ReadData("M20.0", 1); | |||
Thread.Sleep(30); | |||
fade1XL--; | |||
} | |||
#endregion | |||
} | |||
} | |||
}); | |||
//6.写PLC M10.4 上位机配料完成 | |||
} | |||
catch (Exception ex) { } | |||
} | |||
#endregion | |||
#region 调用外部PLC | |||
/// <summary> | |||
/// 写PLC | |||
/// </summary> | |||
/// <param name="address"></param> | |||
/// <param name="value"></param> | |||
public void WriteData(string address, object value) | |||
{ | |||
//PlcServer.GetInstance.WriteData(address, value); | |||
} | |||
/// <summary> | |||
/// 读PLC | |||
/// </summary> | |||
/// <param name="address"></param> | |||
/// <param name="length"></param> | |||
/// <returns></returns> | |||
public object ReadData(string address, int length) | |||
{ | |||
//return PlcServer.GetInstance.ReadData(address, length); | |||
return null; | |||
} | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,17 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||
namespace BPASmartClient.SmallBatchingSystem.ViewModels | |||
{ | |||
public class NewOutletViewModel : ObservableObject | |||
{ | |||
public NewOutletViewModel() | |||
{ | |||
} | |||
} | |||
} |
@@ -0,0 +1,34 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||
using BPASmartClient.SmallBatchingSystem.Models; | |||
using Microsoft.Toolkit.Mvvm.Input; | |||
using BPA.Helper; | |||
namespace BPASmartClient.SmallBatchingSystem.ViewModels | |||
{ | |||
public class NewSiloViewModel : ObservableObject | |||
{ | |||
public NewSiloViewModel() | |||
{ | |||
CancelCommand = new RelayCommand(() => { ActionManage.GetInstance.Send("Cancel"); }); | |||
OkCommand = new RelayCommand(() => { ActionManage.GetInstance.Send("OK"); }); | |||
} | |||
public SiloInfoModel SiloInfoModelObj { get { return _mSiloInfoModelObj; } set { _mSiloInfoModelObj = value; OnPropertyChanged(); } } | |||
private SiloInfoModel _mSiloInfoModelObj; | |||
public string ErrorInfo { get { return _mErrorInfo; } set { _mErrorInfo = value; OnPropertyChanged(); } } | |||
private string _mErrorInfo; | |||
public RelayCommand CancelCommand { get; set; } | |||
public RelayCommand OkCommand { get; set; } | |||
} | |||
} |
@@ -3,10 +3,17 @@ using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||
namespace BPASmartClient.SmallBatchingSystem.ViewModels | |||
{ | |||
public class SiloManagementViewModel | |||
public class SiloManagementViewModel : ObservableObject | |||
{ | |||
public SiloManagementViewModel() | |||
{ | |||
} | |||
} | |||
} |
@@ -0,0 +1,265 @@ | |||
<Window | |||
x:Class="BPASmartClient.SmallBatchingSystem.Views.NewOutletView" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:con="clr-namespace:BPASmartClient.SmallBatchingSystem.Converter" | |||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |||
xmlns:local="clr-namespace:BPASmartClient.SmallBatchingSystem.Views" | |||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
Title="NewOutletView" | |||
Width="500" | |||
Height="300" | |||
AllowsTransparency="True" | |||
Background="{x:Null}" | |||
WindowStartupLocation="CenterScreen" | |||
WindowStyle="None" | |||
mc:Ignorable="d"> | |||
<Window.Resources> | |||
<SolidColorBrush x:Key="FontColor" Color="#FF2AB2E7" /> | |||
<SolidColorBrush x:Key="tabColor" Color="#FF2AB2E7" /> | |||
<!--<SolidColorBrush x:Key="bordColor" Color="#33ffffff" />--> | |||
<SolidColorBrush x:Key="bordColor" Color="#332AB2E7" /> | |||
<con:DataTableRedundantConverter x:Key="tabConvert" /> | |||
<Style x:Key="TextBlockStyle" TargetType="TextBlock"> | |||
<Setter Property="VerticalAlignment" Value="Center" /> | |||
<Setter Property="HorizontalAlignment" Value="Right" /> | |||
<Setter Property="Foreground" Value="{StaticResource FontColor}" /> | |||
<Setter Property="FontSize" Value="20" /> | |||
</Style> | |||
<Style x:Key="TextBoxStyle" TargetType="TextBox"> | |||
<Setter Property="FontFamily" Value="楷体" /> | |||
<Setter Property="FontSize" Value="22" /> | |||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||
<Setter Property="Width" Value="188" /> | |||
<Setter Property="Padding" Value="6,0,0,0" /> | |||
<Setter Property="Height" Value="37" /> | |||
<Setter Property="BorderThickness" Value="0" /> | |||
<Setter Property="Foreground" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="BorderBrush" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="CaretBrush" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="VerticalAlignment" Value="Center" /> | |||
<Setter Property="Background"> | |||
<Setter.Value> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/textBox.png" Stretch="Fill" /> | |||
</Setter.Value> | |||
</Setter> | |||
</Style> | |||
<Style x:Key="ControlButtonStyle" TargetType="Button"> | |||
<Setter Property="Margin" Value="0" /> | |||
<Setter Property="FontSize" Value="18" /> | |||
<Setter Property="Foreground" Value="#FFF53F62" /> | |||
<Setter Property="FontWeight" Value="SemiBold" /> | |||
<Setter Property="FontFamily" Value="楷体" /> | |||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||
<Setter Property="Template"> | |||
<Setter.Value> | |||
<ControlTemplate TargetType="Button"> | |||
<Border | |||
Name="TitleBarBr" | |||
BorderBrush="#00c2f4" | |||
BorderThickness="0" | |||
CornerRadius="0" | |||
Opacity="0.8"> | |||
<ContentPresenter | |||
Margin="{TemplateBinding Margin}" | |||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" | |||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> | |||
<Border.Background> | |||
<ImageBrush | |||
ImageSource="/BPASmartClient.CustomResource;component/Image/组合边框1.1.png" | |||
Opacity="0.8" | |||
Stretch="Fill" /> | |||
</Border.Background> | |||
</Border> | |||
<ControlTemplate.Triggers> | |||
<Trigger Property="IsMouseOver" Value="true"> | |||
<Setter TargetName="TitleBarBr" Property="Opacity" Value="1" /> | |||
</Trigger> | |||
</ControlTemplate.Triggers> | |||
</ControlTemplate> | |||
</Setter.Value> | |||
</Setter> | |||
</Style> | |||
<Style x:Key="TitleTextblockStyle" TargetType="TextBlock"> | |||
<Setter Property="FontSize" Value="16" /> | |||
<Setter Property="HorizontalAlignment" Value="Center" /> | |||
<Setter Property="VerticalAlignment" Value="Center" /> | |||
<Setter Property="Foreground" Value="{StaticResource tabColor}" /> | |||
<Setter Property="FontFamily" Value="楷体" /> | |||
<Setter Property="FontWeight" Value="SemiBold" /> | |||
</Style> | |||
</Window.Resources> | |||
<Grid> | |||
<Grid.Background> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/容器边框.png" /> | |||
</Grid.Background> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="0.18*" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<TextBlock | |||
HorizontalAlignment="Center" | |||
VerticalAlignment="Center" | |||
FontSize="20" | |||
Foreground="{StaticResource FontColor}" | |||
Text="新建出料口" /> | |||
<Grid Grid.Row="1"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="0.2*" /> | |||
<RowDefinition Height="0.2*" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<TextBlock | |||
Margin="15,0,0,0" | |||
HorizontalAlignment="Left" | |||
Style="{StaticResource TextBlockStyle}" | |||
Text="出料口名称:" /> | |||
<StackPanel | |||
Grid.Row="1" | |||
Margin="10,0,0,0" | |||
Orientation="Horizontal"> | |||
<TextBox | |||
Width="180" | |||
Height="35" | |||
Margin="5,0,0,0" | |||
FontSize="20" | |||
Style="{StaticResource TextBoxStyle}" | |||
Text="{Binding TrayNum}" /> | |||
<Button | |||
Width="90" | |||
Height="30" | |||
Margin="5,0,5,0" | |||
Command="{Binding AddCommand}" | |||
Content="添加料仓" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
<Button | |||
Width="90" | |||
Height="30" | |||
Margin="5,0,5,0" | |||
Command="{Binding AddCommand}" | |||
Content="取消" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
<Button | |||
Grid.Column="1" | |||
Width="90" | |||
Height="30" | |||
Margin="5,0,5,0" | |||
Command="{Binding AddCommand}" | |||
Content="保存" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
</StackPanel> | |||
<Grid Grid.Row="2" Margin="15,0,10,0"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="35" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<!--#region 表格标题栏设置--> | |||
<Grid Margin="0,10,0,0" Background="#ff0C255F"> | |||
<Grid.ColumnDefinitions> | |||
<ColumnDefinition /> | |||
<ColumnDefinition Width="0.68*" /> | |||
</Grid.ColumnDefinitions> | |||
<TextBlock | |||
Grid.Column="0" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="选择料仓" /> | |||
<Grid Grid.Column="1"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="功能操作" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<Border | |||
Grid.ColumnSpan="2" | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" /> | |||
</Grid> | |||
<!--#endregion--> | |||
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"> | |||
<ItemsControl ItemsSource="{Binding RawMaterials}"> | |||
<ItemsControl.ItemTemplate> | |||
<DataTemplate> | |||
<RadioButton GroupName="all"> | |||
<RadioButton.Template> | |||
<ControlTemplate TargetType="RadioButton"> | |||
<Grid Name="gr" Height="40"> | |||
<Grid.ColumnDefinitions> | |||
<ColumnDefinition /> | |||
<ColumnDefinition Width="0.68*" /> | |||
</Grid.ColumnDefinitions> | |||
<ComboBox | |||
Name="cb" | |||
Grid.Column="0" | |||
Margin="3,1" | |||
VerticalAlignment="Center" | |||
BorderBrush="#FF074B92" | |||
BorderThickness="1" | |||
FontFamily="楷体" | |||
FontSize="20" | |||
Foreground="#FF2AB2E7" | |||
IsEditable="False" | |||
ItemsSource="{Binding DataContext.RawMaterialNames, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" | |||
SelectedIndex="0" | |||
Style="{StaticResource ComboBoxStyle}" | |||
Text="{Binding RawMaterialName}" /> | |||
<Button | |||
Grid.Column="1" | |||
Width="80" | |||
Command="{Binding DataContext.RemoveCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" | |||
CommandParameter="{Binding RawMaterialId}" | |||
Content="删除" /> | |||
</Grid> | |||
</ControlTemplate> | |||
</RadioButton.Template> | |||
</RadioButton> | |||
</DataTemplate> | |||
</ItemsControl.ItemTemplate> | |||
</ItemsControl> | |||
</ScrollViewer> | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
</Window> |
@@ -0,0 +1,27 @@ | |||
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.Shapes; | |||
namespace BPASmartClient.SmallBatchingSystem.Views | |||
{ | |||
/// <summary> | |||
/// NewOutletView.xaml 的交互逻辑 | |||
/// </summary> | |||
public partial class NewOutletView : Window | |||
{ | |||
public NewOutletView() | |||
{ | |||
InitializeComponent(); | |||
} | |||
} | |||
} |
@@ -0,0 +1,143 @@ | |||
<Window | |||
x:Class="BPASmartClient.SmallBatchingSystem.Views.NewSiloView" | |||
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.SmallBatchingSystem.Views" | |||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
xmlns:vm="clr-namespace:BPASmartClient.SmallBatchingSystem.ViewModels" | |||
Title="NewSiloView" | |||
Width="500" | |||
Height="300" | |||
AllowsTransparency="True" | |||
Background="{x:Null}" | |||
WindowStartupLocation="CenterScreen" | |||
WindowStyle="None" | |||
mc:Ignorable="d"> | |||
<Window.DataContext> | |||
<vm:NewSiloViewModel /> | |||
</Window.DataContext> | |||
<Window.Resources> | |||
<SolidColorBrush x:Key="FontColor" Color="#FF2AB2E7" /> | |||
<Style x:Key="TextBlockStyle" TargetType="TextBlock"> | |||
<Setter Property="VerticalAlignment" Value="Center" /> | |||
<Setter Property="HorizontalAlignment" Value="Right" /> | |||
<Setter Property="Foreground" Value="{StaticResource FontColor}" /> | |||
<Setter Property="FontSize" Value="20" /> | |||
</Style> | |||
<Style x:Key="TextBoxStyle" TargetType="TextBox"> | |||
<Setter Property="FontFamily" Value="楷体" /> | |||
<Setter Property="FontSize" Value="22" /> | |||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||
<Setter Property="Width" Value="188" /> | |||
<Setter Property="Padding" Value="6,0,0,0" /> | |||
<Setter Property="Height" Value="37" /> | |||
<Setter Property="BorderThickness" Value="0" /> | |||
<Setter Property="Foreground" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="BorderBrush" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="CaretBrush" Value="{StaticResource PoupTextblockColor}" /> | |||
<Setter Property="VerticalAlignment" Value="Center" /> | |||
<Setter Property="Background"> | |||
<Setter.Value> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/textBox.png" Stretch="Fill" /> | |||
</Setter.Value> | |||
</Setter> | |||
</Style> | |||
</Window.Resources> | |||
<Grid> | |||
<Grid.Background> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/容器边框.png" /> | |||
</Grid.Background> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="0.18*" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<TextBlock | |||
HorizontalAlignment="Center" | |||
VerticalAlignment="Center" | |||
FontSize="20" | |||
Foreground="{StaticResource FontColor}" | |||
Text="新建料仓" /> | |||
<Grid Grid.Row="1"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition /> | |||
<RowDefinition /> | |||
<RowDefinition Height="0.5*" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<Grid.ColumnDefinitions> | |||
<ColumnDefinition Width="0.8*" /> | |||
<ColumnDefinition /> | |||
</Grid.ColumnDefinitions> | |||
<TextBlock Style="{StaticResource TextBlockStyle}" Text="料仓原料名称:" /> | |||
<TextBlock | |||
Grid.Row="1" | |||
Style="{StaticResource TextBlockStyle}" | |||
Text="料仓原料位置:" /> | |||
<TextBox | |||
Grid.Column="1" | |||
Width="250" | |||
Height="40" | |||
Margin="0,0,5,0" | |||
FontSize="20" | |||
Style="{StaticResource TextBoxStyle}" | |||
Text="{Binding SiloInfoModelObj.SiloName}" /> | |||
<TextBox | |||
Grid.Row="1" | |||
Grid.Column="1" | |||
Width="250" | |||
Height="40" | |||
Margin="0,0,5,0" | |||
FontSize="20" | |||
Style="{StaticResource TextBoxStyle}" | |||
Text="{Binding SiloInfoModelObj.SiloLoc}" /> | |||
<TextBlock | |||
Grid.Row="2" | |||
Grid.ColumnSpan="2" | |||
HorizontalAlignment="Center" | |||
VerticalAlignment="Top" | |||
FontSize="20" | |||
Foreground="#FFF53F62" | |||
Text="{Binding ErrorInfo}" /> | |||
<Button | |||
Grid.Row="3" | |||
Width="150" | |||
Height="40" | |||
Margin="5,0,5,0" | |||
Command="{Binding CancelCommand}" | |||
Content="取消" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
<Button | |||
Grid.Row="3" | |||
Grid.Column="1" | |||
Width="150" | |||
Height="40" | |||
Margin="5,0,5,0" | |||
Command="{Binding OkCommand}" | |||
Content="保存" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
</Grid> | |||
</Grid> | |||
</Window> |
@@ -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.Shapes; | |||
using BPA.Helper; | |||
namespace BPASmartClient.SmallBatchingSystem.Views | |||
{ | |||
/// <summary> | |||
/// NewSiloView.xaml 的交互逻辑 | |||
/// </summary> | |||
public partial class NewSiloView : Window | |||
{ | |||
public NewSiloView() | |||
{ | |||
InitializeComponent(); | |||
} | |||
} | |||
} |
@@ -21,6 +21,32 @@ | |||
<SolidColorBrush x:Key="bordColor" Color="#332AB2E7" /> | |||
<con:DataTableRedundantConverter x:Key="tabConvert" /> | |||
<Style x:Key="UserItemContainerStyle" TargetType="ListBoxItem"> | |||
<Style.Resources> | |||
<!-- SelectedItem with focus --> | |||
<SolidColorBrush | |||
x:Key="{x:Static SystemColors.HighlightBrushKey}" | |||
Opacity=".4" | |||
Color="White" /> | |||
<!-- SelectedItem without focus --> | |||
<SolidColorBrush | |||
x:Key="{x:Static SystemColors.ControlBrushKey}" | |||
Opacity=".4" | |||
Color="White" /> | |||
</Style.Resources> | |||
<!-- 设置触发器 --> | |||
<Style.Triggers> | |||
<Trigger Property="IsMouseOver" Value="true"> | |||
<Setter Property="Background" Value="White" /> | |||
<Setter Property="Foreground" Value="White" /> | |||
</Trigger> | |||
<Trigger Property="IsFocused" Value="true"> | |||
<Setter Property="Background" Value="White" /> | |||
<Setter Property="Foreground" Value="White" /> | |||
</Trigger> | |||
</Style.Triggers> | |||
</Style> | |||
<Style x:Key="RowRadioButtonStyle" TargetType="{x:Type RadioButton}"> | |||
<Setter Property="Template"> | |||
<Setter.Value> | |||
@@ -125,7 +151,6 @@ | |||
<Grid Margin="10"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="40" /> | |||
<RowDefinition Height="40" /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
@@ -136,7 +161,7 @@ | |||
Height="40" | |||
Margin="10,0,10,0" | |||
Command="{Binding AddCommand}" | |||
Content="添加原料参数" | |||
Content="添加料仓" | |||
FontSize="20" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
<Button | |||
@@ -149,220 +174,108 @@ | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
</StackPanel> | |||
<!--#region 表格标题栏设置--> | |||
<Grid | |||
Grid.Row="1" | |||
Margin="0,10,0,0" | |||
Background="#ff0C255F"> | |||
<Grid.ColumnDefinitions> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
</Grid.ColumnDefinitions> | |||
<TextBlock | |||
Grid.Column="0" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="原料名称" /> | |||
<Grid Grid.Column="1"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="慢加重量(g)" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBlock | |||
Grid.Column="2" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="提前关阀重量" /> | |||
<Grid Grid.Column="3"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="快加速度" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBlock | |||
Grid.Column="4" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="慢加速度" /> | |||
<Grid Grid.Column="5"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="伺服手动速度" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBlock | |||
Grid.Column="6" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="料仓上限重量" /> | |||
<Grid Grid.Column="7"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="料仓下限重量" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBlock | |||
Grid.Column="8" | |||
Style="{StaticResource TitleTextblockStyle}" | |||
Text="搅拌速度" /> | |||
<Grid Grid.Column="9"> | |||
<TextBlock Style="{StaticResource TitleTextblockStyle}" Text="功能操作" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<Border | |||
Grid.ColumnSpan="10" | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" /> | |||
</Grid> | |||
<!--#endregion--> | |||
<Grid Grid.Row="2"> | |||
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"> | |||
<ItemsControl ItemsSource="{Binding deviceParModels}"> | |||
<ItemsControl.ItemTemplate> | |||
<DataTemplate> | |||
<Grid Name="gr" Height="30"> | |||
<Grid.ColumnDefinitions> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
<ColumnDefinition /> | |||
</Grid.ColumnDefinitions> | |||
<Grid Grid.Row="1"> | |||
<ListView | |||
Margin="10" | |||
Background="Transparent" | |||
BorderBrush="#00BEFA" | |||
BorderThickness="0" | |||
ItemsSource="{Binding devices}" | |||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"> | |||
<ListView.ItemsPanel> | |||
<ItemsPanelTemplate> | |||
<WrapPanel Orientation="Horizontal" /> | |||
</ItemsPanelTemplate> | |||
</ListView.ItemsPanel> | |||
<ListView.ItemTemplate> | |||
<DataTemplate> | |||
<Border | |||
Name="ShadowElement" | |||
Width="180" | |||
Height="150" | |||
Margin="10" | |||
VerticalAlignment="Top" | |||
BorderBrush="#00BEFA" | |||
BorderThickness="0" | |||
ClipToBounds="True" | |||
CornerRadius="0"> | |||
<Border.Background> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/蓝色背景.png" Stretch="Fill" /> | |||
</Border.Background> | |||
<TextBox | |||
<Grid Margin="20,0"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition /> | |||
<RowDefinition /> | |||
<RowDefinition /> | |||
</Grid.RowDefinitions> | |||
<TextBlock | |||
Grid.Row="0" | |||
Grid.ColumnSpan="2" | |||
Margin="0,10,0,0" | |||
VerticalAlignment="Center" | |||
FontSize="20" | |||
Foreground="#00BEFA" | |||
Text="{Binding DeviceName}" /> | |||
<StackPanel | |||
Grid.Row="1" | |||
VerticalAlignment="Center" | |||
Orientation="Horizontal"> | |||
<TextBlock | |||
Grid.Row="1" | |||
FontSize="14" | |||
Foreground="#aa00BEFA" | |||
Text="设备IP:" /> | |||
<TextBlock | |||
Grid.Row="1" | |||
FontSize="14" | |||
Foreground="#aa00BEFA" | |||
Text="{Binding IpAddress}" /> | |||
</StackPanel> | |||
<Button | |||
Grid.Row="2" | |||
Width="130" | |||
Height="30" | |||
Margin="0,0,0,0" | |||
VerticalAlignment="Top" | |||
Command="{Binding DataContext.ChangeNameCommand, RelativeSource={RelativeSource AncestorType=ListView, Mode=FindAncestor}}" | |||
CommandParameter="{Binding IpAddress}" | |||
Content="修改原料名称" | |||
FontSize="16" | |||
IsEnabled="{Binding IsEnable}" | |||
Style="{StaticResource ImageButtonStyle}" /> | |||
<!--<Button | |||
Grid.Row="1" | |||
Grid.Column="0" | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding MaterialName}" /> | |||
<Grid Grid.Column="1"> | |||
<TextBox | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding SlowlyAddWeight}" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBox | |||
Grid.Column="2" | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding PreCloseValveWeight}" /> | |||
<Grid Grid.Column="3"> | |||
<TextBox | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding RapidAcceleration}" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
Grid.ColumnSpan="2" | |||
Foreground="#00BEFA" | |||
Width="130" | |||
Height="30" | |||
Margin="0,0,0,10" | |||
HorizontalAlignment="Left" | |||
VerticalAlignment="Bottom" | |||
Command="{Binding DataContext.ChangeNameCommand, RelativeSource={RelativeSource AncestorType=ListView, Mode=FindAncestor}}" | |||
CommandParameter="{Binding IpAddress}" | |||
Content="修改原料名称" | |||
IsEnabled="{Binding IsEnable}"> | |||
<Button.Background> | |||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/系统名称.png" /> | |||
</Button.Background> | |||
</Button>--> | |||
<TextBox | |||
Grid.Column="4" | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding SlowAcceleration}" /> | |||
<Grid Grid.Column="5"> | |||
<TextBox | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding ServoManualSpeed}" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBox | |||
Grid.Column="6" | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding SiloUpperLimitWeight}" /> | |||
<Grid Grid.Column="7"> | |||
<TextBox | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding LowerLimitWeightOfSilo}" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<TextBox | |||
Grid.Column="8" | |||
Foreground="{Binding IsRedundant, Converter={StaticResource tabConvert}}" | |||
Style="{StaticResource InputTextboxStyle}" | |||
Text="{Binding StirringSpeed}" /> | |||
<Grid Grid.Column="9"> | |||
<Button | |||
Command="{Binding DataContext.RemoveCommand, RelativeSource={RelativeSource AncestorType=ItemsControl, Mode=FindAncestor}}" | |||
CommandParameter="{Binding MaterialName}" | |||
Content="删除" | |||
FontSize="16" | |||
Style="{StaticResource ControlButtonStyle}" /> | |||
<Border | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,0" | |||
Cursor="SizeWE" /> | |||
</Grid> | |||
<Border | |||
Grid.ColumnSpan="10" | |||
BorderBrush="{StaticResource bordColor}" | |||
BorderThickness="1,0,1,1" /> | |||
</Grid> | |||
<DataTemplate.Triggers> | |||
<Trigger Property="IsMouseOver" Value="true"> | |||
<Setter TargetName="gr" Property="Background" Value="#112AB2E7" /> | |||
</Trigger> | |||
</DataTemplate.Triggers> | |||
</DataTemplate> | |||
</ItemsControl.ItemTemplate> | |||
</ItemsControl> | |||
</ScrollViewer> | |||
</Border> | |||
</DataTemplate> | |||
</ListView.ItemTemplate> | |||
</ListView> | |||
</Grid> | |||
@@ -178,11 +178,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmart.PageLoad", "BPASma | |||
EndProject | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmart.CustomResource", "BPASmart.CustomResource\BPASmart.CustomResource.csproj", "{E7CC45BF-7393-4BA7-A9AD-B1A1F5B265F3}" | |||
EndProject | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HK-Advertisement", "..\..\TEST\HK-Advertisement\HK-Advertisement.csproj", "{CE98BFD2-9D96-4AB4-A727-662BB341200C}" | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkMOC", "BPASmartClient.MorkMOC\BPASmartClient.MorkMOC.csproj", "{D5081D7B-3EBB-42C7-8FB9-A889870D08C2}" | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.MorkMOC", "BPASmartClient.MorkMOC\BPASmartClient.MorkMOC.csproj", "{D5081D7B-3EBB-42C7-8FB9-A889870D08C2}" | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.SmallBatchingSystem", "BPASmartClient.SmallBatchingSystem\BPASmartClient.SmallBatchingSystem.csproj", "{BA588F22-87FB-4124-AF62-CA8DC492ED7D}" | |||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.SmallBatchingSystem", "BPASmartClient.SmallBatchingSystem\BPASmartClient.SmallBatchingSystem.csproj", "{BA588F22-87FB-4124-AF62-CA8DC492ED7D}" | |||
EndProject | |||
Global | |||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
@@ -1658,26 +1656,6 @@ Global | |||
{E7CC45BF-7393-4BA7-A9AD-B1A1F5B265F3}.Release|x64.Build.0 = Release|Any CPU | |||
{E7CC45BF-7393-4BA7-A9AD-B1A1F5B265F3}.Release|x86.ActiveCfg = Release|Any CPU | |||
{E7CC45BF-7393-4BA7-A9AD-B1A1F5B265F3}.Release|x86.Build.0 = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|ARM.ActiveCfg = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|ARM.Build.0 = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|ARM64.ActiveCfg = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|ARM64.Build.0 = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|x64.ActiveCfg = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|x64.Build.0 = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|x86.ActiveCfg = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Debug|x86.Build.0 = Debug|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|Any CPU.Build.0 = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|ARM.ActiveCfg = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|ARM.Build.0 = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|ARM64.ActiveCfg = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|ARM64.Build.0 = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|x64.ActiveCfg = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|x64.Build.0 = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|x86.ActiveCfg = Release|Any CPU | |||
{CE98BFD2-9D96-4AB4-A727-662BB341200C}.Release|x86.Build.0 = Release|Any CPU | |||
{D5081D7B-3EBB-42C7-8FB9-A889870D08C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
{D5081D7B-3EBB-42C7-8FB9-A889870D08C2}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
{D5081D7B-3EBB-42C7-8FB9-A889870D08C2}.Debug|ARM.ActiveCfg = Debug|Any CPU | |||
@@ -1799,9 +1777,9 @@ Global | |||
{897F8379-3301-4CBE-9BCA-AF7FD2F963A9} = {CDC1E762-5E1D-4AE1-9DF2-B85761539086} | |||
{06F30619-AD37-4CA0-838F-0431867E0932} = {CDC1E762-5E1D-4AE1-9DF2-B85761539086} | |||
{2DB084E8-B951-4D71-A203-FD0902EBA2C6} = {CDC1E762-5E1D-4AE1-9DF2-B85761539086} | |||
{BA588F22-87FB-4124-AF62-CA8DC492ED7D} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | |||
{E7CC45BF-7393-4BA7-A9AD-B1A1F5B265F3} = {CDC1E762-5E1D-4AE1-9DF2-B85761539086} | |||
{D5081D7B-3EBB-42C7-8FB9-A889870D08C2} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F} | |||
{BA588F22-87FB-4124-AF62-CA8DC492ED7D} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | |||
EndGlobalSection | |||
GlobalSection(ExtensibilityGlobals) = postSolution | |||
SolutionGuid = {9AEC9B81-0222-4DE9-B642-D915C29222AC} | |||