首次提交:添加src文件夹代码

This commit is contained in:
2026-02-27 14:02:43 +08:00
commit d330cfbca7
4184 changed files with 5546478 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
<UserControl x:Class="Cowain.Bake.UI.FactoryMaintenance.Views.DeviceManagementView"
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:Cowain.Bake.UI.ProductManagement.Views"
xmlns:core="clr-namespace:Cowain.Bake.Common.Core;assembly=Cowain.Bake.Common"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:common="clr-namespace:Cowain.Bake.Common;assembly=Cowain.Bake.Common"
xmlns:models="clr-namespace:Cowain.Bake.Common.Models;assembly=Cowain.Bake.Common"
xmlns:convertor="clr-namespace:Cowain.Bake.Common.Converter;assembly=Cowain.Bake.Common"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<convertor:BoolToColorConverter x:Key="BoolToColorConverter"/>
<convertor:IntToDeviceTypeConvertor x:Key="IntToDeviceTypeConvertor"/>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" x:Name="DeviceMgm"
CanUserSortColumns="False" SelectionMode="Single" Margin="4" SelectedItem="{Binding SelectDevice}"
IsReadOnly="True" HorizontalScrollBarVisibility="Auto"
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding DeviceList}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<DataGrid.Columns>
<DataGridTextColumn Width="66" Binding="{Binding Id}" Header="序号"/>
<DataGridTextColumn MinWidth="80" Binding="{Binding Name}" Header="设备名称"/>
<DataGridTextColumn MinWidth="80" Binding="{Binding Desc}" Header="设备描述"/>
<DataGridTemplateColumn Header="状态">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Width="16" Height="16"
Fill="{Binding IsConnect, Converter={StaticResource BoolToColorConverter}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn MinWidth="80" Binding="{Binding Type, Converter={StaticResource IntToDeviceTypeConvertor}}" Header="设备类型"/>
<DataGridCheckBoxColumn Width="60" Binding="{Binding Enable}" Header="启用" IsReadOnly="True"/>
<DataGridTextColumn MinWidth="120" Binding="{Binding Json}" Header="备注"/>
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Column="1">
<StackPanel HorizontalAlignment="Left" Margin="4">
<StackPanel Orientation="Horizontal" Margin="2">
<TextBlock Text="自动刷新:" FontSize="14" Margin="2" Width="120" FontWeight="Bold" Height="30" Background="Transparent" Foreground="Green"/>
<CheckBox HorizontalContentAlignment="Center" Margin="2" FontSize="14"
Width="130" Height="30" IsChecked ="{Binding AutoRefresh}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2">
<TextBlock Text="设备描述:" FontSize="14" Margin="2" Width="120" Height="30" Background="Transparent"/>
<hc:TextBox Margin="4" Text="{Binding EditDevice.Desc}" Width="254"
VerticalScrollBarVisibility="Visible" AcceptsReturn="True"
HorizontalAlignment="Left" TextWrapping="Wrap"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2">
<TextBlock Text="是否启用:" FontSize="14" Margin="2" Width="120" Height="30" Background="Transparent"/>
<CheckBox HorizontalContentAlignment="Center" Margin="2" FontSize="14" Width="130" Height="30" IsChecked ="{Binding EditDevice.Enable}"/>
</StackPanel>
<StackPanel Margin="2">
<TextBlock Text="备注(Json格式):" HorizontalAlignment="Left" FontSize="14" Margin="4" Height="30" FontWeight="Bold" Background="Transparent"/>
<TextBox Margin="4" Text="{Binding EditDevice.Json}" Height="300"
VerticalScrollBarVisibility="Visible"
AcceptsReturn="True"
HorizontalAlignment="Stretch"
FontFamily="Consolas"
TextWrapping="NoWrap"
Padding="6"
FontSize="16"
HorizontalScrollBarVisibility="Auto"
/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="2" HorizontalAlignment="Center">
<Button Content="验证JOSN" Style="{StaticResource ButtonSuccess}" Margin="4" Width="100" Command="{Binding VerifyCommand}"/>
<Button Content="修改" Style="{StaticResource ButtonWarning}" Margin="4" Width="100" Command="{Binding EditCommand}"/>
</StackPanel>
</StackPanel>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,16 @@
using System.Windows.Controls;
namespace Cowain.Bake.UI.FactoryMaintenance.Views
{
/// <summary>
/// DeviceManagementView.xaml 的交互逻辑
/// </summary>
public partial class DeviceManagementView : UserControl
{
public DeviceManagementView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,29 @@
<UserControl x:Class="Cowain.Bake.UI.FactoryMaintenance.Views.MomOutboundView"
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:Cowain.Bake.UI.FactoryMaintenance.Views"
mc:Ignorable="d"
d:DesignHeight="360" d:DesignWidth="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="#EEE" Margin="4" CornerRadius="6" BorderThickness="1"/>
<StackPanel Orientation="Horizontal" Margin="12,10,10,10" HorizontalAlignment="Left" >
<TextBlock VerticalAlignment="Center" Margin="4">电芯条码:</TextBlock>
<TextBox Text="{Binding BatteryCode,Mode=TwoWay}" Margin="5" Width="320"/>
<Button Content="发送出站信息" Style="{StaticResource ButtonSuccess}" Margin="20,0,0,0" Width="100" Command="{Binding SendToMomCommand}"/>
<!--<Button Content="发送" Style="{StaticResource ButtonPrimary}" Margin="20,0,0,0" Width="60" Command="{Binding SendToMomCommand}"/>-->
</StackPanel>
<Border Background="#EEE" Margin="4" CornerRadius="6" BorderThickness="1" Grid.Row="1" Grid.RowSpan="4"/>
<!--<TextBlock VerticalAlignment="Center" Grid.Row="1" Margin="12,0,0,0">发送信息:</TextBlock>
<TextBox Text="{Binding SendData,Mode=TwoWay}" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Margin="10,0,10,0" Grid.Row="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>-->
<TextBlock VerticalAlignment="Center" Grid.Row="1" Margin="12,0,0,0">收到信息:</TextBlock>
<TextBox Text="{Binding RecvData,Mode=TwoWay}" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Margin="10,0,10,0" Grid.Row="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</Grid>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Cowain.Bake.UI.FactoryMaintenance.Views
{
/// <summary>
/// MomOutboundView.xaml 的交互逻辑
/// </summary>
public partial class MomOutboundView : UserControl
{
public MomOutboundView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,79 @@
<UserControl x:Class="Cowain.Bake.UI.FactoryMaintenance.Views.PLCVarMonitorView"
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:Cowain.Bake.UI.FactoryMaintenance.Views"
xmlns:prism="http://prismlibrary.com/"
xmlns:cm="clr-namespace:Cowain.Bake.Common.Converter;assembly=Cowain.Bake.Common"
xmlns:vc="clr-namespace:Cowain.Bake.BLL.Converter;assembly=Cowain.Bake.BLL"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
x:Name="uc"
d:DesignHeight="450" d:DesignWidth="1000"
prism:ViewModelLocator.AutoWireViewModel="True" >
<UserControl.Resources>
<ResourceDictionary>
<cm:ScaleConverter x:Key="ScaleConverter"/>
<vc:VarValueConverter x:Key="varConverter"/>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Cowain.Bake.Common;component/Styles/BaseResources.xaml"/>
<ResourceDictionary Source="/Cowain.Bake.Common;component/Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="/Cowain.Bake.Common;component/Styles/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Margin="4" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox Margin="2" x:Name="plcList" ItemsSource="{Binding PlcList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="->" FontSize="11" VerticalAlignment="Center" Margin="10,0"/>
<TextBlock Text="{Binding DeviceName}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<DataGrid hc:DataGridAttach.CanUnselectAllWithBlankArea="True" HeadersVisibility="All" DockPanel.Dock="Right"
CanUserSortColumns="False" SelectionMode="Single" Margin="4" IsReadOnly="False"
RowHeaderWidth="0" AutoGenerateColumns="False" ItemsSource="{Binding ElementName=plcList,Path=SelectedItem.VariableList}">
<DataGrid.Columns>
<DataGridTextColumn Header="状态" Binding="{Binding Quality}" />
<DataGridTextColumn Header="变量名" Binding="{Binding Address}"/>
<DataGridTextColumn Header="地址" Binding="{Binding VarName}" />
<DataGridTextColumn Header="类型" Binding="{Binding VarType}" />
<DataGridTextColumn Header="描述" Binding="{Binding VarDesc}" />
<DataGridTextColumn Header="长度" Binding="{Binding ArrayLength}" />
<DataGridTextColumn Header="值" Binding="{Binding Value}" />
</DataGrid.Columns>
</DataGrid>
<Border Grid.Row="1" Background="#EEE"/>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<TextBlock Text="连接状态:" VerticalAlignment="Center" Foreground="#FF4B4B4B" Margin="10,2,2,2"/>
<TextBlock Text="{Binding ElementName=plcList,Path=SelectedItem.IsConnect}" Foreground="#FF4B4B4B" VerticalAlignment="Center" Margin="10,2,2,2"/>
<TextBlock Text="读时间:" VerticalAlignment="Center" Foreground="#FF4B4B4B" Margin="10,2,2,2"/>
<TextBlock Text="{Binding ElementName=plcList,Path=SelectedItem.ReadUseTime}" Foreground="#FF4B4B4B" VerticalAlignment="Center" Margin="10,2,2,2"/>
<TextBlock Text="ms" VerticalAlignment="Center" Foreground="#FF4B4B4B" Margin="10,2,2,2"/>
</StackPanel>
</Grid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Cowain.Bake.UI.FactoryMaintenance.Views
{
/// <summary>
/// PLCVarMonitor.xaml 的交互逻辑
/// </summary>
public partial class PLCVarMonitorView : UserControl
{
public PLCVarMonitorView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,28 @@
<UserControl x:Class="Cowain.Bake.UI.FactoryMaintenance.Views.SysSetupView"
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:Cowain.Bake.UI.FactoryMaintenance.Views"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Button Content="保存" Style="{StaticResource ButtonInfo}" Command="{Binding SaveCommand}" HorizontalAlignment="Left" Height="40" Margin="10,10,0,0" VerticalAlignment="Top" Width="115" IsEnabled="{Binding IsAllowed}"/>
<DataGrid HorizontalAlignment="Left" SelectedItem="{Binding SelectedItem,Mode=TwoWay}" AutoGenerateColumns="False" ItemsSource="{Binding ParamList}" Margin="10,55,0,0" VerticalAlignment="Top" Width="780">
<i:Interaction.Triggers >
<i:EventTrigger EventName="CellEditEnding">
<i:InvokeCommandAction Command="{Binding CellEditEndingCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<DataGrid.Columns>
<DataGridTextColumn Header="序号" Width="100" Binding="{Binding Id}" Visibility="Hidden"/>
<DataGridTextColumn Header="参数名称" IsReadOnly="True" Width="120" Binding="{Binding ParamCode}" Visibility="Hidden"/>
<DataGridTextColumn Header="参数描述" IsReadOnly="False" Width="350" Binding="{Binding ParamName}" />
<!--以下行没有UpdateSourceTrigger=PropertyChanged就不行-->
<DataGridTextColumn Header="参数值" Width="150" Binding="{Binding ParamValue,UpdateSourceTrigger=PropertyChanged}" />
<DataGridTextColumn Header="校验规则" Width="150" Binding="{Binding CheckRegular}" Visibility="Hidden"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Unity;
namespace Cowain.Bake.UI.FactoryMaintenance.Views
{
/// <summary>
/// SysSetup.xaml 的交互逻辑
/// </summary>
public partial class SysSetupView : UserControl
{
//ViewModels.SysSetupViewModel SysSetupViewModel;
public SysSetupView()
{
InitializeComponent();
//SysSetupViewModel = new ViewModels.SysSetupViewModel(unityContainer);
//this.DataContext = SysSetupViewModel;
}
}
}