Browse Source

Merge remote-tracking branch 'origin/SealBox'

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
c76dc1be5e
  1. 51
      BBWY.Client/APIServices/PackTaskService.cs
  2. 100
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitSealBoxResponse.cs
  3. 43
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  4. 33
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  5. 284
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  6. 7
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  7. 271
      BBWY.Client/Views/PackTask/WaitSealBoxControl.xaml
  8. 26
      BBWY.Client/Views/PackTask/WaitSealBoxControl.xaml.cs
  9. 40
      BBWY.Client/Views/PackTask/WareHouseList.xaml

51
BBWY.Client/APIServices/PackTaskService.cs

@ -62,7 +62,7 @@ namespace BBWY.Client.APIServices
ShopId = globalContext.User.Shop.ShopId.ToString()
}, null, HttpMethod.Post);
}
public ApiResponse<SearchTaskListResponse> GetWareHouseList(int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchTaskListResponse> GetWareHouseList(string WayBillNo=null,string SourceExpressName=null, int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null,
DateTime? startTime = null,
DateTime? endTime = null,
PackTaskState? TaskState = null,
@ -91,6 +91,8 @@ namespace BBWY.Client.APIServices
PageIndex = pageIndex,
PageSize = pageSize,
ShopName = ShopName,
WayBillNo= WayBillNo,
SourceExpressName=SourceExpressName,
}, null, HttpMethod.Post);
}
@ -277,7 +279,7 @@ namespace BBWY.Client.APIServices
}
/// <summary>
/// 取消拳探任务
/// 统计打包人员工资明细
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
@ -294,9 +296,54 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
/// <summary>
/// 获取封箱列表
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public ApiResponse<SearchWaitSealBoxResponse> SearchWaitSealBoxList(string ShopName = null, long? TaskId=null, string SkuId = null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<SearchWaitSealBoxResponse>(globalContext.QKApiHost, "api/PackTask/SearchWaitSealBoxList", new
{
ShopName,
TaskId,
SkuId,
PageIndex,
PageSize
}, null, HttpMethod.Post);
}
/// <summary>
/// 获取封箱列表
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public ApiResponse<bool> CompeteSealBox( List<CompeteSealBox> CompeteSealBoxs)
{
return SendRequest<bool>(globalContext.QKApiHost, "api/PackTask/CompeteSealBox", new
{
CompeteSealBoxs
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox
{
/// <summary>
/// 任务Id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 仓库Id
/// </summary>
public string WareId { get; set; }
}
public class AddConsumableRequest
{
public long TaskId { get; set; }

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

@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchWaitSealBoxResponse
{
/// <summary>
/// 数量
/// </summary>
public int TotalCount { get; set; }
/// <summary>
/// 分箱列表
/// </summary>
public List<WaitSealBoxModel> WaitSealBoxModels { get; set; }
}
public class WaitSealBoxModel
{
/// <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<AcceptUser> AcceptUserNames { get; set; }
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
}
public class AcceptUser
{
/// <summary>
/// 用户Id
/// </summary>
public string Id { get; set; }
/// <summary>
/// 用户名
/// </summary>
public string UserName { get; set; }
}
public class SealBoxSku
{
/// <summary>
/// 任务Id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 图片链接
/// </summary>
public string Logo { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// sku标题
/// </summary>
public string SkuTitle { get; set; }
/// <summary>
/// 品名
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get; set; }
/// <summary>
/// 打包sku产品数量
/// </summary>
public int SkuCount { get; set; }
}
}

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

@ -0,0 +1,43 @@
using BBWY.Client.Models.APIModel;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.PackTask
{
public class SealBoxModel
{
/// <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 AcceptUserName { get; set; }
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
}
}

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

@ -21,8 +21,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
public class PublishTaskViewModel : BaseVM, IDenpendency
{
#region 属性
#region 属性
private string searchSkuId;
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
@ -435,16 +435,12 @@ namespace BBWY.Client.ViewModels.PackTask
}
Logo = skuResponse.Data[0].Logo.Replace("80x80", "200x200");
SkuName = skuResponse.Data[0].Title;
SpuId = skuResponse.Data[0].ProductId;
productApiResponse = productService.GetProductList(skuResponse.Data[0].ProductId, string.Empty, string.Empty, 1);
if (productApiResponse.Success)
{
if (productApiResponse.Data.Count == 0)
{
return;
}
@ -455,7 +451,8 @@ namespace BBWY.Client.ViewModels.PackTask
var productSku = packTaskService.GetProductSku(skuid);
if (productSku == null || !productSku.Success || productSku.Data == null)
return;
BrandName = productSku.Data.BrandName;
if (TaskId <= 0)
BrandName = productSku.Data.BrandName;
CertificateModel = productSku.Data.Cers;
if (CertificateModel == null)
{
@ -485,18 +482,22 @@ namespace BBWY.Client.ViewModels.PackTask
BarCodeModel.SkuId = skuid;
BarCodeModel.SkuName = SkuName;
if (TaskId <= 0)
{
IsNeedBarCode = Need.;
IsSetBarCode = true;
IsSetCertificate = true;
if (productSku.Data.PackConfig != null)
IsNeedBarCode = Need.;
IsSetBarCode = true;
IsSetCertificate = true;
}
if (productSku.Data.PackConfig != null&&TaskId<=0)
{
var config = productSku.Data.PackConfig;
SkuTitle = config.SkuGoodsTitle;
GoodsNumber = config.GoodsNumber;
PackType = (PackType)config.PackType;
BasicPack = (BasicPack)config.BasicPack;
Availability = (TaskState)config.Availability;
//Availability = (TaskState)config.Availability;
MarkMessage = config.MarkMessage;
CertificatePosition = config.CertificatePosition == null ? CertificatePosition. : (CertificatePosition)config.CertificatePosition.Value;
// Increment1 = config.Increment1;
@ -633,21 +634,21 @@ namespace BBWY.Client.ViewModels.PackTask
{
}
PackType = model.PackType;
BasicPack = model.BasicPack;
IsNeedBarCode = model.BarCodeModel == null ? Need. : Need.;
IsNeedCertificateModel = model.CertificateModel == null ? Need. : Need.;
CertificatePosition = model.CertificatePosition;
TaskId = model.TaskId;
string[] increateDatas = model.Increment1?.Split(',');
bool isTrue = false;
foreach (var item in increates)
{
isTrue = false;
if (increateDatas!=null&& increateDatas .Count()>0&& increateDatas.Contains(item))
if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item))
{
isTrue = true;
}
@ -703,7 +704,7 @@ namespace BBWY.Client.ViewModels.PackTask
var createTaskModel = new Models.APIModel.Request.CreateTaskRequest
{
ProductNo = ProductNo,
Logo = Logo.Replace( "200x200", "80x80"),
Logo = Logo.Replace("200x200", "80x80"),
SkuName = SkuName,
TaskId = TaskId,
BrandName = BrandName,

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

@ -19,6 +19,8 @@ using System.Windows;
using System.Collections;
using NPOI.SS.Formula.Functions;
using GalaSoft.MvvmLight.Messaging;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.PackTask;
namespace BBWY.Client.ViewModels.PackTask
{
@ -27,6 +29,33 @@ namespace BBWY.Client.ViewModels.PackTask
{
#region 属性绑定
private string searchWayBillNo;
public string SearchWayBillNo
{
get => searchWayBillNo; set
{
Set(ref searchWayBillNo, value);
}
}
private string searchExpressName;
public string SearchExpressName
{
get => searchExpressName; set
{
Set(ref searchExpressName, value);
}
}
private ObservableCollection<SealBoxModel> waitSealBoxModels;
/// <summary>
/// 分箱列表
/// </summary>
public ObservableCollection<SealBoxModel> WaitSealBoxModels { get => waitSealBoxModels; set { Set(ref waitSealBoxModels, value); } }
/// <summary>
/// 查询时间段
/// </summary>
@ -36,11 +65,6 @@ namespace BBWY.Client.ViewModels.PackTask
private DateTime endTime;
public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
private string searchShopName;
public string SearchShopName
{
@ -211,7 +235,9 @@ namespace BBWY.Client.ViewModels.PackTask
{
try
{
Clipboard.SetText(s.ToString());
if (s != null)
Clipboard.SetText(s.ToString());
}
catch (Exception ex)
{
@ -234,11 +260,13 @@ namespace BBWY.Client.ViewModels.PackTask
UpdateTaskStateCommand = new RelayCommand<object>(UpdateTaskState);
CompeteSealBoxCommand = new RelayCommand<object>(CompeteSealBox);
}
#region 事件绑定
#region 事件绑定
public ICommand CompeteSealBoxCommand { get; set; }
public ICommand SetTaskStatusCommand { get; set; }
/// <summary>
@ -277,6 +305,32 @@ namespace BBWY.Client.ViewModels.PackTask
BatchPurchaseService batchPurchaseService;
private void CompeteSealBox(object obj)
{
var objList = obj as SealBoxModel;
List<CompeteSealBox> CompeteSealBoxs = new List<CompeteSealBox>();
string wareId = objList.WareId;
foreach (var item in objList.SealBoxSkus)
{
CompeteSealBoxs.Add(new APIServices.CompeteSealBox
{
WareId = wareId,
TaskId = item.TaskId,
});
}
var res = packTaskService.CompeteSealBox(CompeteSealBoxs);
if (res != null && res.Success)
{
SearchTaskList();
}
}
private void UpdateTaskState(object obj)
{
var objList = (object[])obj;
@ -379,121 +433,165 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public void SearchTaskList()
{
long? taskId = null;
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
Convert.ToInt64(SearchTaskId);
taskId = Convert.ToInt64(SearchTaskId);
}
catch
{
System.Windows.MessageBox.Show("任务id必须为数字");
return;
taskId = null;
}
//string shopId = null;
//if (!string.IsNullOrEmpty(SearchShopName))
//{
// var searchShop = globalContext.User.ShopList.FirstOrDefault(g => g.ShopName == SearchShopName);
// if (searchShop != null) shopId = searchShop.ShopId.ToString();
//}
IsLoading = true;
Task.Factory.StartNew(() =>
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.GetWareHouseList(IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), SearchShopName,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
if (TaskState == PackTaskState.)
Task.Factory.StartNew(() =>
{
WaitSealBoxModels = new ObservableCollection<SealBoxModel>();
var datas = packTaskService.SearchWaitSealBoxList(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.WaitSealBoxModels)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
WaitSealBoxModels.Add(new SealBoxModel
{
AcceptUserName = string.Join("|", item.AcceptUserNames.Select(a => a.UserName)),
DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
WareName = item.WareName,
});
}));
}
}
else
{
//App.Current.Dispatcher.BeginInvoke(new Action(() =>
//{
// new TipsWindow("查不到数据").Show();
//}));
}
IsLoadCount();
IsLoading = false;
});
else
Task.Factory.StartNew(() =>
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.Items)
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.GetWareHouseList(SearchWayBillNo,SearchExpressName,IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), SearchShopName,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var data = new PackTaskModel()
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.Items)
{
AcceptName = item.UserName,
Availability = (TaskState)item.Availability,
BasicPack = (BasicPack)item.BasicPack,
DepartmentName = item.DepartmentName,
CertificatePosition = (CertificatePosition)item.CertificatePosition,
GoodsNumber = item.GoodsNumber,
Increment1 = item.Increment1,
ItemList = new List<SkuMessage>() { new SkuMessage
var data = new PackTaskModel()
{
AcceptName = item.UserName,
Availability = (TaskState)item.Availability,
BasicPack = (BasicPack)item.BasicPack,
DepartmentName = item.DepartmentName,
CertificatePosition = (CertificatePosition)item.CertificatePosition,
GoodsNumber = item.GoodsNumber,
Increment1 = item.Increment1,
ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
GoodsNo = item.ProductItemNum, Logo= item.Logo,
ShopName = item.ShopName, SkuName = item.SkuName,
Id = item.SkuId
} },
MarkMessage = item.MarkMessage,
PackType = (PackType)item.PackType,
TaskState = item.TaskState,
PositionType = item.PositionType,
SkuCount = item.SkuCount,
SkuTitle = item.SkuGoodsTitle,
TaskId = item.TaskId,
EndTime = item.CreateTime,
OrderId = item.OrderId,
SkuId = item.SkuId,
SkuName = item.SkuName,
};
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
data.BarCodeModel = item.BarCodeDTO;
}
if (item.Cers != null)
{
data.CertificateModel = item.Cers;
MarkMessage = item.MarkMessage,
PackType = (PackType)item.PackType,
TaskState = item.TaskState,
PositionType = item.PositionType,
SkuCount = item.SkuCount,
SkuTitle = item.SkuGoodsTitle,
TaskId = item.TaskId,
EndTime = item.CreateTime,
OrderId = item.OrderId,
SkuId = item.SkuId,
SkuName = item.SkuName,
};
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
data.BarCodeModel = item.BarCodeDTO;
}
if (item.Cers != null)
{
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
if (item.FeesItemResponse != null)
{
data.FeesItemResponse = item.FeesItemResponse;
data.FeesMoney = item.FeesItemResponse.SingleFees;
data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees *
item.FeesItemResponse.disCount;
data.IsShowFees = data.FeesMoney > 0 ? true : false;
}
else
{
data.IsShowFees = false;
}
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
}
else
{
//App.Current.Dispatcher.BeginInvoke(new Action(() =>
//{
// new TipsWindow("查不到数据").Show();
//}));
}
IsLoadCount();
IsLoading = false;
});
data.ReflashTask = ReflashTask;
if (item.FeesItemResponse != null)
{
data.FeesItemResponse = item.FeesItemResponse;
data.FeesMoney = item.FeesItemResponse.SingleFees;
data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees *
item.FeesItemResponse.disCount;
data.IsShowFees = data.FeesMoney > 0 ? true : false;
}
else
{
data.IsShowFees = false;
}
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
}
else
{
//App.Current.Dispatcher.BeginInvoke(new Action(() =>
//{
// new TipsWindow("查不到数据").Show();
//}));
}
IsLoadCount();
IsLoading = false;
});
}
private void IsLoadCount()

7
BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs

@ -599,12 +599,10 @@ namespace BBWY.Client.ViewModels
OrderId =model.OrderId;
SkuId = model.SkuId;
SkuName = model.ItemList[0].SkuName;
Logo = model.ItemList[0].Logo.Replace("80x80", "200x200").Replace("200x200", "150x150");
Logo = model.ItemList[0].Logo.Replace("80x80", "200x200");
BrandName = model.ItemList[0].BrandName;
SkuCount = model.SkuCount;
brand = model.Brand;
ProductNo = model.ProductNo;
MarkMessage = model.MarkMessage;
PackType = model.PackType;
@ -613,6 +611,9 @@ namespace BBWY.Client.ViewModels
BasicPack = model.BasicPack;
CertificatePosition = model.CertificatePosition;
ArrivalQuantity = 0;
GoodProductQuantity = 0;
string[] increateDatas = model.Increment1?.Split(',');
bool isSelected = false;

271
BBWY.Client/Views/PackTask/WaitSealBoxControl.xaml

@ -0,0 +1,271 @@
<UserControl x:Class="BBWY.Client.Views.PackTask.WaitSealBoxControl"
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"
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>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<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}"/>
<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="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}"-->
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding WaitSealBoxModels}"
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 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 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" >
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<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>
</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="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/WaitSealBoxControl.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>
/// WaitSealBoxControl.xaml 的交互逻辑
/// </summary>
public partial class WaitSealBoxControl : UserControl
{
public WaitSealBoxControl()
{
InitializeComponent();
}
}
}

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

@ -10,7 +10,7 @@
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
mc:Ignorable="d"
mc:Ignorable="d" Background="White"
d:DesignHeight="450" d:DesignWidth="2048"
Title="TaskList">
<Page.Resources>
@ -69,7 +69,8 @@
</ListBox>
</StackPanel>
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="1230,15,0,0">
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="1009,15,0,0"
>
<c:BTextBox x:Name="tbShop" Width="150" Height="30" TextChanged="tbShop_TextChanged" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></c:BTextBox>
<ListBox MaxHeight="300" x:Name="tipBoxShop" SelectionChanged="tipBoxShop_SelectionChanged" Background="{StaticResource Border.Background}">
@ -86,11 +87,16 @@
<!---->
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Panel.ZIndex="999" Margin="0,5,0,0" >
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0" Height="30">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0" Height="30" >
<StackPanel.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
@ -106,19 +112,25 @@
<TextBlock Text="部门: " VerticalAlignment="Center" Margin="16,0,2,0"/>
<c:BTextBox Width="150" Height="30" TextChanged="tb_TextChanged" ></c:BTextBox>
<TextBlock Text="物流单号:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchWayBillNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="物流单号"/>
<TextBlock Text="店铺:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="店铺名称"/>
<c:BTextBox Visibility="Hidden" Width="150" Height="30" TextChanged="tb_TextChanged" ></c:BTextBox>
<TextBlock x:Name="textblock_shop" Text="店铺:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Name="btbShopName" Width="150" Margin="5,0,0,0" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="店铺名称"/>
<TextBlock Text="物流单号:" VerticalAlignment="Center" Margin="10,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchWayBillNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="精准搜索"/>
<TextBlock Text="物流公司名称:" VerticalAlignment="Center" Margin="10,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchExpressName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="模糊搜索"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Height="30" Grid.Row="1">
</StackPanel>
<Grid Grid.Column="1" >
<Grid Grid.Column="1" Grid.RowSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Content="搜索" Width="80" VerticalAlignment="Stretch" Margin="5,0,0,0"
<Button Content="搜索" Width="60" VerticalAlignment="Stretch" Margin="5,0,0,0"
Command="{Binding SearchTaskCommand}"
Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
@ -155,9 +167,13 @@
</StackPanel>
<Border Grid.Row="2" Margin="0,5,0,0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="0,1,0,0"/>
<local:WareHouseListControl x:Name="listbox_task" Grid.Row="2" Margin="0,5,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:WaitSealBoxControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}" />
</Grid>
<c:PageControl PageIndex="{Binding PageIndex}"
<c:PageControl PageIndex="{Binding PageIndex}"
PageSize="{Binding PageSize}"
RecordCount="{Binding OrderCount}"
Grid.Row="3"

Loading…
Cancel
Save