Browse Source

合并

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
5ef6b73d06
  1. 49
      BBWY.Client/APIServices/QiKu/PackServiceService.cs
  2. 62
      BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs
  3. 48
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  4. 5
      BBWY.Client/APIServices/QiKu/PackUserService.cs
  5. 53
      BBWY.Client/APIServices/QiKu/PackagingTaskService.cs
  6. 104
      BBWY.Client/APIServices/QiKu/QualityTaskService.cs
  7. 10
      BBWY.Client/APIServices/QiKu/SealBoxService.cs
  8. 15
      BBWY.Client/App.xaml.cs
  9. 5
      BBWY.Client/BBWY.Client.csproj
  10. 41
      BBWY.Client/Converters/MultiStateConverter.cs
  11. 2
      BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs
  12. 105
      BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs
  13. 4
      BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs
  14. 10
      BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs
  15. 4
      BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs
  16. 2
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  17. 47
      BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs
  18. 1
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs
  19. 22
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs
  20. 253
      BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs
  21. 33
      BBWY.Client/Models/APIModel/Response/QualityTask/SearchProductAttrsBySkuIdResponse.cs
  22. 230
      BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs
  23. 10
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs
  24. 3
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs
  25. 1
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs
  26. 46
      BBWY.Client/Models/Enums.cs
  27. 12
      BBWY.Client/Models/PackTask/EnumModel.cs
  28. 245
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  29. 9
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  30. 2
      BBWY.Client/Models/PackTask/ShopTotal.cs
  31. 40
      BBWY.Client/Models/QualityTask/QualityPackTaskModel.cs
  32. 6
      BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs
  33. 1
      BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs
  34. 2
      BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs
  35. 2
      BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs
  36. 1
      BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs
  37. 4
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  38. 713
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  39. 2276
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  40. 182
      BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs
  41. 315
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  42. 14
      BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs
  43. 4
      BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml
  44. 4
      BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml
  45. 8
      BBWY.Client/Views/FallWare/WaitFallWareControl.xaml
  46. 5
      BBWY.Client/Views/FallWare/WareFallWareListControl.xaml
  47. 7
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  48. 3
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs
  49. 4
      BBWY.Client/Views/PackTask/PackTaskTotal.xaml
  50. 4
      BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml
  51. 9
      BBWY.Client/Views/PackTask/TaskList.xaml
  52. 4
      BBWY.Client/Views/PackTask/TaskListControl.xaml
  53. 15
      BBWY.Client/Views/PackTask/WaitPackageControl.xaml
  54. 5
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  55. 18
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml
  56. 119
      BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml
  57. 183
      BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml.cs
  58. 77
      BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml
  59. 82
      BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml.cs
  60. 231
      BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml
  61. 245
      BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml.cs
  62. 89
      BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml
  63. 26
      BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml.cs
  64. 515
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml
  65. 26
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml.cs
  66. 563
      BBWY.Client/Views/PackagingTask/WaitPackingExceptionTaskControl.xaml
  67. 26
      BBWY.Client/Views/PackagingTask/WaitPackingExceptionTaskControl.xaml.cs
  68. 617
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml
  69. 77
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml.cs
  70. 4
      BBWY.Client/Views/PackerTask/PackerPackCompletedControl.xaml
  71. 4
      BBWY.Client/Views/PackerTask/PackerSalaryControl.xaml
  72. 14
      BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml
  73. 89
      BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml
  74. 26
      BBWY.Client/Views/PackerTask/PackerWaitPackageList.xaml.cs
  75. 28
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml
  76. 90
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs
  77. 526
      BBWY.Client/Views/QualityTask/QualityControl.xaml
  78. 30
      BBWY.Client/Views/QualityTask/QualityControl.xaml.cs
  79. 14
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  80. 170
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  81. 11
      BBWY.Client/Views/QualityTask/QualityWindow.xaml.cs
  82. 24
      BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml
  83. 85
      BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml
  84. 25
      BBWY.Client/Views/QualityTask/ShopWaitQualityList.xaml.cs
  85. 13
      BBWY.Client/Views/QualityTask/WaitQualityControl.xaml
  86. 223
      BBWY.Client/Views/QualityTask/WaitQualityList.xaml
  87. 245
      BBWY.Client/Views/QualityTask/WaitQualityList.xaml.cs
  88. 41
      BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml
  89. 77
      BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml.cs
  90. 4
      BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml
  91. 34
      BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml
  92. 2
      BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml
  93. 4
      BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml
  94. 8
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml
  95. 2
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml.cs
  96. 8
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml
  97. 56
      BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml
  98. 61
      BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml.cs
  99. 69
      BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml
  100. 127
      BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml.cs

49
BBWY.Client/APIServices/QiKu/PackServiceService.cs

@ -1,49 +0,0 @@
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.Models.PackTask;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
namespace BBWY.Client.APIServices
{
public class PackServiceService : BaseApiService,IDenpendency
{
public PackServiceService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<PackServiceDTO[]> SearchAll()
{
return SendRequest<PackServiceDTO[]>(globalContext.QKApiHost, "api/PackService/SearchAll",
null
, null, HttpMethod.Get);
}
public ApiResponse<object> Add(PackServiceDTO consumable)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackService/Add",
consumable
, null, HttpMethod.Post);
}
public ApiResponse<object> Edit(PackServiceDTO consumable)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackService/Edit",
consumable
, null, HttpMethod.Post);
}
public ApiResponse<object> Deleted(long id)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackService/Deleted",
new
{
id = id
}
, null, HttpMethod.Get);
}
}
}

62
BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs

@ -0,0 +1,62 @@
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Response.PackTask;
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 PackTaskAbortService : BaseApiService, IDenpendency
{
public PackTaskAbortService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<object> AbortPackTask(long TaskId, int TaskExceptionType, string RemarkMsg, TaskState AbortTaskState, string ShelvesNumber, int? FloorNumber)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTaskAbort/AbortPackTask?taskId={TaskId}",
new
{
TaskId,
TaskExceptionType,
RemarkMsg,
UserName = globalContext.User.Name,
AbortTaskState,
ShelvesNumber,
FloorNumber
}
, null, HttpMethod.Post);
}
public ApiResponse<object> DisposedPackTask(long TaskId)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTaskAbort/DisposedPackTask?taskId={TaskId}",
new {
TaskId,
UserName = globalContext.User.Name
}
, null, HttpMethod.Post);
}
public ApiResponse<object> UpdateAbortPackTask(long TaskId, TaskState TaskState, string ShelvesNumber,int? FloorNumber)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTaskAbort/UpdateAbortPackTask",
new
{
TaskId,
TaskState,
ShelvesNumber,
FloorNumber,
UserName = globalContext.User.Name
}
, null, HttpMethod.Post);
}
}
}

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

@ -30,14 +30,14 @@ namespace BBWY.Client.APIServices
TaskState? TaskState = null,
int pageIndex = 1,
int pageSize = 10
)
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
{
orderSn,
spuId,
skuId,
@ -57,7 +57,7 @@ namespace BBWY.Client.APIServices
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null,
string PackUserName=null
string PackUserName = null
)
{
@ -373,18 +373,19 @@ 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,
OperatorUserName= globalContext.User.Name
OperatorUserName = globalContext.User.Name
}, null, HttpMethod.Post);
}
public ApiResponse<SearchStoreGetSelfResponse> SearchStoreGetSelfList(string taskId, string OrderSn, string SpuId, string SkuId,string DepartmentName, string ShopName, int? pageIndex, int pageSize, string ShopId)
public ApiResponse<SearchStoreGetSelfResponse> SearchStoreGetSelfList(string taskId, string OrderSn, string SpuId, string SkuId, string DepartmentName, string ShopName, int? pageIndex, int pageSize, string ShopId)
{
return SendRequest<SearchStoreGetSelfResponse>(globalContext.QKApiHost, $"api/PackTask/SearchStoreGetSelfList", new
@ -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,32 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<object> SplitPackTask(long nowTaskId, int ExceptionCount,TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SplitPackTask",
new
{
UserName = globalContext.User.Name,
nowTaskId,
ExceptionCount,
AbortTaskState,
}
, null, HttpMethod.Post);
}
/// <summary>
/// 创建任务 新版
/// </summary>
/// <param name="createTaskRequest"></param>
/// <returns></returns>
public ApiResponse<TaskAbortEnumResponse> GetTaskAbortEnum()
{
return SendRequest<TaskAbortEnumResponse>(globalContext.QKApiHost, "api/PackTask/GetTaskAbortEnum",null , null, HttpMethod.Get);
}
}
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);
}
}
}

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

@ -0,0 +1,104 @@
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
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 QualityTaskService : BaseApiService, IDenpendency
{
public QualityTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<SearchQualityTaskListResponse> SearchQualityTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
string spuId = null, string orderSn = null,
QualityTaskExceptionState? QualityTaskExceptionState = null,
string ShopName = null,
int pageIndex = 1,
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null,
string PackUserName = null,
string shopId = null
)
{
return SendRequest<SearchQualityTaskListResponse>(globalContext.QKApiHost, "api/QualityTask/SearchQualityTaskList", new
{
SkuTitle,
SpuTitle,
DepartmentName = departmentName,
SkuId = skuId,
TaskId = taskId,
QualityTaskExceptionState,
PageIndex = pageIndex,
PageSize = pageSize,
ShopName = ShopName,
WayBillNo = WayBillNo,
SourceExpressName = SourceExpressName,
spuId,
orderSn,
PackUserName,
shopId
}, null, HttpMethod.Post);
}
public ApiResponse<SearchProductAttrsBySkuIdResponse> SearchProductAttrsBySkuId(string SkuId, string AppKey, string AppSecret, string AppToken, Platform platform)
{
return SendRequest<SearchProductAttrsBySkuIdResponse>(globalContext.QKApiHost, $"api/Product/SearchProductAttrsBySkuId",
new
{
SkuId,
AppKey,
AppSecret,
AppToken,
platform
}
, null, HttpMethod.Post);
}
public ApiResponse<object> SendMsgToPurchaseDepartment(long TaskId, SendCer3CValidMsgModel SendCer3CValidMsgModel)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/QualityTask/SendMsgToPurchaseDepartment",
new
{
TaskId,
SendCer3CValidMsgModel,
UserName = globalContext.User.Name
}
, null, HttpMethod.Post);
}
public ApiResponse<QualityTaskResponse> GetQualityTask(long taskId)
{
return SendRequest<QualityTaskResponse>(globalContext.QKApiHost, $"api/QualityTask/GetQualityTask?taskId={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<bool> CompeteQualityTask(QualityTaskRequest competeQualityTask)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/QualityTask/CompeteQualityTask", competeQualityTask, 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
@ -143,7 +143,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",
@ -170,7 +170,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",
@ -237,7 +237,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
@ -288,7 +288,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

15
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";
@ -68,15 +68,18 @@ namespace BBWY.Client
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI0OTUxNjgzNTc2NTAwMjI0IiwidGVhbUlkIjoiMTYyMDM0MjAxNDcwNjk3ODgxNiIsInNvblRlYW1JZHMiOiIxNjIwMzQyMDE0NzA2OTc4ODE2LDE2MjAzNDQxNDA4NTAwMDgwNjQsMTQxMDk1NTYwNDYxMjA5MTkwNCIsImV4cCI6MTcyNDkxNDM5M30.tIgo70tzRxZyUQkX1Jsh9I4ySciX0VC9HMMOoTnwVtM";
//包装组
/// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzA4MjA4NjU1MzcyMjg4IiwidGVhbUlkIjoiMTcxODU0MTA2MzM5NzgzODg0OCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MzAyODcxNjh9.lpiLJjP0prtQgZZfpG0NN6n60LNKstbFCJc-nLgb62A";
/// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzA4MjA4NjU1MzcyMjg4IiwidGVhbUlkIjoiMTcxODU0MTA2MzM5NzgzODg0OCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MzAyODcxNjh9.lpiLJjP0prtQgZZfpG0NN6n60LNKstbFCJc-nLgb62A";
//齐越琳琳
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//齐越季夏
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY";
#else
// 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>

41
BBWY.Client/Converters/MultiStateConverter.cs

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Data;
namespace BBWY.Client.Converters
{
public class MultiStateConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var param = parameter?.ToString();
var parms = param.Split(":");
if (values == null||values.Count()<2) return null;
string taskState = values[0]?.ToString();
string exceptState = values[1]?.ToString();
if (taskState != param)
{
return taskState ;
}
else
{
return exceptState;
}
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

2
BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs

@ -115,6 +115,8 @@ namespace BBWY.Client.Models.APIModel.Request
/// </summary>
public List<string> WayBillNoList { get; set; }
}

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

@ -11,49 +11,49 @@ namespace BBWY.Client.Models.APIModel.Request
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
///// <summary>
///// 拳探订单id
///// </summary>
//public string OrderId { get; set; }
///// <summary>
///// skuid
///// </summary>
//public string SkuId { get; set; }
///// <summary>
///// 备注信息
///// </summary>
//public string MarkMessage { get; set; }
///// <summary>
///// 配件数
///// </summary>
//public int GoodsNumber { get; set; }
///// <summary>
///// sku配件名称
///// </summary>
//public string SkuGoodsTitle { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get; set; }
///// <summary>
///// 增量1()
///// </summary>
//public string Increment1 { get; set; }
///// <summary>
///// 基础包装(快递袋=0,纸箱=1,麻袋=2)
///// </summary>
//public BasicPack BasicPack { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get; set; }
///// <summary>
///// 打包类型(单件=0,多件=1)
///// </summary>
//public PackType PackType { get; set; }
/// <summary>
/// 货号品名(手写上传)
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get; set; }
///// <summary>
///// 合格证位置(外部包装=0,产品包装=1)
///// </summary>
//public CertificatePosition CertificatePosition { get; set; }
/// <summary>
/// 合格证id
@ -63,40 +63,19 @@ 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>
public int ArrivalQuantity { get; set; }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get; set; }
//public int ArrivalQuantity { get; set; }
///// <summary>
///// 预计完成时间
///// 良品数量
///// </summary>
//public DateTime? PreCompeteTime { get; set; }
//public int GoodProductQuantity { get; set; }
/// <summary>
/// 地拖摆放编号
/// 品牌标签类型
/// </summary>
public int? FloorDragNumber { get; set; }
public BrandMarkType? BrandMarkType { get; set; }
}
}

4
BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs

@ -105,5 +105,9 @@ namespace BBWY.Client.Models.APIModel.Request
/// 绑定快递单号
/// </summary>
public List<string> WayBillNoList { get; set; }
/// <summary>
///
/// </summary>
public SaveType? SaveType { get; set; }
}
}

10
BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs

@ -99,6 +99,16 @@ namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask
///
/// </summary>
public SaveType? SaveType { get; set; }
/// <summary>
/// 商家自取数
/// </summary>
public int? StoreGetSelfCount { get; set; }
/// <summary>
/// 是否首次验收
/// </summary>
public bool IsPassInspection { get; set; }
}
public class WareHourseDTO
{

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>

47
BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs

@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class TaskAbortEnumResponse
{
/// <summary>
/// 货架列表
/// </summary>
public List<string> ShelvesNumberList { get; set; }
/// <summary>
/// 层数列表
/// </summary>
public List<int> FloorNumberList { get; set; }
///// <summary>
///// 异常类型列表
///// </summary>
//public List<EnumModel> TaskExceptionTypeList { get; set; }
/// <summary>
/// 是否能包装类型
/// </summary>
public List<IsContinuePackageModel> IsCanPackModelList { get; set; }
}
public class IsContinuePackageModel
{
/// <summary>
/// 可继续包装类型
/// </summary>
public string Name { get; set; }
/// <summary>
/// 索引
/// </summary>
public int Index { get; set; }
/// <summary>
/// 异常类型列表
/// </summary>
public List<EnumModel> TaskExceptionTypeList { get; set; }
}
}

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>

22
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>
@ -23,9 +31,9 @@ namespace BBWY.Client.Models.APIModel
public string WaitPackCount { get; set; }
}
public class PackerTaskData:NotifyObject
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

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

@ -0,0 +1,253 @@
using BBWY.Client.Models.APIModel.Response.PackTask;
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; }
public FeesItemResponse FeesItemResponse { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
public string OrderId { get; set; }
}
}

33
BBWY.Client/Models/APIModel/Response/QualityTask/SearchProductAttrsBySkuIdResponse.cs

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
/// <summary>
///
/// </summary>
public class SearchProductAttrsBySkuIdResponse
{
/// <summary>
/// 品牌
/// </summary>
public string Brand { get; set; }
/// <summary>
/// 是否在集团品牌列表
/// </summary>
public bool IsTeamBrand { get; set; }
/// <summary>
/// 适用年龄
/// </summary>
public string ApplyAge { get; set; }
/// <summary>
/// 适用年龄是否大于14
/// </summary>
public bool? IsApplyAgeOver14 { get; set; }
}
}

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

@ -0,0 +1,230 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchQualityTaskListResponse
{
/// <summary>
/// 验收异常总数
/// </summary>
public int QualityExceptionCount { get; set; }
/// <summary>
/// 待验收数量
/// </summary>
public int QualityTaskCount { get; set; }
/// <summary>
/// 查询总数据(判断总页数)
/// </summary>
public int TotalCount { get; set; }
/// <summary>
/// 页面返回的数据
/// </summary>
public List<QualityPackTaskData> Items { get; set; }
}
/// <summary>
/// 待验收数据
/// </summary>
public class QualityPackTaskData : NotifyObject
{
/// <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; }
public string OrderId { get; set; }
/// <summary>
/// 增量配件数(旧版计费)移除
/// </summary>
public int? IncrementPartCount { get; set; }
/// <summary>
/// 质检超时时间
/// </summary>
public DateTime? QualityCompletionOverTime { get; set; }
/// <summary>
/// 质检超时备注信息
/// </summary>
public string QualityOverTimeMarkMsg { 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>
/// 排单超时时间
/// </summary>
public DateTime? SendToSetSkuConfigureTime { get; set; }
/// <summary>
/// 物流状态
/// </summary>
public List<ExpressOrderResponse> ExpressOrderResponses { get; set; }
/// <summary>
/// 任务挂起时间
/// </summary>
public DateTime? TaskAbortTime { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
/// <summary>
/// 验收异常状态
/// </summary>
public QualityTaskExceptionState? QualityTaskExceptionState { get; set; }
}
}

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>
/// 任务状态

46
BBWY.Client/Models/Enums.cs

@ -225,7 +225,9 @@
= 0,
= 1,
= 2,//已到货
_ = 21,//异常挂起
= 3,
_ = 31,//异常挂起
= 4,
= 5,
= 6,
@ -236,6 +238,7 @@
=11,
=12,
=13,
=14
}
@ -555,10 +558,7 @@
}
public enum QualityLookState
{
}
/// <summary>
/// 配送方式(自送=1,快递配送=2)
@ -577,4 +577,44 @@
= 1, = 2
}
public enum TaskExceptionType
{
= 0,=1
}
/// <summary>
/// 验收状态 ( 待验收=1,验收异常 =2)
/// </summary>
public enum QualityTaskExceptionState
{
= 1, = 2
}
/// <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,
}
}

12
BBWY.Client/Models/PackTask/EnumModel.cs

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models
{
public class EnumModel
{
public string Name { get; set; }
public int Index { get; set; }
}
}

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

@ -1,11 +1,16 @@
using BBWY.Client.APIServices;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.ViewModels;
using BBWY.Client.ViewModels.PackTask;
using BBWY.Client.Views.PackTask;
using BBWY.Client.Views.QualityTask;
using BBWY.Client.Views.QualityTipWindows;
using BBWY.Client.Views.SplitTask;
using BBWY.Client.Views.StorePickSelf;
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using NPOI.Util;
using System;
using System.Collections.Generic;
@ -13,6 +18,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
@ -25,6 +31,16 @@ 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>
/// 展示留言信息
@ -59,7 +75,32 @@ namespace BBWY.Client.Models
/// 修改任务
/// </summary>
public ICommand UpdateTaskCommand { get; set; }
public ICommand QualityTaskCommand { get; set; }
/// <summary>
/// 任务拆分
/// </summary>
public ICommand TaskSplitCommand { get; set; }
/// <summary>
/// 挂起
/// </summary>
public ICommand PackagingTaskExceptionCommand { get; set; }
/// <summary>
/// 商家自取
/// </summary>
public ICommand StoreGetBySelfCommand { get; set; }
/// <summary>
/// 包装任务释放挂起
/// </summary>
public ICommand DisposeTaskCommand { get; set; }
/// <summary>
/// 删除任务
/// </summary>
public ICommand DeletedTaskCommand { get; set; }
public Action ReflashTask { get; set; }
private void UpdateTask()
{
@ -88,35 +129,135 @@ namespace BBWY.Client.Models
catch (Exception)
{
}
}
}
private IServiceProvider sp;
public PackTaskModel()
{
sp = (App.Current as App).ServiceProvider;
using (var ss = sp.CreateScope())
{
packTaskService = ss.ServiceProvider.GetRequiredService<PackTaskService>();
packTaskAbortService = ss.ServiceProvider.GetRequiredService<PackTaskAbortService>();
}
PrintBarcodeCommand = new RelayCommand(PrintBarcode);
PrintCerCommand = new RelayCommand(PrintCer);
LookBarCommand = new RelayCommand(LookBar);
LookCerCommand = new RelayCommand(LookCer);
SetServiceCommand = new RelayCommand(SetService);
UpdateTaskCommand = new RelayCommand(UpdateTask);
QualityTaskCommand = new RelayCommand(QualityTask);
DeletedTaskCommand = new RelayCommand<object>(DeletedTask);
DisposeTaskCommand = new RelayCommand<long>(DisposeTask);
StoreGetBySelfCommand = new RelayCommand<long>(StoreGetBySelf);
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
TaskSplitCommand = new RelayCommand<PackTaskModel>(TaskSplit);
}
private void QualityTask()
PackTaskService packTaskService;
PackTaskAbortService packTaskAbortService;
private void PackagingTaskException(long taskId)
{
//加载数据
QualityWindow service = new QualityWindow(this, ReflashTask);
service.Show();
var wareVm = (App.Current as App).ServiceProvider.GetRequiredService<WareHouseListViewModel>();
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState., ReflashTask, wareVm.IsCanPackModelList, wareVm.ShelvesNumberList, wareVm.FloorNumberList);
addExceptionWindow.ShowDialog();
}
private void TaskSplit(PackTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask);
addExceptionWindow.ShowDialog();
}
public void StoreGetBySelf(long taskId)
{
//MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示",
// MessageBoxButton.YesNo,
// MessageBoxImage.Warning);
//if (result != MessageBoxResult.Yes) return;
var data = packTaskService.GetStoreGetSelfData(taskId);
if (!data.Success)
{
MessageBox.Show(data?.Msg);
return;
}
StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) =>
{
var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName);
if (res == null)
{
return false;
}
if (!res.Success)
{
System.Windows.MessageBox.Show(res.Msg, "错误信息");
return false;
}
Task.Factory.StartNew(() => ReflashTask?.Invoke());
return true;
}, false);
sorePickProductWindow.ShowDialog();
}
/// <summary>
/// 手动释放挂起
/// </summary>
/// <param name="model"></param>
private void DisposeTask(long taskId)
{
if (System.Windows.MessageBox.Show("是否释放挂起?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning) != MessageBoxResult.Yes)
return;
var res = packTaskAbortService.DisposedPackTask(taskId);
if (res == null || !res.Success)
{
System.Windows.MessageBox.Show(res?.Msg);
return;
}
ReflashTask?.Invoke();
}
private void DeletedTask(object obj)
{
var packTaskmodel = (PackTaskModel)obj;
MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskIdRemark}?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
packTaskService.DeletedTask(packTaskmodel.TaskId);
Task.Factory.StartNew(() => ReflashTask?.Invoke());
}
private void SetService()
{
if (this.PackProcessType==null&&this.FeesMoney>0)
if (this.PackProcessType == null && this.FeesMoney > 0)
{
ServiceWindow window = new ServiceWindow(this, ReflashTask);
window.ShowDialog();
@ -237,16 +378,6 @@ namespace BBWY.Client.Models
public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } }
private Availability availability;
/// <summary>
/// 到货情况(待收货=0,部分收货=1,已到货=2)
/// </summary>
public Availability Availability { get => availability; set { Set(ref availability, value); } }
private TaskState taskState;
/// <summary>
@ -396,6 +527,48 @@ namespace BBWY.Client.Models
public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } }
private QualityTaskExceptionState? qualityTaskExceptionState;
public QualityTaskExceptionState? QualityTaskExceptionState { get => qualityTaskExceptionState; set { Set(ref qualityTaskExceptionState, value); } }
private PackagingTaskExceptionState packagingTaskExceptionState;
/// <summary>
/// 包装任务状态
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get => packagingTaskExceptionState; set { Set(ref packagingTaskExceptionState, value); } }
/// <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; }
@ -417,7 +590,10 @@ namespace BBWY.Client.Models
public DateTime? QualityCompletionOverTime { get; set; }
/// <summary>
/// 任务挂起时间
/// </summary>
public DateTime? TaskAbortTime { get; set; }
private string packRemainTime;
/// <summary>
@ -503,12 +679,35 @@ namespace BBWY.Client.Models
public PackProcessType? PackProcessType { get => packProcessType; set { Set(ref packProcessType, value); } }
public string ShopId { get; set; }
public string ShopId { get; set; }
/// <summary>
/// 发送信息不全时间
/// </summary>
public DateTime? SendToSetSkuConfigureTime { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
}
public class SkuMessage : NotifyObject
@ -555,7 +754,7 @@ namespace BBWY.Client.Models
}

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

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

2
BBWY.Client/Models/PackTask/ShopTotal.cs

@ -20,6 +20,8 @@ namespace BBWY.Client.Models.PackTask
private bool taskChecked;
public bool TaskChecked { get => taskChecked; set { Set(ref taskChecked, value); } }
public string TaskIdRemark { get; set; }
/// <summary>
/// 任务id
/// </summary>

40
BBWY.Client/Models/QualityTask/QualityPackTaskModel.cs

@ -0,0 +1,40 @@
using BBWY.Client.Models.APIModel;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.QualityTask
{
public class QualityPackTaskModel : QualityPackTaskData
{
private string qualityRemainTime;
/// <summary>
/// 质检剩余时间
/// </summary>
public string QualityRemainTime { get => qualityRemainTime; set { Set(ref qualityRemainTime, value); } }
private bool isQualityOverTime;
public bool IsQualityOverTime { get => isQualityOverTime; set { Set(ref isQualityOverTime, value); } }
private bool showSendMsg = false;
/// <summary>
/// 展示留言信息
/// </summary>
public bool ShowSendMsg { get => showSendMsg; set { Set(ref showSendMsg, value); } }
private string taskMarkMsg;
/// <summary>
/// 展示留言信息
/// </summary>
public string TaskMarkMsg { get => taskMarkMsg; set { Set(ref taskMarkMsg, value); } }
private bool showMoreMsg = true;
/// <summary>
/// 展示留言信息
/// </summary>
public bool ShowMoreMsg { get => showMoreMsg; set { Set(ref showMoreMsg, value); } }
}
}

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>

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

@ -426,7 +426,6 @@ namespace BBWY.Client.ViewModels.PackTask
CertificateModel = model.CertificateModel;
SkuTitle = model.SkuTitle;
GoodsNumber = model.GoodsNumber;
Availability = model.Availability;
if (string.IsNullOrEmpty(model.OrderId))

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

@ -769,7 +769,6 @@ namespace BBWY.Client.ViewModels.PackTask
CertificateModel = model.CertificateModel;
SkuTitle = model.SkuTitle;
GoodsNumber = model.GoodsNumber;
Availability = model.Availability;
if (model.ExpressOrderList!=null&&model.ExpressOrderList.Any())
{
@ -898,7 +897,7 @@ namespace BBWY.Client.ViewModels.PackTask
NeedCer = IsNeedCertificateModel == Need.,
DistributionMode = DistributionMode,
WayBillNoList = PackTaskExpressList?.Select(p => p.WaybillNo)?.ToList()
};
@ -930,6 +929,7 @@ namespace BBWY.Client.ViewModels.PackTask
var updateTaskModel = JsonConvert.DeserializeObject<UpdatePackTaskV2Request>(JsonConvert.SerializeObject(createTaskModel));
updateTaskModel.TaskId = TaskId;
updateTaskModel.SaveType = SaveType;//任务类型 修改操作
res = packTaskService.UpdatePackTaskV2(updateTaskModel);
}
else

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

@ -40,7 +40,17 @@ namespace BBWY.Client.ViewModels.PackTask
public partial class TaskListViewModel : BaseVM, IDenpendency//注入服务
{
private QualityTaskExceptionState? qualityTaskExceptionState= Models.QualityTaskExceptionState.;
/// <summary>
/// 任务状态
/// </summary>
public QualityTaskExceptionState? QualityTaskExceptionState
{
get => qualityTaskExceptionState; set
{
Set(ref qualityTaskExceptionState, value);
}
}
#region 属性绑定
@ -272,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>
@ -348,7 +400,13 @@ namespace BBWY.Client.ViewModels.PackTask
public ICommand AppendMarkMessageCommand { get; set; }
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService)
public ICommand SetQualityTaskExceptionStateCommand { get; set; }
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;
@ -407,7 +465,10 @@ namespace BBWY.Client.ViewModels.PackTask
{
SelectWareType = s;
SearchTaskList();
if (PageIndex == 1)
SearchTaskList();
else
PageIndex = 1;
});
ShowMoreMessageCommand = new RelayCommand<long>(ShowMoreMessage);
@ -415,6 +476,24 @@ namespace BBWY.Client.ViewModels.PackTask
AppendMarkMessageCommand = new RelayCommand<long>(AppendMarkMessage);
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;
@ -705,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);
@ -783,7 +864,7 @@ namespace BBWY.Client.ViewModels.PackTask
PackagingTaskService packagingTaskService;
@ -800,18 +881,8 @@ namespace BBWY.Client.ViewModels.PackTask
public void SearchTaskList()
{
IsStartThread = false;
long? taskId = null;
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
taskId = Convert.ToInt64(SearchTaskId);
}
catch
{
System.Windows.MessageBox.Show("任务id必须为数字");
return;
}
IsLoading = true;
@ -819,223 +890,537 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
try
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
if (TaskState == Models.TaskState.)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.Items)
{
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);
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item));
data.ItemList = new List<SkuMessage>() { new SkuMessage
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,
GoodsNo = item.ProductItemNum, Logo= item.Logo,
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;
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.;
}
if (item.Cers != null)
{
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息
if (TaskState == Models.TaskState.)
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
if (QualityTaskExceptionState == Models.QualityTaskExceptionState.)
{
expressData.Data.ForEach(e =>
qualityOverTimeThread = new Thread(() =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
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);
}
}
});
data.ExpressOrderList = expressData.Data;
//任务倒计时数据
qualityOverTimeThread.IsBackground = true;
qualityOverTimeThread.Start();
//任务状态为待验收
}
}
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;
}
if (item.FeesItemResponse != null)
{
data.FeesItemResponse = item.FeesItemResponse;
data.FeesMoney = item.FeesItemResponse.AllFees;
data.IsShowFees = item.FeesItemResponse.AllFees > 0 ? true : false;
data.FeesItemResponse.DiscountSingleFees = item.FeesItemResponse.SingleFees * item.FeesItemResponse.disCount;
data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * item.FeesItemResponse.disCount;
}
else
{
data.IsShowFees = false;
}
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
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;
data.ReflashTask = ReflashTask;
}
else
{
item.IsQualityOverTime = true;
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
}));
}
}
}
//任务状态为待打包
//任务状态为待验收
if (TaskState == Models.TaskState.)
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
if (packtasks.Count() > 0)
{
//if (qualityOverTimeThread!=null)
//{
// qualityOverTimeThread.Abort();
//}
qualityOverTimeThread = new Thread(() =>
Task.Factory.StartNew(() =>
{
foreach (var item in PackTaskList)
{
IsStartThread = true;
while (IsStartThread)
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
foreach (var item in packtasks)
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
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;
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
item.ExpressOrderList = expressData.Data;
}));
}
}));
Thread.Sleep(1000);
}
}
}
});
//任务倒计时数据
qualityOverTimeThread.IsBackground = true;
qualityOverTimeThread.Start();
}
});
}
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 (TaskState == Models.TaskState.)
if (datas != null && datas.Data != null && datas.Success)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
PackagingTaskCount = dataModel.PackagingTaskCount.ToString();
PackagingTaskExceptionCount = dataModel.PackagingTaskExceptionCount.ToString();
foreach (var item in dataModel.Items)
{
packOverTimeThread = new Thread(() =>
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)
{
IsStartThread = true;
while (IsStartThread)
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(() =>
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
IsStartThread = true;
while (IsStartThread)
{
foreach (var item in packCompletedTasks)
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
foreach (var item in packCompletedTasks)
{
item.IsPackOverTime = false;
item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分";
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);
}
}
else
}));
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 =>
{
item.IsPackOverTime = true;
item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
}
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
}
}));
Thread.Sleep(1000);
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}
if (TaskState == Models.TaskState.)
});
}
else
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.ScheduleOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
}
}
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.Items)
{
//if (packOverTimeThread!=null)
//{
// packOverTimeThread.Abort();
//}
scheduleOverTimeThread = new Thread(() =>
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item));
data.ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
GoodsNo = item.ProductItemNum, 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.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息
{
IsStartThread = true;
while (IsStartThread)
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);
});
data.ExpressOrderList = expressData.Data;
}
}
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;
}
if (item.FeesItemResponse != null)
{
data.FeesItemResponse = item.FeesItemResponse;
data.FeesMoney = item.FeesItemResponse.AllFees;
data.IsShowFees = item.FeesItemResponse.AllFees > 0 ? true : false;
data.FeesItemResponse.DiscountSingleFees = item.FeesItemResponse.SingleFees * item.FeesItemResponse.disCount;
data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * item.FeesItemResponse.disCount;
}
else
{
data.IsShowFees = false;
}
if (item.PackUserName != null && item.PackUserName.Count() > 0)
{
data.PackUser = string.Join("\r\n", item.PackUserName);
}
data.ReflashTask = ReflashTask;
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
}));
}
//任务状态为待验收
if (TaskState == Models.TaskState.)
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
if (packtasks.Count() > 0)
{
//if (qualityOverTimeThread!=null)
//{
// qualityOverTimeThread.Abort();
//}
qualityOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
foreach (var item in packCompletedTasks)
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
foreach (var item in packtasks)
{
item.IsScheduleOverTime = false;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);
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;
}
else
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
qualityOverTimeThread.IsBackground = true;
qualityOverTimeThread.Start();
}
}
//任务状态为待打包
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)
{
item.IsScheduleOverTime = true;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分";
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
}
}
}));
Thread.Sleep(1000);
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
});
//任务倒计时数据
scheduleOverTimeThread.IsBackground = true;
scheduleOverTimeThread.Start();
}
}
if (TaskState == Models.TaskState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.ScheduleOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
{
//if (packOverTimeThread!=null)
//{
// packOverTimeThread.Abort();
//}
scheduleOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in packCompletedTasks)
{
var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsScheduleOverTime = false;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsScheduleOverTime = true;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
scheduleOverTimeThread.IsBackground = true;
scheduleOverTimeThread.Start();
}
}
}
}
else
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
}
else
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
}
catch (Exception ex)
@ -1168,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)
{
@ -1239,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)
{
@ -1282,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;

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

File diff suppressed because it is too large

182
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;
@ -219,7 +221,7 @@ namespace BBWY.Client.ViewModels.PackerTask
/// <summary>
/// 查询物流
/// </summary>
private string selectExpress= "物流单号";
private string selectExpress = "物流单号";
public string SelectExpress
{
get => selectExpress;
@ -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,35 @@ 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)
@ -473,7 +530,7 @@ namespace BBWY.Client.ViewModels.PackerTask
{
model.ShowMoreMsg = !model.ShowMoreMsg;
}
}
@ -485,8 +542,8 @@ namespace BBWY.Client.ViewModels.PackerTask
var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId);
if (model != null)
{
var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg,globalContext.User.Name);
var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg, globalContext.User.Name);
if (res == null)
{
@ -505,15 +562,15 @@ namespace BBWY.Client.ViewModels.PackerTask
ReflashTask();
}
}
private void PackTaskMarkMessage(long taskId)
{
var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId);
if (model!=null)
var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId);
if (model != null)
{
model.ShowSendMsg = !model.ShowSendMsg;
}
@ -521,7 +578,7 @@ namespace BBWY.Client.ViewModels.PackerTask
private void CompletedPackTask(long taskId)
{
AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask,packUserService,taskId);
AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask, packUserService, taskId);
addOneItemWeightWindow.ShowDialog();
}
@ -575,7 +632,7 @@ namespace BBWY.Client.ViewModels.PackerTask
private Thread packOverTimeThread = null;
bool IsStartThread = false;
bool IsStartThread = false;
private void SearchTaskList()
{
@ -590,11 +647,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 =>
{
@ -602,10 +663,10 @@ namespace BBWY.Client.ViewModels.PackerTask
var data = JsonConvert.DeserializeObject<PackerTaskModel>(JsonConvert.SerializeObject(item));
if (PackTaskState== Models.PackTaskState.)
if (PackTaskState == Models.PackTaskState.)
{
if (item.PackCompletionOverTime<item.PackCompletionTime)//超时
if (item.PackCompletionOverTime < item.PackCompletionTime)//超时
{
data.IsPackOverTime = true;
data.PackRemainTime = OverTimeHelper.GetTimeString(item.PackCompletionTime.Value.Subtract(item.PackCompletionOverTime.Value));
@ -623,49 +684,86 @@ namespace BBWY.Client.ViewModels.PackerTask
PackerTaskModelList.Add(data);
});
});
if (PackTaskState == Models.PackTaskState.)
{
var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
{
packOverTimeThread = new Thread(() =>
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packCompletedTasks.Count() > 0)
{
IsStartThread = true;
while (IsStartThread)
packOverTimeThread = new Thread(() =>
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
IsStartThread = true;
while (IsStartThread)
{
foreach (var item in packCompletedTasks)
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
foreach (var item in packCompletedTasks)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
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);
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
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;
}
}
}));
}
}
}
@ -701,8 +799,8 @@ namespace BBWY.Client.ViewModels.PackerTask
var id = (long)paramList[0];
var markMsg = paramList[1]?.ToString();
var overTimeTaskType = Models.OverTimeTaskType.;
var overTimeTaskType = Models.OverTimeTaskType.;
SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask);
submitOverTimeMarkMsgWindow.ShowDialog();

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

@ -23,6 +23,8 @@ using BBWY.Controls;
using WebSocketSharp;
using BBWY.Client.APIServices.QiKu;
using BarcodeLib;
using System.Runtime.ConstrainedExecution;
using BBWY.Client.Models.APIModel;
namespace BBWY.Client.ViewModels
{
@ -98,14 +100,14 @@ namespace BBWY.Client.ViewModels
public ObservableCollection<string> AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } }
private int floorDragNumber;
public int FloorDragNumber { get => floorDragNumber; set { Set(ref floorDragNumber, value); } }
//private int floorDragNumber;
//public int FloorDragNumber { get => floorDragNumber; set { Set(ref floorDragNumber, value); } }
private ObservableCollection<int> floorDragNumberList = new ObservableCollection<int>
{
//private ObservableCollection<int> floorDragNumberList = new ObservableCollection<int>
//{
};
public ObservableCollection<int> FloorDragNumberList { get => floorDragNumberList; set { Set(ref floorDragNumberList, value); } }
//};
//public ObservableCollection<int> FloorDragNumberList { get => floorDragNumberList; set { Set(ref floorDragNumberList, value); } }
private ObservableCollection<WareHourseDTO> wareHourseList = new ObservableCollection<WareHourseDTO> { };
public ObservableCollection<WareHourseDTO> WareHourseList { get => wareHourseList; set { Set(ref wareHourseList, value); } }
@ -114,6 +116,12 @@ namespace BBWY.Client.ViewModels
public int WareHourseCount { get => wareHourseCount; set { Set(ref wareHourseCount, value); } }
private int? storeGetSelfCount;
/// <summary>
/// 商家自取数
/// </summary>
public int? StoreGetSelfCount { get => storeGetSelfCount; set { Set(ref storeGetSelfCount, value); } }
private int skuCount;
/// <summary>
@ -218,6 +226,21 @@ namespace BBWY.Client.ViewModels
public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } }
private BrandMarkType brandMarkType;
/// <summary>
/// 是否需要条形码
/// </summary>
public BrandMarkType BrandMarkType { get => brandMarkType; set { Set(ref brandMarkType, value); } }
private List<BrandMarkType> brandMarkTypeList = new List<BrandMarkType> { BrandMarkType., BrandMarkType., BrandMarkType. };
/// <summary>
/// 是否需要条形码
/// </summary>
public List<BrandMarkType> BrandMarkTypeList { get => brandMarkTypeList; set { Set(ref brandMarkTypeList, value); } }
private BarCodeModel barCodeModel;
/// <summary>
/// 条形码
@ -348,6 +371,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; }
@ -366,14 +394,22 @@ 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, PackTaskAbortService packTaskAbortService)
{
this.packPurchaseTaskService = packPurchaseTaskService;
this.productService = productService;
this.globalContext = globalContext;
this.purchaseService = purchaseService;
this.packTaskService = packTaskService;
this.markMessageService = markMessageService;
this.qualityTaskService = qualityTaskService;
this.packTaskAbortService = packTaskAbortService;
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SetBarCodeCommand = new RelayCommand(SetBarCode);
SetCertificateCommand = new RelayCommand<PurchaseSku>(SetCertificate);
@ -390,81 +426,117 @@ namespace BBWY.Client.ViewModels
});
}
this.purchaseService = purchaseService;
this.packTaskService = packTaskService;
this.markMessageService = markMessageService;
}
#region 方法
private void CompeteQualityTask(object obj)
{
if (ArrivalQuantity==null)
{
MessageBox.Show($"请输入到货数量");
return;
}
if (GoodProductQuantity == null)
QualityTaskExceptionCommand = new RelayCommand<object>(QualityTaskException);
if (IsCanPackModelList == null)
{
MessageBox.Show($"请输入良品数量");
return;
var res = packTaskService.GetTaskAbortEnum();
if (res.Success)
{
IsCanPackModelList = res.Data.IsCanPackModelList;
ShelvesNumberList = res.Data.ShelvesNumberList;
FloorNumberList = res.Data.FloorNumberList;
}
}
if (FloorDragNumber <= 0)
{
MessageBox.Show($"请选择摆放地拖编号");
return;
}
if (GoodProductQuantity > ArrivalQuantity)
{
MessageBox.Show($"良品数量:{GoodProductQuantity}不能大于到货数量:{ArrivalQuantity}");
return;
}
}
List<IsContinuePackageModel> IsCanPackModelList { get; set; }
List<string> ShelvesNumberList { get; set; }
List<int> FloorNumberList { get; set; }
if (ArrivalQuantity == 0)
PackTaskAbortService packTaskAbortService;
#region 方法
private void QualityTaskException(object obj)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, TaskId, Models.TaskState., () =>
{
MessageBox.Show($"到货数量不能:{ArrivalQuantity}!");
return;
}
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
ReflashWindow?.Invoke();
}, IsCanPackModelList, ShelvesNumberList, FloorNumberList);
addExceptionWindow.ShowDialog();
}
private void CompeteQualityTask(object obj)
{
//if (ArrivalQuantity == null)
//{
// MessageBox.Show($"请输入到货数量");
// return;
//}
//if (GoodProductQuantity == null)
//{
// MessageBox.Show($"请输入良品数量");
// return;
//}
//if (GoodProductQuantity > ArrivalQuantity)
//{
// MessageBox.Show($"良品数量不能大于到货数量");
// return;
//}
//
//if (GoodProductQuantity < SkuCount)
//{
// MessageBox.Show($"良品数量不能低于任务数");
// return;
// //if (MessageBox.Show("良品数小于任务数,确认则任务将异常挂起,是否确认?", "任务异常", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK)
// //{
// // return;
// //}
// //var res = qualityTaskService.QualityTaskException(TaskId, 0 , "良品数量小于任务数", TaskState.待验收);
// //if (res == null || !res.Success)
// //{
// // MessageBox.Show(res?.Msg);
// // return;
// //}
// //App.Current.Dispatcher.Invoke(new Action(() =>
// //{
// // window.Close();
// //}));
//}
//if (ArrivalQuantity == 0)
//{
// MessageBox.Show($"到货数量不能为0!");
// return;
//}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
ArrivalQuantity = ArrivalQuantity.Value,
GoodProductQuantity = GoodProductQuantity.Value,
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
//BasicPack = BasicPack,
// ArrivalQuantity = SkuCount,
// GoodProductQuantity = SkuCount,
// 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.,
//CertificatePosition = CertificatePosition,
//OrderId = OrderId,
//PackType = PackType,
//GoodsNumber = GoodsNumber,
//SkuGoodsTitle = SkuTitle,
//SkuId = SkuId,
TaskId = TaskId,
FloorDragNumber = FloorDragNumber
BrandMarkType = BrandMarkType
};
if (CreateTime>Convert.ToDateTime("2023-08-21"))
if (IsNeedBarCode == Need.)
{
if (IsNeedBarCode == Need.)
if (BarCodeModel == null || BarCodeModel.Id <= 0)
{
if (BarCodeModel == null || BarCodeModel.Id <= 0)
{
MessageBox.Show("条形码不能为空");
return;
}
request.BarcodeId = BarCodeModel.Id;
MessageBox.Show("条形码不能为空");
return;
}
if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer)) //(IsNeedCertificateModel == Need.需要)
request.BarcodeId = BarCodeModel.Id;
}
if (IsNeedPrintCer == Need.)
if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer))
{
//if ()
//{
@ -490,11 +562,10 @@ namespace BBWY.Client.ViewModels
request.CerId = string.Join(",", PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO.Id));
}
}
try
{
var competeRes = packPurchaseTaskService.CompeteQualityTask(request);
var competeRes = qualityTaskService.CompeteQualityTask(request);
if (competeRes == null)
{
MessageBox.Show("网络异常");
@ -505,25 +576,22 @@ namespace BBWY.Client.ViewModels
MessageBox.Show(competeRes.Msg);
return;
}
BatchPrintWindow batchPrint = new BatchPrintWindow();
BatchPrintWindow batchPrint = new BatchPrintWindow(BrandMarkType, IsNeedPrintCer, TaskId,BrandName, GoodProductQuantity.Value,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO != null && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel, qualityTaskService,()=> {
ReflashWindow?.Invoke();
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
});
//if (BarCodeModel!=null)
//{
// BarCodeModel.ShopName = OriginShopName;
//}
batchPrint.SetData(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();
}));
}
catch (Exception ex)
@ -597,16 +665,16 @@ namespace BBWY.Client.ViewModels
bool isNeedClick = true;
if (CreateTime<Convert.ToDateTime("2023-08-21"))
if (CreateTime < Convert.ToDateTime("2023-08-21"))
{
isNeedClick=false;
isNeedClick = false;
}
else
{
isNeedClick = model.IsSetCertificate;
}
QualitySetCerWindow setCerWindow = new QualitySetCerWindow(isNeedClick,OrderId);
QualitySetCerWindow setCerWindow = new QualitySetCerWindow(isNeedClick, OrderId);
setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate, saveType);
setCerWindow.SaveResult = (s, PackCerState) =>
{
@ -648,32 +716,17 @@ namespace BBWY.Client.ViewModels
look.Show();
}
MarkMessageService markMessageService;
SaveType? saveType;
/// <summary>
/// 搜索 skuId(todo:)
/// </summary>
public void SearchSku(PackTaskModel model)
public void LoadData(PackTaskModel model, Need cer, BrandMarkType brandMarkType, QualityTaskResponse qualityTaskResponse)
{
CreateTime = model.EndTime;
CreateTime = model.EndTime;
OriginShopName = model.ShopName;
FloorDragNumber = 0;
// FloorDragNumber = 0;
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
WareHourseList = new ObservableCollection<WareHourseDTO>();
FloorDragNumberList = new ObservableCollection<int>();
for (int i = 0; i < 30; i++)
{
App.Current.Dispatcher.Invoke((Action)(() =>
{
FloorDragNumberList.Add(i + 1);
}));
}
TaskId = model.TaskId;
OrderId = model.OrderId;
SkuId = model.SkuId;
@ -688,9 +741,6 @@ namespace BBWY.Client.ViewModels
SkuTitle = model.SkuTitle;
BasicPack = model.BasicPack;
CertificatePosition = model.CertificatePosition;
//ArrivalQuantity = 0;
//GoodProductQuantity = 0;
IncreateList = new ObservableCollection<IncreateModel>();
string[] increateDatas = model.Increment1?.Split(',');
bool isSelected = false;
@ -722,44 +772,34 @@ namespace BBWY.Client.ViewModels
ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString()));
}
var packTaskRes = packPurchaseTaskService.GetQualityTask(model.TaskId);
if (packTaskRes == null)
{
MessageBox.Show("网络异常!");
return;
}
if (!packTaskRes.Success || packTaskRes.Data == null)
{
MessageBox.Show(packTaskRes.Msg);
return;
}
SkuPurchaseSchemeId = packTaskRes.Data.SkuPurchaseSchemeId;
saveType = packTaskRes.Data.SaveType;
StoreGetSelfCount = qualityTaskResponse.StoreGetSelfCount;
SkuPurchaseSchemeId = qualityTaskResponse.SkuPurchaseSchemeId;
saveType = qualityTaskResponse.SaveType;
if (saveType == null)
{
saveType = OrderId.IsNullOrEmpty() ? SaveType.C端 : SaveType.B端;
}
if (packTaskRes == null || !packTaskRes.Success) return;
BarCodeModel = packTaskRes.Data.BarCodeDTO;
IsNeedBarCode = packTaskRes.Data.IsNeedBar ? Need. : Need.;
IsSetBarCode = packTaskRes.Data.BarCodeDTO == null ? true : false;
IsNeedCertificateModel = packTaskRes.Data.IsNeedCer ? Need. : Need.;
if (packTaskRes.Data.WareHourses != null)
packTaskRes.Data.WareHourses.ToList().ForEach(w =>
BarCodeModel = qualityTaskResponse.BarCodeDTO;
IsNeedBarCode = qualityTaskResponse.IsNeedBar ? Need. : Need.;
IsSetBarCode = qualityTaskResponse.BarCodeDTO == null ? true : false;
IsNeedCertificateModel = qualityTaskResponse.IsNeedCer ? Need. : Need.;
if (qualityTaskResponse.WareHourses != null)
qualityTaskResponse.WareHourses.ToList().ForEach(w =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WareHourseList.Add(w);
}));
});
WareHourseCount = WareHourseList.Count();
if (packTaskRes.Data.PurchaseSkus != null)
if (qualityTaskResponse.PurchaseSkus != null)
{
int goodsIndex = 0;
foreach (var item in packTaskRes.Data.PurchaseSkus)
foreach (var item in qualityTaskResponse.PurchaseSkus)
{
goodsIndex++;
if (item.CerDTO != null) item.CerDTO.GoodsNumberIndex = goodsIndex;
@ -843,10 +883,23 @@ namespace BBWY.Client.ViewModels
}
}
if (cer == Need.)
{
CertificatePosition = CertificatePosition.;
}
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"/>

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

@ -84,7 +84,6 @@
<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" >
@ -529,10 +528,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">
@ -554,7 +549,7 @@
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 0 0 0" FontSize="15" FontWeight="Bold" Grid.Row="0">
<Run Text="任务ID:" />
<Run Text="{Binding PackTaskModel.TaskId}"/>
<Run Text="{Binding PackTaskModel.TaskIdRemark}"/>
</TextBlock>
<TextBlock Grid.Row="1" VerticalAlignment="Center" Margin="0 0 0 0" Text="{Binding PackTaskModel.PositionType}" TextWrapping="Wrap" HorizontalAlignment="Center" FontWeight="Bold" FontSize="35"/>

3
BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs

@ -136,8 +136,7 @@ namespace BBWY.Client.Views.PackTask
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
//设置纸张大小
printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向 //设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);

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

@ -220,9 +220,9 @@
</Grid>
<Grid Grid.Column="1" Margin="0 0 1 0" >
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Center" VerticalAlignment="Center"
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,0,0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>

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}"

9
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"
@ -67,7 +68,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:0:50}"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待转运:0:40}"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包装|待封箱|待落仓|待转运:0:40}"/>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
<!---->
@ -176,7 +177,7 @@
<Button Content="发布任务" Height="35" Width="120" Margin="0 0 0 0" HorizontalAlignment="Left"
Command="{Binding CreateTaskCommand}" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待转运:Collapsed:Visible}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包装|待封箱|待落仓|待转运:Collapsed:Visible}"
/>
</Grid>
<Border Grid.Row="3" Margin="0,5,0,0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="0,1,0,0"
@ -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"

15
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" 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}"
/>
<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
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
>

5
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"
@ -149,9 +150,9 @@
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:Visible:Collapsed}" />
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包装|待转运|已超时|待出库|待排单|商家自取:Collapsed:Visible}" />
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}" />
<waitquality:WaitQualityControl 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}" />

18
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}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改" />
@ -526,10 +526,16 @@
</Grid>
<Grid Grid.Column="9" >
<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}"
<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}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
CommandParameter="{Binding TaskId}"/>
<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
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"

119
BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml

@ -0,0 +1,119 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.AddExceptionWindow"
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.QualityTask"
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="360" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="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 Height="60"/>
<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="70"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="Transparent" Content="能否打包"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ItemsSource="{Binding IsContinuePackageList}" DisplayMemberPath="Name" SelectedValuePath="Index" SelectedValue="{Binding IsContinuePackage}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
</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="70"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="Transparent" Content="异常类型"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" DisplayMemberPath="Name" SelectedValuePath="Index" SelectedValue="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</Grid>
<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="0 10 0 10">
<TextBlock Text="摆放货架:" Style="{StaticResource middleTextBlock}" Foreground="Red"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30">
<StackPanel Orientation="Horizontal">
<Label Content="货架编号" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding ShelvesNumberList}" Text="{Binding ShelvesNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30" Margin="10 0 0 0">
<StackPanel Orientation="Horizontal">
<Label Content="货架层数" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding FloorNumberList}" Text="{Binding FloorNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
</StackPanel>
<Grid Grid.Row="3">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Top" MinHeight="100" TextWrapping="Wrap" AcceptsReturn="True" />
</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>

183
BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml.cs

@ -0,0 +1,183 @@
using BBWY.Client.APIServices;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Controls;
using EnumsNET;
using System;
using System.Collections.Generic;
using System.Linq;
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.QualityTask
{
/// <summary>
/// AddExceptionWindow.xaml 的交互逻辑
/// </summary>
public partial class AddExceptionWindow : BWindow
{
public AddExceptionWindow(PackTaskAbortService packTaskAbortService, long taskId, TaskState abortTaskState, Action taskAbort, List<IsContinuePackageModel> IsCanPackModelList, List<string> shelvesNumberList, List<int> floorNumberList)
{
InitializeComponent();
this.packTaskAbortService = packTaskAbortService;
this.TaskId = taskId;
this.DataContext = this;
AbortTaskState = abortTaskState;
TaskAbort = taskAbort;
this.IsCanPackModelList = IsCanPackModelList;
ShelvesNumberList = shelvesNumberList;
FloorNumberList = floorNumberList;
App.Current.Dispatcher.Invoke(() =>
{
IsContinuePackageList = IsCanPackModelList.Select(c => new EnumModel { Index = c.Index, Name = c.Name }).ToList();
if (IsCanPackModelList.Any())
IsContinuePackage = IsContinuePackageList.First().Index;
});
}
private int isContinuePackage;
/// <summary>
/// 验收异常类型
/// </summary>
public int IsContinuePackage
{
get => isContinuePackage; set
{
Set(ref isContinuePackage, value);
OnIsContinuePackageChanged();
}
}
public void OnIsContinuePackageChanged()
{
App.Current.Dispatcher.Invoke(() =>
{
TaskExceptionTypeList = IsCanPackModelList.SingleOrDefault(cp => cp.Index == IsContinuePackage)?.TaskExceptionTypeList;
});
}
private List<EnumModel> isContinuePackageList;
/// <summary>
/// 是否可继续包装
/// </summary>
public List<EnumModel> IsContinuePackageList { get => isContinuePackageList; set { Set(ref isContinuePackageList, value); } }
List<IsContinuePackageModel> IsCanPackModelList { get; set; }
Action TaskAbort { get; set; }
/// <summary>
/// 任务挂起类型
/// </summary>
public TaskState AbortTaskState { get; set; }
PackTaskAbortService packTaskAbortService;
private long taskId;
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get => taskId; set { Set(ref taskId, value); } }
private int? taskExceptionType;
/// <summary>
/// 验收异常类型
/// </summary>
public int? TaskExceptionType { get => taskExceptionType; set { Set(ref taskExceptionType, value); } }
private List<EnumModel> taskExceptionTypeList;
/// <summary>
/// 验收异常类型
/// </summary>
public List<EnumModel> TaskExceptionTypeList { get => taskExceptionTypeList; set { Set(ref taskExceptionTypeList, value); } }
private string remarkMsg;
/// <summary>
/// 备注消息
/// </summary>
public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } }
private List<int> floorNumberList = new List<int> { 1, 2, 3, 4 };
/// <summary>
/// 层数列表
/// </summary>
public List<int> FloorNumberList { get => floorNumberList; set { Set(ref floorNumberList, value); } }
private int floorNumber;
/// <summary>
///层数
/// </summary>
public int FloorNumber { get => floorNumber; set { Set(ref floorNumber, value); } }
private List<string> shelvesNumberList;
/// <summary>
/// 货架列表
/// </summary>
public List<string> ShelvesNumberList { get => shelvesNumberList; set { Set(ref shelvesNumberList, value); } }
private string shelvesNumber;
/// <summary>
/// 货架
/// </summary>
public string ShelvesNumber { get => shelvesNumber; set { Set(ref shelvesNumber, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (ShelvesNumber.IsNullOrEmpty()|| FloorNumber<=0)
{
MessageBox.Show("请输入摆放货架位置");
return;
}
if (RemarkMsg.IsNullOrEmpty())
{
MessageBox.Show("请输入具体问题描述.");
return;
}
if (TaskExceptionType==null)
{
MessageBox.Show("请选择异常类型.");
return;
}
var res = packTaskAbortService.AbortPackTask(TaskId, TaskExceptionType.Value, RemarkMsg, AbortTaskState, ShelvesNumber, FloorNumber);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
TaskAbort?.Invoke();
this.Close();
}
}
}

77
BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml

@ -0,0 +1,77 @@
<c:BWindow x:Class="BBWY.Client.Views.PackTaskAbort.UpdateShelvesNumberWindow"
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"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="219" Width="378"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="修改摆放货架" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="0 10 0 10" HorizontalAlignment="Center">
<TextBlock Text="摆放货架:" Style="{StaticResource middleTextBlock}"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30">
<StackPanel Orientation="Horizontal">
<Label Content="货架编号" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding ShelvesNumberList}" Text="{Binding ShelvesNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30" Margin="10 0 0 0">
<StackPanel Orientation="Horizontal">
<Label Content="货架层数" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding FloorNumberList}" Text="{Binding FloorNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
</StackPanel>
</Grid>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="提交" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

82
BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml.cs

@ -0,0 +1,82 @@
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;
namespace BBWY.Client.Views.PackTaskAbort
{
/// <summary>
/// UpdateShelvesNumberWindow.xaml 的交互逻辑
/// </summary>
public partial class UpdateShelvesNumberWindow : BWindow
{
public UpdateShelvesNumberWindow(PackTaskAbortService packTaskAbortService, PackTaskModel model, Action taskAbort, List<string> shelvesNumberList, List<int> floorNumberList)
{
InitializeComponent();
this.model = model;
this.packTaskAbortService = packTaskAbortService;
this.taskAbort = taskAbort;
this.FloorNumberList = floorNumberList;
this.ShelvesNumberList = shelvesNumberList;
if (model != null)
{
ShelvesNumber = model.ShelvesNumber;
FloorNumber = model.FloorNumber;
}
this.DataContext = this;
}
Action taskAbort { get; set; }
PackTaskAbortService packTaskAbortService { get; set; }
PackTaskModel model { get; set; }
private List<int> floorNumberList = new List<int> { 1, 2, 3, 4 };
/// <summary>
/// 层数列表
/// </summary>
public List<int> FloorNumberList { get => floorNumberList; set { Set(ref floorNumberList, value); } }
private int? floorNumber;
/// <summary>
///层数
/// </summary>
public int? FloorNumber { get => floorNumber; set { Set(ref floorNumber, value); } }
private List<string> shelvesNumberList;
/// <summary>
/// 货架列表
/// </summary>
public List<string> ShelvesNumberList { get => shelvesNumberList; set { Set(ref shelvesNumberList, value); } }
private string shelvesNumber;
/// <summary>
/// 货架
/// </summary>
public string ShelvesNumber { get => shelvesNumber; set { Set(ref shelvesNumber, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
var res = packTaskAbortService.UpdateAbortPackTask(model.TaskId, model.TaskState, ShelvesNumber, FloorNumber);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);
return ;
}
taskAbort?.Invoke();
this.Close();
}
}
}

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

@ -0,0 +1,231 @@
<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();
}
}
}

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

@ -0,0 +1,515 @@
<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"
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Collapsed:Visible}" >
<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"
/>
</Grid>
<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();
}
}
}

563
BBWY.Client/Views/PackagingTask/WaitPackingExceptionTaskControl.xaml

@ -0,0 +1,563 @@
<UserControl x:Class="BBWY.Client.Views.PackagingTask.WaitPackingExceptionTaskControl"
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 Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架,"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</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" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="释放挂起"
Command="{Binding DataContext.DisposeTaskCommand,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/WaitPackingExceptionTaskControl.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>
/// WaitPackingExceptionTaskControl.xaml 的交互逻辑
/// </summary>
public partial class WaitPackingExceptionTaskControl : UserControl
{
public WaitPackingExceptionTaskControl()
{
InitializeComponent();
}
}
}

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

@ -0,0 +1,617 @@
<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}" Visibility="{Binding PackagingTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Collapsed:Visible}"/>
<TextBlock Text="摆放货架" Grid.Column="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding PackagingTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}" />
<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 PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Collapsed:Visible}" >
<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"
/>
</Grid>
<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" Visibility="{Binding DataContext. PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Collapsed:Visible}">
<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="5" Visibility="{Binding DataContext. PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}" >
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架,"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0 ">
<c:BButton Content="修改" Style="{StaticResource LinkButton}"
CommandParameter="{Binding}"
Command="{Binding DataContext. UpdateShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton Content="打印" Style="{StaticResource LinkButton}" Margin="10 0 0 0 "
CommandParameter="{Binding}"
Command="{Binding DataContext. PrintShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</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" >
<Grid.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>
</Grid.Resources>
<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 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}}}"
/>
<hc:SplitButton Content="更多选项" BorderBrush="Transparent" Foreground="#8080ff" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分" x:Name="btn_TaskSplit" Click="btn_TaskSplit_Click"
CommandParameter="{Binding }"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务挂起" x:Name="btn_PackagingTaskException" Click="btn_PackagingTaskException_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,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="释放挂起" x:Name="btn_DisposeTask" Click="btn_DisposeTask_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<Grid Visibility="{Binding PackagingTaskExceptionState , 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="商家自取" x:Name="btn_storegetbyself" Click="btn_storegetbyself_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>
</Grid>
<StackPanel Grid.Column="12" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改任务" />
<c:BButton Command="{Binding DeletedTaskCommand}" CommandParameter="{Binding}" Margin="0 10 0 10 "
Style="{StaticResource LinkButton}" Content="取消任务"/>
</StackPanel>
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
</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>

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

@ -0,0 +1,77 @@
using BBWY.Client.Models;
using BBWY.Client.ViewModels.PackTask;
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.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.PackagingTask
{
/// <summary>
/// WaitPackingTaskControl.xaml 的交互逻辑
/// </summary>
public partial class WaitPackingTaskControl : UserControl
{
public WaitPackingTaskControl()
{
InitializeComponent();
}
private void BButton_Click(object sender, RoutedEventArgs e)
{
//var data = this.DataContext as WareHouseListViewModel;
//var bbtutton = sender as BButton;
//data.StoreGetBySelf((long)bbtutton.CommandParameter);
}
private void btn_storegetbyself_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.StoreGetBySelf((long)bbtutton.CommandParameter);
}
private void btn_DisposeTask_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.DisposeTask((long)bbtutton.CommandParameter);
}
private void btn_PackagingTaskException_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.PackagingTaskException((long)bbtutton.CommandParameter);
}
private void btn_TaskSplit_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.TaskSplit((PackTaskModel)bbtutton.CommandParameter);
}
}
}

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>

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"
@ -541,6 +541,16 @@ TextWrapping="Wrap"
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>
</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();
}
}
}

28
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">
<TextBlock Text="合格证数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="cerNumber" Width="100" WaterRemark="填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 Text="{Binding CerNumber}" Width="150" WaterRemark="填0不打印合格证"/>
</StackPanel>
</StackPanel>

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

@ -1,5 +1,8 @@
using BBWY.Client.Helpers;
using BarcodeLib;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Views.PackTask;
using BBWY.Controls;
using System;
@ -25,23 +28,63 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class BatchPrintWindow : BWindow
{
public BatchPrintWindow()
public BatchPrintWindow(BrandMarkType brandMarkType, Need isNeedPrintCer, long taskId, string BrandName, int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel, QualityTaskService qualityTaskService, Action completedQuality)
{
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.qualityTaskService = qualityTaskService;
this.DataContext = this;
BarNumber = GoodProductQuantity.ToString();
if (IsNeedPrintCer == Need.)
{
CerNumber = GoodProductQuantity.ToString();
}
else
{
CerNumber = "0";
}
this.qualityTaskRequest = new QualityTaskRequest
{
BrandMarkType = brandMarkType,
BrandName = BrandName,
TaskId = taskId,
};
if (CertificateModel != null)
qualityTaskRequest.CerId = string.Join(",", CertificateModel.Select(c => c.Id));
if (BarCodeModel != null)
qualityTaskRequest.BarcodeId = BarCodeModel?.Id;
CompletedQuality = completedQuality;
}
Action CompletedQuality;
QualityTaskRequest qualityTaskRequest;
QualityTaskService qualityTaskService;
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()
{
}
public CertificateModel[] CertificateModel { get; set; }
@ -82,6 +125,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 +190,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
{
@ -182,10 +230,23 @@ namespace BBWY.Client.Views.QualityTask
}
}
var res = qualityTaskService.CompeteQualityTask(qualityTaskRequest);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg ?? "未知异常");
return;
}
string printName = cbPrints.Text;
Task.Factory.StartNew(() =>
{
if (barNum > 0)
{
if (BarCodeModel != null)
@ -198,11 +259,14 @@ namespace BBWY.Client.Views.QualityTask
foreach (var cer in CertificateModel)
PrintData(cerNum, printName, null, cer);
}
CompletedQuality?.Invoke();
App.Current.Dispatcher.Invoke(new Action(() =>
{
this.Close();
}));
});
}

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

@ -0,0 +1,526 @@
<UserControl x:Class="BBWY.Client.Views.QualityTask.QualityControl"
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"
mc:Ignorable="d" Background="White"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:MultiStateConverter x:Key="mstate"/>
<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 MinWidth="280"/>
<ColumnDefinition Width="160"/>
</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}" Visibility="{Binding QualityTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<TextBlock Text="摆放货架" Grid.Column="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding QualityTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}" />
<TextBlock Text="操作" Grid.Column="6" 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 MinWidth="280"/>
<ColumnDefinition Width="160"/>
</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 QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}" >
<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"
/>
</Grid>
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
<Label.Content>
<MultiBinding Converter="{StaticResource mstate}" ConverterParameter="待验收">
<Binding Path="TaskState"/>
<Binding Path="QualityTaskExceptionState"/>
</MultiBinding>
</Label.Content>
</Label>-->
<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 UserControl}}}"
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 UserControl}}}"
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 MinWidth="280"/>
<ColumnDefinition Width="160"/>
</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"
Visibility="{Binding SendToSetSkuConfigureTime,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding QualityRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsQualityOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding QualityRemainTime}"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsQualityOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding QualityRemainTime}"/>
</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" Visibility="{Binding DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<ListBox x:Name="listbox_expressorder" ItemsSource="{Binding ExpressOrderList}"
Style="{StaticResource NoScrollViewListBoxStyle}" BorderThickness="0"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" VerticalAlignment="Stretch"
Visibility="{Binding ExpressOrderList,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_expressorder,Converter={StaticResource widthConverter},ConverterParameter=-0}"
>
<!--Height="{Binding ActualHeight,ElementName=listbox_expressorder,Converter={StaticResource widthConverter},ConverterParameter=-0}"-->
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Row="0" Margin="10 11 0 0">
<TextBlock Text="物流状态:" Foreground="Gray"/>
<TextBlock Text="{Binding ExpressState}"/>
<TextBlock Foreground="Gray" Text="{Binding TargetExpressName,StringFormat=\{0\}:}" Margin="10 0 2 0"/>
<c:BButton Style="{StaticResource LinkButton}" Content="{Binding WaybillNo}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding WaybillNo}"
/>
</StackPanel>
<TextBlock Text="{Binding ExpressChangedTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Grid.Row="1" Margin="10 12 0 0"/>
<TextBlock Foreground="Gray" TextTrimming="CharacterEllipsis" Margin="10 11 10 11" Grid.Row="2">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding ExpressContent}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="{Binding ExpressContent}"/>
</TextBlock>
<Border Background="{StaticResource Border.Brush}" Height="1" Grid.Row="0" VerticalAlignment="Top"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Grid Grid.Column="5" Visibility="{Binding DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}" >
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架-"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0 ">
<c:BButton Content="修改" Style="{StaticResource LinkButton}"
CommandParameter="{Binding}"
Command="{Binding DataContext. UpdateShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton Content="打印" Style="{StaticResource LinkButton}" Margin="10 0 0 0 "
CommandParameter="{Binding}"
Command="{Binding DataContext. PrintShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</StackPanel>
</Grid>
<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}"/>
<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 QualityTaskExceptionState,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 QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="释放挂起"
Command="{Binding DataContext.DisposeTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}"
/>
<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 DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, 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}"
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>

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

@ -0,0 +1,30 @@
using BBWY.Common.Extensions;
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.QualityTask
{
/// <summary>
/// QualityControl.xaml 的交互逻辑
/// </summary>
public partial class QualityControl : UserControl
{
public QualityControl()
{
InitializeComponent();
int b = 0;
int c=b.Copy();
}
}
}

14
BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs

@ -53,13 +53,13 @@ namespace BBWY.Client.Views.QualityTask
InitializeComponent();
SetPackCerStateCommand = new RelayCommand<PackCerState>(SetPackCerState);
ShowDataCommand = new RelayCommand<string>(ShowData);
if (IsQualityTask)
{
IsShowShader = true;
IsShowExcuteStander = true;
IsShowProductShop = true;
IsShowProductAdress = true;
}
//if (IsQualityTask)
//{
// IsShowShader = true;
// IsShowExcuteStander = true;
// IsShowProductShop = true;
// IsShowProductAdress = true;
//}
this.orderId = orderId;
}

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

@ -26,12 +26,12 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
@ -46,25 +46,25 @@
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<c:BAsyncImage UrlSource="{Binding Logo}"
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="0 10 0 0"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Orientation="Vertical" Width="170">
<TextBlock Margin="10 10 0 0" TextTrimming="CharacterEllipsis">
@ -109,64 +109,51 @@
</Grid>
<Grid Grid.Column="1">
<StackPanel Orientation="Vertical">
<TextBlock Text="任务信息" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="520"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center">
<Run Text="采购数量:"/>
<Run Text="{Binding SkuCount}"/>
</TextBlock>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="到货数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding ArrivalQuantity}" Height="30"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding GoodProductQuantity}" Height="30"/>
</UniformGrid>
<!--<TextBlock Text="数量验收" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left">
<Run Text="应到数量:"/>
<Run Text="{Binding SkuCount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="实收数量: " VerticalAlignment="Center" Width="60"/>
<c:BTextBox WaterRemark="数量" Text="{Binding ArrivalQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding GoodProductQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 30 0 0" >
<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 20 0 0" >
--><!--<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
<Run Text="份数:"/>
<Run Text="{Binding WareHourseCount,Mode=TwoWay}"/>
</TextBlock>
<!--<StackPanel Orientation="Horizontal" Margin="10 0 0 0" Height="30">
<TextBlock Text="预计完成时间: " VerticalAlignment="Center" />
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" BorderThickness="1">
<ComboBox BorderThickness="0" ItemsSource="{Binding PreCompeteTimeDayList,Mode=TwoWay}" SelectedIndex="0" Text="{Binding PreCompeteTimeDay,Mode=TwoWay}">
</ComboBox>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" Margin="10 0 0 0" BorderThickness="1">
<hc:ComboBox BorderThickness="0" ItemsSource="{Binding PreCompeteTimeHourList}" SelectedIndex="0" Text="{Binding PreCompeteTimeHour}">
</hc:ComboBox>
</Border>
</StackPanel>-->
<StackPanel Orientation="Horizontal">
</TextBlock>-->
<!--<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource middleTextBlock}" Text="摆放地托编号:" Margin="10 0 0 0"/>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" BorderThickness="1">
<hc:ComboBox Width="80" BorderThickness="0" ItemsSource="{Binding FloorDragNumberList}" SelectedIndex="0" Text="{Binding FloorDragNumber}">
</hc:ComboBox>
</Border>
</StackPanel>
</StackPanel>
</StackPanel>-->
<!--<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Visibility="{Binding StoreGetSelfCount,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null|0:Collapsed:Visible}">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left">
<Run Text="商家自取:"/>
<Run Text="{Binding StoreGetSelfCount}" Foreground="Red"/>
</TextBlock>
</StackPanel>--><!--
</StackPanel>
<!--<c:BTextBox WaterRemark="包装备注" Text="{Binding MarkMessage,Mode=TwoWay}" Grid.Column="1" Margin="0 5 10 5" Height="80"/>-->
</StackPanel>-->
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="0" Grid.Column="1" Margin="0 5 10 5" MaxHeight="120" >
<TextBox Text="{Binding ShowMarkMessage}" HorizontalAlignment="Stretch" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Visible"
AcceptsReturn="True" TextWrapping="Wrap" IsReadOnly="True" BorderThickness="0"/>
</Border>
</Grid>
<ListBox Grid.Row="2" Grid.ColumnSpan="2"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
@ -194,7 +181,7 @@
<TextBlock Grid.Row="1" Text="{Binding Count}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="2" Style="{StaticResource middleTextBlock}" Margin="5 0 5 0 ">
<Run Text="{Binding WareName}"/>
</TextBlock>
<Border Width="1" Grid.RowSpan="3" HorizontalAlignment="Right"
Background="{StaticResource Border.Brush}"/>
@ -207,9 +194,9 @@
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Text="配件商品信息" Margin="20 10 0 10" FontSize="13" FontWeight="Bold" VerticalAlignment="Top" HorizontalAlignment="Left" />
<Grid >
<ListBox x:Name="listbox_order" HorizontalAlignment="Left"
@ -261,7 +248,7 @@
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<!--Content="{Binding CerDTO,Converter={StaticResource objConverter},ConverterParameter=#null:待设置:待确认}"-->
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
@ -282,7 +269,7 @@
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
<!--Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }"-->
<TextBlock Text="无需合格证" Height="15" Margin="5 0 0 0"
/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
@ -358,9 +345,7 @@
>
<TextBlock Text="无需合格证" Height="15" Margin="5 0 0 0"
/>
<!--<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>-->
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
@ -372,14 +357,14 @@
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<!--
<TextBlock Text="包装配置" FontWeight="Bold" FontSize="13" Margin="20 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid Height="70" Margin="20 20 20 0">
<Grid.ColumnDefinitions>
@ -389,8 +374,8 @@
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="86"/>
<ColumnDefinition Width="0" />
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="110" />
<ColumnDefinition Width="110"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
@ -416,7 +401,7 @@
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="3" Text="基础包装"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="4" Text="增量耗材"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="5" Text="条码标签"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="6" Text="合格证"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="6" Text="品牌商标"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="7" Text="合格证位置"/>
@ -461,7 +446,7 @@
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="6" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding IsNeedCerList}" Text="{Binding IsNeedCertificateModel,Mode=TwoWay}">
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding BrandMarkTypeList}" Text="{Binding BrandMarkType,Mode=TwoWay}">
</ComboBox>
</Grid>
@ -471,19 +456,30 @@
</ComboBox>
</Grid>
</Grid>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="0" Grid.Column="1" Margin="20 5 20 5" MaxHeight="80" >
<TextBox Text="{Binding ShowMarkMessage}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="80" ScrollViewer.VerticalScrollBarVisibility="Visible"
AcceptsReturn="True" TextWrapping="Wrap" VerticalContentAlignment="Top" IsReadOnly="True" BorderThickness="0"/>
</Border>
-->
</StackPanel>
</Grid>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
</Grid>
<Grid Grid.Row="2">
<DockPanel Grid.Row="2">
<c:BButton Content="完成验收" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,19,2"
Command="{Binding CompeteQualityTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
<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"/>
</Grid>
</c:BWindow>
</c:BWindow>

11
BBWY.Client/Views/QualityTask/QualityWindow.xaml.cs

@ -1,6 +1,8 @@
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
using BBWY.Client.ViewModels;
using BBWY.Controls;
using NPOI.HSSF.Record.Chart;
using System;
namespace BBWY.Client.Views.QualityTask
@ -10,13 +12,16 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class QualityWindow : BWindow
{
public QualityWindow(PackTaskModel model,Action ReflashTask)
public QualityWindow(PackTaskModel model, Action ReflashTask, Need IsNeedCer, BrandMarkType markType, QualityTaskResponse qualityTaskResponse)
{
InitializeComponent();
var qualityViewModel =(QualityViewModel)this.DataContext;
var qualityViewModel = (QualityViewModel)this.DataContext;
if (qualityViewModel.ReflashWindow == null)
qualityViewModel.ReflashWindow = ReflashTask;
qualityViewModel.SearchSku(model);
qualityViewModel.LoadData(model, IsNeedCer, markType, qualityTaskResponse);
}
}
}

24
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,15 +105,29 @@
<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}"
<!--<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"
/>
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}" >
<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"
/>
</Grid>
<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}}}"

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();
}
}
}

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

@ -579,10 +579,17 @@
</Grid>
<Grid Grid.Column="12" >
<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}"
<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 QualityTaskExceptionCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<!--Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" -->
<StackPanel >
<StackPanel.Visibility>
@ -614,7 +621,7 @@
<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}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>

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

@ -0,0 +1,223 @@
<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: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" 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="2">
<local:QualityControl/>
</Grid>
</Grid>
</Grid>
</UserControl>

245
BBWY.Client/Views/QualityTask/WaitQualityList.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.QualityTask
{
/// <summary>
/// WaitQualityList.xaml 的交互逻辑
/// </summary>
public partial class WaitQualityList : UserControl
{
public WaitQualityList()
{
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)
{
}
}
}
}

41
BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml

@ -0,0 +1,41 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTipWindows.QualityProductWindow"
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.QualityTipWindows"
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="330" Height="200" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="{Binding MsgTitle}" HorizontalAlignment="Center" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<c:BTextBox Grid.Row="0" BorderBrush="Transparent" Text="{Binding QuestionMsg}" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<c:BButton Grid.Row="0" Name="btn_true" Click="btn_true_Click" Content="{Binding IsTrueMsg}" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40" MinWidth="60" Margin="0 0 40 0"/>
<c:BButton Grid.Row="1" Name="btn_false" Click="btn_false_Click" Content="{Binding IsFalseMsg}" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40" MinWidth="60"/>
</StackPanel>
</Grid>
</Grid>
</c:BWindow>

77
BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml.cs

@ -0,0 +1,77 @@
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;
namespace BBWY.Client.Views.QualityTipWindows
{
/// <summary>
/// ProductCerWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityProductWindow : BWindow
{
public QualityProductWindow(string title, string questionMsg, string isTrueMsg, string isFalseMsg, Action<bool> clickReturn)
{
InitializeComponent();
MsgTitle = title;
IsTrueMsg = isTrueMsg;
IsFalseMsg = isFalseMsg;
ClickReturn = clickReturn;
QuestionMsg=questionMsg;
this.DataContext = this;
}
private string msgTitle;
/// <summary>
/// 封箱配置状态
/// </summary>
public string MsgTitle { get => msgTitle; set { Set(ref msgTitle, value); } }
private string questionMsg;
/// <summary>
/// 封箱配置状态
/// </summary>
public string QuestionMsg { get => questionMsg; set { Set(ref questionMsg, value); } }
private string isTrueMsg;
/// <summary>
/// 封箱配置状态
/// </summary>
public string IsTrueMsg { get => isTrueMsg; set { Set(ref isTrueMsg, value); } }
private string isFalseMsg;
/// <summary>
/// 封箱配置状态
/// </summary>
public string IsFalseMsg { get => isFalseMsg; set { Set(ref isFalseMsg, value); } }
public Action<bool> ClickReturn { get; set; }
private void btn_true_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
ClickReturn?.Invoke(true);
this.Close();
}
private void btn_false_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
ClickReturn.Invoke(false);
this.Close();
}
}
}

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">

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

@ -38,16 +38,16 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text=" " Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text=" " Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
@ -86,7 +86,7 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition MaxWidth="100"/>
</Grid.ColumnDefinitions>
@ -112,8 +112,8 @@
Command="{Binding DataContext.LoadSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="3" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus.Count,Converter={StaticResource objConverter},ConverterParameter=0:∧:∨}" FontWeight="Bold"
<Grid Grid.Column="4" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
@ -121,16 +121,16 @@
</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"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus, IsAsync=True}" Grid.ColumnSpan="2"
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus, IsAsync=True}" Grid.ColumnSpan="3"
Style="{StaticResource NoScrollViewListBoxStyle}" VirtualizingStackPanel.IsVirtualizing="True"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
>
@ -141,6 +141,7 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
@ -206,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">
@ -226,6 +227,13 @@
HorizontalAlignment="Center" VerticalAlignment="Center"
/>
</Grid>
<Grid Grid.Column="2" >
<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}}}"
/>
</Grid>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
@ -236,7 +244,7 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<Grid Grid.Column="2" >
</Grid>
<Grid Grid.Column="3" >

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

@ -97,7 +97,7 @@
</StackPanel>
<TextBlock Grid.Column="1" Margin="10 10 0 0">
<Run Text="任务ID:"/>
<Run Text="{Binding TaskId}"/>
<Run Text="{Binding TaskIdRemark}"/>
</TextBlock>
<TextBlock Grid.Column="2" Margin="10 10 0 0">
<Run Text="需装数量:"/>

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">

56
BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml

@ -0,0 +1,56 @@
<c:BWindow x:Class="BBWY.Client.Views.SplitTask.ExceptionTaskWindow"
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"
mc:Ignorable="d"
CloseButtonVisibility="Visible"
WindowStartupLocation="CenterScreen"
CloseButtonColor="White"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Title="ExceptionTaskWindow" Height="567" Width="388">
<Grid Visibility="Visible" >
<Grid x:Name="print_box" Height="492" Width="272">
<StackPanel Margin="10 10 10 10" Width="252" HorizontalAlignment="Center" Orientation="Vertical">
<TextBlock FontSize="28" FontWeight="Bold">
<Run Text="任务ID:"/>
</TextBlock>
<TextBlock FontSize="60" FontWeight="Bold">
<Run Text="{Binding Model.TaskIdRemark}"/>
</TextBlock>
<TextBlock FontSize="20" FontWeight="Bold" Margin="0 10 0 10">
<Run Text="异常类型:"/>
<Run Text="{Binding Model.TaskExceptionType}"/>
</TextBlock >
<TextBlock FontSize="20" FontWeight="Bold">
<Run Text="商品件数:"/>
<Run Text="{Binding Model.SkuCount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Style="{StaticResource middleTextBlock}" Text="摆放货号: "/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding Model.ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架,第"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding Model.FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<TextBlock TextWrapping="Wrap" >
<Run Text="备注信息:"/>
<Run Text="{Binding Model.AbortRemark}"/>
</TextBlock>
</StackPanel>
</Grid>
</Grid>
</c:BWindow>

61
BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml.cs

@ -0,0 +1,61 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Printing;
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.SplitTask
{
/// <summary>
/// ExceptionTaskWindow.xaml 的交互逻辑
/// </summary>
public partial class ExceptionTaskWindow : BWindow
{
public ExceptionTaskWindow(PackTaskModel model)
{
InitializeComponent();
this.DataContext = this;
Model=model;
}
private PackTaskModel model;
public PackTaskModel Model { get => model; set { Set(ref model, value); } }
public string taskIdRemark;
public string TaskIdRemark { get=> taskIdRemark; set {Set(ref taskIdRemark,value); } }
public string remarkMsg;
public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } }
public string exceptType;
public string ExceptType { get => exceptType; set { Set(ref exceptType, value); } }
public void Print(string printName)
{
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
//Height="492" Width="272" 567 388
printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向 //设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
print_box.Height = pageHeight;
print_box.Width = pageWidth;
this.print_box.Arrange(new Rect(new System.Windows.Point(0, 0), new System.Windows.Size(pageWidth, pageHeight)));
this.UpdateLayout(); //刷新界面
printDialog.PrintVisual(this.print_box, "打印任务");
this.Close();
}
}
}

69
BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml

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

127
BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml.cs

@ -0,0 +1,127 @@
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Views.FallWare;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing.Printing;
using System.IO;
using System.Printing;
using System.Reflection;
using System.Windows;
using WebSocketSharp;
namespace BBWY.Client.Views.SplitTask
{
/// <summary>
/// PrintExceptionTaskWindow.xaml 的交互逻辑
/// </summary>
public partial class PrintExceptionTaskWindow : BWindow
{
public PrintExceptionTaskWindow(PackTaskModel model)
{
InitializeComponent();
InitPrintList();
this.DataContext = this;
this.model = model;
}
private PackTaskModel model;
/// <summary>
/// 打印机列表
/// </summary>
public ObservableCollection<string> PrintList { get; set; }
public string PrintName { get; set; }
public int PrintCount { get=> printCount; set {Set(ref printCount,value); } }
private int printCount = 1;
public void InitPrintList()
{
PrintList = new ObservableCollection<string>();
var printingNames = PrinterSettings.InstalledPrinters;//获取本机的打印机数据
int index = -1;
int selectIndex = 0;
foreach (string name in printingNames)
{
if (name == "Microsoft XPS Document Writer" || name == "Microsoft Print to PDF" || name == "Fax")
{
continue;
}
index++;
if (name.Contains("Deli"))
{
selectIndex = index;
}
PrintList.Add(name);
}
try
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");
if (File.Exists(printNames))
{
PrintName = File.ReadAllText(printNames);
}
else
{
if (PrintList.Count > 0)
{
PrintName = PrintList[0].ToString();
}
}
}
catch (Exception)
{
}
}
public void PrintBox()
{
App.Current.Dispatcher.Invoke(() => {
});
}
private void BButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (PrintName.IsNullOrEmpty())
{
MessageBox.Show("请选择打印设备");
return;
}
if (string.IsNullOrEmpty(PrintName))
{
return;
}
var localPrintServer = new LocalPrintServer();
var printQueue = localPrintServer.GetPrintQueue(PrintName);
if (printQueue.IsInError)
{
System.Windows.MessageBox.Show("打印机处于错误状态");
return;
}
ExceptionTaskWindow window = new ExceptionTaskWindow(model);
//window.ShowDialog();
window.Print(PrintName);
this.Close();
}
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save