Browse Source

Merge branch 'master' of http://code.qiyue666.com/pengcong001/bbwy

AddValidOverTime
shanji 2 years ago
parent
commit
1666bf577b
  1. 32
      BBWY.Client/APIServices/OrderService.cs
  2. 36
      BBWY.Client/APIServices/ProductService.cs
  3. 159
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  4. 8
      BBWY.Client/APIServices/QiKu/SealBoxService.cs
  5. 7
      BBWY.Client/App.xaml.cs
  6. 4
      BBWY.Client/BBWYAppSettings.json
  7. 2
      BBWY.Client/GlobalContext.cs
  8. 43
      BBWY.Client/Helpers/ImageHelper.cs
  9. 58
      BBWY.Client/Models/APIModel/Response/Order/ExportOrderSkuResponse.cs
  10. 83
      BBWY.Client/Models/APIModel/Response/PackTask/SearchStoreGetSelfResponse.cs
  11. 7
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs
  12. 2
      BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitSealBoxResponse.cs
  13. 102
      BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs
  14. 2
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs
  15. 2
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs
  16. 17
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs
  17. 20
      BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs
  18. 13
      BBWY.Client/Models/Enums.cs
  19. 4
      BBWY.Client/Models/PackTask/CertificateModel.cs
  20. 7
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  21. 7
      BBWY.Client/Models/PackTask/SealBoxModel.cs
  22. 119
      BBWY.Client/Models/PackTask/ShopTotal.cs
  23. 45
      BBWY.Client/Models/PackTask/StoreGetSelfResponse.cs
  24. 1
      BBWY.Client/Models/Product/ProductSku.cs
  25. 90
      BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs
  26. 6
      BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs
  27. 7
      BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs
  28. 17
      BBWY.Client/Models/Shop/Shop.cs
  29. 4
      BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs
  30. 14
      BBWY.Client/ViewModels/MainViewModel.cs
  31. 223
      BBWY.Client/ViewModels/Order/ExportOrderSkuViewModel.cs
  32. 2
      BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs
  33. 5
      BBWY.Client/ViewModels/PackTask/PackDetailViewModel.cs
  34. 48
      BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs
  35. 5
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  36. 11
      BBWY.Client/ViewModels/PackTask/StorePickSelfViewModel.cs
  37. 118
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  38. 175
      BBWY.Client/ViewModels/PackTask/UpdatePurchaseTaskViewModel.cs
  39. 490
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  40. 39
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  41. 727
      BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs
  42. 3
      BBWY.Client/ViewModels/ServiceOrder/ServiceOrderViewModel.cs
  43. 207
      BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs
  44. 30
      BBWY.Client/ViewModels/ViewModelLocator.cs
  45. 4
      BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml
  46. 2
      BBWY.Client/Views/BatchPurchase/PackSkuSplitCountAndStoreWindow.xaml
  47. 2
      BBWY.Client/Views/FallWare/PrintBoxWindow.xaml.cs
  48. 4
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml
  49. 6
      BBWY.Client/Views/FallWare/SetJDWareBoxWindow2.xaml.cs
  50. 26
      BBWY.Client/Views/FallWare/WaitFallWareControl.xaml
  51. 178
      BBWY.Client/Views/Order/ExportOrderSkuView.xaml
  52. 26
      BBWY.Client/Views/Order/ExportOrderSkuView.xaml.cs
  53. 34
      BBWY.Client/Views/PackTask/CerControl.xaml
  54. 4
      BBWY.Client/Views/PackTask/FeesExcelControl.xaml
  55. 8
      BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs
  56. 2
      BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml
  57. 96
      BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs
  58. 19
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  59. 4
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs
  60. 224
      BBWY.Client/Views/PackTask/PackTaskTotal.xaml
  61. 16
      BBWY.Client/Views/PackTask/PrintWindow.xaml.cs
  62. 4
      BBWY.Client/Views/PackTask/PublishTaskWindow.xaml
  63. 12
      BBWY.Client/Views/PackTask/SetCerControl.xaml
  64. 2
      BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs
  65. 4
      BBWY.Client/Views/PackTask/ShopWaitCompletedControl.xaml
  66. 16
      BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml
  67. 26
      BBWY.Client/Views/PackTask/TaskList.xaml
  68. 8
      BBWY.Client/Views/PackTask/TaskListControl.xaml
  69. 6
      BBWY.Client/Views/PackTask/UpdatePurchaseTaskWindow.xaml
  70. 20
      BBWY.Client/Views/PackTask/WaitCompletedControl.xaml
  71. 22
      BBWY.Client/Views/PackTask/WaitPackageControl.xaml
  72. 12
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  73. 53
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml
  74. 8
      BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml
  75. 216
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml
  76. 107
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  77. 6
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  78. 29
      BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml
  79. 37
      BBWY.Client/Views/QualityTask/WaitQualityControl.xaml
  80. 101
      BBWY.Client/Views/SealBox/AddProductWindow.xaml
  81. 98
      BBWY.Client/Views/SealBox/AddProductWindow.xaml.cs
  82. 49
      BBWY.Client/Views/SealBox/AddWareListWindow.xaml
  83. 163
      BBWY.Client/Views/SealBox/AddWareListWindow.xaml.cs
  84. 2
      BBWY.Client/Views/SealBox/SealBoxConfigureWindow.xaml.cs
  85. 2
      BBWY.Client/Views/SealBox/SealBoxConfiguredControl.xaml
  86. 80
      BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml
  87. 32
      BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml.cs
  88. 7
      BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml
  89. 12
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWareListControl.xaml
  90. 26
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWareListControl.xaml.cs
  91. 782
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml
  92. 197
      BBWY.Client/Views/SealBox/SetSealBoxPolicyWindow.xaml.cs
  93. 7
      BBWY.Client/Views/SealBox/ShopSealBoxListControl.xaml
  94. 71
      BBWY.Client/Views/SealBox/SplitOtherWareWindow.xaml
  95. 64
      BBWY.Client/Views/SealBox/SplitOtherWareWindow.xaml.cs
  96. 105
      BBWY.Client/Views/SealBox/WaitSealBoxControl.xaml
  97. 347
      BBWY.Client/Views/StorePickSelf/ShopStorePickSelfControl.xaml
  98. 26
      BBWY.Client/Views/StorePickSelf/ShopStorePickSelfControl.xaml.cs
  99. 83
      BBWY.Client/Views/StorePickSelf/StorePickProductWindow.xaml
  100. 59
      BBWY.Client/Views/StorePickSelf/StorePickProductWindow.xaml.cs

32
BBWY.Client/APIServices/OrderService.cs

@ -278,5 +278,37 @@ namespace BBWY.Client.APIServices
shop.AppToken
}, null, HttpMethod.Post);
}
public ApiResponse<ExportOrderSkuListResponse> QueryOrderSkuList(DateTime startDate,
DateTime endDate,
int? purchasePlatform,
IList<long> shopIds,
int pageIndex,
int pageSize)
{
return SendRequest<ExportOrderSkuListResponse>(globalContext.BBYWApiHost, "api/order/queryorderskulist", new
{
shopIds,
purchasePlatform,
startTime = startDate,
endTime = endDate,
pageIndex,
pageSize
}, null, HttpMethod.Post);
}
public ApiResponse<IList<ExportOrderSkuResponse>> ExportOrderSkuList(DateTime startDate,
DateTime endDate,
int? purchasePlatform,
IList<long> shopIds)
{
return SendRequest<IList<ExportOrderSkuResponse>>(globalContext.BBYWApiHost, "api/order/exportorderskulist", new
{
shopIds,
purchasePlatform,
startTime = startDate,
endTime = endDate
}, null, HttpMethod.Post);
}
}
}

36
BBWY.Client/APIServices/ProductService.cs

@ -28,22 +28,7 @@ namespace BBWY.Client.APIServices
null,
HttpMethod.Post);
}
public ApiResponse<IList<ProductSku>> GetProductSkuList(string spu, string sku,Platform platform,string appKey,string appSecret,string appToken)
{
return SendRequest<IList<ProductSku>>(globalContext.BBYWApiHost,
"api/product/GetProductSkuList",
new
{
Spu = spu,
Sku = sku,
Platform = platform,
AppKey = appKey,
AppSecret = appSecret,
AppToken = appToken
},
null,
HttpMethod.Post);
}
public ApiResponse<IList<ProductSku>> GetProductSkuList(string spu, string sku)
{
return SendRequest<IList<ProductSku>>(globalContext.BBYWApiHost,
@ -61,6 +46,25 @@ namespace BBWY.Client.APIServices
HttpMethod.Post);
}
public ApiResponse<IList<ProductSku>> GetProductSkuList(string spu, string sku, Platform platform, string appKey, string appSecret, string appToken)
{
return SendRequest<IList<ProductSku>>(globalContext.BBYWApiHost,
"api/product/GetProductSkuList",
new
{
Spu = spu,
Sku = sku,
Platform = platform,
AppKey = appKey,
AppSecret = appSecret,
AppToken = appToken
},
null,
HttpMethod.Post);
}
public ApiResponse<ProductListResponse> GetProductList(string spu, string productName, string productItem, int pageIndex, Platform platform, string appKey, string appSecret, string appToken)
{
return SendRequest<ProductListResponse>(globalContext.BBYWApiHost,

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

@ -19,8 +19,6 @@ namespace BBWY.Client.APIServices
public class PackTaskService : BaseApiService, IDenpendency
{
public PackTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
@ -32,13 +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,
@ -55,12 +54,16 @@ namespace BBWY.Client.APIServices
TaskState? TaskState = null,
string ShopName = null,
int pageIndex = 1,
int pageSize = 10
int pageSize = 10,
string SkuTitle = null,
string SpuTitle = null
)
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
{
SkuTitle,
SpuTitle,
DepartmentName = departmentName,
SkuId = skuId,
TaskId = taskId,
@ -182,29 +185,59 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<ShopTotalResponse> ShopTotal(string skuId = null, string taskId = null,
DateTime? startTime = null,
DateTime? endTime = null,
string ShopName = null,
string DepartmentName = null,
//public ApiResponse<ShopTotalResponse> ShopTotal(string skuId = null, string taskId = null,
// DateTime? startTime = null,
// DateTime? endTime = null,
// string ShopName = null,
// string DepartmentName = null,
// int pageIndex = 1,
// int pageSize = 10
// )
//{
// return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotal", new
// {
// SkuId = skuId,
// TaskId = taskId,
// StartTime = startTime,
// EndTime = endTime,
// DepartmentName,
// ShopName,
// PageIndex = pageIndex,
// PageSize = pageSize
// }, null, HttpMethod.Post);
//}
public ApiResponse<ShopTotalResponse> ShopTotalV2(string skuId,
string taskId,
string shopId,
DateTime? startTime,
DateTime? endTime,
string ShopName,
string DepartmentName,
int pageIndex = 1,
int pageSize = 10
)
{
return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotal", new
return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotalV2", new
{
SkuId = skuId,
TaskId = taskId,
StartTime = startTime,
EndTime = endTime,
shopId,
skuId,
taskId,
startTime,
endTime,
DepartmentName,
ShopName,
PageIndex = pageIndex,
PageSize = pageSize
pageIndex,
pageSize
}, null, HttpMethod.Post);
}
/// <summary>
/// 批量结算
/// </summary>
@ -251,11 +284,6 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
public ApiResponse<bool> StoreGetBySelf(long taskId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelf?TaskId={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<bool> CompletedPackTask(long taskId)
{
@ -286,7 +314,7 @@ namespace BBWY.Client.APIServices
/// <returns></returns>
public ApiResponse<object> ManualSign(string wayBillNo)
{
return SendRequest< object>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/ManualSign", new
return SendRequest<object>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/ManualSign", new
{
wayBillNo
}, null, HttpMethod.Post);
@ -299,7 +327,7 @@ namespace BBWY.Client.APIServices
/// <returns></returns>
public ApiResponse<object> BatchManualSign(string[] wayBillNoList)
{
return SendRequest<object>("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign",new { wayBillNoList }, null, HttpMethod.Post);
return SendRequest<object>("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign", new { wayBillNoList }, null, HttpMethod.Post);
}
/// <summary>
@ -331,21 +359,54 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
//public ApiResponse<object> QikuPublishOrderSkuPackConfigState(string orderId, string skuId, PackConfigState packConfigState)
//{
// return SendRequest<object>("http://bbwyb.qiyue666.com", $"Api/Order/QikuPublishOrderSkuPackConfigState", new
// {
// orderId,
// skuId,
// packConfigState,
// }, null, HttpMethod.Post);
//}
public ApiResponse<object> SendToSetSkuConfigure(long taskId)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/SendToSetSkuConfigure?taskid={taskId}",null, null, HttpMethod.Post);
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/SendToSetSkuConfigure?taskid={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<StoreGetSelfResponse> GetStoreGetSelfData(long taskId)
{
return SendRequest<StoreGetSelfResponse>(globalContext.QKApiHost, $"api/PackTask/GetStoreGetSelfData?taskid={taskId}", null, null, HttpMethod.Get);
}
public ApiResponse<object> StoreGetBySelfV2(long taskId, int storeGetCount, string PickerUserName)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV2", new {
taskId,
storeGetCount,
PickerUserName,
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)
{
return SendRequest<SearchStoreGetSelfResponse>(globalContext.QKApiHost, $"api/PackTask/SearchStoreGetSelfList", new
{
taskId,
OrderSn,
SpuId,
SkuId,
DepartmentName, ShopName,
ShopId , pageIndex, pageSize,
}, null, HttpMethod.Post);
}
public ApiResponse<object> AddSealBoxProduct(string skuId, PositionType positionType, int count)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/AddSealBoxProduct", new
{
skuId,
positionType,
SkuCount = count,
ShopId = globalContext.User.Shop.ShopId.ToString(),
UserId = globalContext.User.Id.ToString()
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox
@ -363,15 +424,12 @@ namespace BBWY.Client.APIServices
}
public class AddConsumableRequest
{
public long TaskId { get; set; }
public long[] ConsumableIds { get; set; }
}
public class PackTaskDetailRequest
{ /// <summary>
/// 任务id
@ -512,22 +570,7 @@ namespace BBWY.Client.APIServices
/// 服务数量
/// </summary>
public int? ServiceCount { get; set; }
///// <summary>
///// 增值服务ids
///// </summary>
//public string IncreateServiceIds { get; set; }
///// <summary>
///// 增值服务数量
///// </summary>
//public string IncreateServiceNos { get; set; }
///// <summary>
///// 工序ids
///// </summary>
//public string WorkProcessIds { get; set; }
///// <summary>
///// 工序数量
///// </summary>
//public string WorkProcessNos { get; set; }
/// <summary>
///
@ -549,8 +592,6 @@ namespace BBWY.Client.APIServices
public ServiceType ServiceType { get; set; }
}
public class ConsumableTaskModel
{
public decimal Price { get; set; }
@ -564,7 +605,6 @@ namespace BBWY.Client.APIServices
public int? ConsumableCount { get; set; }
}
public class PackServiceMemberModel
{
public decimal Price { get; set; }
@ -583,7 +623,4 @@ namespace BBWY.Client.APIServices
}
}

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

@ -28,8 +28,8 @@ namespace BBWY.Client.APIServices
{
ShopId = globalContext.User.Shop.ShopId.ToString(),
TaskId = TaskId,
SkuId = SkuId,
TaskId,
SkuId,
SpuId,
PageSize,
PageIndex,
@ -72,9 +72,9 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<UpdateSealBoxConfiguredResponse> GetUpdateSealBoxConfigured(long SealBoxId, long[] TaskIds)
public ApiResponse<UpdateSealBoxConfiguredResponse> GetUpdateSealBoxConfiguredV2(long SealBoxId, long[] TaskIds)
{
return SendRequest<UpdateSealBoxConfiguredResponse>(globalContext.QKApiHost, $"api/SealBox/GetUpdateSealBoxConfigured",
return SendRequest<UpdateSealBoxConfiguredResponse>(globalContext.QKApiHost, $"api/SealBox/GetUpdateSealBoxConfiguredV2",
new
{
SealBoxId,

7
BBWY.Client/App.xaml.cs

@ -50,10 +50,13 @@ namespace BBWY.Client
#if DEBUG
//仓库组测试
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjM1OTMyMDAyMjcwMDU2NDQ4IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0IiwiZXhwIjoxNzEwNDk2NTQ1fQ.Sx2vGJcYGf98x99slQLU3vt7yWdjspptSpbUCcZgWek";
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjM1OTMyMDAyMjcwMDU2NDQ4IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0IiwiZXhwIjoxNzEwNDk2NTQ1fQ.Sx2vGJcYGf98x99slQLU3vt7yWdjspptSpbUCcZgWek";
//齐越梧桐
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY1ODk1OTgzMzc4MDc1NjQ4IiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MjQyOTE2MDZ9.NG6wDqHJ5ozmEDcAt2duJ50IcGarygrQ2bmiP4TGNRE";
//齐越山鸡
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNjk0NjY5NjkxfQ.cSwro-7bGwOu92YejH9JhMenTai7Mvf99i2paQCmxIw";
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNjk0NjY5NjkxfQ.cSwro-7bGwOu92YejH9JhMenTai7Mvf99i2paQCmxIw";
//刷单组测试
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTcxODUyODE0OTAzMTUyNjQwIiwidGVhbUlkIjoiMTU3MTg1MjQ1MDI5NjUwMDIyNCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE2OTUxNDc2ODh9.hVupdHnhgHHGo3QrMSDqhINqtq6Q5_RovWyXjiMkkEs";

4
BBWY.Client/BBWYAppSettings.json

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

2
BBWY.Client/GlobalContext.cs

@ -13,7 +13,7 @@ namespace BBWY.Client
{
ShopServiceGroupList = new List<string>();
ShopServiceGroupLowerList = new List<string>();
ClientVersion = "10159";
ClientVersion = "10173";
}
private User user;

43
BBWY.Client/Helpers/ImageHelper.cs

@ -0,0 +1,43 @@
using BBWY.Client.Extensions;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;
namespace BBWY.Client.Helpers
{
public static class ImageHelper
{
/// <summary>
/// 下载图片
/// </summary>
/// <param name="imageUrl"></param>
/// <returns></returns>
private static async Task< BitmapImage> LoadImageAsync(string imageUrl)
{
try
{
using (HttpClient client = new HttpClient())
{
// 发送 HTTP 请求并获取图片数据
var uri = new Uri(Uri.EscapeUriString(imageUrl));
byte[] imageData = await client.GetByteArrayAsync(uri);
// 创建 BitmapImage 对象并设置图片数据
var LogoImage = imageData.ByteToBitmapImage();
return LogoImage;
}
}
catch (Exception ex)
{
// 处理加载图片失败的异常
Console.WriteLine("加载图片失败:" + ex.Message);
}
return null;
}
}
}

58
BBWY.Client/Models/APIModel/Response/Order/ExportOrderSkuResponse.cs

@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
namespace BBWY.Client.Models
{
public class ExportOrderSkuResponse
{
public string OrderId { get; set; }
public DateTime? StartTime { get; set; }
public long ShopId { get; set; }
public string ShopName { get; set; }
public string Spu { get; set; }
public string Sku { get; set; }
public StorageType? StorageType { get; set; }
public decimal? PurchaseSkuAmount { get; set; }
public decimal? PurchaseFreight { get; set; }
public decimal? PurchaseAmount { get { return PurchaseSkuAmount + PurchaseFreight; } }
public decimal? SkuPrice { get; set; }
public int? ItemTotal { get; set; }
public string SpuName { get; set; }
public OrderState? OrderState { get; set; }
/// <summary>
/// 平台补贴
/// </summary>
public decimal? PreferentialAmount { get; set; }
/// <summary>
/// 商家优惠金额
/// </summary>
public decimal? SellerPreferentialAmount { get; set; }
public override string ToString()
{
return $"{StartTime},{ShopName},{OrderId},{OrderState},{Spu},{Sku},{StorageType},{PurchaseAmount},{PreferentialAmount},{SellerPreferentialAmount},{SkuPrice},{ItemTotal},{SpuName}";
}
}
public class ExportOrderSkuListResponse
{
public long Count { get; set; }
public IList<ExportOrderSkuResponse> ItemList { get; set; }
}
}

83
BBWY.Client/Models/APIModel/Response/PackTask/SearchStoreGetSelfResponse.cs

@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchStoreGetSelfResponse
{
/// <summary>
/// 总条数
/// </summary>
public int TotalCount { get; set; }
/// <summary>
/// 商家自取记录列表
/// </summary>
public List<StoreGetSelfData> StoreGetSelfResponseList { get; set; }
}
/// <summary>
/// 单挑自取记录数据
/// </summary>
public class StoreGetSelfData:NotifyObject
{
/// <summary>
/// 打包任务id
/// </summary>
public long TaskId { get; set; }
///// <summary>
///// 取货时间
///// </summary>
//public DateTime OperatorTime { get; set; }
/// <summary>
/// 取货人
/// </summary>
public string PickerUserName { get; set; }
/// <summary>
/// 自取数量
/// </summary>
public int StoreGetCount { get; set; }
#region 任务信息
/// <summary>
/// 任务创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 店铺
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 团队
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 商品sku
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// 图片
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 商品sku标题名称
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// 商品品名
/// </summary>
public string BrandName { get; set; }
#endregion
}
}

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

@ -116,7 +116,12 @@ namespace BBWY.Client.Models.APIModel
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get; set; }
private List<SealBoxSku> sealBoxSkus;
/// <summary>
/// 封箱sku列表
/// </summary>
public List<SealBoxSku> SealBoxSkus { get => sealBoxSkus; set { Set(ref sealBoxSkus, value); } }
/// <summary>
/// 封箱的箱子数量

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

@ -67,7 +67,7 @@ namespace BBWY.Client.Models.APIModel
public class SealBoxSku
{
public DateTime? CreateTime { get; set; }
/// <summary>
/// 任务Id
/// </summary>

102
BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs

@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Response.PackTask
{
public class ShopTotalV2Response
{
/// <summary>
///总量
/// </summary>
public int TotalCount { get; set; }
/// <summary>
///
/// </summary>
public List<ShopTotalV2> ShopTotals { get; set; }
}
public class ShopTotalV2
{
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 完成打包时间日期
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 是否结清
/// </summary>
public Settle IsSettle { get; set; }
/// <summary>
/// 部门
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 店铺
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 对接人
/// </summary>
public string AcceptUserName { get; set; }
/// <summary>
/// sku标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// sku数量(任务数量)
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// 耗材费
/// </summary>
public decimal ConsumableFees { get; set; }
/// <summary>
/// 到货数量
/// </summary>
public int? ArrivalQuantity { get; set; }
/// <summary>
/// 打包费(原价)
/// </summary>
public decimal PackFees { get; set; }
/// <summary>
/// 折扣系数
/// </summary>
public decimal? DiscountFactor { get; set; }
/// <summary>
/// 打包费用折扣价
/// </summary>
public decimal? PackDisCountFees { get; set; }
///// <summary>
///// 折扣类型
///// </summary>
//public FeesMode? FeesMode { get; set; }
/// <summary>
/// 总费用
/// </summary>
public decimal? AllFees { get; set; }
/// <summary>
/// 工序类型名称
/// </summary>
public string ProcessTypeName { get; set; }
/// <summary>
/// 工序套餐名称
/// </summary>
public string ProcessComboName { get; set; }
/// <summary>
/// 工序套餐单价
/// </summary>
public decimal ProcessComboPrice { get; set; }
/// <summary>
/// 工序套餐任务量
/// </summary>
public int ProcessComboTaskCount { get; set; }
/// <summary>
/// 耗材服务数据
/// </summary>
public List<ServiceItemResponse> ConsumableList { get; set; }
}
}

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

@ -67,6 +67,8 @@ namespace BBWY.Client.Models.APIModel
public class WareSealBoxSku
{
public DateTime? CreateTime { get; set; }
public TaskState TaskState { get; set; }
/// <summary>
/// 任务Id

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

@ -52,6 +52,8 @@ namespace BBWY.Client.Models.APIModel
public class WareNoSealBoxSku
{
public DateTime? CreateTime { get; set; }
/// <summary>
/// 任务Id
/// </summary>

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

@ -4,16 +4,18 @@ using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class GetWareWaitTransportResponse
public class GetWareWaitTransportResponse : NotifyObject
{
/// <summary>
/// 数量
/// </summary>
public int TotalCount { get; set; }
public List<WareWaitTransport> WareWaitTransports { get; set; }
private List<WareWaitTransport> wareWaitTransports;
public List<WareWaitTransport> WareWaitTransports { get => wareWaitTransports; set { Set(ref wareWaitTransports, value); } }
}
public class WareWaitTransport:NotifyObject
public class WareWaitTransport : NotifyObject
{
private string transportOverTimeMarkMsg;
@ -60,15 +62,18 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public string AcceptUserNames { get; set; }
/// <summary>
/// sku列表
/// </summary>
public List<WaitTransportSku> WaitTransportSkus { get; set; }
private List<WaitTransportSku> waitTransportSkus;
/// <summary>
/// sku列表
/// </summary>
public List<WaitTransportSku> WaitTransportSkus { get => waitTransportSkus; set { Set(ref waitTransportSkus, value); } }
}
public class WaitTransportSku
{
public DateTime? CreateTime { get; set; }
///// <summary>
///// 任务状态
///// </summary>

20
BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs

@ -33,7 +33,7 @@ namespace BBWY.Client.Models
public ObservableCollection<string> WorryList { get => worryList; set { Set(ref worryList, value); } }
private ObservableCollection<string> positionTypeList = new ObservableCollection<string> {
"商家仓","云仓", "京仓","聚水潭齐越仓"};
"商家仓","云仓", "京仓","聚水潭"};
public ObservableCollection<string> PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } }
private ObservableCollection<string> packTypeList = new ObservableCollection<string> {
@ -60,10 +60,10 @@ namespace BBWY.Client.Models
};
public ObservableCollection<string> CertificatePositionList { get => certificatePositionList; set { Set(ref certificatePositionList, value); } }
private ObservableCollection<string> availabilityList = new ObservableCollection<string> {
"已到货","部分到货","未到货"
};
public ObservableCollection<string> AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } }
//private ObservableCollection<string> availabilityList = new ObservableCollection<string> {
// "已到货","部分到货","未到货"
// };
//public ObservableCollection<string> AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } }
private int skuCount;
/// <summary>
@ -120,11 +120,11 @@ namespace BBWY.Client.Models
///// </summary>
//public Worry IsWorry { get => isWorry; set { Set(ref isWorry, value); } }
private Availability availability;
/// <summary>
/// 到货情况(待收货=0,部分收货=1,已到货=2)
/// </summary>
public Availability Availability { get => availability; set { Set(ref availability, value); } }
//private Availability availability;
///// <summary>
///// 到货情况(待收货=0,部分收货=1,已到货=2)
///// </summary>
//public Availability Availability { get => availability; set { Set(ref availability, value); } }
private PackType packType;
/// <summary>

13
BBWY.Client/Models/Enums.cs

@ -225,7 +225,7 @@
= 0,
= 1,
= 2,//已到货
= 3,
= 3,
= 4,
= 5,
= 6,
@ -266,7 +266,7 @@
= 0,
= 1,
= 2,
= 3
= 3
}
/// <summary>
/// 合格证包装位置
@ -463,7 +463,7 @@
}
public enum WareType
{
= 0, = 1, = 2, = 3
= 0, = 1, = 2, = 3
}
public enum FeesMode
{
@ -554,4 +554,11 @@
= 2
}
public enum QualityLookState
{
}
}

4
BBWY.Client/Models/PackTask/CertificateModel.cs

@ -134,11 +134,11 @@ namespace BBWY.Client.Models
private long goodsNumber = 1;
private long? goodsNumber = 1;
/// <summary>
/// 配件序号
/// </summary>
public long GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } }
public long? GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } }

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

@ -428,11 +428,14 @@ namespace BBWY.Client.Models
/// </summary>
public string ScheduleOverTimeMarkMsg { get; set; }
/// <summary>
/// 物流信息
/// </summary>
public List<ExpressOrderResponse> ExpressOrderList { get; set; }
private List<ExpressOrderResponse> expressOrderList;
/// <summary>
/// 物流信息
/// </summary>
public List<ExpressOrderResponse> ExpressOrderList { get => expressOrderList; set { Set(ref expressOrderList, value); } }
/// <summary>
/// 需求方店铺id

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

@ -44,7 +44,12 @@ namespace BBWY.Client.Models.PackTask
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareSealBoxSku> SealBoxSkus { get; set; }
private List<WareSealBoxSku> sealBoxSkus;
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareSealBoxSku> SealBoxSkus { get => sealBoxSkus; set { Set(ref sealBoxSkus, value); } }
/// <summary>
/// 封箱数

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

@ -1,4 +1,5 @@
using BBWY.Client.ViewModels;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.ViewModels;
using System;
using System.Collections.Generic;
using System.Text;
@ -7,23 +8,29 @@ namespace BBWY.Client.Models.PackTask
{
public class ShopTotal :NotifyObject
{
private FeesItemResponse feesItemResponse;
public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } }
private long id;
public long Id { get => id; set { Set(ref id, value); } }
private bool taskChecked;
public bool TaskChecked { get => taskChecked; set { Set(ref taskChecked, value); } }
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 需求方创建日期
/// 完成打包时间日期
/// </summary>
public DateTime CreateTime { get; set; }
public DateTime? CreateTime { get; set; }
/// <summary>
/// 是否结清
/// </summary>
//
public Settle IsSettle { get; set; }
/// <summary>
/// 部门
@ -38,101 +45,67 @@ namespace BBWY.Client.Models.PackTask
/// </summary>
public string AcceptUserName { get; set; }
/// <summary>
/// sku
/// sku标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// sku数量(任务数量)
/// </summary>
public int SkuCount { get; set; }
public decimal IncreaseFees { get; set; }
public decimal PackFees { get; set; }
public decimal ConsumableFees { get; set; }
// public decimal Price { get; set; }
//public decimal Discount { get; set; }
public decimal DiscountPrice { get; set; }
/// <summary>
/// 注意事项(对接备注)
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 打包单价
/// </summary>
public decimal? PackSingleFees { get; set; }
/// <summary>
/// 打包费用
/// 耗材费
/// </summary>
//public decimal? PackAllFees { get; set; }
/// <summary>
/// 箱子费用
/// </summary>
public decimal? BoxConsumableFees { get; set; }
/// <summary>
/// 气泡纸耗材费
/// </summary>
public decimal? AirConsumableFees { get; set; }
public decimal ConsumableFees { get; set; }
/// <summary>
/// 胶带耗材费
/// 到货数量
/// </summary>
public decimal? TapeConsumableFees { get; set; }
public int? ArrivalQuantity { get; set; }
/// <summary>
/// 其他耗材费
/// 打包费(原价)
/// </summary>
public decimal? OtherConsumableFees { get; set; }
public decimal PackFees { get; set; }
/// <summary>
/// 折扣系数
/// </summary>
public decimal? DiscountFactor { get; set; }
/// <summary>
/// 到货数量
/// 打包费用折扣价
/// </summary>
public int? ArrivalQuantity { get; set; }
public decimal? PackDisCountFees { get; set; }
///// <summary>
///// 折扣类型
///// </summary>
//public FeesMode? FeesMode { get; set; }
/// <summary>
/// 基础价格(基础包装费、仅贴码)
/// 总费用
/// </summary>
public decimal? BasicPrice { get; set; }
public decimal? AllFees { get; set; }
/// <summary>
/// 增量价格
/// 工序类型名称
/// </summary>
public decimal? IncrementPartPrice { get; set; }
public string ProcessTypeName { get; set; }
/// <summary>
/// 增量工序价
/// 工序套餐名称
/// </summary>
public decimal? IncrementProcessPrice { get; set; }
public string ProcessComboName { get; set; }
/// <summary>
/// 折扣类型
/// 工序套餐单价
/// </summary>
public FeesMode? FeesMode { get; set; }
public decimal ProcessComboPrice { get; set; }
/// <summary>
/// 总费用
/// 工序套餐任务量
/// </summary>
public decimal? AllFees { get; set; }
public int ProcessComboTaskCount { get; set; }
/// <summary>
/// 打包费用折扣价
/// 耗材服务数据
/// </summary>
public decimal? PackDisCountFees { get; set; }
public List<ServiceItemResponse> ConsumableList { get; set; }
// string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,打包原价,打包折扣系数,打包折扣价,总收费";
public override string ToString()
{
return $"{TaskId},{CreateTime.ToString("MM-dd")},{IsSettle},{DepartmentName},{ShopName}" +
$",{SkuCount},{BoxConsumableFees},{AirConsumableFees},{TapeConsumableFees},{OtherConsumableFees},{ConsumableFees},{ArrivalQuantity},{BasicPrice},{IncrementPartPrice},{IncrementProcessPrice},{PackSingleFees},{PackFees},{FeesMode},{DiscountFactor},{PackDisCountFees},{IncreaseFees},{AllFees}";
return $"{TaskId},{CreateTime?.ToString("MM-dd")},{IsSettle},{DepartmentName},{ShopName}" +
$",{SkuCount},{ArrivalQuantity},{ConsumableFees},{ProcessTypeName},{ProcessComboName},{ProcessComboPrice},{PackFees},{DiscountFactor},{PackDisCountFees},{AllFees}";
}
}
@ -144,5 +117,15 @@ namespace BBWY.Client.Models.PackTask
public int TotalCount { get; set; }
public ShopTotal[] ShopTotals { get; set; }
/// <summary>
/// 总打包费用
/// </summary>
public decimal TotalPackDiscountFees { get; set; }
/// <summary>
/// 总耗材费
/// </summary>
public decimal TotalConsumableFees { get; set; }
}
}

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

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
namespace BBWY.Client.Models.PackTask
{
public class StoreGetSelfResponse:NotifyObject
{ /// <summary>
/// 团队用户列表(取件人)
/// </summary>
private ObservableCollection<DepartmentUser> departmentUsers;
/// <summary>
/// 团队用户列表(取件人)
/// </summary>
public ObservableCollection<DepartmentUser> DepartmentUsers { get=> departmentUsers; set { Set(ref departmentUsers, value); } }
/// <summary>
/// 可取的最大数
/// </summary>
public int PickMaxCount { get; set; }
/// <summary>
/// 提示消息
/// </summary>
public string ShowMessage { get; set; }
}
public class DepartmentUser:NotifyObject
{
/// <summary>
/// 用户id
/// </summary>
public string UserId { get; set; }
private string userName;
/// <summary>
/// 名称
/// </summary>
public string UserName { get => userName; set { Set(ref userName, value); } } //
}
}

1
BBWY.Client/Models/Product/ProductSku.cs

@ -26,7 +26,6 @@ namespace BBWY.Client.Models
/// 采购方案
/// </summary>
public IList<PurchaseScheme> PurchaseSchemeList { get; set; }
/// <summary>
/// 采购订单
/// </summary>

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

@ -2,36 +2,65 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Windows;
namespace BBWY.Client.Models.SealBox
{
/// <summary>
/// 待配置
/// </summary>
public class SealBoxConfigureModel : NotifyObject
{
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// sku标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 任务状态
/// </summary>
private TaskState? taskState;
/// <summary>
/// 任务状态
/// </summary>
public TaskState? TaskState { get => taskState; set { Set(ref taskState, value); } }
private int skuCount;
/// <summary>
/// sku任务数
/// </summary>
public int SkuCount { get; set; }
public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } }
private int waitConfigureCount;
/// <summary>
/// sku图片
/// 待分配数量
/// </summary>
public string Logo { get; set; }
public int WaitConfigureCount
{
get
{
return waitConfigureCount;
}
set { Set(ref waitConfigureCount, value); }
}
private int splitCount;
/// <summary>
/// 份数
/// sku图片
/// </summary>
public int SplitCount { get=>splitCount; set {Set(ref splitCount,value); } }
public string Logo { get; set; }
private ObservableCollection<SealBoxConfigureWareHourseModel> wareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel>();
/// <summary>
@ -39,19 +68,48 @@ namespace BBWY.Client.Models.SealBox
/// </summary>
public ObservableCollection<SealBoxConfigureWareHourseModel> WareHourseDatas { get => wareHourseDatas; set { Set(ref wareHourseDatas, value); } }
private WareType? wareType;
public WareType? WareType { get => wareType; set { Set(ref wareType, value); } }
}
/// <summary>
/// 封箱配置 装箱配置
/// </summary>
public class SealBoxConfigureWareHourseModel : NotifyObject
{
private int index;
public long TaskId { get; set; }
public int Index { get => index; set { Set(ref index, value); } }
public Action<int, long> TotalWareCount { get; set; }
private int count;
public int Count { get=>count; set {Set(ref count,value); } }
public int Count
{
get => count; set
{
Set(ref count, value);
OnCountChanged();
}
}
private void OnCountChanged()
{
if (Count<0)
{
MessageBox.Show("数量不能为负数");
return;
}
if (TotalWareCount != null) TotalWareCount(Count, TaskId);
}
private string wareId;
@ -63,21 +121,21 @@ namespace BBWY.Client.Models.SealBox
public string WareName { get => wareName; set { Set(ref wareName, value); } }
private WareType? wareType;
public WareType? WareType { get => wareType; set { Set(ref wareType, value); } }
private PositionState? wareState;
/// <summary>
///待封箱 = 0, 待落仓 = 1, 待完结 = 2
///待封箱 = 0, 待落仓 = 1, 待落仓已配置 = 2,待完结=3
/// </summary>
public PositionState? WareState { get; set; }
public PositionState? WareState { get => wareState; set { Set(ref wareState, value); } }
/// <summary>
///封箱id
/// </summary>
public long? SealBoxId { get; set; }
//private WareType? wareType;
//public WareType? WareType { get => wareType; set { Set(ref wareType, value); } }
}
}

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

@ -27,15 +27,13 @@ namespace BBWY.Client.Models
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 预计完成时间
/// </summary>
public DateTime? PreCompletedTime { get; set; }
/// <summary>
/// 任务状态
/// </summary>
public TaskState? TaskState { get; set; }
public string BrandName { get; set; }
public WareType? WareType { get; set; }
}
}

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

@ -31,6 +31,11 @@ namespace BBWY.Client.Models
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareNoSealBoxSku> SealBoxSkus { get; set; }
private List<WareNoSealBoxSku> sealBoxSkus;
/// <summary>
/// 封箱sku列表
/// </summary>
public List<WareNoSealBoxSku> SealBoxSkus { get=> sealBoxSkus; set {Set(ref sealBoxSkus, value); } }
}
}

17
BBWY.Client/Models/Shop/Shop.cs

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
namespace BBWY.Client.Models
{
@ -7,7 +8,19 @@ namespace BBWY.Client.Models
private bool isSelected;
private string shopName;
public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } }
public bool IsSelected
{
get => isSelected; set
{
if (Set(ref isSelected, value))
{
OnIsSelectedChanged?.Invoke();
}
}
}
public Action OnIsSelectedChanged { get; set; }
/// <summary>
/// 店铺Id
/// </summary>

4
BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs

@ -83,14 +83,14 @@ namespace BBWY.Client.ViewModels
Logo = task.Logo,
SkuName = task.SkuName,
BrandName = task.BrandName,
Availability = (int)task.Availability,
//Availability = (int)task.Availability,
BasicPack = (int)task.BasicPack,
SkuId = task.SkuId,
CreateTime = DateTime.Now,
Increment1 = increateStr,
CertificatePosition = (int)task.CertificatePosition,
PackType = (int)task.PackType,
MarkMessage = task.MarkMessage,
//MarkMessage = task.MarkMessage,
PositionType = (int)task.PositionType,
GoodsNumber = task.GoodsNumber,
SkuGoodsTitle = task.SkuTitle,

14
BBWY.Client/ViewModels/MainViewModel.cs

@ -123,7 +123,7 @@ namespace BBWY.Client.ViewModels
/// </summary>
private void CreateMenu()
{
if (this.packDepartment.Contains(GlobalContext.User.TeamName))
if (this.packDepartment.Contains(GlobalContext.User.TeamName) || packDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m)))
{
App.Current.Dispatcher.Invoke(() =>
@ -133,7 +133,7 @@ namespace BBWY.Client.ViewModels
Name = "齐库仓库端",
ChildList = new List<MenuModel>()
{
new MenuModel(){ Name="包任务",Url="/Views/PackTask/WareHouseList.xaml" },
new MenuModel(){ Name="包任务",Url="/Views/PackTask/WareHouseList.xaml" },
new MenuModel(){ Name="耗材管理",Url="/Views/PackTask/Consumable.xaml" },
new MenuModel(){ Name="账单管理",Url="/Views/PackTask/PackTaskTotal.xaml" },
new MenuModel(){ Name="收益账单",Url="/Views/TotalPackTask/PackUserSalaryList.xaml" }
@ -196,6 +196,7 @@ namespace BBWY.Client.ViewModels
ChildList = new List<MenuModel>()
{
new MenuModel(){ Name="发布任务",Url="/Views/PackTask/TaskList.xaml" },
new MenuModel(){ Name="包装账单",Url="/Views/TotalPackTask/ShopPackTaskTotal.xaml" },
}
@ -213,7 +214,7 @@ namespace BBWY.Client.ViewModels
Name = "齐库仓库端",
ChildList = new List<MenuModel>()
{
new MenuModel(){ Name="包任务",Url="/Views/PackTask/WareHouseList.xaml" },
new MenuModel(){ Name="包任务",Url="/Views/PackTask/WareHouseList.xaml" },
new MenuModel(){ Name="耗材管理",Url="/Views/PackTask/Consumable.xaml" },
new MenuModel(){ Name="账单管理",Url="/Views/PackTask/PackTaskTotal.xaml" },
new MenuModel(){ Name="收益账单",Url="/Views/TotalPackTask/PackUserSalaryList.xaml" }
@ -227,7 +228,8 @@ namespace BBWY.Client.ViewModels
ChildList = new List<MenuModel>()
{
new MenuModel(){ Name="采购审计",Url="/Views/FinancialTerminal/ProcurementAudit.xaml" },
new MenuModel(){ Name="费用矫正",Url="/Views/BillCorrection/BillCorrectionView.xaml" }
new MenuModel(){ Name="费用矫正",Url="/Views/BillCorrection/BillCorrectionView.xaml" },
new MenuModel(){ Name="订单导出",Url="/Views/Order/ExportOrderSkuView.xaml" }
}
}));
}
@ -275,10 +277,8 @@ namespace BBWY.Client.ViewModels
CreateMenu();
IList<Department> departmentList = null;
if (GlobalContext.User.TeamName == "刷单组" || this.packDepartment.Contains(GlobalContext.User.TeamName) ||
if (GlobalContext.User.TeamName == "刷单组" || this.packDepartment.Contains(GlobalContext.User.TeamName) || packDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m)) ||
managerDepartment.Contains(GlobalContext.User.TeamName) ||
managerDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m)))
{

223
BBWY.Client/ViewModels/Order/ExportOrderSkuViewModel.cs

@ -0,0 +1,223 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Common.Models;
using BBWY.Controls;
using GalaSoft.MvvmLight.Command;
using Microsoft.Win32;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
namespace BBWY.Client.ViewModels
{
public class ExportOrderSkuViewModel : BaseVM, IDenpendency
{
private DateTime startDate;
private DateTime endDate;
private GlobalContext globalContext;
private KVModel selectedPlatform;
private int pageIndex;
private int pageSize;
private long totalCount;
private bool isLoading;
private bool isShowAll_Shop;
private bool isShowAll_Department;
private OrderService orderService;
public IList<Department> DepartmentList { get; set; }
public IList<Shop> ShopList { get; set; }
public IList<KVModel> PlatformList { get; set; }
public IList<ExportOrderSkuResponse> ExportSkuList { get; set; }
public DateTime StartDate { get => startDate; set { Set(ref startDate, value); } }
public DateTime EndDate { get => endDate; set { Set(ref endDate, value); } }
public KVModel SelectedPlatform { get => selectedPlatform; set { Set(ref selectedPlatform, value); } }
public ICommand SearchCommand { get; set; }
public ICommand ExportCommand { get; set; }
public ICommand OrderPageIndexChangedCommand { get; set; }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public long TotalCount { get => totalCount; set { Set(ref totalCount, value); } }
public bool IsShowAll_Shop { get => isShowAll_Shop; set { Set(ref isShowAll_Shop, value); } }
public bool IsShowAll_Department { get => isShowAll_Department; set { Set(ref isShowAll_Department, value); } }
public ExportOrderSkuViewModel(GlobalContext globalContext, OrderService orderService)
{
this.orderService = orderService;
DepartmentList = new ObservableCollection<Department>();
ShopList = new ObservableCollection<Shop>();
PlatformList = new ObservableCollection<KVModel>();
ExportSkuList = new ObservableCollection<ExportOrderSkuResponse>();
SearchCommand = new RelayCommand(Search);
ExportCommand = new RelayCommand(Export);
OrderPageIndexChangedCommand = new RelayCommand<PageArgs>(p =>
{
//this.PageIndex = p.PageIndex;
Task.Factory.StartNew(() => SearchCore(p.PageIndex));
});
var platformEnumValues = Enum.GetValues(typeof(Platform));
foreach (var ev in platformEnumValues)
{
var p = (Platform)ev;
PlatformList.Add(new KVModel()
{
Key = p.ToString(),
Value = ((int)p).ToString()
});
}
IsShowAll_Department = IsShowAll_Shop = true;
this.globalContext = globalContext;
LoadDepartment();
StartDate = DateTime.Now.Date;
EndDate = DateTime.Now.Date;
PageIndex = 1;
PageSize = 20;
}
private void LoadDepartment()
{
var dlist = JsonConvert.DeserializeObject<IList<Department>>(JsonConvert.SerializeObject(globalContext.User.DepartmentList));
foreach (var d in dlist)
{
d.IsSelected = false;
DepartmentList.Add(d);
d.OnIsSelectedChanged = OnDeparmentSelectionChanged;
}
ShopList.Clear();
}
private void OnDeparmentSelectionChanged()
{
ShopList.Clear();
foreach (var d in DepartmentList)
{
if (!d.IsSelected)
continue;
foreach (var s in d.ShopList)
{
s.OnIsSelectedChanged = OnShopSelectionChanged;
s.IsSelected = false;
ShopList.Add(s);
}
}
IsShowAll_Department = !DepartmentList.Any(d => d.IsSelected);
}
private void OnShopSelectionChanged()
{
IsShowAll_Shop = !ShopList.Any(s => s.IsSelected);
}
private void Search()
{
PageIndex = 1;
Task.Factory.StartNew(() => SearchCore(PageIndex));
}
private void SearchCore(int pageIndex)
{
IsLoading = true;
int? purchasePlatform = null;
if (SelectedPlatform != null)
purchasePlatform = int.Parse(SelectedPlatform.Value);
List<long> shopIds = new List<long>();
if (ShopList.Count() > 0)
{
if (ShopList.Any(s => s.IsSelected))
shopIds.AddRange(ShopList.Where(s => s.IsSelected).Select(s => s.ShopId));
else
shopIds.AddRange(ShopList.Select(s => s.ShopId));
}
var response = orderService.QueryOrderSkuList(StartDate,
EndDate,
purchasePlatform,
shopIds,
pageIndex,
PageSize);
IsLoading = false;
TotalCount = 0;
if (!response.Success)
{
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "提示"));
return;
}
TotalCount = response.Data.Count;
App.Current.Dispatcher.Invoke(() =>
{
ExportSkuList.Clear();
foreach (var item in response.Data.ItemList)
ExportSkuList.Add(item);
});
}
private void Export()
{
var sfd = new SaveFileDialog() { Filter = "csv files(*.csv)|*.csv" };
if (sfd.ShowDialog() != true)
return;
var ssaveFileName = sfd.FileName;
int? purchasePlatform = null;
if (SelectedPlatform != null)
purchasePlatform = int.Parse(SelectedPlatform.Value);
IsLoading = true;
Task.Factory.StartNew(() => orderService.ExportOrderSkuList(StartDate,
EndDate,
purchasePlatform,
ShopList.Where(s => s.IsSelected).Select(s => s.ShopId).ToList())).ContinueWith(t =>
{
var response = t.Result;
if (!response.Success)
{
IsLoading = false;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "提示"));
return;
}
try
{
var list = response.Data.Select(x => x.ToString()).ToList();
list.Insert(0, "开始时间,店铺名称,订单Id,订单状态,SPU,SKU,仓储类型,采购成本(货款+运费),平台优惠,商家优惠,单价,数量,商品标题");
System.IO.File.WriteAllLines(ssaveFileName, list, Encoding.UTF8);
App.Current.Dispatcher.Invoke(() => MessageBox.Show("导出完成", "导出"));
}
catch (Exception ex)
{
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "导出"));
return;
}
finally
{
IsLoading = false;
}
});
}
}
}

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

@ -35,7 +35,7 @@ namespace BBWY.Client.ViewModels.PackTask
public ObservableCollection<string> WorryList { get => worryList; set { Set(ref worryList, value); } }
private ObservableCollection<string> positionTypeList = new ObservableCollection<string> {
"商家仓","云仓", "京仓","聚水潭齐越仓"};
"商家仓","云仓", "京仓","聚水潭"};
public ObservableCollection<string> PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } }
private ObservableCollection<string> packTypeList = new ObservableCollection<string> {

5
BBWY.Client/ViewModels/PackTask/PackDetailViewModel.cs

@ -906,12 +906,13 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
private void UpLoadPack(object obj)
{
if (ProcessTaskCount > TaskCount)
if (PackUserModelList==null|| PackUserModelList.Count<=0)
{
System.Windows.MessageBox.Show($"工序任务数:{ProcessTaskCount}不能超过打包总任务数:{TaskCount}");
System.Windows.MessageBox.Show("信息不完整,打包人设置有误");
return;
}
if (PackUserModelList != null && PackUserModelList.Count > 0)
{
if (PackUserModelList.Any(p => p.SelectUserId.IsNullOrEmpty() || p.TaskCount <= 0))

48
BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs

@ -18,6 +18,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using WebSocketSharp;
namespace BBWY.Client.ViewModels.PackTask
{
@ -56,7 +57,24 @@ namespace BBWY.Client.ViewModels.PackTask
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
public int OrderCount { get => orderCount; set { Set(ref orderCount, value); } }
private decimal totalPackDiscountFees;
/// <summary>
/// 总打包费用
/// </summary>
public decimal TotalPackDiscountFees { get => totalPackDiscountFees; set { Set(ref totalPackDiscountFees, value); } }
private decimal totalConsumableFees;
/// <summary>
/// 总耗材费
/// </summary>
public decimal TotalConsumableFees { get => totalConsumableFees; set { Set(ref totalConsumableFees, value); } }
private decimal totalFees;
/// <summary>
/// 总耗材费
/// </summary>
public decimal TotalFees { get => totalFees; set { Set(ref totalFees, value); } }
public ICommand SetSearchDateCommand { get; set; }
@ -107,7 +125,7 @@ namespace BBWY.Client.ViewModels.PackTask
SearchTaskTotal();
}
private void Export()
{
@ -125,12 +143,12 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotal(SearchSkuId, SearchTaskId, StartDate, EndDate, SearchShopName,
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
SearchDepartment, 0, 0);//获取全部数据
if (res.Success)
{
//string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注";
string title = "任务ID,日期,是否结清,所属部门,所属店铺,打包数量,箱子,气泡纸,胶带,其他,耗材总价,收货数量,基础价格,增量配件价,增量工序价格,打包单价,打包原价,收费方式,打包折扣系数,打包折扣价,增值费用,总收费";
string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费";
var excelList = res.Data.ShopTotals.Select(x => x.ToString()).ToList();
excelList.Insert(0, title);
System.IO.File.WriteAllLines(fileName, excelList, Encoding.UTF8);
@ -196,18 +214,36 @@ namespace BBWY.Client.ViewModels.PackTask
private void SearchTaskTotal()
{
PackTaskTotalList = new ObservableCollection<ShopTotal>();
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotal(SearchSkuId, SearchTaskId, StartDate, EndDate, SearchShopName,
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
SearchDepartment, PageIndex, PageSize);
if (res != null && res.Success)
{
OrderCount = res.Data.TotalCount;
TotalConsumableFees = res.Data.TotalConsumableFees;
TotalPackDiscountFees = res.Data.TotalPackDiscountFees;
TotalFees = TotalConsumableFees + TotalPackDiscountFees;
foreach (var shopTotal in res.Data.ShopTotals)
{
if (!shopTotal.ProcessComboName.IsNullOrEmpty())
shopTotal.FeesItemResponse = new Models.APIModel.Response.PackTask.FeesItemResponse
{
AllFees = shopTotal.AllFees.Value,
PackFees=shopTotal.PackDisCountFees.Value,
TaskId = shopTotal.TaskId,
ProcessTypeName = shopTotal.ProcessTypeName,
ProcessComboName = shopTotal.ProcessComboName,
ConsumableFees =shopTotal.ConsumableFees,
ConsumableList = shopTotal.ConsumableList,
ProcessComboPrice = shopTotal.ProcessComboPrice,
ProcessComboTaskCount = shopTotal.ProcessComboTaskCount,
DiscountFoctor = shopTotal.DiscountFactor
};
App.Current.Dispatcher.Invoke(() =>
{
PackTaskTotalList.Add(shopTotal);

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

@ -42,7 +42,7 @@ namespace BBWY.Client.ViewModels.PackTask
public ObservableCollection<string> WorryList { get => worryList; set { Set(ref worryList, value); } }
private ObservableCollection<string> positionTypeList = new ObservableCollection<string> {
"商家仓","云仓", "京仓","聚水潭齐越仓"};
"商家仓","云仓", "京仓","聚水潭"};
public ObservableCollection<string> PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } }
private ObservableCollection<string> packTypeList = new ObservableCollection<string> {
@ -145,7 +145,7 @@ namespace BBWY.Client.ViewModels.PackTask
private PositionType positionType;
/// <summary>
/// 落仓(商家仓=0,云仓=1,京仓=2,聚水潭齐越仓=3)
/// 落仓(商家仓=0,云仓=1,京仓=2,聚水潭=3)
/// </summary>
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
@ -552,6 +552,7 @@ namespace BBWY.Client.ViewModels.PackTask
IsNeedCertificateModel = config.NeedCer ? Need. : Need.;
IsSetBarCode = !config.NeedBar;
bool isSelected = false;
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
isSelected = false;

11
BBWY.Client/ViewModels/PackTask/StorePickSelfViewModel.cs

@ -0,0 +1,11 @@
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.ViewModels.PackTask
{
public class StorePickSelfViewModel:BaseVM,IDenpendency
{
}
}

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

@ -237,9 +237,15 @@ namespace BBWY.Client.ViewModels.PackTask
public ObservableCollection<PackTaskModel> PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } }
#endregion
private ObservableCollection<StoreGetSelfData> storeGetSelfDataList;
/// <summary>
/// 商家自取记录任务列表
/// </summary>
public ObservableCollection<StoreGetSelfData> StoreGetSelfDataList { get => storeGetSelfDataList; set { Set(ref storeGetSelfDataList, value); } }
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService)
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService)
{
this.globalContext = globalContext;
@ -282,6 +288,15 @@ namespace BBWY.Client.ViewModels.PackTask
SetFallWareConfiguredCommand = new RelayCommand<object>(SetFallWareConfigured);
SubmitOverTimeMarkMsgCommand = new RelayCommand<object>(SubmitOverTimeMarkMsg);
AddSealBoxProductCommand = new RelayCommand(AddSealBoxProduct);
this.productService = productService;
}
ProductService productService;
private void AddSealBoxProduct()
{
AddProductWindow addProductWindow = new AddProductWindow(packTaskService, productService, ReflashTask);
addProductWindow.ShowDialog();
}
private void SubmitOverTimeMarkMsg(object param)
@ -309,20 +324,9 @@ namespace BBWY.Client.ViewModels.PackTask
WaybillNo = fallware.WaybillNo
};
//if (fallware.WareType== WareType.京仓)
//{
//SetJDWareBoxWindow window = new SetJDWareBoxWindow(model,sealBoxService,fallware.WareType.Value,ReflashTask);
//window.Show();
var w = new SetJDWareBoxWindow2(model, sealBoxService, fallware.WareType.Value, ReflashTask, fallware.TransportOverTime);
w.ShowDialog();
//}
//if (fallware.WareType == WareType.云仓)
//{
// SetCloudWareBoxWindow window = new SetCloudWareBoxWindow(model, sealBoxService, fallware.WareType.Value, ReflashTask);
// window.Show();
//}
}
private void UpdateSealBoxConfigured(SealBoxConfiguredModel model)
@ -330,7 +334,7 @@ namespace BBWY.Client.ViewModels.PackTask
var sealBoxId = model.SealBoxId;
var taskIds = model.SealBoxConfigureTasks.Select(s => s.TaskId).ToArray();
var updateSealBoxConfig = sealBoxService.GetUpdateSealBoxConfigured(sealBoxId, taskIds);
var updateSealBoxConfig = sealBoxService.GetUpdateSealBoxConfiguredV2(sealBoxId, taskIds);
if (updateSealBoxConfig == null)
{
MessageBox.Show("网络异常,获取不到带封箱数据");
@ -342,10 +346,10 @@ namespace BBWY.Client.ViewModels.PackTask
return;
}
SetSealBoxPolicyWindow setSealBoxPolicyWindow = new SetSealBoxPolicyWindow(updateSealBoxConfig.Data.UpdateSealBoxConfiguredTaskDatas, ReflashTask, sealBoxId);
setSealBoxPolicyWindow.ShowDialog();
SealBoxConfigureWindow sealBoxConfigureWindow = new SealBoxConfigureWindow(updateSealBoxConfig.Data.UpdateSealBoxConfiguredTaskDatas, ReflashTask, sealBoxId);
sealBoxConfigureWindow.ShowDialog();
}
private void ConfiguredSealBox()
@ -366,24 +370,38 @@ namespace BBWY.Client.ViewModels.PackTask
MessageBox.Show("已全部封箱!");
return;
}
var taskIds = waitSealBoxRes.Data.SealBoxWaitConfigureModels.Select(w => w.TaskId).ToArray();
//var taskIds = waitSealBoxRes.Data.SealBoxWaitConfigureModels.Select(w => w.TaskId).ToArray();
var updateSealBoxConfig = sealBoxService.GetUpdateSealBoxConfigured(0, taskIds);
if (updateSealBoxConfig == null)
{
MessageBox.Show("网络异常,获取不到带封箱数据");
return;
}
if (!updateSealBoxConfig.Success || updateSealBoxConfig.Data == null)
{
MessageBox.Show(updateSealBoxConfig.Msg);
return;
}
SealBoxConfigureWindow sealBoxConfigureWindow = new SealBoxConfigureWindow(updateSealBoxConfig.Data.UpdateSealBoxConfiguredTaskDatas, ReflashTask, 0);
sealBoxConfigureWindow.ShowDialog();
//var updateSealBoxConfig = sealBoxService.GetUpdateSealBoxConfigured(0, taskIds);
//if (updateSealBoxConfig == null)
//{
// MessageBox.Show("网络异常,获取不到带封箱数据");
// return;
//}
//if (!updateSealBoxConfig.Success || updateSealBoxConfig.Data == null)
//{
// MessageBox.Show(updateSealBoxConfig.Msg);
// return;
//}
//SealBoxConfigureWindow sealBoxConfigureWindow = new SealBoxConfigureWindow(updateSealBoxConfig.Data.UpdateSealBoxConfiguredTaskDatas, ReflashTask, 0);
//sealBoxConfigureWindow.ShowDialog();
var data = waitSealBoxRes.Data.SealBoxWaitConfigureModels.Select(x => new SealBoxConfigureModel
{
Logo = x.Logo,
WareType = x.WareType,
SkuCount = x.SkuCount,
SkuId = x.SkuId,
SkuName = x.SkuName,
TaskId = x.TaskId,
TaskState = x.TaskState,
WaitConfigureCount = x.SkuCount,
}).ToList();
SetSealBoxPolicyWindow setSealBoxPolicyWindow = new SetSealBoxPolicyWindow(data, ReflashTask, 0);
setSealBoxPolicyWindow.ShowDialog();
}
private void DeletedTask(object obj)
@ -430,6 +448,10 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 添加封箱商品
/// </summary>
public ICommand AddSealBoxProductCommand { get; set; }
/// <summary>
/// 提交过期时间数据
/// </summary>
@ -497,7 +519,7 @@ namespace BBWY.Client.ViewModels.PackTask
}
private List<TaskState> waitSealBoxTaskStates = new List<TaskState> {
Models.TaskState., Models.TaskState., Models.TaskState.
Models.TaskState., Models.TaskState., Models.TaskState., Models.TaskState.
};//配置封箱的任务状态范围
@ -687,9 +709,9 @@ namespace BBWY.Client.ViewModels.PackTask
}
//任务状态为待打包
if (TaskState == Models.TaskState.)
if (TaskState == Models.TaskState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
{
@ -1048,6 +1070,38 @@ namespace BBWY.Client.ViewModels.PackTask
IsLoading = false;
});
}
if (TaskState == Models.TaskState.)
{
Task.Factory.StartNew(() =>
{
StoreGetSelfDataList = new ObservableCollection<StoreGetSelfData>();
var datas = packTaskService.SearchStoreGetSelfList(SearchTaskId, SearchOrderSn, SearchSpuId, SearchSkuId, null, null, PageIndex, PageSize, globalContext.User.Shop.ShopId.ToString());
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.StoreGetSelfResponseList)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
StoreGetSelfDataList.Add(item);
}));
}
}
else
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
MessageBox.Show(datas?.Msg);
}));
}
IsLoading = false;
});
}
}

175
BBWY.Client/ViewModels/PackTask/UpdatePurchaseTaskViewModel.cs

@ -436,7 +436,7 @@ namespace BBWY.Client.ViewModels.PackTask
if (!string.IsNullOrEmpty(BrandName))
model.CerDTO.BrandName = BrandName;
QualitySetCerWindow setCerWindow = new QualitySetCerWindow();
QualitySetCerWindow setCerWindow = new QualitySetCerWindow(false);
setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate, SaveType);
setCerWindow.SaveResult = (s, PackCerState) =>
{
@ -525,108 +525,111 @@ namespace BBWY.Client.ViewModels.PackTask
Brand = productApiResponse.Data.Items[0].BrandName;
}
var productSku = packPurchaseTaskService.GetConfigPack(SkuId, "", OrderId);
}
else
{
if (productSku == null || !productSku.Success || productSku.Data == null)
{
MessageBox.Show(productSku.Msg);
return false;
}
App.Current.Dispatcher.Invoke(() => MessageBox.Show(skuResponse.Msg, "加载sku失败"));
}
var productSku = packPurchaseTaskService.GetConfigPack(SkuId, "", OrderId);
SkuPurchaseSchemeId = productSku.Data.SkuPurchaseSchemeId;
BarCodeModel = productSku.Data.BarCode;
if (BarCodeModel == null)
{
BarCodeModel = new BarCodeModel();
if (productSku == null || !productSku.Success || productSku.Data == null)
{
MessageBox.Show(productSku.Msg);
return false;
}
SkuPurchaseSchemeId = productSku.Data.SkuPurchaseSchemeId;
BarCodeModel = productSku.Data.BarCode;
if (BarCodeModel == null)
{
BarCodeModel = new BarCodeModel();
}
if (!string.IsNullOrEmpty(Brand))
BarCodeModel.Brand = Brand;
if (!string.IsNullOrEmpty(BrandName))
BarCodeModel.BrandName = BrandName;
BarCodeModel.ProductNo = ProductNo;
BarCodeModel.SkuId = SkuId;
BarCodeModel.SkuName = SkuName;
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
foreach (var item in productSku.Data.PurchaseSkus)
{
var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId);
if (list == null || !list.Success || list.Data == null)
continue;
var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId);
if (skuItem == null)
{
MessageBox.Show($"{item.PurchaseProductId}采购商品列表不存在skuid:{item.PurchaseSkuId},sku商品可能被下架了.");
//return false;
}
if (!string.IsNullOrEmpty(Brand))
BarCodeModel.Brand = Brand;
if (!string.IsNullOrEmpty(BrandName))
BarCodeModel.BrandName = BrandName;
BarCodeModel.ProductNo = ProductNo;
BarCodeModel.SkuId = SkuId;
BarCodeModel.SkuName = SkuName;
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
foreach (var item in productSku.Data.PurchaseSkus)
App.Current.Dispatcher.Invoke(new Action(() =>
{
var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId);
if (list == null ||!list.Success|| list.Data == null)
continue;
var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId);
if (skuItem == null)
PurchaseSkuList.Add(new PurchaseSku
{
MessageBox.Show($"{item.PurchaseProductId}采购商品列表不存在skuid:{item.PurchaseSkuId},sku商品可能被下架了.");
//return false;
Logo = skuItem?.Logo,
Title = skuItem?.Title,
IsNeedCer = item.IsNeedCer,
PurchaseSkuId = item.PurchaseSkuId,
CerDTO = item.CerDTO,
IsSetCertificate = item.CerDTO == null ? true : false,
});
}));
}
IsNeedBarCode = Need.;
IsSetBarCode = true;
IsSetCertificate = true;
if (productSku.Data.PackConfig != null)
{
var config = productSku.Data.PackConfig;
SkuTitle = config.SkuGoodsTitle;
BrandName = config.BrandName;
GoodsNumber = config.GoodsNumber;
PackType = (PackType)config.PackType;
BasicPack = (BasicPack)config.BasicPack;
//MarkMessage = config.MarkMessage;
CertificatePosition = config.CertificatePosition == null ? CertificatePosition. : (CertificatePosition)config.CertificatePosition.Value;
// Increment1 = config.Increment1;
IsNeedBarCode = config.NeedBar ? Need. : Need.;
IsNeedCertificateModel = config.NeedCer ? Need. : Need.;
IsSetBarCode = !config.NeedBar;
IsSetCertificate = !config.NeedCer;
string[] increateDatas = config.Increment1?.Split(',');
bool isSelected = false;
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
isSelected = false;
if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item))
{
isSelected = true;
}
App.Current.Dispatcher.Invoke(new Action(() =>
App.Current.Dispatcher.Invoke(() =>
{
PurchaseSkuList.Add(new PurchaseSku
IncreateList.Add(new IncreateModel
{
Logo = skuItem?.Logo,
Title = skuItem?.Title,
IsNeedCer = item.IsNeedCer,
PurchaseSkuId = item.PurchaseSkuId,
CerDTO = item.CerDTO,
IsSetCertificate = item.CerDTO == null ? true : false,
IncreateName = item,
IsSelected = isSelected
});
}));
});
}
IsNeedBarCode = Need.;
IsSetBarCode = true;
IsSetCertificate = true;
if (productSku.Data.PackConfig != null)
{
var config = productSku.Data.PackConfig;
SkuTitle = config.SkuGoodsTitle;
BrandName = config.BrandName;
GoodsNumber = config.GoodsNumber;
PackType = (PackType)config.PackType;
BasicPack = (BasicPack)config.BasicPack;
//MarkMessage = config.MarkMessage;
CertificatePosition = config.CertificatePosition == null ? CertificatePosition. : (CertificatePosition)config.CertificatePosition.Value;
// Increment1 = config.Increment1;
IsNeedBarCode = config.NeedBar ? Need. : Need.;
IsNeedCertificateModel = config.NeedCer ? Need. : Need.;
IsSetBarCode = !config.NeedBar;
IsSetCertificate = !config.NeedCer;
string[] increateDatas = config.Increment1?.Split(',');
bool isSelected = false;
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
isSelected = false;
if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item))
{
isSelected = true;
}
App.Current.Dispatcher.Invoke(() =>
{
IncreateList.Add(new IncreateModel
{
IncreateName = item,
IsSelected = isSelected
});
});
}
}
}
return true;
}
else
{
App.Current.Dispatcher.Invoke(() => MessageBox.Show(skuResponse.Msg, "加载sku"));
return false;
}
return true;
//加载配置文件
}

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

@ -1,24 +1,16 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using BBWY.Common.Models;
using BBWY.Controls;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Linq;
using System.Windows.Controls;
using System.ComponentModel;
using HandyControl.Controls;
using System.Windows;
using System.Collections;
using NPOI.SS.Formula.Functions;
using GalaSoft.MvvmLight.Messaging;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Views.SealBox;
@ -27,8 +19,13 @@ using BBWY.Client.Models.FallWare;
using WebSocketSharp;
using System.Threading;
using BBWY.Client.Helpers;
using System.Diagnostics.Eventing.Reader;
using BBWY.Client.Views.TaskOverTime;
using BBWY.Client.Views.StorePickSelf;
using System.Diagnostics.Eventing.Reader;
using BBWY.Client.Models.SealBox;
using Newtonsoft.Json;
using System.Diagnostics;
using BBWY.Client.Extensions;
namespace BBWY.Client.ViewModels.PackTask
{
@ -38,6 +35,13 @@ namespace BBWY.Client.ViewModels.PackTask
//public RelayCommand<string> SelectCmd => new RelayCommand<string>(str => Growl.Info(str));
#region 属性绑定
private ObservableCollection<string> selectTitleList = new ObservableCollection<string> {
"SKU名称","标题"
};
public ObservableCollection<string> SelectTitleList { get => selectTitleList; set { Set(ref selectTitleList, value); } }
private ObservableCollection<string> selectExpressList = new ObservableCollection<string> {
"物流单号","物流公司名称"
@ -62,8 +66,39 @@ namespace BBWY.Client.ViewModels.PackTask
};
public ObservableCollection<string> SelectShopList { get => selectShopList; set { Set(ref selectShopList, value); } }
/// <summary>
/// 查询物流
/// 查询名称
/// </summary>
private string selectTitle = "SKU名称";
public string SelectTitle
{
get => selectTitle;
set
{
Set(ref selectTitle, value);
OnSelectTitleChanged(SelectTitle);
}
}
private void OnSelectTitleChanged(string SelectTitle)
{
if (SelectTitle == "SKU名称")
{
SearchSpuTitle = null;
}
if (SelectTitle == "标题")
{
SearchSkuTitle = null;
}
}
/// <summary>
/// 查询店铺
/// </summary>
private string selectShop = "店铺";
public string SelectShop
@ -274,18 +309,29 @@ namespace BBWY.Client.ViewModels.PackTask
/// 待完结列表
/// </summary>
public ObservableCollection<WareWaitCompleted> WaitCompletedList { get => waitCompletedList; set { Set(ref waitCompletedList, value); } }
private ObservableCollection<WareWaitTransport> waitTransportList;
/// <summary>
/// 待转运列表
/// </summary>
public ObservableCollection<WareWaitTransport> WaitTransportList { get => waitTransportList; set { Set(ref waitTransportList, value); } }
public List<WareWaitTransport> WareWaitTransports { get; set; }
private ObservableCollection<WaitFallWareModel> waitFallWareList;
/// <summary>
/// 待落仓列表
/// </summary>
public ObservableCollection<WaitFallWareModel> WaitFallWareList { get => waitFallWareList; set { Set(ref waitFallWareList, value); } }
public IList<WaitFallWareModelResponse> WaitFallWareLists { get; set; }
private ObservableCollection<WareNoSealBoxModel> wareNoSealBoxModels;
/// <summary>
@ -293,12 +339,29 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ObservableCollection<WareNoSealBoxModel> WareNoSealBoxModels { get => wareNoSealBoxModels; set { Set(ref wareNoSealBoxModels, value); } }
/// <summary>
/// 分箱列表
/// </summary>
public List<WareNoSealBoxData> WaitSealBoxModelList { get; set; }
private ObservableCollection<SealBoxModel> waitSealBoxModels;
/// <summary>
/// 分箱列表(已配置)
/// </summary>
public ObservableCollection<SealBoxModel> WaitSealBoxModels { get => waitSealBoxModels; set { Set(ref waitSealBoxModels, value); } }
/// <summary>
/// 分箱列表(已配置)
/// </summary>
public List<WareSealBoxData> SealBoxModelList { get; set; }
private ObservableCollection<PackTaskModel> packTaskList;
/// <summary>
@ -308,6 +371,12 @@ namespace BBWY.Client.ViewModels.PackTask
private ObservableCollection<StoreGetSelfData> storeGetSelfDataList;
/// <summary>
/// 商家自取记录任务列表
/// </summary>
public ObservableCollection<StoreGetSelfData> StoreGetSelfDataList { get => storeGetSelfDataList; set { Set(ref storeGetSelfDataList, value); } }
private string searchShopName;
public string SearchShopName
{
@ -477,6 +546,28 @@ namespace BBWY.Client.ViewModels.PackTask
}
}
public string searchSpuTitle;
public string SearchSpuTitle
{
get => searchSpuTitle; set
{
Set(ref searchSpuTitle, value);
}
}
public string searchSkuTitle;
public string SearchSkuTitle
{
get => searchSkuTitle; set
{
Set(ref searchSkuTitle, value);
}
}
private SealBoxConfigureType sealBoxConfigureType;
/// <summary>
/// 封箱配置状态
@ -573,6 +664,72 @@ namespace BBWY.Client.ViewModels.PackTask
SendToSetSkuConfigureCommand = new RelayCommand<PackTaskModel>(SendToSetSkuConfigure);
SelectSku = "SKU";
SelectExpress = "物流单号";
LoadSkuDataCommand = new RelayCommand<WareNoSealBoxModel>(LoadSkuData);
LoadSealBoxSkuDataCommand = new RelayCommand<SealBoxModel>(LoadSealBoxSkuData);
LoadFallWareSkuDataCommand = new RelayCommand<WaitFallWareModel>(LoadFallWareSkuData);
LoadTransportSkuDataCommand = new RelayCommand<WareWaitTransport>(LoadTransportSkuData);
}
private void LoadTransportSkuData(WareWaitTransport model)
{
if (model.WaitTransportSkus == null || model.WaitTransportSkus.Count <= 0)
{
var skuDatas = WareWaitTransports.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = skuDatas.WaitTransportSkus;
}
else
{
WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = null;
}
}
private void LoadFallWareSkuData(WaitFallWareModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = WaitFallWareLists.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
}
private void LoadSealBoxSkuData(SealBoxModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = SealBoxModelList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId);
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null;
}
}
private void LoadSkuData(WareNoSealBoxModel model)
{
if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0)
{
var skuDatas = WaitSealBoxModelList.SingleOrDefault(w => w.ShopId == model.ShopId);
WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = skuDatas.SealBoxSkus;
}
else
{
WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = new List<WareNoSealBoxSku>();
}
}
private void SendToSetSkuConfigure(PackTaskModel model)
@ -612,7 +769,7 @@ namespace BBWY.Client.ViewModels.PackTask
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
case Models.TaskState.:
overTimeTaskType = Models.OverTimeTaskType.;
break;
case Models.TaskState.:
@ -796,27 +953,49 @@ namespace BBWY.Client.ViewModels.PackTask
System.Windows.MessageBox.Show(res.Msg);
return;
}
Task.Factory.StartNew(() => SearchTaskList());
}
private void StoreGetBySelf(long taskId)
{
MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
var res = packTaskService.StoreGetBySelf(taskId);
if (res == null)
//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;
}
if (!res.Success)
StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) =>
{
System.Windows.MessageBox.Show(res.Msg, "错误信息");
return;
}
Task.Factory.StartNew(() => SearchTaskList());
var res = packTaskService.StoreGetBySelfV2(taskId, count, UserName);
if (res == null)
{
return false;
}
if (!res.Success)
{
System.Windows.MessageBox.Show(res.Msg, "错误信息");
return false;
}
Task.Factory.StartNew(() => SearchTaskList());
return true;
});
sorePickProductWindow.ShowDialog();
}
private void DeletedTask(object obj)
@ -840,7 +1019,7 @@ namespace BBWY.Client.ViewModels.PackTask
JDWareBoxModel model = new JDWareBoxModel
{
ShopName = globalContext.User.Shop.ShopName,
ShopName = fallware.ShopName,
WareName = fallware.WareName,
SealBoxId = fallware.SealBoxId,
ProductCount = fallware.ProductCount,
@ -861,10 +1040,17 @@ namespace BBWY.Client.ViewModels.PackTask
private void LookBoxConfigure(object obj)
{
var fallware = obj as WaitFallWareModel;
var fallware = obj as WaitFallWareModel;//WaitFallWareModel
if (fallware == null)
{
MessageBox.Show($"数据异常, {JsonConvert.SerializeObject(obj)}");
return;
}
JDWareBoxModel model = new JDWareBoxModel
{
ShopName = globalContext.User.Shop.ShopName,
ShopName = fallware.ShopName,
WareName = fallware.WareName,
SealBoxId = fallware.SealBoxId,
ProductCount = fallware.ProductCount,
@ -882,7 +1068,7 @@ namespace BBWY.Client.ViewModels.PackTask
//var w = new SetJDWareBoxWindow2(model, sealBoxService, fallware.WareType, ReflashTask, false);
//w.ShowDialog();
}
if (fallware.WareType == WareType. || fallware.WareType == WareType.)
if (fallware.WareType == WareType. || fallware.WareType == WareType.)
{
SetCloudWareBoxWindow window = new SetCloudWareBoxWindow(model, fallware.WareType);
window.ShowDialog();
@ -922,7 +1108,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
var model = (SealBoxModel)obj;
if (model.SealBoxSkus.Any(s => s.TaskState == Models.TaskState. || s.TaskState == Models.TaskState.))
if (model.SealBoxSkus.Any(s => s.TaskState == Models.TaskState. || s.TaskState == Models.TaskState.))
{
System.Windows.MessageBox.Show("无法封箱,存在未打包完成的任务");
return;
@ -939,6 +1125,7 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 推送sku配置状态
/// </summary>
@ -1040,6 +1227,28 @@ namespace BBWY.Client.ViewModels.PackTask
/// 商家自取
/// </summary>
public ICommand StoreGetBySelfCommand { get; set; }
/// <summary>
/// 加载事件(待封箱)
/// </summary>
public ICommand LoadSkuDataCommand { get; set; }
/// <summary>
/// 加载事件(封箱已配置)
/// </summary>
public ICommand LoadSealBoxSkuDataCommand { get; set; }
/// <summary>
/// 落仓
/// </summary>
public ICommand LoadFallWareSkuDataCommand { get; set; }
/// <summary>
/// 转运
/// </summary>
public ICommand LoadTransportSkuDataCommand { get; set; }
/// <summary>
/// 完成封箱
/// </summary>
@ -1115,7 +1324,7 @@ namespace BBWY.Client.ViewModels.PackTask
break;
case Models.TaskState.:
break;
case Models.TaskState.:
case Models.TaskState.:
var packModel = PackTaskList.SingleOrDefault(p => p.TaskId == taskId);
if (packModel == null || packModel.FeesItemResponse == null || packModel.FeesItemResponse.DiscountAllFees == 0)
@ -1151,6 +1360,14 @@ namespace BBWY.Client.ViewModels.PackTask
public void SetTaskState(TaskState? taskState)
{
if (!(TaskState == Models.TaskState. && TaskState == Models.TaskState.))
{
SearchSkuTitle = "";
SearchSpuTitle = "";
}
TaskState = taskState;
if (PageIndex == 1)
@ -1165,6 +1382,7 @@ namespace BBWY.Client.ViewModels.PackTask
private Thread sealboxOverTimeThread = null;
private Thread fallwareOverTimeThread = null;
private Thread waitTransportOverTimeThread = null;
/// <summary>
/// 搜索任务列表
/// </summary>
@ -1195,6 +1413,10 @@ namespace BBWY.Client.ViewModels.PackTask
}
Task.Factory.StartNew(() =>
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
if (TaskState == Models.TaskState.)
{
WaitCompletedList = new ObservableCollection<WareWaitCompleted>();
@ -1216,8 +1438,6 @@ namespace BBWY.Client.ViewModels.PackTask
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
IsLoading = false;
}
else if (TaskState == Models.TaskState.)
@ -1242,13 +1462,12 @@ namespace BBWY.Client.ViewModels.PackTask
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
IsLoading = false;
}
else if (TaskState == Models.TaskState.)
{
PageSize = 20;
WaitTransportList = new ObservableCollection<WareWaitTransport>();
var datas = sealBoxService.GetWareWaitTransportList(SelectWareType, PageSize, PageIndex);
@ -1256,11 +1475,15 @@ namespace BBWY.Client.ViewModels.PackTask
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
WareWaitTransports = dataModel.WareWaitTransports;
foreach (var item in dataModel.WareWaitTransports)
{
var skuItem = item.Copy();
skuItem.WaitTransportSkus = null;//默认不加载
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitTransportList.Add(item);
WaitTransportList.Add(skuItem);
}));
}
@ -1308,14 +1531,16 @@ namespace BBWY.Client.ViewModels.PackTask
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
IsLoadWaitTransportCount();
IsLoading = false;
Task.Factory.StartNew(() =>
{
IsLoadWaitTransportCount();
});
}
else if (TaskState == Models.TaskState.)
{
PageSize = 20;
WaitFallWareList = new ObservableCollection<WaitFallWareModel>();
var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize);
@ -1323,6 +1548,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
WaitFallWareLists = dataModel.WaitFallWareList;
foreach (var item in dataModel.WaitFallWareList)
{
App.Current.Dispatcher.Invoke(new Action(() =>
@ -1331,7 +1557,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
AcceptUserNames = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus,
SealBoxSkus = null,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
@ -1351,15 +1577,17 @@ namespace BBWY.Client.ViewModels.PackTask
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
IsLoadCount();
IsLoadFallWareCount();
IsLoading = false;
Task.Factory.StartNew(() =>
{
IsLoadFallWareCount();
});
}
else if (TaskState == Models.TaskState.)
{
PageSize = 20;
if (SealBoxConfigureType == SealBoxConfigureType.)
{
WaitSealBoxModels = new ObservableCollection<SealBoxModel>();
@ -1369,6 +1597,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
SealBoxModelList = dataModel.WaitSealBoxModels;
foreach (var item in dataModel.WaitSealBoxModels)
{
@ -1378,12 +1608,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
AcceptUserName = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus.Select(s =>
{
s.Logo = s.Logo;
return s;
}).ToList(),
SealBoxSkus = null,
ShopId = item.ShopId,
ShopName = item.ShopName,
WareId = item.WareId,
@ -1442,33 +1667,30 @@ namespace BBWY.Client.ViewModels.PackTask
}
if (SealBoxConfigureType == SealBoxConfigureType.)
{
WareNoSealBoxModels = new ObservableCollection<WareNoSealBoxModel>();
WareNoSealBoxModels = new ObservableCollection<WareNoSealBoxModel>();
var datas = sealBoxService.GetWareSealBoxWaitConfigureList(SearchShopName, taskId, SearchSkuId, PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.WaitSealBoxModels)
{
WaitSealBoxModelList = dataModel.WaitSealBoxModels;
foreach (var item in WaitSealBoxModelList)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WareNoSealBoxModels.Add(new WareNoSealBoxModel
{
AcceptUserName = string.Join("|", item.AcceptUserNames),
DepartmentName = item.DepartmentName,
SealBoxSkus = item.SealBoxSkus.Select(s =>
{
s.Logo = s.Logo;
return s;
}).ToList(),
SealBoxSkus = new List<WareNoSealBoxSku>(),
// SealBoxSkus = item.SealBoxSkus,
ShopId = item.ShopId,
ShopName = item.ShopName,
});
}));
}
}
else
@ -1476,17 +1698,48 @@ namespace BBWY.Client.ViewModels.PackTask
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
}
IsLoadSealBoxCount();
IsLoadCount();
IsLoading = false;
Task.Factory.StartNew(() =>
{
IsLoadSealBoxCount();
});
}
else if (taskState == Models.TaskState.)
{
StoreGetSelfDataList = new ObservableCollection<StoreGetSelfData>();
var datas = packTaskService.SearchStoreGetSelfList(SearchTaskId, SearchOrderSn, SearchSpuId, SearchSkuId, SearchDepartment, SearchShopName, PageIndex, PageSize, null);
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
foreach (var item in dataModel.StoreGetSelfResponseList)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
StoreGetSelfDataList.Add(item);
}));
}
}
else
{
MessageBox.Show(datas?.Msg);
}
}
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName,
PageIndex, PageSize);
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle);
stopwatch.Stop();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
Debug.WriteLine($"查询接口耗时:{stopwatch.ElapsedMilliseconds}毫秒");
}));
stopwatch.Restart();
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
@ -1533,26 +1786,6 @@ namespace BBWY.Client.ViewModels.PackTask
SendToSetSkuConfigureTime = item.SendToSetSkuConfigureTime,
};
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
data.ExpressOrderList = expressData.Data;
}
}
if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0)
{
@ -1595,12 +1828,10 @@ namespace BBWY.Client.ViewModels.PackTask
}
if (TaskState == Models.TaskState.)
{
qualityOverTimeThread = new Thread(() =>
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.QualityCompletionOverTime != null).ToList();
if (packtasks.Count() > 0)
{
@ -1645,9 +1876,9 @@ namespace BBWY.Client.ViewModels.PackTask
//任务状态为待验收
}
if (TaskState == Models.TaskState.)
if (TaskState == Models.TaskState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null).ToList();
if (packCompletedTasks.Count() > 0)
{
@ -1685,8 +1916,6 @@ namespace BBWY.Client.ViewModels.PackTask
}
}
if (TaskState == Models.TaskState.)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.ScheduleOverTime != null).ToList();
@ -1726,33 +1955,82 @@ namespace BBWY.Client.ViewModels.PackTask
}
}
//任务状态为待打包
//任务状态为待打包
Task.Factory.StartNew(() => {
foreach (var item in PackTaskList)
{
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())
{
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId);
if (expressData != null && expressData.Success && expressData.Data != null)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
expressData.Data.ForEach(e =>
{
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState);
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
});
}
else
{
}
IsLoadCount();
IsLoading = false;
}
});
Task.Factory.StartNew(() =>
{
IsLoadCount();
});
IsLoading = false;
stopwatch.Stop();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
Debug.WriteLine($"查询耗时:{stopwatch.ElapsedMilliseconds}毫秒");
}));
});
}
private void IsLoadWaitTransportCount()
{
var res = sealBoxService.GetWareTransportCounts();
if (res != null && res.Success && res.Data != null)
{
WaitTransportCloudWareCount = res.Data.WaitTransportCloudWareCount;
WaitTransportJuShuiTanCount = res.Data.WaitTransportJuShuiTanCount;
WaitTransportStoreWareCount = res.Data.WaitTransportStoreWareCount;
WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount;
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitTransportCloudWareCount = res.Data.WaitTransportCloudWareCount;
WaitTransportJuShuiTanCount = res.Data.WaitTransportJuShuiTanCount;
WaitTransportStoreWareCount = res.Data.WaitTransportStoreWareCount;
WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount;
}));
}
}
private void IsLoadSealBoxCount()
@ -1760,8 +2038,12 @@ namespace BBWY.Client.ViewModels.PackTask
var res = sealBoxService.GetWareSealBoxConfigureCounts();
if (res != null && res.Success && res.Data != null)
{
FallWareWaitConfigureCount = res.Data.SealBoxWaitConfigureCount.ToString();
FallWareConfiguredCount = res.Data.SealBoxConfiguredCount.ToString();
App.Current.Dispatcher.Invoke(new Action(() =>
{
FallWareWaitConfigureCount = res.Data.SealBoxWaitConfigureCount.ToString();
FallWareConfiguredCount = res.Data.SealBoxConfiguredCount.ToString();
}));
}
}
@ -1770,8 +2052,12 @@ namespace BBWY.Client.ViewModels.PackTask
var res = sealBoxService.GetFallWareConfigureCounts(null);
if (res != null && res.Success && res.Data != null)
{
FallWareWaitConfigureCount = res.Data.FallWareWaitConfigureCount.ToString();
FallWareConfiguredCount = res.Data.FallWareConfiguredCount.ToString();
App.Current.Dispatcher.Invoke(new Action(() =>
{
FallWareWaitConfigureCount = res.Data.FallWareWaitConfigureCount.ToString();
FallWareConfiguredCount = res.Data.FallWareConfiguredCount.ToString();
}));
}
}
private void IsLoadCount()

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

@ -31,18 +31,18 @@ namespace BBWY.Client.ViewModels
#region 属性
public int goodProductQuantity;
public int arrivalQuantity;
public int? goodProductQuantity;
public int? arrivalQuantity;
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get => arrivalQuantity; set { Set(ref arrivalQuantity, value); } }
public int? ArrivalQuantity { get => arrivalQuantity; set { Set(ref arrivalQuantity, value); } }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get => goodProductQuantity; set { Set(ref goodProductQuantity, value); } }
public int? GoodProductQuantity { get => goodProductQuantity; set { Set(ref goodProductQuantity, value); } }
///// <summary>
///// 预计完成时间
@ -65,7 +65,7 @@ namespace BBWY.Client.ViewModels
public ObservableCollection<string> WorryList { get => worryList; set { Set(ref worryList, value); } }
private ObservableCollection<string> positionTypeList = new ObservableCollection<string> {
"商家仓","云仓", "京仓","聚水潭齐越仓"};
"商家仓","云仓", "京仓","聚水潭"};
public ObservableCollection<string> PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } }
private ObservableCollection<string> packTypeList = new ObservableCollection<string> {
@ -194,7 +194,7 @@ namespace BBWY.Client.ViewModels
private PositionType positionType;
/// <summary>
/// 落仓(商家仓=0,云仓=1,京仓=2,聚水潭齐越仓=3)
/// 落仓(商家仓=0,云仓=1,京仓=2,聚水潭=3)
/// </summary>
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
@ -395,6 +395,16 @@ namespace BBWY.Client.ViewModels
#region 方法
private void CompeteQualityTask(object obj)
{
if (ArrivalQuantity==null)
{
MessageBox.Show($"请输入到货数量");
return;
}
if (GoodProductQuantity == null)
{
MessageBox.Show($"请输入良品数量");
return;
}
if (FloorDragNumber <= 0)
{
@ -414,11 +424,15 @@ namespace BBWY.Client.ViewModels
return;
}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
ArrivalQuantity = ArrivalQuantity,
GoodProductQuantity = GoodProductQuantity,
ArrivalQuantity = ArrivalQuantity.Value,
GoodProductQuantity = GoodProductQuantity.Value,
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
BrandName = BrandName,
CertificatePosition = CertificatePosition,
@ -488,7 +502,7 @@ namespace BBWY.Client.ViewModels
//{
// BarCodeModel.ShopName = OriginShopName;
//}
batchPrint.SetData(GoodProductQuantity,
batchPrint.SetData(GoodProductQuantity.Value,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel);
batchPrint.ShowDialog();
@ -571,7 +585,8 @@ namespace BBWY.Client.ViewModels
if (!string.IsNullOrEmpty(BrandName))
model.CerDTO.BrandName = BrandName;
QualitySetCerWindow setCerWindow = new QualitySetCerWindow();
QualitySetCerWindow setCerWindow = new QualitySetCerWindow(model.IsSetCertificate);
setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate, saveType);
setCerWindow.SaveResult = (s, PackCerState) =>
{
@ -653,8 +668,8 @@ namespace BBWY.Client.ViewModels
SkuTitle = model.SkuTitle;
BasicPack = model.BasicPack;
CertificatePosition = model.CertificatePosition;
ArrivalQuantity = 0;
GoodProductQuantity = 0;
//ArrivalQuantity = 0;
//GoodProductQuantity = 0;
IncreateList = new ObservableCollection<IncreateModel>();
string[] increateDatas = model.Increment1?.Split(',');

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

@ -5,89 +5,583 @@ using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.QiKu;
using BBWY.Client.Models.SealBox;
using BBWY.Client.Views.BatchPurchase;
using BBWY.Client.Views.SealBox;
using BBWY.Controls;
using GalaSoft.MvvmLight.Command;
using NPOI.SS.Formula.Functions;
using NPOI.Util;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Input;
using WebSocketSharp;
namespace BBWY.Client.ViewModels.SealBox
{
public class SealBoxConfigureViewModel : BaseVM
{
private IList<StoreResponse> storeList;//仓库列表
private LogisticsService logisticsService;
public LogisticsService logisticsService;
private SealBoxService sealBoxService;
private GlobalContext globalContext;
private ObservableCollection<SealBoxConfigureModel> sealBoxConfigureModelList;
private WareType selectWareType = WareType.;
public WareType SelectWareType { get => selectWareType; set { Set(ref selectWareType, value); } }
private string searchSkuId;
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
private List<SealBoxConfigureModel> sealBoxConfigureModelList;
/// <summary>
/// 分箱配置列表
/// </summary>
public ObservableCollection<SealBoxConfigureModel> SealBoxConfigureModelList { get => sealBoxConfigureModelList; set { Set(ref sealBoxConfigureModelList, value); } }
public List<SealBoxConfigureModel> SealBoxConfigureModelList { get => sealBoxConfigureModelList; set { Set(ref sealBoxConfigureModelList, value); } }
private ObservableCollection<SealBoxConfigureModel> jdConfigureModelList;
/// <summary>
/// 京仓配置列表
/// </summary>
public ObservableCollection<SealBoxConfigureModel> JdConfigureModelList { get => jdConfigureModelList; set { Set(ref jdConfigureModelList, value); } }
private ObservableCollection<SealBoxConfigureModel> cloudConfigureModelList;
/// <summary>
/// 云仓配置列表
/// </summary>
public ObservableCollection<SealBoxConfigureModel> CloudConfigureModelList { get => cloudConfigureModelList; set { Set(ref cloudConfigureModelList, value); } }
private ObservableCollection<SealBoxConfigureModel> jstConfigureModelList;
/// <summary>
/// 聚水潭配置列表
/// </summary>
public ObservableCollection<SealBoxConfigureModel> JstConfigureModelList { get => jstConfigureModelList; set { Set(ref jstConfigureModelList, value); } }
private ObservableCollection<SealBoxConfigureModel> storeConfigureModelList;
/// <summary>
/// 商家仓配置列表
/// </summary>
public ObservableCollection<SealBoxConfigureModel> StoreConfigureModelList { get => storeConfigureModelList; set { Set(ref storeConfigureModelList, value); } }
private ObservableCollection<SealBoxConfigureWareHourseModel> jdWareHourseHeaderList;
/// <summary>
/// 京仓仓库配置头列表
/// </summary>
public ObservableCollection<SealBoxConfigureWareHourseModel> JdWareHourseHeaderList { get => jdWareHourseHeaderList; set { Set(ref jdWareHourseHeaderList, value); } }
private ObservableCollection<SealBoxConfigureWareHourseModel> cloudWareHourseHeaderList;
/// <summary>
/// 云仓仓库配置头列表
/// </summary>
public ObservableCollection<SealBoxConfigureWareHourseModel> CloudWareHourseHeaderList { get => cloudWareHourseHeaderList; set { Set(ref cloudWareHourseHeaderList, value); } }
private ObservableCollection<SealBoxConfigureWareHourseModel> jstWareHourseHeaderList;
/// <summary>
/// 聚水潭仓库配置头列表
/// </summary>
public ObservableCollection<SealBoxConfigureWareHourseModel> JstWareHourseHeaderList { get => jstWareHourseHeaderList; set { Set(ref jstWareHourseHeaderList, value); } }
private ObservableCollection<SealBoxConfigureWareHourseModel> storeWareHourseHeaderList;
/// <summary>
/// 商家仓仓库配置头列表
/// </summary>
public ObservableCollection<SealBoxConfigureWareHourseModel> StoreWareHourseHeaderList { get => storeWareHourseHeaderList; set { Set(ref storeWareHourseHeaderList, value); } }
private string jDWareTaskCount;
/// <summary>
/// 京仓任务数
/// </summary>
public string JDWareTaskCount { get => jDWareTaskCount; set { Set(ref jDWareTaskCount, value); } }
private string cloudWareTaskCount;
/// <summary>
/// 京仓任务数
/// </summary>
public string CloudWareTaskCount { get => cloudWareTaskCount; set { Set(ref cloudWareTaskCount, value); } }
private string jSTWareTaskCount;
/// <summary>
/// 京仓任务数
/// </summary>
public string JSTWareTaskCount { get => jSTWareTaskCount; set { Set(ref jSTWareTaskCount, value); } }
private string storeWareTaskCount;
/// <summary>
/// 京仓任务数
/// </summary>
public string StoreWareTaskCount { get => storeWareTaskCount; set { Set(ref storeWareTaskCount, value); } }
public SealBoxConfigureViewModel(LogisticsService logisticsService, SealBoxService sealBoxService, GlobalContext globalContext)
{
this.logisticsService = logisticsService;
this.sealBoxService = sealBoxService;
SetSplitCountCommand = new RelayCommand<SealBoxConfigureModel>(SetSplitCount);
SetPackCountAndStoreCommand = new RelayCommand<object>(SetPackCountAndStore);
SaveCommand = new RelayCommand<object>(Save);
SealBoxConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
//SealBoxConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
this.globalContext = globalContext;
SelectWareTypeCommand = new RelayCommand(SearchSku);
SearchSkuCommand = new RelayCommand(SearchSku);
AddWareCommand = new RelayCommand(AddWare);
SpliteOtherWareCommand = new RelayCommand<SealBoxConfigureModel>(SpliteOtherWare);
BatchSetWareMaxCountCommand = new RelayCommand<string>(BatchSetWareMaxCount);
SetWareMaxCountCommand = new RelayCommand<SealBoxConfigureWareHourseModel>(SetWareMaxCount);
}
public void LoadCount()
{
App.Current.Dispatcher.Invoke(new Action(() => {
JDWareTaskCount= SealBoxConfigureModelList.Where(s=>s.SkuCount>0 &&s.WareType== WareType.).Count().ToString();
CloudWareTaskCount = SealBoxConfigureModelList.Where(s => s.SkuCount > 0 && s.WareType == WareType.).Count().ToString();
JSTWareTaskCount = SealBoxConfigureModelList.Where(s => s.SkuCount > 0 && s.WareType == WareType.).Count().ToString();
StoreWareTaskCount = SealBoxConfigureModelList.Where(s => s.SkuCount > 0 && s.WareType == WareType.).Count().ToString();
}));
}
private void SetWareMaxCount(SealBoxConfigureWareHourseModel model)
{
SealBoxConfigureModelList.Where(s => s.WareType == SelectWareType && s.TaskId == model.TaskId)
.ForAll(s =>
{
s.WareHourseDatas?.ForAll(d =>
{
if (d.WareId == model.WareId)
{
d.Count += s.WaitConfigureCount;
s.WaitConfigureCount = 0;
}
});
});
}
private void BatchSetWareMaxCount(string wareId)
{
SealBoxConfigureModelList.Where(s => s.WareType == SelectWareType)
.ForAll(s =>
{
s.WareHourseDatas?.ForAll(d =>
{
if (d.WareId == wareId)
{
d.Count += s.WaitConfigureCount;
}
});
});
}
private long sealBoxId;
public long SealBoxId { get => sealBoxId; set { Set(ref sealBoxId, value); } }
public ICommand SetSplitCountCommand { get; set; }
public ICommand SetPackCountAndStoreCommand { get; set; }
public ICommand SaveCommand { get; set; }
private void SetSplitCount(SealBoxConfigureModel sealBoxConfigureModel)
{
sealBoxConfigureModel.WareHourseDatas.Where(w => w.WareState == null || w.WareState == PositionState.).ToList().ForEach(
s => sealBoxConfigureModel.WareHourseDatas.Remove(s)
public ICommand SearchSkuCommand { get; set; }
public ICommand AddWareCommand { get; set; }
public ICommand SpliteOtherWareCommand { get; set; }
);
var otherCount = sealBoxConfigureModel.WareHourseDatas.Count();
if (sealBoxConfigureModel.SplitCount <= 0 || sealBoxConfigureModel.SplitCount < otherCount)
public ICommand SelectWareTypeCommand { get; set; }
public ICommand BatchSetWareMaxCountCommand { get; set; }
public ICommand SetWareMaxCountCommand { get; set; }
private void SearchSku()
{
if (SearchSkuId.IsNullOrEmpty())
{
MessageBox.Show("份数不正确");
return;
switch (SelectWareType)
{
case WareType.:
JdConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
JdConfigureModelList.Add(s);
}));
});
break;
case WareType.:
CloudConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
CloudConfigureModelList.Add(s);
}));
});
break;
case WareType.:
StoreConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
StoreConfigureModelList.Add(s);
}));
});
break;
case WareType.:
JstConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
JstConfigureModelList.Add(s);
}));
});
break;
default:
break;
}
}
else
{
switch (SelectWareType)
{
case WareType.:
JdConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.SkuId == SearchSkuId && s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
JdConfigureModelList.Add(s);
}));
});
break;
case WareType.:
CloudConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.SkuId == SearchSkuId && s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
CloudConfigureModelList.Add(s);
}));
});
break;
case WareType.:
StoreConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.SkuId == SearchSkuId && s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
StoreConfigureModelList.Add(s);
}));
});
break;
case WareType.:
JstConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
SealBoxConfigureModelList.Where(s => s.SkuId == SearchSkuId && s.WareType == WareType. && s.SkuCount > 0).ForAll(s =>
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
JstConfigureModelList.Add(s);
}));
});
break;
default:
break;
}
}
int resetIndex = 1;
foreach (var item in sealBoxConfigureModel.WareHourseDatas)
switch (SelectWareType)//加载动态仓库头
{
item.Index = resetIndex;
resetIndex++;
case WareType.:
if (JdConfigureModelList.Count > 0 && JdConfigureModelList[0].WareHourseDatas?.Count > 0)
{
JdWareHourseHeaderList = JdConfigureModelList[0].WareHourseDatas;
}
else
{
JdWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel>();
}
break;
case WareType.:
if (CloudConfigureModelList.Count > 0 && CloudConfigureModelList[0].WareHourseDatas?.Count > 0)
{
CloudWareHourseHeaderList = CloudConfigureModelList[0].WareHourseDatas;
}
else
{
CloudWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel>();
}
break;
case WareType.:
if (StoreConfigureModelList.Count > 0 && StoreConfigureModelList[0].WareHourseDatas?.Count > 0)
{
StoreWareHourseHeaderList = StoreConfigureModelList[0].WareHourseDatas;
}
else
{
StoreWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel>();
}
break;
case WareType.:
if (JstConfigureModelList.Count > 0 && JstConfigureModelList[0].WareHourseDatas?.Count > 0)
{
JstWareHourseHeaderList = JstConfigureModelList[0].WareHourseDatas;
}
else
{
JstWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel>();
}
break;
default:
break;
}
for (var i = 1 + otherCount; i <= sealBoxConfigureModel.SplitCount; i++)
LoadCount();
}
private void AddWare()
{
AddWareListWindow addWareListWindow = new AddWareListWindow(SelectWareType, logisticsService, SealBoxConfigureModelList);
addWareListWindow.AddWareList = AddWareList;
addWareListWindow.ShowDialog();
}
void AddWareList(WareType wareType, List<StoreWare> storeWares)
{
var oldList = sealBoxConfigureModelList.Where(s => s.WareType == wareType).SelectMany(s => s.WareHourseDatas).Select(w => w.WareId).Distinct().ToList();//原ids
var newList = storeWares.Select(s => s.WareId).Distinct().ToList();
var addList = newList.Except(oldList).ToList();
var deletedList = oldList.Except(newList).ToList();
sealBoxConfigureModelList.Where(s => s.WareType == wareType).ForAll(s =>
{
sealBoxConfigureModel.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel()
if (s.WareHourseDatas == null)
s.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel> { };
foreach (var item in addList)
{
Index = i,
Count = 0
s.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel
{
Count = 0,
SealBoxId = null,
WareId = item,
WareName = storeWares.FirstOrDefault(f => f.WareId == item)?.WareName,
TotalWareCount = TotalCount,
TaskId = s.TaskId
});
}
foreach (var item in deletedList)
{
var deletedCount = s.WareHourseDatas.Where(w => w.WareId == item).Select(w => w.Count).Sum();
s.WaitConfigureCount += deletedCount;
ObservableCollection<SealBoxConfigureWareHourseModel> d = new ObservableCollection<SealBoxConfigureWareHourseModel>();
foreach (var WareHourseData in s.WareHourseDatas)
{
if (item == WareHourseData.WareId)
continue;
d.Add(WareHourseData);
}
s.WareHourseDatas = d;
}
});
SearchSku();
}
/// <summary>
///
/// </summary>
/// <param name="count"></param>
/// <param name="skuid"></param>
public void TotalCount(int count, long taskId)
{
var totalSkuItemCount = sealBoxConfigureModelList.Where(s => s.TaskId == taskId && s.WareType == SelectWareType).SelectMany(s => s.WareHourseDatas).Sum(s => s.Count);
sealBoxConfigureModelList.Where(s => s.TaskId == taskId && s.WareType == SelectWareType).ForAll(
s =>
{
if (totalSkuItemCount > s.SkuCount)
{
MessageBox.Show($"总量超过可分配量,请重新分配,任务id:{s.TaskId}");
}
s.WaitConfigureCount = s.SkuCount - totalSkuItemCount;
});
}
private void SpliteOtherWare(SealBoxConfigureModel model)//
{
if (model.WaitConfigureCount <= 0)
{
MessageBox.Show($"可分配量不足!当前可分配量:{model.WaitConfigureCount}", "提示");
return;
}
SplitOtherWareWindow splitOtherWareWindow = new SplitOtherWareWindow(model.WaitConfigureCount, SelectWareType, (count, waretype) =>
{
model.WaitConfigureCount -= count;
model.SkuCount -= count;
var type = SealBoxConfigureModelList.SingleOrDefault(s => s.TaskId == model.TaskId && s.WareType == waretype);
if (type != null)
{
type.SkuCount += count;
type.WaitConfigureCount += count;
}
}
else
{
var data = new SealBoxConfigureModel
{
Logo = model.Logo,
WareType = waretype,
SkuCount = count,
SkuId = model.SkuId,
SkuName = model.SkuName,
TaskId = model.TaskId,
TaskState = model.TaskState,
WaitConfigureCount = count,
};
data.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel>();
switch (waretype)
{
case WareType.:
if (JdWareHourseHeaderList != null)
foreach (var item in JdWareHourseHeaderList)
{
data.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel
{
TaskId = model.TaskId,
SealBoxId = item.SealBoxId,
TotalWareCount = TotalCount,
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
});
}
break;
case WareType.:
if (CloudWareHourseHeaderList != null)
foreach (var item in CloudWareHourseHeaderList)
{
data.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel
{
TaskId = model.TaskId,
SealBoxId = item.SealBoxId,
TotalWareCount = TotalCount,
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
});
}
break;
case WareType.:
if (StoreWareHourseHeaderList != null)
foreach (var item in StoreWareHourseHeaderList)
{
data.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel
{
TaskId = model.TaskId,
SealBoxId = item.SealBoxId,
TotalWareCount = TotalCount,
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
});
}
break;
case WareType.:
if (JstWareHourseHeaderList != null)
foreach (var item in JstWareHourseHeaderList)
{
data.WareHourseDatas.Add(new SealBoxConfigureWareHourseModel
{
TaskId = model.TaskId,
SealBoxId = item.SealBoxId,
TotalWareCount = TotalCount,
WareId = item.WareId,
WareName = item.WareName,
//WareType = s.WareType,
WareState = item.WareState
});
}
break;
default:
break;
}
SealBoxConfigureModelList.Add(data);
}
SearchSku();
});
splitOtherWareWindow.ShowDialog();
}
private StoreResponse store;
private void SetPackCountAndStore(object obj)
{
@ -110,27 +604,27 @@ namespace BBWY.Client.ViewModels.SealBox
{
Id = sealBoxConfigureWareHourseModel.WareId,
Name = sealBoxConfigureWareHourseModel.WareName,
Type = ToStockType(sealBoxConfigureWareHourseModel.WareType),
//Type = ToStockType(sealBoxConfigureWareHourseModel.WareType),
Status = StockStatus.使
};
}
var w = new PackSkuSplitCountAndStoreWindow(sealBoxConfigureWareHourseModel.Count, store, storeList, sealBoxConfigureWareHourseModel.WareType == WareType.);
if (w.ShowDialog() == true)
{
store = w.Store;
sealBoxConfigureWareHourseModel.Count = w.Quantity;
IsJST = w.IsJST;
sealBoxConfigureWareHourseModel.WareType = w.IsJST ? WareType. : ToWareType(w.Store.Type);
sealBoxConfigureWareHourseModel.WareId = w.IsJST ? "qiyuejushuitan" : w.Store.Id;
sealBoxConfigureWareHourseModel.WareName = w.IsJST ? "齐越聚水潭" : w.Store.Name;
//var w = new PackSkuSplitCountAndStoreWindow(sealBoxConfigureWareHourseModel.Count, store, storeList, sealBoxConfigureWareHourseModel.WareType == WareType.聚水潭);
//if (w.ShowDialog() == true)
//{
// store = w.Store;
// sealBoxConfigureWareHourseModel.Count = w.Quantity;
// IsJST = w.IsJST;
// // sealBoxConfigureWareHourseModel.WareType = w.IsJST ? WareType.聚水潭 : ToWareType(w.Store.Type);
// sealBoxConfigureWareHourseModel.WareId = w.IsJST ? "qiyuejushuitan" : w.Store.Id;
// sealBoxConfigureWareHourseModel.WareName = w.IsJST ? "齐越聚水潭" : w.Store.Name;
}
//}
}
/// <summary>
@ -138,46 +632,68 @@ namespace BBWY.Client.ViewModels.SealBox
/// </summary>
public bool IsJST { get; set; }
private WareType ToWareType(StockType stockType)
{
switch (stockType)
{
case StockType.:
return WareType.;
break;
case StockType.:
return WareType.;
break;
case StockType.:
return WareType.;
break;
default:
break;
}
return WareType.;
}
private StockType ToStockType(WareType? wareType)
{
switch (wareType)
{
case WareType.:
return StockType.;
break;
case WareType.:
return StockType.;
break;
case WareType.:
return StockType.;
break;
case WareType.:
break;
default:
break;
}
return StockType.;
}
//private PositionType ToPositionType(WareType wareType)
//{
// switch (wareType)
// {
// case WareType.京仓:
// return PositionType.京仓;
// break;
// case WareType.云仓:
// return PositionType.云仓;
// break;
// case WareType.商家仓:
// return PositionType.商家仓;
// break;
// case WareType.聚水潭:
// return PositionType.聚水潭;
// break;
// default:
// break;
// }
// return PositionType.聚水潭;
//}
//private WareType ToWareType(StockType stockType)
//{
// switch (stockType)
// {
// case StockType.商家仓:
// return WareType.商家仓;
// break;
// case StockType.京仓:
// return WareType.京仓;
// break;
// case StockType.云仓:
// return WareType.云仓;
// break;
// default:
// break;
// }
// return WareType.聚水潭;
//}
//private StockType ToStockType(WareType? wareType)
//{
// switch (wareType)
// {
// case WareType.京仓:
// return StockType.京仓;
// break;
// case WareType.云仓:
// return StockType.云仓;
// break;
// case WareType.商家仓:
// return StockType.商家仓;
// break;
// case WareType.聚水潭:
// break;
// default:
// break;
// }
// return StockType.京仓;
//}
private void Save(object obj)
{
@ -187,36 +703,24 @@ namespace BBWY.Client.ViewModels.SealBox
SetSealBoxConfiguredRequest setSealBoxConfiguredRequest = new SetSealBoxConfiguredRequest();
setSealBoxConfiguredRequest.ShopId = globalContext.User.Shop.ShopId.ToString();
IList<SetSealBoxConfiguredData> SetSealBoxConfiguredDatas = new List<SetSealBoxConfiguredData>();
foreach (var sealBoxConfigureModel in SealBoxConfigureModelList)
{
if (sealBoxConfigureModel.WareHourseDatas==null|| !sealBoxConfigureModel.WareHourseDatas.Any(w=>w.Count>0))
if (sealBoxConfigureModel.WareHourseDatas == null || !sealBoxConfigureModel.WareHourseDatas.Any(w => w.Count > 0))//未配置
{
continue;
}
//判断存在0的报错
if (sealBoxConfigureModel.WareHourseDatas.Any(w=>w.Count==0))
if (sealBoxConfigureModel.WaitConfigureCount != 0)
{
System.Windows.MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,存在未配置的数据");
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,采购数量:{sealBoxConfigureModel.SkuCount} 不等于 分箱总数量:{sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum()}");
return;
}
////todo: 到分箱界面判断
//if (sealBoxConfigureModel.WareHourseDatas.Select(s => s.WareId).Distinct().Count() != sealBoxConfigureModel.WareHourseDatas.Count())
//{
// MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId} ,分箱出现重复仓库,请重新设置!");
// return;
//}
//判断任务数量与分箱数量总和是否相等
if (sealBoxConfigureModel.SkuCount != sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum())
if (SealBoxConfigureModelList.Where(s => s.TaskId == sealBoxConfigureModel.TaskId).Any(s => s.WaitConfigureCount != 0))
{
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,采购数量:{sealBoxConfigureModel.SkuCount} 不等于 分箱总数量:{sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum()}");
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,存在部分落仓 未设置数据");
return;
}
SetSealBoxConfiguredDatas.Add(new SetSealBoxConfiguredData
@ -224,12 +728,12 @@ namespace BBWY.Client.ViewModels.SealBox
SkuId = sealBoxConfigureModel.SkuId,
TaskId = sealBoxConfigureModel.TaskId,
TotalCount = sealBoxConfigureModel.SkuCount,
WareHourseDatas = sealBoxConfigureModel.WareHourseDatas.Select(x => new WareHourseData
WareHourseDatas = sealBoxConfigureModel.WareHourseDatas.Where(w => w.Count > 0).Select(x => new WareHourseData//上传过滤0数据
{
Count = x.Count,
WareId = x.WareId,
WareName = x.WareName,
WareType = x.WareType.Value,
WareType = sealBoxConfigureModel.WareType.Value,
}).ToList(),
});
}
@ -246,7 +750,7 @@ namespace BBWY.Client.ViewModels.SealBox
return;
}
if (ReflashWindow != null) ReflashWindow();
var window = obj as BWindow;
window.Close();
}
@ -264,32 +768,30 @@ namespace BBWY.Client.ViewModels.SealBox
IList<UpdateSealBoxConfiguredDataRequest> UpdateSealBoxConfiguredDatas = new List<UpdateSealBoxConfiguredDataRequest>();
foreach (var sealBoxConfigureModel in SealBoxConfigureModelList)
{
////todo: 到分箱界面判断
//if (sealBoxConfigureModel.WareHourseDatas.Select(s => s.WareId).Distinct().Count() != sealBoxConfigureModel.WareHourseDatas.Count())
//{
// MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId} ,分箱出现重复仓库,请重新设置!");
// return;
//}
//判断任务数量与分箱数量总和是否相等
if (sealBoxConfigureModel.SkuCount != sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum())
if (sealBoxConfigureModel.WaitConfigureCount != 0)
{
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId} 中,采购数量:{sealBoxConfigureModel.SkuCount} 不等于 分箱总数量:{sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum()}");
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,采购数量:{sealBoxConfigureModel.SkuCount} 不等于 分箱总数量:{sealBoxConfigureModel.WareHourseDatas.Select(s => s.Count).Sum()}");
return;
}
if (SealBoxConfigureModelList.Where(s => s.TaskId == sealBoxConfigureModel.TaskId).Any(s => s.WaitConfigureCount != 0))
{
MessageBox.Show($"任务id:{sealBoxConfigureModel.TaskId}中,存在部分落仓 未设置数据");
return;
}
UpdateSealBoxConfiguredDatas.Add(new UpdateSealBoxConfiguredDataRequest
{
TaskId = sealBoxConfigureModel.TaskId,
SkuCount = sealBoxConfigureModel.SkuCount,
SealBoxConfiguredWareHourseRequests = sealBoxConfigureModel.WareHourseDatas.Select(x => new SealBoxConfiguredWareHourseRequest
SealBoxConfiguredWareHourseRequests = sealBoxConfigureModel.WareHourseDatas.Where(w => w.Count > 0).Select(x => new SealBoxConfiguredWareHourseRequest
{
Count = x.Count,
WareId = x.WareId,
WareName = x.WareName,
WareType = x.WareType.Value,
WareType = sealBoxConfigureModel.WareType.Value,
WareState = x.WareState,
SealBoxId=x.SealBoxId
SealBoxId = x.SealBoxId
}).ToList(),
});
@ -303,7 +805,7 @@ namespace BBWY.Client.ViewModels.SealBox
MessageBox.Show("网络异常");
return;
}
if (!setSealBoxRes.Success || setSealBoxRes.Data == null || !setSealBoxRes.Data)
if (!setSealBoxRes.Success || !setSealBoxRes.Data)
{
MessageBox.Show(setSealBoxRes.Msg);
return;
@ -316,8 +818,7 @@ namespace BBWY.Client.ViewModels.SealBox
}
public Action ReflashWindow { get; set; }
public Action ReflashWindow { get; set; }
}
}

3
BBWY.Client/ViewModels/ServiceOrder/ServiceOrderViewModel.cs

@ -47,9 +47,6 @@ namespace BBWY.Client.ViewModels
public ICommand SetServiceOrderStateCommand { get; set; }
public ICommand SetReturnDirectionCommand { get; set; }
public ICommand OnPageIndexChangedCommand { get; set; }
public ICommand CopyTextCommand { get; set; }
public ICommand SetSearchDateCommand { get; set; }
public ICommand SearchServiceOrderCommand { get; set; }

207
BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs

@ -0,0 +1,207 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.PackTask;
using BBWY.Common.Models;
using BBWY.Controls;
using GalaSoft.MvvmLight.Command;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Windows;
using System.Linq;
using AutoMapper.Internal;
using WebSocketSharp;
namespace BBWY.Client.ViewModels.TotalPackTask
{
public class ShopPackTaskTotalViewModel : BaseVM, IDenpendency
{
private readonly PackTaskService packTaskService;
private bool isLoading;
private DateTime startDate;
private DateTime endDate;
private int pageIndex = 1;
private int pageSize = 15;
private int orderCount;
private string searchTaskId;
private string searchSkuId;
private ObservableCollection<ShopTotal> packTaskTotalList;
public ObservableCollection<ShopTotal> PackTaskTotalList { get => packTaskTotalList; set { Set(ref packTaskTotalList, value); } }
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
public string SearchTaskId { get => searchTaskId; set { Set(ref searchTaskId, value); } }
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public DateTime StartDate { get => startDate; set { Set(ref startDate, value); } }
public DateTime EndDate { get => endDate; set { Set(ref endDate, value); } }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
public int OrderCount { get => orderCount; set { Set(ref orderCount, value); } }
private decimal totalPackDiscountFees;
/// <summary>
/// 总打包费用
/// </summary>
public decimal TotalPackDiscountFees { get => totalPackDiscountFees; set { Set(ref totalPackDiscountFees, value); } }
private decimal totalConsumableFees;
/// <summary>
/// 总耗材费
/// </summary>
public decimal TotalConsumableFees { get => totalConsumableFees; set { Set(ref totalConsumableFees, value); } }
private decimal totalFees;
/// <summary>
/// 总耗材费
/// </summary>
public decimal TotalFees { get => totalFees; set { Set(ref totalFees, value); } }
public ICommand SetSearchDateCommand { get; set; }
public ICommand SearchTaskTotalCommand { get; set; }
public ICommand ExportCommand { get; set; }
public ICommand OrderPageIndexChangedCommand { get; set; }
//public IList<Department> departmentList;
//ShopService shopService;
public ShopPackTaskTotalViewModel(PackTaskService packTaskService, GlobalContext globalContext)
{
this.packTaskService = packTaskService;
SearchTaskTotalCommand = new RelayCommand(() =>
{
SearchTask(1);
});
StartDate = DateTime.Now;
EndDate = DateTime.Now;
SetSearchDateCommand = new RelayCommand<int>(d =>
{
EndDate = d == 1 ? DateTime.Now.Date.AddDays(-1) : DateTime.Now;
StartDate = DateTime.Now.Date.AddDays(d * -1);
PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1)); //点击日期查询订单
});
OrderPageIndexChangedCommand = new RelayCommand<PageArgs>(p =>
{
LoadOrder(p.PageIndex);
});
ExportCommand = new RelayCommand(Export);
SearchTaskTotal();
this.globalContext = globalContext;
}
GlobalContext globalContext;
private void Export()
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "csv files(*.csv)|*.csv";
var result = save.ShowDialog();
if (result == null || !result.Value)
{
return;
}
string fileName = save.FileName;
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
null, 0, 0);//获取全部数据
if (res.Success)
{
//string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注";
string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费";
var excelList = res.Data.ShopTotals.Select(x => x.ToString()).ToList();
excelList.Insert(0, title);
System.IO.File.WriteAllLines(fileName, excelList, Encoding.UTF8);
}
IsLoading = false;
});
}
private void SearchTaskTotal()
{
PackTaskTotalList = new ObservableCollection<ShopTotal>();
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
null, PageIndex, PageSize);
if (res != null && res.Success)
{
OrderCount = res.Data.TotalCount;
TotalConsumableFees = res.Data.TotalConsumableFees;
TotalPackDiscountFees = res.Data.TotalPackDiscountFees;
TotalFees = TotalConsumableFees + TotalPackDiscountFees;
foreach (var shopTotal in res.Data.ShopTotals)
{
if (!shopTotal.ProcessComboName.IsNullOrEmpty())
shopTotal.FeesItemResponse = new Models.APIModel.Response.PackTask.FeesItemResponse
{
AllFees = shopTotal.AllFees.Value,
PackFees = shopTotal.PackDisCountFees.Value,
TaskId = shopTotal.TaskId,
ProcessTypeName = shopTotal.ProcessTypeName,
ProcessComboName = shopTotal.ProcessComboName,
ConsumableFees = shopTotal.ConsumableFees,
ConsumableList = shopTotal.ConsumableList,
ProcessComboPrice = shopTotal.ProcessComboPrice,
ProcessComboTaskCount = shopTotal.ProcessComboTaskCount,
DiscountFoctor = shopTotal.DiscountFactor
};
App.Current.Dispatcher.Invoke(() =>
{
PackTaskTotalList.Add(shopTotal);
});
}
}
IsLoading = false;
});
}
private void LoadOrder(int pageIndex)
{
SearchTask(pageIndex);
}
private void SearchTask(int pageIndex)
{
PageIndex = pageIndex;
SearchTaskTotal();
}
}
}

30
BBWY.Client/ViewModels/ViewModelLocator.cs

@ -100,6 +100,17 @@ namespace BBWY.Client.ViewModels
}
}
public ShopPackTaskTotalViewModel ShopPackTaskTotal
{
get
{
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<ShopPackTaskTotalViewModel>();
}
}
}
public ServiceOrderViewModel ServiceOrderList
{
get
@ -356,6 +367,25 @@ namespace BBWY.Client.ViewModels
}
}
public ExportOrderSkuViewModel ExportOrderSkuVM
{
get
{
using var s = sp.CreateScope();
return s.ServiceProvider.GetRequiredService<ExportOrderSkuViewModel>();
}
}
public StorePickSelfViewModel StorePickSelfVM
{
get
{
using var s = sp.CreateScope();
return s.ServiceProvider.GetRequiredService<StorePickSelfViewModel>();
}
}
//public ShopSealBoxListViewModel ShopSealBoxListVM
//{
// get

4
BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml

@ -132,7 +132,7 @@
<TextBlock Text="任务信息" FontWeight="Bold" Margin="19 23" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<StackPanel Height="30" VerticalAlignment="Center" Margin="19 64" Orientation="Horizontal" HorizontalAlignment="Left" >
<TextBlock Text="数量:" VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="包数量" Height="25" Width="90" Text="{Binding SkuCount}" />
<c:BTextBox WaterRemark="包数量" Height="25" Width="90" Text="{Binding SkuCount}" />
<TextBlock Margin="30 0 0 0" Text="到货情况:" VerticalAlignment="Center"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<ComboBox BorderThickness="0" VerticalContentAlignment="Center" ItemsSource="{Binding AvailabilityList}" Text="{Binding Availability}" >
@ -147,7 +147,7 @@
</StackPanel>
<c:BTextBox HorizontalAlignment="Left" Text="{Binding MarkMessage}" VerticalAlignment="Top" Height="100" Width="350"
WaterRemark="包备注" Margin="400 64 0 0 " AcceptsReturn="True" TextWrapping="Wrap">
WaterRemark="包备注" Margin="400 64 0 0 " AcceptsReturn="True" TextWrapping="Wrap">
</c:BTextBox>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Top" Height="30"

2
BBWY.Client/Views/BatchPurchase/PackSkuSplitCountAndStoreWindow.xaml

@ -62,7 +62,7 @@
<c:BTextBox x:Name="txtQuantity" Grid.Column="1" Grid.Row="3" VerticalAlignment="Center"
Margin="5,0,10,0"/>
<TextBlock Text="落仓去向:" HorizontalAlignment="Right" VerticalAlignment="Center"
<TextBlock Text="落仓去向:" HorizontalAlignment="Right" VerticalAlignment="Center"
Grid.Row="4"
Visibility="{Binding IsJST,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<ComboBox x:Name="cbx_stroeList" Grid.Row="4" Grid.Column="1" Height="30"

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

@ -150,7 +150,7 @@ namespace BBWY.Client.Views.FallWare
}
if (WareType == WareType. || WareType == WareType.)
if (WareType == WareType. || WareType == WareType.)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{

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

@ -71,8 +71,8 @@
<RadioButton Height="35" Width="80" VerticalAlignment="Center" Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.云仓}" Content="云仓"
Name="btn_yuncang" IsChecked="{Binding wareType,Converter={StaticResource objConverter},ConverterParameter=云仓:True:False}"
/>
<RadioButton Height="35" Width="80" VerticalAlignment="Center" Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.聚水潭齐越仓}" Content="聚水潭"
Name="btn_jushuitang" IsChecked="{Binding wareType,Converter={StaticResource objConverter},ConverterParameter=聚水潭齐越仓:True:False}"
<RadioButton Height="35" Width="80" VerticalAlignment="Center" Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.聚水潭}" Content="聚水潭"
Name="btn_jushuitang" IsChecked="{Binding wareType,Converter={StaticResource objConverter},ConverterParameter=聚水潭:True:False}"
/>
</StackPanel>

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

@ -76,7 +76,7 @@ namespace BBWY.Client.Views.FallWare
break;
case WareType.:
break;
case WareType.:
case WareType.:
btn_yuncang.IsEnabled = false;
btn_jingcang.IsEnabled = false;
panel_jingcang.Visibility = Visibility.Collapsed;
@ -154,7 +154,7 @@ namespace BBWY.Client.Views.FallWare
});
return;
}
if (wareType == WareType.|| wareType == WareType.)
if (wareType == WareType.|| wareType == WareType.)
{
if (JDWareBoxModel.PurchaseOrder.IsNullOrEmpty())
@ -163,7 +163,7 @@ namespace BBWY.Client.Views.FallWare
return;
}
if (wareType == WareType.)
if (wareType == WareType.)
{
if (JDWareBoxModel.PurchaseOrder.IsNullOrEmpty())
{

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

@ -75,10 +75,10 @@
<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"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
@ -118,9 +118,21 @@
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserNames}" Margin="5,0,0,0" />
</StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="5" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1"
Command="{Binding DataContext.LoadFallWareSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="5" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1">
<Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
@ -191,12 +203,14 @@
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,15,0,10">
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
<Run Text="发布日期:" />
</TextBlock>
<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd }" VerticalAlignment="Center" Margin="5,0,0,0"/>
<!--<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
Margin=" 5,0,0,0"/>-->
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,13,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">

178
BBWY.Client/Views/Order/ExportOrderSkuView.xaml

@ -0,0 +1,178 @@
<Page x:Class="BBWY.Client.Views.Order.ExportOrderSkuView"
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:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:local="clr-namespace:BBWY.Client.Views.Order"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="769" d:DesignWidth="1024"
DataContext="{Binding ExportOrderSkuVM,Source={StaticResource Locator}}"
Title="ExportOrderSkuView"
xmlns:converter="clr-namespace:HandyControl.Tools.Converter;assembly=HandyControl"
xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl"
xmlns:ex="clr-namespace:HandyControl.Tools.Extension;assembly=HandyControl"
xmlns:langs="clr-namespace:HandyControl.Properties.Langs;assembly=HandyControl">
<Page.Resources>
</Page.Resources>
<Grid>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Margin="5,0">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="5"/>
<RowDefinition />
<RowDefinition Height="5"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}">
<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 Orientation="Horizontal" VerticalAlignment="Center" Margin="5,0">
<Grid>
<hc:CheckComboBox IsTextSearchEnabled="True" ItemsSource="{Binding DepartmentList}"
ShowClearButton="True"
MinWidth="150"
Height="30">
<hc:CheckComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="5,2.5">
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</DataTemplate>
</hc:CheckComboBox.ItemTemplate>
<hc:CheckComboBox.ItemContainerStyle>
<Style TargetType="{x:Type hc:CheckComboBoxItem}" BasedOn="{StaticResource NoBgListBoxItemStyle}">
<Setter Property="IsSelected" Value="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Style>
</hc:CheckComboBox.ItemContainerStyle>
</hc:CheckComboBox>
<TextBlock Text="全部" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0"
Visibility="{Binding IsShowAll_Department,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}"/>
</Grid>
<Grid>
<hc:CheckComboBox IsTextSearchEnabled="True" ItemsSource="{Binding ShopList}"
ShowClearButton="True"
MinWidth="150"
Margin="5,0,0,0">
<hc:CheckComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="5,2.5">
<CheckBox Content="{Binding ShopName}" IsChecked="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</DataTemplate>
</hc:CheckComboBox.ItemTemplate>
<hc:CheckComboBox.ItemContainerStyle>
<Style TargetType="{x:Type hc:CheckComboBoxItem}" BasedOn="{StaticResource NoBgListBoxItemStyle}">
<Setter Property="IsSelected" Value="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Style>
</hc:CheckComboBox.ItemContainerStyle>
</hc:CheckComboBox>
<TextBlock Text="全部" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"
Visibility="{Binding IsShowAll_Shop,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}"/>
</Grid>
<!--<hc:CheckComboBox IsTextSearchEnabled="True" ItemsSource="{Binding PlatformList}"
ShowClearButton="True"
MinWidth="150"
Margin="5,0,0,0"
SelectionMode="Single"
SelectedItem="{Binding SelectedPlatform,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Key">
</hc:CheckComboBox>-->
<DatePicker Height="30" Margin="5,0,0,0" SelectedDate="{Binding StartDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<DatePicker Height="30" Margin="5,0,0,0" SelectedDate="{Binding EndDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<c:BButton Content="查询" Margin="5,0,0,0" Width="80" Command="{Binding SearchCommand}"/>
<c:BButton Content="导出" Width="80" Margin="5,0,0,0" Command="{Binding ExportCommand}" Background="#02A7F0"/>
</StackPanel>
</Grid>
<DataGrid Grid.Row="2"
ItemsSource="{Binding ExportSkuList}"
BorderThickness="1,1,0,0"
BorderBrush="{StaticResource Border.Brush}"
VirtualizingPanel.IsVirtualizing="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding StartTime,StringFormat=yyyy-MM-dd HH:mm:ss}" Header="订单日期"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="140"/>
<DataGridTextColumn Binding="{Binding ShopName}" Header="店铺名称"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="150"/>
<DataGridTextColumn Binding="{Binding OrderId}" Header="订单号"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="110"/>
<DataGridTextColumn Binding="{Binding OrderState,Mode=OneWay}" Header="订单状态"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="70"/>
<DataGridTextColumn Binding="{Binding Spu}" Header="SPU"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="120"/>
<DataGridTextColumn Binding="{Binding Sku}" Header="SKU"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="120"/>
<DataGridTextColumn Binding="{Binding StorageType}" Header="仓储类型"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="80"/>
<DataGridTextColumn Binding="{Binding PurchaseAmount,Mode=OneWay}" Header="采购成本"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="60"/>
<DataGridTextColumn Binding="{Binding PreferentialAmount,Mode=OneWay}" Header="平台优惠"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="60"/>
<DataGridTextColumn Binding="{Binding SellerPreferentialAmount,Mode=OneWay}" Header="商家优惠"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="60"/>
<DataGridTextColumn Binding="{Binding SkuPrice}" Header="单价"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="80"/>
<DataGridTextColumn Binding="{Binding ItemTotal}" Header="数量"
ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="50"/>
<DataGridTextColumn Binding="{Binding SpuName}" Header="商品标题" ElementStyle="{StaticResource middleTextBlock}"
HeaderStyle="{StaticResource ColumnHeaderStyle_Center}"
Width="*"/>
</DataGrid.Columns>
</DataGrid>
<c:PageControl PageIndex="{Binding PageIndex}"
PageSize="{Binding PageSize}"
RecordCount="{Binding TotalCount}"
Grid.Row="4"
HorizontalAlignment="Left">
<b:Interaction.Triggers>
<b:EventTrigger EventName="OnPageIndexChanged">
<b:InvokeCommandAction Command="{Binding OrderPageIndexChangedCommand}" PassEventArgsToCommand="True"/>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:PageControl>
</Grid>
</Grid>
</Page>

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

34
BBWY.Client/Views/PackTask/CerControl.xaml

@ -24,9 +24,9 @@
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.Shader,Mode=TwoWay}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Height="50" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<StackPanel Orientation="Horizontal" Margin="0">
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Visibility="{Binding model.ProduceDate,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
@ -37,8 +37,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
@ -62,8 +62,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.ApplyAge}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Height="50" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Visibility="{Binding model.ProduceDate,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
@ -74,8 +74,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
@ -96,8 +96,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.Shader,Mode=TwoWay}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Height="50" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Visibility="{Binding model.ProduceDate,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
@ -108,8 +108,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
@ -137,8 +137,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.Shader,Mode=TwoWay}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Height="50" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" WaterRemark="如多个标准请使用逗号分隔" Text="{Binding model.ExcuteStanderFormat,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Visibility="{Binding model.ProduceDate,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Orientation="Horizontal" Margin="0 5 0 0">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
@ -149,8 +149,8 @@
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 5 0 0">
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 5 0 0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox IsReadOnly="True" VerticalContentAlignment="Top" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Height="48" Text="{Binding model.ProductAdress,Mode=TwoWay}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>

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

@ -51,10 +51,10 @@
<TextBlock Text="任务ID" TextAlignment="Center" Grid.Column="0" Grid.RowSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="增值服务" Grid.Column="1" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="4" Grid.Row="0" Grid.RowSpan="4" BorderThickness="1,0,0,0"/>
<TextBlock Text="包服务" Grid.Column="4" Grid.ColumnSpan="6" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="包服务" Grid.Column="4" Grid.ColumnSpan="6" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="10" Grid.Row="0" Grid.RowSpan="4" BorderThickness="1,0,0,0"/>
<TextBlock Text="包耗材" Grid.Column="10" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="包耗材" Grid.Column="10" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="12" Grid.Row="0" Grid.RowSpan="4" BorderThickness="1,0,0,0"/>

8
BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs

@ -184,7 +184,7 @@ namespace BBWY.Client.Views.PackTask
/// <summary>
/// index 从1开始 0+1 增值服务 和包耗材
/// index 从1开始 0+1 增值服务 和包耗材
/// </summary>
string columnData = @"
<Grid Grid.Column=""[:index:]"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
@ -330,9 +330,9 @@ namespace BBWY.Client.Views.PackTask
string increateService = @" <TextBlock Text=""增值服务"" Grid.Column=""1"" Grid.ColumnSpan=""2"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Column=""[:1+IncreateCount:]"" Grid.Row=""0"" Grid.RowSpan=""4"" BorderThickness=""1,0,0,0""/>";
string workProcess = "<TextBlock Text=\"包服务\" Grid.Column=\"[:1+IncreateCount:]\" Grid.ColumnSpan=\"[:ProcessCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+IncreateCount+ProcessCount:]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
string workProcess = "<TextBlock Text=\"包服务\" Grid.Column=\"[:1+IncreateCount:]\" Grid.ColumnSpan=\"[:ProcessCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+IncreateCount+ProcessCount:]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
string consumableService = "<TextBlock Text=\"包耗材\" Grid.Column=\"[:1+IncreateCount+ProcessCount:]\" Grid.ColumnSpan=\"[:ConsumableCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+IncreateCount+ProcessCount:+ConsumableCount]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
string consumableService = "<TextBlock Text=\"包耗材\" Grid.Column=\"[:1+IncreateCount+ProcessCount:]\" Grid.ColumnSpan=\"[:ConsumableCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+IncreateCount+ProcessCount:+ConsumableCount]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
@ -436,7 +436,7 @@ namespace BBWY.Client.Views.PackTask
if (basicProcessList.Count > 0)//包服务
if (basicProcessList.Count > 0)//包服务
{
rowIndex++;

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

@ -43,7 +43,7 @@
<TextBlock Text="包装服务" Grid.Column="1" Grid.ColumnSpan="4" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="4" Grid.Row="0" Grid.RowSpan="4" BorderThickness="1,0,0,0"/>
<TextBlock Text="包耗材" Grid.Column="5" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="包耗材" Grid.Column="5" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="12" Grid.Row="0" Grid.RowSpan="4" BorderThickness="1,0,0,0"/>

96
BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs

@ -25,6 +25,25 @@ namespace BBWY.Client.Views.PackTask
{
InitializeComponent();
}
public bool IsShopTotal
{
get
{
return (bool)GetValue(IsShopTotalProperty);
}
set
{
SetValue(IsShopTotalProperty, value);
}
}
public static readonly DependencyProperty IsShopTotalProperty =
DependencyProperty.Register("IsShopTotal", typeof(bool), typeof(FeesExcelV2Control),new PropertyMetadata(false));
//["IsShopTotal"]
public FeesItemResponse FeesItem
{
get
@ -54,12 +73,9 @@ namespace BBWY.Client.Views.PackTask
}
string xaml = @" <Grid xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
<Grid.ColumnDefinitions >
<ColumnDefinition />
<ColumnDefinition [:IsShopTotal:] />
[:Columns:]
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@ -69,15 +85,9 @@ namespace BBWY.Client.Views.PackTask
<RowDefinition Height=""30"" />
</Grid.RowDefinitions>
<Border Background=""#F2F2F2"" Grid.RowSpan=""3"" Grid.ColumnSpan=""[:ColumnCount:]""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Column=""0"" Grid.Row=""0"" Grid.RowSpan=""4"" BorderThickness=""1,0,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Column=""1"" Grid.Row=""0"" Grid.RowSpan=""4"" BorderThickness=""1,0,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Right"" BorderBrush=""#D7D7D7"" Grid.Column=""[:1+ProcessCount:+ConsumableCount]"" Grid.Row=""0"" Grid.RowSpan=""4"" BorderThickness=""0,0,1,0""/>
<Border Width=""1"" HorizontalAlignment=""Right"" BorderBrush=""#D7D7D7"" Grid.Column=""[:1+ProcessCount:+ConsumableCount]"" Grid.Row=""0"" Grid.RowSpan=""4"" BorderThickness=""0,0,1,0""/>
<Border Height=""1"" VerticalAlignment=""Top"" BorderBrush=""#D7D7D7"" Grid.Column=""0"" Grid.Row=""0"" Grid.ColumnSpan=""[:ColumnCount:]"" BorderThickness=""0,1,0,0""/>
<Border Height=""1"" VerticalAlignment=""Top"" BorderBrush=""#D7D7D7"" Grid.Column=""1"" Grid.Row=""1"" Grid.ColumnSpan=""[:ColumnCount-2:]"" BorderThickness=""0,1,0,0""/>
<Border Height=""1"" VerticalAlignment=""Bottom"" BorderBrush=""#D7D7D7"" Grid.Column=""0"" Grid.Row=""2"" Grid.ColumnSpan=""[:ColumnCount:]"" BorderThickness=""0,1,0,0""/>
@ -90,51 +100,6 @@ namespace BBWY.Client.Views.PackTask
<TextBlock Text=""[:AllFees:]"" Grid.Row=""3"" Grid.Column=""[:1+ProcessCount:+ConsumableCount]"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
[:ListData:]
</Grid>";
string processComboStr1 = @"<Grid Grid.Column=""1"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.RowSpan=""2"" BorderThickness=""0,0,1,0""/>
<TextBlock Text="""" Grid.Row=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text=""[:ProcessTypeName:]"" Grid.Row=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<Border Height=""1"" VerticalAlignment=""Bottom"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.ColumnSpan=""2"" BorderThickness=""0,1,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.RowSpan=""3"" BorderThickness=""1,0,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.Column=""1"" Grid.RowSpan=""2"" BorderThickness=""1,0,0,0""/>
</Grid>
<Grid Grid.Column=""2"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.RowSpan=""2"" BorderThickness=""0,0,1,0""/>
<TextBlock Text="""" Grid.Row=""0"" Grid.Column=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text=""[:ProcessComboName:]"" Grid.Row=""1"" Grid.Column=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<Border Height=""1"" VerticalAlignment=""Bottom"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.ColumnSpan=""2"" BorderThickness=""0,1,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.RowSpan=""2"" BorderThickness=""1,0,0,0""/>
</Grid>
<TextBlock Text=""[:ProcessComboPrice:]"" Grid.Row=""3"" Grid.Column=""1"" Grid.ColumnSpan=""2"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>";
string processComboStr = @" <Grid Grid.Column=""1"" MinWidth=""168"" Grid.Row=""1"" Grid.RowSpan=""3"" Grid.ColumnSpan=""2"" >
<Grid.RowDefinitions>
<RowDefinition />
@ -162,10 +127,6 @@ namespace BBWY.Client.Views.PackTask
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.RowSpan=""3"" BorderThickness=""1,0,0,0""/>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.Row=""0"" Grid.Column=""1"" Grid.RowSpan=""2"" BorderThickness=""1,0,0,0""/>
</Grid>";
string discountFactorStr = @" <Grid Grid.Column=""3"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
<Grid.RowDefinitions>
<RowDefinition Height=""2*""/>
@ -188,10 +149,6 @@ namespace BBWY.Client.Views.PackTask
<TextBlock Text=""[:PackFees:]"" Grid.Row=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
</Grid>";
string columnStr = "<ColumnDefinition Width=\"[:Width:]\"/>";
string workProcess = "<TextBlock Text=\"包装服务\" Grid.Column=\"1\" Grid.ColumnSpan=\"[:ProcessCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+ProcessCount:]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
@ -329,10 +286,17 @@ namespace BBWY.Client.Views.PackTask
//.Replace("[:DiscountFees:]", $"{discountFees.ToString(" 0.00")}");
//
newGrid = newGrid.Replace(@"[:Visity:]", "");
if (IsShopTotal)//[:IsShopTotal:]
{
newGrid = newGrid.Replace(@"[:IsShopTotal:]", @"Width=""0""");
}
else
{
newGrid = newGrid.Replace(@"[:IsShopTotal:]", "");
}
var grid = XamlReader.Parse(newGrid) as Grid;

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

@ -83,7 +83,7 @@
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="包任务配置" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="包任务配置" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" >
@ -96,14 +96,7 @@
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<ScrollViewer x:Name="scrolls" Grid.Row="0" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" Height="740">
<ScrollViewer x:Name="scrolls" Grid.Row="0" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" Margin="0 0 0 0">
<ScrollViewer.Content>
<StackPanel Orientation="Vertical" Grid.Row="1">
<StackPanel Orientation="Horizontal" Background="{StaticResource Border.Background}" Height="32">
@ -319,7 +312,7 @@
<TextBlock Margin="20 10 20 10">
<Run Text="推荐包人:"/>
<Run Text="推荐包人:"/>
<Run Text="{Binding SuggestPackUserName}" Foreground="Red"/>
</TextBlock>
@ -343,7 +336,7 @@
<Border HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Width="1" Grid.Column="2"/>
<Border HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Width="1" Grid.Column="3"/>
<Border HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Width="1" Grid.Column="3"/>
<TextBlock Grid.Column="0" Text="包人" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Column="0" Text="包人" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Column="1" Text="任务量" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Column="2" Text="操作" Style="{StaticResource middleTextBlock}"/>
@ -466,7 +459,7 @@
<c:BButton Foreground="Blue" BorderBrush="{StaticResource Border.Brush}" Background="Transparent" HorizontalAlignment="Stretch"
Command="{Binding DeleteServiceCommand}"
Visibility="{Binding DataContext.IsConsumableTypeListEnable,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}},Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox}, Path=ItemsSource}" Content="删除" Grid.Column="4"/>
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBox}}, Path=ItemsSource}" Content="删除" Grid.Column="4"/>
<Border HorizontalAlignment="Left" Margin="-1 0 0 0" Grid.Column="1" Width="1" Background="{StaticResource Border.Brush}"/>
<Border HorizontalAlignment="Left" Margin="-1 0 0 0" Grid.Column="2" Width="1" Background="{StaticResource Border.Brush}"/>
@ -599,7 +592,7 @@
<Run Text="{Binding PackTaskModel.GoodsNumber}"/>
</TextBlock>
</Grid>
<TextBlock>
<TextBlock TextWrapping="Wrap" >
<Run Text="配件:"/>
<Run Text="{Binding PackTaskModel.SkuTitle }"/>
</TextBlock>

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

@ -40,14 +40,14 @@ namespace BBWY.Client.Views.PackTask
var serviceViewModel = this.DataContext as PackDetailViewModel;
if (model.Brand.IsNullOrEmpty())
{
if (!model.BarCodeModel.Brand.IsNullOrEmpty())
if (model.BarCodeModel!=null&&!model.BarCodeModel.Brand.IsNullOrEmpty())
model.Brand = model.BarCodeModel.Brand;
else if (model.CertificateModel != null && model.CertificateModel.Any(c => c.Brand != null))
model.Brand = model.CertificateModel.FirstOrDefault(c => c.Brand != null)?.Brand;
}
if (model.BrandName.IsNullOrEmpty())
{
if (!model.BarCodeModel.BrandName.IsNullOrEmpty())
if (model.BarCodeModel != null && !model.BarCodeModel.BrandName.IsNullOrEmpty())
model.BrandName = model.BarCodeModel.BrandName;
else if (model.CertificateModel != null && model.CertificateModel.Any(c => c.BrandName != null))
model.BrandName = model.CertificateModel.FirstOrDefault(c => c.BrandName != null)?.BrandName;

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

@ -13,14 +13,12 @@
d:DesignHeight="450" d:DesignWidth="2048"
Title="OrderList">
<Page.Resources>
<sys:Int32 x:Key="d0">0</sys:Int32>
<sys:Int32 x:Key="d1">1</sys:Int32>
<sys:Int32 x:Key="d3">2</sys:Int32>
<sys:Int32 x:Key="d7">6</sys:Int32>
<sys:Int32 x:Key="d15">14</sys:Int32>
<sys:Int32 x:Key="d30">29</sys:Int32>
</Page.Resources>
<Grid>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
@ -37,9 +35,10 @@
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Height="75" Panel.ZIndex="999">
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Height="75" Panel.ZIndex="999">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="900"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@ -47,7 +46,7 @@
<RowDefinition Height="5"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0" Height="30">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0" Height="30" >
<StackPanel.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
@ -88,21 +87,44 @@
/>
</StackPanel>
<Grid Grid.Column="1" Grid.RowSpan="3">
<Grid Grid.Column="1" Grid.RowSpan="3" >
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Content="搜索" Width="50" VerticalAlignment="Stretch" Margin="5,0,0,0" Command="{Binding SearchTaskTotalCommand}"
Grid.RowSpan="2" Background="#8080ff" BorderThickness="0" Foreground="White"/>
<Button Grid.RowSpan="2" Content="导出" Command="{Binding ExportCommand}" Width="50" Grid.Column="1"
Background="#8080ff" BorderThickness="0" Foreground="White"/>
<Button Content="导出" Command="{Binding ExportCommand}" Width="50" Grid.Column="1"
Background="#02a7f0" BorderThickness="0" Foreground="White"/>
</Grid>
<Grid Grid.Column="2" Grid.RowSpan="3" Margin="20 0 0 0" Background="{StaticResource Button.Background}" Width="450"
Visibility="{Binding OrderCount,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="90"/>
</Grid.ColumnDefinitions>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" >
<TextBlock Text="包装服务费" Foreground="White"/>
<TextBlock Text="{Binding TotalPackDiscountFees,StringFormat='0.00'}" Foreground="White" FontSize="20" FontWeight="Bold"/>
</StackPanel>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" Margin="10 0 0 0" Grid.Column="1">
<TextBlock Text="包装耗材费" Foreground="White"/>
<TextBlock Text="{Binding TotalConsumableFees,StringFormat='0.00'}" Foreground="White" FontSize="20" FontWeight="Bold"/>
</StackPanel>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" Margin="10 0 0 0" Grid.Column="2">
<TextBlock Text="总费用" Foreground="White"/>
<TextBlock Text="{Binding TotalFees,StringFormat='0.00'}" Foreground="White" FontSize="20" FontWeight="Bold"/>
</StackPanel>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical" Margin="10 0 0 0" Grid.Column="3">
<TextBlock Text="总任务量" Foreground="White"/>
<TextBlock Text="{Binding OrderCount}" Foreground="White" FontSize="20" FontWeight="Bold"/>
</StackPanel>
</Grid>
</Grid>
<Grid Grid.Row="1" HorizontalAlignment="Left">
@ -113,7 +135,7 @@
<Grid Grid.Row="2" Margin="0 5 0 0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30" />
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
@ -121,51 +143,25 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<Grid Background="{StaticResource Border.Background}" Grid.ColumnSpan="20"/>
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding IsBatchChecked,Mode=TwoWay}" Command="{Binding BatchCheckedCommand}" HorizontalContentAlignment="Center" Grid.Column="0"/>
<TextBlock Text="任务ID" 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}"/>
<TextBlock Text="其他" Grid.Column="10" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="耗材总价" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="收货数量" Grid.Column="12" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="基础价格" Grid.Column="13" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="增量配件价" Grid.Column="14" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="增量工序价" Grid.Column="15" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="打包单价" Grid.Column="16" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="打包原价" Grid.Column="17" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="收费方式" Grid.Column="18" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="打包折扣系数" Grid.Column="19" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="打包折扣价" Grid.Column="20" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="增值费用" Grid.Column="21" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="总费用" Grid.Column="22" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="23" 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="Right" Background="{StaticResource Border.Brush}"/>
@ -211,26 +207,12 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<Grid Margin="0 0 1 0">
<CheckBox Grid.Column="8" IsChecked="{Binding TaskChecked,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" HorizontalContentAlignment="Center" />
@ -282,76 +264,54 @@
<TextBlock Text="{Binding SkuCount}" TextWrapping="Wrap" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="7" Margin="0 0 1 0">
<TextBlock Text="{Binding BoxConsumableFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}" TextTrimming="CharacterEllipsis">
</TextBlock>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="8" Margin="0 0 1 0">
<TextBlock Text="{Binding AirConsumableFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="9" Margin="0 0 1 0">
<TextBlock Text="{Binding TapeConsumableFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="10" Margin="0 0 1 0">
<TextBlock Text="{Binding OtherConsumableFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="11" Margin="0 0 1 0" >
<TextBlock Text="{Binding ConsumableFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="12" Margin="0 0 1 0" >
<Grid Grid.Column="7" Margin="0 0 1 1" >
<TextBlock Text="{Binding ArrivalQuantity}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="13" Margin="0 0 1 0" >
<TextBlock Text="{Binding BasicPrice,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="14" Margin="0 0 1 0" >
<TextBlock Text="{Binding IncrementPartPrice,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="15" Margin="0 0 1 0" >
<TextBlock Text="{Binding IncrementProcessPrice,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="16" Margin="0 0 1 0" >
<TextBlock Text="{Binding PackSingleFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="8" Margin="-1" >
<Grid Grid.Column="17" Margin="0 0 1 0">
<TextBlock Text="{Binding PackFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="18" Margin="0 0 1 0">
<TextBlock Text="{Binding FeesMode}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="19" Margin="0 0 1 0">
<TextBlock Text="{Binding DiscountFactor,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="20" Margin="0 0 1 0">
<TextBlock Text="{Binding PackDisCountFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="21" Margin="0 0 1 0">
<TextBlock Text="{Binding IncreaseFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="22" Margin="0 0 1 0">
<TextBlock Text="{Binding AllFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<local:FeesExcelV2Control
Visibility="{Binding ProcessComboName,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
IsShopTotal="True" FeesItem="{Binding FeesItemResponse,Mode=TwoWay,NotifyOnSourceUpdated=True,UpdateSourceTrigger=PropertyChanged}" />
<Grid
Visibility="{Binding ProcessComboName,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" >
<!--<Run Text="包装费用:" />
<Run Text="{Binding PackFees}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="10 0 10 0">
<Run Text="折扣系数:" />
<Run Text="{Binding DiscountFactor}"/>
</TextBlock>
<TextBlock Style="{StaticResource middleTextBlock}">-->
<Run Text="包装费用:" />
<Run Text="{Binding PackDisCountFees}"/>
</TextBlock>
</StackPanel>
<TextBlock Grid.Column="1" Style="{StaticResource middleTextBlock}">
<Run Text="包装耗材费用:" />
<Run Text="{Binding ConsumableFees}"/>
</TextBlock>
<TextBlock Grid.Column="2" Style="{StaticResource middleTextBlock}">
<Run Text="总费用:" />
<Run Text="{Binding AllFees}"/>
</TextBlock>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="23" Margin="0 0 1 0">
<c:BButton HorizontalAlignment="Center" Height="20" VerticalAlignment="Center" Background="Transparent" Foreground="#02a7f0" Grid.Row="1" Content="结清"
Command="{Binding DataContext.SettleCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
@ -359,10 +319,6 @@
Visibility="Visible" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
</Grid>
<Border Grid.Row="1" Grid.Column="18" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
@ -370,12 +326,8 @@
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>

16
BBWY.Client/Views/PackTask/PrintWindow.xaml.cs

@ -1,28 +1,12 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Controls;
using NPOI.SS.UserModel;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Printing;
using System.Runtime.ConstrainedExecution;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Media.Media3D;
using System.Windows.Shapes;
using System.Drawing.Printing;
using System.Collections.ObjectModel;
using BBWY.Client.Extensions;

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

@ -128,7 +128,7 @@
<TextBlock Text="任务信息" FontWeight="Bold" Margin="19 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<StackPanel Height="30" VerticalAlignment="Top" Margin="19 23 0 0" Orientation="Horizontal" HorizontalAlignment="Left" >
<TextBlock Text="数量:" VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="包数量" Height="25" Width="90" Text="{Binding SkuCount}" />
<c:BTextBox WaterRemark="包数量" Height="25" Width="90" Text="{Binding SkuCount}" />
<!--<TextBlock Margin="30 0 0 0" Text="到货情况:" VerticalAlignment="Center"/>
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}">
<ComboBox BorderThickness="0" VerticalContentAlignment="Center" ItemsSource="{Binding AvailabilityList}" Text="{Binding Availability}" >
@ -156,7 +156,7 @@
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="包配置" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="20 0 0 0"/>
<TextBlock Grid.Row="0" Text="包配置" FontWeight="Bold" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="20 0 0 0"/>
<Grid Height="70" Grid.Row="1" Margin="20 0 20 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="77"/>

12
BBWY.Client/Views/PackTask/SetCerControl.xaml

@ -24,8 +24,8 @@
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
@ -69,8 +69,8 @@
<c:BTextBox Text="{Binding model.FactoryNumber,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Height="25" Width="100" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
@ -110,7 +110,7 @@
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
@ -148,7 +148,7 @@
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />

2
BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs

@ -272,7 +272,7 @@ namespace BBWY.Client.Views.PackTask
{
var select = test.SelectedItem as GoodsNumberCer;
if (select != null)
selectCer = select.CertificateModel.GoodsNumber;
selectCer = select.CertificateModel.GoodsNumber.Value;
}
try
{

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

@ -210,7 +210,7 @@
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>-->
</StackPanel>
@ -269,7 +269,7 @@
>
</c:BButton>
--><!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}" --><!--
--><!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}" --><!--
</StackPanel>

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

@ -46,16 +46,16 @@
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包需求" Grid.Column="4" 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="7" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务时间" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<!--<TextBlock Text="合格证位置" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="注意事项/对接备注" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="服务 耗材费用" Grid.Column="10" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<!--<TextBlock Text="操作" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>-->
@ -112,8 +112,10 @@
CommandParameter="{Binding TaskId}"
Margin=" 5,0,7,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<Label Width="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}}}"
@ -275,7 +277,7 @@
<Grid Grid.Column="4">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包:"/>
<TextBlock Text="基础包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
@ -349,7 +351,7 @@
</StackPanel>
</Grid>
<Grid Grid.Column="8" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding PackRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>

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

@ -4,14 +4,14 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
xmlns:waitquality="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:waitquality="clr-namespace:BBWY.Client.Views.QualityTask"
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:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:store="clr-namespace:BBWY.Client.Views.StorePickSelf"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="2048"
Title="TaskList">
@ -96,8 +96,8 @@
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待排单}" Content="待排单" Tag="{Binding WaitScheduleCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待包}" Content="待包" Tag="{Binding WaitPackCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:True:False}"
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待包}" Content="待包" Tag="{Binding WaitPackCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待封箱}" Content="待封箱" Tag="{Binding WaitSealBoxCount,Mode=TwoWay}"
@ -163,11 +163,8 @@
<Button Content="搜索" Width="100" Height="30" VerticalAlignment="Center" Margin="66,0,0,0"
Command="{Binding SearchTaskCommand}" Grid.Column="1"
Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
</StackPanel>
</Grid>
<Grid Grid.Row="2" HorizontalAlignment="Stretch" Panel.ZIndex="999" Margin="0,5,0,0" >
@ -187,10 +184,8 @@
<Grid Grid.Row="3" Margin="0,5,0,0">
<local:TaskListControl x:Name="listbox_task"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包|待出库|待排单:Collapsed:Visible}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包|待出库|待排单|商家自取:Collapsed:Visible}"
/>
<sealbox:ShopSealBoxListControl
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓:Visible:Collapsed}"
/>
@ -198,16 +193,17 @@
<waitquality:ShopWaitQualityControl 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}" />
<local:ShopWaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}" />
<local:ShopWaitCompletedControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:Visible:Collapsed}" />
<store:ShopStorePickSelfControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=商家自取:Visible:Collapsed}" />
</Grid>
<c:PageControl PageIndex="{Binding PageIndex}"
PageSize="{Binding PageSize}"
RecordCount="{Binding OrderCount}"
Grid.Row="4"
HorizontalAlignment="Left" Width="450">
HorizontalAlignment="Left" Width="auto">
<b:Interaction.Triggers>
<b:EventTrigger EventName="OnPageIndexChanged">
<b:InvokeCommandAction Command="{Binding TaskPageIndexChangedCommand}" PassEventArgsToCommand="True"/>

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

@ -47,7 +47,7 @@
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包需求" Grid.Column="4" 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}"/>-->
@ -109,7 +109,7 @@
<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="20,0,0,0"
Visibility="{Binding DataContext.TaskState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}},Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding DepartmentName}" Margin="5,0,0,0" />
@ -248,7 +248,7 @@
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包:"/>
<TextBlock Text="基础包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
@ -398,7 +398,7 @@
</Path.ToolTip>
</Path>
</StackPanel>
</Grid>
</Grid>
<Grid Grid.Column="9" >

6
BBWY.Client/Views/PackTask/UpdatePurchaseTaskWindow.xaml

@ -42,7 +42,7 @@
</Grid.RowDefinitions>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Background="{StaticResource Border.Background}">
<TextBlock Text="配置包信息" VerticalAlignment="Center" HorizontalAlignment="Center" />
<TextBlock Text="配置包信息" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
<Grid Grid.Row="1" VerticalAlignment="Center">
@ -251,7 +251,7 @@
<RowDefinition MinHeight="70"/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<TextBlock Text="包配置" FontWeight="Bold" FontSize="13" Margin="19 0 0 0 " HorizontalAlignment="Left" VerticalAlignment="Center"/>
<TextBlock Text="包配置" FontWeight="Bold" FontSize="13" Margin="19 0 0 0 " HorizontalAlignment="Left" VerticalAlignment="Center"/>
<Grid Height="70" Grid.Row="1" Margin="20 0 20 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="77"/>
@ -367,7 +367,7 @@
Visibility="{Binding TaskId,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
Background="{StaticResource Button.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
<!--<c:BTextBox Grid.Row="3" Text="{Binding MarkMessage,Mode=TwoWay}" WaterRemark="包备注" AcceptsReturn="True" TextWrapping="Wrap" Grid.ColumnSpan="2" Margin="20 0 20 0" Height="60"/>-->
<!--<c:BTextBox Grid.Row="3" Text="{Binding MarkMessage,Mode=TwoWay}" WaterRemark="包备注" AcceptsReturn="True" TextWrapping="Wrap" Grid.ColumnSpan="2" Margin="20 0 20 0" Height="60"/>-->
</Grid>

20
BBWY.Client/Views/PackTask/WaitCompletedControl.xaml

@ -254,7 +254,21 @@
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
</StackPanel>-->
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,0,0,5">
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="发布日期:" />
</TextBlock>
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd }" VerticalAlignment="Center" Margin="5,0,0,0"/>
<!--<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>-->
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,10,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
@ -265,7 +279,7 @@
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>-->
</StackPanel>
@ -324,7 +338,7 @@
>
</c:BButton>
<!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}" -->
<!-- Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}" -->
</StackPanel>

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

@ -31,7 +31,7 @@
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}"/>
@ -41,7 +41,7 @@
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}"/>
@ -170,7 +170,7 @@
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包需求" Grid.Column="4" 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}"/>
@ -234,8 +234,10 @@
CommandParameter="{Binding TaskId}"
Margin=" 5,0,7,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<Label Width="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 UserControl}}}"
@ -384,7 +386,7 @@
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包:"/>
<TextBlock Text="基础包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
@ -513,7 +515,7 @@
<Grid Grid.Column="9">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding PackRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
@ -597,7 +599,7 @@
<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:包设置:修改设置 }"
Content="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:包设置:修改设置 }"
Command="{Binding SetServiceCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已取消|未到货|部分到货|待验收|:Collapsed:Visible}"
/>
@ -606,7 +608,7 @@
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<StackPanel
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}"
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}"
@ -632,7 +634,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}"
/>
<hc:SplitButton Content="更多操作" Foreground="{StaticResource Button.Background}" BorderThickness="0" HorizontalAlignment="Stretch">
<hc:SplitButton.Resources>

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

@ -12,6 +12,7 @@
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:taskovertime="clr-namespace:BBWY.Client.Views.TaskOverTime"
xmlns:store="clr-namespace:BBWY.Client.Views.StorePickSelf"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding WareHouseList,Source={StaticResource Locator}}"
mc:Ignorable="d" Background="White"
@ -102,8 +103,8 @@
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待排单}" Content="待排单" Tag="{Binding WaitScheduleCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待包}" Content="待包" Tag="{Binding WaitPackCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:True:False}"
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待包}" Content="待包" Tag="{Binding WaitPackCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待封箱}" Content="待封箱" Tag="{Binding WaitSealBoxCount,Mode=TwoWay}"
@ -146,21 +147,22 @@
<Grid Grid.Row="1" Margin="0,5,0,0">
<fallware:WareFallWareListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:Visible:Collapsed}" />
<local:WareHouseListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包|待转运|已超时|待出库|待排单:Collapsed:Visible}" />
<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}" />
<local:WaitPackageControl 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}" />
<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}" />
<store:StorePickSelfControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=商家自取:Visible:Collapsed}" />
</Grid>
<c:PageControl PageIndex="{Binding PageIndex,Mode=TwoWay}"
PageSize="{Binding PageSize,Mode=TwoWay}"
RecordCount="{Binding OrderCount,Mode=TwoWay}"
Grid.Row="2"
HorizontalAlignment="Left" Width="450">
HorizontalAlignment="Left" Width="auto">
<b:Interaction.Triggers>
<b:EventTrigger EventName="OnPageIndexChanged">
<b:InvokeCommandAction Command="{Binding TaskPageIndexChangedCommand}" PassEventArgsToCommand="True"/>

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

@ -30,11 +30,11 @@
</UserControl.Resources>
<Grid>
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="590,15,0,0"
<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="部门名称"
<c:BTextBox x:Name="tb" Width="150" TextChanged="tb_TextChanged" Text="{Binding SearchDepartment,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="部门名称"
BorderThickness="1 0 0 1" Margin="0 0 0 1" Height="30"
/>
<ListBox MaxHeight="300" x:Name="tipBox" SelectionChanged="SelectionChangeCommand" Background="{StaticResource Border.Background}">
@ -44,7 +44,7 @@
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}">
@ -112,13 +112,6 @@
<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>
@ -131,7 +124,7 @@
<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">
<Border CornerRadius="0" BorderThickness="1" BorderBrush="{StaticResource Border.Brush}" Margin="5,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">
@ -146,6 +139,24 @@
</StackPanel>
</Border>
<Grid Grid.Column="1" Grid.Row="1" Margin="5,0,0,0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货:Visible:Collapsed}"
>
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<StackPanel Orientation="Horizontal" Margin="1">
<ComboBox Width="100" 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}"
@ -174,11 +185,11 @@
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包需求" Grid.Column="4" 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="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
@ -237,7 +248,7 @@
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"
Visibility="{Binding DataContext.TaskState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}},Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
@ -258,14 +269,15 @@
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="9" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改" />
<!--<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">
@ -398,7 +410,7 @@
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包:"/>
<TextBlock Text="基础包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >
@ -501,7 +513,7 @@
/>
</Grid>
</ToolTip>
</Path.ToolTip>
</Path>
@ -530,7 +542,7 @@
/>
<StackPanel
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包:Visible:Collapsed}"
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}"
@ -543,7 +555,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}"
/>
@ -591,7 +603,6 @@
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

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

@ -26,7 +26,7 @@
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
@ -58,7 +58,7 @@
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
@ -92,7 +92,7 @@
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
@ -133,7 +133,7 @@
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>

216
BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml

@ -42,7 +42,221 @@
</StackPanel>
<Grid Grid.Row="1" Visibility="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:Visible:Collapsed}">
<local:QualitySetCerControl model="{Binding CertificateModel,Mode=TwoWay}"/>
<!--<local:QualitySetCerControl model="{Binding CertificateModel,Mode=TwoWay}"/>-->
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding CertificateModel.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.标准无3c}}" CommandParameter="{x:Static cmodel:CertificateLabelModel.标准无3c}" Content="标准" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding CertificateModel.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.标准有3c}}" CommandParameter="{x:Static cmodel:CertificateLabelModel.标准有3c}" Content="带3c标" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding CertificateModel.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.无型号}}" CommandParameter="{x:Static cmodel:CertificateLabelModel.无型号}" Content="无型号" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding CertificateModel.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.适用年龄 }}" CommandParameter="{x:Static cmodel:CertificateLabelModel.适用年龄}" Content="适用年龄" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
</StackPanel>
<DockPanel Grid.Row="1" >
<Border Visibility="{Binding CertificateModel.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=无型号:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding CertificateModel.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<Grid>
<c:BButton Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="材质" Command="{Binding ShowDataCommand}" Width="126"/>
<c:BTextBox Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="执行标准" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding CertificateModel.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding CertificateModel.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="生产商" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="地址" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" MinHeight="44" Text="{Binding CertificateModel.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
</StackPanel>
</Border>
<Border Name="shiyongnianling" Visibility="{Binding CertificateModel.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=适用年龄:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding CertificateModel.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<Grid>
<c:BButton Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="材质" Command="{Binding ShowDataCommand}" Width="126"/>
<c:BTextBox Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
<TextBlock Text="适用年龄:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,0,0" />
<c:BTextBox Height="25" Text="{Binding CertificateModel.ApplyAge,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="124" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="执行标准" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding CertificateModel.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding CertificateModel.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="生产商" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="地址" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" MinHeight="44" Text="{Binding CertificateModel.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding CertificateModel.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准无3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding CertificateModel.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<Grid>
<c:BButton Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="材质" Command="{Binding ShowDataCommand}" Width="126"/>
<c:BTextBox Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="执行标准" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding CertificateModel.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding CertificateModel.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="生产商" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="地址" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" MinHeight="44" Text="{Binding CertificateModel.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding CertificateModel.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准有3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal" >
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="157 0 70 0" />
<Image Source="pack://siteoforigin:,,,/Resources/Images/3c.png" Width="54" Height="40" VerticalAlignment="Top" Margin="0 5 0 0" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 2 0 5">
<TextBlock Text="工厂编号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="203,0,0,0" />
<c:BTextBox Text="{Binding CertificateModel.FactoryNumber,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Height="25" Width="100" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" IsReadOnly="True" Text="{Binding CertificateModel.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding CertificateModel.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<Grid>
<c:BButton Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="材质" Command="{Binding ShowDataCommand}" Width="126"/>
<c:BTextBox Visibility="{Binding IsShowShader,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="执行标准" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowExcuteStander,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding CertificateModel.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding CertificateModel.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="生产商" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductShop,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" Height="25" Text="{Binding CertificateModel.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<Grid>
<c:BButton Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Visible:Collapsed}" Style="{StaticResource LinkButton}" Content="点击查看" Panel.ZIndex="10" Foreground="Red" CommandParameter="地址" Command="{Binding ShowDataCommand}" Width="296"/>
<c:BTextBox Visibility="{Binding IsShowProductAdress,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}" MinHeight="44" Text="{Binding CertificateModel.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</StackPanel>
</StackPanel>
</Border>
</DockPanel>
<!--<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"
WaitText="正在提交中"
Grid.RowSpan="4"/>-->
</Grid>
</Grid>
</Grid>

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

@ -16,6 +16,9 @@ using System.Windows.Shapes;
using BBWY.Client.Extensions;
using BBWY.Client.APIServices;
using BBWY.Controls;
using System.DirectoryServices.ActiveDirectory;
using System.Threading;
using System.Threading.Tasks;
namespace BBWY.Client.Views.QualityTask
{
@ -24,10 +27,73 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class QualitySetCerWindow : BWindow
{
public QualitySetCerWindow()
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
private bool isLoading;
private bool isShowProductAdress=false;
public bool IsShowProductAdress { get => isShowProductAdress; set {Set(ref isShowProductAdress,value); } }
private bool isShowShader = false;
public bool IsShowShader { get => isShowShader; set { Set(ref isShowShader, value); } }
private bool isShowProductShop = false;
public bool IsShowProductShop { get => isShowProductShop; set { Set(ref isShowProductShop, value); } }
private bool isShowExcuteStander = false;
public bool IsShowExcuteStander { get => isShowExcuteStander; set { Set(ref isShowExcuteStander, value); } }
public QualitySetCerWindow( bool IsQualityTask)
{
InitializeComponent();
SetPackCerStateCommand = new RelayCommand<PackCerState>(SetPackCerState);
ShowDataCommand = new RelayCommand<string>(ShowData);
if (IsQualityTask)
{
IsShowShader = true;
IsShowExcuteStander = true;
IsShowProductShop = true;
IsShowProductAdress = true;
}
}
private void ShowData(string obj)
{
if (IsLoading)
{
return;
}
if (obj== "材质")
{
IsShowShader = false;
}
if (obj == "生产商")
{
IsShowProductShop = false;
}
if (obj == "执行标准")
{
IsShowExcuteStander = false;
}
if (obj == "地址")
{
IsShowProductAdress = false;
}
IsLoading = true;
Task.Factory.StartNew(() => {
Thread.Sleep(1000);
IsLoading = false;
});
}
private void SetPackCerState(PackCerState obj)
@ -47,6 +113,9 @@ namespace BBWY.Client.Views.QualityTask
public SaveType? SaveType { get; set; }
public ICommand SetPackCerStateCommand { get; set; }
public ICommand ShowDataCommand { get; set; }
public PackCerState PackCerState
{
@ -69,6 +138,7 @@ namespace BBWY.Client.Views.QualityTask
public bool IsSetSpuCertificate { get; set; }
public PackPurchaseTaskService packTaskService { get; set; }
public CertificateModel CertificateModel { get; set; }
public CertificateModel SpuCertificateModel { get; set; }
public Action<CertificateModel, PackCerState> SaveResult { get; set; }
@ -77,12 +147,20 @@ namespace BBWY.Client.Views.QualityTask
private void save_btn_Click(object sender, RoutedEventArgs e)
{
if (PackCerState== PackCerState.)
{
if (SaveResult != null) SaveResult(CertificateModel, PackCerState);
this.Close();
return;
}
if (string.IsNullOrEmpty(CertificateModel.ExcuteStander)
|| string.IsNullOrEmpty(CertificateModel.Shader) || string.IsNullOrEmpty(CertificateModel.BrandName)
|| string.IsNullOrEmpty(CertificateModel.Brand) || string.IsNullOrEmpty(CertificateModel.ProductShop)
@ -107,6 +185,33 @@ namespace BBWY.Client.Views.QualityTask
MessageBox.Show("适用年龄不能为空");
return;
}
if (IsShowShader)
{
MessageBox.Show("请先确认材质");
return;
}
if (IsShowProductShop)
{
MessageBox.Show("请先确认生产商");
return;
}
if (IsShowExcuteStander)
{
MessageBox.Show("请先确认执行标准");
return;
}
if (IsShowProductAdress)
{
MessageBox.Show("请先确认地址");
return;
}
var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
var resData = packTaskService.SaveCer(new CerRequest
{

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

@ -37,7 +37,7 @@
</Grid.RowDefinitions>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Background="{StaticResource Border.Background}">
<TextBlock Text="包配置" VerticalAlignment="Center" HorizontalAlignment="Center" />
<TextBlock Text="包配置" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
@ -160,7 +160,7 @@
</StackPanel>
</StackPanel>
<!--<c:BTextBox WaterRemark="包备注" Text="{Binding MarkMessage,Mode=TwoWay}" Grid.Column="1" Margin="0 5 10 5" Height="80"/>-->
<!--<c:BTextBox WaterRemark="包备注" Text="{Binding MarkMessage,Mode=TwoWay}" Grid.Column="1" Margin="0 5 10 5" Height="80"/>-->
<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"
@ -380,7 +380,7 @@
</ListBox>
</Grid>
<TextBlock Text="包配置" FontWeight="Bold" FontSize="13" Margin="20 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<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>
<ColumnDefinition Width="77"/>

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

@ -45,7 +45,7 @@
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包需求" Grid.Column="4" 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}"/>
@ -53,7 +53,7 @@
<!--<TextBlock Text="合格证位置" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="注意事项/对接备注" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="服务 耗材费用" Grid.Column="10" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="操作" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
@ -110,38 +110,23 @@
CommandParameter="{Binding TaskId}"
Margin=" 5,0,7,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<Label Width="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 Orientation="Horizontal" Visibility="{Binding QualityRemainTime, Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}">
<TextBlock Foreground="Red" VerticalAlignment="Center" Text="{Binding QualityRemainTime}" Margin="20,0,0,0" />
</StackPanel>-->
</StackPanel>
<!--<StackPanel Grid.Column="12" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" >
<c:BButton Command="{Binding DataContext.DeletedTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}" CommandParameter="{Binding}"
Style="{StaticResource LinkButton}" Content="取消任务" Margin="0 5 0 5 "
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|待验收:Visible:Collapsed}"
/>
</StackPanel>-->
@ -276,7 +261,7 @@
<Grid Grid.Column="4">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包:"/>
<TextBlock Text="基础包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Left" >

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

@ -2,9 +2,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
mc:Ignorable="d"
xmlns: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"
@ -30,7 +29,7 @@
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}"/>
@ -40,7 +39,7 @@
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}">
@ -143,6 +142,22 @@
</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}"
@ -177,10 +192,8 @@
<!--<TextBlock Text="合格证位置" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="注意事项/对接备注" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="服务 耗材费用" Grid.Column="10" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="包员" Grid.Column="11" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="操作" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
<!--<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"/>
@ -234,8 +247,10 @@
CommandParameter="{Binding TaskId}"
Margin=" 5,0,7,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<Label Width="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}}}"
@ -598,7 +613,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}"
/>

101
BBWY.Client/Views/SealBox/AddProductWindow.xaml

@ -0,0 +1,101 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.AddProductWindow"
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"
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="450" Height="400"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" ResizeMode="NoResize" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</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" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid >
<c:BTextBox Height="35" Text="{Binding SkuId}" WaterRemark="请输入SKU" HorizontalAlignment="Stretch" />
<c:BButton Height="35" Content="查询" HorizontalAlignment="Right" Width="120" Click="BButton_Click_1"/>
</Grid>
<Grid Grid.Row="1"
Visibility="{Binding Logo,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage Height="150" Width="150" UrlSource="{Binding Logo}"
/>
<UniformGrid Grid.Column="1" Rows="3" Height="150" Margin="20 0 0 0" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="名称:" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuTitle}" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Grid>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="数量:" Style="{StaticResource middleTextBlock}"/>
<c:BTextBox WaterRemark="数量" Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" HorizontalAlignment="Stretch" />
</Grid>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="仓库:" Style="{StaticResource middleTextBlock}"/>
<Grid Grid.Column="1" Height="30">
<Rectangle Height="30" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<ComboBox Height="30" ItemsSource="{Binding PositionTypes}" Text="{Binding PositionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</UniformGrid>
</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>

98
BBWY.Client/Views/SealBox/AddProductWindow.xaml.cs

@ -0,0 +1,98 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
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.SealBox
{
/// <summary>
/// AddProductWindow.xaml 的交互逻辑
/// </summary>
public partial class AddProductWindow : BWindow
{
public AddProductWindow(PackTaskService packTaskService, ProductService productService, Action ReflashTask)
{
this.packTaskService = packTaskService;
this.productService = productService;
this.ReflashTask = ReflashTask;
InitializeComponent();
this.DataContext = this;
}
ProductService productService;
PackTaskService packTaskService;
Action ReflashTask;
private int count;
public int Count { get => count; set { Set(ref count, value); } }
private string skuId;
public string SkuId { get => skuId; set { Set(ref skuId, value); } }
private string logo;
public string Logo { get => logo; set { Set(ref logo, value); } }
private string skuTitle;
public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } }
public ObservableCollection<PositionType> PositionTypes { get; set; } = new ObservableCollection<PositionType>() {
PositionType., PositionType., PositionType., PositionType.
};
private PositionType positionType;
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (Count <= 0)
{
MessageBox.Show("请输入任务数"); return;
}
var res = packTaskService.AddSealBoxProduct(SkuId, PositionType, Count);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg); return;
}
this.Close();
if (ReflashTask != null)
ReflashTask();
}
private void BButton_Click_1(object sender, RoutedEventArgs e)
{
if (SkuId.IsNullOrEmpty())
{
MessageBox.Show("请输入SkuId"); return;
}
SkuId = SkuId.Trim();
var res = productService.GetProductSkuList(null, SkuId);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg); return;
}
var productSku = res.Data.SingleOrDefault(d => d.Id == SkuId);
if (productSku == null)
{
MessageBox.Show("不存在对应的sku商品数据."); return;
}
SkuTitle = productSku.Title;
Logo = productSku.Logo.Replace("80x80", "150x150");
}
}
}

49
BBWY.Client/Views/SealBox/AddWareListWindow.xaml

@ -0,0 +1,49 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.AddWareListWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="510"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="添加仓库" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<ListBox Name="list_ware" Margin="50 20"
ItemsSource="{Binding WareList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,1"
Foreground="{StaticResource Text.Color}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=list_ware,Converter={StaticResource widthConverter},ConverterParameter=-0}" Height="35">
<CheckBox Content="{Binding WareName}" IsEnabled="{Binding IsEdit}" IsChecked="{Binding IsSelect}" FontSize="14" Margin="5 0 0 0"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</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>

163
BBWY.Client/Views/SealBox/AddWareListWindow.xaml.cs

@ -0,0 +1,163 @@
using AutoMapper.Internal;
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Client.Models.SealBox;
using BBWY.Controls;
using Org.BouncyCastle.Utilities.Collections;
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;
namespace BBWY.Client.Views.SealBox
{
/// <summary>
/// AddWareListWindow.xaml 的交互逻辑
/// </summary>
public partial class AddWareListWindow : BWindow
{
public AddWareListWindow(WareType WareType, LogisticsService logisticsService, List<SealBoxConfigureModel> SealBoxConfigureModelList)
{
this.WareType = WareType;
InitializeComponent();
LoadWare(logisticsService, SealBoxConfigureModelList);
this.DataContext = this;
}
private WareType wareType;
public WareType WareType { get => wareType; set { Set(ref wareType, value); } }
public void LoadWare(LogisticsService logisticsService, List<SealBoxConfigureModel> SealBoxConfigureModelList)
{
if (WareType != WareType.)
{
var response = logisticsService.GetStoreList();//京仓库类型 商家仓 = 1, 京仓 = 2, 云仓 = 3
if (response == null || !response.Success)
{
MessageBox.Show($"加载仓库列表失败,{response?.Msg}");
return;
}
var data = response.Data.Where(w => w.Status == StockStatus.使);
var stockType = StockType.;
switch (WareType)
{
case WareType.:
stockType = StockType.;
break;
case WareType.:
stockType = StockType.;
break;
case WareType.:
stockType = StockType.;
break;
//case WareType.聚水潭:
// WareList = new List<StoreWare> { new StoreWare { WareId = "qiyuejushuitan", WareName = "齐越聚水潭", IsSelect = false } };
// break;
//default:
// break;
}
WareList = new List<StoreWare>();
data.Where(d => d.Type == stockType).ForAll(d =>
{
if (SealBoxConfigureModelList.Where(s => s.WareType == WareType &&s.WareHourseDatas!=null).SelectMany(s => s.WareHourseDatas).Any(w => w.WareId == d.Id))//存在
{
bool isedit = true;
if (SealBoxConfigureModelList.Where(s => s.WareType == WareType && s.WareHourseDatas != null).SelectMany(s => s.WareHourseDatas).Any(s=>s.WareState>0&& s.WareId == d.Id))
isedit =false;
WareList.Add(new StoreWare
{
IsSelect = true,
WareId = d.Id,
WareName = d.Name,
IsEdit= isedit
});
}
else
{
WareList.Add(new StoreWare
{
IsSelect = false,
WareId = d.Id,
WareName = d.Name,
IsEdit = true
});
}
});
}
else
{
bool isJST = false;
if (SealBoxConfigureModelList.Where(s => s.WareType == WareType).SelectMany(s => s.WareHourseDatas).Any(w => w.WareId == "qiyuejushuitan"))//存在
isJST = true;
WareList = new List<StoreWare> { new StoreWare { WareId = "qiyuejushuitan", WareName = "齐越聚水潭", IsSelect = isJST } };
}
}
private List<StoreWare> wareList;
public List<StoreWare> WareList { get => wareList; set { Set(ref wareList, value); } }
public Action<WareType, List<StoreWare>> AddWareList { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
var selectWare = WareList.Where(w => w.IsSelect).ToList();
if (AddWareList != null) AddWareList(WareType, selectWare);
this.Close();
}
private PositionType ToPositionType(WareType wareType)
{
switch (wareType)
{
case WareType.:
return PositionType.;
break;
case WareType.:
return PositionType.;
break;
case WareType.:
return PositionType.;
break;
case WareType.:
return PositionType.;
break;
default:
break;
}
return PositionType.;
}
}
public class StoreWare : NotifyObject
{
private bool isSelect;
public bool IsSelect { get => isSelect; set { Set(ref isSelect, value); } }
private string wareName;
public string WareName { get => wareName; set { Set(ref wareName, value); } }
private string wareId;
public string WareId { get => wareId; set { Set(ref wareId, value); } }
private bool isEdit=true;
public bool IsEdit { get => isEdit; set { Set(ref isEdit, value); } }
}
}

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

@ -27,7 +27,7 @@ namespace BBWY.Client.Views.SealBox
var sealBoxConfigureViewModel = (SealBoxConfigureViewModel)this.DataContext;
sealBoxConfigureViewModel.SealBoxId = sealboxId;
sealBoxConfigureViewModel.SealBoxConfigureModelList = new System.Collections.ObjectModel.ObservableCollection<SealBoxConfigureModel>();
sealBoxConfigureViewModel.SealBoxConfigureModelList = new List<SealBoxConfigureModel>();
sealBoxConfigureViewModel.ReflashWindow = ReflashWindow;

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

@ -180,7 +180,7 @@
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,0,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待打包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>
</StackPanel>

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

@ -4,8 +4,10 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.SealBox"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
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"
@ -65,67 +67,76 @@
<!--<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="6"/>-->
</Grid>
</Border>
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding WareNoSealBoxModels}"
<ListBox x:Name="listbox_order"
Grid.Row="7" VirtualizingStackPanel.IsVirtualizing="True"
ItemsSource="{Binding WareNoSealBoxModels, IsAsync=True}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
BorderBrush="{StaticResource Border.Brush}" ScrollViewer.ScrollChanged="listbox_order_ScrollChanged"
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">
Height="auto">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition MinHeight="90"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition MaxWidth="100"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11" >
<TextBlock Text="店铺:" Style="{StaticResource middleTextBlock}" Margin="10 0 0 0"/>
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<c:BButton Panel.ZIndex="1000" 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,7,0"/>
<!--<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<!--<Label ∧∨ Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}" Foreground="White" Background="{Binding TaskState,Converter={StaticResource objConverter} , ConverterParameter=已完成:#02a7f0:#facd91 }" Margin="5,0,0,0"/>-->
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
<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="16,0,0,0" />
Margin=" 5,0,0,0"
/>
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserName}" Margin="5,0,0,0" />
</StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="4" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1"
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"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}" Grid.ColumnSpan="2"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus, IsAsync=True}" Grid.ColumnSpan="2"
Style="{StaticResource NoScrollViewListBoxStyle}" VirtualizingStackPanel.IsVirtualizing="True"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
@ -137,9 +148,7 @@
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding Logo}"
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,10,0,10"
Cursor="Hand">
@ -155,7 +164,6 @@
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,15,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="SKU:" Style="{StaticResource middleTextBlock}" />
@ -185,12 +193,14 @@
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,15,0,10">
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
<Run Text="发布日期:" />
</TextBlock>
<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd }" VerticalAlignment="Center" Margin="5,0,0,0"/>
<!--<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
Margin=" 5,0,0,0"/>-->
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,13,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
@ -203,7 +213,7 @@
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>-->
</StackPanel>
@ -217,7 +227,7 @@
/>
</Grid>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
@ -230,7 +240,7 @@
</Grid>
<Grid Grid.Column="3" >
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>

32
BBWY.Client/Views/SealBox/SealBoxNoConfigureControl.xaml.cs

@ -1,5 +1,7 @@
using System;
using BBWY.Client.ViewModels.PackTask;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
@ -22,5 +24,33 @@ namespace BBWY.Client.Views.SealBox
{
InitializeComponent();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listbox_order_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
//if (e.ExtentHeight - e.ViewportHeight - e.VerticalOffset < 100)
//{
// var vm = this.DataContext as WareHouseListViewModel;//获取绑定的数据
// if (vm.WareNoSealBoxModels!=null&& vm.WaitSealBoxModelList !=null&& vm.WareNoSealBoxModels.Count==vm.WaitSealBoxModelList.Count)
// {
// var datas = vm.WareNoSealBoxModels.Where(w => w.SealBoxSkus.Count == 0).FirstOrDefault();
// if (datas!=null)
// {
// datas.SealBoxSkus = vm.WaitSealBoxModelList.FirstOrDefault(w => w.ShopId == datas.ShopId).SealBoxSkus;
// }
// }
// // 滚动到底部
//}
}
}
}

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

@ -152,9 +152,12 @@
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待打包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待打包:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="落仓:"/>
<Run Text="{Binding WareType}"/>
</TextBlock>
</StackPanel>
</Grid>

12
BBWY.Client/Views/SealBox/SetSealBoxPolicyWareListControl.xaml

@ -0,0 +1,12 @@
<UserControl x:Class="BBWY.Client.Views.SealBox.SetSealBoxPolicyWareListControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.SealBox"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
</Grid>
</UserControl>

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

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

@ -0,0 +1,782 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.SetSealBoxPolicyWindow"
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:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
mc:Ignorable="d"
DataContext="{Binding SealBoxConfigureVModel,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
Height="800" Width="1000"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Style="{StaticResource bwstyle}"
>
<c:BWindow.Resources>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="White" HorizontalAlignment="Center" Height="35" Stroke="{StaticResource Border.Brush}" 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>
</c:BWindow.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="60"/>
<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 Orientation="Horizontal" Height="35" Grid.Row="1" >
<RadioButton Content="京仓" Tag="{Binding JDWareTaskCount,Mode=TwoWay}" Width="116" Margin="20 0 0 0" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=京仓:True:false}" Command="{Binding SelectWareTypeCommand}"/>
<RadioButton Content="云仓" Tag="{Binding CloudWareTaskCount,Mode=TwoWay}" Width="116" Margin="-1 0 0 0" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=云仓:True:false}" Command="{Binding SelectWareTypeCommand}"/>
<RadioButton Content="聚水潭" Tag="{Binding JSTWareTaskCount,Mode=TwoWay}" Width="116" Margin="-1 0 0 0" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=聚水潭:True:false}" Command="{Binding SelectWareTypeCommand}"/>
<RadioButton Content="商家仓" Tag="{Binding StoreWareTaskCount,Mode=TwoWay}" Width="116" Margin="-1 0 0 0" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=商家仓:True:false}" Command="{Binding SelectWareTypeCommand}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="2" Height="30">
<TextBlock Style="{StaticResource middleTextBlock}" Text="SKU:" Margin="20 00 0 0"/>
<c:BTextBox Width="170" Margin="5 0 5 0" Text="{Binding SearchSkuId}"/>
<c:BButton Width="66" Content="搜索" Command="{Binding SearchSkuCommand}"
/>
</StackPanel>
<Grid Grid.Row="3" Margin="20 10 20 0" >
<ListBox Name="jd_list" ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" ScrollViewer.HorizontalScrollBarVisibility="Auto">
<Grid Visibility="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=京仓:Visible:Collapsed}"
Width="{Binding Width,ElementName=jd_list,Converter={StaticResource widthConverter},ConverterParameter=-0}"
>
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="3" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="商品信息"/>
<TextBlock Grid.Column="1" Style="{StaticResource middleTextBlock}" Text="待分配量"/>
<Grid Grid.Column="2">
</Grid>
<ListBox Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding JdWareHourseHeaderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Visible"
Visibility="{Binding JdWareHourseHeaderList.Count,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="32">
<TextBlock Text="{Binding WareName,Mode=TwoWay}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Column="3" Style="{StaticResource middleTextBlock}" Text="操作"/>
</Grid>
</Border>
<ListBox Grid.Column="2" Grid.Row="1" Name="list_sealbox_jddata"
ItemsSource="{Binding JdConfigureModelList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}" ScrollViewer.VerticalScrollBarVisibility="Hidden"
>
<ListBox.ItemTemplate>
<DataTemplate >
<Grid Width="{Binding Width,ElementName=list_sealbox_jddata,Converter={StaticResource widthConverter},ConverterParameter=-0}">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</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="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:Black}"
/>
<TextBlock Text="包装数量:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuCount}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Grid MinHeight="68">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage DecodePixelWidth="48" Margin="10 0 0 0"
Cursor="Hand" UrlSource="{Binding Logo}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" Grid.Column="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
CommandParameter="{Binding SkuId}"
/>
</StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="0 10 0 0">
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
</StackPanel>
</Grid>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitConfigureCount}" Grid.Column="1"/>
<ListBox Grid.Column="2" Name="list_ware_data" VerticalAlignment="Center"
ItemsSource="{Binding WareHourseDatas}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="68">
<TextBox Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="100" Height="30" BorderBrush="{StaticResource Border.Brush}"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center">
</TextBox>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Column="3" Orientation="Vertical" VerticalAlignment="Center">
<c:BButton Style="{StaticResource LinkButton}" Content="添加仓库" Command="{Binding DataContext.AddWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="分配至其他仓" Margin="0 5 0 0" CommandParameter="{Binding}" Command="{Binding DataContext.SpliteOtherWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
</StackPanel>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</ListBox>
<Grid
Visibility="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=云仓:Visible:Collapsed}"
>
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="3" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="商品信息"/>
<TextBlock Grid.Column="1" Style="{StaticResource middleTextBlock}" Text="待分配量"/>
<ListBox Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding CloudWareHourseHeaderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding CloudWareHourseHeaderList.Count,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="220" Height="32">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding WareName}" Style="{StaticResource middleTextBlock}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="批量MAX设置"
CommandParameter="{Binding WareId}" Command="{Binding DataContext.BatchSetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Column="3" Style="{StaticResource middleTextBlock}" Text="操作"/>
</Grid>
</Border>
<ListBox Grid.Column="2" Grid.Row="1" Name="list_sealbox_data_cloud"
ItemsSource="{Binding CloudConfigureModelList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=list_sealbox_data_cloud,Converter={StaticResource widthConverter},ConverterParameter=-0}">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</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="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:Black}"
/>
<TextBlock Text="包装数量:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuCount}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Grid MinHeight="68">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage DecodePixelWidth="48" Margin="10 0 0 0"
Cursor="Hand" UrlSource="{Binding Logo}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" Grid.Column="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
CommandParameter="{Binding SkuId}"
/>
</StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="0 10 0 0">
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
</StackPanel>
</Grid>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitConfigureCount}" Grid.Column="1"/>
<ListBox Grid.Column="2" Name="list_ware_data" VerticalAlignment="Center"
ItemsSource="{Binding WareHourseDatas}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="220" Height="68">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="50"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="100" Height="30" BorderBrush="{StaticResource Border.Brush}"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center">
</TextBox>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<c:BButton Style="{StaticResource LinkButton}" Content="MAX" FontSize="14" Foreground="Gray"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
CommandParameter="{Binding}" Command="{Binding DataContext.SetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Center"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Column="3" Orientation="Vertical" VerticalAlignment="Center">
<c:BButton Style="{StaticResource LinkButton}" Content="添加仓库" Command="{Binding DataContext.AddWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="分配至其他仓" Margin="0 5 0 0" CommandParameter="{Binding}" Command="{Binding DataContext.SpliteOtherWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
</StackPanel>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Grid
Visibility="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=聚水潭:Visible:Collapsed}"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="3" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="商品信息"/>
<TextBlock Grid.Column="1" Style="{StaticResource middleTextBlock}" Text="待分配量"/>
<ListBox Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding JstWareHourseHeaderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding JstWareHourseHeaderList.Count,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="32">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding WareName}" Style="{StaticResource middleTextBlock}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="批量MAX设置"
CommandParameter="{Binding WareId}" Command="{Binding DataContext.BatchSetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Column="3" Style="{StaticResource middleTextBlock}" Text="操作"/>
</Grid>
</Border>
<ListBox Grid.Column="2" Grid.Row="1" Name="list_sealbox_data_jst"
ItemsSource="{Binding JstConfigureModelList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate >
<DataTemplate >
<Grid Width="{Binding ActualWidth,ElementName=list_sealbox_data_jst,Converter={StaticResource widthConverter},ConverterParameter=-0}">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</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="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:Black}"
/>
<TextBlock Text="包装数量:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuCount}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Grid MinHeight="68">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage DecodePixelWidth="48" Margin="10 0 0 0"
Cursor="Hand" UrlSource="{Binding Logo}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" Grid.Column="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
CommandParameter="{Binding SkuId}"
/>
</StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="0 10 0 0">
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
</StackPanel>
</Grid>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitConfigureCount}" Grid.Column="1"/>
<ListBox Grid.Column="2" VerticalAlignment="Center"
ItemsSource="{Binding WareHourseDatas}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="68">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="50"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="100" Height="30" BorderBrush="{StaticResource Border.Brush}"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center">
</TextBox>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<c:BButton Style="{StaticResource LinkButton}" Content="MAX" FontSize="14" Foreground="Gray"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
CommandParameter="{Binding}" Command="{Binding DataContext.SetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Center"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Column="3" Orientation="Vertical" VerticalAlignment="Center">
<c:BButton Style="{StaticResource LinkButton}" Content="添加仓库" Command="{Binding DataContext.AddWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="分配至其他仓" Margin="0 5 0 0" CommandParameter="{Binding}" Command="{Binding DataContext.SpliteOtherWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
</StackPanel>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<Grid
Visibility="{Binding SelectWareType,Converter={StaticResource objConverter}, ConverterParameter=商家仓:Visible:Collapsed}"
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<Border Width="1" Grid.Column="3" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="商品信息"/>
<TextBlock Grid.Column="1" Style="{StaticResource middleTextBlock}" Text="待分配量"/>
<ListBox Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding StoreWareHourseHeaderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding StoreWareHourseHeaderList.Count,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="32">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding WareName}" Style="{StaticResource middleTextBlock}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="批量MAX设置"
CommandParameter="{Binding WareId}" Command="{Binding DataContext.BatchSetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Column="3" Style="{StaticResource middleTextBlock}" Text="操作"/>
</Grid>
</Border>
<ListBox Name="list_sealbox_data_store"
Grid.Row="1"
ItemsSource="{Binding StoreConfigureModelList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=list_sealbox_data_store,Converter={StaticResource widthConverter},ConverterParameter=-0}">
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition/>
</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="任务状态:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskState}" Style="{StaticResource middleTextBlock}"
Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:Black}"
/>
<TextBlock Text="包装数量:" Margin="20 0 0 0" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuCount}" Style="{StaticResource middleTextBlock}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="224"/>
<ColumnDefinition Width="97"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="157"/>
</Grid.ColumnDefinitions>
<Grid MinHeight="68">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage DecodePixelWidth="48" Margin="10 0 0 0"
Cursor="Hand" UrlSource="{Binding Logo}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" Grid.Column="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
CommandParameter="{Binding SkuId}"
/>
</StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="0 10 0 0">
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
</StackPanel>
</Grid>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitConfigureCount}" Grid.Column="1"/>
<ListBox Grid.Column="2" VerticalAlignment="Center"
ItemsSource="{Binding WareHourseDatas}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="180" Height="68">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="50"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="100" Height="30" BorderBrush="{StaticResource Border.Brush}"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center">
</TextBox>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<c:BButton Style="{StaticResource LinkButton}" Content="MAX" FontSize="14" Foreground="Gray"
IsEnabled="{Binding WareState,Converter={StaticResource objConverter},ConverterParameter=待封箱|#null:true:false}"
CommandParameter="{Binding}" Command="{Binding DataContext.SetWareMaxCountCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"
Grid.Column="1" HorizontalAlignment="Center"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Column="3" Orientation="Vertical" VerticalAlignment="Center">
<c:BButton Style="{StaticResource LinkButton}" Content="添加仓库" Command="{Binding DataContext.AddWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
<c:BButton Style="{StaticResource LinkButton}" Content="分配至其他仓" Margin="0 5 0 0" CommandParameter="{Binding}" Command="{Binding DataContext.SpliteOtherWareCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type c:BWindow}}}"/>
</StackPanel>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"
Visibility="{Binding WareHourseDatas.Count,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
<Border Grid.Row="3" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<c:BButton Content="{Binding SealBoxId,Converter={StaticResource objConverter},ConverterParameter=0:提交任务:保存}" Width="80" HorizontalAlignment="Right" Grid.Row="4"
Command="{Binding SaveCommand}" Margin="0,0,5,0"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
/>
</Grid>
</c:BWindow>

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

@ -0,0 +1,197 @@
using BBWY.Client.Models.SealBox;
using BBWY.Client.ViewModels.SealBox;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections.ObjectModel;
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 AutoMapper.Internal;
using BBWY.Client.APIServices;
namespace BBWY.Client.Views.SealBox
{
/// <summary>
/// SetSealBoxPolicyWindow.xaml 的交互逻辑
/// </summary>
public partial class SetSealBoxPolicyWindow : BWindow
{
public SetSealBoxPolicyWindow(IList<SealBoxConfigureModel> sealBoxWaitConfigureModels, Action ReflashWindow, long sealboxId = 0)
{
InitializeComponent();
var sealBoxConfigureVM = this.DataContext as SealBoxConfigureViewModel;
sealBoxConfigureVM.SealBoxConfigureModelList = sealBoxWaitConfigureModels.ToList();
sealBoxConfigureVM.JdConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
sealBoxConfigureVM.CloudConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
sealBoxConfigureVM.JstConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
sealBoxConfigureVM.StoreConfigureModelList = new ObservableCollection<SealBoxConfigureModel>();
sealBoxConfigureVM.SealBoxId = sealboxId;
sealBoxConfigureVM.ReflashWindow = ReflashWindow;
LoadData(sealBoxWaitConfigureModels, sealboxId, sealBoxConfigureVM);
sealBoxConfigureVM.LoadCount();
}
/// <summary>
/// 加载数据
/// </summary>
/// <param name="sealBoxWaitConfigureModels"></param>
/// <param name="sealboxId"></param>
/// <param name="sealBoxConfigureVM"></param>
private void LoadData(IList<SealBoxConfigureModel> sealBoxWaitConfigureModels, long sealboxId, SealBoxConfigureViewModel sealBoxConfigureVM)
{
if (sealboxId == 0)//设置
{
sealBoxConfigureVM.JstWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = "齐越聚水潭",WareId="qiyuejushuitan"
}
};
var storeListRes = sealBoxConfigureVM.logisticsService.GetStoreList();
if (storeListRes.Success)
{
//加载商家仓 全国仓
var storeList = storeListRes.Data.Where(s=>s.Status== Models.StockStatus.使);
var store = storeList.FirstOrDefault(s => s.Id == "0");//商家全国仓
if (store != null)
{
sealBoxConfigureVM.StoreWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = store.Name,WareId=store.Id
}
};
}
//加载 泉州齐越云仓3号库
var cloud = storeList.FirstOrDefault(s => s.Id == "800009450");//商家全国仓
if (cloud != null)
{
sealBoxConfigureVM.CloudWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = cloud.Name,WareId=cloud.Id
}
};
}
}
//sealBoxConfigureVM.CloudWareHourseHeaderList = new ObservableCollection<SealBoxConfigureWareHourseModel> {
// new SealBoxConfigureWareHourseModel{
// WareName = "泉州齐越云仓3号库",WareId="800009450"
// }
//};
}
foreach (var sealBoxWaitConfigureModel in sealBoxWaitConfigureModels)
{
if (sealBoxWaitConfigureModel.WareHourseDatas != null && sealBoxWaitConfigureModel.WareHourseDatas.Count > 0)//修改数据
{
sealBoxWaitConfigureModel.WaitConfigureCount = 0;
sealBoxWaitConfigureModel.WareHourseDatas.ForAll(w => { w.TotalWareCount = sealBoxConfigureVM.TotalCount; w.TaskId = sealBoxWaitConfigureModel.TaskId; });
}
else
{
sealBoxWaitConfigureModel.WaitConfigureCount = sealBoxWaitConfigureModel.SkuCount;
}
switch (sealBoxWaitConfigureModel.WareType.Value)
{
case Models.WareType.:
if (sealboxId == 0)
{
if (sealBoxConfigureVM.StoreWareHourseHeaderList != null && sealBoxConfigureVM.StoreWareHourseHeaderList.Count > 0)
{
sealBoxConfigureVM.StoreWareHourseHeaderList.ForAll(s =>
{
sealBoxWaitConfigureModel.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = s.WareName,
WareId=s.WareId,
TaskId=sealBoxWaitConfigureModel.TaskId,
TotalWareCount=sealBoxConfigureVM.TotalCount,
}
};
});
}
}
sealBoxConfigureVM.StoreConfigureModelList.Add(sealBoxWaitConfigureModel);
sealBoxConfigureVM.StoreWareHourseHeaderList = sealBoxWaitConfigureModel.WareHourseDatas;
break;
case Models.WareType.:
if (sealboxId == 0)
{
if (sealBoxConfigureVM.CloudWareHourseHeaderList != null && sealBoxConfigureVM.CloudWareHourseHeaderList.Count > 0)
{
sealBoxConfigureVM.CloudWareHourseHeaderList.ForAll(s =>
{
sealBoxWaitConfigureModel.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = s.WareName,
WareId=s.WareId,
TaskId=sealBoxWaitConfigureModel.TaskId,
TotalWareCount=sealBoxConfigureVM.TotalCount,
}
};
});
}
}
sealBoxConfigureVM.CloudConfigureModelList.Add(sealBoxWaitConfigureModel);
sealBoxConfigureVM.CloudWareHourseHeaderList = sealBoxWaitConfigureModel.WareHourseDatas;
break;
case Models.WareType.:
sealBoxConfigureVM.JdConfigureModelList.Add(sealBoxWaitConfigureModel);
sealBoxConfigureVM.JdWareHourseHeaderList = sealBoxWaitConfigureModel.WareHourseDatas;
break;
case Models.WareType.:
sealBoxConfigureVM.JstConfigureModelList.Add(sealBoxWaitConfigureModel);
if (sealboxId == 0)
{
sealBoxWaitConfigureModel.WareHourseDatas = new ObservableCollection<SealBoxConfigureWareHourseModel> {
new SealBoxConfigureWareHourseModel{
WareName = "齐越聚水潭",WareId="qiyuejushuitan", TaskId=sealBoxWaitConfigureModel.TaskId, TotalWareCount=sealBoxConfigureVM.TotalCount,
}
};
}
sealBoxConfigureVM.JstWareHourseHeaderList = sealBoxWaitConfigureModel.WareHourseDatas;
break;
default:
break;
}
}
}
}
}

7
BBWY.Client/Views/SealBox/ShopSealBoxListControl.xaml

@ -72,9 +72,14 @@
<RadioButton Content="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:待同步采购单:待配置}" Height="35" Width="130" Tag="{Binding SealBoxWaitConfigureCount,Mode=TwoWay}" IsChecked="{Binding SealBoxConfigureType,Converter={StaticResource objConverter},ConverterParameter=待配置:True:False}"
Command="{Binding SetSealBoxConfigureTypeCommand}" CommandParameter="{x:Static cmodel:SealBoxConfigureType.待配置}"
/>
<c:BButton Content="配置封箱策略" Width="130" Height="35" Margin="40 0 0 0" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
<c:BButton Content="配置封箱策略" Width="130" Height="35" Margin="40 0 0 0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
Command="{Binding ConfiguredSealBoxCommand}"
/>
<c:BButton Content="添加封箱商品" Width="130" Height="35" Margin="40 0 0 0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
Command="{Binding AddSealBoxProductCommand}"
/>
</StackPanel>
<Grid Grid.Row="1"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"

71
BBWY.Client/Views/SealBox/SplitOtherWareWindow.xaml

@ -0,0 +1,71 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.SplitOtherWareWindow"
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: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="254" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="添加落仓" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="100 20 100 20">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<TextBlock Style="{StaticResource middleTextBlock}" Text="待分配量:"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitCount}"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<TextBlock Style="{StaticResource middleTextBlock}" Text="仓库:"/>
<Grid Margin="5" Height="30" Width="150" Grid.Column="1" Grid.ColumnSpan="3">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<ComboBox Height="30" Width="150" SelectedItem="{Binding SelectWareType}" ItemsSource="{Binding WareTypeList}" BorderThickness="0" Margin="1" BorderBrush="Black">
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal">
<TextBlock Style="{StaticResource middleTextBlock}" Text="数量:"/>
<Border BorderBrush="{StaticResource Border.Brush}" Margin="5 0 0 0" Height="30" BorderThickness="1">
<StackPanel Orientation="Horizontal">
<c:BTextBox Height="30" Width="100" Text="{Binding Count}" BorderThickness="0 0 1 0"/>
<c:BButton Style="{StaticResource LinkButton}" Content="MAX" BorderThickness="0" Height="30" Width="50" Foreground="{StaticResource Border.Brush}" Click="BButton_Click_1"/>
</StackPanel>
</Border>
</StackPanel>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="2" VerticalAlignment="Top"/>
<c:BButton Grid.Row="2" Content="确定" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

64
BBWY.Client/Views/SealBox/SplitOtherWareWindow.xaml.cs

@ -0,0 +1,64 @@
using BBWY.Client.Models;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
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.SealBox
{
/// <summary>
/// SplitOtherWareWindow.xaml 的交互逻辑
/// </summary>
public partial class SplitOtherWareWindow : BWindow
{
public SplitOtherWareWindow(int waitCount, WareType wareType, Action<int, WareType> SplitWare)
{
this. SplitWare = SplitWare;
WaitCount = waitCount;
WareTypeList.Remove(wareType);//移除当前落仓
InitializeComponent();
this.DataContext = this;
}
private Action<int, WareType> SplitWare { get;set;}
private int waitCount;
public int WaitCount { get => waitCount; set { Set(ref waitCount, value); } }
private int count;
public int Count { get => count; set { Set(ref count, value); } }
private WareType selectWareType;
public WareType SelectWareType { get => selectWareType; set { Set(ref selectWareType, value); } }
private ObservableCollection<WareType> wareTypeList=new ObservableCollection<WareType> {
WareType., WareType., WareType., WareType.
};
public ObservableCollection<WareType> WareTypeList { get => wareTypeList; set { Set(ref wareTypeList, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (WaitCount< Count)
{
MessageBox.Show("可分配量不足!");
return;
}
if (SplitWare != null) SplitWare(Count, SelectWareType);
this.Close();
}
private void BButton_Click_1(object sender, RoutedEventArgs e)
{
Count = WaitCount;
}
}
}

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

@ -77,10 +77,10 @@
<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"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
@ -120,9 +120,19 @@
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserName}" Margin="5,0,0,0" />
</StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="6" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1"
Command="{Binding DataContext.LoadSealBoxSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="6" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1">
<Grid Grid.Row="1"
Visibility="{Binding SealBoxSkus,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
@ -132,13 +142,21 @@
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding SealBoxSkus}" Grid.ColumnSpan="2"
Style="{StaticResource NoScrollViewListBoxStyle}" VirtualizingStackPanel.IsVirtualizing="True"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
@ -192,12 +210,13 @@
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,15,0,10">
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
<Run Text="发布日期:" />
</TextBlock>
<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd }" VerticalAlignment="Center" Margin="5,0,0,0"/>
<!--<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
Margin=" 5,0,0,0"/>-->
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,13,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
@ -210,77 +229,58 @@
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待打包:Red:black}" Text="{Binding TaskState}"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>
</StackPanel>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<ListBox x:Name="listbox_skuCount" ItemsSource="{Binding SealBoxSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}" Grid.Column="1"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_skuCount}">
<Grid>
<Grid Grid.Column="1" >
<TextBlock x:Name="txt_storeName"
Text="{Binding WareHourseSkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center"
/>
Text="{Binding WareHourseSkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center"
/>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Grid.ColumnSpan="2" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<Grid Grid.Column="2" >
<Grid Grid.Column="2"
>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxCount}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding SealBoxRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding SealBoxRemainTime }"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
>
Visibility="{Binding IsSealBoxOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
>
<StackPanel Orientation="Horizontal"
>
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding SealBoxRemainTime}"/>
</StackPanel>
</StackPanel>
<c:BButton Margin="0 10 0 0" Content="{Binding SealBoxPackOverTimeMarkMsg ,Converter={StaticResource objConverter},ConverterParameter=#null:提交备注:修改备注}" Style="{StaticResource LinkButton}"
>
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SubmitOverTimeMarkMsgCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
@ -299,7 +299,8 @@
</Grid>
<Grid Grid.Column="5" >
<Grid Grid.Column="5"
>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center"

347
BBWY.Client/Views/StorePickSelf/ShopStorePickSelfControl.xaml

@ -0,0 +1,347 @@
<UserControl x:Class="BBWY.Client.Views.StorePickSelf.ShopStorePickSelfControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.StorePickSelf"
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 TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d" Background="White"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ResourceDictionary>
<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"/>
</ResourceDictionary>
</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" TextChanged="tb_TextChanged" Text="{Binding SearchDepartment,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="部门名称"
BorderThickness="1 0 0 1" Margin="0 0 0 1" Height="30"
/>
<ListBox MaxHeight="300" x:Name="tipBox" SelectionChanged="SelectionChangeCommand" Background="{StaticResource Border.Background}">
</ListBox>
</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="0"/>
<RowDefinition Height="45"/>
<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" 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">
</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="5,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="5,0,0,0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货:Visible:Collapsed}"
>
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<StackPanel Orientation="Horizontal" Margin="1">
<ComboBox Width="100" 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>-->
<Border Height="1" Grid.Row="1" Margin="0 10 0 0" Background="{StaticResource Border.Brush}" VerticalAlignment="Top"/>
<Grid Grid.Row="1" Margin="0 10 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition MinWidth="100"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<!--<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"/>
<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="2"
ItemsSource="{Binding StoreGetSelfDataList}"
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="90"/>
<ColumnDefinition MinWidth="100"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
<TextBlock Text="{Binding CreateTime,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"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
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 PickerUserName}" Margin="5,0,0,0" />
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition MinWidth="100"/>
</Grid.ColumnDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<c:BAsyncImage UrlSource="{Binding 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>
</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 StoreGetCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</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>
</Grid>
</UserControl>

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

83
BBWY.Client/Views/StorePickSelf/StorePickProductWindow.xaml

@ -0,0 +1,83 @@
<c:BWindow x:Class="BBWY.Client.Views.StorePickSelf.StorePickProductWindow"
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.StorePickSelf"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="300" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="添加落仓" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="50 20 50 20">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<TextBlock Style="{StaticResource middleTextBlock}" Text="剩余良品数量:"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding StoreGetSelfResponse.PickMaxCount}"/>
</StackPanel>
<Grid Grid.Row="1" Height="30">
<Rectangle Width="260" HorizontalAlignment="Left" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<StackPanel Orientation="Horizontal" Height="30" >
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Width="60" Content="取件人:"/>
<Grid Grid.Column="1" Grid.ColumnSpan="3">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<ComboBox Height="30" Width="200" ItemsSource="{Binding StoreGetSelfResponse.DepartmentUsers}" DisplayMemberPath="UserName" Text="{Binding UserName}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</StackPanel>
</Grid>
<Grid Grid.Row="2" Height="30">
<Rectangle Width="260" HorizontalAlignment="Left" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<StackPanel Orientation="Horizontal" Height="30" >
<Label HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Width="60" Content="自取数量:"/>
<StackPanel Orientation="Horizontal">
<c:BTextBox Height="30" Width="150" Text="{Binding Count}" BorderThickness="1"/>
<c:BButton Style="{StaticResource LinkButton}" Content="MAX" BorderThickness="0" Height="30" Width="50" Foreground="{StaticResource Border.Brush}" Click="BButton_Click_1"/>
</StackPanel>
</StackPanel>
</Grid>
<TextBlock VerticalAlignment="Center" Grid.Row="3" Text="{Binding StoreGetSelfResponse.ShowMessage}" Foreground="Orange"/>
</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>

59
BBWY.Client/Views/StorePickSelf/StorePickProductWindow.xaml.cs

@ -0,0 +1,59 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.PackTask;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.IO.Packaging;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BBWY.Client.Views.StorePickSelf
{
/// <summary>
/// StorePickProductWindow.xaml 的交互逻辑
/// </summary>
public partial class StorePickProductWindow : BWindow
{
public StorePickProductWindow(StoreGetSelfResponse model, Func<int, string, bool> SaveData)
{
this. SaveData=SaveData;
StoreGetSelfResponse =model;
InitializeComponent();
this.DataContext = this;
}
private string userName;
/// <summary>
/// 用户名
/// </summary>
public string UserName { get => userName; set { Set(ref userName, value); } }
private int count;
public int Count { get => count; set { Set(ref count, value); } }
private StoreGetSelfResponse storeGetSelfResponse;
public StoreGetSelfResponse StoreGetSelfResponse { get=> storeGetSelfResponse; set {Set(ref storeGetSelfResponse,value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (SaveData != null&& SaveData(Count, UserName))
{
this.Close();
}
}
private Func<int, string,bool> SaveData { get; set; }
private void BButton_Click_1(object sender, RoutedEventArgs e)
{
Count = StoreGetSelfResponse.PickMaxCount;
}
}
}

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

Loading…
Cancel
Save