From 9a44e8de34c872f610c8cc6bbd158e29b812b8b1 Mon Sep 17 00:00:00 2001 From: "506583276@qq.com" <506583276@qq.com> Date: Thu, 29 Jun 2023 22:08:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=9B=A2=E9=98=9F=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E6=9F=A5=E7=9C=8B=E4=BB=BB=E5=8A=A1=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Converters/EnumToColorConverter.cs | 15 +- .../Models/SealBox/SealBoxConfiguredModel.cs | 15 + .../SealBox/SealBoxWaitConfigureModel.cs | 2 + .../ViewModels/PackTask/TaskListViewModel.cs | 134 ++++- .../PackTask/ShopWaitPackageControl.xaml | 439 +++++++++++++++++ .../PackTask/ShopWaitPackageControl.xaml.cs | 26 + BBWY.Client/Views/PackTask/TaskList.xaml | 18 +- .../Views/PackTask/TaskListControl.xaml | 216 ++++---- .../Views/PackTask/WareHouseListControl.xaml | 24 +- .../Views/QualityTask/QualityWindow.xaml | 4 +- .../QualityTask/ShopWaitQualityControl.xaml | 460 ++++++++++++++++++ .../ShopWaitQualityControl.xaml.cs | 26 + .../SealBox/SealBoxConfiguredControl.xaml | 45 +- .../SealBox/SealBoxWaitConfigureControl.xaml | 87 ++-- .../WareWaitTransportControl.xaml | 12 +- 15 files changed, 1320 insertions(+), 203 deletions(-) create mode 100644 BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml create mode 100644 BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml.cs create mode 100644 BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml create mode 100644 BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml.cs diff --git a/BBWY.Client/Converters/EnumToColorConverter.cs b/BBWY.Client/Converters/EnumToColorConverter.cs index dc4d8eb4..fd23ea22 100644 --- a/BBWY.Client/Converters/EnumToColorConverter.cs +++ b/BBWY.Client/Converters/EnumToColorConverter.cs @@ -25,20 +25,15 @@ namespace BBWY.Client.Converters var enumName = Enum.Parse(type, value.ToString()); if (enumName == null) return DependencyProperty.UnsetValue; int enumIndex = (int)enumName; - if ((enumIndex == 0)) + if ((enumIndex == 7)) { - return "#C1FFC1"; + return "#ec808d"; } - if (enumIndex == 1) + if (enumIndex ==6) { - return "#FFDEAD"; + return "#02a7f0"; } - if(enumIndex==2) - { - return "#FFDAB9"; - - } - return enumName; + return "#facd91"; } catch (Exception e) { diff --git a/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs b/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs index 6ed226b0..3bf7c6f7 100644 --- a/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs +++ b/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs @@ -8,6 +8,16 @@ namespace BBWY.Client.Models.SealBox { public class SealBoxConfiguredModel:NotifyObject { + + private string sealBoxRemainTime; + public string SealBoxRemainTime { get => sealBoxRemainTime; set { Set(ref sealBoxRemainTime, value); } } + + private bool isSealBoxOverTime; + public bool IsSealBoxOverTime { get => isSealBoxOverTime; set { Set(ref isSealBoxOverTime, value); } } + /// + /// 过期时间 + /// + public DateTime? SealBoxPackOverTime { get; set; } /// /// 封箱id /// @@ -56,5 +66,10 @@ namespace BBWY.Client.Models.SealBox /// public string Logo { get; set; } + /// + /// 任务状态 + /// + public TaskState? TaskState { get; set; } + } } diff --git a/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs b/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs index 22bd2083..0508740c 100644 --- a/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs +++ b/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs @@ -35,5 +35,7 @@ namespace BBWY.Client.Models /// public TaskState? TaskState { get; set; } + public string BrandName { get; set; } + } } diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index 418a559b..a6e6e48f 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -477,6 +477,9 @@ namespace BBWY.Client.ViewModels.PackTask private bool IsStartThread = false; + private Thread qualityOverTimeThread = null; + private Thread packOverTimeThread = null; + private Thread sealboxOverTimeThread = null; private Thread fallwareOverTimeThread = null; /// /// 搜索任务列表 @@ -545,7 +548,9 @@ namespace BBWY.Client.ViewModels.PackTask BrandName = item.BrandName, OrderId = item.OrderId, TaskState = item.TaskState, - + QualityCompletionOverTime = item.QualityCompletionOverTime, + PackCompletionOverTime = item.PackCompletionOverTime, + ExpressOrderList = item.ExpressOrderList, // IsWorry = (Worry)item.IsWorry, }; if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) @@ -582,7 +587,94 @@ namespace BBWY.Client.ViewModels.PackTask })); } + Thread.Sleep(500); + //任务状态为待验收 + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); + if (packtasks.Count() > 0 && TaskState == Models.TaskState.待验收) + { + //if (qualityOverTimeThread!=null) + //{ + // qualityOverTimeThread.Abort(); + //} + + qualityOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packtasks) + { + var datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsQualityOverTime = false; + //item.QualityRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分{datetime.Seconds}秒"; + item.QualityRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分"; + } + else + { + item.IsQualityOverTime = true; + //item.QualityRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分{-datetime.Seconds}秒"; + item.QualityRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + qualityOverTimeThread.IsBackground = true; + qualityOverTimeThread.Start(); + + + } + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待打包 && p.PackCompletionOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0 && TaskState == Models.TaskState.待打包) + { + //if (packOverTimeThread!=null) + //{ + // packOverTimeThread.Abort(); + //} + packOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packCompletedTasks) + { + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分"; + } + else + { + item.IsPackOverTime = true; + item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); + + + } + + //任务状态为待打包 } @@ -662,6 +754,46 @@ namespace BBWY.Client.ViewModels.PackTask SealBoxConfiguredList.Add(item); })); } + + Thread.Sleep(500); + var sealboxTasks = SealBoxConfiguredList.Where(p => p.SealBoxPackOverTime != null).ToList(); + if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待封箱) + { + + + sealboxOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in sealboxTasks) + { + var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsSealBoxOverTime = false; + item.SealBoxRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分"; + } + else + { + item.IsSealBoxOverTime = true; + item.SealBoxRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + sealboxOverTimeThread.IsBackground = true; + sealboxOverTimeThread.Start(); + + + } } IsLoadSealBoxCount(); IsLoadCount(); diff --git a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml new file mode 100644 index 00000000..3dd41984 --- /dev/null +++ b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml @@ -0,0 +1,439 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml.cs b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml.cs new file mode 100644 index 00000000..7d5638eb --- /dev/null +++ b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml.cs @@ -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 BBWY.Client.Views.PackTask +{ + /// + /// ShopWaitPackageControl.xaml 的交互逻辑 + /// + public partial class ShopWaitPackageControl : UserControl + { + public ShopWaitPackageControl() + { + InitializeComponent(); + } + } +} diff --git a/BBWY.Client/Views/PackTask/TaskList.xaml b/BBWY.Client/Views/PackTask/TaskList.xaml index 43cd76c7..0bacb8ea 100644 --- a/BBWY.Client/Views/PackTask/TaskList.xaml +++ b/BBWY.Client/Views/PackTask/TaskList.xaml @@ -4,6 +4,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:BBWY.Client.Views.PackTask" + xmlns:waitquality="clr-namespace:BBWY.Client.Views.QualityTask" xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls" xmlns:ctr="clr-namespace:BBWY.Client.Converters" xmlns:cmodel="clr-namespace:BBWY.Client.Models" @@ -165,15 +166,22 @@ /> + - - - - + + + + + + - - - - + + + + - - - + - - - - - - - - - - - - + + + + + + + + + + + + @@ -92,16 +90,14 @@ - - - - + + + + - - - + @@ -112,7 +108,10 @@ CommandParameter="{Binding TaskId}" Margin=" 5,0,7,0"/> - - - - - - - + - - - - + + + + - - - + - - @@ -211,7 +198,7 @@ - + @@ -234,16 +221,7 @@ /> - - - - - + @@ -259,7 +237,7 @@ - + - + @@ -286,45 +264,9 @@ - - - - - - - - - - - + + + @@ -369,21 +311,55 @@ - + + + + + + + + + + + + + + + + + - + + - + + + + + + + + - + + + + + + - + - + - + @@ -407,7 +385,7 @@ Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0" - Visibility="{Binding IsShowFees,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed }" + ToolTipService.ShowDuration="20000"> @@ -420,15 +398,13 @@ - - - - - + + + + diff --git a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml index 1c5099db..8c02a93e 100644 --- a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml @@ -32,7 +32,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -108,9 +108,8 @@ Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}" CommandParameter="{Binding TaskId}" Margin=" 5,0,7,0"/> - - + + + + + diff --git a/BBWY.Client/Views/QualityTask/QualityWindow.xaml b/BBWY.Client/Views/QualityTask/QualityWindow.xaml index 2c07a5e1..cc317aeb 100644 --- a/BBWY.Client/Views/QualityTask/QualityWindow.xaml +++ b/BBWY.Client/Views/QualityTask/QualityWindow.xaml @@ -37,7 +37,7 @@ - + @@ -474,7 +474,7 @@ - diff --git a/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml b/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml new file mode 100644 index 00000000..5e5fa0a3 --- /dev/null +++ b/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml.cs b/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml.cs new file mode 100644 index 00000000..84de3d6d --- /dev/null +++ b/BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml.cs @@ -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 BBWY.Client.Views.QualityTask +{ + /// + /// ShopWaitQualityControl.xaml 的交互逻辑 + /// + public partial class ShopWaitQualityControl : UserControl + { + public ShopWaitQualityControl() + { + InitializeComponent(); + } + } +} diff --git a/BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml b/BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml index 1dfcd99f..70fa4fd9 100644 --- a/BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml +++ b/BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml @@ -37,15 +37,16 @@ + - - - - + + + + @@ -84,10 +85,16 @@ + + + + @@ -141,7 +149,7 @@ - + + + + + @@ -201,15 +213,32 @@ + + + + + + + + + + + + - - + - + diff --git a/BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml b/BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml index f5a2e238..3ea29b04 100644 --- a/BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml +++ b/BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml @@ -36,11 +36,11 @@ - + - + @@ -77,20 +77,26 @@ - + - - + + + + + + - + + + @@ -105,7 +111,7 @@ - + + + + + + + + + - + + + + - - + - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - + + + + + + + diff --git a/BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml b/BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml index 5a3d68a7..65d04de0 100644 --- a/BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml +++ b/BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml @@ -92,7 +92,11 @@ - + + - - +