From 9ef89aa1b804b049927269c371c1eb9420ec60f3 Mon Sep 17 00:00:00 2001 From: liuwf Date: Sat, 25 Nov 2023 10:57:18 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E6=88=90=E5=93=81=E4=B8=8B?= =?UTF-8?q?=E7=BA=BF=E8=B4=A8=E6=A3=80=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/QualityPageViewModel.cs | 28 ++++++-- .../ViewModels/SelectQualityViewModel.cs | 66 +++++++++++++++---- .../Views/QualityPageView.xaml | 31 +++++---- .../Views/QualityPageView.xaml.cs | 33 +++++++++- .../Views/SelectQualityView.xaml | 51 +++++++++++--- .../Views/SelectQualityView.xaml.cs | 15 ++++- 6 files changed, 178 insertions(+), 46 deletions(-) diff --git a/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs index 87313fb2..f25a38cd 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs @@ -1,32 +1,48 @@ -using Admin.Core.Model; +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 System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using System.Windows.Data; using System.Windows.Documents; namespace Aucma.Core.ProductOffLine.ViewModels { public partial class QualityPageViewModel : ObservableObject { - public QualityPageViewModel() { - + private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices; + public QualityPageViewModel() + { + QualityPageView.getAllQualityEvent += test; + _baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService(); AutoDirectionCommand = new RelayCommand(DirectionEdit); SelectQualityCommand = new RelayCommand(SelectQuality); init(); LoadData(); } - public void init() - { + + public async Task> test() + { + List list = await _baseQualityInspectionItemInfoServices.query(); + return list; + } + + public async void init() + { + await _baseQualityInspectionItemInfoServices.query(); } List materialComplateInfos = new List(); @@ -83,7 +99,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels #endregion #endregion - + #region 加载DataGrid数据 private void LoadData() { diff --git a/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs index 28227961..969d9088 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs @@ -2,13 +2,16 @@ 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.POIFS.Properties; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; @@ -24,47 +27,86 @@ namespace Aucma.Core.ProductOffLine.ViewModels { public partial class SelectQualityViewModel : ObservableObject { + public ICommand QueryCommand { get; set; } public ICommand SaveCommand { get; set; } + private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices; + + public SelectQualityViewModel() + { + _baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService(); - - private readonly IBaseMaterialInfoServices? _baseMaterialInfoServices; - public SelectQualityViewModel() { - _baseMaterialInfoServices = App.ServiceProvider.GetService(); QueryCommand = new RelayCommand(ExecuteQuery); SaveCommand = new RelayCommand(ExecuteSave); + Init(); } + /// /// 3.查询BASE_MATERIALINFO表存在的成品类型以供修改 /// - public void Init() + public async void Init() { + ExecuteQuery(); } private async void ExecuteQuery() { - + List list = await _baseQualityInspectionItemInfoServices.query(); + qualityItemGrid.Clear(); + for (int i = 0; i < list.Count; i++) + { + qualityItemGrid.Add(new QualityInspectionModel() { No = i + 1, ObjId = list[i].ObjId, QualityDefectCode = list[i].QualityDefectCode, QualityDefectName = list[i].QualityDefectName, IsInSpection = list[i].IsInSpection == "0" ? "否" : "是" }); + } } private async void ExecuteSave() { - + List list = new List(); + // 处理保存按钮点击事件 + foreach (QualityInspectionModel item in qualityItemGrid) + { + if ((!"是".Equals(item.IsInSpection) && !"否".Equals(item.IsInSpection))) + { + MessageBox.Show("质检编号:" + item.QualityDefectCode + " 质检名称:" + item.QualityDefectName + " 是否质检应该是或者否"); + return; + } + list.Add(new BaseQualityInspectionItemInfo() + { + ObjId = item.ObjId, + QualityDefectCode = item.QualityDefectCode, + QualityDefectName = item.QualityDefectName, + ParentId = "0", + IsFlag = 0, + IsInSpection = item.IsInSpection == "是" ? "1" : "0" + }); + } + bool result = await _baseQualityInspectionItemInfoServices.UpdateAsync(list); + if (result) + { + MessageBox.Show("保存成功"); + } + else + { + MessageBox.Show("保存失败"); + } } + + #region 初始化datagrid - private ObservableCollection materialDataGrid = new ObservableCollection(); - public ObservableCollection MaterialDataGrid + private ObservableCollection qualityItemGrid = new ObservableCollection(); + public ObservableCollection QualityItemGrid { - get { return materialDataGrid; } + get { return qualityItemGrid; } set { - materialDataGrid = value; + qualityItemGrid = value; OnPropertyChanged();//属性通知 } } #endregion - + } } diff --git a/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml b/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml index b4388364..d7adb1c7 100644 --- a/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml +++ b/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml @@ -14,7 +14,7 @@ + + + + + + + + + + + + + diff --git a/Aucma.Core.ProductOffLine/Views/SelectQualityView.xaml.cs b/Aucma.Core.ProductOffLine/Views/SelectQualityView.xaml.cs index d8543d80..e5195ffb 100644 --- a/Aucma.Core.ProductOffLine/Views/SelectQualityView.xaml.cs +++ b/Aucma.Core.ProductOffLine/Views/SelectQualityView.xaml.cs @@ -1,4 +1,9 @@ -using Aucma.Core.ProductOffLine.ViewModels; +using Admin.Core.IRepository; +using Admin.Core.IService; +using Admin.Core.Model; +using Admin.Core.Repository; +using Admin.Core.Service; +using Aucma.Core.ProductOffLine.ViewModels; using System; using System.Collections.Generic; using System.Linq; @@ -8,6 +13,7 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; +using System.Windows.Forms; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; @@ -20,10 +26,15 @@ namespace Aucma.Core.ProductOffLine.Views /// public partial class SelectQualityView : Window { + public SelectQualityView() { InitializeComponent(); - this.DataContext = new SelectQualityViewModel(); + SelectQualityViewModel viewModel = new SelectQualityViewModel(); + this.DataContext = viewModel; + } + + } }