Browse Source

1

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
a8f144bd60
  1. 32
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  2. 5
      BBWY.Client/APIServices/QiKu/PackUserService.cs
  3. 53
      BBWY.Client/APIServices/QiKu/PackagingTaskService.cs
  4. 16
      BBWY.Client/APIServices/QiKu/QualityTaskService.cs
  5. 10
      BBWY.Client/APIServices/QiKu/SealBoxService.cs
  6. 5
      BBWY.Client/App.xaml.cs
  7. 5
      BBWY.Client/BBWY.Client.csproj
  8. 29
      BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs
  9. 4
      BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs
  10. 2
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  11. 1
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs
  12. 20
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs
  13. 227
      BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs
  14. 9
      BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs
  15. 10
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs
  16. 3
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs
  17. 1
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs
  18. 26
      BBWY.Client/Models/Enums.cs
  19. 45
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  20. 5
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  21. 6
      BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs
  22. 1
      BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs
  23. 2
      BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs
  24. 2
      BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs
  25. 2
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  26. 400
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  27. 503
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  28. 102
      BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs
  29. 65
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  30. 14
      BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs
  31. 4
      BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml
  32. 4
      BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml
  33. 8
      BBWY.Client/Views/FallWare/WaitFallWareControl.xaml
  34. 5
      BBWY.Client/Views/FallWare/WareFallWareListControl.xaml
  35. 4
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  36. 4
      BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml
  37. 5
      BBWY.Client/Views/PackTask/TaskList.xaml
  38. 4
      BBWY.Client/Views/PackTask/TaskListControl.xaml
  39. 13
      BBWY.Client/Views/PackTask/WaitPackageControl.xaml
  40. 3
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  41. 11
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml
  42. 228
      BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml
  43. 245
      BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml.cs
  44. 89
      BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml
  45. 26
      BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml.cs
  46. 502
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml
  47. 26
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml.cs
  48. 566
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml
  49. 26
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml.cs
  50. 4
      BBWY.Client/Views/PackerTask/PackerPackCompletedControl.xaml
  51. 4
      BBWY.Client/Views/PackerTask/PackerSalaryControl.xaml
  52. 2
      BBWY.Client/Views/PackerTask/PackerTaskList.xaml
  53. 14
      BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml
  54. 89
      BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml
  55. 26
      BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml.cs
  56. 8
      BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml
  57. 20
      BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml.cs
  58. 26
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml
  59. 50
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs
  60. 53
      BBWY.Client/Views/QualityTask/QualityControl.xaml
  61. 6
      BBWY.Client/Views/QualityTask/QualityControl.xaml.cs
  62. 5
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  63. 6
      BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml
  64. 85
      BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml
  65. 25
      BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml.cs
  66. 5
      BBWY.Client/Views/QualityTask/WaitQualityList.xaml
  67. 4
      BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml
  68. 8
      BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml
  69. 4
      BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml
  70. 8
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml
  71. 2
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml.cs
  72. 8
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml
  73. 92
      BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml
  74. 104
      BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml.cs
  75. 4
      BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml
  76. 8
      BBWY.Client/Views/WaitTransport/WareWaitTransportControl.xaml

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

@ -373,10 +373,11 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<object> StoreGetBySelfV2(long taskId, int storeGetCount, string PickerUserName)
public ApiResponse<object> StoreGetBySelfV3(long taskId, int storeGetCount, string PickerUserName)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV2", new {
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV3", new
{
taskId,
storeGetCount,
PickerUserName,
@ -393,8 +394,11 @@ namespace BBWY.Client.APIServices
OrderSn,
SpuId,
SkuId,
DepartmentName, ShopName,
ShopId , pageIndex, pageSize,
DepartmentName,
ShopName,
ShopId,
pageIndex,
pageSize,
}, null, HttpMethod.Post);
}
@ -438,6 +442,26 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<object> SplitPackTask(long nowTaskId, int ExceptionCount, TaskExceptionType TaskExceptionType, string RemarkMsg, TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SplitPackTask",
new
{
UserName = globalContext.User.Name,
nowTaskId,
ExceptionCount,
TaskExceptionType,
RemarkMsg,
AbortTaskState
}
, null, HttpMethod.Post);
}
}
public class CompeteSealBox

5
BBWY.Client/APIServices/QiKu/PackUserService.cs

@ -25,7 +25,9 @@ namespace BBWY.Client.APIServices.QiKu
int pageIndex = 1,
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null)
string SpuTitle = null,
PackagingTaskExceptionState? PackagingTaskExceptionState =null
)
{
return SendRequest<SearchPackerTaskResponse>(globalContext.QKApiHost, $"api/PackUser/SearchPackerTask",
new
@ -44,6 +46,7 @@ namespace BBWY.Client.APIServices.QiKu
SkuTitle,
SpuTitle,
UserId = globalContext.User.Id.ToString(),
PackagingTaskExceptionState
}
, null, HttpMethod.Post);
}

53
BBWY.Client/APIServices/QiKu/PackagingTaskService.cs

@ -0,0 +1,53 @@
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
namespace BBWY.Client.APIServices.QiKu
{
public class PackagingTaskService : BaseApiService,IDenpendency
{
public PackagingTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<SearchPackagingTaskListResponse> SearchPackagingTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
string spuId = null, string orderSn = null,
PackagingTaskExceptionState? PackagingTaskExceptionState = null,
string ShopName = null,
int pageIndex = 1,
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null,
string PackUserName = null,
string shopId =null
)
{
return SendRequest<SearchPackagingTaskListResponse>(globalContext.QKApiHost, "api/PackagingTask/SearchPackagingTaskList", new
{
SkuTitle,
SpuTitle,
DepartmentName = departmentName,
SkuId = skuId,
TaskId = taskId,
PackagingTaskExceptionState,
PageIndex = pageIndex,
PageSize = pageSize,
ShopName = ShopName,
WayBillNo = WayBillNo,
SourceExpressName = SourceExpressName,
spuId,
orderSn,
PackUserName,
shopId
}, null, HttpMethod.Post);
}
}
}

16
BBWY.Client/APIServices/QiKu/QualityTaskService.cs

@ -25,7 +25,8 @@ namespace BBWY.Client.APIServices.QiKu
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null,
string PackUserName = null
string PackUserName = null,
string shopId = null
)
{
@ -44,7 +45,8 @@ namespace BBWY.Client.APIServices.QiKu
SourceExpressName = SourceExpressName,
spuId,
orderSn,
PackUserName
PackUserName,
shopId
}, null, HttpMethod.Post);
}
@ -52,7 +54,7 @@ namespace BBWY.Client.APIServices.QiKu
public ApiResponse<object> QualityTaskException(long TaskId, TaskExceptionType TaskExceptionType, string RemarkMsg)
public ApiResponse<object> QualityTaskException(long TaskId, TaskExceptionType TaskExceptionType, string RemarkMsg, TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/QualityTask/QualityTaskException",
new
@ -60,7 +62,8 @@ namespace BBWY.Client.APIServices.QiKu
TaskId,
TaskExceptionType,
RemarkMsg,
UserName = globalContext.User.Name
UserName = globalContext.User.Name,
AbortTaskState
}
, null, HttpMethod.Post);
}
@ -82,14 +85,13 @@ namespace BBWY.Client.APIServices.QiKu
}
public ApiResponse<object> SendMsgToPurchaseDepartment(long TaskId, string ModelTitle, string TipMsg)
public ApiResponse<object> SendMsgToPurchaseDepartment(long TaskId, SendCer3CValidMsgModel SendCer3CValidMsgModel)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/QualityTask/SendMsgToPurchaseDepartment",
new
{
TaskId,
ModelTitle,
TipMsg,
SendCer3CValidMsgModel,
UserName = globalContext.User.Name
}
, null, HttpMethod.Post);

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

@ -91,7 +91,7 @@ namespace BBWY.Client.APIServices
, null, HttpMethod.Post);
}
public ApiResponse<GetWareSealBoxResponse> GetWareSealBoxList(string ShopName, long? TaskId, string SkuId,long? SealBoxId, int? PageIndex, int? PageSize)
public ApiResponse<GetWareSealBoxResponse> GetWareSealBoxList(string ShopName, string TaskId, string SkuId,long? SealBoxId, int? PageIndex, int? PageSize)
{
return SendRequest<GetWareSealBoxResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareSealBoxList",
new
@ -128,7 +128,7 @@ namespace BBWY.Client.APIServices
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public ApiResponse<SearchWaitFallWareResponse> SearchWareFallWareConfigureList(PositionState positionState, string ShopName = null, long? TaskId = null, string SkuId = null,long?sealBoxId=null, int PageIndex = 1
public ApiResponse<SearchWaitFallWareResponse> SearchWareFallWareConfigureList(PositionState positionState, string ShopName = null, string TaskId = null, string SkuId = null,long?sealBoxId=null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<SearchWaitFallWareResponse>(globalContext.QKApiHost, $"api/SealBox/SearchWareFallWareConfigureList",
@ -155,7 +155,7 @@ namespace BBWY.Client.APIServices
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public ApiResponse<SearchFallWareConfiguredResponse> SearchFallWareConfiguredList(PositionState positionState, long? TaskId = null, string SkuId = null, int PageIndex = 1
public ApiResponse<SearchFallWareConfiguredResponse> SearchFallWareConfiguredList(PositionState positionState, string TaskId = null, string SkuId = null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<SearchFallWareConfiguredResponse>(globalContext.QKApiHost, $"api/SealBox/SearchFallWareConfiguredList",
@ -222,7 +222,7 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<GetWareSealBoxWaitConfigureResponse> GetWareSealBoxWaitConfigureList(string ShopName, long? TaskId, string SkuId, int? PageIndex, int? PageSize)
public ApiResponse<GetWareSealBoxWaitConfigureResponse> GetWareSealBoxWaitConfigureList(string ShopName, string TaskId, string SkuId, int? PageIndex, int? PageSize)
{
return SendRequest<GetWareSealBoxWaitConfigureResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareSealBoxWaitConfigureList",
new
@ -273,7 +273,7 @@ namespace BBWY.Client.APIServices
null, null, HttpMethod.Post);
}
public ApiResponse<GetWareWaitCompletedResponse> GetWareWaitCompletedList(string shopId, string ShopName , long? TaskId , string SkuId , long? sealBoxId , int? PageIndex, int? PageSize)
public ApiResponse<GetWareWaitCompletedResponse> GetWareWaitCompletedList(string shopId, string ShopName , string TaskId , string SkuId , long? sealBoxId , int? PageIndex, int? PageSize)
{
return SendRequest<GetWareWaitCompletedResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareWaitCompletedList",
new {

5
BBWY.Client/App.xaml.cs

@ -56,7 +56,7 @@ namespace BBWY.Client
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY1ODk1OTgzMzc4MDc1NjQ4IiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MjQyOTE2MDZ9.NG6wDqHJ5ozmEDcAt2duJ50IcGarygrQ2bmiP4TGNRE";
//齐越山鸡
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNzI2MzAwNjY0fQ.hPSbgJEuTt0MLy_7YkSJX4rRG3drJAfso-5IS8ZlOkY";
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNzI2MzAwNjY0fQ.hPSbgJEuTt0MLy_7YkSJX4rRG3drJAfso-5IS8ZlOkY";
//飞鱼
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI3NDg2MDI0Mjk0NzMxNzc2IiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNTE2OTc0MjUwNTQyNTAxODg4IiwiZXhwIjoxNzI0NTY1ODU5fQ._ezJmsvaStab8nDPB7qeoc2aakWfhHbeqq_X_RQsc4s";
@ -76,6 +76,9 @@ namespace BBWY.Client
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//齐越季夏
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY";
//店铺自打包
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNzE5Nzc5OTU4MTYwNjI1NjY0IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4IiwiZXhwIjoxNzMxNzI1NDA2fQ.VV6k8nDqTtQOY6_ma6QcX6geMU_kaswl16BGXF89so8";
#else
//var uid = e.Args.Count() > 0 ? e.Args.LastOrDefault(args => args.StartsWith("uid:")) : string.Empty;
//if (string.IsNullOrEmpty(uid))

5
BBWY.Client/BBWY.Client.csproj

@ -95,6 +95,11 @@
<ItemGroup>
<Folder Include="Resources\LabelNames\" />
<Folder Include="Views\QiKu\PackagingPort\" />
<Folder Include="Views\QiKu\PublishPort\QualityTask\" />
<Folder Include="Views\QiKu\PublishPort\PackagingTask\" />
<Folder Include="Views\QiKu\PublishPort\SealBox\" />
<Folder Include="Views\QiKu\WareHoursePort\" />
</ItemGroup>
</Project>

29
BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs

@ -63,21 +63,6 @@ namespace BBWY.Client.Models.APIModel.Request
/// 显示的条码Id
/// </summary>
public long? BarcodeId { get; set; }
//public BarCodeDTO BarCodeDTO { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedCer { get; set; }
///// <summary>
///// 配件列表
///// </summary>
//public PurchaseSku[] PurchaseSkus { get; set; }
/// <summary>
/// 到货数量
/// </summary>
@ -88,15 +73,9 @@ namespace BBWY.Client.Models.APIModel.Request
/// </summary>
public int GoodProductQuantity { get; set; }
///// <summary>
///// 预计完成时间
///// </summary>
//public DateTime? PreCompeteTime { get; set; }
///// <summary>
///// 地拖摆放编号
///// </summary>
//public int? FloorDragNumber { get; set; }
/// <summary>
/// 品牌标签类型
/// </summary>
public BrandMarkType? BrandMarkType { get; set; }
}
}

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

@ -22,6 +22,10 @@ namespace BBWY.Client.Models.APIModel
public class PackTaskData
{
/// <summary>
/// 任务备注(原任务:10000 子任务:10000-1)
/// </summary>
public string TaskIdRemark { get; set; }
/// <summary>
/// 图片链接
/// </summary>

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

@ -82,6 +82,8 @@ namespace BBWY.Client.Models.APIModel
public class WaitFallWareModel:NotifyObject
{
private bool isHideSkuList = true;//默认隐藏
public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } }
/// <summary>
/// 仓库类型
/// </summary>

1
BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs

@ -81,6 +81,7 @@ namespace BBWY.Client.Models.APIModel
public class PackerTaskSalary
{
public string TaskIdRemark { get; set; }
/// <summary>
/// 任务收益
/// </summary>

20
BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs

@ -8,6 +8,14 @@ namespace BBWY.Client.Models.APIModel
{
public class SearchPackerTaskResponse
{
/// <summary>
/// 待包装异常总数
/// </summary>
public string PackagingTaskExceptionCount { get; set; }
/// <summary>
/// 待包装数
/// </summary>
public string PackagingTaskCount { get; set; }
/// <summary>
/// 任务总量
/// </summary>
@ -25,7 +33,7 @@ namespace BBWY.Client.Models.APIModel
public class PackerTaskData : NotifyObject
{
public string TaskIdRemark { get; set; }
/// <summary>
/// 图片链接
@ -161,6 +169,16 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public bool? IsOverTimeTomorrow { get; set; }
/// <summary>
/// 任务挂起时间
/// </summary>
public DateTime? TaskAbortTime { get; set; }
/// <summary>
/// 包装任务状态
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; }
}
public class MarkMessageModel

227
BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs

@ -0,0 +1,227 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchPackagingTaskListResponse
{
/// <summary>
/// 待包装异常总数
/// </summary>
public int PackagingTaskExceptionCount { get; set; }
/// <summary>
/// 待包装数
/// </summary>
public int PackagingTaskCount { get; set; }
/// <summary>
/// 查询总数据(判断总页数)
/// </summary>
public int TotalCount { get; set; }
/// <summary>
/// 页面返回的数据
/// </summary>
public List<PackagingTaskData> Items { get; set; }
}
/// <summary>
/// 包装任务数据
/// </summary>
public class PackagingTaskData
{
/// <summary>
/// 任务备注(原任务:10000 子任务:10000-1)
/// </summary>
public string TaskIdRemark { get; set; }
/// <summary>
/// 图片链接
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 需求方创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 任务状态
/// </summary>
public TaskState TaskState { get; set; }
/// <summary>
/// 需求方团队
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 需求方店铺
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 货号品名
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 对接人
/// </summary>
public string UserName { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// SKU标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// sku数量
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public int PackType { get; set; }
/// <summary>
/// 落仓(本地仓=0,齐越仓=1,京东仓=2,聚水潭=3)
/// </summary>
public string PositionType { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public int BasicPack { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public int? CertificatePosition { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// 条形码数据
/// </summary>
public BarCodeModel BarCodeDTO { get; set; }
/// <summary>
/// 合格证数据
/// </summary>
public CertificateModel[] Cers { get; set; }
/// <summary>
/// 品牌
/// </summary>
public string Brand { get; set; }
/// <summary>
/// 打包超时时间
/// </summary>
public DateTime? PackCompletionOverTime { get; set; }
/// <summary>
/// 打包完成时间
/// </summary>
public DateTime? PackCompeteTime { get; set; }
/// <summary>
/// 设置打包时间
/// </summary>
public DateTime? SetPackUserTaskTime { get; set; }
/// <summary>
/// 打包超时备注信息
/// </summary>
public string PackOverTimeMarkMsg { get; set; }
/// <summary>
/// 消息列表
/// </summary>
public List<MarkMessageModel> MarkMessageModelList { get; set; }
/// <summary>
/// 采购方案
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 店铺id(采购店铺)
/// </summary>
public string ShopId { get; set; }
/// <summary>
/// 设置sku配置时间(信息不全,待移除)
/// </summary>
public DateTime? SendToSetSkuConfigureTime { get; set; }
/// <summary>
/// 任务挂起时间
/// </summary>
public DateTime? TaskAbortTime { get; set; }
/// <summary>
/// 包装任务状态
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; }
/// <summary>
/// 包装人收益(默认0.85折)
/// </summary>
public decimal PackagerFees { get; set; }
/// <summary>
/// 包装费用(包装原价)
/// </summary>
public decimal PackageFees { get; set; }
/// <summary>
/// 耗材费用
/// </summary>
public decimal ConsumableFees { get; set; }
/// <summary>
/// 总计
/// </summary>
public decimal PackTotalFees { get; set; }
/// <summary>
/// 包装人
/// </summary>
public string[] PackUserName { get; set; }
}
}

9
BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs

@ -11,6 +11,11 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public int QualityExceptionCount { get; set; }
/// <summary>
/// 待验收数量
/// </summary>
public int QualityTaskCount { get; set; }
/// <summary>
/// 查询总数据(判断总页数)
/// </summary>
@ -27,6 +32,10 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public class QualityPackTaskData : NotifyObject
{
/// <summary>
/// 任务备注(原任务:10000 子任务:10000-1)
/// </summary>
public string TaskIdRemark { get; set; }
/// <summary>
/// 图片链接
/// </summary>

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

@ -1,4 +1,5 @@
using System;
using BBWY.Client.Models.PackTask;
using System;
using System.Collections.Generic;
using System.Text;
@ -14,7 +15,7 @@ namespace BBWY.Client.Models.APIModel
/// <summary>
/// 分箱列表
/// </summary>
public List<WareSealBoxData> WaitSealBoxModels { get; set; }
public List<SealBoxModel> WaitSealBoxModels { get; set; }
}
public class WareSealBoxData
@ -70,6 +71,11 @@ namespace BBWY.Client.Models.APIModel
public DateTime? CreateTime { get; set; }
public TaskState TaskState { get; set; }
/// <summary>
/// 新任务Id
/// </summary>
public string TaskIdRemark { get; set; }
/// <summary>
/// 任务Id
/// </summary>

3
BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs

@ -52,6 +52,9 @@ namespace BBWY.Client.Models.APIModel
public class WareNoSealBoxSku
{
public string TaskIdRemark { get; set; }
public DateTime? CreateTime { get; set; }
/// <summary>

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

@ -75,6 +75,7 @@ namespace BBWY.Client.Models.APIModel
}
public class WaitTransportSku
{
public string TaskIdRemark { get; set; }
public DateTime? CreateTime { get; set; }
/// <summary>
/// 任务状态

26
BBWY.Client/Models/Enums.cs

@ -236,6 +236,7 @@
=11,
=12,
=13,
=14
}
@ -576,7 +577,7 @@
public enum TaskExceptionType
{
= 0,
= 0,=1
}
/// <summary>
@ -588,9 +589,30 @@
}
/// <summary>
/// 品牌标签类型(无需遮盖 = 1, 需遮盖 = 2, 无需贴商标=3)
/// </summary>
public enum BrandMarkType
{
= 1, = 2, =3
}
/// <summary>
/// 推送合格证验证(3C验证) 消息模板(任务未配置合格证=1, 包装无合格证=2, 验证3C有效性=3, 配置的合格证不是3c=4)
/// </summary>
public enum SendCer3CValidMsgModel
{
= 1, = 2, 3C有效性 = 3, 3c = 4
}
/// <summary>
/// 待包装任务状态( 待包装 = 0, 挂起任务 = 1,)
/// </summary>
public enum PackagingTaskExceptionState
{
= 0, = 1,
}
}

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

@ -26,6 +26,17 @@ namespace BBWY.Client.Models
/// </summary>
public class PackTaskModel : BaseVM
{
private string taskIdRemark;
/// <summary>
///任务备注(原任务:10000 子任务:10000-1)
/// </summary>
public string TaskIdRemark { get => taskIdRemark; set { Set(ref taskIdRemark, value); } }
private bool showSendMsg = false;
/// <summary>
/// 展示留言信息
@ -382,6 +393,40 @@ namespace BBWY.Client.Models
public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } }
/// <summary>
/// 包装任务状态
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; }
/// <summary>
/// 包装人收益(默认0.85折)
/// </summary>
public decimal PackagerFees { get; set; }
/// <summary>
/// 包装费用(包装原价)
/// </summary>
public decimal PackageFees { get; set; }
/// <summary>
/// 耗材费用
/// </summary>
public decimal ConsumableFees { get; set; }
/// <summary>
/// 总计
/// </summary>
public decimal PackTotalFees { get; set; }
public IList<SkuMessage> ItemList { get; set; }
public string OrderId { get; set; }

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

@ -6,7 +6,10 @@ using System.Text;
namespace BBWY.Client.Models.PackTask
{
public class SealBoxModel : NotifyObject
{ /// <summary>
{
private bool isHideSkuList = true;//默认隐藏
public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } }
/// <summary>
/// 过期时间
/// </summary>
public DateTime? SealBoxPackOverTime { get; set; }

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

@ -12,6 +12,11 @@ namespace BBWY.Client.Models.SealBox
/// </summary>
public class SealBoxConfigureModel : NotifyObject
{
/// <summary>
/// 任务id
/// </summary>
public string TaskIdRemark { get; set; }
/// <summary>
/// skuid
/// </summary>
@ -84,6 +89,7 @@ namespace BBWY.Client.Models.SealBox
/// </summary>
public class SealBoxConfigureWareHourseModel : NotifyObject
{
public string TaskIdRemark { get; set; }
public long TaskId { get; set; }
public Action<int, long> TotalWareCount { get; set; }

1
BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs

@ -51,6 +51,7 @@ namespace BBWY.Client.Models.SealBox
}
public class SealBoxConfigureTask:NotifyObject
{
public string TaskIdRemark { get; set; }
/// <summary>
/// skuid
/// </summary>

2
BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs

@ -6,6 +6,8 @@ namespace BBWY.Client.Models
{
public class SealBoxWaitConfigureModel : NotifyObject
{
public string TaskIdRemark { get; set; }
/// <summary>
/// skuid
/// </summary>

2
BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs

@ -7,6 +7,8 @@ namespace BBWY.Client.Models
{
public class WareNoSealBoxModel:NotifyObject
{
private bool isHideSkuList = true;//默认隐藏
public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } }
/// <summary>
/// 店铺Id
/// </summary>

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

@ -929,7 +929,7 @@ namespace BBWY.Client.ViewModels.PackTask
var updateTaskModel = JsonConvert.DeserializeObject<UpdatePackTaskV2Request>(JsonConvert.SerializeObject(createTaskModel));
updateTaskModel.TaskId = TaskId;
updateTaskModel.SaveType = SaveType;
updateTaskModel.SaveType = SaveType;//任务类型 修改操作
res = packTaskService.UpdatePackTaskV2(updateTaskModel);
}
else

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

@ -40,7 +40,7 @@ namespace BBWY.Client.ViewModels.PackTask
public partial class TaskListViewModel : BaseVM, IDenpendency//注入服务
{
private QualityTaskExceptionState? qualityTaskExceptionState;
private QualityTaskExceptionState? qualityTaskExceptionState= Models.QualityTaskExceptionState.;
/// <summary>
/// 任务状态
/// </summary>
@ -282,6 +282,48 @@ namespace BBWY.Client.ViewModels.PackTask
public ObservableCollection<StoreGetSelfData> StoreGetSelfDataList { get => storeGetSelfDataList; set { Set(ref storeGetSelfDataList, value); } }
QualityTaskService qualityTaskService;
private string packagingTaskExceptionCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } }
private string packagingTaskCount;
/// <summary>
/// 待包装总数
/// </summary>
public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } }
private string qualityExceptionCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string QualityExceptionCount { get => qualityExceptionCount; set { Set(ref qualityExceptionCount, value); } }
private string qualityTaskCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } }
private PackagingTaskExceptionState? packagingTaskExceptionState;
/// <summary>
/// 任务状态
/// </summary>
public PackagingTaskExceptionState? PackagingTaskExceptionState
{
get => packagingTaskExceptionState; set
{
Set(ref packagingTaskExceptionState, value);
}
}
/// <summary>
@ -360,7 +402,11 @@ namespace BBWY.Client.ViewModels.PackTask
public ICommand SetQualityTaskExceptionStateCommand { get; set; }
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService)
public ICommand SetPackagingTaskExceptionStateCommand { get; set; }
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService, PackagingTaskService packagingTaskService, QualityTaskService qualityTaskService)
{
this.globalContext = globalContext;
this.markMessageService = markMessageService;
@ -419,7 +465,10 @@ namespace BBWY.Client.ViewModels.PackTask
{
SelectWareType = s;
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
ShowMoreMessageCommand = new RelayCommand<long>(ShowMoreMessage);
@ -428,10 +477,23 @@ namespace BBWY.Client.ViewModels.PackTask
AppendMarkMessageCommand = new RelayCommand<long>(AppendMarkMessage);
SetQualityTaskExceptionStateCommand = new RelayCommand(() => {
SetQualityTaskExceptionStateCommand = new RelayCommand(() =>
{
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
this.packagingTaskService = packagingTaskService;
this.qualityTaskService = qualityTaskService;
SetPackagingTaskExceptionStateCommand = new RelayCommand(() =>
{
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
}
MarkMessageService markMessageService;
@ -722,6 +784,8 @@ namespace BBWY.Client.ViewModels.PackTask
TaskId = x.TaskId,
TaskState = x.TaskState,
WaitConfigureCount = x.SkuCount,
TaskIdRemark = x.TaskIdRemark
}).ToList();
SetSealBoxPolicyWindow setSealBoxPolicyWindow = new SetSealBoxPolicyWindow(data, ReflashTask, 0);
@ -800,7 +864,7 @@ namespace BBWY.Client.ViewModels.PackTask
PackagingTaskService packagingTaskService;
@ -817,26 +881,329 @@ namespace BBWY.Client.ViewModels.PackTask
public void SearchTaskList()
{
IsStartThread = false;
long? taskId = null;
IsLoading = true;
if (TaskState == null || !waitSealBoxTaskStates.Contains(TaskState.Value))
Task.Factory.StartNew(() =>
{
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
taskId = Convert.ToInt64(SearchTaskId);
if (TaskState == Models.TaskState.)
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = qualityTaskService.SearchQualityTaskList( skuId:SearchSkuId,taskId: SearchTaskId,spuId: SearchSpuId, orderSn: SearchOrderSn, QualityTaskExceptionState: this.QualityTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(),
pageIndex: PageIndex,pageSize: PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
QualityExceptionCount = dataModel.QualityExceptionCount.ToString();
QualityTaskCount = dataModel.QualityTaskCount.ToString();
foreach (var item in dataModel.Items)
{
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item));
data.ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
Logo= item.Logo,
SkuName = item.SkuName,
SkuId = item.SkuId
} };
data.ExpressOrderList = item.ExpressOrderResponses;
data.EndTime = item.CreateTime;
data.SkuTitle = item.SkuGoodsTitle;
data.AcceptName = item.UserName;
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
data.BarCodeModel = item.BarCodeDTO;
if (data.BarCodeModel.LabelModel == BarcodeLabelModel.)
data.BarCodeModel.LabelModel = BarcodeLabelModel.;
}
catch
if (item.Cers != null)
{
System.Windows.MessageBox.Show("任务id必须为数字");
return;
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
if (TaskState == Models.TaskState.)
{
if (QualityTaskExceptionState == Models.QualityTaskExceptionState.)
{
qualityOverTimeThread = new Thread(() =>
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
if (packtasks.Count() > 0)
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packtasks)
{
TimeSpan datetime;
if (item.SendToSetSkuConfigureTime != null)
datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value);
else
datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
item.IsQualityOverTime = false;
}
else
{
item.IsQualityOverTime = true;
}
}
}));
Thread.Sleep(1000);
}
}
});
//任务倒计时数据
qualityOverTimeThread.IsBackground = true;
qualityOverTimeThread.Start();
//任务状态为待验收
}
if (QualityTaskExceptionState == Models.QualityTaskExceptionState.)
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.TaskAbortTime != null).ToList();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packtasks)
{
TimeSpan datetime;
datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
item.IsQualityOverTime = false;
}
else
{
item.IsQualityOverTime = true;
}
}
}));
}
}
//任务状态为待打包
IsLoading = true;
if (TaskState == null || !waitSealBoxTaskStates.Contains(TaskState.Value))
Task.Factory.StartNew(() =>
{
foreach (var item in PackTaskList)
{
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
try
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
});
}
else
{
}
}
else if (TaskState == Models.TaskState.) {
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packagingTaskService.SearchPackagingTaskList(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(),
pageIndex: PageIndex, pageSize: PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
PackagingTaskCount = dataModel.PackagingTaskCount.ToString();
PackagingTaskExceptionCount = dataModel.PackagingTaskExceptionCount.ToString();
foreach (var item in dataModel.Items)
{
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item));
data.ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
Logo= item.Logo,
SkuName = item.SkuName,
SkuId = item.SkuId
} };
data.EndTime = item.CreateTime;
data.SkuTitle = item.SkuGoodsTitle;
data.AcceptName = item.UserName;
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
data.BarCodeModel = item.BarCodeDTO;
if (data.BarCodeModel.LabelModel == BarcodeLabelModel.)
data.BarCodeModel.LabelModel = BarcodeLabelModel.;
}
if (item.Cers != null)
{
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
if (item.PackUserName != null)
data.PackUser = string.Join("\r\n", item.PackUserName);
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
if (TaskState == Models.TaskState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
{
packOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packCompletedTasks)
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}
//任务状态为待打包
Task.Factory.StartNew(() =>
{
foreach (var item in PackTaskList)
{
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
});
}
else
{
}
}
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState,
@ -1053,6 +1420,7 @@ namespace BBWY.Client.ViewModels.PackTask
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
}
}
catch (Exception ex)
@ -1185,7 +1553,7 @@ namespace BBWY.Client.ViewModels.PackTask
if (SealBoxConfigureType == SealBoxConfigureType.)
{
FallWareWaitConfigureList = new ObservableCollection<FallWareConfiguredModel>();
var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState., taskId, SearchSkuId, PageIndex, PageSize);
var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState., SearchTaskId, SearchSkuId, PageIndex, PageSize);
if (fallWareRes == null)
{
@ -1256,7 +1624,7 @@ namespace BBWY.Client.ViewModels.PackTask
if (SealBoxConfigureType == SealBoxConfigureType.)
{
FallWareConfiguredList = new ObservableCollection<FallWareConfiguredModel>();
var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState., taskId, SearchSkuId, PageIndex, PageSize);
var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState., SearchTaskId, SearchSkuId, PageIndex, PageSize);
if (fallWareRes == null)
{
@ -1299,7 +1667,7 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
WaitCompletedList = new ObservableCollection<WareWaitCompleted>();
var datas = sealBoxService.GetWareWaitCompletedList(globalContext.User.Shop.ShopId.ToString(), null, taskId, SearchSkuId, null, PageIndex, PageSize);
var datas = sealBoxService.GetWareWaitCompletedList(globalContext.User.Shop.ShopId.ToString(), null, SearchTaskId, SearchSkuId, null, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;

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

@ -25,7 +25,6 @@ using System.Diagnostics.Eventing.Reader;
using BBWY.Client.Models.SealBox;
using Newtonsoft.Json;
using System.Diagnostics;
using BBWY.Client.Extensions;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Views.PackerTask;
using BBWY.Client.Models.QualityTask;
@ -35,6 +34,8 @@ using System.Windows.Interop;
using NPOI.SS.Formula.Functions;
using NPOI.SS.Util;
using System.Text;
using BBWY.Client.Views.SplitTask;
using BBWY.Client.Extensions;
namespace BBWY.Client.ViewModels.PackTask
{
@ -380,7 +381,7 @@ namespace BBWY.Client.ViewModels.PackTask
/// <summary>
/// 分箱列表(已配置)
/// </summary>
public List<WareSealBoxData> SealBoxModelList { get; set; }
public List<SealBoxModel> SealBoxModelList { get; set; }
@ -609,12 +610,26 @@ namespace BBWY.Client.ViewModels.PackTask
Set(ref qualityTaskExceptionState, value);
}
}
private PackagingTaskExceptionState? packagingTaskExceptionState;
/// <summary>
/// 任务状态
/// </summary>
public PackagingTaskExceptionState? PackagingTaskExceptionState
{
get => packagingTaskExceptionState; set
{
Set(ref packagingTaskExceptionState, value);
}
}
#endregion
private readonly PackTaskService packTaskService;
private readonly SealBoxService sealBoxService;
public GlobalContext globalContext;
private readonly PackagingTaskService packagingTaskService;
/// <summary>
/// 推送sku配置状态
@ -756,13 +771,19 @@ namespace BBWY.Client.ViewModels.PackTask
public ICommand SetQualityTaskExceptionStateCommand { get; set; }
public ICommand SetPackagingTaskExceptionStateCommand { get; set; }
public ICommand QualityTaskExceptionCommand { get; set; }
/// <summary>
/// 验收任务
/// </summary>
public ICommand QualityTaskCommand { get; set; }
public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService)
public ICommand TaskSplitCommand { get; set; }
public ICommand PackagingTaskExceptionCommand { get; set; }
public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService)
{
@ -772,6 +793,8 @@ namespace BBWY.Client.ViewModels.PackTask
this.packTaskService = packTaskService;
this.packUserService = packUserService;
this.markMessageService = markMessageService;
this.packagingTaskService = packagingTaskService;
this.qualityTaskService = qualityTaskService;
//Messenger.Default.Send(globalContext, "AcceptGlobalContext");
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
@ -829,9 +852,13 @@ namespace BBWY.Client.ViewModels.PackTask
SetWareTypeCommand = new RelayCommand<WareType>(s =>
{
SelectWareType = s;
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
CompeteWaitTransportCommand = new RelayCommand<object>(CompeteWaitTransport);
@ -863,13 +890,45 @@ namespace BBWY.Client.ViewModels.PackTask
AppendMarkMessageCommand = new RelayCommand<long>(AppendMarkMessage);
SetQualityTaskExceptionStateCommand = new RelayCommand(() =>
{
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
this.qualityTaskService = qualityTaskService;
SetPackagingTaskExceptionStateCommand = new RelayCommand(() =>
{
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
QualityTaskExceptionCommand = new RelayCommand<long>(QualityTaskException);
QualityTaskCommand = new RelayCommand<long>(QualityTask);
TaskSplitCommand = new RelayCommand<PackTaskModel>(TaskSplit);
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
}
private void PackagingTaskException(long taskId)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
}
private void TaskSplit(PackTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask);
addExceptionWindow.ShowDialog();
}
private void QualityTask(long taskId)
@ -921,6 +980,9 @@ namespace BBWY.Client.ViewModels.PackTask
StringBuilder sb = null;
Need IsNeedCer = Need.;
BrandMarkType markType = BrandMarkType.;
SendCer3CValidMsgModel? sendCer3CValidMsgModel = null;
bool? isCer3CValid = null;
new QualityProductWindow("商品合格证情况", "商品包装有合格证信息", "商品包装无合格证信息", (ishaveCer) =>
@ -942,22 +1004,12 @@ namespace BBWY.Client.ViewModels.PackTask
//需要合格证
if (model.CertificateModel == null || !model.CertificateModel.Any())//未配置
{
sb = new StringBuilder();
sb.AppendLine("该任务未配置合格证,商品包装合格证上的品牌与详情页的品牌不符");
if (skuAttsDetail.ApplyAge.IsNullOrEmpty())
sb.Append("详情页未展示适用年龄");
else
sb.Append("详情页展示适用年龄为14岁以上");
sb.Append("请立即配置合格证信息,包装任务已被挂起.");
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, "任务未配置合格证", sb.ToString());
if (res.Success)
{
ReflashTask();//刷新任务
}
sendCer3CValidMsgModel = SendCer3CValidMsgModel.;
return;
}
//打印合格证 完全遮盖包装合格证信息
//todo:打印合格证 完全遮盖包装合格证信息
}
isqualityCer = true;//验收合格证完毕
}).ShowDialog();
@ -983,29 +1035,19 @@ namespace BBWY.Client.ViewModels.PackTask
{
if (ishave3c)
{
sb = new StringBuilder();
sb.Append("该任务商品适用年龄为14岁以下,请验证合格证上的3C信息是否有效,包装任务已被挂起.");
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, "包装合格证有3C信息且详情页适用年龄小于14岁", sb.ToString());
if (res.Success)
{
ReflashTask();//刷新任务
}
sendCer3CValidMsgModel = SendCer3CValidMsgModel.3C有效性;
return;
}
else
{
//todo:
// 通知采购方问题 咨询是否可替款
// MessageBox.Show("提示采购部门,当前任务详情页展示适用年龄为14岁以下, 实物商品配置的合格证没有3C,咨询是否可替款,任务已挂起");
sb = new StringBuilder();
sb.AppendLine("该任务商品包装有合格证信息");
sb.Append("详情页展示适用年龄为14岁以下,但是商品包装合格证无3C标");
sb.Append("请立即配置3C类型的合格证信息");
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, "包装有合格证信息且详情页适用年龄小于14岁", sb.ToString());
if (res.Success)
if (!model.CertificateModel.Any(c => c.LabelModel != CertificateLabelModel.3c))//所有有配置的合格证都是标准3c
{
ReflashTask();//刷新任务
isqualityCer = true;//验收正常
return;
}
sendCer3CValidMsgModel = SendCer3CValidMsgModel.3c;
//todo:需遮盖 原合格证
}
@ -1023,13 +1065,7 @@ namespace BBWY.Client.ViewModels.PackTask
//需要合格证
if (model.CertificateModel == null || !model.CertificateModel.Any())//未配置
{
sb = new StringBuilder();
sb.AppendLine("该任务未配置合格证,请立即配置合格证信息");
var res1 = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, "任务未配置合格证", sb.ToString());
if (res1.Success)
{
ReflashTask();//刷新任务
}
sendCer3CValidMsgModel = SendCer3CValidMsgModel.;
return;
}
@ -1048,22 +1084,32 @@ namespace BBWY.Client.ViewModels.PackTask
//不存在 3c 通知采购方问题
// MessageBox.Show("提示采购部门,当前任务配置的合格证没有3C,赶紧配置,任务已挂起");
sb = new StringBuilder();
sb.AppendLine("该任务商品包装无合格证信息");
//todo:无需遮盖
sendCer3CValidMsgModel = SendCer3CValidMsgModel.3c;
return;
}
}).ShowDialog();
if (sendCer3CValidMsgModel != null)
{
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, sendCer3CValidMsgModel.Value);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
sb.Append("详情页展示适用年龄为14岁以下,");
sb.Append("请立即配置3C类型的合格证信息");
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, "包装无合格证信息且详情页适用年龄小于14岁", sb.ToString());
if (res.Success)
{
if (!res.Msg.IsNullOrEmpty())
MessageBox.Show(res.Msg);
ReflashTask();//刷新任务
}
return;
}
}).ShowDialog();
if (isqualityCer)//合格证验收完毕
{
@ -1071,7 +1117,9 @@ namespace BBWY.Client.ViewModels.PackTask
new QualityProductWindow("商品品牌情况", "商品包装有品牌信息", "商品包装无品牌信息", (ishavebrand) =>
{
if (ishavebrand && !skuAttsDetail.IsTeamBrand)//有品牌且品牌不是集团的
if (ishavebrand)//有品牌且品牌不是集团的
{
if (!skuAttsDetail.IsTeamBrand)
{
new QualityProductWindow($"商品品牌情况", $"商品包装品牌是{skuAttsDetail.Brand}", $"商品包装品牌不是{skuAttsDetail.Brand}", (istruebrand) =>
{
@ -1085,12 +1133,19 @@ namespace BBWY.Client.ViewModels.PackTask
}
else
{
markType = BrandMarkType.;
markType = BrandMarkType.;
//需覆盖商标
}
isqualityBrand = true;
}).ShowDialog();
}
else
{
markType = BrandMarkType.;//有品牌 但任务sku所属的品牌是集团品牌
isqualityBrand = true;
}
}
@ -1106,7 +1161,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
QualityWindow service = new QualityWindow(model, ReflashTask, IsNeedCer, markType, packTaskRes.Data);
service.Show();
service.ShowDialog();
}
@ -1120,7 +1175,7 @@ namespace BBWY.Client.ViewModels.PackTask
private void QualityTaskException(long taskId)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId);
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
}
@ -1181,70 +1236,36 @@ namespace BBWY.Client.ViewModels.PackTask
private void LoadCompletedSkuData(WareWaitCompleted model)
{
if (model.WaitTransportSkus == null || model.WaitTransportSkus.Count <= 0)
{
var skuDatas = WaitCompleteds.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitCompletedList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = skuDatas.WaitTransportSkus;
}
else
{
WaitCompletedList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = null;
}
model.IsHideSkuList = !model.IsHideSkuList;
}
private void LoadTransportSkuData(WareWaitTransport model)
{
if (model.WaitTransportSkus == null || model.WaitTransportSkus.Count <= 0)
{
var skuDatas = WareWaitTransports.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = skuDatas.WaitTransportSkus;
}
else
{
WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = null;
}
model.IsHideSkuList = !model.IsHideSkuList;
}
private void LoadFallWareSkuData(WaitFallWareModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = WaitFallWareLists.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
model.IsHideSkuList = !model.IsHideSkuList;
}
private void LoadSealBoxSkuData(SealBoxModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = SealBoxModelList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
model.IsHideSkuList = !model.IsHideSkuList;
}
private void LoadSkuData(WareNoSealBoxModel model)
{
model.IsHideSkuList = !model.IsHideSkuList;
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = WaitSealBoxModelList.SingleOrDefault(w => w.ShopId == model.ShopId);
WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = new List<WareNoSealBoxSku>();
}
@ -1476,7 +1497,7 @@ namespace BBWY.Client.ViewModels.PackTask
StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) =>
{
var res = packTaskService.StoreGetBySelfV2(taskId, count, UserName);
var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName);
if (res == null)
{
return false;
@ -1509,7 +1530,7 @@ namespace BBWY.Client.ViewModels.PackTask
StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) =>
{
var res = packTaskService.StoreGetBySelfV2(taskId, count, UserName);
var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName);
if (res == null)
{
return false;
@ -1779,16 +1800,6 @@ namespace BBWY.Client.ViewModels.PackTask
public void SetTaskState(TaskState? taskState)
{
if (!(TaskState == Models.TaskState. && TaskState == Models.TaskState.))
{
SearchSkuTitle = "";
SearchSpuTitle = "";
}
TaskState = taskState;
if (PageIndex == 1)
SearchTaskList();
@ -1805,11 +1816,32 @@ namespace BBWY.Client.ViewModels.PackTask
QualityTaskService qualityTaskService;
private string packagingTaskExceptionCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } }
private string packagingTaskCount;
/// <summary>
/// 待包装总数
/// </summary>
public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } }
private string qualityExceptionCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string QualityExceptionCount { get => qualityExceptionCount; set { Set(ref qualityExceptionCount, value); } }
private string qualityTaskCount;
/// <summary>
/// 验收异常总数
/// </summary>
public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } }
/// <summary>
/// 搜索任务列表
/// </summary>
@ -1820,13 +1852,9 @@ namespace BBWY.Client.ViewModels.PackTask
IsLoading = true;
PageSize = 10;
IsStartThread = false;
long? taskId = null;
long? sealBoxId = null;
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
taskId = Convert.ToInt64(SearchTaskId);
var istrue = long.TryParse(SearchSealBoxId, out long sealboxid);
if (istrue)
{
@ -1835,20 +1863,17 @@ namespace BBWY.Client.ViewModels.PackTask
}
catch
{
taskId = null;
}
Task.Factory.StartNew(() =>
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
try
{
if (TaskState == Models.TaskState.)
{
PageSize = 20;
WaitCompletedList = new ObservableCollection<WareWaitCompleted>();
var datas = sealBoxService.GetWareWaitCompletedList(null, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
var datas = sealBoxService.GetWareWaitCompletedList(null, SearchShopName, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -1909,12 +1934,9 @@ namespace BBWY.Client.ViewModels.PackTask
WareWaitTransports = dataModel.WareWaitTransports;
foreach (var item in dataModel.WareWaitTransports)
{
var skuItem = item.Copy();
skuItem.WaitTransportSkus = null;//默认不加载
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitTransportList.Add(skuItem);
WaitTransportList.Add(item);
}));
}
@ -1974,7 +1996,7 @@ namespace BBWY.Client.ViewModels.PackTask
PageSize = 20;
WaitFallWareList = new ObservableCollection<WaitFallWareModel>();
var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -1988,7 +2010,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
AcceptUserNames = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = null,
SealBoxSkus = item.SealBoxSkus,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
@ -2023,7 +2045,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, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -2032,22 +2054,9 @@ namespace BBWY.Client.ViewModels.PackTask
SealBoxModelList = dataModel.WaitSealBoxModels;
foreach (var item in dataModel.WaitSealBoxModels)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitSealBoxModels.Add(new SealBoxModel
{
AcceptUserName = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = null,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
WareName = item.WareName,
SealBoxId = item.SealBoxId,
SealBoxPackOverTime = item.SealBoxPackOverTime,
SealBoxPackOverTimeMarkMsg = item.SealBoxPackOverTimeMarkMsg
});
WaitSealBoxModels.Add(item);
}));
}
@ -2100,7 +2109,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
WareNoSealBoxModels = new ObservableCollection<WareNoSealBoxModel>();
var datas = sealBoxService.GetWareSealBoxWaitConfigureList(SearchShopName, taskId, SearchSkuId, PageIndex, PageSize);
var datas = sealBoxService.GetWareSealBoxWaitConfigureList(SearchShopName, SearchTaskId, SearchSkuId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -2115,8 +2124,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
AcceptUserName = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = new List<WareNoSealBoxSku>(),
// SealBoxSkus = item.SealBoxSkus,
SealBoxSkus = item.SealBoxSkus,
ShopId = item.ShopId,
ShopName = item.ShopName,
@ -2165,17 +2173,15 @@ namespace BBWY.Client.ViewModels.PackTask
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = qualityTaskService.SearchQualityTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.QualityTaskExceptionState, SearchShopName,
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName);
stopwatch.Stop();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
Debug.WriteLine($"查询接口耗时:{stopwatch.ElapsedMilliseconds}毫秒");
}));
stopwatch.Restart();
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
QualityExceptionCount = dataModel.QualityExceptionCount.ToString();
QualityTaskCount = dataModel.QualityTaskCount.ToString();
foreach (var item in dataModel.Items)
{
@ -2220,7 +2226,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
qualityOverTimeThread = new Thread(() =>
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packtasks.Count() > 0)
{
IsStartThread = true;
@ -2331,17 +2337,183 @@ namespace BBWY.Client.ViewModels.PackTask
{
}
}
else
else if (TaskState == Models.TaskState.)
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName,
var datas = packagingTaskService.SearchPackagingTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName,
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName);
stopwatch.Stop();
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
PackagingTaskCount = dataModel.PackagingTaskCount.ToString();
PackagingTaskExceptionCount = dataModel.PackagingTaskExceptionCount.ToString();
foreach (var item in dataModel.Items)
{
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item));
data.ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
Logo= item.Logo,
SkuName = item.SkuName,
SkuId = item.SkuId
} };
data.EndTime = item.CreateTime;
data.SkuTitle = item.SkuGoodsTitle;
data.AcceptName = item.UserName;
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
data.BarCodeModel = item.BarCodeDTO;
if (data.BarCodeModel.LabelModel == BarcodeLabelModel.)
data.BarCodeModel.LabelModel = BarcodeLabelModel.;
}
if (item.Cers != null)
{
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
if (item.PackUserName != null)
data.PackUser = string.Join("\r\n", item.PackUserName);
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packCompletedTasks.Count() > 0)
{
packOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
Debug.WriteLine($"查询接口耗时:{stopwatch.ElapsedMilliseconds}毫秒");
foreach (var item in packCompletedTasks)
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
}));
stopwatch.Restart();
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.TaskAbortTime != null).ToList();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packtasks)
{
TimeSpan datetime;
datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
}
else
{
item.IsPackOverTime = true;
}
}
}));
}
Task.Factory.StartNew(() =>
{
foreach (var item in PackTaskList)
{
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
});
}
else
{
}
}
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName,
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -2579,15 +2751,16 @@ namespace BBWY.Client.ViewModels.PackTask
{
IsLoadCount();
});
IsLoading = false;
stopwatch.Stop();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
}
catch
{
Debug.WriteLine($"查询耗时:{stopwatch.ElapsedMilliseconds}毫秒");
}));
}
IsLoading = false;
});
}

102
BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs

@ -7,6 +7,8 @@ using BBWY.Client.Models.PackUser;
using BBWY.Client.Views.BillCorrection;
using BBWY.Client.Views.PackerTask;
using BBWY.Client.Views.PackTask;
using BBWY.Client.Views.QualityTask;
using BBWY.Client.Views.SplitTask;
using BBWY.Client.Views.TaskOverTime;
using BBWY.Common.Models;
using BBWY.Controls;
@ -328,11 +330,31 @@ namespace BBWY.Client.ViewModels.PackerTask
public ObservableCollection<PackerTaskModel> PackerTaskModelList { get => packerTaskModelList; set { Set(ref packerTaskModelList, value); } }
private PackagingTaskExceptionState? packagingTaskExceptionState = Models.PackagingTaskExceptionState.;
/// <summary>
/// 任务状态
/// </summary>
public PackagingTaskExceptionState? PackagingTaskExceptionState
{
get => packagingTaskExceptionState; set
{
Set(ref packagingTaskExceptionState, value);
}
}
private string packagingTaskExceptionCount;
/// <summary>
/// 包装异常总数
/// </summary>
public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } }
private string packagingTaskCount;
/// <summary>
/// 待包装总数
/// </summary>
public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } }
@ -376,11 +398,17 @@ namespace BBWY.Client.ViewModels.PackerTask
public ICommand PrintCerCommand { get; set; }
public ICommand SetPackagingTaskExceptionStateCommand { get; set; }
public ICommand TaskSplitCommand { get; set; }
public ICommand PackagingTaskExceptionCommand { get; set; }
/// <summary>
/// 构造函数
/// </summary>
public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext)
public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext, QualityTaskService qualityTaskService)
{
this.packUserService = packUserService;
@ -421,6 +449,31 @@ namespace BBWY.Client.ViewModels.PackerTask
PrintBarcodeCommand = new RelayCommand<BarCodeModel>(PrintBarcode);
PrintCerCommand = new RelayCommand<CertificateModel[]>(PrintCer);
SetPackagingTaskExceptionStateCommand = new RelayCommand(() =>
{
this.SearchTaskList();
});
TaskSplitCommand = new RelayCommand<PackerTaskModel>(TaskSplit);
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
this.qualityTaskService = qualityTaskService;
}
QualityTaskService qualityTaskService;
private void PackagingTaskException(long taskId)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
}
private void TaskSplit(PackerTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState.Value, ReflashTask);
addExceptionWindow.ShowDialog();
}
private void PrintCer(CertificateModel[] certificateModel)
@ -590,11 +643,15 @@ namespace BBWY.Client.ViewModels.PackerTask
{
var res = packUserService.SearchPackerTask(PackTaskState: PackTaskState, WayBillNo: SearchWayBillNo, SourceExpressName: SearchExpressName,
departmentName: SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, SearchShopName, PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle);
departmentName: SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, SearchShopName, PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle,
PackagingTaskExceptionState
);
if (res.Success)
{
WaitPackCount = res.Data.WaitPackCount;
OrderCount = res.Data.TotalCount;
PackagingTaskExceptionCount = res.Data.PackagingTaskExceptionCount;
packagingTaskCount = res.Data.PackagingTaskCount;
PackerTaskModelList = new ObservableCollection<PackerTaskModel>();
res.Data.Items.ForEach(item =>
{
@ -630,7 +687,15 @@ namespace BBWY.Client.ViewModels.PackerTask
if (PackTaskState == Models.PackTaskState.)
{
var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packCompletedTasks.Count() > 0)
{
@ -668,6 +733,35 @@ namespace BBWY.Client.ViewModels.PackerTask
}
}
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packtasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.TaskAbortTime != null).ToList();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packtasks)
{
TimeSpan datetime;
datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
}
else
{
item.IsPackOverTime = true;
}
}
}));
}
}
}
else
{

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

@ -23,6 +23,7 @@ using BBWY.Controls;
using WebSocketSharp;
using BBWY.Client.APIServices.QiKu;
using BarcodeLib;
using System.Runtime.ConstrainedExecution;
namespace BBWY.Client.ViewModels
{
@ -369,6 +370,11 @@ namespace BBWY.Client.ViewModels
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
PurchaseService purchaseService;
MarkMessageService markMessageService;
QualityTaskService qualityTaskService;
SaveType? saveType;
public string OriginShopName { get; set; }
@ -387,14 +393,21 @@ namespace BBWY.Client.ViewModels
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand CompeteQualityTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
public ICommand QualityTaskExceptionCommand { get; set; }
#endregion
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService)
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService, QualityTaskService qualityTaskService)
{
this.packPurchaseTaskService = packPurchaseTaskService;
this.productService = productService;
this.globalContext = globalContext;
this.purchaseService = purchaseService;
this.packTaskService = packTaskService;
this.markMessageService = markMessageService;
this.qualityTaskService = qualityTaskService;
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SetBarCodeCommand = new RelayCommand(SetBarCode);
SetCertificateCommand = new RelayCommand<PurchaseSku>(SetCertificate);
@ -411,13 +424,25 @@ namespace BBWY.Client.ViewModels
});
}
this.purchaseService = purchaseService;
this.packTaskService = packTaskService;
this.markMessageService = markMessageService;
QualityTaskExceptionCommand = new RelayCommand<object>(QualityTaskException);
}
#region 方法
private void QualityTaskException(object obj)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, TaskId, Models.TaskState., () => {
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
ReflashWindow?.Invoke();
});
addExceptionWindow.ShowDialog();
}
private void CompeteQualityTask(object obj)
{
if (ArrivalQuantity == null)
@ -448,11 +473,6 @@ namespace BBWY.Client.ViewModels
MessageBox.Show($"到货数量不能:{ArrivalQuantity}!");
return;
}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
@ -461,19 +481,15 @@ namespace BBWY.Client.ViewModels
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
BrandName = BrandName,
CertificatePosition = CertificatePosition,
MarkMessage = MarkMessage,
OrderId = OrderId,
PackType = PackType,
GoodsNumber = GoodsNumber,
SkuGoodsTitle = SkuTitle,
SkuId = SkuId,
IsNeedBar = IsNeedBarCode == Need.,
IsNeedCer = IsNeedCertificateModel == Need.,
TaskId = TaskId,
//FloorDragNumber = FloorDragNumber
BrandMarkType= BrandMarkType
};
if (CreateTime > Convert.ToDateTime("2023-08-21"))
{
if (IsNeedBarCode == Need.)
@ -515,7 +531,7 @@ namespace BBWY.Client.ViewModels
try
{
var competeRes = packPurchaseTaskService.CompeteQualityTask(request);
var competeRes = qualityTaskService.CompeteQualityTask(request);
if (competeRes == null)
{
MessageBox.Show("网络异常");
@ -526,23 +542,16 @@ namespace BBWY.Client.ViewModels
MessageBox.Show(competeRes.Msg);
return;
}
BatchPrintWindow batchPrint = new BatchPrintWindow();
//if (BarCodeModel!=null)
//{
// BarCodeModel.ShopName = OriginShopName;
//}
batchPrint.SetData(GoodProductQuantity.Value,
BatchPrintWindow batchPrint = new BatchPrintWindow(BrandMarkType, IsNeedPrintCer, GoodProductQuantity.Value,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO != null && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel);
batchPrint.ShowDialog();
if (ReflashWindow != null) ReflashWindow();
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
@ -669,9 +678,6 @@ namespace BBWY.Client.ViewModels
look.Show();
}
MarkMessageService markMessageService;
SaveType? saveType;
/// <summary>
/// 搜索 skuId(todo:)
/// </summary>
@ -845,12 +851,17 @@ namespace BBWY.Client.ViewModels
}
BrandMarkType = brandMarkType;
IsNeedPrintCer = cer;
});
}
private Need IsNeedPrintCer;
public Action ReflashWindow { get; set; }

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

@ -499,6 +499,7 @@ namespace BBWY.Client.ViewModels.SealBox
TaskId = model.TaskId,
TaskState = model.TaskState,
WaitConfigureCount = count,
TaskIdRemark= model.TaskIdRemark,
};
data.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel>();
switch (waretype)
@ -516,7 +517,8 @@ namespace BBWY.Client.ViewModels.SealBox
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
WareState = item.WareState,
TaskIdRemark = item.TaskIdRemark,
});
}
break;
@ -532,7 +534,9 @@ namespace BBWY.Client.ViewModels.SealBox
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
WareState = item.WareState,
TaskIdRemark = item.TaskIdRemark,
});
}
@ -549,7 +553,8 @@ namespace BBWY.Client.ViewModels.SealBox
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
WareState = item.WareState,
TaskIdRemark = item.TaskIdRemark,
});
}
@ -566,7 +571,8 @@ namespace BBWY.Client.ViewModels.SealBox
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
WareState = item.WareState,
TaskIdRemark = item.TaskIdRemark,
});
}

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

@ -199,9 +199,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18" HorizontalAlignment=
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="任务ID:" Style="{StaticResource middleTextBlock}" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 0 ">

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

@ -227,9 +227,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18" HorizontalAlignment=
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="任务ID:" Style="{StaticResource middleTextBlock}" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 0 0 0 ">

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

@ -124,7 +124,7 @@
CommandParameter="{Binding}"
/>
<Grid Grid.Column="5" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
@ -132,7 +132,7 @@
</Grid>
</Grid>
<Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Visibility="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
@ -217,9 +217,9 @@
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

5
BBWY.Client/Views/FallWare/WareFallWareListControl.xaml

@ -87,11 +87,6 @@
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</StackPanel.Resources>
<TextBlock x:Name="textblock_shop" Text="店铺:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Name="btbShopName" Width="150" Visibility="Hidden" Margin="5,0,0,0" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="店铺名称"/>
<TextBlock Text="任务ID:" VerticalAlignment="Center" Margin="16,0,0,0"/>

4
BBWY.Client/Views/PackTask/PackDetailWindow.xaml

@ -529,10 +529,6 @@
</ScrollViewer>
</Grid>
<Grid Grid.Row="1" Grid.Column="1" Visibility="Hidden" >
<Grid x:Name="print_box" Height="492" Width="272">
<Grid Margin="0 10 0 10" Width="272">

4
BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml

@ -108,9 +108,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"

5
BBWY.Client/Views/PackTask/TaskList.xaml

@ -8,6 +8,7 @@
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sealbox="clr-namespace:BBWY.Client.Views.SealBox"
xmlns:packagingTask="clr-namespace:BBWY.Client.Views.PackagingTask"
xmlns:tran="clr-namespace:BBWY.Client.Views.WaitTransport"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
@ -195,10 +196,10 @@
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓:Visible:Collapsed}"
/>
<waitquality:ShopWaitQualityControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<waitquality:ShopWaitQualityList Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<local:ShopWaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单:Visible:Collapsed}" />
<local:ShopWaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" />
<packagingTask:ShopPackagingTaskList Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" />
<tran:TeamWaitTransportListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:Visible:Collapsed}" />
<store:ShopStorePickSelfControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=商家自取:Visible:Collapsed}" />

4
BBWY.Client/Views/PackTask/TaskListControl.xaml

@ -102,9 +102,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White"

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

@ -251,9 +251,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
@ -640,15 +640,16 @@ Margin=" 5,0,7,0">
<Grid Grid.Column="10" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="验收"
Command="{Binding QualityTaskCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Height="20" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Grid.Row="1"
Content="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:包装设置:修改设置 }"
Command="{Binding SetServiceCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已取消|未到货|部分到货|待验收|:Collapsed:Visible}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="验收"
Command="{Binding QualityTaskCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<StackPanel
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
>

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

@ -7,6 +7,7 @@
xmlns:fallware="clr-namespace:BBWY.Client.Views.FallWare"
xmlns:waittransport="clr-namespace:BBWY.Client.Views.WaitTransport"
xmlns:waitquality="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:packagingtask="clr-namespace:BBWY.Client.Views.PackagingTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
@ -151,7 +152,7 @@
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}" />
<waitquality:WaitQualityList Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<local:WaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单:Visible:Collapsed}" />
<local:WaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" />
<packagingtask:PackagingTaskList Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" />
<waittransport:WareWaitTransportListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:Visible:Collapsed}" />
<taskovertime:WareTaskOverTimeControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已超时:Visible:Collapsed}" />
<local:WaitCompletedControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:Visible:Collapsed}" />

11
BBWY.Client/Views/PackTask/WareHouseListControl.xaml

@ -242,9 +242,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
@ -270,7 +270,7 @@
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="9" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改" />
@ -529,6 +529,11 @@
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="验收"
Command="{Binding QualityTaskCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Height="20" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Grid.Row="1"
Content="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:包装设置:修改设置 }"
Command="{Binding SetServiceCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已取消|未到货|部分到货|待验收:Collapsed:Visible}"
/>
<StackPanel

228
BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml

@ -0,0 +1,228 @@
<UserControl x:Class="BBWY.Client.Views.PackagingTask.PackagingTaskList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:BBWY.Client.Views.PackagingTask"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="590,15,0,0"
Visibility="{Binding SelectShop,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=部门:Visible:Collapsed}"
>
<c:BTextBox x:Name="tb" Width="150" Height="30" TextChanged="tb_TextChanged" Text="{Binding SearchDepartment,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="部门名称"
BorderThickness="1 0 0 1" Margin="0 0 0 1"
/>
<ListBox MaxHeight="300" x:Name="tipBox" SelectionChanged="SelectionChangeCommand" Background="{StaticResource Border.Background}"/>
</StackPanel>
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="590,15,0,0"
Visibility="{Binding SelectShop,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=店铺:Visible:Collapsed}"
>
<c:BTextBox x:Name="tbShop" Width="150" Height="30" TextChanged="tbShop_TextChanged" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="店铺名称"
BorderThickness="1 0 0 1" Margin="0 0 0 1"
/>
<ListBox MaxHeight="300" x:Name="tipBoxShop" SelectionChanged="tipBoxShop_SelectionChanged" Background="{StaticResource Border.Background}">
</ListBox>
</StackPanel>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="54"/>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0" HorizontalAlignment="Stretch" Panel.ZIndex="999" Margin="0,5,0,0" >
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Height="30" >
<StackPanel.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>
</StackPanel.Resources>
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}" Margin="5,0,0,0">
<StackPanel Orientation="Horizontal">
<ComboBox BorderThickness="0" Width="110" VerticalContentAlignment="Center" ItemsSource="{Binding SelectIdList}" HorizontalContentAlignment="Center" Text="{Binding SelectTaskId ,Mode=TwoWay}" />
<UniformGrid Width="150" Margin="0,0,0,0" Rows="1" Columns="1">
<c:BTextBox Width="150" BorderThickness="1 0 0 0" WaterRemark="任务ID" Text="{Binding SearchTaskId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding SelectTaskId,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=任务ID:Visible:Collapsed}"
/>
<c:BTextBox Width="150" BorderThickness="1 0 0 0" WaterRemark="拳探订单号" Text="{Binding SearchOrderSn,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding SelectTaskId,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=拳探订单号:Visible:Collapsed}"
/>
</UniformGrid>
</StackPanel>
</Border>
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}" Margin="5,0,0,0">
<StackPanel Orientation="Horizontal">
<ComboBox BorderThickness="0" Width="80" VerticalContentAlignment="Center" ItemsSource="{Binding SelectSkuList}" HorizontalContentAlignment="Center" Text="{Binding SelectSku ,Mode=TwoWay}" />
<UniformGrid Width="150" Rows="1" Columns="1">
<c:BTextBox Width="150" WaterRemark="SKUID" Text="{Binding SearchSkuId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
BorderThickness="1 0 0 0" Visibility="{Binding SelectSku,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=SKU:Visible:Collapsed}"
/>
<c:BTextBox Width="150" WaterRemark="SPUID" Text="{Binding SearchSpuId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
BorderThickness="1 0 0 0" Visibility="{Binding SelectSku,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=SPU:Visible:Collapsed}"
/>
</UniformGrid>
</StackPanel>
</Border>
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}" Margin="5,0,0,0">
<StackPanel Orientation="Horizontal">
<ComboBox BorderThickness="0" Width="80" VerticalContentAlignment="Center" ItemsSource="{Binding SelectShopList}" HorizontalContentAlignment="Center" Text="{Binding SelectShop ,Mode=TwoWay}" />
<UniformGrid Width="150" Rows="1" Columns="1">
<c:BTextBox Width="150" WaterRemark="SKUID" Text="{Binding SearchSkuId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
BorderThickness="1 0 0 0" Visibility="{Binding SelectSku,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=SKU:Visible:Collapsed}"
/>
<!--<c:BTextBox Width="150" WaterRemark="SPUID" Text="{Binding SearchSpuId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
BorderThickness="1 0 0 0" Visibility="{Binding SelectSku,Mode=OneWay,Converter={StaticResource objConverter},ConverterParameter=SPU:Visible:Collapsed}"
/>-->
</UniformGrid>
</StackPanel>
</Border>
<!--<TextBlock Text="部门: " VerticalAlignment="Center" Margin="16,0,2,0"/>
<c:BTextBox Visibility="Hidden" Width="150" Height="30" ></c:BTextBox>
<TextBlock x:Name="textblock_shop" Text="店铺:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Name="btbShopName" Width="150" Visibility="Hidden" Margin="5,0,0,0" />-->
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}" Margin="20,0,0,0">
<StackPanel Orientation="Horizontal">
<ComboBox Width="125" BorderThickness="0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" ItemsSource="{Binding SelectExpressList}" Text="{Binding SelectExpress }"/>
<UniformGrid Width="150" Margin="0,0,0,0" Rows="1" Columns="1">
<c:BTextBox Width="150" Text="{Binding SearchWayBillNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="精准搜索"
BorderThickness="1 0 0 0" Visibility="{Binding SelectExpress,Converter={StaticResource objConverter},ConverterParameter=物流单号:Visible:Collapsed}"
/>
<c:BTextBox Width="150" Text="{Binding SearchExpressName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="模糊搜索"
BorderThickness="1 0 0 0" Visibility="{Binding SelectExpress,Converter={StaticResource objConverter},ConverterParameter=物流公司名称:Visible:Collapsed}"
/>
</UniformGrid>
</StackPanel>
</Border>
<Grid Grid.Column="1" Grid.Row="1" Margin="20,0,0,0">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<StackPanel Orientation="Horizontal" Margin="1">
<ComboBox Width="125" BorderThickness="0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" ItemsSource="{Binding SelectTitleList}" Text="{Binding SelectTitle }"/>
<UniformGrid Width="150" Margin="0,0,0,0" Rows="1" Columns="1">
<c:BTextBox Width="150" Text="{Binding SearchSkuTitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="模糊搜索"
BorderThickness="1 0 0 0" Visibility="{Binding SelectTitle,Converter={StaticResource objConverter},ConverterParameter=SKU名称:Visible:Collapsed}"
/>
<c:BTextBox Width="150" Text="{Binding SearchSpuTitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="模糊搜索"
BorderThickness="1 0 0 0" Visibility="{Binding SelectTitle,Converter={StaticResource objConverter},ConverterParameter=标题:Visible:Collapsed}"
/>
</UniformGrid>
</StackPanel>
</Grid>
<c:BButton Content="搜索" Width="94" Height="30" VerticalAlignment="Stretch" Margin="10,0,0,0"
Command="{Binding SearchTaskCommand}"
Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</StackPanel>
</Grid>
<StackPanel Orientation="Horizontal" Grid.Row="1">
<RadioButton Content="全部" Height="35" Width="130" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource taskStateToBoolean},ConverterParameter=#null:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
<RadioButton Content="待包装" Height="35" Width="130" Tag="{Binding PackagingTaskCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
<RadioButton Content="挂起任务" Height="35" Width="130" Tag="{Binding PackagingTaskExceptionCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
</StackPanel>
<Grid Grid.Row="2">
<local:WaitPackingTaskControl/>
</Grid>
</Grid>
</Grid>
</UserControl>

245
BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml.cs

@ -0,0 +1,245 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models.PackTask;
using BBWY.Client.ViewModels;
using BBWY.Common.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using WebSocketSharp;
namespace BBWY.Client.Views.PackagingTask
{
/// <summary>
/// PackagingTaskList.xaml 的交互逻辑
/// </summary>
public partial class PackagingTaskList : UserControl
{
public PackagingTaskList()
{
InitializeComponent();
this.Loaded += Load;
}
GlobalContext globalContext;
public void LoadShops(GlobalContext globalContext)
{
this.globalContext = globalContext;
shops = globalContext.User.ShopList.Select(s => s.ShopName).ToList();
departments = globalContext.User.DepartmentList.Select(s => s.Name).ToList();
}
private void Load(object sender, RoutedEventArgs e)
{
try
{
var model = (App.Current.Resources["Locator"] as ViewModelLocator).Main;
LoadShops(model.GlobalContext);
}
catch
{
}
}
public string QKApiHost { get; set; }
public void SelectionChangeCommand(object sender, SelectionChangedEventArgs e)
{
try
{
var list = (ListBox)sender;
if (list.Items.Count <= 0)
{
return;
}
var value = (ListBoxItem)list.SelectedValue;
var content = (Label)value.Content;
tb.Text = content.Content.ToString();
tipBox.Visibility = Visibility.Collapsed;
}
catch (Exception)
{
}
}
List<string> departments = new List<string>();
List<string> shops = new List<string>();
private void tb_TextChanged(object sender, TextChangedEventArgs e)
{
if (tipBox != null)
try
{
var textBoxt = (TextBox)sender;
//创建一个ListBox
if (tipBox != null && tipBox.Items.Count > 0)
{
tipBox.Items.Clear();
}
if (departments.Count <= 0)
{
if (QKApiHost.IsNullOrEmpty()) QKApiHost = "http://qiku.qiyue666.com";
HttpClientHelper helper = new HttpClientHelper(QKApiHost);
string url = $"{QKApiHost}/api/PackTask/GetAllDepartment";//获取所有数据
var data = helper.Get(url);
var res = JsonConvert.DeserializeObject<ApiResponse<UserDepartment[]>>(data);
//创建一个ListBoxIem
if (res.Success)
{
if (res.Data != null && res.Data.Count() > 0)
{
foreach (var department in res.Data)
{
if (!departments.Contains(department.DePartmentName))
{
departments.Add(department.DePartmentName);
}
}
}
}
}
if (string.IsNullOrEmpty(textBoxt.Text))
{
tipBox.Visibility = Visibility.Collapsed;
return;
}
foreach (var department in departments)
{
if (department.Contains(textBoxt.Text))
{
ListBoxItem item = new ListBoxItem();
Label lb = new Label();
lb.Content = department;
item.Content = lb;
tipBox.Items.Add(item);
}
}
tipBox.Visibility = Visibility.Visible;
}
catch (Exception)
{
}
}
private void tbShop_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
var textBoxt = (TextBox)sender;
//创建一个ListBox
if (tipBoxShop != null && tipBoxShop.Items.Count > 0)
{
tipBoxShop.Items.Clear();
}
if (shops.Count <= 0)
{
if (globalContext != null)
LoadShops(globalContext);
}
if (string.IsNullOrEmpty(textBoxt.Text))
{
tipBoxShop.Visibility = Visibility.Collapsed;
return;
}
foreach (var department in shops)
{
if (department.Contains(textBoxt.Text))
{
ListBoxItem item = new ListBoxItem();
Label lb = new Label();
lb.Content = department;
item.Content = lb;
tipBoxShop.Items.Add(item);
}
}
if (tipBoxShop != null)
tipBoxShop.Visibility = Visibility.Visible;
}
catch (Exception)
{
}
}
private void tipBoxShop_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
var list = (ListBox)sender;
if (list.Items.Count <= 0)
{
return;
}
var value = (ListBoxItem)list.SelectedValue;
var content = (Label)value.Content;
tbShop.Text = content.Content.ToString();
tipBoxShop.Visibility = Visibility.Collapsed;
}
catch (Exception)
{
}
}
private void tb_LostFocus(object sender, RoutedEventArgs e)
{
try
{
if (tipBox != null && tipBox.Items.Count > 0)
{
tipBox.Items.Clear();
}
}
catch (Exception)
{
}
}
private void tbShop_LostFocus(object sender, RoutedEventArgs e)
{
try
{
if (tipBoxShop != null && tipBoxShop.Items.Count > 0)
{
tipBoxShop.Items.Clear();
}
}
catch (Exception)
{
}
}
}
}

89
BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml

@ -0,0 +1,89 @@
<UserControl x:Class="BBWY.Client.Views.PackagingTask.ShopPackagingTaskList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:local="clr-namespace:BBWY.Client.Views.PackagingTask"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<RadioButton Content="全部" Height="35" Width="130" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource taskStateToBoolean},ConverterParameter=#null:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
<RadioButton Content="待包装" Height="35" Width="130" Tag="{Binding PackagingTaskCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
<RadioButton Content="挂起任务" Height="35" Width="130" Tag="{Binding PackagingTaskExceptionCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
</StackPanel>
<Grid Grid.Row="1">
<local:ShopWaitPackingTaskControl/>
</Grid>
</Grid>
</Grid>
</UserControl>

26
BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackagingTask
{
/// <summary>
/// ShopPackagingTaskList.xaml 的交互逻辑
/// </summary>
public partial class ShopPackagingTaskList : UserControl
{
public ShopPackagingTaskList()
{
InitializeComponent();
}
}
}

502
BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml

@ -0,0 +1,502 @@
<UserControl x:Class="BBWY.Client.Views.PackagingTask.ShopWaitPackingTaskControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:viewmodel="clr-namespace:BBWY.Client.ViewModels.PackTask" Background="White"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="45"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border Height="1" Grid.Row="0" Margin="0 0 0 0" Background="{StaticResource Border.Brush}" VerticalAlignment="Top"/>
<Grid Grid.Row="0" Margin="0 0 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务时限" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装组合类型" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装配件" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装需求" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="合格证、条形码" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装员" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="费用" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
Grid.Row="1"
ItemsSource="{Binding PackTaskList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="100">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/>
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding DepartmentName}"
Margin=" 5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="店铺:" Margin="14,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,0,0"/>
<StackPanel Orientation="Horizontal" Visibility="{Binding OrderId, Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}">
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptName}" Margin="5,0,0,0" />
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="12" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改" />
<!--<c:BButton Command="{Binding DataContext.DeletedTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}" CommandParameter="{Binding}"
Margin="5,0,0,0" Style="{StaticResource LinkButton}" Content="取消"/>-->
</StackPanel>
</Grid>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Grid Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition />
<!--<ColumnDefinition />-->
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding ItemList[0].Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,9,0,10"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,12,0,10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,11"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,11">
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
</StackPanel>
<!--<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,12,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
</TextBlock>
<c:BButton Content="{Binding GoodsNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding GoodsNo}"
Margin=" 5,0,0,0"/>
</StackPanel>-->
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<Grid Grid.Column="1" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock x:Name="txt_storeName"
Text="{Binding SkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="2" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding PackRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding PackRemainTime}"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" 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}"/>
</StackPanel>
</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>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding SendToSetSkuConfigureTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}">
<TextBlock Style="{StaticResource middleTextBlock}" Text="待合格证信息补全"/>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" >
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="组合类型:"/>
<TextBlock Text="{Binding PackType}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="配件数量:"/>
<TextBlock Text="{Binding GoodsNumber}"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
Text="{Binding SkuTitle}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包装:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock TextWrapping="Wrap">
<Run Text="增量耗材:"/>
<Run Text="{Binding Increment1}"/>
</TextBlock>
</Grid>
</StackPanel>
</Grid>
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="条形码:"/>
<StackPanel Orientation="Horizontal" Visibility="{Binding BarCodeModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}">
<c:BButton x:Name="btn_lookBarCode" Content="查看" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding LookBarCommand}" />
<c:BButton x:Name="btn_daCer" Content="打印" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding PrintBarcodeCommand}"/>
</StackPanel>
<TextBlock Text="未配置" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding BarCodeModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="合格证:"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding CertificateModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Orientation="Horizontal"
Visibility="{Binding CertificatePosition,Converter={StaticResource objConverter}, ConverterParameter=无需合格证:Collapsed:Visible}"
>
<c:BButton x:Name="btn_lookCer" Content="查看" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding LookCerCommand}"/>
<c:BButton x:Name="btn_dayinCer" Content="打印" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding PrintCerCommand}"/>
</StackPanel>
<TextBlock Text="无需合格证" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding CertificatePosition,Converter={StaticResource objConverter}, ConverterParameter=无需合格证:Visible:Collapsed}"
/>
</StackPanel>
<TextBlock Text="未配置" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding CertificateModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="7">
<TextBlock Text="{Binding PackUser}" Style="{StaticResource middleTextBlock}"/>
</Grid>
<StackPanel Orientation="Vertical" Grid.Column="8" VerticalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 8 0 8">
<Run Text="耗材:"/>
<Run Text="{Binding ConsumableFees,StringFormat=0.00}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="总计:"/>
<Run Text="{Binding PackTotalFees,StringFormat=0.00}"/>
</TextBlock>
</StackPanel>
<Grid Grid.Column="9" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.PackTaskMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</Grid>
<Grid Grid.Row="1" Grid.ColumnSpan="4" Visibility="{Binding MarkMessageModelList,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}" Margin="10 0 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BButton Margin="0" Panel.ZIndex="100" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.ColumnSpan="2" Background="Transparent"
Command="{Binding DataContext.ShowMoreMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"/>
<c:BButton Margin="0" Content="{Binding ShowMoreMsg,Converter={StaticResource objConverter},ConverterParameter=false:∨:∧}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="30"
/>
<ListBox Grid.Column="1" x:Name="listbox_message" Grid.Row="2" Margin=" 0" SelectionMode="Single" IsEnabled="False"
ItemsSource="{Binding MarkMessageModelList}" Height="{Binding ShowMoreMsg,Converter={StaticResource objConverter},ConverterParameter=false:30:*}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" ScrollViewer.VerticalScrollBarVisibility="Hidden"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0,0,0,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_message,Converter={StaticResource widthConverter},ConverterParameter=-0}" MinHeight="30">
<DockPanel VerticalAlignment="Center">
<TextBlock HorizontalAlignment="Left" Text="{Binding CreateTime,StringFormat=yyyy-MM-dd HH:mm:ss}"/>
<TextBlock HorizontalAlignment="Left" Text=" "/>
<TextBlock HorizontalAlignment="Left" Text="{Binding UserName}"/>
<TextBlock HorizontalAlignment="Left" Text=" : "/>
<TextBlock HorizontalAlignment="Left" Text="{Binding MarkMessage}" Foreground="Red" TextWrapping="Wrap"/>
</DockPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Border Width="1" Grid.Row="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<TextBlock Grid.Row="1" Grid.Column="4" Grid.ColumnSpan="6"
Visibility="{Binding QualityOverTimeMarkMsg,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5 5 0 5" ScrollViewer.VerticalScrollBarVisibility="Visible" TextWrapping="Wrap" >
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding QualityOverTimeMarkMsg}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="超时原因:"/>
<Run Text="{Binding QualityOverTimeMarkMsg}" Foreground="Red" />
</TextBlock>
<Grid Grid.Row="3" Grid.ColumnSpan="100" MinHeight="40" Visibility="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=false:Collapsed:Visible}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="100"/>
<c:BTextBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="9" Height="30" Margin="5 0 0 0" Text="{Binding TaskMarkMsg}" AcceptsReturn="True"/>
<c:BButton Grid.Column="10" Content="提交备注" Width="80" Command="{Binding DataContext.AppendMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="100"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>-->
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>

26
BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackagingTask
{
/// <summary>
/// ShopWaitPackingTaskControl.xaml 的交互逻辑
/// </summary>
public partial class ShopWaitPackingTaskControl : UserControl
{
public ShopWaitPackingTaskControl()
{
InitializeComponent();
}
}
}

566
BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml

@ -0,0 +1,566 @@
<UserControl x:Class="BBWY.Client.Views.PackagingTask.WaitPackingTaskControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:viewmodel="clr-namespace:BBWY.Client.ViewModels.PackTask" Background="White"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="45"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border Height="1" Grid.Row="0" Margin="0 0 0 0" Background="{StaticResource Border.Brush}" VerticalAlignment="Top"/>
<Grid Grid.Row="0" Margin="0 0 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务时限" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装组合类型" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装配件" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装需求" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="合格证、条形码" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装员" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="费用" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
Grid.Row="1"
ItemsSource="{Binding PackTaskList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="100">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/>
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding DepartmentName}"
Margin=" 5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="店铺:" Margin="14,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,0,0"/>
<StackPanel Orientation="Horizontal" Visibility="{Binding OrderId, Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}">
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptName}" Margin="5,0,0,0" />
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="12" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改" />
<!--<c:BButton Command="{Binding DataContext.DeletedTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}" CommandParameter="{Binding}"
Margin="5,0,0,0" Style="{StaticResource LinkButton}" Content="取消"/>-->
</StackPanel>
</Grid>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="280"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Grid Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition />
<!--<ColumnDefinition />-->
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding ItemList[0].Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,9,0,10"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,12,0,10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,11"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,11">
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
</StackPanel>
<!--<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,12,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
</TextBlock>
<c:BButton Content="{Binding GoodsNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding GoodsNo}"
Margin=" 5,0,0,0"/>
</StackPanel>-->
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<Grid Grid.Column="1" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock x:Name="txt_storeName"
Text="{Binding SkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="2" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding PackRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding PackRemainTime}"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" 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}"/>
</StackPanel>
</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>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding SendToSetSkuConfigureTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}">
<TextBlock Style="{StaticResource middleTextBlock}" Text="待合格证信息补全"/>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" >
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="组合类型:"/>
<TextBlock Text="{Binding PackType}"/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="配件数量:"/>
<TextBlock Text="{Binding GoodsNumber}"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
Text="{Binding SkuTitle}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包装:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock TextWrapping="Wrap">
<Run Text="增量耗材:"/>
<Run Text="{Binding Increment1}"/>
</TextBlock>
</Grid>
</StackPanel>
</Grid>
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="条形码:"/>
<StackPanel Orientation="Horizontal" Visibility="{Binding BarCodeModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}">
<c:BButton x:Name="btn_lookBarCode" Content="查看" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding LookBarCommand}" />
<c:BButton x:Name="btn_daCer" Content="打印" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding PrintBarcodeCommand}"/>
</StackPanel>
<TextBlock Text="未配置" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding BarCodeModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="合格证:"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding CertificateModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Orientation="Horizontal"
Visibility="{Binding CertificatePosition,Converter={StaticResource objConverter}, ConverterParameter=无需合格证:Collapsed:Visible}"
>
<c:BButton x:Name="btn_lookCer" Content="查看" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding LookCerCommand}"/>
<c:BButton x:Name="btn_dayinCer" Content="打印" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding PrintCerCommand}"/>
</StackPanel>
<TextBlock Text="无需合格证" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding CertificatePosition,Converter={StaticResource objConverter}, ConverterParameter=无需合格证:Visible:Collapsed}"
/>
</StackPanel>
<TextBlock Text="未配置" Style="{StaticResource middleTextBlock}" Margin="5,0,0,0"
Visibility="{Binding CertificateModel,Converter={StaticResource objConverter}, ConverterParameter=#null:Visible:Collapsed}"
/>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="7">
<TextBlock Text="{Binding PackUser}" Style="{StaticResource middleTextBlock}"/>
</Grid>
<StackPanel Orientation="Vertical" Grid.Column="8" VerticalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 8 0 8">
<Run Text="耗材:"/>
<Run Text="{Binding ConsumableFees,StringFormat=0.00}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="总计:"/>
<Run Text="{Binding PackTotalFees,StringFormat=0.00}"/>
</TextBlock>
</StackPanel>
<Grid Grid.Column="9" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton HorizontalAlignment="Center" Height="20" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Grid.Row="1"
Content="修改设置 "
Command="{Binding SetServiceCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已取消|未到货|部分到货|待验收:Collapsed:Visible}"
/>
<StackPanel
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="完成"
CommandParameter="{Binding}"
Command="{Binding DataContext.CompletedPackTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
Visibility="{Binding PackTotalFees,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible }"
/>
</StackPanel>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商品验收"
Command="{Binding DataContext.QualityTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
Command="{Binding DataContext.PackagingTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<!--Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" -->
<!--<StackPanel >
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter="9;待验收:&amp;:Visible:Collapsed:1">
<Binding Path="ShopId"/>
<Binding Path="TaskState"/>
</MultiBinding>
</StackPanel.Visibility>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="信息不全"
CommandParameter="{Binding }"
Command="{Binding DataContext.SendToSetSkuConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<c:BButton.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter=";:amp;:Visible:Collapsed:1">
<Binding Path="BarCodeModel"/>
<Binding Path="CertificateModel"/>
</MultiBinding>
</c:BButton.Visibility>
</c:BButton>
</StackPanel>-->
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.PackTaskMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</Grid>
<Grid Grid.Row="1" Grid.ColumnSpan="4" Visibility="{Binding MarkMessageModelList,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}" Margin="10 0 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BButton Margin="0" Panel.ZIndex="100" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.ColumnSpan="2" Background="Transparent"
Command="{Binding DataContext.ShowMoreMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"/>
<c:BButton Margin="0" Content="{Binding ShowMoreMsg,Converter={StaticResource objConverter},ConverterParameter=false:∨:∧}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="30"
/>
<ListBox Grid.Column="1" x:Name="listbox_message" Grid.Row="2" Margin=" 0" SelectionMode="Single" IsEnabled="False"
ItemsSource="{Binding MarkMessageModelList}" Height="{Binding ShowMoreMsg,Converter={StaticResource objConverter},ConverterParameter=false:30:*}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" ScrollViewer.VerticalScrollBarVisibility="Hidden"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0,0,0,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_message,Converter={StaticResource widthConverter},ConverterParameter=-0}" MinHeight="30">
<DockPanel VerticalAlignment="Center">
<TextBlock HorizontalAlignment="Left" Text="{Binding CreateTime,StringFormat=yyyy-MM-dd HH:mm:ss}"/>
<TextBlock HorizontalAlignment="Left" Text=" "/>
<TextBlock HorizontalAlignment="Left" Text="{Binding UserName}"/>
<TextBlock HorizontalAlignment="Left" Text=" : "/>
<TextBlock HorizontalAlignment="Left" Text="{Binding MarkMessage}" Foreground="Red" TextWrapping="Wrap"/>
</DockPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Border Width="1" Grid.Row="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<TextBlock Grid.Row="1" Grid.Column="4" Grid.ColumnSpan="6"
Visibility="{Binding QualityOverTimeMarkMsg,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5 5 0 5" ScrollViewer.VerticalScrollBarVisibility="Visible" TextWrapping="Wrap" >
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding QualityOverTimeMarkMsg}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="超时原因:"/>
<Run Text="{Binding QualityOverTimeMarkMsg}" Foreground="Red" />
</TextBlock>
<Grid Grid.Row="3" Grid.ColumnSpan="100" MinHeight="40" Visibility="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=false:Collapsed:Visible}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>
<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="100"/>
<c:BTextBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="9" Height="30" Margin="5 0 0 0" Text="{Binding TaskMarkMsg}" AcceptsReturn="True"/>
<c:BButton Grid.Column="10" Content="提交备注" Width="80" Command="{Binding DataContext.AppendMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="100"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>-->
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="2" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="8" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="9" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="10" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="11" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="12" Margin="-1 0 0 0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>

26
BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackagingTask
{
/// <summary>
/// WaitPackingTaskControl.xaml 的交互逻辑
/// </summary>
public partial class WaitPackingTaskControl : UserControl
{
public WaitPackingTaskControl()
{
InitializeComponent();
}
}
}

4
BBWY.Client/Views/PackerTask/PackerPackCompletedControl.xaml

@ -239,9 +239,9 @@
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding PackTaskState}"
Foreground="White" Background="{Binding PackTaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"

4
BBWY.Client/Views/PackerTask/PackerSalaryControl.xaml

@ -236,9 +236,9 @@ Foreground="{StaticResource Text.Color}"
<StackPanel Orientation="Horizontal" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Center">
<TextBlock VerticalAlignment="Center" Text="ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
</StackPanel>

2
BBWY.Client/Views/PackerTask/PackerTaskList.xaml

@ -95,7 +95,7 @@
<Grid Grid.Row="1" Margin="0,5,0,0">
<local:PackerWaitPackageControl Visibility="{Binding PackTaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"/>
<local:PackerWaitPackageList Visibility="{Binding PackTaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"/>
<local:PackerPackCompletedControl Visibility="{Binding PackTaskState,Converter={StaticResource objConverter},ConverterParameter=已完成:Visible:Collapsed}"/>
</Grid>

14
BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml

@ -240,9 +240,9 @@
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding PackTaskState}"
Foreground="White" Background="{Binding PackTaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
@ -540,6 +540,16 @@ TextWrapping="Wrap"
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.PackTaskMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
Command="{Binding DataContext.PackagingTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
</StackPanel>

89
BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml

@ -0,0 +1,89 @@
<UserControl x:Class="BBWY.Client.Views.PackerTask.PackerWaitPackageList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:local="clr-namespace:BBWY.Client.Views.PackerTask"
DataContext="{Binding PackerTaskVM,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<!--<RadioButton Content="全部" Height="35" Width="130" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource taskStateToBoolean},ConverterParameter=#null:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>-->
<RadioButton Content="待包装" Height="35" Width="130" Tag="{Binding PackagingTaskCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
<RadioButton Content="挂起任务" Height="35" Width="130" Tag="{Binding PackagingTaskExceptionCount,Mode=TwoWay}" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
</StackPanel>
<Grid Grid.Row="1">
<local:PackerWaitPackageControl/>
</Grid>
</Grid>
</Grid>
</UserControl>

26
BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackerTask
{
/// <summary>
/// PackerWaitPackageList.xaml 的交互逻辑
/// </summary>
public partial class PackerWaitPackageList : UserControl
{
public PackerWaitPackageList()
{
InitializeComponent();
}
}
}

8
BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml

@ -23,7 +23,7 @@ RightButtonGroupMargin="0,5,5,0">
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Button.Background}">
<TextBlock Text="添加异常" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
<TextBlock Text="任务挂起" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
@ -42,7 +42,7 @@ RightButtonGroupMargin="0,5,5,0">
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常类型:"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" Text="{Binding ExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" Text="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
@ -57,8 +57,10 @@ RightButtonGroupMargin="0,5,5,0">
</Grid>
</Grid>
<Grid Grid.Row="1">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Stretch" Height="120" />
</Grid>
<c:BTextBox Grid.Row="1" Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" WaterRemark="备注消息" Height="NaN" VerticalAlignment="Stretch"/>
</Grid>

20
BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml.cs

@ -22,14 +22,24 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class AddExceptionWindow : BWindow
{
public AddExceptionWindow(QualityTaskService qualityTaskService, long taskId)
public AddExceptionWindow(QualityTaskService qualityTaskService, long taskId, TaskState abortTaskState, Action taskAbort)
{
InitializeComponent();
this.qualityTaskService = qualityTaskService;
this.TaskId = taskId;
this.DataContext = this;
AbortTaskState = abortTaskState;
TaskAbort = taskAbort;
}
Action TaskAbort { get; set; }
/// <summary>
/// 任务挂起类型
/// </summary>
public TaskState AbortTaskState { get; set; }
QualityTaskService qualityTaskService;
@ -48,7 +58,7 @@ namespace BBWY.Client.Views.QualityTask
private List<TaskExceptionType> taskExceptionTypeList=new List<TaskExceptionType> {
TaskExceptionType.
TaskExceptionType., TaskExceptionType.
};
/// <summary>
/// 验收异常类型
@ -71,13 +81,13 @@ namespace BBWY.Client.Views.QualityTask
return;
}
var res = qualityTaskService.QualityTaskException(TaskId, TaskExceptionType, RemarkMsg);
var res = qualityTaskService.QualityTaskException(TaskId, TaskExceptionType, RemarkMsg, AbortTaskState);
if (res==null||!res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
TaskAbort?.Invoke();
this.Close();
}
}

26
BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml

@ -38,29 +38,37 @@
<TextBlock Text="打印" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1" Orientation="Vertical" >
<StackPanel Orientation="Horizontal" Margin=" 50 50 0 0" HorizontalAlignment="Left">
<StackPanel Grid.Row="1" Orientation="Vertical" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" Margin=" 0 20 0 0" HorizontalAlignment="Left">
<TextBlock Margin="0 0 5 0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1">
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="30" Width="150" VerticalAlignment="Center" HorizontalAlignment="Left" />
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="30" Width="170" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Border>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin=" 50 10 0 0" HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Margin=" 0 10 0 0" HorizontalAlignment="Left">
<TextBlock HorizontalAlignment="Left" Text="良品数量:" Margin="0 0 5 0" />
<TextBlock Name="goodProductQuantity" HorizontalAlignment="Left" Margin="0 0 5 0" />
<TextBlock Text="{Binding GoodProductQuantity}" HorizontalAlignment="Left" Margin="0 0 0 0" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<TextBlock HorizontalAlignment="Left" Foreground="Red" Margin="0 10 0 0" Visibility="{Binding BrandMarkType,Converter={StaticResource objConverter},ConverterParameter=无需贴商标:Collapsed:Visible}">
<Run Text="品牌商标:"/>
<Run Text="{Binding GoodProductQuantity}"/>
<Run Text=" "/>
<Run Text="{Binding BrandMarkType}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="条形码数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="barNumber" Width="100" WaterRemark="填0不打印条形码"/>
<c:BTextBox Text="{Binding BarNumber}" Width="150" WaterRemark="填0不打印条形码"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<StackPanel Orientation="Horizontal" Margin="0 10 0 0" Visibility="{Binding IsNeedPrintCer,Converter={StaticResource objConverter},ConverterParameter=需要:Visible:Collapsed}">
<TextBlock Text="合格证数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="cerNumber" Width="100" WaterRemark="填0不打印合格证"/>
<c:BTextBox Text="{Binding CerNumber}" Width="150" WaterRemark="填0不打印合格证"/>
</StackPanel>
</StackPanel>

50
BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs

@ -25,20 +25,43 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class BatchPrintWindow : BWindow
{
public BatchPrintWindow()
public BatchPrintWindow(BrandMarkType brandMarkType, Need isNeedPrintCer, int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel)
{
InitializeComponent();
this.Loaded += BatchPrintWindow_Loaded;
}
public void SetData(int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel)
{
BrandMarkType = brandMarkType;
IsNeedPrintCer = isNeedPrintCer;
this.BarCodeModel = BarCodeModel;
this.GoodProductQuantity = GoodProductQuantity;
goodProductQuantity.Text = GoodProductQuantity.ToString();
this.CertificateModel = CertificateModel;
this.DataContext = this;
BarNumber = GoodProductQuantity.ToString();
if (IsNeedPrintCer == Need.)
{
CerNumber = GoodProductQuantity.ToString();
}
else
{
CerNumber = "0";
}
}
public Need IsNeedPrintCer { get => isNeedPrintCer; set { Set(ref isNeedPrintCer,value); } }
private Need isNeedPrintCer;
public BrandMarkType BrandMarkType { get => brandMarkType; set { Set(ref brandMarkType, value); } }
private BrandMarkType brandMarkType;
public void SetData()
{
}
@ -82,6 +105,11 @@ namespace BBWY.Client.Views.QualityTask
}
private string barNumber;
public string BarNumber { get => barNumber; set { Set(ref barNumber, value); } }
private string cerNumber;
public string CerNumber { get => cerNumber; set { Set(ref cerNumber, value); } }
private void PrintData(int printCount, string printName, BarCodeModel barCode = null, CertificateModel certificateModel = null)
@ -142,20 +170,20 @@ namespace BBWY.Client.Views.QualityTask
private void BButton_Click(object sender, RoutedEventArgs e)
{
int cerNum = 0, barNum = 0;
if (!string.IsNullOrEmpty(cerNumber.Text))
if (!string.IsNullOrEmpty(CerNumber))
try
{
cerNum = Convert.ToInt32(cerNumber.Text);
cerNum = Convert.ToInt32(CerNumber);
}
catch
{
MessageBox.Show("请输入数字");
return;
}
if (!string.IsNullOrEmpty(barNumber.Text))
if (!string.IsNullOrEmpty(BarNumber))
try
{
barNum = Convert.ToInt32(barNumber.Text);
barNum = Convert.ToInt32(BarNumber);
}
catch
{

53
BBWY.Client/Views/QualityTask/QualityControl.xaml

@ -23,9 +23,6 @@
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
@ -96,9 +93,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
@ -352,47 +349,25 @@
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商品验收"
Command="{Binding DataContext.QualityTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
CommandParameter="{Binding TaskId}"/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="验收异常"
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="验收异常"
Command="{Binding DataContext.QualityTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding DataContext.QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<!--Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" -->
<!--<StackPanel >
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter="9;待验收:&amp;:Visible:Collapsed:1">
<Binding Path="ShopId"/>
<Binding Path="TaskState"/>
</MultiBinding>
</StackPanel.Visibility>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="信息不全"
CommandParameter="{Binding }"
Command="{Binding DataContext.SendToSetSkuConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<c:BButton.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter=";:amp;:Visible:Collapsed:1">
<Binding Path="BarCodeModel"/>
<Binding Path="CertificateModel"/>
</MultiBinding>
</c:BButton.Visibility>
</c:BButton>
</StackPanel>-->
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 0 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>
</StackPanel>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"
@ -494,8 +469,4 @@ CommandParameter="{Binding TaskId}"/>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>

6
BBWY.Client/Views/QualityTask/QualityControl.xaml.cs

@ -1,4 +1,5 @@
using System;
using BBWY.Common.Extensions;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
@ -21,6 +22,9 @@ namespace BBWY.Client.Views.QualityTask
public QualityControl()
{
InitializeComponent();
int b = 0;
int c=b.Copy();
}
}
}

5
BBWY.Client/Views/QualityTask/QualityWindow.xaml

@ -467,11 +467,16 @@
</Grid>
<DockPanel Grid.Row="2">
<c:BButton Content="完成验收" Width="100" DockPanel.Dock="Right" VerticalAlignment="Stretch" Margin="0,0,20,0" HorizontalAlignment="Right"
Command="{Binding CompeteQualityTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
<c:BButton Content="验收异常" Width="100" DockPanel.Dock="Right" VerticalAlignment="Stretch" HorizontalAlignment="Right"
Command="{Binding QualityTaskExceptionCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="#ec808d" BorderThickness="0" Foreground="White"/>
</DockPanel>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="1" VerticalAlignment="Bottom"/>

6
BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml

@ -56,7 +56,7 @@
<TextBlock Text="包装员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="操作" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="12"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
@ -105,9 +105,9 @@
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding EndTime,StringFormat=yyyy-MM-dd HH:mm}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="任务ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"

85
BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml

@ -0,0 +1,85 @@
<UserControl x:Class="BBWY.Client.Views.QualityTask.ShopWaitQualityList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<RadioButton Content="待验收" Height="35" Width="130" Tag="{Binding QualityTaskCount,Mode=TwoWay}" IsChecked="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待验收:True:False}"
Command="{Binding SetQualityTaskExceptionStateCommand}" CommandParameter="{x:Static cmodel:QualityTaskExceptionState.待验收}"
/>
<RadioButton Content="验收异常" Height="35" Width="130" Tag="{Binding QualityExceptionCount,Mode=TwoWay}" IsChecked="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:True:False}"
Command="{Binding SetQualityTaskExceptionStateCommand}" CommandParameter="{x:Static cmodel:QualityTaskExceptionState.验收异常}"
/>
</StackPanel>
<Grid Grid.Row="1">
<local:ShopWaitQualityControl/>
</Grid>
</Grid>
</Grid>
</UserControl>

25
BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml.cs

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// ShopWaitQualityList.xaml 的交互逻辑
/// </summary>
public partial class ShopWaitQualityList : UserControl
{
public ShopWaitQualityList()
{
InitializeComponent();
}
}
}

5
BBWY.Client/Views/QualityTask/WaitQualityList.xaml

@ -1,13 +1,12 @@
<UserControl x:Class="BBWY.Client.Views.QualityTask.WaitQualityList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
@ -206,7 +205,7 @@
<StackPanel Orientation="Horizontal" Grid.Row="1">
<RadioButton Content="待验收" Height="35" Width="130" IsChecked="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待验收:True:False}"
<RadioButton Content="待验收" Height="35" Width="130" Tag="{Binding QualityTaskCount,Mode=TwoWay}" IsChecked="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待验收:True:False}"
Command="{Binding SetQualityTaskExceptionStateCommand}" CommandParameter="{x:Static cmodel:QualityTaskExceptionState.待验收}"
/>
<RadioButton Content="验收异常" Height="35" Width="130" Tag="{Binding QualityExceptionCount,Mode=TwoWay}" IsChecked="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:True:False}"

4
BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml

@ -215,9 +215,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18"
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="任务ID:" Style="{StaticResource middleTextBlock}" />
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,0,0 0">

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

@ -113,7 +113,7 @@
CommandParameter="{Binding}"
/>
<Grid Grid.Column="4" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus.Count,Converter={StaticResource objConverter},ConverterParameter=0:∧:∨}" FontWeight="Bold"
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
@ -121,7 +121,7 @@
</Grid>
</Grid>
<Grid Grid.Row="1">
<Grid Grid.Row="1" Visibility="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
@ -207,9 +207,9 @@
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

4
BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml

@ -151,9 +151,9 @@
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

8
BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml

@ -158,7 +158,7 @@ Foreground="{StaticResource Text.Color}">
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="{StaticResource Border.Background}">
<TextBlock Text="任务ID:" Margin="10 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskIdRemark}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
@ -324,7 +324,7 @@ Foreground="{StaticResource Text.Color}">
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="{StaticResource Border.Background}">
<TextBlock Text="任务ID:" Margin="10 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskIdRemark}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
@ -500,7 +500,7 @@ Foreground="{StaticResource Text.Color}">
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="{StaticResource Border.Background}">
<TextBlock Text="任务ID:" Margin="10 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskIdRemark}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
@ -679,7 +679,7 @@ Foreground="{StaticResource Text.Color}">
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="{StaticResource Border.Background}">
<TextBlock Text="任务ID:" Margin="10 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskIdRemark}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"

2
BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml.cs

@ -125,6 +125,7 @@ namespace BBWY.Client.Views.SealBox
WareName = s.WareName,
WareId=s.WareId,
TaskId=sealBoxWaitConfigureModel.TaskId,
TaskIdRemark=sealBoxWaitConfigureModel.TaskIdRemark,
TotalWareCount=sealBoxConfigureVM.TotalCount,
}
@ -153,6 +154,7 @@ namespace BBWY.Client.Views.SealBox
WareName = s.WareName,
WareId=s.WareId,
TaskId=sealBoxWaitConfigureModel.TaskId,
TaskIdRemark=sealBoxWaitConfigureModel.TaskIdRemark,
TotalWareCount=sealBoxConfigureVM.TotalCount,
}

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

@ -249,13 +249,13 @@
CommandParameter="{Binding}"
/>
<Grid Grid.Column="6" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Visibility="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
@ -346,9 +346,9 @@
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

92
BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml

@ -0,0 +1,92 @@
<c:BWindow x:Class="BBWY.Client.Views.SplitTask.SplitTaskWindow"
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.SplitTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="300" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Button.Background}">
<TextBlock Text="任务拆分" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常类型"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" Text="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</Grid>
<Grid Grid.Row="1" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常任务量"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<c:BTextBox Height="30" HorizontalAlignment="Stretch" Text="{Binding ExceptionCount}" BorderThickness="0" Margin="1" />
</Grid>
</Grid>
</Grid>
<Grid Grid.Row="2">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" AcceptsReturn="True" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Stretch" MinHeight="80" />
</Grid>
</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"
/>
</Grid>
</c:BWindow>

104
BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml.cs

@ -0,0 +1,104 @@
using BBWY.Client.APIServices;
using BBWY.Client.APIServices.QiKu;
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.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using WebSocketSharp;
namespace BBWY.Client.Views.SplitTask
{
/// <summary>
/// SplitTaskWindow.xaml 的交互逻辑
/// </summary>
public partial class SplitTaskWindow : BWindow
{
public SplitTaskWindow(PackTaskService packTaskService, long taskId, TaskState abortTaskState, Action splitTask)
{
InitializeComponent();
this.TaskId = taskId;
this.DataContext = this;
AbortTaskState = abortTaskState;
this.packTaskService = packTaskService;
TaskId = taskId;
SplitTask = splitTask;
}
private Action SplitTask { get; set; }
/// <summary>
/// 任务挂起类型
/// </summary>
public TaskState AbortTaskState { get; set; }
PackTaskService packTaskService;
private long taskId;
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get => taskId; set { Set(ref taskId, value); } }
private TaskExceptionType taskExceptionType;
/// <summary>
/// 验收异常类型
/// </summary>
public TaskExceptionType TaskExceptionType { get => taskExceptionType; set { Set(ref taskExceptionType, value); } }
private int exceptionCount;
/// <summary>
/// 验收异常类型
/// </summary>
public int ExceptionCount { get => exceptionCount; set { Set(ref exceptionCount, value); } }
private List<TaskExceptionType> taskExceptionTypeList = new List<TaskExceptionType> {
TaskExceptionType., TaskExceptionType.
};
/// <summary>
/// 验收异常类型
/// </summary>
public List<TaskExceptionType> TaskExceptionTypeList { get => taskExceptionTypeList; set { Set(ref taskExceptionTypeList, value); } }
private string remarkMsg;
/// <summary>
/// 备注消息
/// </summary>
public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (RemarkMsg.IsNullOrEmpty())
{
MessageBox.Show("请输入具体问题描述.");
return;
}
var res = packTaskService.SplitPackTask(TaskId, ExceptionCount, TaskExceptionType, RemarkMsg, AbortTaskState);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
SplitTask?.Invoke();
this.Close();
}
}
}

4
BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml

@ -247,9 +247,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18"
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

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

@ -182,13 +182,13 @@ Visibility="{Binding WaitTransportRemainTime,Converter={StaticResource objConver
CommandParameter="{Binding}"
/>
<Grid Grid.Column="5" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitTransportSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1" Visibility="{Binding WaitTransportSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}">
<Grid Grid.Row="1" Visibility="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
@ -281,9 +281,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18"
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">

Loading…
Cancel
Save