Browse Source

添加打印箱唛,打印封箱策略,打印揽收单

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
a2b370ae5d
  1. 43
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  2. 21
      BBWY.Client/APIServices/QiKu/SealBoxService.cs
  3. 21
      BBWY.Client/BBWY.Client.csproj
  4. 5
      BBWY.Client/Models/APIModel/Request/BatchUpdateSealBoxConfiguredRequest.cs
  5. 14
      BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs
  6. 5
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  7. 2
      BBWY.Client/Models/APIModel/Response/SealBox/GetJDSupplierNameAndStoreNameResponse.cs
  8. 39
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareLSAcceptOrderResponse.cs
  9. 79
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareLSOrderPurchaseResponse.cs
  10. 5
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs
  11. 5
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs
  12. 11
      BBWY.Client/Models/FallWare/FallWareConfiguredModel.cs
  13. 13
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  14. 8
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  15. 5
      BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs
  16. BIN
      BBWY.Client/Resources/Images/jdwl.png
  17. 20
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  18. 325
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  19. 1
      BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs
  20. 26
      BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml
  21. 8
      BBWY.Client/Views/FallWare/PrintBoxWindow.xaml
  22. 85
      BBWY.Client/Views/FallWare/PrintBoxWindow.xaml.cs
  23. 68
      BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml
  24. 149
      BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs
  25. 25
      BBWY.Client/Views/FallWare/SetCloudWareBoxWindow.xaml
  26. 35
      BBWY.Client/Views/FallWare/SetCloudWareBoxWindow.xaml.cs
  27. 4
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow.xaml
  28. 35
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow.xaml.cs
  29. 22
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml
  30. 48
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml.cs
  31. 55
      BBWY.Client/Views/FallWare/WaitFallWareControl.xaml
  32. 317
      BBWY.Client/Views/FallWare/WareLSAcceptOrderWindow.xaml
  33. 92
      BBWY.Client/Views/FallWare/WareLSAcceptOrderWindow.xaml.cs
  34. 2
      BBWY.Client/Views/PackTask/FeesExcelControl.xaml
  35. 3
      BBWY.Client/Views/PackTask/ServiceWindow.xaml
  36. 28
      BBWY.Client/Views/PackTask/WaitPackageControl.xaml
  37. 25
      BBWY.Client/Views/QualityTask/WaitQualityControl.xaml
  38. 120
      BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml
  39. 76
      BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs
  40. 70
      BBWY.Client/Views/SealBox/SealBoxPrintDetailsWindow.xaml
  41. 141
      BBWY.Client/Views/SealBox/SealBoxPrintDetailsWindow.xaml.cs
  42. 11
      BBWY.Client/Views/SealBox/SetSealBoxWindow.xaml
  43. 135
      BBWY.Client/Views/SealBox/SetSealBoxWindow.xaml.cs
  44. 69
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml
  45. 57
      BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml
  46. 74
      BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs
  47. 25
      BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml

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

@ -25,10 +25,10 @@ namespace BBWY.Client.APIServices
{
}
public ApiResponse<SearchTaskListResponse> GetTaskList(string skuId = null, string taskId = null,
TaskState? TaskState = null,
int pageIndex = 1,
int pageSize = 10
@ -56,7 +56,7 @@ namespace BBWY.Client.APIServices
ShopId = globalContext.User.Shop.ShopId.ToString()
}, null, HttpMethod.Post);
}
public ApiResponse<SearchTaskListResponse> GetWareHouseList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchTaskListResponse> GetWareHouseList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
TaskState? TaskState = null,
string ShopName = null,
@ -161,7 +161,7 @@ namespace BBWY.Client.APIServices
, null, HttpMethod.Post);
}
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
{
@ -279,23 +279,39 @@ namespace BBWY.Client.APIServices
/// <param name="orderId"></param>
/// <param name="sourceSkuId"></param>
/// <returns></returns>
public ApiResponse<List< ExpressOrderResponse>> GetPurchaseExpressOrderList(string orderId,string sourceSkuId)
public ApiResponse<List<ExpressOrderResponse>> GetPurchaseExpressOrderList(string orderId, string sourceSkuId)
{
return SendRequest<List<ExpressOrderResponse>>("http://bbwyb.qiyue666.com", $"Api/Order/GetPurchaseExpressOrderList", new {
return SendRequest<List<ExpressOrderResponse>>("http://bbwyb.qiyue666.com", $"Api/Order/GetPurchaseExpressOrderList", new
{
orderId,
sourceSkuId
}, null, HttpMethod.Post);
}
/// <summary>
/// 批量手动发货
/// </summary>
/// <param name="orderId"></param>
/// <param name="sourceSkuId"></param>
/// <returns></returns>
public ApiResponse<List<ExpressOrderResponse>> BatchManualSign(string[] wayBillNoList)
{
return SendRequest<List<ExpressOrderResponse>>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/BatchManualSign", new
{
wayBillNoList
}, null, HttpMethod.Post);
}
/// <summary>
/// 查询超时任务列表
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
public ApiResponse<SearchOverTimeTaskResponse> SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime,OverTimeTaskState overTimeTaskState, OverTimeTaskType? OverTimeTaskType, int? PageIndex, int? PageSize=20)
public ApiResponse<SearchOverTimeTaskResponse> SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskState overTimeTaskState, OverTimeTaskType? OverTimeTaskType, int? PageIndex, int? PageSize = 20)
{
return SendRequest<SearchOverTimeTaskResponse>(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new {
return SendRequest<SearchOverTimeTaskResponse>(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new
{
ShopId,
StartTime,
EndTime,
@ -306,6 +322,17 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
public ApiResponse<bool> SubmitOverTimeMarkMsg(OverTimeTaskType OverTimeTaskType, long Id, string MarkMsg)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackTask/SubmitOverTimeMarkMsg", new
{
OverTimeTaskType,
Id,
MarkMsg,
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox

21
BBWY.Client/APIServices/QiKu/SealBoxService.cs

@ -171,7 +171,7 @@ namespace BBWY.Client.APIServices
public ApiResponse<bool> SetFallWareConfigure(long SealBoxId, string ProductTitle, string PurchaseOrder, string PrewOrder, string WaybillNo, string providerName = "", string wareName = "",string WareCity="")
public ApiResponse<bool> SetFallWareConfigure(long SealBoxId, string ProductTitle, string PurchaseOrder, string PrewOrder, string WaybillNo, string providerName = "", string wareName = "",string WareCity="",DateTime? TransportOverTime=null)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/SealBox/SetFallWareConfigure",
new
@ -183,7 +183,8 @@ namespace BBWY.Client.APIServices
WaybillNo,
providerName,
wareName,
WareCity
WareCity,
TransportOverTime
}
, null, HttpMethod.Post);
}
@ -287,5 +288,21 @@ namespace BBWY.Client.APIServices
return SendRequest<bool>(globalContext.QKApiHost, $"api/SealBox/WareCompetedWaitCompleted?sealBoxId={sealBoxId}",
null, null, HttpMethod.Post);
}
/// <summary>
/// 获取揽收单信息
/// </summary>
/// <returns></returns>
public ApiResponse<GetWareLSAcceptOrderResponse> GetWareLSAcceptOrder()
{
return SendRequest<GetWareLSAcceptOrderResponse>(globalContext.QKApiHost, $"api/WareLSAcceptOrder/GetWareLSAcceptOrder",
null, null, HttpMethod.Get);
}
public ApiResponse<GetWareLSOrderPurchaseResponse> GetWareLSOrderPurchaseList(string PrewOrder)
{
return SendRequest<GetWareLSOrderPurchaseResponse>(globalContext.QKApiHost, $"api/WareLSAcceptOrder/GetWareLSOrderPurchaseList?PrewOrder={PrewOrder}",
null, null, HttpMethod.Get);
}
}
}

21
BBWY.Client/BBWY.Client.csproj

@ -17,10 +17,18 @@
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Views\PackTask\Ware\**" />
<EmbeddedResource Remove="Views\PackTask\Ware\**" />
<None Remove="Views\PackTask\Ware\**" />
<Page Remove="Views\PackTask\Ware\**" />
</ItemGroup>
<ItemGroup>
<None Remove="BBWYAppSettings.json" />
<None Remove="Resources\Images\barcode.png" />
<None Remove="Resources\Images\defaultItem.png" />
<None Remove="Resources\Images\jdwl.png" />
</ItemGroup>
<ItemGroup>
@ -62,6 +70,7 @@
<Resource Include="Resources\Images\defaultItem.png">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Resource>
<Resource Include="Resources\Images\jdwl.png" />
</ItemGroup>
<ItemGroup>
@ -84,18 +93,6 @@
<ItemGroup>
<Folder Include="Resources\LabelNames\" />
<Folder Include="Views\PackTask\Ware\01all\" />
<Folder Include="Views\PackTask\Ware\02NoArrival\" />
<Folder Include="Views\PackTask\Ware\03Acceptance\" />
<Folder Include="Views\PackTask\Ware\04Package\" />
<Folder Include="Views\PackTask\Ware\05SealBox\" />
<Folder Include="Views\PackTask\Ware\06Transport\" />
<Folder Include="Views\PackTask\Ware\07FallWare\" />
<Folder Include="Views\PackTask\Ware\08WaitComplete\" />
<Folder Include="Views\PackTask\Ware\09Completed\" />
<Folder Include="Views\PackTask\Ware\10StoreGetBySelf\" />
<Folder Include="Views\PackTask\Ware\11OverTime\" />
<Folder Include="Views\PackTask\Ware\12Cancel\" />
</ItemGroup>
</Project>

5
BBWY.Client/Models/APIModel/Request/BatchUpdateSealBoxConfiguredRequest.cs

@ -30,6 +30,11 @@ namespace BBWY.Client.Models.APIModel
public class SealBoxConfiguredWareHourseRequest : WareHourseData
{
/// <summary>
///封箱id
/// </summary>
public long? SealBoxId { get; set; }
/// <summary>
///待封箱 = 0, 待落仓 = 1, 待完结 = 2
/// </summary>

14
BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs

@ -178,10 +178,16 @@ namespace BBWY.Client.Models.APIModel
public DateTime? PackCompletionOverTime { get; set; }
///// <summary>
///// 物流信息
///// </summary>
//public List<ExpressOrderResponse> ExpressOrderList { get; set; }
/// <summary>
/// 质检超时备注信息
/// </summary>
public string QualityOverTimeMarkMsg { get; set; }
/// <summary>
/// 打包超时备注信息
/// </summary>
public string PackOverTimeMarkMsg { get; set; }
}
public class ExpressOrderResponse
{

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

@ -173,6 +173,11 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public string ProviderName { get; set; }
/// <summary>
/// 仓库所在的城市
/// </summary>
public string WareCity { get; set; }
}
}

2
BBWY.Client/Models/APIModel/Response/SealBox/GetJDSupplierNameAndStoreNameResponse.cs

@ -7,5 +7,7 @@
public string StoreId { get; set; }
public string StoreName { get; set; }
public string City { get; set; }
}
}

39
BBWY.Client/Models/APIModel/Response/SealBox/GetWareLSAcceptOrderResponse.cs

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class GetWareLSAcceptOrderResponse
{
/// <summary>
/// 客户名称
/// </summary>
public string CustomerName { get; set; }
/// <summary>
/// 提货地址
/// </summary>
public string AcceptAdress { get; set; }
/// <summary>
/// 客户联系人
/// </summary>
public string CustomerUserName { get; set; }
/// <summary>
/// 客户电话
/// </summary>
public string CustomerPhoneNumber { get; set; }
/// <summary>
/// 揽收任务号
/// </summary>
public string LSTaskNumber { get; set; }
/// <summary>
/// 始发TC
/// </summary>
public string StartTC { get; set; }
/// <summary>
/// JD运输联系人
/// </summary>
public string JDTransportUserName { get; set; }
}
}

79
BBWY.Client/Models/APIModel/Response/SealBox/GetWareLSOrderPurchaseResponse.cs

@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class GetWareLSOrderPurchaseResponse
{
/// <summary>
/// 总封箱数
/// </summary>
public int TotalSealBoxCount { get; set; }
/// <summary>
/// TC收货总箱数
/// </summary>
public int TotalTCAcceptBoxCount { get; set; }
/// <summary>
/// 采购单列表
/// </summary>
public IList<GetWareLSOrderPurchase> GetWareLSOrderPurchases { get; set; }
}
public class GetWareLSOrderPurchase
{
/// <summary>
/// 序号(1-10)
/// </summary>
public int Index { get; set; }
/// <summary>
/// 采购订单号
/// </summary>
public string PurchaseOrder { get; set; }
/// <summary>
/// 封箱数
/// </summary>
public int? SealBoxCount { get; set; }
/// <summary>
/// 目的城市
/// </summary>
public string WareCity { get; set; }
/// <summary>
/// TC收货箱数
/// </summary>
public int? TCAcceptBoxCount { get; set; }
/// <summary>
/// 供应商
/// </summary>
public string ProviderName { get; set; }
/// <summary>
/// 预约单号
/// </summary>
public string PrewOrder { get; set; }
/// <summary>
/// 目的城市-仓库
/// </summary>
public string WareName { get; set; }
/// <summary>
/// 商品数量
/// </summary>
public int ProductCount { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string ProductTitle { get; set; }
}
}

5
BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs

@ -57,6 +57,11 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public List<WareSealBoxSku> SealBoxSkus { get; set; }
/// <summary>
/// 封箱超时备注
/// </summary>
public string SealBoxPackOverTimeMarkMsg { get; set; }
}
public class WareSealBoxSku

5
BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs

@ -15,6 +15,11 @@ namespace BBWY.Client.Models.APIModel
}
public class WareWaitTransport:NotifyObject
{
private string transportOverTimeMarkMsg;
public string TransportOverTimeMarkMsg { get => transportOverTimeMarkMsg; set { Set(ref transportOverTimeMarkMsg, value); } }
private string waitTransportRemainTime;
public string WaitTransportRemainTime { get => waitTransportRemainTime; set { Set(ref waitTransportRemainTime, value); } }

11
BBWY.Client/Models/FallWare/FallWareConfiguredModel.cs

@ -56,15 +56,20 @@ namespace BBWY.Client.Models.FallWare
/// 仓库任务列表
/// </summary>
public IList<FallWareConfigureTask> SealBoxConfigureTasks { get; set; }
private string setPurchaseOrderOverTimeMarkMsg;
public string SetPurchaseOrderOverTimeMarkMsg { get => setPurchaseOrderOverTimeMarkMsg; set { Set(ref setPurchaseOrderOverTimeMarkMsg, value); } }
private string fallWareRemainTime;
public string FallWareRemainTime { get => fallWareRemainTime; set { Set(ref fallWareRemainTime, value); } }
private bool isFallWareOverTime;
public bool IsFallWareOverTime { get => isFallWareOverTime; set { Set(ref isFallWareOverTime, value); } }
/// <summary>
/// 预约时间
/// </summary>
public DateTime? TransportOverTime { get; set; }
}
public class FallWareConfigureTask : SealBoxConfigureTask
{

13
BBWY.Client/Models/PackTask/PackTaskModel.cs

@ -420,6 +420,19 @@ namespace BBWY.Client.Models
public string ShopName { get => shopName; set { Set(ref shopName, value); } }
private string qualityOverTimeMarkMsg;
/// <summary>
/// 质检超时备注信息
/// </summary>
public string QualityOverTimeMarkMsg { get => qualityOverTimeMarkMsg; set { Set(ref qualityOverTimeMarkMsg, value); } }
private string packOverTimeMarkMsg;
/// <summary>
/// 打包超时备注信息
/// </summary>
public string PackOverTimeMarkMsg { get => packOverTimeMarkMsg; set { Set(ref packOverTimeMarkMsg, value); } }
}
public class SkuMessage : NotifyObject

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

@ -60,5 +60,13 @@ namespace BBWY.Client.Models.PackTask
private bool isSealBoxOverTime;
public bool IsSealBoxOverTime { get => isSealBoxOverTime; set { Set(ref isSealBoxOverTime, value); } }
private string sealBoxPackOverTimeMarkMsg;
/// <summary>
/// 封箱超时备注
/// </summary>
public string SealBoxPackOverTimeMarkMsg { get => sealBoxPackOverTimeMarkMsg; set { Set(ref sealBoxPackOverTimeMarkMsg, value); } }
}
}

5
BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs

@ -72,6 +72,11 @@ namespace BBWY.Client.Models.SealBox
/// </summary>
public PositionState? WareState { get; set; }
/// <summary>
///封箱id
/// </summary>
public long? SealBoxId { get; set; }
}

BIN
BBWY.Client/Resources/Images/jdwl.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

20
BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs

@ -29,6 +29,7 @@ using BBWY.Client.Models.SealBox;
using BBWY.Client.ViewModels.SealBox;
using BBWY.Client.Views.FallWare;
using BBWY.Client.Models.FallWare;
using BBWY.Client.Views.TaskOverTime;
namespace BBWY.Client.ViewModels.PackTask
{
@ -258,6 +259,17 @@ namespace BBWY.Client.ViewModels.PackTask
SealBoxConfigureType = SealBoxConfigureType.;
SetFallWareConfiguredCommand = new RelayCommand<object>(SetFallWareConfigured);
SubmitOverTimeMarkMsgCommand = new RelayCommand<object>(SubmitOverTimeMarkMsg);
}
private void SubmitOverTimeMarkMsg(object param)
{
var paramList = (object[])param;
var id = (long)paramList[0];
var markMsg = paramList[1].ToString();
SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(OverTimeTaskType., id, markMsg, packTaskService, ReflashTask) ;
submitOverTimeMarkMsgWindow.Show();
}
private void SetFallWareConfigured(object obj)
@ -274,13 +286,14 @@ namespace BBWY.Client.ViewModels.PackTask
ProductTitle = fallware.ProductTitle,
PurchaseOrder = fallware.PurchaseOrder,
WaybillNo = fallware.WaybillNo
};
//if (fallware.WareType== WareType.京仓)
//{
//SetJDWareBoxWindow window = new SetJDWareBoxWindow(model,sealBoxService,fallware.WareType.Value,ReflashTask);
//window.Show();
var w = new SetJDWareBoxWindow2(model, sealBoxService, fallware.WareType.Value, ReflashTask);
var w = new SetJDWareBoxWindow2(model, sealBoxService, fallware.WareType.Value, ReflashTask,fallware.TransportOverTime);
w.ShowDialog();
//}
//if (fallware.WareType == WareType.云仓)
@ -399,6 +412,11 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 提交过期时间数据
/// </summary>
public ICommand SubmitOverTimeMarkMsgCommand { get; set; }
/// <summary>
/// 设置落仓配置信息(上传材料)
/// </summary>

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

@ -28,6 +28,7 @@ using WebSocketSharp;
using System.Threading;
using BBWY.Client.Helpers;
using System.Diagnostics.Eventing.Reader;
using BBWY.Client.Views.TaskOverTime;
namespace BBWY.Client.ViewModels.PackTask
{
@ -45,7 +46,7 @@ namespace BBWY.Client.ViewModels.PackTask
private DateTime endTime;
public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
public IList<OverTimeTaskResponse> OverTimeTaskResponses { get; set; }
@ -72,7 +73,7 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ObservableCollection<OverTimeTaskState> OverTimeTaskStateList { get => overTimeTaskStateList; set { Set(ref overTimeTaskStateList, value); } }
private OverTimeTaskType overTimeTaskType = OverTimeTaskType.;
/// <summary>
@ -80,7 +81,7 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public OverTimeTaskType OverTimeTaskType { get => overTimeTaskType; set { Set(ref overTimeTaskType, value); } }
private OverTimeTaskState overTimeTaskState = OverTimeTaskState.;
private OverTimeTaskState overTimeTaskState = OverTimeTaskState.;
/// <summary>
/// 任务类型(超时)
/// </summary>
@ -342,7 +343,7 @@ namespace BBWY.Client.ViewModels.PackTask
SearchTaskCommand = new RelayCommand(() =>
{
SearchTaskList(); //手动点击查询订单
SearchTaskList(); //手动点击查询订单
});
TaskPageIndexChangedCommand = new RelayCommand<PageArgs>(p =>
{
@ -369,7 +370,7 @@ namespace BBWY.Client.ViewModels.PackTask
PositionState = PositionState.;
SetSealBoxConfigureTypeCommand = new RelayCommand<SealBoxConfigureType>(s =>
{
SealBoxConfigureType = s;
PositionState = s == SealBoxConfigureType. ? PositionState. : PositionState.;
SearchTaskList();
@ -389,7 +390,7 @@ namespace BBWY.Client.ViewModels.PackTask
SetWareTypeCommand = new RelayCommand<WareType>(s =>
{
SelectWareType = s;
SearchTaskList();
});
@ -397,7 +398,143 @@ namespace BBWY.Client.ViewModels.PackTask
CompeteWaitTransportCommand = new RelayCommand<object>(CompeteWaitTransport);
CompeteWaitCompletedCommand = new RelayCommand<object>(CompeteWaitCompleted);
PrintSealBoxDetailsCommand = new RelayCommand<object>(PrintSealBoxDetails);
PrintLSOrderConfigureCommand = new RelayCommand<object>(PrintLSOrderConfigure);
LookLSOrderConfigureCommand = new RelayCommand<object>(LookLSOrderConfigure);
SubmitOverTimeMarkMsgCommand = new RelayCommand<object>(SubmitOverTimeMarkMsg);
}
private void SubmitOverTimeMarkMsg(object param)
{
var paramList = (object[])param;
var id = (long)paramList[0];
var markMsg = paramList[1]?.ToString();
OverTimeTaskType overTimeTaskType= OverTimeTaskType.;
switch (TaskState.Value)
{
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
}
SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask);
submitOverTimeMarkMsgWindow.Show();
}
private void LookLSOrderConfigure(object obj)
{
var model = obj as WaitFallWareModel;
if (model.WareType != WareType.)
{
System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单.");
return;
}
if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty())
{
System.Windows.MessageBox.Show($"预约单号为空,无法查看");
return;
}
var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder();
if (!lsdTaskMsgRes.Success)
{
System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}");
return;
}
var lsdTaskMsg = lsdTaskMsgRes.Data;
var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder);
if (!LSOrderPurchaseListRes.Success)
{
System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}");
return;
}
var data = LSOrderPurchaseListRes.Data;
List<GetWareLSOrderPurchase> lookData = null;
if (data.GetWareLSOrderPurchases.Count > 10)
{
lookData = data.GetWareLSOrderPurchases.ToList().GetRange(0, 10);
}
else
{
lookData = data.GetWareLSOrderPurchases.ToList();
}
var totalPageIndex = data.GetWareLSOrderPurchases.Count() % 10 == 0 ? data.GetWareLSOrderPurchases.Count() / 10 : data.GetWareLSOrderPurchases.Count() / 10 + 1;
WareLSAcceptOrderWindow wareLSAcceptOrderWindow = new WareLSAcceptOrderWindow(lsdTaskMsg, lookData, 1, totalPageIndex, model.BoxConfigureData.PrewOrder);
wareLSAcceptOrderWindow.Show();
}
private void PrintLSOrderConfigure(object obj)
{
var model = obj as WaitFallWareModel;
if (model.WareType != WareType.)
{
System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单.");
return;
}
if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty())
{
System.Windows.MessageBox.Show($"预约单号为空,无法查看");
return;
}
var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder();
if (!lsdTaskMsgRes.Success)
{
System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}");
return;
}
var lsdTaskMsg = lsdTaskMsgRes.Data;
var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder);
if (!LSOrderPurchaseListRes.Success)
{
System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}");
return;
}
var data = LSOrderPurchaseListRes.Data;
PrintLSOrderWindow printLS = new PrintLSOrderWindow(data.GetWareLSOrderPurchases.ToList(), model.BoxConfigureData.PrewOrder, lsdTaskMsg);
printLS.ShowDialog();
}
private void PrintSealBoxDetails(object obj)
{
var model = (SealBoxModel)obj;
SealBoxPrintDetailsWindow printDetailsWindow = new SealBoxPrintDetailsWindow(model);
printDetailsWindow.ShowDialog();
}
private void CompeteWaitCompleted(object obj)
@ -527,11 +664,11 @@ namespace BBWY.Client.ViewModels.PackTask
WaybillNo = fallware.BoxConfigureData.WaybillNo,
ProviderName = fallware.BoxConfigureData.ProviderName
};
PrintBoxWindow printBox = new PrintBoxWindow(model, fallware.WareType);
printBox.ShowDialog();
//加载模板数据
PrintBoxWindow printBox = new PrintBoxWindow(model, fallware.WareType, sealBoxService);
printBox.ShowDialog();
//加载模板数据
//打印
}
@ -560,7 +697,7 @@ namespace BBWY.Client.ViewModels.PackTask
}
if (fallware.WareType == WareType. || fallware.WareType == WareType.)
{
SetCloudWareBoxWindow window = new SetCloudWareBoxWindow(model, fallware.WareType);
SetCloudWareBoxWindow window = new SetCloudWareBoxWindow(model, fallware.WareType);
window.Show();
}
@ -569,7 +706,7 @@ namespace BBWY.Client.ViewModels.PackTask
public PositionState PositionState { get; set; }
/// <summary>
/// 完成落仓(todo:)
/// 完成落仓
/// </summary>
/// <param name="obj"></param>
private void CompeteFallWare(object obj)
@ -604,7 +741,7 @@ namespace BBWY.Client.ViewModels.PackTask
return;
}
SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow(model);
SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow();
setSealBoxWindow.SendBoxCount = boxCount =>
{
model.SealBoxCount = boxCount;
@ -614,6 +751,23 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 提交超时原因
/// </summary>
public ICommand SubmitOverTimeMarkMsgCommand { get; set; }
/// <summary>
/// 查看揽收单
/// </summary>
public ICommand LookLSOrderConfigureCommand { get; set; }
/// <summary>
/// 打印揽收单
/// </summary>
public ICommand PrintLSOrderConfigureCommand { get; set; }
/// <summary>
/// 打印封箱明细
/// </summary>
public ICommand PrintSealBoxDetailsCommand { get; set; }
/// <summary>
/// 待完结 完成事件
/// </summary>
@ -743,11 +897,20 @@ namespace BBWY.Client.ViewModels.PackTask
if (!model.OrderId.IsNullOrEmpty())
{
if (model.ExpressOrderList==null||model.ExpressOrderList.Count<=0)
if (model.ExpressOrderList == null || model.ExpressOrderList.Count <= 0)
{
System.Windows.MessageBox.Show("该任务采购单未进行发货,请联系业务进行发货后在确认收货", "提示");
return;
}
var manualSigns = packTaskService.BatchManualSign(model.ExpressOrderList.Select(e => e.WaybillNo).ToArray());
if (manualSigns == null || !manualSigns.Success)
{
if (!manualSigns.Success)
{
System.Windows.MessageBox.Show($"B端确认收货失败,{manualSigns.Msg}");
return;
}
}
}
if (System.Windows.MessageBox.Show("是否确认收货?", "提示",
MessageBoxButton.YesNo,
@ -755,11 +918,6 @@ namespace BBWY.Client.ViewModels.PackTask
return;
res = packTaskService.SetPackTaskState(taskId, Models.TaskState.);
if (res != null && res.Success)
{
//todo:手动发货上传B端数据
}
break;
case Models.TaskState.:
break;
@ -795,11 +953,11 @@ namespace BBWY.Client.ViewModels.PackTask
}
public void SetTaskState(TaskState? taskState)
{
TaskState = taskState;
if (PageIndex == 1)
SearchTaskList();
@ -828,7 +986,7 @@ namespace BBWY.Client.ViewModels.PackTask
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
taskId = Convert.ToInt64(SearchTaskId);
var istrue = long.TryParse(SearchSealBoxId, out long sealboxid);
var istrue = long.TryParse(SearchSealBoxId, out long sealboxid);
if (istrue)
{
sealBoxId = sealboxid;
@ -841,7 +999,7 @@ namespace BBWY.Client.ViewModels.PackTask
}
IsLoading = true;
if (TaskState == Models.TaskState.)
{
Task.Factory.StartNew(() =>
@ -869,13 +1027,13 @@ namespace BBWY.Client.ViewModels.PackTask
IsLoading = false;
});
}
else if (TaskState == Models.TaskState.)
else if (TaskState == Models.TaskState.)
{
PageSize = 20;
Task.Factory.StartNew(() =>
{
OverTimeTaskList = new ObservableCollection<OverTimeTaskResponse>();
var datas = packTaskService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState,OverTimeTaskType, PageIndex, PageSize);
var datas = packTaskService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState, OverTimeTaskType, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -934,12 +1092,12 @@ namespace BBWY.Client.ViewModels.PackTask
if (datetime.TotalMilliseconds > 0)
{
item.IsWaitTransportOverTime = false;
item.WaitTransportRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsWaitTransportOverTime = true;
item.WaitTransportRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
@ -970,7 +1128,7 @@ namespace BBWY.Client.ViewModels.PackTask
WaitFallWareList = new ObservableCollection<WaitFallWareModel>();
var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, taskId, SearchSkuId,sealBoxId, PageIndex, PageSize);
var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -993,54 +1151,54 @@ namespace BBWY.Client.ViewModels.PackTask
BoxConfigureData = item.BoxConfigureData,
ProductCount = item.ProductCount,
WareType = item.WareType,
SetPurchaseOrderOverTime=item.SetPurchaseOrderOverTime
SetPurchaseOrderOverTime = item.SetPurchaseOrderOverTime
});
}));
}
var fallWareTasks = WaitFallWareList.Where(p => p.SetPurchaseOrderOverTime != null).ToList();
if (fallWareTasks.Count() > 0 && TaskState == Models.TaskState. && SealBoxConfigureType == SealBoxConfigureType.)
{
//if (packOverTimeThread!=null)
//{
// packOverTimeThread.Abort();
//}
fallwareOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in fallWareTasks)
{
var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsFallWareOverTime = false;
item.FallWareRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
}
else
{
item.IsFallWareOverTime = true;
item.FallWareRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
fallwareOverTimeThread.IsBackground = true;
fallwareOverTimeThread.Start();
}
//var fallWareTasks = WaitFallWareList.Where(p => p.SetPurchaseOrderOverTime != null).ToList();
//if (fallWareTasks.Count() > 0 && TaskState == Models.TaskState.待落仓 && SealBoxConfigureType == SealBoxConfigureType.待配置)
//{
// //if (packOverTimeThread!=null)
// //{
// // packOverTimeThread.Abort();
// //}
// fallwareOverTimeThread = new Thread(() =>
// {
// IsStartThread = true;
// while (IsStartThread)
// {
// App.Current.Dispatcher.BeginInvoke(new Action(() =>
// {
// foreach (var item in fallWareTasks)
// {
// var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now);
// if (datetime.TotalMilliseconds > 0)
// {
// item.IsFallWareOverTime = false;
// item.FallWareRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
// }
// else
// {
// item.IsFallWareOverTime = true;
// item.FallWareRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
// }
// }
// }));
// Thread.Sleep(1000);
// }
// });
// //任务倒计时数据
// fallwareOverTimeThread.IsBackground = true;
// fallwareOverTimeThread.Start();
//}
}
else
{
@ -1061,7 +1219,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
WaitSealBoxModels = new ObservableCollection<SealBoxModel>();
var datas = sealBoxService.GetWareSealBoxList(SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
var datas = sealBoxService.GetWareSealBoxList(SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -1086,12 +1244,13 @@ namespace BBWY.Client.ViewModels.PackTask
WareId = item.WareId,
WareName = item.WareName,
SealBoxId = item.SealBoxId,
SealBoxPackOverTime = item.SealBoxPackOverTime
SealBoxPackOverTime = item.SealBoxPackOverTime,
SealBoxPackOverTimeMarkMsg = item.SealBoxPackOverTimeMarkMsg
});
}));
}
var sealboxTasks = WaitSealBoxModels.Where(p => p.SealBoxPackOverTime != null).ToList();
if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.)
{
@ -1110,12 +1269,12 @@ namespace BBWY.Client.ViewModels.PackTask
if (datetime.TotalMilliseconds > 0)
{
item.IsSealBoxOverTime = false;
item.SealBoxRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsSealBoxOverTime = true;
item.SealBoxRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime) ;
}
}
@ -1223,6 +1382,8 @@ namespace BBWY.Client.ViewModels.PackTask
QualityCompletionOverTime = item.QualityCompletionOverTime,
PackCompletionOverTime = item.PackCompletionOverTime,
ShopName = item.ShopName,
QualityOverTimeMarkMsg = item.QualityOverTimeMarkMsg,
PackOverTimeMarkMsg = item.PackOverTimeMarkMsg
//ExpressOrderList = item.ExpressOrderList,
};
@ -1290,7 +1451,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
qualityOverTimeThread = new Thread(() =>
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
if (packtasks.Count() > 0)
{
@ -1329,7 +1490,7 @@ namespace BBWY.Client.ViewModels.PackTask
qualityOverTimeThread.IsBackground = true;
qualityOverTimeThread.Start();
//任务状态为待验收
}
if (TaskState == Models.TaskState.)
{
@ -1354,12 +1515,12 @@ namespace BBWY.Client.ViewModels.PackTask
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = datetime.Days == 0 ? $"{datetime.Hours}小时{datetime.Minutes}分" : $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分";
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
@ -1375,7 +1536,7 @@ namespace BBWY.Client.ViewModels.PackTask
}
}
//任务状态为待打包

1
BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs

@ -289,6 +289,7 @@ namespace BBWY.Client.ViewModels.SealBox
WareName = x.WareName,
WareType = x.WareType.Value,
WareState = x.WareState,
SealBoxId=x.SealBoxId
}).ToList(),
});

26
BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml

@ -223,11 +223,33 @@
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding FallWareRemainTime}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
<StackPanel Margin="10,5" Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsFallWareOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
>
<TextBlock Foreground="Red" Text="超时: "/>
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding FallWareRemainTime}"/>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding SetPurchaseOrderOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SealBoxId"/>
<Binding Path="SetPurchaseOrderOverTimeMarkMsg"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</StackPanel>

8
BBWY.Client/Views/FallWare/PrintBoxWindow.xaml

@ -42,12 +42,16 @@
<StackPanel Orientation="Horizontal" Margin=" 0 50 0 0" HorizontalAlignment="Center">
<TextBlock Margin="0 0 5 0" VerticalAlignment="Center" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1" Height="30">
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1" Height="30" >
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="25" Width="200" VerticalAlignment="Center" HorizontalAlignment="Left" ItemsSource="{Binding PrintList}" Text="{Binding PrintName}" />
</Border>
</StackPanel>
<CheckBox Name="cbx_allsomebox" Content="打印所有同揽收单的箱唛" HorizontalAlignment="Left" Margin="66 10 0 0"/>
<CheckBox Name="cbx_allsomebox" Content="打印所有同揽收单的箱唛" HorizontalAlignment="Left" Margin="66 10 0 0"
Visibility="{Binding WareType,Converter={StaticResource objConverter},ConverterParameter=京仓:Visible:Collapsed}"
/>
</StackPanel>

85
BBWY.Client/Views/FallWare/PrintBoxWindow.xaml.cs

@ -10,6 +10,7 @@ using System.Drawing.Printing;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@ -26,12 +27,13 @@ namespace BBWY.Client.Views.FallWare
/// </summary>
public partial class PrintBoxWindow : BWindow
{
public PrintBoxWindow(JDWareBoxModel model, WareType WareType)
public PrintBoxWindow(JDWareBoxModel model, WareType WareType, SealBoxService sealBoxService)
{
JDWareBoxModel =model ; this.WareType = WareType;
JDWareBoxModel = model; this.WareType = WareType; this.sealBoxService = sealBoxService;
InitializeComponent();
this.DataContext = this;
InitPrintList();
}
public void InitPrintList()
{
@ -83,10 +85,10 @@ namespace BBWY.Client.Views.FallWare
public string PrintName { get; set; }
public int PrintCount { get; set; } = 1;
public SealBoxService sealBoxService { get; set; }
public JDWareBoxModel JDWareBoxModel { get; set; }
public JDWareBoxModel JDWareBoxModel { get; set; }
/// <summary>
/// 箱唛类型
@ -99,22 +101,71 @@ namespace BBWY.Client.Views.FallWare
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (WareType== WareType.)
bool isNeedPrintAllBox = false;
if (cbx_allsomebox.IsChecked != null && cbx_allsomebox.IsChecked.Value)//选择打印预约单的所有箱唛
isNeedPrintAllBox = true;
Task.Factory.StartNew(() =>
{
SetJDWareBoxWindow jdWindow = new SetJDWareBoxWindow(JDWareBoxModel);
jdWindow.Show();
//jdWindow.WindowState = WindowState.Maximized;
jdWindow.PrintBox(PrintName);
}
if (WareType == WareType.)
{
if (WareType== WareType.|| WareType== WareType.)
{
SetCloudWareBoxWindow cloudWareWindow = new SetCloudWareBoxWindow(JDWareBoxModel, WareType);
cloudWareWindow.Visibility = Visibility.Hidden;
cloudWareWindow.Show();
if (isNeedPrintAllBox)//选择打印预约单的所有箱唛
{
var datas = sealBoxService.GetWareLSOrderPurchaseList(JDWareBoxModel.PrewOrder);
cloudWareWindow.PrintBox(PrintName);
}
foreach (var item in datas.Data.GetWareLSOrderPurchases)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
SetJDWareBoxWindow jdWindow = new SetJDWareBoxWindow(new JDWareBoxModel
{
BoxCount = item.SealBoxCount.Value,
PrewOrder = item.PrewOrder,
ProductCount = item.ProductCount,
ProductTitle = item.ProductTitle,
ProviderName = item.ProviderName,
PurchaseOrder = item.PurchaseOrder,
WareName = item.WareName,
});
jdWindow.PrintBox(PrintName);
}));
}
}
else
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
SetJDWareBoxWindow jdWindow = new SetJDWareBoxWindow(JDWareBoxModel);
jdWindow.PrintBox(PrintName);
}));
}
}
if (WareType == WareType. || WareType == WareType.)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
SetCloudWareBoxWindow cloudWareWindow = new SetCloudWareBoxWindow(JDWareBoxModel, WareType);
cloudWareWindow.PrintBox(PrintName);
}));
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
this.Close();
}));
});
}
}
}

68
BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml

@ -0,0 +1,68 @@
<c:BWindow x:Class="BBWY.Client.Views.FallWare.PrintLSOrderWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.FallWare"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="219" Width="378"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Window.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="打印揽收单" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1" Orientation="Vertical" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="62 0 0 10">
<TextBlock Margin="0 0 5 0" Style="{StaticResource middleTextBlock}" Text="份数:"/>
<c:BTextBox Text="{Binding PrintCount}" Height="30" Width="200" />
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="50 0 0 0">
<TextBlock Margin="0 0 5 0" Style="{StaticResource middleTextBlock}" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1" Height="30" >
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="25" Width="200" VerticalAlignment="Center" HorizontalAlignment="Left" ItemsSource="{Binding PrintList}" Text="{Binding PrintName}" />
</Border>
</StackPanel>
</StackPanel>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="打印" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

149
BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs

@ -0,0 +1,149 @@
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Views.SealBox;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing.Printing;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
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.Shapes;
namespace BBWY.Client.Views.FallWare
{
/// <summary>
/// PrintLSOrderWindow.xaml 的交互逻辑
/// </summary>
public partial class PrintLSOrderWindow : BWindow
{
public PrintLSOrderWindow(List<GetWareLSOrderPurchase> getWareLSOrderPurchases, string prewOrder, GetWareLSAcceptOrderResponse getWareLSAcceptOrderResponse)
{
InitializeComponent();
InitPrintList();
this.DataContext = this;
GetWareLSOrderPurchases = getWareLSOrderPurchases;
PrewOrder = prewOrder;
GetWareLSAcceptOrderResponse = getWareLSAcceptOrderResponse;
}
/// <summary>
/// 打印机列表
/// </summary>
public ObservableCollection<string> PrintList { get; set; }
public string PrintName { get; set; }
public int PrintCount { get; set; } = 1;
public void InitPrintList()
{
//TaskImage = MyPrintHelper.GetBarcodeImage(TaskId.ToString(), 300, 60);
//BarcodeImage = MyPrintHelper.GetBarcodeImage(SkuId, 300, 60);
PrintList = new ObservableCollection<string>();
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;
}
PrintList.Add(name);
}
try
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");
if (File.Exists(printNames))
{
PrintName = File.ReadAllText(printNames);
}
else
{
if (PrintList.Count > 0)
{
PrintName = PrintList[0].ToString();
}
}
}
catch (Exception)
{
}
}
/// <summary>
/// 采购单列表
/// </summary>
public List<GetWareLSOrderPurchase> GetWareLSOrderPurchases { get; set; }
public string PrewOrder { get; set; }
public GetWareLSAcceptOrderResponse GetWareLSAcceptOrderResponse { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
int limitIndex = 10;//单页限制数量
int totalPageIndex = GetWareLSOrderPurchases.Count % 10 == 0 ? GetWareLSOrderPurchases.Count / 10 : GetWareLSOrderPurchases.Count / 10 + 1;
Task.Factory.StartNew(() =>
{
for (int i = 0; i < PrintCount; i++)//打印份数
{
int nowPageIndex = 0;
again:
nowPageIndex++;
if (GetWareLSOrderPurchases.Count > limitIndex)
{
PrintBox(GetWareLSOrderPurchases.GetRange(0, limitIndex), nowPageIndex, totalPageIndex);
GetWareLSOrderPurchases.RemoveRange(0, limitIndex);
goto again;
}
else
{
PrintBox(GetWareLSOrderPurchases, nowPageIndex, totalPageIndex);
}
}
App.Current.Dispatcher.Invoke(() => {
this.Close();
});
});
}
public void PrintBox(List<GetWareLSOrderPurchase> GetWareLSOrderPurchases, int nowPageIndex, int totalPageIndex)
{
App.Current.Dispatcher.Invoke(() => {
WareLSAcceptOrderWindow lSAcceptOrderWindow = new WareLSAcceptOrderWindow(GetWareLSAcceptOrderResponse, GetWareLSOrderPurchases, nowPageIndex, totalPageIndex, PrewOrder);
//lSAcceptOrderWindow.Show();
lSAcceptOrderWindow.PrintLSOrder(PrintName);
});
//SealBoxPolicyDetailsWindow policyDetailsWindow = new SealBoxPolicyDetailsWindow(sealBoxSkus, SealBoxModel.ShopName, SealBoxModel.WareName, SealBoxModel.SealBoxId);
//policyDetailsWindow.PrintBox(PrintName);
}
}
}

25
BBWY.Client/Views/FallWare/SetCloudWareBoxWindow.xaml

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.FallWare"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
@ -16,24 +16,11 @@
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Width="450" Height="380"
RightButtonGroupMargin="0,5,5,0">
>
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<c:BWindow.Resources>
<ResourceDictionary>
<Style x:Key="middleTextBox" TargetType="TextBox">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Margin" Value="1"/>
</Style>
</ResourceDictionary>
</c:BWindow.Resources>
<Grid>
<Grid.RowDefinitions>
@ -46,7 +33,7 @@
<TextBlock Text="{Binding WareType,Converter={StaticResource objConverter},ConverterParameter=云仓:云仓箱唛:聚水潭箱唛}" FontSize="16" HorizontalAlignment="Left" Margin="10 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Name="jd_box">
<Grid Margin="50">
<Grid Name="box_margin" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="2*"/>
@ -92,7 +79,7 @@
<TextBlock Style="{StaticResource middleTextBlock}" Text="箱数" Grid.Row="3"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Grid.Row="3" Grid.Column="1" >
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding PrintCount,Mode=TwoWay}"/>
<TextBlock x:Name="tb_printcount" Style="{StaticResource middleTextBlock}" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="/"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding JDWareBoxModel.BoxCount,Mode=TwoWay}" />

35
BBWY.Client/Views/FallWare/SetCloudWareBoxWindow.xaml.cs

@ -18,6 +18,7 @@ using BBWY.Client.Helpers;
using System.Printing;
using System.Reflection;
using System.IO;
using System.Threading;
namespace BBWY.Client.Views.FallWare
{
@ -34,6 +35,10 @@ namespace BBWY.Client.Views.FallWare
InitializeComponent();
PurchaseOrderImage = MyPrintHelper.GetBarcodeImageV2(model.PurchaseOrder, 420, 50);
this.DataContext = this;
this.Dispatcher.Invoke(() => {
tb_printcount.Text = "1";
});
this.UpdateLayout();
}
public JDWareBoxModel JDWareBoxModel { get; set; }
@ -42,11 +47,9 @@ namespace BBWY.Client.Views.FallWare
/// </summary>
public BitmapImage PurchaseOrderImage { get; set; }
public WareType WareType { get; set; }
public int PrintCount { get; set; } = 1;
public void PrintBox(string printName)
{
var localPrintServer = new LocalPrintServer();
if (string.IsNullOrEmpty(printName))
{
@ -60,22 +63,28 @@ namespace BBWY.Client.Views.FallWare
}
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Landscape;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Height = pageHeight + 39;
this.Width = pageWidth;
this.FontSize = 30;
box_margin.Margin = new Thickness(50, 50, 50, 50);
this.jd_box.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
for (int i = 1; i <= JDWareBoxModel.BoxCount; i++)
{
PrintCount = i;
//设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Dispatcher.Invoke(() => {
tb_printcount.Text =i.ToString();
});
this.Dispatcher.Invoke(() => {
this.UpdateLayout();
});
this.Height = pageHeight + 39;
this.Width = pageWidth;
this.FontSize = 30;
this.jd_box.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
printDialog.PrintVisual(this.jd_box, "打印任务");
}
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

4
BBWY.Client/Views/FallWare/SetJDWareBoxWindow.xaml

@ -43,7 +43,7 @@
<TextBlock Text="京仓箱唛" FontSize="16" HorizontalAlignment="Left" Margin="10 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Name="jd_box" >
<Grid Margin="50,50,50,50" >
<Grid Name="box_margin" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="2*"/>
@ -103,7 +103,7 @@
<TextBlock Style="{StaticResource middleTextBlock}" Text="箱数" Grid.Row="6"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Grid.Row="6" Grid.Column="1" >
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding PrintCount}"/>
<TextBlock x:Name="tb_printcount" Style="{StaticResource middleTextBlock}" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="/"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding JDWareBoxModel.BoxCount,Mode=TwoWay}" />

35
BBWY.Client/Views/FallWare/SetJDWareBoxWindow.xaml.cs

@ -37,6 +37,10 @@ namespace BBWY.Client.Views.FallWare
PurchaseOrderImage= MyPrintHelper.GetBarcodeImageV2(model.PurchaseOrder, 420, 50);
PrewOrderImage = MyPrintHelper.GetBarcodeImageV2(model.PrewOrder, 350, 50);
this.DataContext =this;
this.Dispatcher.Invoke(() => {
tb_printcount.Text = "1";
});
this.UpdateLayout();
}
public JDWareBoxModel JDWareBoxModel { get; set; }
@ -53,7 +57,6 @@ namespace BBWY.Client.Views.FallWare
public BitmapImage PrewOrderImage { get; set; }
public int PrintCount { get; set; } = 1;
@ -77,26 +80,22 @@ namespace BBWY.Client.Views.FallWare
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Landscape;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
//设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Height = pageHeight + 39;//833
this.Width = pageWidth;//1123
this.FontSize = 30;
box_margin.Margin = new Thickness(50, 50, 50, 50);
this.jd_box.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
for (int i = 1; i <= JDWareBoxModel.BoxCount; i++)
{
PrintCount = i;
//设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Height = pageHeight + 39;//833
this.Width = pageWidth;//1123
this.FontSize = 30;
this.jd_box.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
//794 429 Width="478" Height="440"
//this.jd_box.Arrange(new Rect(new Point((pageWidth - jd_box.DesiredSize.Width) / 2, (pageHeight - jd_box.DesiredSize.Height) / 2), new Size(jd_box.DesiredSize.Width, jd_box.DesiredSize.Height)));
this.Dispatcher.Invoke(() => {
tb_printcount.Text =i.ToString();
});
this.UpdateLayout(); //刷新界面
printDialog.PrintVisual(this.jd_box, "打印任务");
}
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");

22
BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml

@ -7,7 +7,8 @@
mc:Ignorable="d"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Title="SetJDWareBoxWindow2" Height="250" Width="300"
Title="SetJDWareBoxWindow2"
Height="280" Width="300"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
CloseButtonVisibility="Visible"
@ -75,7 +76,7 @@
/>
</StackPanel>
<StackPanel Grid.Row="2" Margin="5,0" Name="panel_jingcang" Visibility="Collapsed">
<StackPanel Grid.Row="2" Margin="5,0" Name="panel_jingcang" >
<Grid Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
@ -105,8 +106,23 @@
<c:BTextBox Grid.Column="1" Margin="5,0,0,0" Height="25"
Text="{Binding JDWareBoxModel.ProductTitle}"/>
</Grid>
<Grid Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="预约时间:" VerticalAlignment="Center" HorizontalAlignment="Right"/>
<DatePicker Grid.Column="1"
SelectedDate="{Binding PrewDate,StringFormat=yyyy-MM-dd}" Height="30" VerticalContentAlignment="Center" FocusVisualStyle="{x:Null}" Margin="5,0,0,0"/>
<c:BTextBox Grid.Column="2" Text="{Binding PrewTime}"/>
</Grid>
</StackPanel>
<StackPanel Grid.Row="2" Margin="5,0" Name="panel_yuncang">
<StackPanel Grid.Row="2" Margin="5,0" Name="panel_yuncang" Visibility="Collapsed">
<Grid Margin="0,50,0,0" >

48
BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml.cs

@ -23,12 +23,22 @@ namespace BBWY.Client.Views.FallWare
public WareType wareType { get; set; }
/// <summary>
/// 预约时间(日期)
/// </summary>
public DateTime PrewDate { get; set; }
/// <summary>
/// 预约时间(小时:分钟)
/// </summary>
public string PrewTime { get; set; }
public bool IsEnabled { get; set; }
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
private bool isLoading;
public SetJDWareBoxWindow2(JDWareBoxModel model, SealBoxService sealBoxService, WareType wareType, Action reflashWindow, bool isEnabled = true)
public SetJDWareBoxWindow2(JDWareBoxModel model, SealBoxService sealBoxService, WareType wareType, Action reflashWindow,DateTime? TransportOverTime=null)
{
InitializeComponent();
@ -36,7 +46,7 @@ namespace BBWY.Client.Views.FallWare
this.wareType = wareType;
this.reflashWindow = reflashWindow;
JDWareBoxModel = model;
this.IsEnabled = isEnabled;
this.DataContext = this;
switch (wareType)
@ -47,6 +57,14 @@ namespace BBWY.Client.Views.FallWare
panel_jingcang.Visibility= Visibility.Visible;
panel_yuncang.Visibility= Visibility.Collapsed;
panel_jst.Visibility= Visibility.Collapsed;
PrewDate = DateTime.Now;
PrewTime = "17:30";
if (TransportOverTime != null)
{
PrewDate = TransportOverTime.Value.Date;
PrewTime = TransportOverTime?.ToString("HH:mm");
}
break;
case WareType.:
btn_jingcang.IsEnabled = false;
@ -84,6 +102,23 @@ namespace BBWY.Client.Views.FallWare
MessageBox.Show("信息不完整", "提示");
return;
}
DateTime? PrewDateTime = null;
try
{
PrewDateTime = DateTime.Parse((PrewDate.ToString("yyyy-MM-dd ") + PrewTime));
}
catch
{
MessageBox.Show("输入的时间有误", "提示");
return;
}
IsLoading = true;
Task.Factory.StartNew(() =>
{
@ -95,7 +130,14 @@ namespace BBWY.Client.Views.FallWare
return;
}
var res = sealBoxService.SetFallWareConfigure(JDWareBoxModel.SealBoxId, JDWareBoxModel.ProductTitle, JDWareBoxModel.PurchaseOrder, JDWareBoxModel.PrewOrder, JDWareBoxModel.WaybillNo, getDetailResponse.Data.SupplierName, getDetailResponse.Data.StoreName);
if (getDetailResponse.Data.StoreName!= JDWareBoxModel.WareName)
{
IsLoading = false;
this.Dispatcher.Invoke(() => MessageBox.Show($"采购单对应的仓库名:{getDetailResponse.Data.StoreName}与当前仓库:{JDWareBoxModel.WareName}不符", "提示"));
return;
}
var res = sealBoxService.SetFallWareConfigure(JDWareBoxModel.SealBoxId, JDWareBoxModel.ProductTitle, JDWareBoxModel.PurchaseOrder, JDWareBoxModel.PrewOrder, JDWareBoxModel.WaybillNo, getDetailResponse.Data.SupplierName, getDetailResponse.Data.StoreName, getDetailResponse.Data.City, PrewDateTime);
if (!res.Success)
{
IsLoading = false;

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

@ -36,7 +36,8 @@
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="{Binding DataContext.SealBoxConfigureType,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待配置:150:0}"/>
<ColumnDefinition Width="0"/>
<!--<ColumnDefinition Width="{Binding DataContext.SealBoxConfigureType,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待配置:150:0}"/>-->
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
@ -124,7 +125,8 @@
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="{Binding DataContext.SealBoxConfigureType,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待配置:150:0}"/>
<ColumnDefinition Width="0"/>
<!--<ColumnDefinition Width="{Binding DataContext.SealBoxConfigureType,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待配置:150:0}"/>-->
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
@ -242,31 +244,60 @@
<Grid Grid.Column="2" >
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center"
>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
>
<TextBlock Style="{StaticResource middleTextBlock}" Text="箱唛:" />
<TextBlock Style="{StaticResource middleTextBlock}" Text=" 箱唛:" />
<StackPanel Orientation="Horizontal"
Visibility="{Binding BoxConfigureData,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
<StackPanel Orientation="Horizontal"
Visibility="{Binding BoxConfigureData,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="查看"
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="查看"
Command="{Binding DataContext.LookBoxConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="打印" Margin="10 0 0 0 "
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="打印" Margin="10 0 0 0 "
Command="{Binding DataContext.PrintBoxConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
</StackPanel>
<TextBlock Style="{StaticResource middleTextBlock}" Text="未配置"
Visibility="{Binding BoxConfigureData,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
<TextBlock Style="{StaticResource middleTextBlock}" Text="未配置"
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0 10 0 0"
Visibility="{Binding WareType,Converter={StaticResource objConverter},ConverterParameter=京仓:Visible:Collapsed}"
>
<TextBlock Style="{StaticResource middleTextBlock}" Text="揽收单:" />
<StackPanel Orientation="Horizontal"
Visibility="{Binding BoxConfigureData,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="查看"
Command="{Binding DataContext.LookLSOrderConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="打印" Margin="10 0 0 0 "
Command="{Binding DataContext.PrintLSOrderConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
</StackPanel>
<TextBlock Style="{StaticResource middleTextBlock}" Text="未配置"
Visibility="{Binding BoxConfigureData,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<!--<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding FallWareRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
@ -284,7 +315,7 @@
</StackPanel>
</StackPanel>
</Grid>
</Grid>-->
<Grid Grid.Column="4" >

317
BBWY.Client/Views/FallWare/WareLSAcceptOrderWindow.xaml

@ -0,0 +1,317 @@
<c:BWindow x:Class="BBWY.Client.Views.FallWare.WareLSAcceptOrderWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.FallWare"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Title="WareLSAcceptOrderWindow" Height="1123" Width="794"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
>
<c:BWindow.Resources>
<ResourceDictionary>
<Style x:Key="fontSize14" TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="14"/>
</Style>
</ResourceDictionary>
</c:BWindow.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="0"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="查看揽收单" FontSize="16" HorizontalAlignment="Left" Margin="10 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Name="print_lsOrder" Grid.Row="1">
<Grid Margin="20" >
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="210"/>
<RowDefinition Height="510"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Grid Background="#c00000">
<TextBlock Foreground="White" Text="到仓上门揽收交接单" FontSize="30" VerticalAlignment="Center" Margin="5 0 0 0"/>
</Grid>
<Image Source="/resources/images/jdwl.png" Stretch="Fill" Grid.Column="1"/>
</Grid>
<Grid Margin="0 10 0 10" Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="160"/>
</Grid.ColumnDefinitions>
<Grid Background="#fce4d6" Grid.ColumnSpan="4">
<TextBlock Text="1. 任务信息" VerticalAlignment="Center" FontSize="16" Margin="5"/>
</Grid>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="0" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="2" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="3" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="4" Grid.ColumnSpan="4"/>
<Border Width="1" Background="#c00000" HorizontalAlignment="Left" Grid.Column="0" Grid.Row="1" Grid.RowSpan="4" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="0" Grid.Row="1" Grid.RowSpan="4" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="1" Grid.RowSpan="4" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="2" Grid.Row="1" Grid.RowSpan="4" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="3" Grid.Row="1" Grid.RowSpan="4" />
<TextBlock Text="客户名称*" Grid.Row="1" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.CustomerName}" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" FontSize="14"/>
<TextBlock Text="提货地址" Grid.Row="2" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.AcceptAdress}" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" FontSize="14"/>
<TextBlock Text="客户联系人*" Grid.Row="3" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.CustomerUserName}" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1" FontSize="14"/>
<TextBlock Text="客户电话*" Grid.Row="4" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.CustomerPhoneNumber}" VerticalAlignment="Center" Grid.Row="4" Grid.Column="1" FontSize="14"/>
<TextBlock Text="预约单号*" Grid.Column="2" Grid.Row="1" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding PrewOrder}" Grid.Column="3" Grid.Row="1" Style="{StaticResource fontSize14}" />
<TextBlock Text="揽收任务号*" Grid.Row="2" Grid.Column="2" Style="{StaticResource fontSize14}"/>
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.LSTaskNumber}" Grid.Row="2" Grid.Column="3" VerticalAlignment="Center" FontSize="14"/>
<TextBlock Text="始发TC**" Grid.Row="3" Grid.Column="2" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.StartTC}" Grid.Row="3" Grid.Column="3" VerticalAlignment="Center" FontSize="14"/>
<TextBlock Text="JD运输联系人*" Grid.Row="4" Grid.Column="2" Style="{StaticResource fontSize14}" />
<TextBlock Text="{Binding GetWareLSAcceptOrderResponse.JDTransportUserName}" VerticalAlignment="Center" Grid.Row="4" Grid.Column="3" FontSize="14"/>
</Grid>
<Grid Grid.Row="2" Margin="0 0 0 10">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Height="1" Background="#c00000" VerticalAlignment="Top" Grid.Row="1" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="2" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="3" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="4" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="5" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="6" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="7" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="8" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="9" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="10" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="11" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="12" Grid.ColumnSpan="8"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Margin="0 0 0 3" Grid.Row="12" Grid.ColumnSpan="8"/>
<Border Width="1" Background="#c00000" HorizontalAlignment="Left" Grid.Column="0" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="0" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="2" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="3" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="4" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="5" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="6" Grid.Row="1" Grid.RowSpan="11" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="7" Grid.Row="1" Grid.RowSpan="11" />
<Grid Background="#fce4d6" Grid.ColumnSpan="8">
<TextBlock Text="2. 货物信息" VerticalAlignment="Center" FontSize="16" Margin="5"/>
</Grid>
<TextBlock Grid.Row="1" Text="序号" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="2" Text="1" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="3" Text="2" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="4" Text="3" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="5" Text="4" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="6" Text="5" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="7" Text="6" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="8" Text="7" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="9" Text="8" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="10" Text="9" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="11" Text="10" Style="{StaticResource fontSize14}" />
<TextBlock Grid.Row="1" Grid.Column="1" Style="{StaticResource fontSize14}" Text="客户采购单号/JDV*"/>
<TextBlock Grid.Row="1" Grid.Column="2" Style="{StaticResource fontSize14}" Text="箱数*"/>
<TextBlock Grid.Row="1" Grid.Column="3" Style="{StaticResource fontSize14}" Text="目的城市*"/>
<TextBlock Grid.Row="1" Grid.Column="4" Style="{StaticResource fontSize14}" Text="外箱标识*"/>
<TextBlock Grid.Row="1" Grid.Column="5" Style="{StaticResource fontSize14}" Text="提货说明*"/>
<TextBlock Grid.Row="1" Grid.Column="6" Style="{StaticResource fontSize14}" Text="TC收货箱数*"/>
<TextBlock Grid.Row="1" Grid.Column="7" Style="{StaticResource fontSize14}" Text="TC收货说明(外包装情况等)"/>
<TextBlock Grid.Row="12" Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="14" >
<Run Text="提货总箱数*:"/>
</TextBlock>
<TextBlock Grid.Row="12" Grid.Column="2" Style="{StaticResource fontSize14}" Text="{Binding TotalSealBoxCount}"/>
<TextBlock Grid.Row="12" Grid.Column="4" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Right" FontSize="14" >
<Run Text="TC收货总箱数*:"/>
</TextBlock>
<TextBlock Grid.Row="12" Grid.Column="6" Style="{StaticResource fontSize14}" Text="{Binding TotalSealBoxCount}"/>
<ListBox x:Name="listbox_order"
Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="7" Grid.RowSpan="10"
ItemsSource="{Binding GetWareLSOrderPurchases}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="75"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding PurchaseOrder}" Grid.Column="0"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxCount}" Grid.Column="1"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WareCity}" Grid.Column="2"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding TCAcceptBoxCount}" Grid.Column="5"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Grid Grid.Row="3" >
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition />
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="350"/>
<ColumnDefinition/>
<ColumnDefinition Width="180"/>
</Grid.ColumnDefinitions>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="3" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="4" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="5" Grid.ColumnSpan="4"/>
<Border Height="1" Background="#c00000" VerticalAlignment="Bottom" Grid.Row="6" Grid.ColumnSpan="4"/>
<Border Width="1" Background="#c00000" HorizontalAlignment="Left" Grid.Column="0" Grid.Row="6" Grid.RowSpan="1" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Left" Grid.Column="0" Grid.Row="2" Grid.RowSpan="3" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="0" Grid.Row="2" Grid.RowSpan="2" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="2" Grid.RowSpan="3" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="0" Grid.Row="6" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="6" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="2" Grid.Row="2" Grid.RowSpan="3" />
<Border Width="1" Background="#c00000" HorizontalAlignment="Right" Grid.Column="2" Grid.Row="6" Grid.RowSpan="1" />
<Grid Background="#fce4d6" Grid.ColumnSpan="3">
<TextBlock Text="1. 签字确认" VerticalAlignment="Center" FontSize="16" Margin="5"/>
</Grid>
<TextBlock Text="客户确认" FontWeight="Bold" Grid.Row="1" VerticalAlignment="Center" FontSize="16" Margin="5"/>
<TextBlock Text="揽收司机确认" FontWeight="Bold" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" FontSize="16" Margin="5"/>
<TextBlock Text="TC收货确认" FontWeight="Bold" Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" FontSize="16" Margin="5"/>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="2" >
<Run Text="发货人签字*:"/>
<Run Text="{Binding GetWareLSAcceptOrderResponse.CustomerName}"/>
</TextBlock>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="3" >
<Run Text="发货人电话:"/>
<Run Text="{Binding GetWareLSAcceptOrderResponse.CustomerPhoneNumber}"/>
</TextBlock>
<Grid Grid.Row="2" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="车牌号*:"/>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="1" Text="车型*:"/>
</Grid>
<TextBlock Grid.Row="3" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" Text="司机签字*:"/>
<TextBlock Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left" Text="收货人签字*:"/>
<TextBlock Grid.Row="3" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left" Text="联系方式:"/>
<TextBlock Grid.Row="4" Text="签字日期时间*:" Margin="0 5 0 0"/>
<TextBlock Grid.Row="4" Text="签字日期时间*:" Margin="0 5 0 0" Grid.Column="2"/>
<TextBlock Grid.Row="5" Text="客户备注:" VerticalAlignment="Center"/>
<TextBlock Grid.Row="5" Text="司机备注:" VerticalAlignment="Center" Grid.Column="1"/>
<TextBlock Grid.Row="5" Text="TC备注:" VerticalAlignment="Center" Grid.Column="2"/>
<TextBlock Grid.Row="6" Text="确认以上采购单号及对应交接箱数、目的城市、对应外箱标识(如有)信息准确。"
FontSize="8" VerticalAlignment="Bottom"/>
<TextBlock Grid.Row="6" Text="确认以上采购单号、对应箱数与实际揽收货物相符。"
Grid.Column="1" FontSize="8" VerticalAlignment="Bottom"/>
<TextBlock Grid.Row="6" Text="确认以上采购单号、对应箱数与实收货物相符。"
Grid.Column="2" FontSize="8" VerticalAlignment="Bottom"/>
<TextBlock Grid.Row="7" Grid.ColumnSpan="3" HorizontalAlignment="Center">
<Run Text="本次揽收任务交接单共"/>
<Run Text="{Binding NowPageIndex}"/>
<Run Text="页,此为第"/>
<Run Text="{Binding TotalPageIndex}"/>
<Run Text="页"/>
</TextBlock>
</Grid>
</Grid>
</Grid>
<!--<c:BButton Grid.Row="2" Content="保存" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
Name="btn_save" />-->
</Grid>
</c:BWindow>

92
BBWY.Client/Views/FallWare/WareLSAcceptOrderWindow.xaml.cs

@ -0,0 +1,92 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Response;
using BBWY.Client.Models.FallWare;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Printing;
using System.Reflection;
using System.Text;
using System.Threading;
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.Shapes;
namespace BBWY.Client.Views.FallWare
{
/// <summary>
/// WareLSAcceptOrderWindow.xaml 的交互逻辑
/// </summary>
public partial class WareLSAcceptOrderWindow : BWindow
{
public WareLSAcceptOrderWindow(GetWareLSAcceptOrderResponse GetWareLSAcceptOrderResponse, List<GetWareLSOrderPurchase> GetWareLSOrderPurchases, int nowPageIndex, int totalPageIndex, string prewOrder
)
{
InitializeComponent();
this.GetWareLSAcceptOrderResponse = GetWareLSAcceptOrderResponse;
this.GetWareLSOrderPurchases = GetWareLSOrderPurchases;
this.NowPageIndex = nowPageIndex;
this.TotalPageIndex = totalPageIndex;
this.DataContext = this;
PrewOrder = prewOrder;
TotalSealBoxCount = GetWareLSOrderPurchases.Select(w=>w.SealBoxCount).Sum().Value;
this.UpdateLayout();
}
public GetWareLSAcceptOrderResponse GetWareLSAcceptOrderResponse { get; set; }
public List<GetWareLSOrderPurchase> GetWareLSOrderPurchases { get; set; }
public int NowPageIndex { get; set; }
public int TotalPageIndex { get; set; }
public string PrewOrder { get; set; }
/// <summary>
/// 总封箱数
/// </summary>
public int TotalSealBoxCount { get; set; }
///// <summary>
///// TC收货总箱数
///// </summary>
//public int TotalTCAcceptBoxCount { get; set; }
public void PrintLSOrder(string printName)
{
var localPrintServer = new LocalPrintServer();
if (string.IsNullOrEmpty(printName))
{
return;
}
var printQueue = localPrintServer.GetPrintQueue(printName);
if (printQueue.IsInError)
{
System.Windows.MessageBox.Show("打印机处于错误状态");
return;
}
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Portrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
// printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
//835 1166
this.Height = pageHeight+39;
this.Width = pageWidth;
this.print_lsOrder.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
this.UpdateLayout();
printDialog.PrintVisual(this.print_lsOrder, "打印任务");
this.Close();
}
}
}

2
BBWY.Client/Views/PackTask/FeesExcelControl.xaml

@ -8,6 +8,8 @@
d:DesignHeight="150" d:DesignWidth="1800">
<Grid x:Name ="gd"/>
<!--<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Grid.ColumnDefinitions >
<ColumnDefinition Width="0"/>

3
BBWY.Client/Views/PackTask/ServiceWindow.xaml

@ -437,6 +437,9 @@
<TextBlock Text="{Binding FloorDragNumber}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="打包人:" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="{Binding PackUserName}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="截止时间:" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="{Binding PackTaskModel.PackCompletionOverTime,StringFormat=yyyy-MM-dd HH:mm}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
</StackPanel>
<Grid Margin="20 5 20 5">

28
BBWY.Client/Views/PackTask/WaitPackageControl.xaml

@ -481,11 +481,31 @@
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding PackRemainTime}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
<StackPanel Margin="10,5" Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding PackRemainTime}"/>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding PackRemainTime}"/>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding PackOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
CommandParameter="{Binding TaskId}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="TaskId"/>
<Binding Path="PackOverTimeMarkMsg"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</StackPanel>
</Grid>

25
BBWY.Client/Views/QualityTask/WaitQualityControl.xaml

@ -392,11 +392,28 @@
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding QualityRemainTime}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsQualityOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsQualityOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding QualityRemainTime}"/>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding QualityRemainTime}"/>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding QualityOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="TaskId"/>
<Binding Path="QualityOverTimeMarkMsg"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</StackPanel>
</Grid>

120
BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml

@ -0,0 +1,120 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.SealBoxPolicyDetailsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.SealBox"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="1123" Width="794"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
>
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Grid Name="print_sealbox">
<Grid Margin="30">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="封箱策略明细" FontSize="36" VerticalAlignment="Center" HorizontalAlignment="Left" FontWeight="Bold"/>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="1">
<TextBlock Text="封箱ID:"/>
<TextBlock Text="{Binding SealBoxId}"/>
<!--<TextBlock Text="箱数:" Margin="50 0 0 0"/>
<TextBlock Text="1"/>
<TextBlock Text="/"/>
<TextBlock Text="2"/>-->
<TextBlock Text="店铺:" Margin="50 0 0 0"/>
<TextBlock Text="{Binding ShopName}"/>
<TextBlock Text="仓库:" Margin="50 0 0 0"/>
<TextBlock Text="{Binding WareName}"/>
</StackPanel>
<Grid Grid.Row="2" >
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border BorderBrush="Black" BorderThickness="1,1,1,0"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition />
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="选择" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="商品信息" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="装箱数量" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<Border Grid.Row="0" HorizontalAlignment="Right" Width="1" Background="Black"/>
<Border Grid.Column="1" HorizontalAlignment="Right" Width="1" Background="Black"/>
</Grid>
</Border>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}" BorderThickness="0 1 0 0" BorderBrush="Black"
Grid.Row="2" Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="60" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="81"/>
<ColumnDefinition/>
<ColumnDefinition Width="81"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="10 10 0 0" Grid.ColumnSpan="3">
<TextBlock>
<Run Text="SKU:"/>
<Run Text="{Binding SkuId}"/>
</TextBlock>
<TextBlock Margin="0 10 0 0">
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuTitle}"/>
</TextBlock>
</StackPanel>
<TextBlock Grid.Column="1" Margin="10 10 0 0">
<Run Text="任务ID:"/>
<Run Text="{Binding TaskId}"/>
</TextBlock>
<TextBlock Grid.Column="2" Margin="10 10 0 0">
<Run Text="需装数量:"/>
<Run Text="{Binding WareHourseSkuCount}"/>
</TextBlock>
</Grid>
<Border Grid.Row="0" HorizontalAlignment="Left" Width="1" Background="Black"/>
<Border Grid.Row="0" HorizontalAlignment="Right" Width="1" Background="Black"/>
<Border Grid.Column="1" HorizontalAlignment="Right" Width="1" Background="Black"/>
<Border Grid.Column="2" HorizontalAlignment="Right" Width="1" Background="Black"/>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Grid.ColumnSpan="3" Background="Black"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
</Grid>
</c:BWindow>

76
BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs

@ -0,0 +1,76 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.FallWare;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Printing;
using System.Reflection;
using System.Text;
using System.Threading;
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.Shapes;
namespace BBWY.Client.Views.SealBox
{
/// <summary>
/// SealBoxPolicyDetailsWindow.xaml 的交互逻辑
/// </summary>
public partial class SealBoxPolicyDetailsWindow : BWindow
{
public SealBoxPolicyDetailsWindow(List<WareSealBoxSku> sealBoxSkus, string shopName, string wareName, long sealBoxId)
{
InitializeComponent();
this.DataContext = this;
SealBoxSkus = sealBoxSkus;
ShopName = shopName;
WareName = wareName;
SealBoxId = sealBoxId;
this.UpdateLayout();
}
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareSealBoxSku> SealBoxSkus { get; set; }
public string ShopName { get; set; }
public string WareName { get; set; }
public long SealBoxId { get; set; }
public void PrintBox(string printName)
{
var localPrintServer = new LocalPrintServer();
if (string.IsNullOrEmpty(printName))
{
return;
}
var printQueue = localPrintServer.GetPrintQueue(printName);
if (printQueue.IsInError)
{
System.Windows.MessageBox.Show("打印机处于错误状态");
return;
}
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Portrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Height = pageHeight;
this.Width = pageWidth;
// this.FontSize = 30;
this.print_sealbox.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
this.UpdateLayout();
printDialog.PrintVisual(this.print_sealbox, "打印任务");
this.Close();
}
}
}

70
BBWY.Client/Views/SealBox/SealBoxPrintDetailsWindow.xaml

@ -0,0 +1,70 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.SealBoxPrintDetailsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.SealBox"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="219" Width="378"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Window.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="打印明细" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1" Orientation="Vertical" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="62 0 0 10">
<TextBlock Margin="0 0 5 0" Style="{StaticResource middleTextBlock}" Text="份数:"/>
<c:BTextBox Text="{Binding PrintCount}" Height="30" Width="200" />
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="50 0 0 0">
<TextBlock Margin="0 0 5 0" Style="{StaticResource middleTextBlock}" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1" Height="30" >
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="25" Width="200" VerticalAlignment="Center" HorizontalAlignment="Left" ItemsSource="{Binding PrintList}" Text="{Binding PrintName}" />
</Border>
</StackPanel>
</StackPanel>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="打印" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

141
BBWY.Client/Views/SealBox/SealBoxPrintDetailsWindow.xaml.cs

@ -0,0 +1,141 @@
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.PackTask;
using BBWY.Controls;
using NPOI.Util;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing.Printing;
using System.IO;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
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.Shapes;
namespace BBWY.Client.Views.SealBox
{
/// <summary>
/// SealBoxPrintDetailsWindow.xaml 的交互逻辑
/// </summary>
public partial class SealBoxPrintDetailsWindow : BWindow
{
public SealBoxPrintDetailsWindow(SealBoxModel sealBox)
{
InitializeComponent();
InitPrintList();
SealBoxModel = sealBox.Copy();
this.DataContext = this;
}
/// <summary>
/// 打印机列表
/// </summary>
public ObservableCollection<string> PrintList { get; set; }
public void InitPrintList()
{
//TaskImage = MyPrintHelper.GetBarcodeImage(TaskId.ToString(), 300, 60);
//BarcodeImage = MyPrintHelper.GetBarcodeImage(SkuId, 300, 60);
PrintList = new ObservableCollection<string>();
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;
}
PrintList.Add(name);
}
try
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");
if (File.Exists(printNames))
{
PrintName = File.ReadAllText(printNames);
}
else
{
if (PrintList.Count > 0)
{
PrintName = PrintList[0].ToString();
}
}
}
catch (Exception)
{
}
}
public string PrintName { get; set; }
public int PrintCount { get; set; } = 1;
/// <summary>
/// 封箱sku列表
/// </summary>
public SealBoxModel SealBoxModel { get; set; }
public string ShopName { get; set; }
public string WareName { get; set; }
public long SealBoxId { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
int limitIndex = 15;//单页限制数量
Task.Factory.StartNew(() =>
{
for (int i = 0; i < PrintCount; i++)//打印份数
{
again:
if (SealBoxModel.SealBoxSkus.Count > limitIndex)
{
PrintBox(SealBoxModel.SealBoxSkus.GetRange(0, limitIndex));
SealBoxModel.SealBoxSkus.RemoveRange(0, limitIndex);
goto again;
}
else
{
PrintBox(SealBoxModel.SealBoxSkus);
}
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
this.Close();
}));
});
}
public void PrintBox(List<WareSealBoxSku> sealBoxSkus)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
SealBoxPolicyDetailsWindow policyDetailsWindow = new SealBoxPolicyDetailsWindow(sealBoxSkus, SealBoxModel.ShopName, SealBoxModel.WareName, SealBoxModel.SealBoxId);
policyDetailsWindow.PrintBox(PrintName);
}));
}
}
}

11
BBWY.Client/Views/SealBox/SetSealBoxWindow.xaml

@ -31,22 +31,17 @@
<TextBlock Text="封箱数量" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" Margin="0 41 0 0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" >
<TextBlock Text="封箱数:" Style="{StaticResource middleTextBlock}"/>
<TextBox x:Name="tbSealBoxCount" Width="200" VerticalContentAlignment="Center"
Height="25"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 5 0 0" Visibility="Collapsed">
<TextBlock Style="{StaticResource middleTextBlock}" Text="打印机:" />
<ComboBox x:Name="cbPrint" Width="200" Height="25" VerticalContentAlignment="Center"/>
</StackPanel >
</StackPanel>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="2" VerticalAlignment="Top"/>
<c:BButton Grid.Row="2" Content="确定" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
/>

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

@ -28,49 +28,11 @@ namespace BBWY.Client.Views.SealBox
/// </summary>
public partial class SetSealBoxWindow : BWindow
{
public SetSealBoxWindow(SealBoxModel sealBoxModel)
public SetSealBoxWindow()
{
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;
//}
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNamePath = $"{applicationPath}/printSealName.init";
if (File.Exists(printNamePath))
{
cbPrint.Text = File.ReadAllText(printNamePath);
}
InitializeComponent();
}
public Action<int> SendBoxCount { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
@ -84,103 +46,10 @@ namespace BBWY.Client.Views.SealBox
MessageBox.Show("请输入数字!");
return;
}
//string printName = cbPrint.Text;
//var localPrintServer = new LocalPrintServer();
//var printQueue = localPrintServer.GetPrintQueue(printName);
//if (printQueue.IsInError)
//{
// MessageBox.Show("打印机处于错误状态");
// return;
//}
////PrintSealboxModel(printName, boxCount);
//MyPrintHelper.PrintSealBoxData(SealBoxModel, printName, boxCount, 1);
////todo: 打印单子
if (SendBoxCount != null) SendBoxCount(boxCount);
this.Close();
}
private void PrintSealboxModel(string printName, int boxCount, int printCount = 1)
{
//
}
private void PrintSealboxModel1(string printName, int boxCount)
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNamePath = $"{applicationPath}/printSealName.init";
if (File.Exists(printNamePath))
{
File.Delete(printNamePath);
}
File.WriteAllText(printNamePath, printName);
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].WareHourseSkuCount;
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].WareHourseSkuCount}");
}
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();
//Workbook workbook = new Workbook();
//workbook.loa
//workbook.LoadFromFile(newExccel);
//var print = workbook.PrintDocument;
//print.PrinterSettings.PrinterName = printName;
//print.Print();
//
}
void SpirePrint()
{
}
}

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

@ -38,7 +38,7 @@
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
@ -92,14 +92,14 @@
<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"
<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}}}"
@ -110,7 +110,7 @@
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SealBoxId}"
Margin=" 5,0,7,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}}}"
@ -127,7 +127,7 @@
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
@ -214,9 +214,9 @@
</TextBlock>
</StackPanel>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
@ -240,7 +240,7 @@
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
@ -266,18 +266,39 @@
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding SealBoxRemainTime}"/>
<TextBlock Text="{Binding SealBoxRemainTime }"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
>
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding SealBoxRemainTime}"/>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding SealBoxRemainTime}"/>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding SealBoxPackOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SealBoxId"/>
<Binding Path="SealBoxPackOverTimeMarkMsg"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
@ -285,18 +306,20 @@
Content="{Binding SealBoxCount,Converter={StaticResource objConverter},ConverterParameter=#null:设置:修改}"
Command="{Binding DataContext.SetSealBoxCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
>
/>
</c:BButton>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content=" 打印明细" Margin="0 10 0 10"
Command="{Binding DataContext.PrintSealBoxDetailsCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="完成"
Command="{Binding DataContext.CompeteSealBoxCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
>
</c:BButton>
<!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待打包:Visible:Collapsed}" -->
/>
</StackPanel>
</Grid>

57
BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml

@ -0,0 +1,57 @@
<c:BWindow x:Class="BBWY.Client.Views.TaskOverTime.SubmitOverTimeMarkMsgWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.TaskOverTime"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="219" Width="378"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="提交超时原因" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<Grid Margin="20 10 0 10">
<TextBlock Width="60" HorizontalAlignment="Left" Height="60" VerticalAlignment="Top" Text="超时原因:"/>
<TextBox Text="{Binding MarkMsg}" AcceptsReturn="True" TextWrapping="Wrap" Margin="50 0 50 0" />
</Grid>
</Grid>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="提交" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

74
BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs

@ -0,0 +1,74 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Controls;
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.Interop;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using WebSocketSharp;
namespace BBWY.Client.Views.TaskOverTime
{
/// <summary>
/// SubmitOverTimeMarkMsgWindow.xaml 的交互逻辑
/// </summary>
public partial class SubmitOverTimeMarkMsgWindow : BWindow
{
public SubmitOverTimeMarkMsgWindow(OverTimeTaskType overTimeTaskType, long id, string msg, PackTaskService packTaskService, Action reflashWindow)
{
InitializeComponent();
this.OverTimeTaskType = overTimeTaskType;
this.Id = id;
MarkMsg = msg;
this.reflashWindow = reflashWindow;
this.packTaskService = packTaskService;
this.DataContext = this;
}
Action reflashWindow;
PackTaskService packTaskService { get; set; }
/// <summary>
/// 超时任务类型(待验收 = 2,待打包 = 3,待封箱 = 4, 待落仓 = 8,待转运 = 11,)
/// </summary>
public OverTimeTaskType OverTimeTaskType { get; set; }
/// <summary>
/// 任务id 或者 封箱id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMsg { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (MarkMsg.IsNullOrEmpty())
{
MessageBox.Show("请输入超时原因");
return;
}
var res = packTaskService.SubmitOverTimeMarkMsg(OverTimeTaskType, Id, MarkMsg);
if (res == null)
{
MessageBox.Show("网络异常");
return;
}
if (!res.Success)
{
MessageBox.Show(res.Msg);
return;
}
if (reflashWindow != null) reflashWindow();
this.Close();
}
}
}

25
BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml

@ -268,11 +268,28 @@
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding WaitTransportRemainTime}"/>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding TransportOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SealBoxId"/>
<Binding Path="TransportOverTimeMarkMsg"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</StackPanel>

Loading…
Cancel
Save