Browse Source

Merge remote-tracking branch 'origin/addSettle'

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
5f23ea13ca
  1. 118
      BBWY.Client/APIServices/PackPurchaseTaskService.cs
  2. 56
      BBWY.Client/APIServices/PackTaskService.cs
  3. 15
      BBWY.Client/APIServices/PurchaseService.cs
  4. 2
      BBWY.Client/App.xaml.cs
  5. 4
      BBWY.Client/BBWYAppSettings.json
  6. 9
      BBWY.Client/Extensions/CopyExtensions.cs
  7. 3
      BBWY.Client/Models/APIModel/Request/CerRequest.cs
  8. 97
      BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs
  9. 139
      BBWY.Client/Models/APIModel/Request/UpdatePurchaseTaskRequest.cs
  10. 63
      BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs
  11. 121
      BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs
  12. 30
      BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs
  13. 2
      BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuResponse.cs
  14. 169
      BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs
  15. 56
      BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseSkuBasicInfoResponse.cs
  16. 33
      BBWY.Client/Models/Enums.cs
  17. 8
      BBWY.Client/Models/PackTask/CertificateModel.cs
  18. 45
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  19. 73
      BBWY.Client/Models/QualityTask/PurchaseSku.cs
  20. 16
      BBWY.Client/ViewModels/MainViewModel.cs
  21. 12
      BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs
  22. 26
      BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs
  23. 19
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  24. 14
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  25. 234
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  26. 745
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  27. 10
      BBWY.Client/ViewModels/ViewModelLocator.cs
  28. 71
      BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml
  29. 7
      BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml.cs
  30. 110
      BBWY.Client/Views/PackTask/PackTaskTotal.xaml
  31. 3
      BBWY.Client/Views/PackTask/PackTaskTotal.xaml.cs
  32. 230
      BBWY.Client/Views/PackTask/PrintWindow.xaml
  33. 13
      BBWY.Client/Views/PackTask/PrintWindow.xaml.cs
  34. 2
      BBWY.Client/Views/PackTask/PublishTaskWindow.xaml
  35. 3
      BBWY.Client/Views/PackTask/SetBarCode.xaml
  36. 5
      BBWY.Client/Views/PackTask/SetBarCode.xaml.cs
  37. 18
      BBWY.Client/Views/PackTask/SetCerControl.xaml
  38. 1
      BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs
  39. 5
      BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs
  40. 2
      BBWY.Client/Views/PackTask/TaskListControl.xaml
  41. 304
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  42. 117
      BBWY.Client/Views/PackTask/WareHouseList.xaml.cs
  43. 298
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml
  44. 75
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml
  45. 210
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs
  46. 26
      BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml
  47. 31
      BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml.cs
  48. 166
      BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml
  49. 64
      BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml.cs
  50. 53
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml
  51. 137
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  52. 489
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  53. 16
      BBWY.Client/Views/QualityTask/QualityWindow.xaml.cs

118
BBWY.Client/APIServices/PackPurchaseTaskService.cs

@ -0,0 +1,118 @@
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
namespace BBWY.Client.APIServices
{
public class PackPurchaseTaskService : BaseApiService, IDenpendency
{
public PackPurchaseTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<long> UpdatePurchaseTask(UpdatePurchaseTaskRequest updatePurchaseTaskRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", updatePurchaseTaskRequest, null, HttpMethod.Post);
}
public ApiResponse<ConfigPackResponse> GetConfigPack(string skuId, string skuPurchaseSchemeId, string orderId)
{
return SendRequest<ConfigPackResponse>(globalContext.QKApiHost, "api/PackPurchaseTask/GetConfigPack", new
{
skuId,
skuPurchaseSchemeId,
orderId
}
, null, HttpMethod.Post);
}
/// <summary>
///
/// </summary>
/// <param name="orderId"></param>
/// <param name="skuId"></param>
/// <param name="availability">到货情况(物流状态)(已到货 = 0,部分到货 = 1,未到货 = 2)</param>
/// <returns></returns>
public ApiResponse<long> UpdateAvailabilityState(string orderId, string skuId, int availability)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", new
{
orderId,
skuId,
availability
}, null, HttpMethod.Post);
}
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel
, null, HttpMethod.Post);
}
public ApiResponse<long> SaveCer(CerRequest cerRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/Certificate/CommitCerData", cerRequest
, null, HttpMethod.Post);
}
public ApiResponse<ProductSkuResponse> GetProductSku(string skuId)
{
return SendRequest<ProductSkuResponse>(globalContext.QKApiHost, $"api/PackTask/SearchProduct?skuId={skuId}&ShopId={globalContext.User.Shop.ShopId}", null, null, HttpMethod.Get);
}
public ApiResponse<bool> UpdateOrderPackState(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/UpdateOrderPackState", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
public ApiResponse<bool> IsExitQikuTask(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/IsExitQikuTask", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
public ApiResponse<QualityTaskResponse> GetQualityTask(long taskId)
{
return SendRequest<QualityTaskResponse>(globalContext.QKApiHost, $"api/PackPurchaseTask/GetQualityTask?taskId={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<bool> CompeteQualityTask(QualityTaskRequest competeQualityTask)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/CompeteQualityTask", competeQualityTask, null, HttpMethod.Post);
}
public ApiResponse<BarCodeModel> SearchBarCode(string skuId)
{
return SendRequest<BarCodeModel>(globalContext.QKApiHost, $"api/Barcode/SearchBarCodeBySkuId?skuId={skuId}", null, null, HttpMethod.Get);
}
}
}

56
BBWY.Client/APIServices/PackTaskService.cs

@ -1,5 +1,6 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.Models.PackTask;
@ -35,6 +36,18 @@ namespace BBWY.Client.APIServices
)
{
if (taskId!=null&&!string.IsNullOrEmpty(taskId.Trim()))
{
return SendRequest<PackTaskResultResponse>(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new
{
TaskId = taskId,
ShopId = globalContext.User.Shop.ShopId.ToString()
}, null, HttpMethod.Post);
}
return SendRequest<PackTaskResultResponse>(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new
{
@ -49,17 +62,24 @@ namespace BBWY.Client.APIServices
ShopId = globalContext.User.Shop.ShopId.ToString()
}, null, HttpMethod.Post);
}
public ApiResponse<PackTaskResultResponse> GetWareHouseList(int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchTaskListResponse> GetWareHouseList(int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null,
DateTime? startTime = null,
DateTime? endTime = null,
TaskState? availability = null,
int? taskStatus = null,
PackTaskState? TaskState = null,
string ShopName = null,
int pageIndex = 1,
int pageSize = 10
)
{
return SendRequest<PackTaskResultResponse>(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new
if (taskId != null && !string.IsNullOrEmpty(taskId.Trim()))
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
{
TaskId = taskId
}, null, HttpMethod.Post);
}
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
{
IsWorry = isWorry,
DepartmentName = departmentName,
@ -67,10 +87,10 @@ namespace BBWY.Client.APIServices
TaskId = taskId,
StartTime = startTime,
EndTime = endTime,
Availability = availability,
TaskStatus = taskStatus,
TaskState = TaskState,
PageIndex = pageIndex,
PageSize = pageSize
PageSize = pageSize,
ShopName = ShopName,
}, null, HttpMethod.Post);
}
@ -79,8 +99,8 @@ namespace BBWY.Client.APIServices
public ApiResponse<ProductSkuCountsResponse> GetAllCount()
{
return SendRequest<ProductSkuCountsResponse>(globalContext.QKApiHost, "api/PackTask/GetProductSkuCount",
new { ShopId = globalContext.User.Shop.ShopId.ToString() }
return SendRequest<ProductSkuCountsResponse>(globalContext.QKApiHost, $"api/PackTask/GetProductSkuCount?shopId={globalContext.User.Shop.ShopId.ToString()}",
null
, null, HttpMethod.Get);
}
public ApiResponse<ProductSkuCountsResponse> GetWareAllCount()
@ -148,6 +168,19 @@ namespace BBWY.Client.APIServices
, null, HttpMethod.Post);
}
public ApiResponse<object> SetPackTaskState(long taskId, PackTaskState packTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SetPackTaskState", new
{
taskId = taskId,
TaskState= packTaskState
}
, null, HttpMethod.Post);
}
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel
@ -242,6 +275,9 @@ namespace BBWY.Client.APIServices
userId = globalContext.User.Id.ToString(),
}, null, HttpMethod.Post);
}
}
public class AddConsumableRequest
{

15
BBWY.Client/APIServices/PurchaseService.cs

@ -80,5 +80,20 @@ namespace BBWY.Client.APIServices
{
return SendRequest<object>(globalContext.BBYWApiHost, $"api/purchasescheme/DeletePurchaseScheme/{schemeId}", null, null, HttpMethod.Delete);
}
public ApiResponse<PurchaseSkuBasicInfoResponse> GetPurchaseSkuBasicInfo(string purchaseProductId, Platform platform = Platform., int priceMode = 0, int firstApiMode = 0)
{
return SendRequest<PurchaseSkuBasicInfoResponse>("http://bbwyb.qiyue666.com", $"Api/PurchaseScheme/GetPurchaseSkuBasicInfo", new
{
purchaseProductId,
platform,
priceMode,
firstApiMode
}, null, HttpMethod.Post);
}
}
}

2
BBWY.Client/App.xaml.cs

@ -6,8 +6,10 @@ using BBWY.Common.Http;
using BBWY.Common.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using QuanTan.SDK.Client;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.IO.MemoryMappedFiles;

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

9
BBWY.Client/Extensions/CopyExtensions.cs

@ -1,4 +1,5 @@
using Newtonsoft.Json;
using System;
namespace BBWY.Client.Extensions
{
@ -9,4 +10,12 @@ namespace BBWY.Client.Extensions
return JsonConvert.DeserializeObject<T>(JsonConvert.SerializeObject(p));
}
}
public static class EnumExtension
{
public static T ToEnum<T>(this string value)
{
return (T)Enum.Parse(typeof(T), value);
}
}
}

3
BBWY.Client/Models/APIModel/Request/CerRequest.cs

@ -71,5 +71,8 @@ namespace BBWY.Client.Models.APIModel.Request
public int GoodsNumber { get; set; }
public string ProduceDate { get; set; }
public string PurchaseSkuId { get; set; }
}
}

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

@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Request
{
public class QualityTaskRequest
{
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get; set; }
/// <summary>
/// 货号品名(手写上传)
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get; set; }
/// <summary>
/// 合格证id
/// </summary>
public string CerId { get; set; }
/// <summary>
/// 显示的条码Id
/// </summary>
public long? BarcodeId { get; set; }
//public BarCodeDTO BarCodeDTO { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedCer { get; set; }
///// <summary>
///// 配件列表
///// </summary>
//public PurchaseSku[] PurchaseSkus { get; set; }
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get; set; }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get; set; }
/// <summary>
/// 预计完成时间
/// </summary>
public DateTime? PreCompeteTime { get; set; }
}
}

139
BBWY.Client/Models/APIModel/Request/UpdatePurchaseTaskRequest.cs

@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Request
{
/// <summary>
/// 修改采购单任务
/// </summary>
public class UpdatePurchaseTaskRequest
{
/// <summary>
/// sku数量
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// 到货情况(已到货 = 0,部分到货 = 1,未到货 = 2)
/// </summary>
public int Availability { get; set; }
/// <summary>
/// 落仓(本地仓=0,齐越仓=1,京东仓=2)
/// </summary>
public int PositionType { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public int PackType { get; set; }
/// <summary>
/// 配件数量
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public int BasicPack { get; set; }
/// <summary>
/// 增量耗材
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 注意事项
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
///条形码Id
/// </summary>
public long? BarCodeId { get; set; }
/// <summary>
/// 合格证Id 格式: id,id 186,187
/// </summary>
public string CerId { get; set; }
/// <summary>
/// 是否需要条形码
/// </summary>
public bool? NeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool? NeedCer { get; set; }
/// <summary>
/// 合格证位置
/// </summary>
public int? CertificatePosition { get; set; }
/// <summary>
/// 加急
/// </summary>
public int IsWorry { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuId
/// </summary>
public string SkuId { get; set; }
#region 更新数据
/// <summary>
/// 品名
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get; set; }
/// <summary>
/// 图
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 名称
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// 品牌
/// </summary>
public string Brand { get; set; }
#endregion
/// <summary>
/// 采购方案id
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 保存 配置商品合格证状态配置信息
/// </summary>
public PurchaseSkuSpec[] PurchaseSkuSpecs { get; set; }
}
/// <summary>
/// 配置商品合格证状态
/// </summary>
public class PurchaseSkuSpec
{
/// <summary>
/// 商品配件id
/// </summary>
public string PurchaseSkuId { get; set; }
/// <summary>
/// 合格证配置状态
/// </summary>
public bool IsNeedCer { get; set; }
}
}

63
BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs

@ -0,0 +1,63 @@
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.Models.QualityTask;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
/// <summary>
/// 配置打包信息数据
/// </summary>
public class ConfigPackResponse
{
/// <summary>
/// 配件列表
/// </summary>
public PurchaseSku[] PurchaseSkus { get; set; }
/// <summary>
/// 采购方案id
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 条形码
/// </summary>
public BarCodeModel BarCode { get; set; }
public PackConfig PackConfig { get; set; }
}
///// <summary>
///// 配件sku
///// </summary>
//public class PurchaseSku
//{
// /// <summary>
// /// 配件图
// /// </summary>
// public string Logo { get; set; }
// /// <summary>
// /// 配件商品Id
// /// </summary>
// public string PurchaseSkuId { get; set; }
// /// <summary>
// /// 配件商品spuId
// /// </summary>
// public string PurchaseProductId { get; set; }
// /// <summary>
// /// 配件名称
// /// </summary>
// public string Title { get; set; }
// /// <summary>
// /// 是否需要配置合格证
// /// </summary>
// public bool IsNeedCer { get; set; }
// /// <summary>
// /// 合格证配置信息
// /// </summary>
// public CertificateModel CerDTO { get; set; }
//}
}

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

@ -0,0 +1,121 @@
using BBWY.Client.Models.QualityTask;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask
{
public class QualityTaskResponse
{
/// <summary>
/// 任务id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// Sku打包数量
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// sku标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// 采购方案id
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public int BasicPack { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public int PackType { get; set; }
/// <summary>
/// 货号品名(手写上传)
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get; set; }
/// <summary>
/// 分箱配置
/// </summary>
public WareHourseDTO[] WareHourses { get; set; }
public BarCodeModel BarCodeDTO { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedCer { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public int? CertificatePosition { get; set; }
/// <summary>
/// 配件列表
/// </summary>
public PurchaseSku[] PurchaseSkus { get; set; }
}
public class WareHourseDTO
{
/// <summary>
/// 序号
/// </summary>
public int Index { get; set; }
/// <summary>
/// 仓库id
/// </summary>
public string WareId { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string WareName { get; set; }
/// <summary>
/// 数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 仓库类型
/// </summary>
public WareType? WareType { get; set; }
}
}

30
BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs

@ -6,13 +6,35 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask
{
public class ProductSkuCountsResponse
{
/// <summary>
/// 已到货(质检)
/// </summary>
public int ArrivedCount { get; set; }
/// <summary>
/// 未到货
/// </summary>
public int NoArrivedCount { get; set; }
/// <summary>
/// 部分到货
/// </summary>
public int SomeArrivedCount { get; set; }
/// <summary>
/// 加急数量
/// </summary>
public int WorryCount { get; set; }
/// <summary>
/// 待打包数
/// </summary>
public int? WaitPackCount { get; set; }
/// <summary>
/// 带封箱数
/// </summary>
public int? WaitSealBox { get; set; }
/// <summary>
/// 待出库数
/// </summary>
public int? WaitOutbound { get; set; }
}
}

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

@ -48,6 +48,8 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask
public BarCodeModel BarCodeModel { get; set; }
/// <summary>
/// 合格证信息
/// </summary>

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

@ -0,0 +1,169 @@
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
using BBWY.Client.Models.APIModel.Response.PackTask;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
public class SearchTaskListResponse
{
/// <summary>
/// 查询总数据(判断总页数)
/// </summary>
public int TotalCount { get; set; }
/// <summary>
/// 页面返回的数据
/// </summary>
public PackTaskData[] Items { get; set; }
}
public class PackTaskData
{
/// <summary>
/// 图片链接
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 需求方创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 任务状态
/// </summary>
public PackTaskState TaskState { get; set; }
/// <summary>
/// 需求方团队
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 需求方店铺
/// </summary>
public string ShopName { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductItemNum { get; set; }
/// <summary>
/// 货号品名
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 对接人
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 打包人
/// </summary>
public string[] PackUserName { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// SKU标题
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// sku数量
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public int PackType { get; set; }
/// <summary>
/// 落仓(本地仓=0,齐越仓=1,京东仓=2,聚水潭=3)
/// </summary>
public string PositionType { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public int BasicPack { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 到货情况(待收货=0,部分收货=1,已到货=2)
/// </summary>
public int Availability { get; set; }
/// <summary>
/// 服务费用数据
/// </summary>
public FeesItemResponse FeesItemResponse { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public int? CertificatePosition { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// 注意事项(对接备注)
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 条形码数据
/// </summary>
public BarCodeModel BarCodeDTO { get; set; }
/// <summary>
/// 合格证数据
/// </summary>
public CertificateModel[] Cers { get; set; }
/// <summary>
/// 是否加急
/// </summary>
public int IsWorry { get; set; }
/// <summary>
/// 品牌
/// </summary>
public string Brand { get; set; }
public string OrderId { get; set; }
/// <summary>
///分箱情况
/// </summary>
public WareHourseDTO[] WareHourses { get; set; }
}
}

56
BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseSkuBasicInfoResponse.cs

@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models
{
/// <summary>
/// 采购Sku基础信息对象
/// </summary>
public class PurchaseSkuBasicInfoResponse
{
/// <summary>
/// 采购SKU基础信息列表
/// </summary>
public IList<PurchaseSkuItemBasicInfoResponse> ItemList { get; set; }
/// <summary>
/// 采购商
/// </summary>
public Purchaser Purchaser { get; set; }
}
/// <summary>
/// 采购Sku基础信息对象
/// </summary>
public class PurchaseSkuItemBasicInfoResponse
{
/// <summary>
/// 采购SPU
/// </summary>
public string PurchaseProductId { get; set; }
/// <summary>
/// 采购SKU
/// </summary>
public string PurchaseSkuId { get; set; }
/// <summary>
/// 采购SPEC 1688独有属性 下单需要
/// </summary>
public string PurchaseSkuSpecId { get; set; }
/// <summary>
/// SKU标题
/// </summary>
public string Title { get; set; }
public string Logo { get; set; }
/// <summary>
/// 单价
/// </summary>
public decimal Price { get; set; }
}
}

33
BBWY.Client/Models/Enums.cs

@ -209,9 +209,9 @@
}
/// <summary>
/// 快递到货情况
/// </summary>
///// <summary>
///// 快递到货情况
///// </summary>
public enum TaskState
{
= 0,
@ -221,6 +221,24 @@
= 4,
= 5
}
/// <summary>
/// 仓库打包任务状态
/// </summary>
public enum PackTaskState
{
= 0,
= 1,
= 2,//已到货
= 3,
= 4,
= 5,
= 6,
= 7
}
/// <summary>
/// 打包类型
/// </summary>
@ -418,4 +436,13 @@
{
= 0, 使 = 1
}
public enum PackCerState
{
= 0, = 1
}
public enum WareType
{
= 0, = 1, = 2, = 3
}
}

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

@ -23,7 +23,7 @@ namespace BBWY.Client.Models
private string spuId;
/// <summary>
/// 品牌
/// spu
/// </summary>
public string SpuId { get => spuId; set { Set(ref spuId, value); } }
@ -142,7 +142,7 @@ namespace BBWY.Client.Models
private int goodsNumber =1;
private int goodsNumber = 1;
/// <summary>
/// 配件序号
/// </summary>
@ -154,5 +154,9 @@ namespace BBWY.Client.Models
/// </summary>
public string ProduceDate { get => produceDate; set { Set(ref produceDate, value); } }
/// <summary>
/// 配件商品Id
/// </summary>
public string PurchaseSkuId { get; set; }
}
}

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

@ -1,7 +1,9 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.ViewModels;
using BBWY.Client.ViewModels.PackTask;
using BBWY.Client.Views.PackTask;
using BBWY.Client.Views.QualityTask;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
@ -35,12 +37,12 @@ namespace BBWY.Client.Models
public ICommand LookCerCommand { get; set; }
public ICommand LookBarCommand { get; set; }
public ICommand SetServiceCommand { get; set; }
/// <summary>
/// 修改任务
/// </summary>
public ICommand UpdateTaskCommand { get; set; }
public ICommand QualityTaskCommand { get; set; }
@ -85,6 +87,32 @@ namespace BBWY.Client.Models
LookCerCommand = new RelayCommand(LookCer);
SetServiceCommand = new RelayCommand(SetService);
UpdateTaskCommand = new RelayCommand(UpdateTask);
QualityTaskCommand=new RelayCommand(QualityTask);
}
private void QualityTask()
{
QualityWindow service = new QualityWindow();
//加载数据
ViewModelLocator viewModelLocator = new ViewModelLocator();
var qualityViewModel = viewModelLocator.QualityTask;
if (qualityViewModel.ReflashWindow == null)
qualityViewModel.ReflashWindow = ReflashTask;
//qualityViewModel.TaskCount = SkuCount;
// qualityViewModel.TaskId = TaskId;
qualityViewModel.OrderId = OrderId;
qualityViewModel.SkuId = SkuId;
qualityViewModel.SearchSku(this);
//qualityViewModel.LoadPackDatas();
//qualityViewModel.SetAllFees = new Action<FeesItemResponse, List<string>>((feesItem, packUsers) =>
//{
// FeesItemResponse = feesItem;
// PackUser = string.Join("\r\n", packUsers);
// FeesItemResponse.DiscountAllFees = feesItem.disCount * feesItem.AllFees;
// IsShowFees = feesItem.AllFees > 0 ? true : false;
//});
service.Show();
}
private void SetService()
@ -98,12 +126,16 @@ namespace BBWY.Client.Models
serviceViewModel.OrderId= OrderId;
serviceViewModel.SkuId =SkuId ;
serviceViewModel.LoadPackDatas();
serviceViewModel.SetAllFees = new Action<FeesItemResponse, List<string>>((feesItem, packUsers) =>
{
FeesItemResponse = feesItem;
PackUser = string.Join("\r\n", packUsers);
FeesItemResponse.DiscountAllFees = feesItem.disCount * feesItem.AllFees;
IsShowFees = feesItem.AllFees > 0 ? true : false;
if (ReflashTask != null) ReflashTask();
});
service.Show();
}
@ -310,6 +342,13 @@ namespace BBWY.Client.Models
public TaskStateType TaskStatus { get => taskStatus; set { Set(ref taskStatus, value); } }
private PackTaskState taskState;
/// <summary>
/// 打包仓库任务状态
/// </summary>
public PackTaskState TaskState { get => taskState; set { Set(ref taskState, value); } }
private PackType packType;
/// <summary>
/// 打包类型(单件=0,多件=1)
@ -353,11 +392,11 @@ namespace BBWY.Client.Models
public Increment Increment2 { get => increment2; set { Set(ref increment2, value); } }
private PositionType positionType;
private string positionType;
/// <summary>
/// 落仓(本地仓=0,齐越仓=1,京东仓=2)
/// </summary>
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
public string PositionType { get => positionType; set { Set(ref positionType, value); } }

73
BBWY.Client/Models/QualityTask/PurchaseSku.cs

@ -0,0 +1,73 @@
using GalaSoft.MvvmLight;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.QualityTask
{
/// <summary>
/// 配件sku
/// </summary>
public class PurchaseSku : NotifyObject
{
public string PurchaseProductId { get; set; }
/// <summary>
/// 配件图
/// </summary>
private string logo;
/// <summary>
/// 配件商品Id
/// </summary>
private string purchaseSkuId;
/// <summary>
/// 配件名称
/// </summary>
private string title;
/// <summary>
/// 是否需要配置合格证
/// </summary>
private bool isNeedCer;
/// <summary>
/// 配件图
/// </summary>
public string Logo { get => logo; set { Set(ref logo, value); } }
/// <summary>
/// 配件商品Id
/// </summary>
public string PurchaseSkuId { get => purchaseSkuId; set { Set(ref purchaseSkuId, value); } }
/// <summary>
/// 配件名称
/// </summary>
public string Title { get => title; set { Set(ref title, value); } }
/// <summary>
/// 是否需要配置合格证
/// </summary>
public bool IsNeedCer { get => isNeedCer; set { Set(ref isNeedCer, value); } }
/// <summary>
/// 合格证配置信息
/// </summary>
public CertificateModel cerDTO;
/// <summary>
/// 合格证配置信息
/// </summary>
public CertificateModel CerDTO { get => cerDTO; set { Set(ref cerDTO, value); } }
private bool isSetCertificate;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public bool IsSetCertificate
{
get => isSetCertificate; set
{
Set(ref isSetCertificate, value);
//IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要;
}
}
}
}

16
BBWY.Client/ViewModels/MainViewModel.cs

@ -31,6 +31,7 @@ namespace BBWY.Client.ViewModels
private bool showWB2RuntimeDownloadPanel;
private double wb2DownloadProgress;
private IList<string> managerDepartment;
private IList<string> packDepartment;
private WebView2Manager w2m;
public GlobalContext GlobalContext { get; set; }
public IList<MenuModel> MenuList { get; set; }
@ -91,6 +92,9 @@ namespace BBWY.Client.ViewModels
{
this.w2m = w2m;
this.managerDepartment = new List<string>() { "董事办", "财务部", "技术部", "总经办" };
this.packDepartment = new List<string>() { "打包组" ,"发货组" , "仓储部" };
this.httpClientFactory = httpClientFactory;
this.mdsApiService = mdsApiService;
this.logisticsService = logisticsService;
@ -119,7 +123,7 @@ namespace BBWY.Client.ViewModels
/// </summary>
private void CreateMenu()
{
if (GlobalContext.User.TeamName == "打包组" || GlobalContext.User.TeamName == "发货组" || GlobalContext.User.TeamName == "仓储部")
if (this.packDepartment.Contains(GlobalContext.User.TeamName))
{
App.Current.Dispatcher.Invoke(() =>
@ -268,13 +272,10 @@ namespace BBWY.Client.ViewModels
CreateMenu();
if (GlobalContext.User.TeamName == "打包组" || GlobalContext.User.TeamName == "发货组" || GlobalContext.User.TeamName == "仓储部")
{
return;
}
IList<Department> departmentList = null;
if (GlobalContext.User.TeamName == "刷单组" ||
if (GlobalContext.User.TeamName == "刷单组" || this.packDepartment.Contains(GlobalContext.User.TeamName) ||
managerDepartment.Contains(GlobalContext.User.TeamName) ||
managerDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m)))
{
@ -346,6 +347,9 @@ namespace BBWY.Client.ViewModels
}
GlobalContext.User.DepartmentList = departmentList;
if (this.packDepartment.Contains(GlobalContext.User.TeamName))
return;
if (GlobalContext.User.TeamName == "刷单组")
return;

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

@ -1,5 +1,6 @@
using BarcodeLib;
using BBWY.Client.APIServices;
using BBWY.Client.Extensions;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Request;
@ -426,7 +427,7 @@ namespace BBWY.Client.ViewModels.PackTask
return;
}
SaveTask = "保存";
Logo = model.ItemList[0].Logo;
Logo = model.ItemList[0].Logo.Copy();
SearchSkuId = model.SkuId;
SkuId = model.SkuId;
SkuCount = model.SkuCount;
@ -443,7 +444,12 @@ namespace BBWY.Client.ViewModels.PackTask
GoodsNumber = model.GoodsNumber;
Availability = model.Availability;
IsWorry = model.IsWorry;
PositionType = model.PositionType;
if (string.IsNullOrEmpty(model.OrderId))
{
PositionType = model.PositionType.ToEnum<PositionType>();
}
PackType = model.PackType;
BasicPack = model.BasicPack;
IsNeedBarCode = model.BarCodeModel == null ? Need. : Need.;
@ -905,7 +911,7 @@ namespace BBWY.Client.ViewModels.PackTask
new TipsWindow("请设置合格证模板").Show();
return;
}
createTaskModel.CerId =string.Join(",", CertificateModel.Select(c=>c.Id));//
createTaskModel.CerId = string.Join(",", CertificateModel.Select(c => c.Id));//
}
ApiResponse<object> res = null;
if (TaskId > 0)//修改界面

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

@ -106,25 +106,9 @@ namespace BBWY.Client.ViewModels.PackTask
ExportCommand = new RelayCommand(Export);
SearchTaskTotal();
//LoadShopList();
}
private void LoadShopList()
{
//departmentList=new List<Department>();
//var response = shopService.GetDepartmentList();
//if (!response.Success)
// throw new Exception(response.Msg);
//departmentList = response.Data.Map<IList<Department>>();
//var shopList = new List<Shop>();
//foreach (var d in departmentList)
// shopList.AddRange(d.ShopList);
}
private void Export()
{
@ -213,10 +197,7 @@ namespace BBWY.Client.ViewModels.PackTask
private void SearchTaskTotal()
{
if (IsBatchChecked)
{
BatchCheck();
}
PackTaskTotalList = new ObservableCollection<ShopTotal>();
Task.Factory.StartNew(() =>
{
@ -233,7 +214,10 @@ namespace BBWY.Client.ViewModels.PackTask
PackTaskTotalList.Add(shopTotal);
});
}
if (IsBatchChecked)
{
BatchCheck();
}
}
IsLoading = false;

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

@ -1,4 +1,5 @@
using BBWY.Client.APIServices;
using BBWY.Client.Extensions;
using BBWY.Client.Models;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Views.PackTask;
@ -624,7 +625,15 @@ namespace BBWY.Client.ViewModels.PackTask
GoodsNumber = model.GoodsNumber;
Availability = model.Availability;
IsWorry = model.IsWorry;
PositionType = model.PositionType;
try
{
PositionType = model.PositionType.ToEnum<PositionType>();//多个仓库异常
}
catch
{
}
PackType = model.PackType;
BasicPack = model.BasicPack;
IsNeedBarCode = model.BarCodeModel == null ? Need. : Need.;
@ -632,15 +641,13 @@ namespace BBWY.Client.ViewModels.PackTask
CertificatePosition = model.CertificatePosition;
TaskId = model.TaskId;
List<string> increateDatas = new List<string>();
if (model.Increment1 != null)
increateDatas = model.Increment1.Split(',').ToList();
string[] increateDatas = model.Increment1?.Split(',');
bool isTrue = false;
foreach (var item in increates)
{
isTrue = false;
if (increateDatas.Count()>0&& increateDatas.Contains(item))
if (increateDatas!=null&& increateDatas .Count()>0&& increateDatas.Contains(item))
{
isTrue = true;
}
@ -696,7 +703,7 @@ namespace BBWY.Client.ViewModels.PackTask
var createTaskModel = new Models.APIModel.Request.CreateTaskRequest
{
ProductNo = ProductNo,
Logo = Logo,
Logo = Logo.Replace( "200x200", "80x80"),
SkuName = SkuName,
TaskId = TaskId,
BrandName = BrandName,

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

@ -275,6 +275,18 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public void SearchTaskList()
{
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
Convert.ToInt64(SearchTaskId);
}
catch
{
System.Windows.MessageBox.Show("任务id必须为数字");
return;
}
IsLoading = true;
Task.Factory.StartNew(() =>
{
@ -314,7 +326,7 @@ namespace BBWY.Client.ViewModels.PackTask
MarkMessage = item.MarkMessage,
PackType = (PackType)item.PackType,
PositionType = (PositionType)item.PositionType,
PositionType = ((PositionType)item.PositionType).ToString(),
SkuCount = item.SkuCount,
SkuTitle = item.SkuGoodsTitle,
TaskId = item.TaskId,

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

@ -18,6 +18,7 @@ using HandyControl.Controls;
using System.Windows;
using System.Collections;
using NPOI.SS.Formula.Functions;
using GalaSoft.MvvmLight.Messaging;
namespace BBWY.Client.ViewModels.PackTask
{
@ -35,6 +36,20 @@ namespace BBWY.Client.ViewModels.PackTask
private DateTime endTime;
public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
private string searchShopName;
public string SearchShopName
{
get => searchShopName; set
{
Set(ref searchShopName, value);
}
}
/// <summary>
/// 查询任务id
/// </summary>
@ -53,11 +68,11 @@ namespace BBWY.Client.ViewModels.PackTask
private string searchSkuId;
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
public TaskState? taskState;
public PackTaskState? taskState;
/// <summary>
/// 任务状态
/// </summary>
public TaskState? TaskState
public PackTaskState? TaskState
{
get => taskState; private set
{
@ -78,25 +93,46 @@ namespace BBWY.Client.ViewModels.PackTask
/// <summary>
/// 未到货数量
/// </summary>
public int NoArrivedCount { get => noArrivedCount; set { Set(ref noArrivedCount, value); } }
private int noArrivedCount;
private int someArrivedCount;
public string NoArrivedCount { get => noArrivedCount; set { Set(ref noArrivedCount, value); } }
private string noArrivedCount;
private string someArrivedCount;
/// <summary>
/// 部分到货数量
/// </summary>
public int SomeArrivedCount { get => someArrivedCount; set { Set(ref someArrivedCount, value); } }
private int worryCount;
public string SomeArrivedCount { get => someArrivedCount; set { Set(ref someArrivedCount, value); } }
private string worryCount;
/// <summary>
/// 加急数
/// </summary>
public int WorryCount { get => worryCount; set { Set(ref worryCount, value); } }
public string WorryCount { get => worryCount; set { Set(ref worryCount, value); } }
private int arrivedCount;
private string arrivedCount;
/// <summary>
/// 已到货数量
/// </summary>
public int ArrivedCount { get => arrivedCount; set { Set(ref arrivedCount, value); } }
public string ArrivedCount { get => arrivedCount; set { Set(ref arrivedCount, value); } }
private string waitPackCount;
/// <summary>
/// 待打包数
/// </summary>
public string WaitPackCount { get => waitPackCount; set { Set(ref waitPackCount, value); } }
private string waitSealBox;
/// <summary>
/// 带封箱数
/// </summary>
public string WaitSealBox { get => waitSealBox; set { Set(ref waitSealBox, value); } }
private string waitOutbound;
/// <summary>
/// 待出库数
/// </summary>
public string WaitOutbound { get => waitOutbound; set { Set(ref waitOutbound, value); } }
//private int totalCount;
///// <summary>
///// 全部数量
@ -146,13 +182,19 @@ namespace BBWY.Client.ViewModels.PackTask
private readonly WorkProcessService workProcessService;
private readonly PackTaskService packTaskService;
private readonly IncreateServiceService increateServiceService;
public WareHouseListViewModel(PackTaskService packTaskService, ConsumableService consumableService, WorkProcessService workProcessService, IncreateServiceService increateServiceService, ProductService productService, BatchPurchaseService batchPurchaseService)
public GlobalContext globalContext;
public WareHouseListViewModel(PackTaskService packTaskService, ConsumableService consumableService, WorkProcessService workProcessService, IncreateServiceService increateServiceService, ProductService productService, BatchPurchaseService batchPurchaseService, GlobalContext globalContext)
{
this.globalContext = globalContext;
this.packTaskService = packTaskService;
this.consumableService = consumableService;
//Messenger.Default.Send(globalContext, "AcceptGlobalContext");
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
SetTaskStateCommand = new RelayCommand<TaskState?>(SetTaskState);
SetTaskStateCommand = new RelayCommand<PackTaskState?>(SetTaskState);
SearchTaskCommand = new RelayCommand(() =>
{
@ -184,12 +226,18 @@ namespace BBWY.Client.ViewModels.PackTask
SetTaskStatusCommand = new RelayCommand<object>(SetTaskStatus);
//加载数据
SetTaskState(Models.TaskState.);
SetTaskState(null);
this.workProcessService = workProcessService;
this.increateServiceService = increateServiceService;
this.productService = productService;
this.batchPurchaseService = batchPurchaseService;
UpdateTaskStateCommand = new RelayCommand<object>(UpdateTaskState);
}
#region 事件绑定
public ICommand SetTaskStatusCommand { get; set; }
@ -207,6 +255,10 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ICommand SetTaskStateCommand { get; set; }
/// <summary>
/// 修改任务状态
/// </summary>
public ICommand UpdateTaskStateCommand { get; set; }
/// <summary>
/// 搜索数据
/// </summary>
@ -224,52 +276,94 @@ namespace BBWY.Client.ViewModels.PackTask
BatchPurchaseService batchPurchaseService;
public void SetTaskStatus(object obj )
private void UpdateTaskState(object obj)
{
var objList = (object[])obj;
long taskId = (long)objList[0];
var packTaskState = (PackTaskState)objList[1];
string orderId=(string)objList[1];
///修改完成
var model = packTaskService.UpdateTaskStatus(taskId, 1,orderId);
if (model != null && model.Success)
SearchTaskList();
}
public void SetTaskState(TaskState? taskState)
ApiResponse<object> res = null;
switch (packTaskState)
{
IsWorry = null;
TaskState = null;
taskStatus = null;
switch (taskState)
{
case null:
case PackTaskState.:
break;
case Models.TaskState.:
case Models.TaskState.: //未完成的数据
case Models.TaskState.:
TaskState = taskState;
taskStatus = 0;
case PackTaskState.:
break;
case Models.TaskState.: //所有数据
case PackTaskState.:
break;
case Models.TaskState.:
taskStatus = 1;
case PackTaskState.:
res= packTaskService.SetPackTaskState(taskId, PackTaskState.);
break;
case PackTaskState.:
break;
case Models.TaskState.:
taskStatus = 0;
IsWorry = 1;
case PackTaskState.:
break;
case PackTaskState.:
break;
case PackTaskState.:
break;
default:
break;
}
if (res!=null&&res.Success)
{
SearchTaskList();
}
}
public void SetTaskStatus(object obj)
{
var objList = (object[])obj;
long taskId = (long)objList[0];
string orderId = (string)objList[1];
///修改完成
var model = packTaskService.UpdateTaskStatus(taskId, 1, orderId);
if (model != null && model.Success)
SearchTaskList();
}
public void SetTaskState(PackTaskState? taskState)
{
TaskState = taskState;
SearchTaskList();
}
//public void SetTaskState(TaskState? taskState)
//{
// IsWorry = null;
// TaskState = null;
// taskStatus = null;
// switch (taskState)
// {
// case null:
// break;
// case Models.TaskState.已到货:
// case Models.TaskState.部分到货: //未完成的数据
// case Models.TaskState.未到货:
// TaskState = taskState;
// taskStatus = 0;
// break;
// case Models.TaskState.全部: //所有数据
// break;
// case Models.TaskState.已完成:
// taskStatus = 1;
// break;
// case Models.TaskState.加急:
// taskStatus = 0;
// IsWorry = 1;
// break;
// default:
// break;
// }
// SearchTaskList();
//}
/// <summary>
@ -277,11 +371,33 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public void SearchTaskList()
{
try
{
if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim()))
Convert.ToInt64(SearchTaskId);
}
catch
{
System.Windows.MessageBox.Show("任务id必须为数字");
return;
}
//string shopId = null;
//if (!string.IsNullOrEmpty(SearchShopName))
//{
// var searchShop = globalContext.User.ShopList.FirstOrDefault(g => g.ShopName == SearchShopName);
// if (searchShop != null) shopId = searchShop.ShopId.ToString();
//}
IsLoading = true;
Task.Factory.StartNew(() =>
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.GetWareHouseList(IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), taskStatus,
var datas = packTaskService.GetWareHouseList(IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), SearchShopName,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
@ -299,7 +415,6 @@ namespace BBWY.Client.ViewModels.PackTask
GoodsNumber = item.GoodsNumber,
Increment1 = item.Increment1,
Increment2 = (Increment)item.Increment2,
ItemList = new List<SkuMessage>() { new SkuMessage
{ BrandName = item.BrandName,
GoodsNo = item.ProductItemNum, Logo= item.Logo,
@ -309,14 +424,13 @@ namespace BBWY.Client.ViewModels.PackTask
} },
MarkMessage = item.MarkMessage,
PackType = (PackType)item.PackType,
PositionType = (PositionType)item.PositionType,
TaskState = item.TaskState,
PositionType = item.PositionType,
SkuCount = item.SkuCount,
SkuTitle = item.SkuGoodsTitle,
TaskId = item.TaskId,
TaskStatus = (TaskStateType)item.TaskStatus,
EndTime = item.CreateTime,
OrderId= item.OrderId,
OrderId = item.OrderId,
SkuId = item.SkuId,
SkuName = item.SkuName,
@ -327,12 +441,14 @@ namespace BBWY.Client.ViewModels.PackTask
data.BarCodeModel = item.BarCodeDTO;
}
if (item.cers != null)
if (item.Cers != null)
{
data.CertificateModel = item.cers;
data.CertificateModel = item.Cers;
}
data.ReflashTask = ReflashTask;
if (item.FeesItemResponse != null)
{
data.FeesItemResponse = item.FeesItemResponse;
@ -379,10 +495,13 @@ namespace BBWY.Client.ViewModels.PackTask
{
App.Current.Dispatcher.Invoke(() =>
{
ArrivedCount = packTaskResult.Data.ArrivedCount;
NoArrivedCount = packTaskResult.Data.NoArrivedCount;
SomeArrivedCount = packTaskResult.Data.SomeArrivedCount;
WorryCount = packTaskResult.Data.WorryCount;
ArrivedCount = packTaskResult.Data.ArrivedCount.ToString();
NoArrivedCount = packTaskResult.Data.NoArrivedCount.ToString();
SomeArrivedCount = packTaskResult.Data.SomeArrivedCount.ToString();
WorryCount = packTaskResult.Data.WorryCount.ToString();
WaitOutbound = packTaskResult.Data.WaitOutbound?.ToString();
WaitPackCount = packTaskResult.Data.WaitPackCount?.ToString();
WaitSealBox = packTaskResult.Data.WaitSealBox?.ToString();
});
}
}
@ -391,6 +510,11 @@ namespace BBWY.Client.ViewModels.PackTask
PageIndex = pageIndex;//
SearchTaskList();
}
public void ReflashTask()//刷新界面
{
SearchTaskList();
}
private void OpenSkuDetail(object param)
{

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

@ -0,0 +1,745 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using BBWY.Common.Models;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Windows;
using BBWY.Client.Models.QualityTask;
using BBWY.Client.Views.QualityTask;
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
using NPOI.Util.ArrayExtensions;
using System.Threading.Tasks;
using Org.BouncyCastle.Asn1.Crmf;
using System.Runtime.InteropServices.WindowsRuntime;
using NPOI.Util;
using BBWY.Controls;
namespace BBWY.Client.ViewModels
{
public class QualityViewModel : BaseVM, IDenpendency
{
#region 属性
public int goodProductQuantity;
public int arrivalQuantity;
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get => arrivalQuantity; set { Set(ref arrivalQuantity, value); } }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get => goodProductQuantity; set { Set(ref goodProductQuantity, value); } }
/// <summary>
/// 预计完成时间
/// </summary>
public DateTime? PreCompeteTime { get; set; }
private ObservableCollection<PurchaseSku> purchaseSkuList;
public ObservableCollection<PurchaseSku> PurchaseSkuList { get => purchaseSkuList; set { Set(ref purchaseSkuList, value); } }
private string searchSkuId;
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
// public long TaskId { get; set; }
//private bool isSelected;
//public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } }
private ObservableCollection<string> worryList = new ObservableCollection<string> {
"否","是"
};
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> {
"单件","多件"
};
public ObservableCollection<string> PackTypeList { get => packTypeList; set { Set(ref packTypeList, value); } }
private ObservableCollection<string> basicPackList = new ObservableCollection<string> {
"快递袋","纸箱","麻袋"
};
public ObservableCollection<string> BasicPackList { get => basicPackList; set { Set(ref basicPackList, value); } }
private ObservableCollection<string> isNeedBarCodeList = new ObservableCollection<string> {
"需要", "不需要" };
public ObservableCollection<string> IsNeedBarCodeList { get => isNeedBarCodeList; set { Set(ref isNeedBarCodeList, value); } }
private ObservableCollection<string> isNeedCerList = new ObservableCollection<string> {
"需要", "不需要" };
public ObservableCollection<string> IsNeedCerList { get => isNeedCerList; set { Set(ref isNeedCerList, value); } }
private ObservableCollection<string> certificatePositionList = new ObservableCollection<string> {
"无","外部包装","产品包装"
};
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> preCompeteTimeDayList = new ObservableCollection<string> {
};
public ObservableCollection<string> PreCompeteTimeDayList { get => preCompeteTimeDayList; set { Set(ref preCompeteTimeDayList, value); } }
private ObservableCollection<string> preCompeteTimeHourList = new ObservableCollection<string> {
"12点前","18点前","21点前"
};
public ObservableCollection<string> PreCompeteTimeHourList { get => preCompeteTimeHourList; set { Set(ref preCompeteTimeHourList, value); } }
//
public string preCompeteTimeDay;
public string PreCompeteTimeDay { get => preCompeteTimeDay; set { Set(ref preCompeteTimeDay, value); } }
public string preCompeteTimeHour;
public string PreCompeteTimeHour { get => preCompeteTimeHour; set { Set(ref preCompeteTimeHour, value); } }
private ObservableCollection<WareHourseDTO> wareHourseList = new ObservableCollection<WareHourseDTO> { };
public ObservableCollection<WareHourseDTO> WareHourseList { get => wareHourseList; set { Set(ref wareHourseList, value); } }
private int wareHourseCount;
public int WareHourseCount { get => wareHourseCount; set { Set(ref wareHourseCount, value); } }
private int skuCount;
/// <summary>
/// Sku任务数
/// </summary>
public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } }
private string skuId;
/// <summary>
/// Sku
/// </summary>
public string SkuId { get => skuId; set { Set(ref skuId, value); } }
public string OrderId { get; set; }
private string logo;
/// <summary>
/// 店铺Sku图链接
/// </summary>
public string Logo { get => logo; set { Set(ref logo, value); } }
private string skuName;
/// <summary>
/// 采购Sku名称
/// </summary>
public string SkuName { get => skuName; set { Set(ref skuName, value); } }
private string brand;
/// <summary>
/// 品牌
/// </summary>
public string Brand { get => brand; set { Set(ref brand, value); } }
private string productNo;
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get => productNo; set { Set(ref productNo, value); } }
private string brandName;
/// <summary>
/// 品名(手写上传)
/// </summary>
public string BrandName { get => brandName; set { Set(ref brandName, value); } }
private int goodsNumber;
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } }
private Worry isWorry;
/// <summary>
/// 是否加急
/// </summary>
public Worry IsWorry { get => isWorry; set { Set(ref isWorry, value); } }
private TaskState availability;
/// <summary>
/// 到货情况(待收货=0,部分收货=1,已到货=2)
/// </summary>
public TaskState Availability { get => availability; set { Set(ref availability, value); } }
private PackType packType;
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get => packType; set { Set(ref packType, value); } }
private BasicPack basicPack;
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get => basicPack; set { Set(ref basicPack, value); } }
private PositionType positionType;
/// <summary>
/// 落仓(商家仓=0,齐越仓=1,京东仓=2,聚水潭仓=3)
/// </summary>
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
private string skuTitle;
/// <summary>
/// sku配件商品名称
/// </summary>
public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } }
private Need isNeedBarCode;
/// <summary>
/// 是否需要合格证
/// </summary>
public Need IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } }
private Need isNeedCertificateModel;
/// <summary>
/// 是否需要条形码
/// </summary>
public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } }
private BarCodeModel barCodeModel;
/// <summary>
/// 条形码
/// </summary>
public BarCodeModel BarCodeModel { get => barCodeModel; set { Set(ref barCodeModel, value); } }
private bool isSetBarCode;
/// <summary>
/// 设置显示(条形码)
/// </summary>
public bool IsSetBarCode
{
get => isSetBarCode;
set
{
Set(ref isSetBarCode, value);
// IsNeedBarCode = IsSetBarCode ? Need.不需要 : Need.需要;
}
}
private bool isSetCertificate;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public bool IsSetCertificate
{
get => isSetCertificate; set
{
Set(ref isSetCertificate, value);
//IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要;
}
}
private string setSpuCerStatus;
public string SetSpuCerStatus { get => setSpuCerStatus; set { Set(ref setSpuCerStatus, value); } }
private bool isSetSpuCertificate = true;
/// <summary>
/// 设置spu显示(合格证)
/// </summary>
public bool IsSetSpuCertificate
{
get => isSetSpuCertificate; set
{
Set(ref isSetSpuCertificate, value);
SetSpuCerStatus = IsSetSpuCertificate ? "设置spu模板" : "修改spu模板";
}
}
private string saveTask;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public string SaveTask { get => saveTask; set { Set(ref saveTask, value); } }
private string spuId;
/// <summary>
/// 合格证
/// </summary>
public string SpuId { get => spuId; set { Set(ref spuId, value); } }
private CertificateModel spuCertificateModel;
/// <summary>
/// spu合格证
/// </summary>
public CertificateModel SpuCertificateModel { get => spuCertificateModel; set { Set(ref spuCertificateModel, value); } }
private CertificateModel certificateModel;
/// <summary>
/// 合格证
/// </summary>
public CertificateModel CertificateModel { get => certificateModel; set { Set(ref certificateModel, value); } }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
private CertificatePosition certificatePosition;
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } }
/// <summary>
/// 注意事项(对接备注)
/// </summary>
private string markMessage;
/// <summary>
/// 注意事项(对接备注)
/// </summary>
public string MarkMessage { get => markMessage; set { Set(ref markMessage, value); } }
private ObservableCollection<IncreateModel> increateList;
/// <summary>
/// 增量耗材查询关键字
/// </summary>
public ObservableCollection<IncreateModel> IncreateList { get => increateList; set { Set(ref increateList, value); } }
string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" };
PackPurchaseTaskService packPurchaseTaskService;
PackTaskService packTaskService;
ProductService productService;
GlobalContext globalContext;
private bool isLoading = false;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
PurchaseService purchaseService;
public string OriginShopName { get; set; }
public string SkuPurchaseSchemeId { get; set; }
public Platform Platform { get; set; }
public string ShopId { get; set; }
public long TaskId { get; set; }
public string UserName { get; set; }
public ICommand SetBarCodeCommand { get; set; }
public ICommand SetCertificateCommand { get; set; }
public ICommand LookBarCommand { get; set; }
public ICommand LookCerCommand { get; set; }
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand CompeteQualityTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
#endregion
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService)
{
this.packPurchaseTaskService = packPurchaseTaskService;
this.productService = productService;
this.globalContext = globalContext;
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SetBarCodeCommand = new RelayCommand(SetBarCode);
SetCertificateCommand = new RelayCommand<PurchaseSku>(SetCertificate);
LookBarCommand = new RelayCommand(LookBar);
LookCerCommand = new RelayCommand<CertificateModel>(LookCer);
CompeteQualityTaskCommand = new RelayCommand<object>(CompeteQualityTask);
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
IncreateList.Add(new IncreateModel
{
IncreateName = item,
IsSelected = false
});
}
this.purchaseService = purchaseService;
this.packTaskService = packTaskService;
}
#region 方法
private void CompeteQualityTask(object obj)
{
if (GoodProductQuantity > ArrivalQuantity)
{
MessageBox.Show($"良品数量:{GoodProductQuantity}不能大于到货数量:{ArrivalQuantity}");
return;
}
if (ArrivalQuantity == 0)
{
MessageBox.Show($"到货数量不能:{ArrivalQuantity}!");
return;
}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
ArrivalQuantity = ArrivalQuantity,
GoodProductQuantity = GoodProductQuantity,
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
BrandName = BrandName,
CertificatePosition = CertificatePosition,
MarkMessage = MarkMessage,
OrderId = OrderId,
PackType = PackType,
GoodsNumber = GoodsNumber,
SkuGoodsTitle = SkuTitle,
SkuId = SkuId,
IsNeedBar = IsNeedBarCode == Need.,
IsNeedCer = IsNeedCertificateModel == Need.,
TaskId = TaskId
};
if (IsNeedBarCode == Need.)
{
if (BarCodeModel.Id <= 0)
{
MessageBox.Show("条形码不能为空");
return;
}
request.BarcodeId = BarCodeModel.Id;
}
if (IsNeedCertificateModel == Need.)
{
if (PurchaseSkuList == null && PurchaseSkuList.Count <= 0)
{
MessageBox.Show("无可用的合格证打印!");
return;
}
if (PurchaseSkuList.Where(p => p.IsSetCertificate).Count() > 0)
{
MessageBox.Show("存在未确认的合格证,请先完成确认!");
return;
}
if (PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Count() <= 0)
{
MessageBox.Show("无可选的合格证打印!");
return;
}
request.CerId = string.Join(",", PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO.Id));
}
int hour = Convert.ToInt32(PreCompeteTimeHour.Replace("点前", ""));
var date = Convert.ToDateTime(PreCompeteTimeDay);
request.PreCompeteTime = date.AddHours(hour);
var competeRes = packPurchaseTaskService.CompeteQualityTask(request);
if (competeRes == null)
{
MessageBox.Show("网络异常");
return;
}
if (!competeRes.Success)
{
MessageBox.Show(competeRes.Msg);
return;
}
BatchPrintWindow batchPrint = new BatchPrintWindow();
batchPrint.SetData(GoodProductQuantity,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel);
batchPrint.ShowDialog();
if (ReflashWindow != null) ReflashWindow();
var window = obj as BWindow;
window.Close();
}
private void SetBarCode()
{
if (string.IsNullOrEmpty(SkuId))
{
return;
}
if (BarCodeModel == null)
{
var resCode = packPurchaseTaskService.SearchBarCode(SkuId);
if (resCode==null)
{
BarCodeModel = new BarCodeModel();
BarCodeModel.ProductNo = ProductNo;
BarCodeModel.Brand = Brand;
BarCodeModel.SkuId = SkuId;
BarCodeModel.SkuName = SkuName;
}
else
{
BarCodeModel = resCode.Data;
}
}
if (!string.IsNullOrEmpty(BrandName))
BarCodeModel.BrandName = BrandName;
SetBarCodeWindow setBarCodeWindow = new SetBarCodeWindow();
setBarCodeWindow.LoadData(BarCodeModel, packTaskService);
setBarCodeWindow.SaveResult = b =>
{
BarCodeModel = b;
IsSetBarCode = false;
IsNeedBarCode = Need.;
};
setBarCodeWindow.Show();
}
/// <summary>
/// 设置合格证
/// </summary>
private void SetCertificate(PurchaseSku model)
{
if (model.CerDTO == null)
{
model.CerDTO = new CertificateModel
{
ProductNo = ProductNo,
Brand = Brand,
SkuId = SkuId,
PurchaseSkuId = model.PurchaseSkuId
};
}
if (!string.IsNullOrEmpty(BrandName))
model.CerDTO.BrandName = BrandName;
QualitySetCerWindow setCerWindow = new QualitySetCerWindow();
setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate);
setCerWindow.SaveResult = (s, PackCerState) =>
{
if (string.IsNullOrEmpty(s.PurchaseSkuId))
{
var sku = PurchaseSkuList.SingleOrDefault(p => p.CerDTO.GoodsNumber == s.GoodsNumber);
sku.CerDTO = s;
sku.IsSetCertificate = false;
sku.IsNeedCer = PackCerState == PackCerState.;
IsNeedCertificateModel = Need.;
return;
}
var skus = PurchaseSkuList.SingleOrDefault(p => p.PurchaseSkuId == s.PurchaseSkuId);
skus.CerDTO = s;
skus.IsSetCertificate = false;
skus.IsNeedCer = PackCerState == PackCerState.;
IsNeedCertificateModel = Need.;
};
setCerWindow.Show();
}
/// <summary>
/// 查看合格证
/// </summary>
private void LookCer(CertificateModel certificate)
{
QualityLookCerWindow lookCerWindow = new QualityLookCerWindow(certificate);
lookCerWindow.Show();
}
/// <summary>
/// 查看条形码
/// </summary>
private void LookBar()
{
LookBarCodeWindow look = new LookBarCodeWindow();
look.SetData(BarCodeModel);
look.Show();
}
/// <summary>
/// 搜索 skuId(todo:)
/// </summary>
public void SearchSku(PackTaskModel model)
{
InitData();
TaskId = model.TaskId;
OrderId =model.OrderId;
SkuId = model.SkuId;
SkuName = model.ItemList[0].SkuName;
Logo = model.ItemList[0].Logo.Replace("80x80", "200x200").Replace("200x200", "150x150");
BrandName = model.ItemList[0].BrandName;
SkuCount = model.SkuCount;
brand = model.Brand;
ProductNo = model.ProductNo;
MarkMessage = model.MarkMessage;
PackType = model.PackType;
GoodsNumber = model.GoodsNumber;
SkuTitle = model.SkuTitle;
BasicPack = model.BasicPack;
CertificatePosition = model.CertificatePosition;
string[] increateDatas = model.Increment1?.Split(',');
bool isSelected = false;
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
});
});
}
var packTaskRes = packPurchaseTaskService.GetQualityTask(model.TaskId);
if (packTaskRes == null || !packTaskRes.Success) return;
BarCodeModel = packTaskRes.Data.BarCodeDTO;
IsNeedBarCode = packTaskRes.Data.IsNeedBar ? Need. : Need.;
IsSetBarCode = packTaskRes.Data.IsNeedBar ? false : true;
IsNeedCertificateModel = packTaskRes.Data.IsNeedCer ? Need. : Need.;
if (packTaskRes.Data.WareHourses != null)
packTaskRes.Data.WareHourses.ToList().ForEach(w =>
{
WareHourseList.Add(w);
});
WareHourseCount = WareHourseList.Count();
if (packTaskRes.Data.PurchaseSkus != null)
{
foreach (var item in packTaskRes.Data.PurchaseSkus)
{
item.IsSetCertificate = true;
if (string.IsNullOrEmpty(item.PurchaseProductId))
{
PurchaseSkuList.Add(item); continue;
}
var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId);
if (list == null&&!list.Success)
{
PurchaseSkuList.Add(item); continue;
}
var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId);
App.Current.Dispatcher.Invoke(new Action(() =>
{
PurchaseSkuList.Add(new PurchaseSku
{
Logo = skuItem.Logo,
Title = skuItem.Title,
IsNeedCer = item.IsNeedCer,
PurchaseSkuId = item.PurchaseSkuId,
CerDTO = item.CerDTO,
IsSetCertificate = item.IsSetCertificate,
});
}));
//PurchaseSkuList.Add(item);
}
}
}
public Action ReflashWindow { get; set; }
public void InitData()
{
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
WareHourseList = new ObservableCollection<WareHourseDTO>();
PreCompeteTimeDayList = new ObservableCollection<string>();
var date = DateTime.Now.Date;
for (int i = 0; i < 7; i++)
{
PreCompeteTimeDayList.Add(date.AddDays(i).ToString("yyyy-MM-dd"));
}
PreCompeteTimeDay = date.ToString("yyyy-MM-dd");
IsSetBarCode = true;
SkuTitle = "";
BrandName = "";
GoodsNumber = 0;
PackType = PackType.;
BasicPack = BasicPack.;
// Availability = (TaskState.)config.Availability;
//MarkMessage = config.MarkMessage;
CertificatePosition = CertificatePosition.;
// Increment1 = config.Increment1;
IsNeedBarCode = Need.;
IsNeedCertificateModel = Need.;
}
private void OpenSkuDetail(object param)
{
var paramList = (object[])param;
// var orderId = paramList[0].ToString();
var skuId = paramList[0].ToString();
var url = $"https://item.jd.com/{skuId}.html";
try
{
System.Diagnostics.Process.Start("explorer.exe", url);
}
catch (Exception ex)
{
Clipboard.SetText(url);
MessageBox.Show($"{ex.Message}\r\n调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示");
}
}
#endregion
}
}

10
BBWY.Client/ViewModels/ViewModelLocator.cs

@ -303,5 +303,15 @@ namespace BBWY.Client.ViewModels
return s.ServiceProvider.GetRequiredService<PackSkuSplitConfigViewModel>();
}
}
public QualityViewModel QualityTask
{
get
{
using var s = sp.CreateScope();
return s.ServiceProvider.GetRequiredService<QualityViewModel>();
}
}
}
}

71
BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml

@ -29,79 +29,10 @@
Background="{StaticResource Border.Background}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<DockPanel Grid.Row="1">
<Border Name="jingjian" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=精简模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,25,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
<Border Name="biaozhun" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=标准模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="型号:"/>
<Run Text="{Binding ProductNo}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
<local:BarcodeControl Grid.Row="1" model="{Binding BarCodeModel, Mode=TwoWay}"/>
</StackPanel>
</Border>
<Border Name="wuxinghao" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=无型号模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
</DockPanel>
</Grid>
</c:BWindow>

7
BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml.cs

@ -23,10 +23,15 @@ namespace BBWY.Client.Views.PackTask
{
InitializeComponent();
}
public BarCodeModel BarCodeModel { get; set; }
public void SetData(BarCodeModel BarCodeModel)
{
this.DataContext = BarCodeModel;
this.BarCodeModel = BarCodeModel;
this.DataContext = this;
}
}
}

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

@ -121,10 +121,12 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
@ -132,26 +134,26 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<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="采购SKU名称" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU数量" 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="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}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
@ -171,10 +173,11 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="14"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="15"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="16"/>
<Border Height="1" VerticalAlignment="Top" Grid.ColumnSpan="17" Background="{StaticResource Border.Brush}" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="17"/>
<Border Height="1" VerticalAlignment="Top" Grid.ColumnSpan="18" Background="{StaticResource Border.Brush}" Grid.Row="0"/>
<ListBox x:Name="listbox_order"
Grid.Row="1" Grid.ColumnSpan="17"
Grid.Row="1" Grid.ColumnSpan="18"
ItemsSource="{Binding PackTaskTotalList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
@ -190,10 +193,12 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition MinWidth="130"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
@ -201,7 +206,6 @@
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<Grid Margin="0 0 1 0">
@ -217,7 +221,7 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="2" Margin="0 0 1 0">
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding CreateTime,StringFormat=MM-dd}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="3" Margin="0 0 1 0">
@ -228,70 +232,76 @@
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding DepartmentName}"
Margin=" 5,0,0,0"/>
Margin=" 5,0,0,0">
<c:BButton.ToolTip>
<ToolTip>
<TextBlock Text="{Binding DepartmentName}"></TextBlock>
</ToolTip>
</c:BButton.ToolTip>
</c:BButton>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="5" Margin="0 0 1 0">
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ShopName}"
Margin=" 5,0,0,0"/>
Margin=" 5,0,0,0">
<c:BButton.ToolTip>
<ToolTip>
<TextBlock Text="{Binding ShopName}"></TextBlock>
</ToolTip>
</c:BButton.ToolTip>
</c:BButton>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="6" Margin="0 0 1 0">
<TextBlock Text="{Binding AcceptUserName}" TextWrapping="Wrap" Style="{StaticResource middleTextBlock}"/>
<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 SkuName}" Style="{StaticResource middleTextBlock}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<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 SkuCount}" Style="{StaticResource middleTextBlock}"/>
<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 IncreaseFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<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 PackFees,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<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">
<TextBlock Text="{Binding Price,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Grid Grid.Column="12" 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="13" Margin="0 0 1 0">
<TextBlock Text="{Binding Discount,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Grid Grid.Column="13" Margin="0 0 1 0" >
<TextBlock Text="{Binding PackAllFees,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 DiscountPrice,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding Price,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 MarkMessage}" Style="{StaticResource middleTextBlock}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding MarkMessage}"/>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Text="{Binding Discount,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 DiscountPrice,StringFormat=0.00}" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Column="17" 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}}}"
CommandParameter="{Binding TaskId}"
@ -303,7 +313,7 @@
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="1" Grid.Column="18" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>

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

@ -90,10 +90,7 @@ namespace BBWY.Client.Views.PackTask
}
}
List<string> departments = new List<string>();
private void tb_TextChanged(object sender, TextChangedEventArgs e)
{
try

230
BBWY.Client/Views/PackTask/PrintWindow.xaml

@ -7,7 +7,7 @@
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
Height="532" Width="486"
Height="525" Width="486"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
@ -18,8 +18,16 @@
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
ResizeMode="NoResize"
>
<Window.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Grid>
<Grid.RowDefinitions>
@ -32,97 +40,26 @@
<TextBlock Text="打印设置" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<TextBlock Margin="33,28" VerticalAlignment="Top" HorizontalAlignment="Left" Height="15" Width="43" Text="打印机:"/>
<ComboBox x:Name="cbPrints" Margin="81,23,0,0" Width="197" Height="25" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Margin="41,70,0,0" Width="30" Height="15" Text="数量:"/>
<c:BTextBox x:Name="tbCount" Width="197" Margin="81,65,0,0" Height="25" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<!--<DockPanel Grid.Row="2">
<local:BarcodeControl x:Name="bar" BarCodeData="{Binding BarCodeModel,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<local:CerControl x:Name="cer" CerData="{Binding CertificateModel,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</DockPanel>-->
<StackPanel Orientation="Vertical" Grid.Row="1" Margin="0 20 0 0">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="48,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Left" Height="15" Width="43" Text="打印机:"/>
<Grid Name="bar" Visibility="Collapsed" Grid.Row="1" >
<Border Name="jingjian" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=精简模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Width="371" Margin="38,113,38,29">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,25,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" BorderThickness="1">
<ComboBox x:Name="cbPrints" BorderThickness="0" Width="200" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left" />
</Border>
<Border Name="biaozhun" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=标准模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Width="371" Height="240" Margin="5">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="型号:"/>
<Run Text="{Binding ProductNo}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
<Border Name="wuxinghao" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=无型号模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Width="371" Height="240" Margin="5">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Margin="60,0,0,0" Width="30" Height="15" Text="数量:"/>
<c:BTextBox x:Name="tbCount" Width="203" Margin="11,0,0,0" Height="30" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Margin="0 10 0 0">
<Grid Name="bar" Visibility="Collapsed" Grid.Row="1" Width="371">
<local:BarcodeControl model="{Binding BarCodeModel, Mode=TwoWay}" />
</Grid>
<Grid x:Name="cer" Grid.Row="1" Margin="0,110,0,0" Width="384" Height="333">
<Grid x:Name="cer" Grid.Row="1" Width="384" Height="333">
<hc:TabControl Grid.Row="1" ItemsSource="{Binding GoodsNumberCerList,Mode=TwoWay}" IsAnimationEnabled="True" IsDraggable="True" IsTabFillEnabled="True" Name="tab" DockPanel.Dock="Bottom">
<hc:TabControl.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>
</hc:TabControl.Resources>
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock HorizontalAlignment="Center" Text="{Binding CertificateModel.GoodsNumber,StringFormat=配件{0}}"/>
@ -134,128 +71,11 @@
</DataTemplate>
</TabControl.ContentTemplate>
</hc:TabControl>
<!--<Border Name="shiyongnianling" Visibility="{Binding LabelModel,Converter={StaticResource objConverter}, ConverterParameter=适用年龄:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid>
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12,0,0" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Brand}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,65,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding BrandName}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,65,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,112,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Shader}" Width="116" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,107,0,0"/>
<TextBlock Text="适用年龄:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="179,112,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding ApplyAge}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,107,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,150,0,0" />
<TextBox IsReadOnly="True" BorderBrush="Transparent"
TextWrapping ="Wrap" AcceptsReturn="True"
Height="50" Text="{Binding ExcuteStanderFormat}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,148,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding ProductShop}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,241,0,0" />
<TextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True"
Height="44" Text="{Binding ProductAdress}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
</Grid>
</Border>
<Border Name="no3c" Visibility="{Binding LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准无3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid>
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12,0,0" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Brand}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,65,0,0"/>
<TextBlock Text="型号:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding ProductNo}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,65,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,112,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding BrandName}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,107,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,112,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Shader}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,107,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,150,0,0" />
<TextBox IsReadOnly="True" BorderBrush="Transparent"
TextWrapping ="Wrap" AcceptsReturn="True"
Height="50" Text="{Binding ExcuteStanderFormat}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,148,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding ProductShop}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,246,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True"
Height="44" Text="{Binding ProductAdress}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
</Grid>
</Border>
<Border Name="is3c" Visibility="{Binding LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准有3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid >
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,90" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Text="{Binding Brand}" Height="25" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,85,0,0"/>
<TextBlock Text="型号:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,90,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Text="{Binding ProductNo}" Height="25" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,85,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,127,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Text="{Binding BrandName}" Height="25" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,122,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,127,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Shader}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,122,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,154,0,0" />
<TextBox IsReadOnly="True" BorderBrush="Transparent"
Text="{Binding ExcuteStanderFormat}" Height="40" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,153,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Text="{Binding ProductShop}" Height="25" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,246,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True" Text="{Binding ProductAdress}" Height="44" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
--><!--<TextBlock Text="工厂编号:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,60,0,0" />--><!--
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Text="{Binding FactoryNumber}" Height="25" Width="100" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="259,55,0,0"/>
<Image Source="pack://siteoforigin:,,,/Resources/Images/3c.png" Width="54" Height="42" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="282,6,0,0" />
</Grid>
</Border>
<Border Name="noxinghao" Visibility="{Binding LabelModel,Converter={StaticResource objConverter}, ConverterParameter=无型号:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<Grid>
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12,0,0" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Brand}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,65,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,70,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding BrandName}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,65,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,112,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding Shader}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,107,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,150,0,0" />
<TextBox IsReadOnly="True" BorderBrush="Transparent"
TextWrapping ="Wrap" AcceptsReturn="True"
Height="50" Text="{Binding ExcuteStanderFormat}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,148,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" Height="25" Text="{Binding ProductShop}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
</StackPanel>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,246,0,0" />
<c:BTextBox IsReadOnly="True" BorderBrush="Transparent" TextWrapping ="Wrap" AcceptsReturn="True"
Height="44" Text="{Binding ProductAdress}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
</Grid>
</Border>-->
</Grid>
</Grid>
</StackPanel>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="打印" HorizontalAlignment="Right" Width="100" VerticalAlignment="Top" Click="BButton_Click" Height="30" Margin="1"
/>

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

@ -83,25 +83,21 @@ namespace BBWY.Client.Views.PackTask
// PrintData data = new PrintData();
if (CertificateModel != null)
{
GoodsNumberCerList = new ObservableCollection<GoodsNumberCer>();
foreach (CertificateModel certificateModel in CertificateModel)
GoodsNumberCerList.Add(new GoodsNumberCer
{
CertificateModel = certificateModel.Copy(),
});
this.DataContext = this;
bar.Visibility = Visibility.Collapsed;
cer.Visibility = Visibility.Visible;
}
if (BarCodeModel != null)
{
this.DataContext = BarCodeModel;
cer.Visibility = Visibility.Collapsed;
bar.Visibility = Visibility.Visible;
}
this.DataContext = this;
}
public CertificateModel[] CertificateModel { get; set; }
@ -136,13 +132,8 @@ namespace BBWY.Client.Views.PackTask
{
PrintData(printCount, printName,null,cer);
System.Threading.Thread.Sleep(100);
// MyPrintHelper.PrintCertificate(ref args, cer, font);
}
}
});
}
@ -177,7 +168,7 @@ namespace BBWY.Client.Views.PackTask
{
App.Current.Dispatcher.Invoke(() =>
{
new TipsWindow("打印失败").ShowDialog();
new TipsWindow($"打印失败,{ex.Message}").Show();
});
}

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

@ -216,7 +216,7 @@
<Grid.Resources>
</Grid.Resources>
<hc:CheckComboBox BorderThickness="0" IsTextSearchEnabled="True" ItemsSource="{Binding IncreateList}"
<hc:CheckComboBox BorderThickness="0" ShowSelectAllButton="False" IsTextSearchEnabled="True" ItemsSource="{Binding IncreateList}"
ShowClearButton="True"
MinWidth="90"
Height="25"

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

@ -1,5 +1,5 @@
<c:BWindow x:Class="BBWY.Client.Views.PackTask.SetBarCodeWindow"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
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"
@ -7,6 +7,7 @@
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="651" Width="577"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"

5
BBWY.Client/Views/PackTask/SetBarCode.xaml.cs

@ -65,16 +65,13 @@ namespace BBWY.Client.Views.PackTask
});
if (resData == null || !resData.Success)
{
//IsSetBarCode = false;
return;
}
BarCodeModel.Id = resData.Data;
if (SaveResult != null)
SaveResult(BarCodeModel);
// IsNeedBarCode = "需要";
//IsSetBarCode = false;
// setBarCodeWindow.Close();
this.Close();
}

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

@ -176,23 +176,7 @@
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
<!--<Grid>
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,70" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,NotifyOnTargetUpdated=True,UpdateSourceTrigger=PropertyChanged}" Width="111" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,65,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,70,0,0" />
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,65,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,114,0,0" />
<c:BTextBox Height="26" Text="{Binding model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="111" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,108,0,0"/>
<TextBlock Text="适用年龄:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="179,114,0,0" />
<c:BTextBox Height="25" Text="{Binding model.ApplyAge,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="124" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,108,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,166,0,0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,161,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,NotifyOnTargetUpdated=True,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,242,0,0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
</Grid>-->
</Border>
</Grid>
</Grid>

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

@ -158,6 +158,7 @@ namespace BBWY.Client.Views.PackTask
cer.CertificateModel.Shader = SpuCertificateModel.Shader;
cer.CertificateModel.ProductShop = SpuCertificateModel.ProductShop;
cer.CertificateModel.ApplyAge = SpuCertificateModel.ApplyAge;
cer.CertificateModel.ProduceDate = SpuCertificateModel.ProduceDate;
}

5
BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs

@ -62,10 +62,9 @@ namespace BBWY.Client.Views.PackTask
ProductAdress = SpuCertificateModel.ProductAdress,
ProductShop = SpuCertificateModel.ProductShop,
Shader = SpuCertificateModel.Shader,
SkuId = SpuCertificateModel.SkuId,
//SkuId = SpuCertificateModel.SkuId,
ApplyAge = SpuCertificateModel.ApplyAge,
ProduceDate=SpuCertificateModel.ProduceDate,
});
if (resData == null || !resData.Success)

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

@ -121,7 +121,7 @@
<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 TaskId}"
Margin="5,0,0,0" Style="{StaticResource LinkButton}" Content="删除" />
Margin="5,0,0,0" Style="{StaticResource LinkButton}" Content="取消" />
</StackPanel>
</Grid>

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

@ -14,13 +14,52 @@
d:DesignHeight="450" d:DesignWidth="2048"
Title="TaskList">
<Page.Resources>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
<sys:Int32 x:Key="d0">0</sys:Int32>
</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>
<!--<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>
<sys:Int32 x:Key="d30">29</sys:Int32>-->
</Page.Resources>
<Grid>
@ -30,6 +69,12 @@
</ListBox>
</StackPanel>
<StackPanel Panel.ZIndex="100" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Vertical" Margin="1230,15,0,0">
<c:BTextBox x:Name="tbShop" Width="150" Height="30" TextChanged="tbShop_TextChanged" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></c:BTextBox>
<ListBox MaxHeight="300" x:Name="tipBoxShop" SelectionChanged="tipBoxShop_SelectionChanged" Background="{StaticResource Border.Background}">
</ListBox>
</StackPanel>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Margin="5,0">
@ -40,7 +85,7 @@
<RowDefinition Height="30"/>
<!---->
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Panel.ZIndex="999" Margin="0,5,0,0" Width="1100">
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Panel.ZIndex="999" Margin="0,5,0,0" >
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto"/>
@ -58,7 +103,14 @@
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchTaskId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark=""/>
<TextBlock Text="SKU:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" WaterRemark="" Text="{Binding SearchSkuId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="部门:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<TextBlock Text="部门: " VerticalAlignment="Center" Margin="16,0,2,0"/>
<c:BTextBox Width="150" Height="30" TextChanged="tb_TextChanged" ></c:BTextBox>
<TextBlock Text="物流单号:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchWayBillNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="物流单号"/>
<TextBlock Text="店铺:" VerticalAlignment="Center" Margin="16,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchShopName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" WaterRemark="店铺名称"/>
</StackPanel>
<Grid Grid.Column="1" >
@ -74,229 +126,29 @@
</Grid>
<StackPanel Grid.Row="1" Grid.RowSpan="1" HorizontalAlignment="Left" Orientation="Horizontal">
<RadioButton Height="35" Width="126" VerticalAlignment="Center" x:Name="qb" IsChecked="True" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.全部}" >
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="全部"/>
</TextBlock>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" x:Name="qb" IsChecked="True" Content="全部" Command="{Binding SetTaskStateCommand}" />
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.未到货}" Content="未到货" Tag="{Binding NoArrivedCount,Mode=TwoWay}" />
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.部分到货}" Content="部分到货" Tag="{Binding SomeArrivedCount,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待质检}" Tag="{Binding ArrivedCount,Mode=TwoWay}" Content="待质检" />
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待打包}" Content="待打包" Tag="{Binding WaitPackCount,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待封箱}" Content="待封箱" Tag="{Binding WaitSealBox,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.待出库}" Content="待出库" Tag="{Binding WaitOutbound,Mode=TwoWay}"/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.已完成}" Content="已完成" />
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:PackTaskState.已取消}" Content="已取消" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</RadioButton.Style>
</RadioButton>
<RadioButton VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已到货}" >
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="已到货"/>
<Run Text="{Binding ArrivedCount ,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Foreground="{StaticResource Text.Pink}" />
</TextBlock>
</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>
</RadioButton.Style>
</RadioButton>
<RadioButton VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.部分到货}" >>
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="部分到货"/>
<Run Text="{Binding SomeArrivedCount ,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Foreground="{StaticResource Text.Pink}" />
</TextBlock>
</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>
</RadioButton.Style>
</RadioButton>
<RadioButton VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.未到货}" >
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="未到货"/>
<Run Text="{Binding NoArrivedCount ,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Foreground="{StaticResource Text.Pink}" />
</TextBlock>
</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>
</RadioButton.Style>
</RadioButton>
<RadioButton VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.加急}" >
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="加急"/>
<Run Text="{Binding WorryCount ,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Foreground="{StaticResource Text.Pink}" />
</TextBlock>
</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>
</RadioButton.Style>
</RadioButton>
<RadioButton VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已完成}" >
<RadioButton.Style >
<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="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="126" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<TextBlock Text="已完成" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</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>
</RadioButton.Style>
</RadioButton>

117
BBWY.Client/Views/PackTask/WareHouseList.xaml.cs

@ -1,6 +1,8 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models.PackTask;
using BBWY.Client.ViewModels;
using BBWY.Common.Models;
using GalaSoft.MvvmLight.Messaging;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System;
@ -33,10 +35,45 @@ namespace BBWY.Client.Views.PackTask
{
InitializeComponent();
//Messenger.Default.Register<GlobalContext>(this,"AcceptGlobalContext", g => { globalContext = g; LoadShops(g); });
this.Loaded += Load;
// this.Unloaded += WareHouseList_Unloaded;
// GlobalContext.User.DepartmentList
}
//private void WareHouseList_Unloaded(object sender, RoutedEventArgs e)
//{
// Messenger.Default.Unregister("AcceptGlobalContext");
//}
GlobalContext globalContext;
public void LoadShops(GlobalContext globalContext)
{
this.globalContext = globalContext;
shops = globalContext.User.ShopList.Select(s => s.ShopName).ToList();
}
private void Load(object sender, RoutedEventArgs e)
{
try
{
var model = new ViewModelLocator().Main;
LoadShops(model.GlobalContext);
}
catch
{
}
try
{
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var builder = new ConfigurationBuilder().SetBasePath(applicationPath).AddJsonFile("BBWYAppSettings.json", false, true);
@ -64,7 +101,15 @@ namespace BBWY.Client.Views.PackTask
}
}
}
public string QKApiHost {get;set;}
catch (Exception)
{
}
}
public string QKApiHost { get; set; }
public void SelectionChangeCommand(object sender, SelectionChangedEventArgs e)
{
try
@ -86,10 +131,9 @@ namespace BBWY.Client.Views.PackTask
}
}
List<string> departments = new List<string>();
List<string> shops = new List<string>();
private void tb_TextChanged(object sender, TextChangedEventArgs e)
{
try
@ -155,5 +199,72 @@ namespace BBWY.Client.Views.PackTask
}
}
private void tbShop_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
var textBoxt = (TextBox)sender;
//创建一个ListBox
if (tipBoxShop != null && tipBoxShop.Items.Count > 0)
{
tipBoxShop.Items.Clear();
}
if (shops.Count <= 0)
{
if (globalContext != null)
LoadShops(globalContext);
}
if (string.IsNullOrEmpty(textBoxt.Text))
{
tipBoxShop.Visibility = Visibility.Collapsed;
return;
}
foreach (var department in shops)
{
if (department.Contains(textBoxt.Text))
{
ListBoxItem item = new ListBoxItem();
Label lb = new Label();
lb.Content = department;
item.Content = lb;
tipBoxShop.Items.Add(item);
}
}
tipBoxShop.Visibility = Visibility.Visible;
}
catch (Exception)
{
}
}
private void tipBoxShop_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
var list = (ListBox)sender;
if (list.Items.Count <= 0)
{
return;
}
var value = (ListBoxItem)list.SelectedValue;
var content = (Label)value.Content;
tbShop.Text = content.Content.ToString();
tipBoxShop.Visibility = Visibility.Collapsed;
}
catch (Exception)
{
}
}
}
}

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

@ -43,9 +43,10 @@
<ColumnDefinition/>
<ColumnDefinition Width="120"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="到货情况" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
@ -56,6 +57,8 @@
<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}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
@ -70,6 +73,7 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
@ -101,6 +105,7 @@
<ColumnDefinition/>
<ColumnDefinition Width="120"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.ColumnSpan="11">
<TextBlock VerticalAlignment="Center" Text="提交时间:" Margin="14,0,0,0" />
@ -111,7 +116,7 @@
CommandParameter="{Binding TaskId}"
Margin=" 5,0,7,0"/>
<Label Width="70" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskStatus}" Foreground="White" Background="{Binding TaskStatus,Converter={StaticResource objConverter} , ConverterParameter=未完成:#facd91:#02a7f0 }" 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"
@ -122,20 +127,7 @@
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptName}" Margin="5,0,0,0" />
</StackPanel>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" VerticalAlignment="Center" Content="完成" >
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SetTaskStatusCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="TaskId" />
<Binding Path="OrderId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
@ -151,6 +143,7 @@
<ColumnDefinition/>
<ColumnDefinition Width="120"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding ItemList}"
Style="{StaticResource NoScrollViewListBoxStyle}"
@ -198,15 +191,15 @@
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding ShopName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="店铺:"/>
<Run Text="{Binding ShopName}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock Text="店铺:"/>
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ShopName}"
Margin=" 5,0,7,0"/>
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="20,11,0,5">
@ -345,7 +338,7 @@
</StackPanel>
</Grid>
<Grid Grid.Column="10" >
<Grid Grid.Column="10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
@ -369,215 +362,26 @@
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<local:FeesExcelControl IsWareHouse="True" FeesItem="{Binding FeesItemResponse,Mode=TwoWay,NotifyOnSourceUpdated=True,UpdateSourceTrigger=PropertyChanged}"
/>
<!--<Grid Height="100" >
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition/>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Border Background="#F2F2F2" Grid.RowSpan="2" Grid.ColumnSpan="17"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="13" Grid.Row="0" Grid.RowSpan="3" BorderThickness="1,0,0,0"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="16" Grid.Row="0" Grid.RowSpan="3" BorderThickness="1,0,0,0"/>
<Border Width="1" HorizontalAlignment="Right" BorderBrush="#D7D7D7" Grid.Column="16" Grid.Row="0" Grid.RowSpan="3" BorderThickness="0,0,1,0"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="0" Grid.Row="0" Grid.RowSpan="3" BorderThickness="1,0,0,0"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="1" Grid.Row="0" Grid.RowSpan="3" BorderThickness="1,0,0,0"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.Column="4" Grid.Row="0" Grid.RowSpan="3" BorderThickness="1,0,0,0"/>
<Border Height="1" VerticalAlignment="Top" BorderBrush="#D7D7D7" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="17" BorderThickness="0,1,0,0"/>
<Border Height="1" VerticalAlignment="Top" BorderBrush="#D7D7D7" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="15" BorderThickness="0,1,0,0"/>
<Border Height="1" VerticalAlignment="Bottom" BorderBrush="#D7D7D7" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="17" BorderThickness="0,1,0,0"/>
<Border Height="1" VerticalAlignment="Bottom" BorderBrush="#D7D7D7" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="17" BorderThickness="0,1,0,0"/>
<TextBlock Width="84" Text="任务ID" TextAlignment="Center" Grid.Column="0" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="增值服务" Grid.Column="1" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="打包服务" Grid.Column="4" Grid.ColumnSpan="9" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="打包耗材" Grid.Column="13" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Width="101" TextAlignment="Center" Text="总计" Grid.Column="16" Grid.RowSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Grid Grid.Column="1" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsAcceptGoods,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.AcceptGoodsNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="2" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsSendGoods, StringFormat={}{0:F0} ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.SendGoodsNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="3" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsRuturnGoods ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.RuturnGoodsNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="4" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsBasicPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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 Grid.Row="1" Text="{Binding FeesItemTypeDTO.BasicPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="5" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsBoxPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.BoxPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="6" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsExpressPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.ExpressPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="7" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsExpressCloseSideFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.ExpressCloseSideFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="8" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsAirPaperPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.AirPaperPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="9" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsAirBagPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.AirBagPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="10" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsPOPBagPackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.RowSpan="2" BorderThickness="0,0,1,0"/>
<TextBlock Text="POP袋" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding FeesItemTypeDTO.POPBagPackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="11" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsTapePackFees ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.TapePackFeesNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="12" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsIncreateGoods ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.IncreateGoodsNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="13" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsPaperBox ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="#D7D7D7" Grid.RowSpan="2" BorderThickness="0,0,1,0"/>
<TextBlock Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="{Binding FeesItemTypeDTO.BoxNumber ,Converter={StaticResource intToStringConverter},ConverterParameter=号纸箱}"/>
</TextBlock>
<TextBlock Text="{Binding FeesItemTypeDTO.PaperBoxNo, StringFormat={}{0:F0},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="14" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsAirPaper ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.AirPaperNo, StringFormat={}{0:F2},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<Grid Grid.Column="15" Width="84" Grid.Row="1" Grid.RowSpan="2" Visibility="{Binding FeesItemTypeDTO.IsTape ,ConverterParameter=true:Collapsed:Visible,Converter={StaticResource objConverter}}" >
<Grid.RowDefinitions>
<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="{Binding FeesItemTypeDTO.TapeNo, StringFormat={}{0:F2},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<TextBlock Text="{Binding TaskId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding FeesItemTypeDTO.AllPackFees, StringFormat={}{0:F2},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="2" Grid.Column="16" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>-->
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<Grid Grid.Row="1" >
<Grid Grid.Row="1" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=未到货|部分到货|已取消:Collapsed:Visible}">
<Border Grid.Row="0" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}"/>
<c:BButton HorizontalAlignment="Center" Height="20" VerticalAlignment="Center" Background="White" Foreground="Black" Grid.Row="1" Content="设置"
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
>
<c:BButton HorizontalAlignment="Center" Height="20" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Grid.Row="1" Content="设置"
Command="{Binding SetServiceCommand}"
Visibility="Visible" />
</StackPanel>
</Grid>
</Grid>
</Grid>
@ -590,6 +394,51 @@
/>
</StackPanel>
</Grid>
<Grid Grid.Column="12" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="10 0 0 0 " VerticalAlignment="Center" Grid.Row="1" Content="质检"
Command="{Binding QualityTaskCommand}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待质检:Visible:Collapsed}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="完成"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待打包:Visible:Collapsed}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.UpdateTaskStateCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="TaskId" />
<Binding Path="TaskState"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Content="完成"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:Visible:Collapsed}"
>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.SetTaskStatusCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="TaskId" />
<Binding Path="OrderId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BButton>
</StackPanel>
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
@ -605,6 +454,7 @@
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="13"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>

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

@ -0,0 +1,75 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.BatchPrintWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="300" Width="300"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Window.Resources>
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="打印" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1" Orientation="Vertical" >
<StackPanel Orientation="Horizontal" Margin=" 50 50 0 0" HorizontalAlignment="Left">
<TextBlock Margin="0 0 5 0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1">
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="30" Width="150" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Border>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin=" 50 10 0 0" HorizontalAlignment="Left">
<TextBlock HorizontalAlignment="Left" Text="良品数量:" Margin="0 0 5 0" />
<TextBlock Name="goodProductQuantity" HorizontalAlignment="Left" Margin="0 0 5 0" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<TextBlock Text="条形码数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="barNumber" Width="100" WaterRemark="条形码数量"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<TextBlock Text="合格证数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="cerNumber" Width="100" WaterRemark="合格证数量"/>
</StackPanel>
</StackPanel>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="打印" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

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

@ -0,0 +1,210 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
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.QualityTask
{
/// <summary>
/// BatchPrintWindow.xaml 的交互逻辑
/// </summary>
public partial class BatchPrintWindow : BWindow
{
public BatchPrintWindow()
{
InitializeComponent();
this.Loaded += BatchPrintWindow_Loaded;
}
public void SetData(int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel)
{
this.BarCodeModel = BarCodeModel;
this.GoodProductQuantity = GoodProductQuantity;
goodProductQuantity.Text = GoodProductQuantity.ToString();
this.CertificateModel = CertificateModel;
this.DataContext = this;
}
public CertificateModel[] CertificateModel { get; set; }
public BarCodeModel BarCodeModel { get; set; }
public int GoodProductQuantity { get; set; }
private void BatchPrintWindow_Loaded(object sender, RoutedEventArgs e)
{
LoadPrints();
}
/// <summary>
/// 获取打印机名称
/// </summary>
private void LoadPrints()
{
var printingNames = PrinterSettings.InstalledPrinters;//获取本机的打印机数据
int index = -1;
int selectIndex = 0;
foreach (string name in printingNames)
{
if (name == "Microsoft XPS Document Writer" || name == "Microsoft Print to PDF" || name == "Fax")
{
continue;
}
index++;
if (name.Contains("Deli"))
{
selectIndex = index;
}
cbPrints.Items.Add(name);
}
if (cbPrints.Items.Count > selectIndex)
{
cbPrints.SelectedIndex = selectIndex;
}
}
private void PrintData(int printCount, string printName, BarCodeModel barCode = null, CertificateModel certificateModel = null)
{
try
{
PrintDocument document = new PrintDocument();
document.PrinterSettings.PrinterName = printName;//使用打印机名称,指定特定的打印机进行打印。
//设置打印页面
//document.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 236, 157);
document.PrintPage += (s, a) =>
{
Font font = new Font("宋体", 6, System.Drawing.FontStyle.Regular);
if (barCode != null)
{
MyPrintHelper.PrintBarcode(ref a, barCode, font);
}
if (certificateModel != null)
{
MyPrintHelper.PrintCertificate(ref a, certificateModel, font);
}
};
document.PrinterSettings.Copies = (short)printCount;//打印份数
document.Print();
}
catch (Exception ex)
{
App.Current.Dispatcher.Invoke(() =>
{
new TipsWindow($"打印失败,{ex.Message}").Show();
});
}
}
private void Document_PrintPage(object sender, PrintPageEventArgs args)
{
Font font = new Font("宋体", 6, System.Drawing.FontStyle.Regular);
if (BarCodeModel != null)
{
MyPrintHelper.PrintBarcode(ref args, BarCodeModel, font);
}
if (CertificateModel != null)
{
foreach (var cer in CertificateModel)
{
MyPrintHelper.PrintCertificate(ref args, cer, font);
}
}
}
private void BButton_Click(object sender, RoutedEventArgs e)
{
int cerNum = 0, barNum = 0;
if (!string.IsNullOrEmpty(cerNumber.Text))
try
{
cerNum = Convert.ToInt32(cerNumber.Text);
}
catch
{
MessageBox.Show("请输入数字");
return;
}
if (!string.IsNullOrEmpty(barNumber.Text))
try
{
barNum = Convert.ToInt32(barNumber.Text);
}
catch
{
MessageBox.Show("请输入数字");
return;
}
if (barNum > 0)
{
if (BarCodeModel == null)
{
MessageBox.Show("未设置条形码模板");
return;
}
}
if (cerNum > 0)
{
if (CertificateModel == null || CertificateModel.Count() <= 0)
{
MessageBox.Show("未设置合格证模板");
return;
}
}
string printName = cbPrints.Text;
Task.Factory.StartNew(() =>
{
if (barNum > 0)
{
if (BarCodeModel != null)
PrintData(barNum, printName, BarCodeModel);
}
if (cerNum > 0)
{
if (CertificateModel != null && CertificateModel.Count() > 0)
foreach (var cer in CertificateModel)
PrintData(cerNum, printName, null, cer);
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
this.Close();
}));
});
}
}
}

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

@ -0,0 +1,26 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualityLookCerWindow"
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.PackTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
mc:Ignorable="d"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Title="QualityLookCerWindow" Height="373" Width="386" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="查看合格证" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<local:CerControl Grid.Row="1" model="{Binding CertificateModel,Mode=TwoWay}"/>
</Grid>
</c:BWindow>

31
BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml.cs

@ -0,0 +1,31 @@
using BBWY.Client.Extensions;
using BBWY.Client.Models;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualityLookCerWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityLookCerWindow : BWindow
{
public QualityLookCerWindow(CertificateModel certificate)
{
CertificateModel = certificate.Copy();
InitializeComponent();
this.DataContext = this;
}
public CertificateModel CertificateModel { get; set; }
}
}

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

@ -0,0 +1,166 @@
<UserControl x:Class="BBWY.Client.Views.QualityTask.QualitySetCerControl"
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.QualityTask"
mc:Ignorable="d"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
d:DesignHeight="300" d:DesignWidth="382">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:QualitySetCerControl}}}">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding model.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.标准无3c}}" Checked="RadioButton_Checked" 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 model.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.标准有3c}}" Checked="RadioButton_Checked" 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 model.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.无型号}}" Checked="RadioButton_Checked" CommandParameter="{x:Static cmodel:CertificateLabelModel.无型号}" Content="无型号" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
<RadioButton GroupName="cer" HorizontalAlignment="Left" VerticalContentAlignment="Center" IsChecked="{Binding model.LabelModel,Converter={StaticResource enumToBooleanConverter},ConverterParameter={x:Static cmodel:CertificateLabelModel.适用年龄 }}" Checked="RadioButton_Checked" CommandParameter="{x:Static cmodel:CertificateLabelModel.适用年龄}" Content="适用年龄" Margin="10,0,0,0" Height="30" VerticalAlignment="Top"/>
</StackPanel>
<DockPanel Grid.Row="1" >
<Border Visibility="{Binding model.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" 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" />
</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 model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</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 model.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" />
<c:BTextBox 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="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Name="shiyongnianling" Visibility="{Binding model.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" 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" />
</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 model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<TextBlock Text="适用年龄:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.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" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</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 model.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" />
<c:BTextBox 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="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding model.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" 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>
<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 model.BrandName,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.Shader,Mode=TwoWay}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</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 model.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" />
<c:BTextBox 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="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding model.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 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" Text="{Binding model.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 model.BrandName,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.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</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 model.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" />
<c:BTextBox 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="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
</DockPanel>
</Grid>
</UserControl>

64
BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml.cs

@ -0,0 +1,64 @@
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualitySetCerControl.xaml 的交互逻辑
/// </summary>
public partial class QualitySetCerControl : UserControl
{
public QualitySetCerControl()
{
InitializeComponent();
}
/// <summary>
///
/// </summary>
public CertificateModel model
{
get { return (CertificateModel)GetValue(modelProperty); }
set
{
SetValue(modelProperty, value);
}
}
public static readonly DependencyProperty modelProperty =
DependencyProperty.Register("model", typeof(CertificateModel), typeof(QualitySetCerControl), new PropertyMetadata(ChangedProperty));
private static void ChangedProperty(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//var control = d as CerControl;
//var data = e.NewValue as CertificateModel;
//if (data != null)
//{
// control.SetData(data);
//}
}
private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
var rabtn = sender as RadioButton;
if (rabtn != null && rabtn.CommandParameter != null)
{
var labModel = Enum.Parse<CertificateLabelModel>(rabtn.CommandParameter.ToString());
model.LabelModel = labModel;
model.IsLogo = labModel == CertificateLabelModel.3c ? 1 : 0;
}
var data = e.Source as string;
}
}
}

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

@ -0,0 +1,53 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualitySetCerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local ="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
mc:Ignorable="d"
xmlns:c ="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed" Height="480" Width="383"
RightButtonGroupMargin="0,5,5,0">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:QualitySetCerWindow}}}">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="设置合格证" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" Margin="20 10 0 0">
<c:BButton Content="合格证信息" Width="100"
Background="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:#8080FF:#F2F2F2}"
Foreground="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:White:#4A4A4A}"
Command="{Binding SetPackCerStateCommand}" CommandParameter="{x:Static cmodel:PackCerState.合格证信息}"/>
<c:BButton Content="无需合格证" Width="100"
Background="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=无需合格证:#8080FF:#F2F2F2}"
Foreground="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=无需合格证:White:#4A4A4A}"
Command="{Binding SetPackCerStateCommand}" CommandParameter="{x:Static cmodel:PackCerState.无需合格证}"/>
</StackPanel>
<Grid Grid.Row="1" Visibility="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:Visible:Collapsed}">
<local:QualitySetCerControl model="{Binding CertificateModel,Mode=TwoWay}"/>
</Grid>
</Grid>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton x:Name="save_btn" Background="{StaticResource Button.Selected.Background}" Grid.Row="2" Content="确认" HorizontalAlignment="Right" Margin="0 0 5 0" Width="100" VerticalAlignment="Stretch"
Click="save_btn_Click" />
</Grid>
</c:BWindow>

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

@ -0,0 +1,137 @@
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using BBWY.Client.Extensions;
using BBWY.Client.APIServices;
using BBWY.Controls;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualitySetCerWindow.xaml 的交互逻辑
/// </summary>
public partial class QualitySetCerWindow : BWindow
{
public QualitySetCerWindow()
{
InitializeComponent();
SetPackCerStateCommand = new RelayCommand<PackCerState>(SetPackCerState);
}
private void SetPackCerState(PackCerState obj)
{
PackCerState = obj;
}
public void LoadData(bool isNeedCer, CertificateModel CertificateModel, PackPurchaseTaskService packTaskService, CertificateModel SpuCertificateModel, bool IsSetSpuCertificate)
{
this.CertificateModel = CertificateModel.Copy();
this.packTaskService = packTaskService;
PackCerState = isNeedCer ? PackCerState. : PackCerState.;
this.DataContext = this;
}
public ICommand SetPackCerStateCommand { get; set; }
public PackCerState PackCerState
{
get
{
return (PackCerState)GetValue(PackCerStateProperty);
}
set
{
SetValue(PackCerStateProperty, value);
}
}
public static readonly DependencyProperty PackCerStateProperty =
DependencyProperty.Register("PackCerState", typeof(PackCerState), typeof(QualitySetCerWindow));
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; }
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)
|| string.IsNullOrEmpty(CertificateModel.ProductAdress))
{
//new TipsWindow("参数出错!请重新填写!").Show();
MessageBox.Show("有未填写的参数");
return;
}
if((CertificateModel.LabelModel== CertificateLabelModel.3c|| CertificateModel.LabelModel == CertificateLabelModel.3c) && string.IsNullOrEmpty( CertificateModel.ProductNo))
{
MessageBox.Show("型号不能为空");
return;
}
if ( CertificateModel.LabelModel == CertificateLabelModel.3c && string.IsNullOrEmpty(CertificateModel.FactoryNumber))
{
MessageBox.Show("工厂编号不能为空");
return;
}
if (CertificateModel.LabelModel == CertificateLabelModel. && string.IsNullOrEmpty(CertificateModel.ApplyAge))
{
MessageBox.Show("适用年龄不能为空");
return;
}
var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
var resData = packTaskService.SaveCer(new CerRequest
{
Brand = CertificateModel.Brand,
BrandName = CertificateModel.BrandName,
ProductNo = CertificateModel.ProductNo,
SkuId = CertificateModel.SkuId,
ExcuteStander = CertificateModel.ExcuteStander,
LabelModel = (int)CertificateModel.LabelModel,
FactoryNumber = CertificateModel.FactoryNumber,
IsLogo = CertificateModel.IsLogo,
ProductAdress = CertificateModel.ProductAdress,
ProductShop = CertificateModel.ProductShop,
Shader = CertificateModel.Shader,
ApplyAge = CertificateModel.ApplyAge,
GoodsNumber = CertificateModel.GoodsNumber,
ProduceDate = CertificateModel.ProduceDate,
PurchaseSkuId = CertificateModel.PurchaseSkuId,
});
if (resData == null || !resData.Success)
{
return;
}
CertificateModel.Id = resData.Data;
if (SaveResult != null) SaveResult(CertificateModel, PackCerState);
this.Close();
}
}
}

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

@ -0,0 +1,489 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualityWindow"
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:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
DataContext="{Binding QualityTask,Source={StaticResource Locator}}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Height="666" Width="1200">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Background="{StaticResource Border.Background}">
<TextBlock Text="质检任务信息" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="190"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="0 10 0 0"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Orientation="Vertical" Width="170">
<TextBlock Margin="10 10 0 0" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuId}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU:"/>
<Run Text="{Binding SkuId}"/>
</TextBlock >
<TextBlock Margin="10 10 10 10" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock >
<TextBlock Margin="10 0 10 10">
<Run Text="货号:"/>
<Run Text="{Binding ProductNo}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="10 0 0 10" Height="30">
<TextBlock Text="品名:" VerticalAlignment="Center"/>
<c:BTextBox Text="{Binding BrandName}" Height="30" Width="120" WaterRemark="请输入品名"/>
</StackPanel>
<StackPanel Margin="10 0 0 10" Orientation="Horizontal">
<TextBlock Text="条形码:"/>
<c:BButton Content="待设置" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding SetBarCodeCommand}"
Visibility="{Binding IsSetBarCode, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"
/>
<StackPanel Visibility="{Binding IsSetBarCode, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }" Orientation="Horizontal" HorizontalAlignment="Center" >
<c:BButton Content="查看" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding LookBarCommand}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding SetBarCodeCommand}"/>
</StackPanel >
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="1">
<StackPanel Orientation="Vertical">
<TextBlock Text="任务信息" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="465"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center">
<Run Text="采购数量:"/>
<Run Text="{Binding SkuCount}"/>
</TextBlock>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="到货数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding ArrivalQuantity}" Height="30"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding GoodProductQuantity}" Height="30"/>
</UniformGrid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 30 0 0" >
<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
<Run Text="份数:"/>
<Run Text="{Binding WareHourseCount,Mode=TwoWay}"/>
</TextBlock>
<UniformGrid Columns="3" Margin="45 0 0 0" Height="30">
<TextBlock Text="预计完成时间: " VerticalAlignment="Center"/>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" BorderThickness="1">
<hc:ComboBox BorderThickness="0" ItemsSource="{Binding PreCompeteTimeDayList}" SelectedIndex="0" Text="{Binding PreCompeteTimeDay}">
</hc:ComboBox>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" Margin="10 0 0 0" BorderThickness="1">
<hc:ComboBox BorderThickness="0" ItemsSource="{Binding PreCompeteTimeHourList}" SelectedIndex="0" Text="{Binding PreCompeteTimeHour}">
</hc:ComboBox>
</Border>
</UniformGrid>
</StackPanel>
</StackPanel>
<c:BTextBox WaterRemark="打包备注" Text="{Binding MarkMessage,Mode=TwoWay}" Grid.Column="1" Margin="0 5 10 5" Height="80"/>
</Grid>
<ListBox Grid.Row="2" Grid.ColumnSpan="2"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderThickness="1,1,0,1"
BorderBrush="{StaticResource Border.Brush}"
ItemsSource="{Binding WareHourseList}"
Width="Auto"
Margin="20,0,0,10"
HorizontalAlignment="Left"
>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="auto" Height="90">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Index,StringFormat=第\{0\}份}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="1" Text="{Binding Count}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="2" Style="{StaticResource middleTextBlock}" Margin="5 0 5 0 ">
<Run Text="{Binding WareName}"/>
</TextBlock>
<Border Width="1" Grid.RowSpan="3" HorizontalAlignment="Right"
Background="{StaticResource Border.Brush}"/>
<Border Height="1" Background="{StaticResource Border.Brush}"
VerticalAlignment="Bottom"/>
<Border Height="1" Background="{StaticResource Border.Brush}"
VerticalAlignment="Bottom" Grid.Row="1"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Text="配件商品信息" Margin="20 10 0 10" FontSize="13" FontWeight="Bold" VerticalAlignment="Top" HorizontalAlignment="Left" />
<Grid >
<ListBox x:Name="listbox_order" HorizontalAlignment="Left"
Height="155" Width="900" Margin="0" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0" Visibility="{Binding OrderId,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid
MinHeight="100">
<StackPanel Orientation="Horizontal" Height="150">
<c:BAsyncImage UrlSource="{Binding Logo}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1"
Height="150" Width="150" Stretch="Fill"
VerticalAlignment="Top" Margin="20 0 0 0"
Cursor="Hand">
<!--<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>-->
</c:BAsyncImage>
<DockPanel VerticalAlignment="Top" Width="190" Height="150">
<TextBlock Margin="10 10 0 0" DockPanel.Dock="Top" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding PurchaseSkuId}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="配件商品ID:"/>
<Run Text="{Binding PurchaseSkuId}"/>
</TextBlock >
<TextBlock Margin="10 10 0 10" DockPanel.Dock="Top" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding Title}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding Title}"/>
</TextBlock >
<StackPanel Margin="10 0 0 0" Height="25" VerticalAlignment="Bottom" DockPanel.Dock="Bottom" Orientation="Horizontal">
<TextBlock Text="合格证:" VerticalAlignment="Center"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="查看" Style="{StaticResource LinkButton}" Width="35" Height="15"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
</StackPanel>
</DockPanel>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox HorizontalAlignment="Left"
Height="155" Width="900" Margin="0" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0" Visibility="{Binding OrderId,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid
MinHeight="100">
<StackPanel Orientation="Horizontal" Height="150">
<Border Margin="20 0 0 0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="150" Width="150">
<StackPanel Orientation="Vertical">
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="30 " Margin="10 50 10 30">
<TextBlock Text="{Binding CerDTO.GoodsNumber,StringFormat=配件{0}}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Margin="10 0 0 0" Height="25" VerticalAlignment="Bottom" Orientation="Horizontal">
<TextBlock Text="合格证: " VerticalAlignment="Center"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="查看" Style="{StaticResource LinkButton}" Width="35" Height="15"
CommandParameter="{Binding CerDTO}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<TextBlock Text="无需合格证" Height="15" Margin="0 0 0 0"
/>
<!--<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>-->
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<TextBlock Text="打包配置" FontWeight="Bold" FontSize="13" Margin="20 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid Height="70" Margin="20 20 20 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="77"/>
<ColumnDefinition Width="77"/>
<ColumnDefinition MinWidth="77"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="86"/>
<ColumnDefinition Width="86"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.ColumnSpan="8" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="0" Grid.ColumnSpan="8" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="1" Grid.ColumnSpan="8" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Left" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="1" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="2" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="3" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="4" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="5" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="6" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="7" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="0" Text="组合类型"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="1" Text="配件数量"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="2" Text="SKU配件商品"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="3" Text="基础包装"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="4" Text="增量耗材"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="5" Text="条码标签"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="6" Text="合格证"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="7" Text="合格证位置"/>
<Grid Grid.Row="1" Grid.Column="0" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding PackTypeList}" Text="{Binding PackType}" >
</ComboBox>
</Grid>
<c:BTextBox BorderBrush="Transparent" Grid.Row="1" Grid.Column="1" Height="30" Margin="5" Text="{Binding GoodsNumber,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<c:BTextBox BorderBrush="Transparent" Grid.Row="1" Grid.Column="2" Height="30" Margin="5" Text="{Binding SkuTitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<Grid Grid.Row="1" Grid.Column="3" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding BasicPackList}" Text="{Binding BasicPack}" >
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="4">
<hc:CheckComboBox BorderThickness="0" IsTextSearchEnabled="True" ItemsSource="{Binding IncreateList}"
ShowClearButton="True"
MinWidth="90"
Height="25"
Margin="5,0,5,0">
<hc:CheckComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="5,2.5">
<CheckBox Content="{Binding IncreateName}" 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>
</Grid>
<Grid Grid.Row="1" Grid.Column="5" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding IsNeedBarCodeList}" Text="{Binding IsNeedBarCode,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="6" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding IsNeedCerList}" Text="{Binding IsNeedCertificateModel,Mode=TwoWay}">
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="7" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding CertificatePositionList}" Text="{Binding CertificatePosition}">
</ComboBox>
</Grid>
</Grid>
</StackPanel>
</Grid>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
</Grid>
<Grid Grid.Row="2">
<c:BButton Content="完成质检" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,19,2"
Command="{Binding CompeteQualityTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="1" VerticalAlignment="Bottom"/>
</Grid>
</c:BWindow>

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

@ -0,0 +1,16 @@
using BBWY.Controls;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualityWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityWindow : BWindow
{
public QualityWindow()
{
InitializeComponent();
}
}
}
Loading…
Cancel
Save