change-成品下线质检

dev
liuwf 1 year ago
parent cfabe93a82
commit 28cb87275c

@ -85,6 +85,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="Views\QualityWindow.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Views\QualityPageView.xaml.cs"> <Compile Update="Views\QualityPageView.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>

@ -0,0 +1,128 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Core.ProductOffLine.Models;
using Aucma.Core.ProductOffLine.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Microsoft.Extensions.DependencyInjection;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Input;
namespace Aucma.Core.ProductOffLine.ViewModels
{
public partial class QualityItemViewModel : ObservableObject
{
public RelayCommand<object> CloseWindowCommand { get; set; }
public RelayCommand SaveCommand { get; set; }
private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices;
public QualityItemViewModel(QualityInspectionModel info) {
_baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService<IBaseQualityInspectionItemInfoServices>();
CloseWindowCommand = new RelayCommand<object>(t => CloseWindow(t));
SaveCommand = new RelayCommand(updateDirection);
PlanInfo = info;
if("是".Equals(info.IsInSpection)){
IsSelectedOptionA = true;
}
else
{
IsSelectedOptionB = true;
}
}
private QualityInspectionModel planInfo = new QualityInspectionModel();
public QualityInspectionModel PlanInfo
{
get { return planInfo; }
set {
planInfo = value;
OnPropertyChanged(nameof(PlanInfo));
}
}
#region 单选框
private bool _isSelectedOptionA;
public bool IsSelectedOptionA
{
get { return _isSelectedOptionA; }
set
{
if (_isSelectedOptionA != value)
{
_isSelectedOptionA = value;
OnPropertyChanged(nameof(IsSelectedOptionA));
// 如果选择了A选项将B选项设为false
if (_isSelectedOptionA)
{
IsSelectedOptionB = false;
}
}
}
}
private bool _isSelectedOptionB;
public bool IsSelectedOptionB
{
get { return _isSelectedOptionB; }
set
{
if (_isSelectedOptionB != value)
{
_isSelectedOptionB = value;
OnPropertyChanged(nameof(IsSelectedOptionB));
// 如果选择了B选项将A选项设为false
if (_isSelectedOptionB)
{
IsSelectedOptionA = false;
}
}
}
}
#endregion
//关闭窗口
private void CloseWindow(object parameter)
{
var window = parameter as Window;
if (window != null)
{
window.Close();
}
}
private async void updateDirection()
{
BaseQualityInspectionItemInfo info = await _baseQualityInspectionItemInfoServices.FirstAsync(x=>x.ObjId==PlanInfo.ObjId);
if (IsSelectedOptionA)
{
info.IsInSpection = "1";
}
else
{
info.IsInSpection = "0";
}
bool result = await _baseQualityInspectionItemInfoServices.UpdateAsync(info);
if (result)
{
MessageBox.Show(info.QualityDefectName+"质检项修改成功");
}
}
}
}

@ -29,6 +29,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{ {
public ICommand QueryCommand { get; set; } public ICommand QueryCommand { get; set; }
public RelayCommand<object> MouseClickCommand { get; set; }
public ICommand SaveCommand { get; set; } public ICommand SaveCommand { get; set; }
private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices; private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices;
@ -37,6 +38,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
_baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService<IBaseQualityInspectionItemInfoServices>(); _baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService<IBaseQualityInspectionItemInfoServices>();
QueryCommand = new RelayCommand(ExecuteQuery); QueryCommand = new RelayCommand(ExecuteQuery);
MouseClickCommand = new RelayCommand<object>(MouseClick);
SaveCommand = new RelayCommand(ExecuteSave); SaveCommand = new RelayCommand(ExecuteSave);
Init(); Init();
@ -60,6 +62,18 @@ namespace Aucma.Core.ProductOffLine.ViewModels
} }
} }
public void MouseClick(object obj)
{
var info = SelectedDataItem as QualityInspectionModel;
if (info != null)
{
QualityWindow quantityIssuedWindow = new QualityWindow(info);
quantityIssuedWindow.ShowDialog();
}
}
private async void ExecuteSave() private async void ExecuteSave()
{ {
List<BaseQualityInspectionItemInfo> list = new List<BaseQualityInspectionItemInfo>(); List<BaseQualityInspectionItemInfo> list = new List<BaseQualityInspectionItemInfo>();
@ -94,6 +108,19 @@ namespace Aucma.Core.ProductOffLine.ViewModels
private QualityInspectionModel selectedDataItem;
public QualityInspectionModel SelectedDataItem
{
get { return selectedDataItem; }
set
{
selectedDataItem = value;
OnPropertyChanged();
}
}
#region 初始化datagrid #region 初始化datagrid
private ObservableCollection<QualityInspectionModel> qualityItemGrid = new ObservableCollection<QualityInspectionModel>(); private ObservableCollection<QualityInspectionModel> qualityItemGrid = new ObservableCollection<QualityInspectionModel>();
public ObservableCollection<QualityInspectionModel> QualityItemGrid public ObservableCollection<QualityInspectionModel> QualityItemGrid

@ -0,0 +1,94 @@
<Window x:Class="Aucma.Core.ProductOffLine.Views.QualityWindow"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Aucma.Core.ProductOffLine.Views"
mc:Ignorable="d"
Title="选择方向" Height="500" Width="500" Name="window" Background="White"
ResizeMode="NoResize" Topmost="True">
<Border Margin="5" Background="#1254AB" CornerRadius="10">
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderBrush="#1254AB" BorderThickness="3" CornerRadius="5" Background="Transparent" Margin="5,5">
<Border.Effect>
<DropShadowEffect Color="#1254AB" Direction="270" BlurRadius="10" ShadowDepth="5" Opacity="0.5"/>
</Border.Effect>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="序 号:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,0,0"/>
<TextBox x:Name="No" FontSize="20" Text="{Binding PlanInfo.No}" Foreground="#FFFFFF" Width="50" IsReadOnly="True" Margin="5,0,10,0"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="质检编码:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,0,0"/>
<TextBox x:Name="QualityDefectCode" FontSize="20" Text="{Binding PlanInfo.QualityDefectCode}" Foreground="#FFFFFF" Width="260" IsReadOnly="True" Margin="5,0,10,0"/>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="质检名称:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,0,0"/>
<TextBox x:Name="QualityDefectName" FontSize="20" Text="{Binding PlanInfo.QualityDefectName}" Foreground="#FFFFFF" Width="260" IsReadOnly="True" Margin="5,0,10,0"/>
</StackPanel>
<StackPanel Grid.Row="3" Orientation="Horizontal" VerticalAlignment="Center" Margin="60,0,0,0" >
<!--单选框样式-->
<StackPanel.Resources>
<Style TargetType="RadioButton">
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Background" Value="White"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<BulletDecorator Background="Transparent">
<BulletDecorator.Bullet>
<Grid Width="20" Height="20">
<Ellipse x:Name="BulletRadio" Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="1"/>
</Grid>
</BulletDecorator.Bullet>
<ContentPresenter Margin="4,0,0,0" VerticalAlignment="Center" RecognizesAccessKey="True"/>
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="BulletRadio" Property="Fill" Value="Green"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Green"/>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBlock Text="是否校验: " FontSize="20" Foreground="#FFFFFF" />
<RadioButton Content="是" GroupName="Direction" IsChecked="{Binding IsSelectedOptionA, Mode=TwoWay}" />
<RadioButton Content="否" GroupName="Direction" IsChecked="{Binding IsSelectedOptionB, Mode=TwoWay}" Margin="10 0 0 0"/>
</StackPanel>
<StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="保 存" FontSize="20" Command="{Binding SaveCommand}" Background="#FF36B5C1" BorderBrush="#FF36B5C1" Foreground="white" Margin="0,0,10,0" Height="50" Width="100" />
<Button Content="取 消" FontSize="20" Command="{Binding CloseWindowCommand}" CommandParameter="{Binding ElementName=window}" Background="#FF9900" Foreground="white" Margin="10,0,0,0" Height="50" BorderBrush="#FF9900" Width="100" />
</StackPanel>
</Grid>
</Border>
</Grid>
</Border>
</Window>

@ -0,0 +1,33 @@
using Admin.Core.Model;
using Aucma.Core.ProductOffLine.Models;
using Aucma.Core.ProductOffLine.ViewModels;
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 Aucma.Core.ProductOffLine.Views
{
/// <summary>
/// DirectionItemWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityWindow : Window
{
private QualityItemViewModel viewModel = null;
public QualityWindow(QualityInspectionModel info)
{
InitializeComponent();
this.DataContext = new QualityItemViewModel(info);
}
}
}

@ -31,7 +31,7 @@
RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0" RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden" GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False"
Foreground="#FFFFFF" SelectedItem="{Binding SelectedDataItem}" > Foreground="#FFFFFF" SelectedItem="{Binding SelectedDataItem}" SelectionMode="Single" MouseLeftButtonDown="dataGrid_MouseLeftButtonDown">
<DataGrid.ColumnHeaderStyle> <DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader"> <Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"> <Setter Property="HorizontalContentAlignment" Value="Center">

@ -3,6 +3,7 @@ using Admin.Core.IService;
using Admin.Core.Model; using Admin.Core.Model;
using Admin.Core.Repository; using Admin.Core.Repository;
using Admin.Core.Service; using Admin.Core.Service;
using Aucma.Core.ProductOffLine.Models;
using Aucma.Core.ProductOffLine.ViewModels; using Aucma.Core.ProductOffLine.ViewModels;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -26,15 +27,18 @@ namespace Aucma.Core.ProductOffLine.Views
/// </summary> /// </summary>
public partial class SelectQualityView : Window public partial class SelectQualityView : Window
{ {
private SelectQualityViewModel selectQualityViewModel = new SelectQualityViewModel();
public SelectQualityView() public SelectQualityView()
{ {
InitializeComponent(); InitializeComponent();
SelectQualityViewModel viewModel = new SelectQualityViewModel(); this.DataContext = selectQualityViewModel;
this.DataContext = viewModel;
} }
private void dataGrid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
selectQualityViewModel.MouseClick(sender);
}
} }
} }

Loading…
Cancel
Save