Browse Source

1

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
24a4e40798
  1. 18
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  2. 42
      BBWY.Client/Models/APIModel/Response/PackTask/SearchOverTimeTaskResponse.cs
  3. 19
      BBWY.Client/Models/Enums.cs
  4. 95
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  5. 9
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  6. 185
      BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml
  7. 26
      BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml.cs

18
BBWY.Client/APIServices/QiKu/PackTaskService.cs

@ -298,6 +298,24 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
/// <summary>
/// 查询超时任务列表
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
public ApiResponse<SearchOverTimeTaskResponse> SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskType? TaskState, int? PageIndex, int? PageSize)
{
return SendRequest<SearchOverTimeTaskResponse>(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new {
ShopId,
StartTime,
EndTime,
TaskState,
PageIndex,
PageSize
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox

42
BBWY.Client/Models/APIModel/Response/PackTask/SearchOverTimeTaskResponse.cs

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchOverTimeTaskResponse
{
public int TotalCount { get; set; }
public IList<OverTimeTaskResponse> OverTimeTaskResponses { get; set; }
}
public class OverTimeTaskResponse:NotifyObject
{
/// <summary>
/// 超时日期
/// </summary>
public DateTime OverTimeDate { get; set; }
/// <summary>
/// 任务信息(任务id 或者封箱id)
/// </summary>
public string TaskMessage { get; set; }
/// <summary>
/// 任务类型
/// </summary>
public TaskState TaskState { get; set; }
/// <summary>
/// 任务人
/// </summary>
public string TaskUserName { get; set; }
/// <summary>
/// 超时时间
/// </summary>
public string OverTime { get; set; }
/// <summary>
/// 备注
/// </summary>
public string RemarkMessage { get; set; }
}
}

19
BBWY.Client/Models/Enums.cs

@ -244,8 +244,8 @@
= 8,
= 9,
= 10,
=11
=11,
=12
}
@ -525,4 +525,19 @@
=0,
=1
}
/// <summary>
/// 超时任务类型
/// </summary>
public enum OverTimeTaskType
{
= 2,//已到货
= 3,
= 4,
= 8,
= 11,
}
}

95
BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs

@ -36,6 +36,37 @@ namespace BBWY.Client.ViewModels.PackTask
//public RelayCommand<string> SelectCmd => new RelayCommand<string>(str => Growl.Info(str));
#region 属性绑定
/// <summary>
/// 查询时间段
/// </summary>
private DateTime startTime;
public DateTime StartTime { get => startTime; set { Set(ref startTime, value); } }
private DateTime endTime;
public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
private OverTimeTaskType overTimeTaskState;
/// <summary>
/// 任务类型(超时)
/// </summary>
public OverTimeTaskType OverTimeTaskState { get => overTimeTaskState; set { Set(ref overTimeTaskState, value); } }
public IList<OverTimeTaskResponse> OverTimeTaskResponses { get; set; }
private ObservableCollection<OverTimeTaskResponse> overTimeTaskList;
/// <summary>
/// 超时任务列表
/// </summary>
public ObservableCollection<OverTimeTaskResponse> OverTimeTaskList { get => overTimeTaskList; set { Set(ref overTimeTaskList, value); } }
private ObservableCollection<OverTimeTaskType> overTimeTaskTypeList = new ObservableCollection<OverTimeTaskType> {
OverTimeTaskType., OverTimeTaskType., OverTimeTaskType., OverTimeTaskType., OverTimeTaskType.
};
/// <summary>
///超时任务类型
/// </summary>
public ObservableCollection<OverTimeTaskType> OverTimeTaskTypeList { get => overTimeTaskTypeList; set { Set(ref overTimeTaskTypeList, value); } }
private string waitTransportJDWareCount;
public string WaitTransportJDWareCount { get => waitTransportJDWareCount; set { Set(ref waitTransportJDWareCount, value); } }
@ -107,14 +138,7 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ObservableCollection<PackTaskModel> PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } }
///// <summary>
///// 查询时间段
///// </summary>
//private DateTime startTime;
//public DateTime StartTime { get => startTime; set { Set(ref startTime, value); } }
//private DateTime endTime;
//public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
private string searchShopName;
public string SearchShopName
@ -294,8 +318,8 @@ namespace BBWY.Client.ViewModels.PackTask
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
//StartTime = DateTime.Now.Date;
//EndTime = DateTime.Now.Date;
StartTime = DateTime.Now.Date;
EndTime = DateTime.Now.Date;
IsLoading = false;
SetTaskStatusCommand = new RelayCommand<object>(SetTaskStatus);
@ -733,8 +757,34 @@ namespace BBWY.Client.ViewModels.PackTask
}
IsLoading = true;
if (TaskState == Models.TaskState.)
{
Task.Factory.StartNew(() =>
{
OverTimeTaskList = new ObservableCollection< OverTimeTaskResponse>();
var datas = packTaskService.SearchOverTimeTaskList(null, StartTime,EndTime,OverTimeTaskState,PageIndex,PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.OverTimeTaskResponses)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
OverTimeTaskList.Add(item);
}));
if (TaskState == Models.TaskState.)
}
}
else
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
IsLoading = false;
});
}
else if (TaskState == Models.TaskState.)
{
Task.Factory.StartNew(() =>
{
@ -978,7 +1028,7 @@ namespace BBWY.Client.ViewModels.PackTask
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.GetWareHouseList(SearchWayBillNo, SearchExpressName, IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, this.TaskState, SearchShopName,
var datas = packTaskService.GetWareHouseList(SearchWayBillNo, SearchExpressName, IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, this.TaskState, SearchShopName,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
@ -1020,18 +1070,19 @@ namespace BBWY.Client.ViewModels.PackTask
//ExpressOrderList = item.ExpressOrderList,
};
if (!item.OrderId.IsNullOrEmpty()&&!item.SkuId.IsNullOrEmpty())
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId,item.SkuId);
if (expressData!=null&& expressData.Success&&expressData.Data!=null)
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
expressData.Data.ForEach(e => {
e.ExpressState=ExpressOrderHelper.GetExpressStateName(e.ExpressState);
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
data.ExpressOrderList=expressData.Data;
data.ExpressOrderList = expressData.Data;
@ -1174,6 +1225,10 @@ namespace BBWY.Client.ViewModels.PackTask
IsLoadCount();
IsLoading = false;
});
}
private void IsLoadWaitTransportCount()
@ -1183,8 +1238,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
WaitTransportCloudWareCount = res.Data.WaitTransportCloudWareCount;
WaitTransportJuShuiTanCount = res.Data.WaitTransportJuShuiTanCount;
WaitTransportStoreWareCount= res.Data.WaitTransportStoreWareCount;
WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount;
WaitTransportStoreWareCount = res.Data.WaitTransportStoreWareCount;
WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount;
}
}

9
BBWY.Client/Views/PackTask/WareHouseList.xaml

@ -11,6 +11,7 @@
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:taskovertime="clr-namespace:BBWY.Client.Views.TaskOverTime"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
mc:Ignorable="d" Background="White"
@ -187,7 +188,9 @@
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.商家自取}" Content="商家自取"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=商家自取:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已超时 }" Content="已超时"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已超时:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已取消}" Content="已取消"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已取消:True:False}"
/>
@ -202,12 +205,12 @@
<Grid Grid.Row="2" Margin="0,5,0,0">
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:Visible:Collapsed}" />
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待打包|待转运:Collapsed:Visible}" />
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待打包|待转运|已超时:Collapsed:Visible}" />
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}" />
<waitquality:WaitQualityControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<local:WaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待打包:Visible:Collapsed}" />
<waittransport:WareWaitTransportListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:Visible:Collapsed}" />
<taskovertime:WareTaskOverTimeControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已超时:Visible:Collapsed}" />
</Grid>
<c:PageControl PageIndex="{Binding PageIndex,Mode=TwoWay}"

185
BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml

@ -0,0 +1,185 @@
<UserControl x:Class="BBWY.Client.Views.TaskOverTime.WareTaskOverTimeControl"
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:BBWY.Client.Views.TaskOverTime"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
mc:Ignorable="d" Background="White"
d:DesignHeight="450" d:DesignWidth="2048"
>
<Grid>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Margin="5,0">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Stretch" Panel.ZIndex="999" Margin="0,5,0,0" >
<StackPanel Orientation="Horizontal" Margin="0,0,0,0" Height="30" >
<StackPanel.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</StackPanel.Resources>
<TextBlock Text="超时时间:" VerticalAlignment="Center" Margin="11,0,0,0"/>
<DatePicker SelectedDate="{Binding StartTime}" Width="133.5" Height="30" VerticalContentAlignment="Center" FocusVisualStyle="{x:Null}" Margin="10,0,0,0"/>
<DatePicker SelectedDate="{Binding EndTime}" Width="133.5" Height="30" VerticalContentAlignment="Center" FocusVisualStyle="{x:Null}" Margin="10,0,0,0"/>
<TextBlock Text="任务类型:" VerticalAlignment="Center" Margin="10,0,0,0"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="30" CornerRadius="0">
<ComboBox BorderThickness="0" Width="140" Height="30" Text="{Binding OverTimeTaskState}" ItemsSource="{Binding OverTimeTaskTypeList}">
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Border>
<Grid >
<c:BButton Content="搜索" Width="100" VerticalAlignment="Stretch" Margin="30,0,0,0"
Command="{Binding SearchTaskCommand}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
</StackPanel>
</Grid>
<Border Grid.Row="1" Margin="0,50, 0,0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="0 1 0 0" >
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="154"/>
<ColumnDefinition Width="204"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="260"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="日期" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务信息" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务人" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="超时时间" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="备注" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding OverTimeTaskList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="30">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="154"/>
<ColumnDefinition Width="204"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="260"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" >
<StackPanel>
<TextBlock Text="{Binding OverTimeDate}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="1" >
<StackPanel>
<TextBlock Text="{Binding TaskMessage}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="2" >
<StackPanel>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel>
<TextBlock Text="{Binding TaskUserName}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >
<StackPanel>
<TextBlock Text="{Binding OverTime}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<StackPanel>
<TextBlock Text="{Binding RemarkMessage}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
</Grid>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>-->
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Border>
</Grid>
</Grid>
</UserControl>

26
BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.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.TaskOverTime
{
/// <summary>
/// WareTaskOverTimeControl.xaml 的交互逻辑
/// </summary>
public partial class WareTaskOverTimeControl : UserControl
{
public WareTaskOverTimeControl()
{
InitializeComponent();
}
}
}
Loading…
Cancel
Save