Browse Source

添加任务挂起 ,拆分,商家自取拆分,修改验收逻辑.

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
98b2d9fece
  1. 49
      BBWY.Client/APIServices/QiKu/PackServiceService.cs
  2. 62
      BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs
  3. 18
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  4. 14
      BBWY.Client/APIServices/QiKu/QualityTaskService.cs
  5. 4
      BBWY.Client/App.xaml.cs
  6. 41
      BBWY.Client/Converters/MultiStateConverter.cs
  7. 88
      BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs
  8. 47
      BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs
  9. 28
      BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs
  10. 26
      BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs
  11. 2
      BBWY.Client/Models/Enums.cs
  12. 12
      BBWY.Client/Models/PackTask/EnumModel.cs
  13. 171
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  14. 2
      BBWY.Client/Models/PackTask/ShopTotal.cs
  15. 276
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  16. 14
      BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs
  17. 150
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  18. 3
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  19. 3
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs
  20. 4
      BBWY.Client/Views/PackTask/PackTaskTotal.xaml
  21. 4
      BBWY.Client/Views/PackTask/TaskList.xaml
  22. 7
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml
  23. 119
      BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml
  24. 183
      BBWY.Client/Views/PackTaskAbort/AddExceptionWindow.xaml.cs
  25. 77
      BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml
  26. 82
      BBWY.Client/Views/PackTaskAbort/UpdateShelvesNumberWindow.xaml.cs
  27. 3
      BBWY.Client/Views/PackagingTask/PackagingTaskList.xaml
  28. 4
      BBWY.Client/Views/PackagingTask/ShopPackagingTaskList.xaml
  29. 19
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml
  30. 563
      BBWY.Client/Views/PackagingTask/WaitPackingExceptionTaskControl.xaml
  31. 26
      BBWY.Client/Views/PackagingTask/WaitPackingExceptionTaskControl.xaml.cs
  32. 153
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml
  33. 53
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml.cs
  34. 2
      BBWY.Client/Views/PackerTask/PackerTaskList.xaml
  35. 4
      BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml
  36. 72
      BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml
  37. 94
      BBWY.Client/Views/QualityTask/AddExceptionWindow.xaml.cs
  38. 50
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs
  39. 84
      BBWY.Client/Views/QualityTask/QualityControl.xaml
  40. 14
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  41. 107
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  42. 18
      BBWY.Client/Views/QualityTask/ShopWaitQualityControl.xaml
  43. 11
      BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml
  44. 10
      BBWY.Client/Views/QualityTipWindows/QualityProductWindow.xaml.cs
  45. 2
      BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml
  46. 56
      BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml
  47. 61
      BBWY.Client/Views/SplitTask/ExceptionTaskWindow.xaml.cs
  48. 69
      BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml
  49. 127
      BBWY.Client/Views/SplitTask/PrintExceptionTaskWindow.xaml.cs
  50. 48
      BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml
  51. 37
      BBWY.Client/Views/SplitTask/SplitTaskWindow.xaml.cs
  52. 4
      BBWY.Client/Views/TotalPackTask/ShopPackTaskTotal.xaml

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

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

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

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

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

@ -442,7 +442,7 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<object> SplitPackTask(long nowTaskId, int ExceptionCount, TaskExceptionType TaskExceptionType, string RemarkMsg, TaskState AbortTaskState)
public ApiResponse<object> SplitPackTask(long nowTaskId, int ExceptionCount,TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SplitPackTask",
new
@ -450,17 +450,23 @@ namespace BBWY.Client.APIServices
UserName = globalContext.User.Name,
nowTaskId,
ExceptionCount,
TaskExceptionType,
RemarkMsg,
AbortTaskState
AbortTaskState,
}
, null, HttpMethod.Post);
}
/// <summary>
/// 创建任务 新版
/// </summary>
/// <param name="createTaskRequest"></param>
/// <returns></returns>
public ApiResponse<TaskAbortEnumResponse> GetTaskAbortEnum()
{
return SendRequest<TaskAbortEnumResponse>(globalContext.QKApiHost, "api/PackTask/GetTaskAbortEnum",null , null, HttpMethod.Get);
}
}

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

@ -54,19 +54,7 @@ namespace BBWY.Client.APIServices.QiKu
public ApiResponse<object> QualityTaskException(long TaskId, TaskExceptionType TaskExceptionType, string RemarkMsg, TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/QualityTask/QualityTaskException",
new
{
TaskId,
TaskExceptionType,
RemarkMsg,
UserName = globalContext.User.Name,
AbortTaskState
}
, null, HttpMethod.Post);
}

4
BBWY.Client/App.xaml.cs

@ -73,12 +73,12 @@ namespace BBWY.Client
//齐越琳琳
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//齐越季夏
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY";
//店铺自打包
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNzE5Nzc5OTU4MTYwNjI1NjY0IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4IiwiZXhwIjoxNzMxNzI1NDA2fQ.VV6k8nDqTtQOY6_ma6QcX6geMU_kaswl16BGXF89so8";
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNzE5Nzc5OTU4MTYwNjI1NjY0IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4IiwiZXhwIjoxNzMxNzI1NDA2fQ.VV6k8nDqTtQOY6_ma6QcX6geMU_kaswl16BGXF89so8";
#else
//var uid = e.Args.Count() > 0 ? e.Args.LastOrDefault(args => args.StartsWith("uid:")) : string.Empty;
//if (string.IsNullOrEmpty(uid))

41
BBWY.Client/Converters/MultiStateConverter.cs

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

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

@ -11,49 +11,49 @@ namespace BBWY.Client.Models.APIModel.Request
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
///// <summary>
///// 拳探订单id
///// </summary>
//public string OrderId { get; set; }
///// <summary>
///// skuid
///// </summary>
//public string SkuId { get; set; }
///// <summary>
///// 备注信息
///// </summary>
//public string MarkMessage { get; set; }
///// <summary>
///// 配件数
///// </summary>
//public int GoodsNumber { get; set; }
///// <summary>
///// sku配件名称
///// </summary>
//public string SkuGoodsTitle { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get; set; }
///// <summary>
///// 增量1()
///// </summary>
//public string Increment1 { get; set; }
///// <summary>
///// 基础包装(快递袋=0,纸箱=1,麻袋=2)
///// </summary>
//public BasicPack BasicPack { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get; set; }
///// <summary>
///// 打包类型(单件=0,多件=1)
///// </summary>
//public PackType PackType { get; set; }
/// <summary>
/// 货号品名(手写上传)
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get; set; }
///// <summary>
///// 合格证位置(外部包装=0,产品包装=1)
///// </summary>
//public CertificatePosition CertificatePosition { get; set; }
/// <summary>
/// 合格证id
@ -63,15 +63,15 @@ namespace BBWY.Client.Models.APIModel.Request
/// 显示的条码Id
/// </summary>
public long? BarcodeId { get; set; }
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get; set; }
///// <summary>
///// 到货数量
///// </summary>
//public int ArrivalQuantity { get; set; }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get; set; }
///// <summary>
///// 良品数量
///// </summary>
//public int GoodProductQuantity { get; set; }
/// <summary>
/// 品牌标签类型

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

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

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

@ -1,4 +1,5 @@
using System;
using BBWY.Client.Models.APIModel.Response.PackTask;
using System;
using System.Collections.Generic;
using System.Text;
@ -223,5 +224,30 @@ namespace BBWY.Client.Models.APIModel
/// 包装人
/// </summary>
public string[] PackUserName { get; set; }
public FeesItemResponse FeesItemResponse { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
public string OrderId { get; set; }
}
}

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

@ -200,5 +200,31 @@ namespace BBWY.Client.Models.APIModel
/// 任务挂起时间
/// </summary>
public DateTime? TaskAbortTime { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
/// <summary>
/// 验收异常状态
/// </summary>
public QualityTaskExceptionState? QualityTaskExceptionState { get; set; }
}
}

2
BBWY.Client/Models/Enums.cs

@ -225,7 +225,9 @@
= 0,
= 1,
= 2,//已到货
_ = 21,//异常挂起
= 3,
_ = 31,//异常挂起
= 4,
= 5,
= 6,

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

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

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

@ -1,4 +1,5 @@
using BBWY.Client.APIServices;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.ViewModels;
@ -6,7 +7,10 @@ using BBWY.Client.ViewModels.PackTask;
using BBWY.Client.Views.PackTask;
using BBWY.Client.Views.QualityTask;
using BBWY.Client.Views.QualityTipWindows;
using BBWY.Client.Views.SplitTask;
using BBWY.Client.Views.StorePickSelf;
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using NPOI.Util;
using System;
using System.Collections.Generic;
@ -14,6 +18,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
@ -29,7 +34,6 @@ namespace BBWY.Client.Models
private string taskIdRemark;
/// <summary>
///任务备注(原任务:10000 子任务:10000-1)
@ -72,6 +76,31 @@ namespace BBWY.Client.Models
/// </summary>
public ICommand UpdateTaskCommand { get; set; }
/// <summary>
/// 任务拆分
/// </summary>
public ICommand TaskSplitCommand { get; set; }
/// <summary>
/// 挂起
/// </summary>
public ICommand PackagingTaskExceptionCommand { get; set; }
/// <summary>
/// 商家自取
/// </summary>
public ICommand StoreGetBySelfCommand { get; set; }
/// <summary>
/// 包装任务释放挂起
/// </summary>
public ICommand DisposeTaskCommand { get; set; }
/// <summary>
/// 删除任务
/// </summary>
public ICommand DeletedTaskCommand { get; set; }
public Action ReflashTask { get; set; }
private void UpdateTask()
{
@ -106,20 +135,125 @@ namespace BBWY.Client.Models
}
private IServiceProvider sp;
public PackTaskModel()
{
sp = (App.Current as App).ServiceProvider;
using (var ss = sp.CreateScope())
{
packTaskService = ss.ServiceProvider.GetRequiredService<PackTaskService>();
packTaskAbortService = ss.ServiceProvider.GetRequiredService<PackTaskAbortService>();
}
PrintBarcodeCommand = new RelayCommand(PrintBarcode);
PrintCerCommand = new RelayCommand(PrintCer);
LookBarCommand = new RelayCommand(LookBar);
LookCerCommand = new RelayCommand(LookCer);
SetServiceCommand = new RelayCommand(SetService);
UpdateTaskCommand = new RelayCommand(UpdateTask);
DeletedTaskCommand = new RelayCommand<object>(DeletedTask);
DisposeTaskCommand = new RelayCommand<long>(DisposeTask);
StoreGetBySelfCommand = new RelayCommand<long>(StoreGetBySelf);
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
TaskSplitCommand = new RelayCommand<PackTaskModel>(TaskSplit);
}
PackTaskService packTaskService;
PackTaskAbortService packTaskAbortService;
private void PackagingTaskException(long taskId)
{
var wareVm = (App.Current as App).ServiceProvider.GetRequiredService<WareHouseListViewModel>();
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState., ReflashTask, wareVm.IsCanPackModelList, wareVm.ShelvesNumberList, wareVm.FloorNumberList);
addExceptionWindow.ShowDialog();
}
private void TaskSplit(PackTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask);
addExceptionWindow.ShowDialog();
}
public void StoreGetBySelf(long taskId)
{
//MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示",
// MessageBoxButton.YesNo,
// MessageBoxImage.Warning);
//if (result != MessageBoxResult.Yes) return;
var data = packTaskService.GetStoreGetSelfData(taskId);
if (!data.Success)
{
MessageBox.Show(data?.Msg);
return;
}
StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) =>
{
var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName);
if (res == null)
{
return false;
}
if (!res.Success)
{
System.Windows.MessageBox.Show(res.Msg, "错误信息");
return false;
}
Task.Factory.StartNew(() => ReflashTask?.Invoke());
return true;
}, false);
sorePickProductWindow.ShowDialog();
}
/// <summary>
/// 手动释放挂起
/// </summary>
/// <param name="model"></param>
private void DisposeTask(long taskId)
{
if (System.Windows.MessageBox.Show("是否释放挂起?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning) != MessageBoxResult.Yes)
return;
var res = packTaskAbortService.DisposedPackTask(taskId);
if (res == null || !res.Success)
{
System.Windows.MessageBox.Show(res?.Msg);
return;
}
ReflashTask?.Invoke();
}
private void DeletedTask(object obj)
{
var packTaskmodel = (PackTaskModel)obj;
MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskIdRemark}?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
packTaskService.DeletedTask(packTaskmodel.TaskId);
Task.Factory.StartNew(() => ReflashTask?.Invoke());
}
private void SetService()
{
@ -394,10 +528,18 @@ namespace BBWY.Client.Models
public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } }
private QualityTaskExceptionState? qualityTaskExceptionState;
public QualityTaskExceptionState? QualityTaskExceptionState { get => qualityTaskExceptionState; set { Set(ref qualityTaskExceptionState, value); } }
private PackagingTaskExceptionState packagingTaskExceptionState;
/// <summary>
/// 包装任务状态
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; }
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get => packagingTaskExceptionState; set { Set(ref packagingTaskExceptionState, value); } }
/// <summary>
@ -543,6 +685,29 @@ namespace BBWY.Client.Models
/// 发送信息不全时间
/// </summary>
public DateTime? SendToSetSkuConfigureTime { get; set; }
/// <summary>
/// 异常类型
/// </summary>
public string TaskExceptionType { get; set; }
/// <summary>
/// 货架编号
/// </summary>
public string ShelvesNumber { get; set; }
/// <summary>
/// 货架层数
/// </summary>
public int? FloorNumber { get; set; }
/// <summary>
/// 挂起异常备注
/// </summary>
public string AbortRemark { get; set; }
}
public class SkuMessage : NotifyObject

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

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

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

@ -36,6 +36,8 @@ using NPOI.SS.Util;
using System.Text;
using BBWY.Client.Views.SplitTask;
using BBWY.Client.Extensions;
using BBWY.Client.Views.PackTaskAbort;
using System.Windows.Controls;
namespace BBWY.Client.ViewModels.PackTask
{
@ -728,10 +730,6 @@ namespace BBWY.Client.ViewModels.PackTask
public ICommand DeletedTaskCommand { get; set; }
/// <summary>
/// 商家自取
/// </summary>
public ICommand StoreGetBySelfCommand { get; set; }
/// <summary>
@ -778,16 +776,40 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ICommand QualityTaskCommand { get; set; }
/// <summary>
/// 任务拆分
/// </summary>
public ICommand TaskSplitCommand { get; set; }
/// <summary>
/// 挂起
/// </summary>
public ICommand PackagingTaskExceptionCommand { get; set; }
/// <summary>
/// 商家自取
/// </summary>
public ICommand StoreGetBySelfCommand { get; set; }
/// <summary>
/// 包装任务释放挂起
/// </summary>
public ICommand DisposeTaskCommand { get; set; }
/// <summary>
/// 修改货架号
/// </summary>
public ICommand UpdateShelvesNumberCommand { get; set; }
public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService)
{
/// <summary>
/// 打印异常任务信息
/// </summary>
public ICommand PrintShelvesNumberCommand { get; set; }
public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService, PackTaskAbortService packTaskAbortService)
{
this.packTaskAbortService = packTaskAbortService;
this.globalContext = globalContext;
this.sealBoxService = sealBoxService;
this.packTaskService = packTaskService;
@ -857,7 +879,7 @@ namespace BBWY.Client.ViewModels.PackTask
SearchTaskList();
else
PageIndex = 1;
});
@ -915,16 +937,82 @@ namespace BBWY.Client.ViewModels.PackTask
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
DisposeTaskCommand = new RelayCommand<long>(DisposeTask);
if (IsCanPackModelList == null)
{
var res = packTaskService.GetTaskAbortEnum();
if (res.Success)
{
IsCanPackModelList = res.Data.IsCanPackModelList;
ShelvesNumberList = res.Data.ShelvesNumberList;
FloorNumberList = res.Data.FloorNumberList;
}
}
UpdateShelvesNumberCommand = new RelayCommand<PackTaskModel>(UpdateShelvesNumber);
PrintShelvesNumberCommand = new RelayCommand<PackTaskModel>(PrintShelvesNumber);
}
private void PackagingTaskException(long taskId)
private void PrintShelvesNumber(PackTaskModel model)
{
PrintExceptionTaskWindow window = new PrintExceptionTaskWindow(model);
window.ShowDialog();
}
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
private void UpdateShelvesNumber(PackTaskModel model)
{
UpdateShelvesNumberWindow window = new UpdateShelvesNumberWindow(packTaskAbortService, model, ReflashTask, ShelvesNumberList, FloorNumberList);
window.ShowDialog();
}
private void TaskSplit(PackTaskModel model)
/// <summary>
/// 手动释放挂起
/// </summary>
/// <param name="model"></param>
public void DisposeTask(long taskId)
{
if (System.Windows.MessageBox.Show("是否释放挂起?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning) != MessageBoxResult.Yes)
return;
var res = packTaskAbortService.DisposedPackTask(taskId);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
ReflashTask();
}
public List<IsContinuePackageModel> IsCanPackModelList { get; set; }
public List<string> ShelvesNumberList { get; set; }
public List<int> FloorNumberList { get; set; }
public void PackagingTaskException(long taskId)
{
try
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState., ReflashTask, IsCanPackModelList, ShelvesNumberList, FloorNumberList);
addExceptionWindow.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public void TaskSplit(PackTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask);
@ -985,19 +1073,19 @@ namespace BBWY.Client.ViewModels.PackTask
bool? isCer3CValid = null;
new QualityProductWindow("商品合格证情况", "商品包装有合格证信息", "商品包装合格证信息", (ishaveCer) =>
new QualityProductWindow("商品合格证情况", "包装是否有合格证?", "有", "无", (ishaveCer) =>
{
if (ishaveCer)//验收商品 有合格证
{
if (skuAttsDetail.ApplyAge.IsNullOrEmpty() || (skuAttsDetail.IsApplyAgeOver14 != null && skuAttsDetail.IsApplyAgeOver14.Value))//不存在使用年龄 或者适用年龄大于14
{
new QualityProductWindow("商品合格证情况", "商品包装合格证上有品牌信息", "商品包装合格证上无品牌信息", (iscerhavebrand) =>
new QualityProductWindow("商品合格证情况", "合格证是否有品牌信息?", "有", "无", (iscerhavebrand) =>
{
if (iscerhavebrand)
{
new QualityProductWindow("商品合格证情况", $"商品包装合格证上的品牌是{skuAttsDetail.Brand}", $"商品包装合格证上的品牌不是{skuAttsDetail.Brand}", (istruebrand) =>
new QualityProductWindow("商品合格证情况", $"合格证品牌:{skuAttsDetail.Brand}?", $"是", $"不是", (istruebrand) =>
{
if (!istruebrand)
{
@ -1031,7 +1119,7 @@ namespace BBWY.Client.ViewModels.PackTask
return;
}
//todo: 判断是否首次验收 只支持供应链 有采购方案的
new QualityProductWindow("商品合格证情况", "商品合格证类型有3C标", "商品合格证类型无3C标", (ishave3c) =>
new QualityProductWindow("商品合格证情况", "合格证是否有3C标?", "有", "无", (ishave3c) =>
{
if (ishave3c)
{
@ -1093,6 +1181,14 @@ namespace BBWY.Client.ViewModels.PackTask
if (sendCer3CValidMsgModel != null)
{
if (model.TaskAbortTime != null)//
{
MessageBox.Show($"任务异常未处理,{sendCer3CValidMsgModel}");
return;
}
var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, sendCer3CValidMsgModel.Value);
if (res == null || !res.Success)
@ -1107,21 +1203,20 @@ namespace BBWY.Client.ViewModels.PackTask
MessageBox.Show(res.Msg);
ReflashTask();//刷新任务
}
}
if (isqualityCer)//合格证验收完毕
{
bool isqualityBrand = false;
new QualityProductWindow("商品品牌情况", "商品包装有品牌信息", "商品包装无品牌信息", (ishavebrand) =>
new QualityProductWindow("商品品牌情况", "包装是否有品牌商标?", "有", "无", (ishavebrand) =>
{
if (ishavebrand)//有品牌且品牌不是集团的
{
if (!skuAttsDetail.IsTeamBrand)
{
new QualityProductWindow($"商品品牌情况", $"商品包装品牌是{skuAttsDetail.Brand}", $"商品包装品牌不是{skuAttsDetail.Brand}", (istruebrand) =>
new QualityProductWindow($"商品品牌情况", $"包装品牌:{skuAttsDetail.Brand}", $"是", $"不是", (istruebrand) =>
{
@ -1145,9 +1240,6 @@ namespace BBWY.Client.ViewModels.PackTask
markType = BrandMarkType.;//有品牌 但任务sku所属的品牌是集团品牌
isqualityBrand = true;
}
}
else
{
@ -1157,11 +1249,27 @@ namespace BBWY.Client.ViewModels.PackTask
}
}).ShowDialog();
if (isqualityBrand)
{
QualityWindow service = new QualityWindow(model, ReflashTask, IsNeedCer, markType, packTaskRes.Data);
service.ShowDialog();
if (IsNeedCer == Need.)
{
QualityWindow service = new QualityWindow(model, ReflashTask, IsNeedCer, markType, packTaskRes.Data);
service.ShowDialog();
}
else
{
BatchPrintWindow window = new BatchPrintWindow(markType, IsNeedCer, model.TaskId, model.BrandName, model.SkuCount, model.CertificateModel, model.BarCodeModel, qualityTaskService,
ReflashTask
);
window.ShowDialog();
}
}
@ -1174,9 +1282,17 @@ namespace BBWY.Client.ViewModels.PackTask
private void QualityTaskException(long taskId)
{
try
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState., ReflashTask, IsCanPackModelList, ShelvesNumberList, FloorNumberList);
addExceptionWindow.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
}
}
MarkMessageService markMessageService;
@ -1479,9 +1595,12 @@ namespace BBWY.Client.ViewModels.PackTask
AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask, packUserService, model.TaskId);
addOneItemWeightWindow.ShowDialog();
}
private void StoreGetBySelf(long taskId)
public void StoreGetBySelf(long taskId)
{
//MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示",
// MessageBoxButton.YesNo,
// MessageBoxImage.Warning);
@ -1555,7 +1674,7 @@ namespace BBWY.Client.ViewModels.PackTask
private void DeletedTask(object obj)
{
var packTaskmodel = (PackTaskModel)obj;
MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskId}?", "提示",
MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskIdRemark}?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
@ -1815,7 +1934,7 @@ namespace BBWY.Client.ViewModels.PackTask
private Thread waitTransportOverTimeThread = null;
QualityTaskService qualityTaskService;
PackTaskAbortService packTaskAbortService;
private string packagingTaskExceptionCount;
/// <summary>
@ -2396,74 +2515,72 @@ namespace BBWY.Client.ViewModels.PackTask
}
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packCompletedTasks.Count() > 0)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
if (packCompletedTasks.Count() > 0)
{
packOverTimeThread = new Thread(() =>
packOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
IsStartThread = true;
while (IsStartThread)
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
foreach (var item in packCompletedTasks)
{
foreach (var item in packCompletedTasks)
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
packOverTimeThread.IsBackground = true;
packOverTimeThread.Start();
}
}
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.TaskAbortTime != null).ToList();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState. && p.TaskAbortTime != null).ToList();
App.Current.Dispatcher.BeginInvoke(new Action(() =>
foreach (var item in packtasks)
{
foreach (var item in packtasks)
TimeSpan datetime;
datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
TimeSpan datetime;
datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
}
else
{
item.IsPackOverTime = true;
}
item.IsPackOverTime = false;
}
}));
}
else
{
item.IsPackOverTime = true;
}
}
}));
@ -2727,10 +2844,6 @@ namespace BBWY.Client.ViewModels.PackTask
});
item.ExpressOrderList = expressData.Data;
}));
}
}
}
@ -2836,7 +2949,10 @@ namespace BBWY.Client.ViewModels.PackTask
PageIndex = pageIndex;//
SearchTaskList();
}
public void ReflashTask()//刷新界面
/// <summary>
/// 刷新界面
/// </summary>
public void ReflashTask()
{
SearchTaskList();
}

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

@ -460,20 +460,24 @@ namespace BBWY.Client.ViewModels.PackerTask
PackagingTaskExceptionCommand = new RelayCommand<long>(PackagingTaskException);
this.qualityTaskService = qualityTaskService;
}
QualityTaskService qualityTaskService;
private void PackagingTaskException(long taskId)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState., ReflashTask);
addExceptionWindow.ShowDialog();
//AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState.待包装, ReflashTask);
//addExceptionWindow.ShowDialog();
}
private void TaskSplit(PackerTaskModel model)
{
SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState.Value, ReflashTask);
addExceptionWindow.ShowDialog();
//SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState.Value, ReflashTask);
//addExceptionWindow.ShowDialog();
}
private void PrintCer(CertificateModel[] certificateModel)
@ -689,7 +693,7 @@ namespace BBWY.Client.ViewModels.PackerTask
{

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

@ -24,6 +24,7 @@ using WebSocketSharp;
using BBWY.Client.APIServices.QiKu;
using BarcodeLib;
using System.Runtime.ConstrainedExecution;
using BBWY.Client.Models.APIModel;
namespace BBWY.Client.ViewModels
{
@ -397,7 +398,7 @@ namespace BBWY.Client.ViewModels
public ICommand QualityTaskExceptionCommand { get; set; }
#endregion
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService, QualityTaskService qualityTaskService)
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackTaskAbortService packTaskAbortService)
{
this.packPurchaseTaskService = packPurchaseTaskService;
this.productService = productService;
@ -407,6 +408,7 @@ namespace BBWY.Client.ViewModels
this.packTaskService = packTaskService;
this.markMessageService = markMessageService;
this.qualityTaskService = qualityTaskService;
this.packTaskAbortService = packTaskAbortService;
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SetBarCodeCommand = new RelayCommand(SetBarCode);
@ -425,13 +427,29 @@ namespace BBWY.Client.ViewModels
}
QualityTaskExceptionCommand = new RelayCommand<object>(QualityTaskException);
}
if (IsCanPackModelList == null)
{
var res = packTaskService.GetTaskAbortEnum();
if (res.Success)
{
IsCanPackModelList = res.Data.IsCanPackModelList;
ShelvesNumberList = res.Data.ShelvesNumberList;
FloorNumberList = res.Data.FloorNumberList;
}
}
}
List<IsContinuePackageModel> IsCanPackModelList { get; set; }
List<string> ShelvesNumberList { get; set; }
List<int> FloorNumberList { get; set; }
PackTaskAbortService packTaskAbortService;
#region 方法
private void QualityTaskException(object obj)
{
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, TaskId, Models.TaskState., () => {
AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, TaskId, Models.TaskState., () =>
{
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
@ -439,69 +457,86 @@ namespace BBWY.Client.ViewModels
window.Close();
}));
ReflashWindow?.Invoke();
});
}, IsCanPackModelList, ShelvesNumberList, FloorNumberList);
addExceptionWindow.ShowDialog();
}
private void CompeteQualityTask(object obj)
{
if (ArrivalQuantity == null)
{
MessageBox.Show($"请输入到货数量");
return;
}
if (GoodProductQuantity == null)
{
MessageBox.Show($"请输入良品数量");
return;
}
//if (ArrivalQuantity == null)
//{
// MessageBox.Show($"请输入到货数量");
// return;
//}
//if (GoodProductQuantity == null)
//{
// MessageBox.Show($"请输入良品数量");
// return;
//}
//if (FloorDragNumber <= 0)
//if (GoodProductQuantity > ArrivalQuantity)
//{
// MessageBox.Show($"请选择摆放地拖编号");
// MessageBox.Show($"良品数量不能大于到货数量");
// return;
//}
//
//if (GoodProductQuantity < SkuCount)
//{
// MessageBox.Show($"良品数量不能低于任务数");
// return;
// //if (MessageBox.Show("良品数小于任务数,确认则任务将异常挂起,是否确认?", "任务异常", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK)
// //{
// // return;
// //}
// //var res = qualityTaskService.QualityTaskException(TaskId, 0 , "良品数量小于任务数", TaskState.待验收);
// //if (res == null || !res.Success)
// //{
// // MessageBox.Show(res?.Msg);
// // return;
// //}
// //App.Current.Dispatcher.Invoke(new Action(() =>
// //{
// // window.Close();
// //}));
if (GoodProductQuantity > ArrivalQuantity)
{
MessageBox.Show($"良品数量:{GoodProductQuantity}不能大于到货数量:{ArrivalQuantity}");
return;
}
if (ArrivalQuantity == 0)
{
MessageBox.Show($"到货数量不能:{ArrivalQuantity}!");
return;
}
//}
//if (ArrivalQuantity == 0)
//{
// MessageBox.Show($"到货数量不能为0!");
// return;
//}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
ArrivalQuantity = ArrivalQuantity.Value,
GoodProductQuantity = GoodProductQuantity.Value,
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
//BasicPack = BasicPack,
// ArrivalQuantity = SkuCount,
// GoodProductQuantity = SkuCount,
// Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
BrandName = BrandName,
CertificatePosition = CertificatePosition,
OrderId = OrderId,
PackType = PackType,
GoodsNumber = GoodsNumber,
SkuGoodsTitle = SkuTitle,
SkuId = SkuId,
//CertificatePosition = CertificatePosition,
//OrderId = OrderId,
//PackType = PackType,
//GoodsNumber = GoodsNumber,
//SkuGoodsTitle = SkuTitle,
//SkuId = SkuId,
TaskId = TaskId,
BrandMarkType= BrandMarkType
BrandMarkType = BrandMarkType
};
if (CreateTime > Convert.ToDateTime("2023-08-21"))
if (IsNeedBarCode == Need.)
{
if (IsNeedBarCode == Need.)
if (BarCodeModel == null || BarCodeModel.Id <= 0)
{
if (BarCodeModel == null || BarCodeModel.Id <= 0)
{
MessageBox.Show("条形码不能为空");
return;
}
request.BarcodeId = BarCodeModel.Id;
MessageBox.Show("条形码不能为空");
return;
}
if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer)) //(IsNeedCertificateModel == Need.需要)
request.BarcodeId = BarCodeModel.Id;
}
if (IsNeedPrintCer == Need.)
if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer))
{
//if ()
//{
@ -527,7 +562,6 @@ namespace BBWY.Client.ViewModels
request.CerId = string.Join(",", PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO.Id));
}
}
try
{
@ -542,18 +576,22 @@ namespace BBWY.Client.ViewModels
MessageBox.Show(competeRes.Msg);
return;
}
BatchPrintWindow batchPrint = new BatchPrintWindow(BrandMarkType, IsNeedPrintCer, GoodProductQuantity.Value,
BatchPrintWindow batchPrint = new BatchPrintWindow(BrandMarkType, IsNeedPrintCer, TaskId,BrandName, GoodProductQuantity.Value,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO != null && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel);
, BarCodeModel, qualityTaskService,()=> {
ReflashWindow?.Invoke();
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
});
batchPrint.ShowDialog();
if (ReflashWindow != null) ReflashWindow();
var window = obj as BWindow;
App.Current.Dispatcher.Invoke(new Action(() =>
{
window.Close();
}));
}
catch (Exception ex)
@ -734,7 +772,7 @@ namespace BBWY.Client.ViewModels
ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString()));
}
StoreGetSelfCount = qualityTaskResponse.StoreGetSelfCount;
SkuPurchaseSchemeId = qualityTaskResponse.SkuPurchaseSchemeId;

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

@ -84,7 +84,6 @@
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Button.Background}">
<TextBlock Text="包装任务配置" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" >
@ -550,7 +549,7 @@
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 0 0 0" FontSize="15" FontWeight="Bold" Grid.Row="0">
<Run Text="任务ID:" />
<Run Text="{Binding PackTaskModel.TaskId}"/>
<Run Text="{Binding PackTaskModel.TaskIdRemark}"/>
</TextBlock>
<TextBlock Grid.Row="1" VerticalAlignment="Center" Margin="0 0 0 0" Text="{Binding PackTaskModel.PositionType}" TextWrapping="Wrap" HorizontalAlignment="Center" FontWeight="Bold" FontSize="35"/>

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

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

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

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

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

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

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

@ -526,10 +526,11 @@
</Grid>
<Grid Grid.Column="9" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="验收"
Command="{Binding QualityTaskCommand}"
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商品验收"
Command="{Binding DataContext.QualityTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
CommandParameter="{Binding TaskId}"/>
<c:BButton HorizontalAlignment="Center" Height="20" Style="{StaticResource LinkButton}" VerticalAlignment="Center" Grid.Row="1"
Content="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:包装设置:修改设置 }"
Command="{Binding SetServiceCommand}"

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

@ -0,0 +1,119 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.AddExceptionWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="360" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Button.Background}">
<TextBlock Text="任务挂起" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="60"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="Transparent" Content="能否打包"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ItemsSource="{Binding IsContinuePackageList}" DisplayMemberPath="Name" SelectedValuePath="Index" SelectedValue="{Binding IsContinuePackage}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</Grid>
<Grid Grid.Row="1" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="Transparent" Content="异常类型"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="1"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" DisplayMemberPath="Name" SelectedValuePath="Index" SelectedValue="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</Grid>
<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="0 10 0 10">
<TextBlock Text="摆放货架:" Style="{StaticResource middleTextBlock}" Foreground="Red"/>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30">
<StackPanel Orientation="Horizontal">
<Label Content="货架编号" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding ShelvesNumberList}" Text="{Binding ShelvesNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="1" Height="30" Margin="10 0 0 0">
<StackPanel Orientation="Horizontal">
<Label Content="货架层数" BorderThickness="0 0 0 0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="70"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding FloorNumberList}" Text="{Binding FloorNumber}" BorderThickness="0" Margin="1" />
</StackPanel>
</Border>
</StackPanel>
<Grid Grid.Row="3">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Top" MinHeight="100" TextWrapping="Wrap" AcceptsReturn="True" />
</Grid>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="2" VerticalAlignment="Top"/>
<c:BButton Grid.Row="2" Content="确定" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

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

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

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

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

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

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

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

@ -219,7 +219,10 @@
</StackPanel>
<Grid Grid.Row="2">
<local:WaitPackingTaskControl/>
</Grid>
</Grid>

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

@ -67,7 +67,7 @@
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<StackPanel Orientation="Horizontal" Grid.Row="0" >
<RadioButton Content="全部" Height="35" Width="130" IsChecked="{Binding PackagingTaskExceptionState,Converter={StaticResource taskStateToBoolean},ConverterParameter=#null:True:False}"
Command="{Binding SetPackagingTaskExceptionStateCommand}"
/>
@ -81,7 +81,7 @@ Command="{Binding SetPackagingTaskExceptionStateCommand}"
</StackPanel>
<Grid Grid.Row="1">
<local:ShopWaitPackingTaskControl/>
<local:ShopWaitPackingTaskControl />
</Grid>
</Grid>

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

@ -28,7 +28,6 @@
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="45"/>
<RowDefinition />
</Grid.RowDefinitions>
@ -110,10 +109,24 @@
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Collapsed:Visible}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
</Grid>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"

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

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

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

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

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

@ -52,7 +52,8 @@
<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="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding PackagingTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Collapsed:Visible}"/>
<TextBlock Text="摆放货架" Grid.Column="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding PackagingTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}" />
<TextBlock Text="合格证、条形码" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="包装员" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="费用" Grid.Column="8" Style="{StaticResource middleTextBlock}"/>
@ -110,10 +111,28 @@
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: 待包装-挂起: 待包装 }"
Foreground="White" Background="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=挂起任务: #ec808d: #facd91 }" Margin="25,0,0,0"
/>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待包装:Collapsed:Visible}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
</Grid>
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
@ -308,7 +327,7 @@
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<Grid Grid.Column="5" Visibility="{Binding DataContext. PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Collapsed:Visible}">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础包装:"/>
@ -323,6 +342,34 @@
</StackPanel>
</Grid>
<Grid Grid.Column="5" Visibility="{Binding DataContext. PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}" >
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架,"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0 ">
<c:BButton Content="修改" Style="{StaticResource LinkButton}"
CommandParameter="{Binding}"
Command="{Binding DataContext. UpdateShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton Content="打印" Style="{StaticResource LinkButton}" Margin="10 0 0 0 "
CommandParameter="{Binding}"
Command="{Binding DataContext. PrintShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
@ -394,9 +441,16 @@
<Grid Grid.Column="9" >
<Grid.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Grid.Resources>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
@ -416,59 +470,56 @@ Command="{Binding SetServiceCommand}"
/>
</StackPanel>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商品验收"
Command="{Binding DataContext.QualityTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
Command="{Binding DataContext.PackagingTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<!--Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" -->
<!--<StackPanel >
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter="9;待验收:&amp;:Visible:Collapsed:1">
<Binding Path="ShopId"/>
<Binding Path="TaskState"/>
</MultiBinding>
</StackPanel.Visibility>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="信息不全"
CommandParameter="{Binding }"
Command="{Binding DataContext.SendToSetSkuConfigureCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<c:BButton.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter=";:amp;:Visible:Collapsed:1">
<Binding Path="BarCodeModel"/>
<Binding Path="CertificateModel"/>
</MultiBinding>
</c:BButton.Visibility>
</c:BButton>
</StackPanel>-->
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.PackTaskMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<hc:SplitButton Content="更多选项" BorderBrush="Transparent" Foreground="#8080ff" Command="{Binding SelectCmd}" CommandParameter="Command0" HorizontalAlignment="Stretch">
<hc:SplitButton.DropDownContent>
<StackPanel Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" >
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分" x:Name="btn_TaskSplit" Click="btn_TaskSplit_Click"
CommandParameter="{Binding }"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务挂起" x:Name="btn_PackagingTaskException" Click="btn_PackagingTaskException_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="释放挂起" x:Name="btn_DisposeTask" Click="btn_DisposeTask_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
<Grid Visibility="{Binding PackagingTaskExceptionState , Converter={StaticResource objConverter},ConverterParameter=挂起任务:Collapsed:Visible}">
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取" x:Name="btn_storegetbyself" Click="btn_storegetbyself_Click"
CommandParameter="{Binding TaskId}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待包装:Visible:Collapsed}"
/>
</Grid>
<StackPanel Grid.Column="12" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
>
<!-- -->
<c:BButton Command="{Binding UpdateTaskCommand}" Style="{StaticResource LinkButton}" Content="修改任务" />
<c:BButton Command="{Binding DeletedTaskCommand}" CommandParameter="{Binding}" Margin="0 10 0 10 "
Style="{StaticResource LinkButton}" Content="取消任务"/>
</StackPanel>
</StackPanel>
</hc:SplitButton.DropDownContent>
</hc:SplitButton>
</StackPanel>
</Grid>
<Grid Grid.Row="1" Grid.ColumnSpan="4" Visibility="{Binding MarkMessageModelList,Converter={StaticResource objConverter}, ConverterParameter=#null:Collapsed:Visible}" Margin="10 0 0 0">
<Grid.ColumnDefinitions>

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

@ -1,4 +1,7 @@
using System;
using BBWY.Client.Models;
using BBWY.Client.ViewModels.PackTask;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
@ -22,5 +25,53 @@ namespace BBWY.Client.Views.PackagingTask
{
InitializeComponent();
}
private void BButton_Click(object sender, RoutedEventArgs e)
{
//var data = this.DataContext as WareHouseListViewModel;
//var bbtutton = sender as BButton;
//data.StoreGetBySelf((long)bbtutton.CommandParameter);
}
private void btn_storegetbyself_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.StoreGetBySelf((long)bbtutton.CommandParameter);
}
private void btn_DisposeTask_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.DisposeTask((long)bbtutton.CommandParameter);
}
private void btn_PackagingTaskException_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.PackagingTaskException((long)bbtutton.CommandParameter);
}
private void btn_TaskSplit_Click(object sender, RoutedEventArgs e)
{
var data = this.DataContext as WareHouseListViewModel;
var bbtutton = sender as BButton;
data.TaskSplit((PackTaskModel)bbtutton.CommandParameter);
}
}
}

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

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

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

@ -542,7 +542,7 @@ TextWrapping="Wrap"
Command="{Binding DataContext.PackTaskMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
<!--<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
Command="{Binding DataContext.PackagingTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding PackagingTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}"
/>
@ -550,7 +550,7 @@ TextWrapping="Wrap"
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.PackagingTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=挂起任务:Visible:Collapsed}"
/>
/>-->
</StackPanel>
</StackPanel>

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

@ -1,72 +0,0 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.AddExceptionWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="300" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Button.Background}">
<TextBlock Text="任务挂起" HorizontalAlignment="Left" Foreground="White" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常类型:"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" Text="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</Grid>
<Grid Grid.Row="1">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Stretch" Height="120" />
</Grid>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="2" VerticalAlignment="Top"/>
<c:BButton Grid.Row="2" Content="确定" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

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

@ -1,94 +0,0 @@
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Models;
using BBWY.Controls;
using EnumsNET;
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using WebSocketSharp;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// AddExceptionWindow.xaml 的交互逻辑
/// </summary>
public partial class AddExceptionWindow : BWindow
{
public AddExceptionWindow(QualityTaskService qualityTaskService, long taskId, TaskState abortTaskState, Action taskAbort)
{
InitializeComponent();
this.qualityTaskService = qualityTaskService;
this.TaskId = taskId;
this.DataContext = this;
AbortTaskState = abortTaskState;
TaskAbort = taskAbort;
}
Action TaskAbort { get; set; }
/// <summary>
/// 任务挂起类型
/// </summary>
public TaskState AbortTaskState { get; set; }
QualityTaskService qualityTaskService;
private long taskId;
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get=> taskId; set {Set(ref taskId,value); } }
private TaskExceptionType taskExceptionType;
/// <summary>
/// 验收异常类型
/// </summary>
public TaskExceptionType TaskExceptionType { get => taskExceptionType; set { Set(ref taskExceptionType, value); } }
private List<TaskExceptionType> taskExceptionTypeList=new List<TaskExceptionType> {
TaskExceptionType., TaskExceptionType.
};
/// <summary>
/// 验收异常类型
/// </summary>
public List< TaskExceptionType> TaskExceptionTypeList { get => taskExceptionTypeList; set { Set(ref taskExceptionTypeList, value); } }
private string remarkMsg;
/// <summary>
/// 备注消息
/// </summary>
public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (RemarkMsg.IsNullOrEmpty())
{
MessageBox.Show("请输入具体问题描述.");
return;
}
var res = qualityTaskService.QualityTaskException(TaskId, TaskExceptionType, RemarkMsg, AbortTaskState);
if (res==null||!res.Success)
{
MessageBox.Show(res?.Msg);
return;
}
TaskAbort?.Invoke();
this.Close();
}
}
}

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

@ -1,5 +1,8 @@
using BBWY.Client.Helpers;
using BarcodeLib;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Views.PackTask;
using BBWY.Controls;
using System;
@ -25,7 +28,7 @@ namespace BBWY.Client.Views.QualityTask
/// </summary>
public partial class BatchPrintWindow : BWindow
{
public BatchPrintWindow(BrandMarkType brandMarkType, Need isNeedPrintCer, int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel)
public BatchPrintWindow(BrandMarkType brandMarkType, Need isNeedPrintCer, long taskId, string BrandName, int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel, QualityTaskService qualityTaskService, Action completedQuality)
{
InitializeComponent();
this.Loaded += BatchPrintWindow_Loaded;
@ -34,6 +37,7 @@ namespace BBWY.Client.Views.QualityTask
this.BarCodeModel = BarCodeModel;
this.GoodProductQuantity = GoodProductQuantity;
this.CertificateModel = CertificateModel;
this.qualityTaskService = qualityTaskService;
this.DataContext = this;
BarNumber = GoodProductQuantity.ToString();
@ -47,9 +51,25 @@ namespace BBWY.Client.Views.QualityTask
}
}
public Need IsNeedPrintCer { get => isNeedPrintCer; set { Set(ref isNeedPrintCer,value); } }
this.qualityTaskRequest = new QualityTaskRequest
{
BrandMarkType = brandMarkType,
BrandName = BrandName,
TaskId = taskId,
};
if (CertificateModel != null)
qualityTaskRequest.CerId = string.Join(",", CertificateModel.Select(c => c.Id));
if (BarCodeModel != null)
qualityTaskRequest.BarcodeId = BarCodeModel?.Id;
CompletedQuality = completedQuality;
}
Action CompletedQuality;
QualityTaskRequest qualityTaskRequest;
QualityTaskService qualityTaskService;
public Need IsNeedPrintCer { get => isNeedPrintCer; set { Set(ref isNeedPrintCer, value); } }
private Need isNeedPrintCer;
@ -60,7 +80,7 @@ namespace BBWY.Client.Views.QualityTask
public void SetData()
{
}
@ -104,8 +124,8 @@ namespace BBWY.Client.Views.QualityTask
}
}
private string barNumber;
private string barNumber;
public string BarNumber { get => barNumber; set { Set(ref barNumber, value); } }
private string cerNumber;
@ -210,10 +230,23 @@ namespace BBWY.Client.Views.QualityTask
}
}
var res = qualityTaskService.CompeteQualityTask(qualityTaskRequest);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg ?? "未知异常");
return;
}
string printName = cbPrints.Text;
Task.Factory.StartNew(() =>
{
if (barNum > 0)
{
if (BarCodeModel != null)
@ -226,11 +259,14 @@ namespace BBWY.Client.Views.QualityTask
foreach (var cer in CertificateModel)
PrintData(cerNum, printName, null, cer);
}
CompletedQuality?.Invoke();
App.Current.Dispatcher.Invoke(new Action(() =>
{
this.Close();
}));
});
}

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

@ -18,6 +18,7 @@
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:MultiStateConverter x:Key="mstate"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
@ -46,7 +47,8 @@
<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="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding QualityTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" />
<TextBlock Text="摆放货架" Grid.Column="5" Style="{StaticResource middleTextBlock}" Visibility="{Binding QualityTaskExceptionState, Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}" />
<TextBlock Text="操作" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
@ -97,20 +99,45 @@
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
</Grid>
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
<Label.Content>
<MultiBinding Converter="{StaticResource mstate}" ConverterParameter="待验收">
<Binding Path="TaskState"/>
<Binding Path="QualityTaskExceptionState"/>
</MultiBinding>
</Label.Content>
</Label>-->
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DepartmentName}"
Margin=" 5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="店铺:" Margin="14,0,0,0" />
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ShopName}"
Margin=" 5,0,0,0"/>
<StackPanel Orientation="Horizontal" Visibility="{Binding OrderId, Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}">
@ -295,8 +322,8 @@
</StackPanel>
</Grid>
<Grid Grid.Column="5">
<ListBox x:Name="listbox_expressorder" ItemsSource="{Binding ExpressOrderList}"
<Grid Grid.Column="5" Visibility="{Binding DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<ListBox x:Name="listbox_expressorder" ItemsSource="{Binding ExpressOrderList}"
Style="{StaticResource NoScrollViewListBoxStyle}" BorderThickness="0"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" VerticalAlignment="Stretch"
Visibility="{Binding ExpressOrderList,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
@ -346,6 +373,29 @@
</Grid>
<Grid Grid.Column="5" Visibility="{Binding DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}" >
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架-"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0 ">
<c:BButton Content="修改" Style="{StaticResource LinkButton}"
CommandParameter="{Binding}"
Command="{Binding DataContext. UpdateShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
<c:BButton Content="打印" Style="{StaticResource LinkButton}" Margin="10 0 0 0 "
CommandParameter="{Binding}"
Command="{Binding DataContext. PrintShelvesNumberCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
@ -354,20 +404,24 @@
Command="{Binding DataContext.QualityTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="验收异常"
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务挂起"
Command="{Binding DataContext.QualityTaskExceptionCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding DataContext.QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
Visibility="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="任务拆分"
Command="{Binding DataContext.TaskSplitCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding }"
Visibility="{Binding DataContext.QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}"
Visibility="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" VerticalAlignment="Center" Grid.Row="1" Content="释放挂起"
Command="{Binding DataContext.DisposeTaskCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding TaskId}"
Visibility="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter},ConverterParameter=验收异常:Visible:Collapsed}"
/>
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 0 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}" Visibility="{Binding DataContext. QualityTaskExceptionState,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}"
/>
</StackPanel>
<c:BButton Grid.Column="11" HorizontalAlignment="Stretch" Style="{StaticResource LinkButton}" Margin="0 5 0 5 " VerticalAlignment="Center" Content="{Binding ShowSendMsg,Converter={StaticResource objConverter},ConverterParameter=False:任务备注:取消备注}"
CommandParameter="{Binding TaskId}"

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

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

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

@ -26,12 +26,12 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
@ -46,25 +46,25 @@
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<c:BAsyncImage UrlSource="{Binding Logo}"
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="0 10 0 0"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Orientation="Vertical" Width="170">
<TextBlock Margin="10 10 0 0" TextTrimming="CharacterEllipsis">
@ -109,26 +109,29 @@
</Grid>
<Grid Grid.Column="1">
<StackPanel Orientation="Vertical">
<TextBlock Text="数量验收" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left">
<!--<TextBlock Text="数量验收" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left">
<Run Text="应到数量:"/>
<Run Text="{Binding SkuCount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="实收数量: " VerticalAlignment="Center" Width="60"/>
<c:BTextBox WaterRemark="数量" Text="{Binding ArrivalQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding GoodProductQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="实收数量: " VerticalAlignment="Center" Width="60"/>
<c:BTextBox WaterRemark="数量" Text="{Binding ArrivalQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Text="{Binding GoodProductQuantity}" Height="30" MinWidth="60"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 20 0 0" >
<!--<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 20 0 0" >
--><!--<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
<Run Text="份数:"/>
<Run Text="{Binding WareHourseCount,Mode=TwoWay}"/>
</TextBlock>-->
@ -140,15 +143,15 @@
</hc:ComboBox>
</Border>
</StackPanel>-->
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Visibility="{Binding StoreGetSelfCount,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null|0:Collapsed:Visible}">
<!--<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Visibility="{Binding StoreGetSelfCount,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null|0:Collapsed:Visible}">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left">
<Run Text="商家自取:"/>
<Run Text="{Binding StoreGetSelfCount}" Foreground="Red"/>
</TextBlock>
</StackPanel>
</StackPanel>
</StackPanel>--><!--
</StackPanel>
</StackPanel>-->
@ -178,7 +181,7 @@
<TextBlock Grid.Row="1" Text="{Binding Count}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="2" Style="{StaticResource middleTextBlock}" Margin="5 0 5 0 ">
<Run Text="{Binding WareName}"/>
</TextBlock>
<Border Width="1" Grid.RowSpan="3" HorizontalAlignment="Right"
Background="{StaticResource Border.Brush}"/>
@ -191,9 +194,9 @@
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Text="配件商品信息" Margin="20 10 0 10" FontSize="13" FontWeight="Bold" VerticalAlignment="Top" HorizontalAlignment="Left" />
<Grid >
<ListBox x:Name="listbox_order" HorizontalAlignment="Left"
@ -245,7 +248,7 @@
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<!--Content="{Binding CerDTO,Converter={StaticResource objConverter},ConverterParameter=#null:待设置:待确认}"-->
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
@ -266,7 +269,7 @@
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
<!--Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }"-->
<TextBlock Text="无需合格证" Height="15" Margin="5 0 0 0"
/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
@ -342,9 +345,7 @@
>
<TextBlock Text="无需合格证" Height="15" Margin="5 0 0 0"
/>
<!--<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>-->
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
@ -356,14 +357,14 @@
</StackPanel>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<!--
<TextBlock Text="包装配置" FontWeight="Bold" FontSize="13" Margin="20 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid Height="70" Margin="20 20 20 0">
<Grid.ColumnDefinitions>
@ -459,20 +460,20 @@
<TextBox Text="{Binding ShowMarkMessage}" HorizontalAlignment="Left" VerticalAlignment="Top" Height="80" ScrollViewer.VerticalScrollBarVisibility="Visible"
AcceptsReturn="True" TextWrapping="Wrap" VerticalContentAlignment="Top" IsReadOnly="True" BorderThickness="0"/>
</Border>
-->
</StackPanel>
</Grid>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
</Grid>
<DockPanel Grid.Row="2">
<c:BButton Content="完成验收" Width="100" DockPanel.Dock="Right" VerticalAlignment="Stretch" Margin="0,0,20,0" HorizontalAlignment="Right"
Command="{Binding CompeteQualityTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
<c:BButton Content="验收异常" Width="100" DockPanel.Dock="Right" VerticalAlignment="Stretch" HorizontalAlignment="Right"
Command="{Binding QualityTaskExceptionCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
@ -481,4 +482,4 @@ Background="#ec808d" BorderThickness="0" Foreground="White"/>
</DockPanel>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="1" VerticalAlignment="Bottom"/>
</Grid>
</c:BWindow>
</c:BWindow>

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

@ -110,10 +110,24 @@
CommandParameter="{Binding TaskIdRemark}"
Margin=" 5,0,7,0"/>
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
<!--<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
/>-->
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Visible:Collapsed}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center"
Content="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=待验收: 待验收: 待验收-挂起 }"
Foreground="White" Background="{Binding QualityTaskExceptionState,Converter={StaticResource objConverter} , ConverterParameter=验收异常: #ec808d: #facd91 }" Margin="25,0,0,0">
</Label>
</Grid>
<Grid Visibility="{Binding TaskState, Converter={StaticResource objConverter},ConverterParameter=待验收:Collapsed:Visible}" >
<Label Width="90" Height="25" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Content="{Binding TaskState}"
Foreground="White" Background="{Binding TaskState,Converter={StaticResource enumToColorConverter} , ConverterParameter={x:Type cmodel:TaskState} }" Margin="25,0,0,0"
/>
</Grid>
<TextBlock VerticalAlignment="Center" Text="部门:" Margin="14,0,0,0" />
<c:BButton Content="{Binding DepartmentName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"

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

@ -25,14 +25,17 @@
Background="{StaticResource Border.Background}">
<TextBlock Text="{Binding MsgTitle}" HorizontalAlignment="Center" Margin="20 0 0 0" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="50 0 50 0">
<Grid Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<c:BButton Grid.Row="0" Name="btn_true" Click="btn_true_Click" Content="{Binding IsTrueMsg}" Margin="0,20,0,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40"/>
<c:BButton Grid.Row="1" Name="btn_false" Click="btn_false_Click" Content="{Binding IsFalseMsg}" Margin="0,10,0,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40"/>
<c:BTextBox Grid.Row="0" BorderBrush="Transparent" Text="{Binding QuestionMsg}" HorizontalAlignment="Center" FontSize="20" FontWeight="Bold"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<c:BButton Grid.Row="0" Name="btn_true" Click="btn_true_Click" Content="{Binding IsTrueMsg}" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40" MinWidth="60" Margin="0 0 40 0"/>
<c:BButton Grid.Row="1" Name="btn_false" Click="btn_false_Click" Content="{Binding IsFalseMsg}" VerticalAlignment="Top" HorizontalAlignment="Stretch" Height="40" MinWidth="60"/>
</StackPanel>
</Grid>
</Grid>
</c:BWindow>

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

@ -19,7 +19,7 @@ namespace BBWY.Client.Views.QualityTipWindows
/// </summary>
public partial class QualityProductWindow : BWindow
{
public QualityProductWindow(string title, string isTrueMsg, string isFalseMsg, Action<bool> clickReturn)
public QualityProductWindow(string title, string questionMsg, string isTrueMsg, string isFalseMsg, Action<bool> clickReturn)
{
InitializeComponent();
@ -27,6 +27,7 @@ namespace BBWY.Client.Views.QualityTipWindows
IsTrueMsg = isTrueMsg;
IsFalseMsg = isFalseMsg;
ClickReturn = clickReturn;
QuestionMsg=questionMsg;
this.DataContext = this;
}
@ -37,6 +38,13 @@ namespace BBWY.Client.Views.QualityTipWindows
public string MsgTitle { get => msgTitle; set { Set(ref msgTitle, value); } }
private string questionMsg;
/// <summary>
/// 封箱配置状态
/// </summary>
public string QuestionMsg { get => questionMsg; set { Set(ref questionMsg, value); } }
private string isTrueMsg;
/// <summary>
/// 封箱配置状态

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

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

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

@ -0,0 +1,56 @@
<c:BWindow x:Class="BBWY.Client.Views.SplitTask.ExceptionTaskWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.SplitTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
mc:Ignorable="d"
CloseButtonVisibility="Visible"
WindowStartupLocation="CenterScreen"
CloseButtonColor="White"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Title="ExceptionTaskWindow" Height="567" Width="388">
<Grid Visibility="Visible" >
<Grid x:Name="print_box" Height="492" Width="272">
<StackPanel Margin="10 10 10 10" Width="252" HorizontalAlignment="Center" Orientation="Vertical">
<TextBlock FontSize="28" FontWeight="Bold">
<Run Text="任务ID:"/>
</TextBlock>
<TextBlock FontSize="60" FontWeight="Bold">
<Run Text="{Binding Model.TaskIdRemark}"/>
</TextBlock>
<TextBlock FontSize="20" FontWeight="Bold" Margin="0 10 0 10">
<Run Text="异常类型:"/>
<Run Text="{Binding Model.TaskExceptionType}"/>
</TextBlock >
<TextBlock FontSize="20" FontWeight="Bold">
<Run Text="商品件数:"/>
<Run Text="{Binding Model.SkuCount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Style="{StaticResource middleTextBlock}" Text="摆放货号: "/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding Model.ShelvesNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="号货架,第"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding Model.FloorNumber}"/>
<TextBlock Style="{StaticResource middleTextBlock}" Text="层"/>
</StackPanel>
<TextBlock TextWrapping="Wrap" >
<Run Text="备注信息:"/>
<Run Text="{Binding Model.AbortRemark}"/>
</TextBlock>
</StackPanel>
</Grid>
</Grid>
</c:BWindow>

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

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

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

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

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

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

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

@ -11,9 +11,16 @@ xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="384" Height="300" ResizeMode="NoResize"
Width="384" Height="200" ResizeMode="NoResize"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" -->
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
@ -27,45 +34,21 @@ RightButtonGroupMargin="0,5,5,0">
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常类型"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<ComboBox Height="30" HorizontalAlignment="Stretch" ItemsSource="{Binding TaskExceptionTypeList}" Text="{Binding TaskExceptionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid.RowDefinitions>
</Grid>
</Grid>
<Grid Grid.Row="1" Height="30" Margin="0">
<Rectangle HorizontalAlignment="Stretch" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<Grid Height="30" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="85"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常任务量"/>
<Label BorderBrush="Transparent" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Content="异常任务量"/>
<Grid Grid.Column="1">
<Rectangle Stroke="{StaticResource Border.Brush}" StrokeThickness="1" HorizontalAlignment="Stretch"/>
<c:BTextBox Height="30" HorizontalAlignment="Stretch" Text="{Binding ExceptionCount}" BorderThickness="0" Margin="1" />
@ -77,9 +60,6 @@ RightButtonGroupMargin="0,5,5,0">
</Grid>
</Grid>
<Grid Grid.Row="2">
<c:BTextBox Text="{Binding RemarkMsg}" HorizontalContentAlignment="Left" AcceptsReturn="True" VerticalContentAlignment="Top" WaterRemark="备注消息" VerticalAlignment="Stretch" MinHeight="80" />
</Grid>
</Grid>

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

@ -1,9 +1,11 @@
using BBWY.Client.APIServices;
using BBWY.Client.APIServices.QiKu;
using BBWY.Client.Models;
using BBWY.Client.Models.APIModel;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
@ -27,13 +29,15 @@ namespace BBWY.Client.Views.SplitTask
InitializeComponent();
this.TaskId = taskId;
this.DataContext = this;
AbortTaskState = abortTaskState;
this.packTaskService = packTaskService;
TaskId = taskId;
SplitTask = splitTask;
this.DataContext = this;
}
private Action SplitTask { get; set; }
/// <summary>
@ -52,45 +56,20 @@ namespace BBWY.Client.Views.SplitTask
public long TaskId { get => taskId; set { Set(ref taskId, value); } }
private TaskExceptionType taskExceptionType;
/// <summary>
/// 验收异常类型
/// </summary>
public TaskExceptionType TaskExceptionType { get => taskExceptionType; set { Set(ref taskExceptionType, value); } }
private int exceptionCount;
/// <summary>
/// 验收异常类型
/// 异常任务数
/// </summary>
public int ExceptionCount { get => exceptionCount; set { Set(ref exceptionCount, value); } }
private List<TaskExceptionType> taskExceptionTypeList = new List<TaskExceptionType> {
TaskExceptionType., TaskExceptionType.
};
/// <summary>
/// 验收异常类型
/// </summary>
public List<TaskExceptionType> TaskExceptionTypeList { get => taskExceptionTypeList; set { Set(ref taskExceptionTypeList, value); } }
private string remarkMsg;
/// <summary>
/// 备注消息
/// </summary>
public string RemarkMsg { get => remarkMsg; set { Set(ref remarkMsg, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (RemarkMsg.IsNullOrEmpty())
{
MessageBox.Show("请输入具体问题描述.");
return;
}
var res = packTaskService.SplitPackTask(TaskId, ExceptionCount, TaskExceptionType, RemarkMsg, AbortTaskState);
var res = packTaskService.SplitPackTask(TaskId, ExceptionCount, AbortTaskState);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg);

4
BBWY.Client/Views/TotalPackTask/ShopPackTaskTotal.xaml

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

Loading…
Cancel
Save