Browse Source

封箱落仓店铺sku 折叠显示

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
b5192c6a4d
  1. 2
      BBWY.Client/BBWYAppSettings.json
  2. 7
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  3. 7
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  4. 74
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  5. 18
      BBWY.Client/Views/FallWare/WaitFallWareControl.xaml
  6. 8
      BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml.cs
  7. 96
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml

2
BBWY.Client/BBWYAppSettings.json

@ -5,5 +5,5 @@
"JOSApiHost": "", "JOSApiHost": "",
"1688ApiHost": "", "1688ApiHost": "",
"QKApiHost": "http://localhost:8080" "QKApiHost": "http://localhost:8080"
// "QKApiHost": "http://qiku.qiyue666.com" // "QKApiHost": "http://qiku.qiyue666.com"
} }

7
BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs

@ -116,7 +116,12 @@ namespace BBWY.Client.Models.APIModel
/// <summary> /// <summary>
/// 封箱sku列表 /// 封箱sku列表
/// </summary> /// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; } private List<SealBoxSku> sealBoxSkus;
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get => sealBoxSkus; set { Set(ref sealBoxSkus, value); } }
/// <summary> /// <summary>
/// 封箱的箱子数量 /// 封箱的箱子数量

7
BBWY.Client/Models/PackTask/SealBoxModel.cs

@ -44,7 +44,12 @@ namespace BBWY.Client.Models.PackTask
/// <summary> /// <summary>
/// 封箱sku列表 /// 封箱sku列表
/// </summary> /// </summary>
public List<WareSealBoxSku> SealBoxSkus { get; set; } private List<WareSealBoxSku> sealBoxSkus;
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareSealBoxSku> SealBoxSkus { get => sealBoxSkus; set { Set(ref sealBoxSkus, value); } }
/// <summary> /// <summary>
/// 封箱数 /// 封箱数

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

@ -318,6 +318,11 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary> /// </summary>
public ObservableCollection<WaitFallWareModel> WaitFallWareList { get => waitFallWareList; set { Set(ref waitFallWareList, value); } } public ObservableCollection<WaitFallWareModel> WaitFallWareList { get => waitFallWareList; set { Set(ref waitFallWareList, value); } }
public IList<WaitFallWareModelResponse> WaitFallWareLists { get; set; }
private ObservableCollection<WareNoSealBoxModel> wareNoSealBoxModels; private ObservableCollection<WareNoSealBoxModel> wareNoSealBoxModels;
/// <summary> /// <summary>
@ -340,6 +345,14 @@ namespace BBWY.Client.ViewModels.PackTask
/// 分箱列表(已配置) /// 分箱列表(已配置)
/// </summary> /// </summary>
public ObservableCollection<SealBoxModel> WaitSealBoxModels { get => waitSealBoxModels; set { Set(ref waitSealBoxModels, value); } } public ObservableCollection<SealBoxModel> WaitSealBoxModels { get => waitSealBoxModels; set { Set(ref waitSealBoxModels, value); } }
/// <summary>
/// 分箱列表(已配置)
/// </summary>
public List<WareSealBoxData> SealBoxModelList { get; set; }
private ObservableCollection<PackTaskModel> packTaskList; private ObservableCollection<PackTaskModel> packTaskList;
/// <summary> /// <summary>
@ -643,8 +656,39 @@ namespace BBWY.Client.ViewModels.PackTask
SelectSku = "SKU"; SelectSku = "SKU";
SelectExpress = "物流单号"; SelectExpress = "物流单号";
LoadSkuDataCommand = new RelayCommand<WareNoSealBoxModel>(LoadSkuData); LoadSkuDataCommand = new RelayCommand<WareNoSealBoxModel>(LoadSkuData);
LoadSealBoxSkuDataCommand = new RelayCommand<SealBoxModel>(LoadSealBoxSkuData);
LoadFallWareSkuDataCommand = new RelayCommand<WaitFallWareModel>(LoadFallWareSkuData);
}
private void LoadFallWareSkuData(WaitFallWareModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = WaitFallWareLists.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
}
private void LoadSealBoxSkuData( SealBoxModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas =SealBoxModelList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
} }
private void LoadSkuData(WareNoSealBoxModel model) private void LoadSkuData(WareNoSealBoxModel model)
{ {
@ -1152,15 +1196,25 @@ namespace BBWY.Client.ViewModels.PackTask
/// <summary> /// <summary>
/// 加载事件 /// 加载事件(待封箱)
/// </summary> /// </summary>
public ICommand LoadSkuDataCommand { get; set; } public ICommand LoadSkuDataCommand { get; set; }
/// <summary> /// <summary>
/// 完成封箱 /// 加载事件(封箱已配置)
/// </summary> /// </summary>
/// <param name="obj"></param> public ICommand LoadSealBoxSkuDataCommand { get; set; }
private void CompeteSealBox(object obj)
/// <summary>
/// 落仓
/// </summary>
public ICommand LoadFallWareSkuDataCommand { get; set; }
/// <summary>
/// 完成封箱
/// </summary>
/// <param name="obj"></param>
private void CompeteSealBox(object obj)
{ {
var model = (SealBoxModel)obj; var model = (SealBoxModel)obj;
@ -1447,6 +1501,7 @@ namespace BBWY.Client.ViewModels.PackTask
{ {
var dataModel = datas.Data; var dataModel = datas.Data;
OrderCount = dataModel.TotalCount; OrderCount = dataModel.TotalCount;
WaitFallWareLists = dataModel.WaitFallWareList;
foreach (var item in dataModel.WaitFallWareList) foreach (var item in dataModel.WaitFallWareList)
{ {
App.Current.Dispatcher.Invoke(new Action(() => App.Current.Dispatcher.Invoke(new Action(() =>
@ -1455,7 +1510,7 @@ namespace BBWY.Client.ViewModels.PackTask
{ {
AcceptUserNames = string.Join("|", item.AcceptUserNames), AcceptUserNames = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName, DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus, SealBoxSkus =null,
ShopId = item.ShopId, ShopId = item.ShopId,
ShopName = item.ShopName, ShopName = item.ShopName,
WareId = item.WareId, WareId = item.WareId,
@ -1495,6 +1550,8 @@ namespace BBWY.Client.ViewModels.PackTask
{ {
var dataModel = datas.Data; var dataModel = datas.Data;
OrderCount = dataModel.TotalCount; OrderCount = dataModel.TotalCount;
SealBoxModelList = dataModel.WaitSealBoxModels;
foreach (var item in dataModel.WaitSealBoxModels) foreach (var item in dataModel.WaitSealBoxModels)
{ {
@ -1504,12 +1561,7 @@ namespace BBWY.Client.ViewModels.PackTask
{ {
AcceptUserName = string.Join("|", item.AcceptUserNames), AcceptUserName = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName, DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus.Select(s => SealBoxSkus = null,
{
s.Logo = s.Logo;
return s;
}).ToList(),
ShopId = item.ShopId, ShopId = item.ShopId,
ShopName = item.ShopName, ShopName = item.ShopName,
WareId = item.WareId, WareId = item.WareId,

18
BBWY.Client/Views/FallWare/WaitFallWareControl.xaml

@ -75,10 +75,10 @@
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}" <Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="100"> >
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/> <RowDefinition />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Background="#F2F2F2" > <Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -118,9 +118,21 @@
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" /> <TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserNames}" Margin="5,0,0,0" /> <TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserNames}" Margin="5,0,0,0" />
</StackPanel> </StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="5" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1"
Command="{Binding DataContext.LoadFallWareSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="5" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid> </Grid>
<Grid Grid.Row="1"> <Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/> <ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="80"/>

8
BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml.cs

@ -26,7 +26,11 @@ namespace BBWY.Client.Views.SealBox
} }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listbox_order_ScrollChanged(object sender, ScrollChangedEventArgs e) private void listbox_order_ScrollChanged(object sender, ScrollChangedEventArgs e)
{ {
//if (e.ExtentHeight - e.ViewportHeight - e.VerticalOffset < 100) //if (e.ExtentHeight - e.ViewportHeight - e.VerticalOffset < 100)
@ -41,7 +45,7 @@ namespace BBWY.Client.Views.SealBox
// } // }
// } // }
// // 滚动到底部 // // 滚动到底部
//} //}
} }

96
BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml

@ -77,10 +77,10 @@
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}" <Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="100"> >
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/> <RowDefinition />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid Background="#F2F2F2" > <Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -120,9 +120,19 @@
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" /> <TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserName}" Margin="5,0,0,0" /> <TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserName}" Margin="5,0,0,0" />
</StackPanel> </StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="6" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1"
Command="{Binding DataContext.LoadSealBoxSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="6" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid> </Grid>
<Grid Grid.Row="1"> <Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/> <ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="80"/>
@ -132,13 +142,21 @@
<ColumnDefinition Width="100"/> <ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}" <ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}" Grid.ColumnSpan="2"
Style="{StaticResource NoScrollViewListBoxStyle}" Style="{StaticResource NoScrollViewListBoxStyle}" VirtualizingStackPanel.IsVirtualizing="True"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" > ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
>
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}"> <Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/> <ColumnDefinition Width="90"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -216,71 +234,52 @@
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Grid.Column="1" >
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<ListBox x:Name="listbox_skuCount" ItemsSource="{Binding SealBoxSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}" Grid.Column="1"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_skuCount}">
<Grid>
<TextBlock x:Name="txt_storeName" <TextBlock x:Name="txt_storeName"
Text="{Binding WareHourseSkuCount}" Text="{Binding WareHourseSkuCount}"
TextWrapping="Wrap" TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"
/> />
</Grid> </Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Grid.ColumnSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ListBox.ItemTemplate> </ListBox.ItemTemplate>
</ListBox> </ListBox>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<Grid Grid.Column="2"
<Grid Grid.Column="2" > >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxCount}"/> <TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxCount}"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Grid.Column="3" > <Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding SealBoxRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Visibility="{Binding SealBoxRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
> >
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" <StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}" Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
> >
<TextBlock Text="剩余: " /> <TextBlock Text="剩余: " />
<TextBlock Text="{Binding SealBoxRemainTime }"/> <TextBlock Text="{Binding SealBoxRemainTime }"/>
</StackPanel> </StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center" <StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}" Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
> >
<StackPanel Orientation="Horizontal" <StackPanel Orientation="Horizontal"
> >
<TextBlock Foreground="Red" Text="超时: "/> <TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding SealBoxRemainTime}"/> <TextBlock Foreground="Red" Text="{Binding SealBoxRemainTime}"/>
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding SealBoxPackOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}" <c:BButton Margin="0 10 0 0" Content="{Binding SealBoxPackOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
> >
<b:Interaction.Triggers> <b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown"> <b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"> <b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
@ -299,7 +298,8 @@
</Grid> </Grid>
<Grid Grid.Column="5" > <Grid Grid.Column="5"
>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" <c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center"

Loading…
Cancel
Save