Browse Source

1

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
a2e35c65b0
  1. 27
      BBWY.Client/APIServices/DictionaryService.cs
  2. 22
      BBWY.Client/APIServices/PackTaskService.cs
  3. 4
      BBWY.Client/BBWYAppSettings.json
  4. 34
      BBWY.Client/Models/APIModel/Response/Dictionary/GetDictionaryByKeyResponse.cs
  5. 5
      BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs
  6. 111
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  7. 1
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitSealBoxResponse.cs
  8. 3
      BBWY.Client/Models/Enums.cs
  9. 6
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  10. 1
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  11. 142
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  12. 296
      BBWY.Client/Views/PackTask/WaitFallWareControl.xaml
  13. 26
      BBWY.Client/Views/PackTask/WaitFallWareControl.xaml.cs
  14. 8
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  15. 143
      BBWY.Client/Views/SealBox/SetSealBoxWindow.xaml.cs
  16. 69
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml
  17. 0
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml.cs

27
BBWY.Client/APIServices/DictionaryService.cs

@ -0,0 +1,27 @@
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
namespace BBWY.Client.APIServices
{
public class DictionaryService : BaseApiService, IDenpendency
{
public DictionaryService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<GetDictionaryByKeyResponse> GetDictionaryByKey(string key)
{
return SendRequest<GetDictionaryByKeyResponse>(globalContext.QKApiHost, $"api/Dictionary/GetDictionaryByKey?key={key}",
null
, null, HttpMethod.Get);
}
}
}

22
BBWY.Client/APIServices/PackTaskService.cs

@ -331,14 +331,30 @@ namespace BBWY.Client.APIServices
/// <returns></returns>
public ApiResponse<bool> CompeteSealBox( CompeteSealBox CompeteSealBoxs)
{
return SendRequest<bool>(globalContext.QKApiHost, "api/PackTask/CompeteSealBox", new
return SendRequest<bool>(globalContext.QKApiHost, "api/PackTask/CompeteSealBox", CompeteSealBoxs, null, HttpMethod.Post);
}
/// <summary>
/// 获取待落仓列表
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public ApiResponse<SearchWaitFallWareResponse> SearchWaitFallWareList(string ShopName = null, long? TaskId = null, string SkuId = null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<SearchWaitFallWareResponse>(globalContext.QKApiHost, "api/PackTask/SearchWaitFallWareList", new
{
CompeteSealBoxs
ShopName,
TaskId,
SkuId,
PageIndex,
PageSize
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox

4
BBWY.Client/BBWYAppSettings.json

@ -4,6 +4,6 @@
"MDSApiHost": "http://mdsapi.qiyue666.com",
"JOSApiHost": "",
"1688ApiHost": "",
"QKApiHost": "http://localhost:8080"
// "QKApiHost": "http://qiku.qiyue666.com"
//"QKApiHost": "http://localhost:8080"
"QKApiHost": "http://qiku.qiyue666.com"
}

34
BBWY.Client/Models/APIModel/Response/Dictionary/GetDictionaryByKeyResponse.cs

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class GetDictionaryByKeyResponse
{
/// <summary>
/// 字典类型
/// </summary>
public string Key { get; set; }
/// <summary>
/// 字典类型名称
/// </summary>
public string KeyName { get; set; }
/// <summary>
/// 字典值列表
/// </summary>
public IList<DicValue> DicValueList { get; set; }
}
public class DicValue
{
/// <summary>
/// 字典值
/// </summary>
public string Value { get; set; }
/// <summary>
/// 字典值标签
/// </summary>
public string ValueName { get; set; }
}
}

5
BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs

@ -36,5 +36,10 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask
/// 待出库数
/// </summary>
public int? WaitOutbound { get; set; }
/// <summary>
/// 待落仓
/// </summary>
public int? WaitFallWareCount { get; set; }
}
}

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

@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchWaitFallWareResponse
{
/// <summary>
/// 数量
/// </summary>
public int TotalCount { get; set; }
public IList<WaitFallWareModelResponse> WaitFallWareList { get; set; }
}
public class WaitFallWareModelResponse
{
/// <summary>
/// 店铺Id
/// </summary>
public string ShopId { get; set; }
/// <summary>
/// 仓库Id(同一个店铺 唯一)
/// </summary>
public string WareId { get; set; }
/// <summary>
/// 店铺名称
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 仓库名
/// </summary>
public string WareName { get; set; }
/// <summary>
/// 团队名称
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 对接人(同团队下)
/// </summary>
public List<string> AcceptUserNames { get; set; }
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
/// <summary>
/// 封箱的箱子数量
/// </summary>
public int SealBoxCount { get; set; }
/// <summary>
/// 封箱id
/// </summary>
public long SealBoxId { get; set; }
}
public class WaitFallWareModel
{
/// <summary>
/// 店铺Id
/// </summary>
public string ShopId { get; set; }
/// <summary>
/// 仓库Id(同一个店铺 唯一)
/// </summary>
public string WareId { get; set; }
/// <summary>
/// 店铺名称
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 仓库名
/// </summary>
public string WareName { get; set; }
/// <summary>
/// 团队名称
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 对接人(同团队下)
/// </summary>
public string AcceptUserNames { get; set; }
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
/// <summary>
/// 封箱的箱子数量
/// </summary>
public int SealBoxCount { get; set; }
/// <summary>
/// 封箱id
/// </summary>
public long SealBoxId { get; set; }
}
}

1
BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitSealBoxResponse.cs

@ -96,5 +96,6 @@ namespace BBWY.Client.Models.APIModel
/// 打包sku产品数量
/// </summary>
public int SkuCount { get; set; }
}
}

3
BBWY.Client/Models/Enums.cs

@ -233,7 +233,8 @@
= 4,
= 5,
= 6,
= 7
= 7,
= 8
}

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

@ -39,5 +39,11 @@ namespace BBWY.Client.Models.PackTask
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
/// <summary>
/// 封箱数
/// </summary>
public int? SealBoxCount{ get; set; }
}
}

1
BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs

@ -322,7 +322,6 @@ namespace BBWY.Client.ViewModels.PackTask
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand CreateTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
private void SetBarCode()

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

@ -49,13 +49,28 @@ namespace BBWY.Client.ViewModels.PackTask
}
private ObservableCollection<WaitFallWareModel> waitFallWareList;
/// <summary>
/// 待落仓列表
/// </summary>
public ObservableCollection<WaitFallWareModel> WaitFallWareList { get => waitFallWareList; set { Set(ref waitFallWareList, value); } }
private ObservableCollection<SealBoxModel> waitSealBoxModels;
/// <summary>
/// 分箱列表
/// </summary>
public ObservableCollection<SealBoxModel> WaitSealBoxModels { get => waitSealBoxModels; set { Set(ref waitSealBoxModels, value); } }
private ObservableCollection<PackTaskModel> packTaskList;
/// <summary>
/// 打包任务列表
/// </summary>
public ObservableCollection<PackTaskModel> PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } }
/// <summary>
/// 查询时间段
@ -143,27 +158,30 @@ namespace BBWY.Client.ViewModels.PackTask
private string waitPackCount;
/// <summary>
/// 待打包数
/// 待打包任务
/// </summary>
public string WaitPackCount { get => waitPackCount; set { Set(ref waitPackCount, value); } }
private string waitSealBox;
private string waitSealBoxCount;
/// <summary>
/// 带封箱数
/// 带封箱任务
/// </summary>
public string WaitSealBox { get => waitSealBox; set { Set(ref waitSealBox, value); } }
public string WaitSealBoxCount { get => waitSealBoxCount; set { Set(ref waitSealBoxCount, value); } }
private string waitFallWareCount;
/// <summary>
/// 待落仓任务数
/// </summary>
public string WaitFallWareCount { get => waitFallWareCount; set { Set(ref waitFallWareCount, value); } }
private string waitOutbound;
/// <summary>
/// 待出库数
/// 待出库任务
/// </summary>
public string WaitOutbound { get => waitOutbound; set { Set(ref waitOutbound, value); } }
//private int totalCount;
///// <summary>
///// 全部数量
///// </summary>
//public int TotalCount { get => totalCount; set { Set(ref totalCount, value); } }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
@ -177,17 +195,6 @@ namespace BBWY.Client.ViewModels.PackTask
private int? IsWorry { get; set; }
public int? taskStatus { get; set; }
private ObservableCollection<PackTaskModel> packTaskList;
/// <summary>
/// 动态数据表
/// </summary>
public ObservableCollection<PackTaskModel> PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } }
//private ObservableCollection<FeesItemTypeDTO> feesItems;
///// <summary>
///// 动态数据表
///// </summary>
//public ObservableCollection<FeesItemTypeDTO> FeesItems { get => feesItems; set { Set(ref feesItems, value); } }
public string searchDepartment;
@ -264,13 +271,27 @@ namespace BBWY.Client.ViewModels.PackTask
CompeteSealBoxCommand = new RelayCommand<object>(CompeteSealBox);
SetSealBoxCommand = new RelayCommand<object>(SetSealBox);
CompeteFallWareCommand = new RelayCommand<object>(CompeteFallWare);
}
/// <summary>
/// 完成落仓(todo:)
/// </summary>
/// <param name="obj"></param>
private void CompeteFallWare(object obj)
{
//throw new NotImplementedException();
}
private void SetSealBox(object obj)
{
SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow();
setSealBoxWindow.SendBoxCount= boxCount => {
BoxCount = boxCount;
var model = (SealBoxModel)obj;
SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow(model);
setSealBoxWindow.SendBoxCount = boxCount =>
{
model.SealBoxCount = boxCount;
};
setSealBoxWindow.ShowDialog();
}
@ -278,6 +299,7 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
public ICommand CompeteFallWareCommand { get; set; }
public ICommand CompeteSealBoxCommand { get; set; }
public ICommand SetTaskStatusCommand { get; set; }
@ -323,13 +345,12 @@ namespace BBWY.Client.ViewModels.PackTask
BatchPurchaseService batchPurchaseService;
public int BoxCount { get; set; }
private void CompeteSealBox(object obj)
{
var model = (SealBoxModel)obj;
if (BoxCount<=0)
if (model.SealBoxCount == null || model.SealBoxCount.Value <= 0)
{
System.Windows.MessageBox.Show("请先设置封箱数量");
return;
@ -339,7 +360,7 @@ namespace BBWY.Client.ViewModels.PackTask
CompeteSealBox competeSealBox = new CompeteSealBox();
competeSealBox.WareId = objList.WareId;
competeSealBox.BoxCount = BoxCount;
competeSealBox.BoxCount = model.SealBoxCount.Value;
competeSealBox.TaskId = objList.SealBoxSkus.Select(s => s.TaskId).ToArray();
var res = packTaskService.CompeteSealBox(competeSealBox);
if (res != null && res.Success)
@ -362,7 +383,7 @@ namespace BBWY.Client.ViewModels.PackTask
case PackTaskState.:
case PackTaskState.:
if (System.Windows.MessageBox.Show("是否确认收货?","提示",
if (System.Windows.MessageBox.Show("是否确认收货?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning) != MessageBoxResult.Yes)
return;
@ -476,7 +497,50 @@ namespace BBWY.Client.ViewModels.PackTask
IsLoading = true;
if (TaskState == PackTaskState.)
if (TaskState == PackTaskState.)
Task.Factory.StartNew(() =>
{
WaitFallWareList = new ObservableCollection<WaitFallWareModel>();
var datas = packTaskService.SearchWaitFallWareList(SearchShopName, taskId, SearchSkuId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.WaitFallWareList)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitFallWareList.Add(new WaitFallWareModel
{
AcceptUserNames = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
WareName = item.WareName,
SealBoxCount = item.SealBoxCount,
SealBoxId = item.SealBoxId,
});
}));
}
}
else
{
//App.Current.Dispatcher.BeginInvoke(new Action(() =>
//{
// new TipsWindow("查不到数据").Show();
//}));
}
IsLoadCount();
IsLoading = false;
});
else if (TaskState == PackTaskState.)
Task.Factory.StartNew(() =>
{
@ -518,7 +582,6 @@ namespace BBWY.Client.ViewModels.PackTask
});
else
Task.Factory.StartNew(() =>
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
@ -604,10 +667,6 @@ namespace BBWY.Client.ViewModels.PackTask
}
else
{
//App.Current.Dispatcher.BeginInvoke(new Action(() =>
//{
// new TipsWindow("查不到数据").Show();
//}));
}
IsLoadCount();
IsLoading = false;
@ -622,9 +681,9 @@ namespace BBWY.Client.ViewModels.PackTask
private void IsLoadCount()
{
var packTaskResult = packTaskService.GetWareAllCount();
if (packTaskResult != null && packTaskResult.Success)
if (packTaskResult != null && packTaskResult.Success && packTaskResult.Data != null)
{
App.Current.Dispatcher.Invoke(() =>
App.Current.Dispatcher.Invoke(new Action(() =>
{
ArrivedCount = packTaskResult.Data.ArrivedCount.ToString();
NoArrivedCount = packTaskResult.Data.NoArrivedCount.ToString();
@ -632,8 +691,9 @@ namespace BBWY.Client.ViewModels.PackTask
WorryCount = packTaskResult.Data.WorryCount.ToString();
WaitOutbound = packTaskResult.Data.WaitOutbound?.ToString();
WaitPackCount = packTaskResult.Data.WaitPackCount?.ToString();
WaitSealBox = packTaskResult.Data.WaitSealBox?.ToString();
});
WaitSealBoxCount = packTaskResult.Data.WaitSealBox?.ToString();
WaitFallWareCount= packTaskResult.Data.WaitFallWareCount?.ToString();
}));
}
}
private void LoadIndex(int pageIndex)

296
BBWY.Client/Views/PackTask/WaitFallWareControl.xaml

@ -0,0 +1,296 @@
<UserControl x:Class="BBWY.Client.Views.PackTask.WaitFallWareControl"
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.PackTask"
mc:Ignorable="d" Background="white"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
Background="#F2F2F2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</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}"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>-->
</Grid>
</Border>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding WaitFallWareList}"
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="100">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/>
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock Text="店铺:" Style="{StaticResource middleTextBlock}" Margin="10 0 0 0"/>
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ShopName}"
Margin=" 5,0,7,0"/>
<TextBlock VerticalAlignment="Center" Text="仓库:" Margin="16,0,0,0" />
<c:BButton Content="{Binding WareName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding WareName}"
Margin=" 5,0,7,0"/>
<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding DepartmentName}"
Margin=" 5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserName}" Margin="5,0,0,0" />
</StackPanel>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,10,0,10"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="DataContext.Id" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
<Binding Path="Id"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,15,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="SKU:" Style="{StaticResource middleTextBlock}" />
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuTitle,Mode=TwoWay}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuTitle}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,13,0 0">
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,15,0,10">
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
</TextBlock>
<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,13,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
Margin=" 5,0,0,0"/>
</StackPanel>
</StackPanel>
</Grid>
<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"
Text="{Binding SkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center"
/>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Column="2" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<!--<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="设置"
Command="{Binding DataContext.SetSealBoxCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding}"
>
</c:BButton>-->
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
</Grid>
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="完成"
Command="{Binding DataContext.CompeteFallWareCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding}"
>
</c:BButton>
</StackPanel>
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="13"/>-->
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>

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

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

@ -153,7 +153,9 @@
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待打包}" Content="待打包" Tag="{Binding WaitPackCount,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待封箱}" Content="待封箱" Tag="{Binding WaitSealBox,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待封箱}" Content="待封箱" Tag="{Binding WaitSealBoxCount,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待落仓}" Content="待落仓" Tag="{Binding WaitFallWareCount,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待出库}" Content="待出库" Tag="{Binding WaitOutbound,Mode=TwoWay}"/>
@ -169,8 +171,10 @@
<Border Grid.Row="2" Margin="0,5,0,0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="0,1,0,0"/>
<Grid Grid.Row="2" Margin="0,5,0,0">
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Collapsed:Visible}" x:Name="listbox_task" />
<local:WaitFallWareControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:Visible:Collapsed}" />
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓:Collapsed:Visible}" />
<local:WaitSealBoxControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}" />
</Grid>

143
BBWY.Client/Views/SealBox/SetSealBoxWindow.xaml.cs

@ -1,6 +1,15 @@
using BBWY.Controls;
using BBWY.Client.Extensions;
using BBWY.Client.Models.PackTask;
using BBWY.Controls;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing.Printing;
using System.IO;
using System.Reflection;
using System.Text;
using System.Windows;
using System.Windows.Controls;
@ -9,7 +18,6 @@ using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BBWY.Client.Views.SealBox
{
@ -18,15 +26,51 @@ namespace BBWY.Client.Views.SealBox
/// </summary>
public partial class SetSealBoxWindow : BWindow
{
public SetSealBoxWindow()
public SetSealBoxWindow(SealBoxModel sealBoxModel)
{
SealBoxModel = sealBoxModel;
InitializeComponent();
LoadPrints();
}
SealBoxModel SealBoxModel { get; set; }
/// <summary>
/// 获取打印机名称
/// </summary>
private void LoadPrints()
{
var printingNames = PrinterSettings.InstalledPrinters;//获取本机的打印机数据
int index = -1;
int selectIndex = 0;
foreach (string name in printingNames)
{
if (name == "Microsoft XPS Document Writer" || name == "Microsoft Print to PDF" || name == "Fax")
{
continue;
}
index++;
if (name.Contains("Deli"))
{
selectIndex = index;
}
cbPrint.Items.Add(name);
}
if (cbPrint.Items.Count > selectIndex)
{
cbPrint.SelectedIndex = selectIndex;
}
}
public Action<int> SendBoxCount { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
int boxCount = 0;
try
{
@ -38,12 +82,103 @@ namespace BBWY.Client.Views.SealBox
return;
}
PrintSealboxModel(cbPrint.Text, boxCount);
//todo: 打印单子
if (SendBoxCount != null) SendBoxCount(boxCount);
this.Close();
}
private void PrintSealboxModel(string printName, int boxCount)
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var excel = $"{applicationPath}/Resources/ExccelModel/sealbox.xlsx";
var newExccel = $"{applicationPath}/Resources/ExccelModel/newsealbox.xlsx";
if (File.Exists(newExccel))
{
File.Delete(newExccel);
}
FileStream fs = new FileStream(excel, FileMode.Open, FileAccess.Read);
XSSFWorkbook wb = new XSSFWorkbook(fs);
var sheet = wb.GetSheetAt(0); // 得到第一个sheet
var nameCell = sheet.GetRow(0).GetCell(0); // name列,第2行
var ageCell = sheet.GetRow(3).GetCell(0); // age列,第2行
XSSFWorkbook wb2 = new XSSFWorkbook();
//wb2.CreateSheet("Sheet1");
sheet.CopyTo(wb2, "Sheet1", true, false);
var sheet2 = wb2.GetSheet("Sheet1");
var nameCell2 = sheet2.GetRow(0).GetCell(1);
nameCell2.SetCellValue(SealBoxModel.ShopName);
sheet2.GetRow(3).GetCell(1).SetCellValue(SealBoxModel.WareName);
StringBuilder sb = new StringBuilder();
int totalCount = 0;
for (int i = 0; i < SealBoxModel.SealBoxSkus.Count; i++)
{
var title = SealBoxModel.SealBoxSkus[i].SkuTitle;
//if (title.Length>5)
//{
// title = title.Substring(0,5);
//}
totalCount += SealBoxModel.SealBoxSkus[i].SkuCount;
sheet2.GetRow(i + 6).GetCell(1).SetCellValue($"名称:{title}");
sheet2.GetRow(i + 6).GetCell(2).SetCellValue($"SKU:{SealBoxModel.SealBoxSkus[i].SkuId}");
sheet2.GetRow(i + 6).GetCell(3).SetCellValue($"数量:{SealBoxModel.SealBoxSkus[i].SkuCount}");
}
sheet2.GetRow(25).GetCell(1).SetCellValue(totalCount);
sheet2.GetRow(28).GetCell(1).SetCellValue(boxCount);
FileStream fs1 = new FileStream(newExccel, FileMode.OpenOrCreate, FileAccess.ReadWrite);
wb2.Write(fs1);
fs1.Close();
fs1.Dispose();
}
}
public class PrintDocumentAdapter : PrintDocument
{
FileStream fs;
public PrintDocumentAdapter(FileStream fs)
{
this.fs = fs;
}
protected override void OnPrintPage(PrintPageEventArgs e)
{
if (fs == null) return;
IWorkbook workbook = null;
if (fs.Name.EndsWith(".xls")) // XLS文件
{
workbook = new HSSFWorkbook(fs);
}
else if (fs.Name.EndsWith(".xlsx")) // XLSX文件
{
workbook = new XSSFWorkbook(fs);
}
if (workbook != null)
{
ISheet sheet = workbook.GetSheetAt(0); // 第一个sheet
// 使用NPOI的ExcelPrinting类打印sheet
ExcelPrinting printer = new ExcelPrinting(sheet);
printer.PrintArea(e.Graphics, e.MarginBounds, sheet.SheetName);
fs.Close();
}
base.OnPrintPage(e);
}
}
}

69
BBWY.Client/Views/PackTask/WaitSealBoxControl.xaml → BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml

@ -29,36 +29,42 @@
<RowDefinition Height="35"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</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}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
Background="#F2F2F2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</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}"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>-->
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<!--<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="6"/>-->
</Grid>
</Border>
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding WaitSealBoxModels}"
@ -97,7 +103,7 @@
CommandParameter="{Binding WareName}"
Margin=" 5,0,7,0"/>
<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
@ -142,8 +148,7 @@
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="DataContext.Id" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
<Binding Path="Id"/>
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
@ -258,11 +263,11 @@
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="完成"
Command="{Binding DataContext.CompeteSealBoxCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待打包:Visible:Collapsed}"
>
</c:BButton>
<!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待打包:Visible:Collapsed}" -->
</StackPanel>
@ -270,9 +275,9 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" Margin="0 0 2 0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" Margin="0 0 1 0"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>

0
BBWY.Client/Views/PackTask/WaitSealBoxControl.xaml.cs → BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml.cs

Loading…
Cancel
Save