diff --git a/BBWY.Client/APIServices/QiKu/MarkMessageService.cs b/BBWY.Client/APIServices/QiKu/MarkMessageService.cs new file mode 100644 index 00000000..f67e3494 --- /dev/null +++ b/BBWY.Client/APIServices/QiKu/MarkMessageService.cs @@ -0,0 +1,37 @@ +using BBWY.Client.Models.APIModel; +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 MarkMessageService : BaseApiService, IDenpendency + { + public MarkMessageService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) + { + } + + public ApiResponse AppendMarkMessage(long TaskId, string MarkMessage, string UserName) + { + return SendRequest(globalContext.QKApiHost, $"api/MarkMessage/AppendMarkMessage", + new + { + TaskId, + MarkMessage, + UserName + } + , null, HttpMethod.Post); + } + + public ApiResponse ShowTaskMarkMessage(long TaskId) + { + return SendRequest(globalContext.QKApiHost, $"api/MarkMessage/ShowTaskMarkMessage?TaskId={TaskId}", + null + , null, HttpMethod.Get); + } + } +} diff --git a/BBWY.Client/APIServices/QiKu/PackTaskService.cs b/BBWY.Client/APIServices/QiKu/PackTaskService.cs index ab5511d9..e5166d69 100644 --- a/BBWY.Client/APIServices/QiKu/PackTaskService.cs +++ b/BBWY.Client/APIServices/QiKu/PackTaskService.cs @@ -27,8 +27,8 @@ namespace BBWY.Client.APIServices - public ApiResponse GetTaskList(string skuId = null, string taskId = null, - + public ApiResponse GetTaskList(string skuId = null, string taskId = null + , string spuId = null, string orderSn = null, TaskState? TaskState = null, int pageIndex = 1, int pageSize = 10 @@ -47,13 +47,15 @@ namespace BBWY.Client.APIServices } return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { + orderSn, + spuId, + skuId, + taskId, + TaskState, + pageIndex, + pageSize, + ShopId = globalContext.User.Shop.ShopId.ToString(), - SkuId = skuId, - TaskId = taskId, - TaskState = TaskState, - PageIndex = pageIndex, - PageSize = pageSize, - ShopId = globalContext.User.Shop.ShopId.ToString() }, null, HttpMethod.Post); } public ApiResponse GetWareHouseList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null, @@ -297,7 +299,7 @@ namespace BBWY.Client.APIServices /// public ApiResponse> BatchManualSign(string[] wayBillNoList) { - return SendRequest>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/BatchManualSign", new + return SendRequest>("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchManualsign", new { wayBillNoList }, null, HttpMethod.Post); @@ -333,6 +335,7 @@ namespace BBWY.Client.APIServices } + } public class CompeteSealBox diff --git a/BBWY.Client/APIServices/QiKu/SealBoxService.cs b/BBWY.Client/APIServices/QiKu/SealBoxService.cs index 2d93496c..35c166cf 100644 --- a/BBWY.Client/APIServices/QiKu/SealBoxService.cs +++ b/BBWY.Client/APIServices/QiKu/SealBoxService.cs @@ -24,6 +24,7 @@ namespace BBWY.Client.APIServices return SendRequest(globalContext.QKApiHost, $"api/SealBox/GetSealBoxWaitConfigureList", new { + ShopId = globalContext.User.Shop.ShopId.ToString(), TaskId = TaskId, SkuId = SkuId, diff --git a/BBWY.Client/App.xaml.cs b/BBWY.Client/App.xaml.cs index 81e519b5..bc71d1f5 100644 --- a/BBWY.Client/App.xaml.cs +++ b/BBWY.Client/App.xaml.cs @@ -126,8 +126,9 @@ namespace BBWY.Client serviceCollection.AddTransient(); serviceCollection.AddTransient(); serviceCollection.AddTransient(); - serviceCollection.AddScoped(); + serviceCollection.AddTransient(); + serviceCollection.AddTransient(); #region 注册拳探SDK相关类 serviceCollection.AddSingleton(); #endregion diff --git a/BBWY.Client/Helpers/OverTimeHelper.cs b/BBWY.Client/Helpers/OverTimeHelper.cs index f8341f78..f316cc88 100644 --- a/BBWY.Client/Helpers/OverTimeHelper.cs +++ b/BBWY.Client/Helpers/OverTimeHelper.cs @@ -37,5 +37,23 @@ namespace BBWY.Client.Helpers } } + + /// + /// 获取现在时间戳,毫秒 + /// + /// + public static long GetMilliTimeStamp() + { + return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + } + /// + /// 获取现在时间戳,秒 + /// + /// + public static long GetTimeStamp() + { + return DateTimeOffset.Now.ToUnixTimeSeconds(); + } + } } diff --git a/BBWY.Client/Models/APIModel/Response/MarkMessage/ShowTaskMarkMessageResponse.cs b/BBWY.Client/Models/APIModel/Response/MarkMessage/ShowTaskMarkMessageResponse.cs new file mode 100644 index 00000000..cbce1461 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/MarkMessage/ShowTaskMarkMessageResponse.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class ShowTaskMarkMessageResponse + { + /// + /// 备注消息 + /// + public string MarkMessage { get; set; } + + /// + /// 备注人 + /// + public string UserName { get; set; } + + /// + /// 备注时间 + /// + public DateTime? CreateTime { get; set; } + + + public override string ToString() + { + return $"{CreateTime?.ToString("yyyy-MM-dd")} {UserName}:{MarkMessage}"; + } + } +} diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs index 9484ab38..0e8ffa8f 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs @@ -188,6 +188,17 @@ namespace BBWY.Client.Models.APIModel /// 打包超时备注信息 /// public string PackOverTimeMarkMsg { get; set; } + + + + /// + /// 备注消息列表 + /// + public string ShowMarkMessage { get; set; } + /// + /// 采购方案 + /// + public string SkuPurchaseSchemeId { get; set; } } public class ExpressOrderResponse { diff --git a/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs b/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs index e2070218..3c510c21 100644 --- a/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs +++ b/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs @@ -354,7 +354,7 @@ namespace BBWY.Client.Models foreach (var item in CertificateModel) item.BrandName = BrandName; SetCerWindow setCerWindow = new SetCerWindow(); - setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); + setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate, SaveType.B端); setCerWindow.SaveResult = s => { CertificateModel = s; diff --git a/BBWY.Client/Models/PackTask/PackTaskModel.cs b/BBWY.Client/Models/PackTask/PackTaskModel.cs index 239593f7..f4937a90 100644 --- a/BBWY.Client/Models/PackTask/PackTaskModel.cs +++ b/BBWY.Client/Models/PackTask/PackTaskModel.cs @@ -44,15 +44,22 @@ namespace BBWY.Client.Models { - if (!this.OrderId.IsNullOrEmpty()) + if (!this.SkuPurchaseSchemeId.IsNullOrEmpty()) { - System.Windows.MessageBox.Show("暂不支持修改采购组的任务"); + UpdatePurchaseTaskWindow updatePurchaseWindow = new UpdatePurchaseTaskWindow(this,ReflashTask); + updatePurchaseWindow.ShowDialog(); return; } + if (!OrderId.IsNullOrEmpty()&& SkuPurchaseSchemeId.IsNullOrEmpty())//B端手动添加合格证 + { + PublishTaskWindow publishB = new PublishTaskWindow(ReflashTask, this,SaveType.B端); + publishB.ShowDialog(); + return; + } - PublishTaskWindow publish = new PublishTaskWindow(ReflashTask, this); - publish.Show(); + PublishTaskWindow publish = new PublishTaskWindow(ReflashTask, this, SaveType.C端); + publish.ShowDialog(); } @@ -335,14 +342,6 @@ namespace BBWY.Client.Models /// public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } } - /// - /// 注意事项(对接备注) - /// - private string markMessage; - /// - /// 注意事项(对接备注) - /// - public string MarkMessage { get => markMessage; set { Set(ref markMessage, value); } } /// /// 服务收费 (单个任务id 消耗的总费用) @@ -362,8 +361,6 @@ namespace BBWY.Client.Models /// public string PackUser { get => packUser; set { Set(ref packUser, value); } } - //public FeesItemTypeDTO FeesItemTypeDTO { get; set; } - private FeesItemResponse feesItemResponse; @@ -431,7 +428,19 @@ namespace BBWY.Client.Models /// 打包超时备注信息 /// public string PackOverTimeMarkMsg { get => packOverTimeMarkMsg; set { Set(ref packOverTimeMarkMsg, value); } } + /// + /// + /// + private string showMarkMessage; + /// + /// 备注消息列表 + /// + public string ShowMarkMessage { get => showMarkMessage; set { Set(ref showMarkMessage, value); } } + /// + /// 采购方案 + /// + public string SkuPurchaseSchemeId { get; set; } } @@ -478,5 +487,9 @@ namespace BBWY.Client.Models public string GoodsNo { get => goodsNo; set { Set(ref goodsNo, value); } } + + + + } } diff --git a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs index ca445be9..09233cd7 100644 --- a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs @@ -420,7 +420,6 @@ namespace BBWY.Client.ViewModels.PackTask ProductNo = model.ItemList[0].GoodsNo; Brand = model.Brand; BrandName = model.ItemList[0].BrandName; - this.MarkMessage = model.MarkMessage; IsSetBarCode = model.BarCodeModel != null ? false : true; IsSetCertificate = model.CertificateModel != null ? false : true; BarCodeModel = model.BarCodeModel; @@ -697,7 +696,7 @@ namespace BBWY.Client.ViewModels.PackTask foreach (var item in CertificateModel) item.BrandName = BrandName; //CertificateModel.Foreach(c=>c.BrandName = BrandName) ; SetCerWindow setCerWindow = new SetCerWindow(); - setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); + setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate, SaveType.C端); setCerWindow.SaveResult = s => { CertificateModel = s; diff --git a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs index 9086b75a..273219cb 100644 --- a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs @@ -1,4 +1,5 @@ using BBWY.Client.APIServices; +using BBWY.Client.APIServices.QiKu; using BBWY.Client.Extensions; using BBWY.Client.Models; using BBWY.Client.Models.PackTask; @@ -11,6 +12,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; +using System.Net.Mail; using System.Text; using System.Threading.Tasks; using System.Windows; @@ -24,10 +26,13 @@ namespace BBWY.Client.ViewModels.PackTask #region 属性 + public SaveType SaveType { get; set; } + private string searchSkuId; public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } - public long TaskId { get; set; } + private long taskId; + public long TaskId { get => taskId; set { Set(ref taskId, value); } } //private bool isSelected; //public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } } @@ -257,7 +262,7 @@ namespace BBWY.Client.ViewModels.PackTask public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } } - + private string showMarkMessage; /// /// 显示对接备注消息 @@ -288,7 +293,7 @@ namespace BBWY.Client.ViewModels.PackTask public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } #endregion - public PublishTaskViewModel(PackTaskService packTaskService, ProductService productService, GlobalContext globalContext) + public PublishTaskViewModel(PackTaskService packTaskService, ProductService productService, GlobalContext globalContext, MarkMessageService markMessageService) { this.packTaskService = packTaskService; this.productService = productService; @@ -315,9 +320,13 @@ namespace BBWY.Client.ViewModels.PackTask InitData(message); }); + + AppendMarkMessageCommand = new RelayCommand(AppendMarkMessage); + this.markMessageService = markMessageService; } + #region 方法 public ICommand SetBarCodeCommand { get; set; } public ICommand SetCertificateCommand { get; set; } @@ -328,6 +337,35 @@ namespace BBWY.Client.ViewModels.PackTask public ICommand CreateTaskCommand { get; set; } public ICommand SearchSkuCommand { get; set; } + public ICommand AppendMarkMessageCommand { get; set; } + + MarkMessageService markMessageService; + + private void AppendMarkMessage() + { + var res = markMessageService.AppendMarkMessage(TaskId, MarkMessage, globalContext.User.Name); + if (res == null) + { + + return; + } + if (!res.Success) + { + MessageBox.Show(res.Msg); + return; + } + + MarkMessage = string.Empty; + + var resShow = markMessageService.ShowTaskMarkMessage(TaskId); + if (resShow != null && resShow.Success && resShow.Data != null) + { + ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); + } + + } + + private void SetBarCode() { if (string.IsNullOrEmpty(SkuId)) @@ -389,7 +427,7 @@ namespace BBWY.Client.ViewModels.PackTask foreach (var item in CertificateModel) item.BrandName = BrandName; SetCerWindow setCerWindow = new SetCerWindow(); - setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); + setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate, SaveType); setCerWindow.SaveResult = s => { CertificateModel = s; @@ -494,9 +532,9 @@ namespace BBWY.Client.ViewModels.PackTask { IsNeedBarCode = Need.需要; IsSetBarCode = true; - + } - if (productSku.Data.PackConfig != null&&TaskId<=0) + if (productSku.Data.PackConfig != null && TaskId <= 0) { var config = productSku.Data.PackConfig; SkuTitle = config.SkuGoodsTitle; @@ -615,7 +653,7 @@ namespace BBWY.Client.ViewModels.PackTask return; } SaveTask = "保存"; - Logo = model.ItemList[0].Logo.Replace("80x80","200x200"); + Logo = model.ItemList[0].Logo.Replace("80x80", "200x200"); SearchSkuId = model.SkuId; SkuId = model.SkuId; SkuCount = model.SkuCount; @@ -623,7 +661,7 @@ namespace BBWY.Client.ViewModels.PackTask ProductNo = model.ItemList[0].GoodsNo; Brand = model.Brand; BrandName = model.ItemList[0].BrandName; - + IsSetBarCode = model.BarCodeModel != null ? false : true; IsSetCertificate = model.CertificateModel != null ? false : true; BarCodeModel = model.BarCodeModel; @@ -640,7 +678,6 @@ namespace BBWY.Client.ViewModels.PackTask { } - PackType = model.PackType; BasicPack = model.BasicPack; IsNeedBarCode = model.BarCodeModel == null ? Need.不需要 : Need.需要; @@ -648,6 +685,12 @@ namespace BBWY.Client.ViewModels.PackTask CertificatePosition = model.CertificatePosition; TaskId = model.TaskId; + var res = markMessageService.ShowTaskMarkMessage(TaskId); + if (res!=null&&res.Success&&res.Data!=null) + { + ShowMarkMessage = string.Join("\r\n", res.Data.Select(d => d.ToString())); + } + string[] increateDatas = model.Increment1?.Split(','); bool isTrue = false; @@ -730,7 +773,7 @@ namespace BBWY.Client.ViewModels.PackTask ShopId = globalContext.User.Shop.ShopId.ToString(), NeedBar = IsNeedBarCode == Need.需要, NeedCer = IsNeedCertificateModel == Need.需要 - + }; if (IsNeedBarCode == Need.需要) { @@ -745,7 +788,7 @@ namespace BBWY.Client.ViewModels.PackTask { if (CertificateModel == null || IsSetCertificate || CertificateModel.Count() <= 0) { - MessageBox.Show ("请设置合格证模板","提示"); + MessageBox.Show("请设置合格证模板", "提示"); return; } createTaskModel.CerId = string.Join(",", CertificateModel.Where(c => c.Id > 0).Select(c => c.Id));// @@ -761,11 +804,12 @@ namespace BBWY.Client.ViewModels.PackTask res = packTaskService.CreateTask(createTaskModel); } - if(res == null) { + if (res == null) + { MessageBox.Show("未知错误"); return; } - if (!res .Success) + if (!res.Success) { MessageBox.Show(res.Msg); return; diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index d66ed015..e6333181 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -129,6 +129,20 @@ namespace BBWY.Client.ViewModels.PackTask private string searchSkuId; public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } + + + /// + /// 查询Spu + /// + private string searchSpuId; + public string SearchSpuId { get => searchSpuId; set { Set(ref searchSpuId, value); } } + + /// + /// 查询拳探订单号 + /// + private string searchOrderSn; + public string SearchOrderSn { get => searchOrderSn; set { Set(ref searchOrderSn, value); } } + private TaskState? taskState; /// /// 任务状态 @@ -522,7 +536,7 @@ namespace BBWY.Client.ViewModels.PackTask try { PackTaskList = new ObservableCollection();//初始化数据 - var datas = packTaskService.GetTaskList(SearchSkuId, SearchTaskId, this.TaskState, + var datas = packTaskService.GetTaskList(SearchSkuId, SearchTaskId,SearchSpuId,SearchOrderSn, this.TaskState, PageIndex, PageSize); if (datas != null && datas.Data != null && datas.Success) { @@ -546,10 +560,11 @@ namespace BBWY.Client.ViewModels.PackTask { BrandName = item.BrandName, GoodsNo = item.ProductItemNum, Logo= item.Logo, SkuName = item.SkuName, - SkuId = item.SkuId + SkuId = item.SkuId, + } }, - MarkMessage = item.MarkMessage, + ShowMarkMessage = item.ShowMarkMessage, PackType = (PackType)item.PackType, PositionType = item.PositionType, @@ -564,7 +579,7 @@ namespace BBWY.Client.ViewModels.PackTask QualityCompletionOverTime = item.QualityCompletionOverTime, PackCompletionOverTime = item.PackCompletionOverTime, ShopName = item.ShopName, - + SkuPurchaseSchemeId = item.SkuPurchaseSchemeId, }; if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 @@ -734,7 +749,7 @@ namespace BBWY.Client.ViewModels.PackTask if (SealBoxConfigureType == SealBoxConfigureType.待配置) { SealBoxWaitConfigureList = new ObservableCollection(); - ApiResponse sealBoxWaitRes = sealBoxService.GetSealBoxWaitConfigureList(SearchSkuId, SearchTaskId, PageSize, PageIndex); + ApiResponse sealBoxWaitRes = sealBoxService.GetSealBoxWaitConfigureList(SearchSkuId, SearchTaskId, PageSize, PageIndex,SearchSpuId); if (sealBoxWaitRes == null) { diff --git a/BBWY.Client/ViewModels/PackTask/UpdatePurchaseTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/UpdatePurchaseTaskViewModel.cs new file mode 100644 index 00000000..4019eefe --- /dev/null +++ b/BBWY.Client/ViewModels/PackTask/UpdatePurchaseTaskViewModel.cs @@ -0,0 +1,807 @@ +using BBWY.Client.APIServices.QiKu; +using BBWY.Client.APIServices; +using BBWY.Client.Models.APIModel.Request; +using BBWY.Client.Models.PackTask; +using BBWY.Client.Models; +using BBWY.Client.Views.PackTask; +using BBWY.Common.Models; +using GalaSoft.MvvmLight.Command; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Windows.Input; +using System.Windows; +using BBWY.Client.Views.QualityTask; +using BBWY.Client.Models.QualityTask; + +namespace BBWY.Client.ViewModels.PackTask +{ + public class UpdatePurchaseTaskViewModel : BaseVM + { + + #region 属性 + + + + + + private ObservableCollection purchaseSkuList; + public ObservableCollection PurchaseSkuList { get => purchaseSkuList; set { Set(ref purchaseSkuList, value); } } + + private string searchSkuId; + public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } + + // public long TaskId { get; set; } + //private bool isSelected; + //public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } } + + private ObservableCollection worryList = new ObservableCollection { + "否","是" + }; + public ObservableCollection WorryList { get => worryList; set { Set(ref worryList, value); } } + + private ObservableCollection positionTypeList = new ObservableCollection { + "商家仓","齐越仓", "京东仓","聚水潭仓"}; + public ObservableCollection PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } } + + private ObservableCollection packTypeList = new ObservableCollection { + "单件","多件" + }; + public ObservableCollection PackTypeList { get => packTypeList; set { Set(ref packTypeList, value); } } + + private ObservableCollection basicPackList = new ObservableCollection { + "快递袋","纸箱","麻袋" + }; + public ObservableCollection BasicPackList { get => basicPackList; set { Set(ref basicPackList, value); } } + + private ObservableCollection isNeedBarCodeList = new ObservableCollection { + "需要", "不需要" }; + public ObservableCollection IsNeedBarCodeList { get => isNeedBarCodeList; set { Set(ref isNeedBarCodeList, value); } } + + private ObservableCollection isNeedCerList = new ObservableCollection { + "需要", "不需要" }; + public ObservableCollection IsNeedCerList { get => isNeedCerList; set { Set(ref isNeedCerList, value); } } + + + private ObservableCollection certificatePositionList = new ObservableCollection { + "无","外部包装","产品包装" + }; + public ObservableCollection CertificatePositionList { get => certificatePositionList; set { Set(ref certificatePositionList, value); } } + + private ObservableCollection availabilityList = new ObservableCollection { + "已到货","部分到货","未到货" + }; + public ObservableCollection AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } } + + private int skuCount; + /// + /// Sku任务数 + /// + public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } } + + private string skuId; + /// + /// Sku + /// + public string SkuId { get => skuId; set { Set(ref skuId, value); } } + + + + public string OrderId { get; set; } + + private string logo; + /// + /// 店铺Sku图链接 + /// + public string Logo { get => logo; set { Set(ref logo, value); } } + + private string skuName; + /// + /// 采购Sku名称 + /// + public string SkuName { get => skuName; set { Set(ref skuName, value); } } + + private string brand; + /// + /// 品牌 + /// + public string Brand { get => brand; set { Set(ref brand, value); } } + + + private string productNo; + /// + /// 货号 + /// + public string ProductNo { get => productNo; set { Set(ref productNo, value); } } + + private string brandName; + /// + /// 品名(手写上传) + /// + public string BrandName { get => brandName; set { Set(ref brandName, value); } } + + + private int goodsNumber; + /// + /// 配件数 + /// + public int GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } } + private Worry isWorry; + /// + /// 是否加急 + /// + public Worry IsWorry { get => isWorry; set { Set(ref isWorry, value); } } + + private Availability availability; + /// + /// 到货情况(待收货=0,部分收货=1,已到货=2) + /// + public Availability Availability { get => availability; set { Set(ref availability, value); } } + + private PackType packType; + /// + /// 打包类型(单件=0,多件=1) + /// + public PackType PackType { get => packType; set { Set(ref packType, value); } } + + private BasicPack basicPack; + /// + /// 基础包装(快递袋=0,纸箱=1,麻袋=2) + /// + public BasicPack BasicPack { get => basicPack; set { Set(ref basicPack, value); } } + + private PositionType positionType; + /// + /// 落仓(商家仓=0,齐越仓=1,京东仓=2,聚水潭仓=3) + /// + public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } } + + private string skuTitle; + /// + /// sku配件商品名称 + /// + public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } } + + private Need isNeedBarCode; + /// + /// 是否需要合格证 + /// + public Need IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } } + + + private Need isNeedCertificateModel; + /// + /// 是否需要条形码 + /// + public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } } + + + private BarCodeModel barCodeModel; + /// + /// 条形码 + /// + public BarCodeModel BarCodeModel { get => barCodeModel; set { Set(ref barCodeModel, value); } } + + + private bool isSetBarCode; + /// + /// 设置显示(条形码) + /// + public bool IsSetBarCode + { + get => isSetBarCode; + set + { + + Set(ref isSetBarCode, value); + // IsNeedBarCode = IsSetBarCode ? Need.不需要 : Need.需要; + } + } + + private bool isSetCertificate; + /// + /// 设置显示(合格证) + /// + public bool IsSetCertificate + { + get => isSetCertificate; set + { + + Set(ref isSetCertificate, value); + //IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要; + } + } + private string setSpuCerStatus; + + public string SetSpuCerStatus { get => setSpuCerStatus; set { Set(ref setSpuCerStatus, value); } } + private bool isSetSpuCertificate = true; + + + /// + /// 设置spu显示(合格证) + /// + public bool IsSetSpuCertificate + { + get => isSetSpuCertificate; set + { + + Set(ref isSetSpuCertificate, value); + SetSpuCerStatus = IsSetSpuCertificate ? "设置spu模板" : "修改spu模板"; + } + } + + + private string saveTask; + + /// + /// 设置显示(合格证) + /// + public string SaveTask { get => saveTask; set { Set(ref saveTask, value); } } + + + private string spuId; + /// + /// spuid + /// + public string SpuId { get => spuId; set { Set(ref spuId, value); } } + + private CertificateModel spuCertificateModel; + /// + /// spu合格证 + /// + public CertificateModel SpuCertificateModel { get => spuCertificateModel; set { Set(ref spuCertificateModel, value); } } + + + + private CertificateModel certificateModel; + /// + /// 合格证 + /// + public CertificateModel CertificateModel { get => certificateModel; set { Set(ref certificateModel, value); } } + + /// + /// 合格证位置(外部包装=0,产品包装=1) + /// + private CertificatePosition certificatePosition; + /// + /// 合格证位置(外部包装=0,产品包装=1) + /// + public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } } + + /// + /// 注意事项(对接备注) + /// + private string markMessage; + /// + /// 注意事项(对接备注) + /// + public string MarkMessage { get => markMessage; set { Set(ref markMessage, value); } } + + private long taskId; + public long TaskId { get => taskId; set { Set(ref taskId, value); } } + + private string showMarkMessage; + /// + /// 显示备注列表(对接备注) + /// + public string ShowMarkMessage { get => showMarkMessage; set { Set(ref showMarkMessage, value); } } + + + private ObservableCollection increateList; + /// + /// 增量耗材查询关键字 + /// + public ObservableCollection IncreateList { get => increateList; set { Set(ref increateList, value); } } + string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" }; + + PackPurchaseTaskService packPurchaseTaskService; + PackTaskService packTaskService; + ProductService productService; + GlobalContext globalContext; + private bool isLoading = false; + public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } + #endregion + + public UpdatePurchaseTaskViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, MarkMessageService markMessageService, PackTaskService packTaskService) + { + this.packPurchaseTaskService = packPurchaseTaskService; + this.productService = productService; + this.globalContext = globalContext; + CreateTaskCommand = new RelayCommand(CreateTask); + OpenSkuDetailCommand = new RelayCommand(OpenSkuDetail); + SetBarCodeCommand = new RelayCommand(SetBarCode); + SetCertificateCommand = new RelayCommand(SetCertificate); + LookBarCommand = new RelayCommand(LookBar); + LookCerCommand = new RelayCommand(LookCer); + + IncreateList = new ObservableCollection(); + foreach (var item in increates) + { + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = false + }); + } + + this.purchaseService = purchaseService; + + AppendMarkMessageCommand = new RelayCommand(AppendMarkMessage); + this.markMessageService = markMessageService; + this.packTaskService = packTaskService; + } + + + MarkMessageService markMessageService; + + private void AppendMarkMessage() + { + var res = markMessageService.AppendMarkMessage(TaskId, MarkMessage, globalContext.User.Name); + if (res == null) + { + + return; + } + if (!res.Success) + { + MessageBox.Show(res.Msg); + return; + } + + MarkMessage = string.Empty; + + var resShow = markMessageService.ShowTaskMarkMessage(TaskId); + if (resShow != null && resShow.Success && resShow.Data != null) + { + ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); + } + + } + + PurchaseService purchaseService; + public string OriginShopName { get; set; } + public string SkuPurchaseSchemeId { get; set; } + public Platform Platform { get; set; } + + + + + public SaveType SaveType { get; set; } + + #region 方法 + public ICommand SetBarCodeCommand { get; set; } + public ICommand SetCertificateCommand { get; set; } + public ICommand LookBarCommand { get; set; } + public ICommand LookCerCommand { get; set; } + + public ICommand OpenSkuDetailCommand { get; set; } + public ICommand CreateTaskCommand { get; set; } + + public ICommand SearchSkuCommand { get; set; } + + public ICommand AppendMarkMessageCommand { get; set; } + private void SetBarCode() + { + if (string.IsNullOrEmpty(SkuId)) + { + return; + } + //if (TaskId > 0 && string.IsNullOrEmpty(SpuId))//修改界面刷新配置数据 + //{ + // SearchSku(SkuId); + //} + + if (BarCodeModel == null) + { + BarCodeModel = new BarCodeModel(); + BarCodeModel.ProductNo = ProductNo; + BarCodeModel.Brand = Brand; + BarCodeModel.SkuId = SkuId; + BarCodeModel.SkuName = SkuName; + } + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; + + SetBarCodeWindow setBarCodeWindow = new SetBarCodeWindow(); + setBarCodeWindow.LoadData(BarCodeModel, packTaskService); + setBarCodeWindow.SaveResult = b => + { + BarCodeModel = b; + IsSetBarCode = false; + IsNeedBarCode = Need.需要; + }; + setBarCodeWindow.Show(); + } + + /// + /// 设置合格证 + /// + private void SetCertificate(PurchaseSku model) + { + + if (model.CerDTO == null) + { + model.CerDTO = new CertificateModel + { + ProductNo = ProductNo, + Brand = Brand, + SkuId = SkuId, + PurchaseSkuId = model.PurchaseSkuId + + }; + } + if (!string.IsNullOrEmpty(BrandName)) + model.CerDTO.BrandName = BrandName; + + QualitySetCerWindow setCerWindow = new QualitySetCerWindow(); + setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate, SaveType); + setCerWindow.SaveResult = (s, PackCerState) => + { + var skus = PurchaseSkuList.SingleOrDefault(p => p.PurchaseSkuId == s.PurchaseSkuId); + skus.CerDTO = s; + skus.IsSetCertificate = false; + skus.IsNeedCer = PackCerState == PackCerState.合格证信息; + IsNeedCertificateModel = Need.需要; + }; + setCerWindow.Show(); + } + + + /// + /// 查看合格证 + /// + private void LookCer(string id) + { + QualityLookCerWindow lookCerWindow = new QualityLookCerWindow(PurchaseSkuList.SingleOrDefault(p => p.PurchaseSkuId == id).CerDTO); + lookCerWindow.Show(); + } + /// + /// 查看条形码 + /// + private void LookBar() + { + LookBarCodeWindow look = new LookBarCodeWindow(); + look.SetData(BarCodeModel); + look.Show(); + } + + /// + /// 搜索 skuId(todo:) + /// + public bool SearchSku(PackTaskModel obj) + { + //InitData(); + TaskId = obj.TaskId; + SaveType = SaveType.B端; + var resShow = markMessageService.ShowTaskMarkMessage(TaskId); + if (resShow != null && resShow.Success && resShow.Data != null) + { + ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); + } + + + //SkuPurchaseSchemeId = "416647656341573"; + OriginShopName = obj.ShopName; + + + SkuId =obj.SkuId; + OrderId = obj.OrderId; + + var shopList = globalContext.User.ShopList; + var shop = shopList.SingleOrDefault(s => s.ShopName == OriginShopName); + Logo = obj.ItemList[0].Logo; + SkuName = obj.ItemList[0].SkuName; + if (string.IsNullOrEmpty(SkuId)) + return false; + + ApiResponse productApiResponse = null; + var skuResponse = productService.GetProductSkuList(string.Empty, SkuId, shop.Platform, shop.AppKey, shop.AppSecret, shop.AppToken); + if (skuResponse.Success) + { + if (skuResponse.Data.Count() == 0) + { + return false; + } + Logo = skuResponse.Data[0].Logo.Replace("80x80", "200x200"); + SkuName = skuResponse.Data[0].Title; + + SpuId = skuResponse.Data[0].ProductId; + + productApiResponse = productService.GetProductList(skuResponse.Data[0].ProductId, string.Empty, string.Empty, 1, + shop.Platform, shop.AppKey, shop.AppSecret, shop.AppToken); + + if (productApiResponse.Success) + { + if (productApiResponse.Data.Count == 0) + { + + return false; + } + + ProductNo = productApiResponse.Data.Items[0].ProductItemNum; + Brand = productApiResponse.Data.Items[0].BrandName; + + } + var productSku = packPurchaseTaskService.GetConfigPack(SkuId, "", OrderId); + + if (productSku == null || !productSku.Success || productSku.Data == null) + { + MessageBox.Show(productSku.Msg); + return false; + } + + + SkuPurchaseSchemeId = productSku.Data.SkuPurchaseSchemeId; + BarCodeModel = productSku.Data.BarCode; + if (BarCodeModel == null) + { + BarCodeModel = new BarCodeModel(); + + } + if (!string.IsNullOrEmpty(Brand)) + BarCodeModel.Brand = Brand; + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; + BarCodeModel.ProductNo = ProductNo; + BarCodeModel.SkuId = SkuId; + BarCodeModel.SkuName = SkuName; + PurchaseSkuList = new ObservableCollection(); + foreach (var item in productSku.Data.PurchaseSkus) + { + var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId); + if (list == null) continue; + var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId); + if (skuItem == null) + { + MessageBox.Show($"{item.PurchaseProductId}采购商品列表不存在skuid:{item.PurchaseSkuId},sku商品可能被下架了."); + //return false; + } + App.Current.Dispatcher.Invoke(new Action(() => + { + PurchaseSkuList.Add(new PurchaseSku + { + Logo = skuItem?.Logo, + Title = skuItem?.Title, + IsNeedCer = item.IsNeedCer, + PurchaseSkuId = item.PurchaseSkuId, + CerDTO = item.CerDTO, + IsSetCertificate = item.CerDTO == null ? true : false, + }); + })); + } + + IsNeedBarCode = Need.需要; + IsSetBarCode = true; + IsSetCertificate = true; + if (productSku.Data.PackConfig != null) + { + var config = productSku.Data.PackConfig; + SkuTitle = config.SkuGoodsTitle; + BrandName = config.BrandName; + GoodsNumber = config.GoodsNumber; + PackType = (PackType)config.PackType; + BasicPack = (BasicPack)config.BasicPack; + //MarkMessage = config.MarkMessage; + CertificatePosition = config.CertificatePosition == null ? CertificatePosition.无需合格证 : (CertificatePosition)config.CertificatePosition.Value; + // Increment1 = config.Increment1; + + IsNeedBarCode = config.NeedBar ? Need.需要 : Need.不需要; + IsNeedCertificateModel = config.NeedCer ? Need.需要 : Need.不需要; + + IsSetBarCode = !config.NeedBar; + IsSetCertificate = !config.NeedCer; + + string[] increateDatas = config.Increment1?.Split(','); + bool isSelected = false; + + IncreateList = new ObservableCollection(); + foreach (var item in increates) + { + isSelected = false; + if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item)) + { + isSelected = true; + } + App.Current.Dispatcher.Invoke(() => + { + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = isSelected + }); + }); + } + + } + + + return true; + } + else + { + + App.Current.Dispatcher.Invoke(() => MessageBox.Show(skuResponse.Msg, "加载sku")); + return false; + } + return true; + //加载配置文件 + } + + //public void SearSpuCer() + //{ + // if (string.IsNullOrEmpty(SpuId)) + // { + // SearchSku(SkuId); + // return; + // } + // SpuId = SpuId.Trim();//去掉空格 避免数据异常 + + + // var productSku = packPurchaseTaskService.GetSpuCer(SpuId); + // if (productSku == null || !productSku.Success) + // { + // IsSetSpuCertificate = true; + + // return; + // } + // SpuCertificateModel = productSku.Data; + // IsSetSpuCertificate = false; + // if (SpuCertificateModel == null) + // { + // SpuCertificateModel = new CertificateModel(); + // IsSetSpuCertificate = true; + // SpuCertificateModel.Brand = Brand; + // SpuCertificateModel.BrandName = BrandName; + // SpuCertificateModel.ProductNo = ProductNo; + // SpuCertificateModel.SpuId = SpuId; + + // } + + + //} + + public Action ReflashWindow { get; set; } + public void InitData() + { + PurchaseSkuList = new ObservableCollection(); + IsSetBarCode = true; + SkuTitle = ""; + BrandName = ""; + GoodsNumber = 0; + PackType = PackType.单件; + BasicPack = BasicPack.快递袋; + SkuPurchaseSchemeId = ""; + SkuTitle = ""; + BarCodeModel = null; + OriginShopName = ""; + + // Availability = (TaskState.)config.Availability; + MarkMessage = ""; + CertificatePosition = CertificatePosition.产品包装; + // Increment1 = config.Increment1; + + IsNeedBarCode = Need.需要; + IsNeedCertificateModel = Need.不需要; + + + bool isSelected; + IncreateList = new ObservableCollection(); + foreach (var item in increates) + { + isSelected = false; + App.Current.Dispatcher.Invoke(() => + { + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = isSelected + }); + }); + } + } + private void OpenSkuDetail(object param) + { + var paramList = (object[])param; + // var orderId = paramList[0].ToString(); + var skuId = paramList[0].ToString(); + + + var url = $"https://item.jd.com/{skuId}.html"; + try + { + System.Diagnostics.Process.Start("explorer.exe", url); + } + catch (Exception ex) + { + Clipboard.SetText(url); + MessageBox.Show($"{ex.Message}\r\n调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示"); + } + + } + private void CreateTask(object obj) + { + + string increateStr = ""; + var increates = IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName); + if (increates != null && increates.Count() > 0) + { + increateStr = string.Join(",", increates); + } + var createTaskModel = new UpdatePurchaseTaskRequest + { + ProductNo = ProductNo, + Logo = Logo.Replace("200x200", "80x80"), + SkuName = SkuName, + OrderId = OrderId, + BrandName = BrandName, + Availability = (int)Availability, + BasicPack = (int)BasicPack, + SkuId = SkuId, + Increment1 = increateStr, + + CertificatePosition = (int)CertificatePosition, + PackType = (int)PackType, + MarkMessage = MarkMessage, + PositionType = (int)PositionType, + GoodsNumber = GoodsNumber, + SkuGoodsTitle = SkuTitle, + SkuCount = SkuCount, + NeedBar = IsNeedBarCode == Need.需要, + NeedCer = IsNeedCertificateModel == Need.需要, + SkuPurchaseSchemeId = SkuPurchaseSchemeId, + Brand = Brand, + PurchaseSkuSpecs = PurchaseSkuList.Select(p => new PurchaseSkuSpec + { + IsNeedCer = p.IsNeedCer, + PurchaseSkuId = p.PurchaseSkuId, + }).ToArray() + + //IsWorry = IsWorry + }; + if (IsNeedBarCode == Need.需要) + { + if (BarCodeModel == null || IsSetBarCode || BarCodeModel.Id <= 0) + { + MessageBox.Show("请设置条形码模板"); + //new TipsWindow("请设置条形码模板").Show(); + return; + } + createTaskModel.BarCodeId = BarCodeModel.Id; + } + if (IsNeedCertificateModel == Need.需要) + { + + if (purchaseSkuList.Any(p => p.IsNeedCer && p.CerDTO == null)) + { + MessageBox.Show("有未设置的合格证,请设置完所有的合格证再保存"); + return; + } + + var cerList = purchaseSkuList.Where(p => p.IsNeedCer).Select(p => p.CerDTO).Select(c => c.Id).Where(c => c > 0).ToList(); + if (purchaseSkuList.Count() <= 0 || cerList.Count <= 0) + { + MessageBox.Show("请设置合格证模板"); + return; + } + createTaskModel.CerId = string.Join(",", cerList);// + } + ApiResponse res = null; + + res = packPurchaseTaskService.UpdatePurchaseTask(createTaskModel); + + if (res.Success) + { + if (ReflashWindow != null) ReflashWindow();//刷新主界面 + + var win = obj as System.Windows.Window; + win.Close(); + return; + } + + MessageBox.Show(res.Msg); + } + #endregion + } +} diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index 48fcd228..61834c6b 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -1367,7 +1367,6 @@ namespace BBWY.Client.ViewModels.PackTask SkuName = item.SkuName, SkuId = item.SkuId } }, - MarkMessage = item.MarkMessage, PackType = (PackType)item.PackType, TaskState = item.TaskState, PositionType = item.PositionType, @@ -1383,8 +1382,10 @@ namespace BBWY.Client.ViewModels.PackTask PackCompletionOverTime = item.PackCompletionOverTime, ShopName = item.ShopName, QualityOverTimeMarkMsg = item.QualityOverTimeMarkMsg, - PackOverTimeMarkMsg = item.PackOverTimeMarkMsg - //ExpressOrderList = item.ExpressOrderList, + PackOverTimeMarkMsg = item.PackOverTimeMarkMsg, + ShowMarkMessage =item.ShowMarkMessage, + SkuPurchaseSchemeId=item.SkuPurchaseSchemeId + }; if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) diff --git a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs index c2dec7f5..e1b931ef 100644 --- a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs +++ b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs @@ -820,7 +820,6 @@ namespace BBWY.Client.ViewModels SkuCount = model.SkuCount; Brand = model.Brand; ProductNo = model.ProductNo; - MarkMessage = model.MarkMessage; PackType = model.PackType; GoodsNumber = model.GoodsNumber; SkuTitle = model.SkuTitle; diff --git a/BBWY.Client/ViewModels/ViewModelLocator.cs b/BBWY.Client/ViewModels/ViewModelLocator.cs index 9d503d99..530defa4 100644 --- a/BBWY.Client/ViewModels/ViewModelLocator.cs +++ b/BBWY.Client/ViewModels/ViewModelLocator.cs @@ -337,6 +337,17 @@ namespace BBWY.Client.ViewModels } } + + public UpdatePurchaseTaskViewModel UpdatePurchaseTask + { + get + { + using var s = sp.CreateScope(); + return s.ServiceProvider.GetRequiredService(); + } + } + + //public ShopSealBoxListViewModel ShopSealBoxListVM //{ // get diff --git a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml index 02e0bebe..d1b82ed4 100644 --- a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml +++ b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml @@ -124,7 +124,7 @@ - diff --git a/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml b/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml index 8078c876..ecee0353 100644 --- a/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml +++ b/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml @@ -241,7 +241,10 @@ @@ -251,13 +254,12 @@ - - - + + - @@ -265,8 +267,9 @@ diff --git a/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml.cs b/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml.cs index d662157c..639c7fea 100644 --- a/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/PublishTaskWindow.xaml.cs @@ -20,11 +20,12 @@ namespace BBWY.Client.Views.PackTask /// public partial class PublishTaskWindow : BWindow { - public PublishTaskWindow(Action ReflashTask, PackTaskModel model = null) + public PublishTaskWindow(Action ReflashTask, PackTaskModel model = null,SaveType saveType= SaveType.C端) { InitializeComponent(); var publicTaskViewModel = (PublishTaskViewModel)this.DataContext; + publicTaskViewModel.SaveType = saveType; if (publicTaskViewModel.ReflashWindow == null) publicTaskViewModel.ReflashWindow = ReflashTask; diff --git a/BBWY.Client/Views/PackTask/SetCerWindow.xaml b/BBWY.Client/Views/PackTask/SetCerWindow.xaml index 188a1a20..95af9541 100644 --- a/BBWY.Client/Views/PackTask/SetCerWindow.xaml +++ b/BBWY.Client/Views/PackTask/SetCerWindow.xaml @@ -51,7 +51,7 @@ - + @@ -63,7 +63,7 @@ - + diff --git a/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs b/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs index d839e257..87bf3c88 100644 --- a/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs @@ -33,7 +33,7 @@ namespace BBWY.Client.Views.PackTask InitializeComponent(); } - public void LoadData(CertificateModel[] CertificateModel, PackTaskService packTaskService, CertificateModel SpuCertificateModel, bool IsSetSpuCertificate) + public void LoadData(CertificateModel[] CertificateModel, PackTaskService packTaskService, CertificateModel SpuCertificateModel, bool IsSetSpuCertificate,SaveType saveType) { this.CertificateModel = CertificateModel.Copy(); this.SpuCertificateModel = SpuCertificateModel.Copy(); @@ -51,9 +51,12 @@ namespace BBWY.Client.Views.PackTask }); } + this. saveType = saveType; this.DataContext = this; } + + public SaveType saveType; public bool IsSetSpuCertificate { get; set; } public PackTaskService packTaskService { get; set; } public CertificateModel[] CertificateModel { get; set; } @@ -114,7 +117,7 @@ namespace BBWY.Client.Views.PackTask ApplyAge = item.CertificateModel.ApplyAge, GoodsNumber = item.CertificateModel.GoodsNumber, ProduceDate = item.CertificateModel.ProduceDate, - SaveType = SaveType.C端, + SaveType = saveType, }); @@ -187,33 +190,77 @@ namespace BBWY.Client.Views.PackTask cer.CertificateModel.ProductShop = SpuCertificateModel.ProductShop; cer.CertificateModel.ApplyAge = SpuCertificateModel.ApplyAge; cer.CertificateModel.ProduceDate = SpuCertificateModel.ProduceDate; + } private void add_goodsnum_Click(object sender, RoutedEventArgs e) { - int num = 0; - p: - num++; - int goodsNumber = num; - var gncer = GoodsNumberCerList.SingleOrDefault(g => g.CertificateModel.GoodsNumber == goodsNumber); - if (gncer != null) goto p; - GoodsNumberCerList.Add(new GoodsNumberCer + + if (saveType== SaveType.C端) { - CertificateModel = new CertificateModel + int num = 0; + p: + num++; + int goodsNumber = num; + var gncer = GoodsNumberCerList.SingleOrDefault(g => g.CertificateModel.GoodsNumber == goodsNumber); + if (gncer != null) goto p; + GoodsNumberCerList.Add(new GoodsNumberCer { - GoodsNumber = goodsNumber, - BrandName = CertificateModel[0].BrandName, - Brand = CertificateModel[0].Brand, - SkuId = CertificateModel[0].SkuId, - ProductNo = CertificateModel[0].ProductNo, - SpuId = CertificateModel[0].SkuId, + CertificateModel = new CertificateModel + { + GoodsNumber = goodsNumber, + BrandName = CertificateModel[0].BrandName, + Brand = CertificateModel[0].Brand, + SkuId = CertificateModel[0].SkuId, + ProductNo = CertificateModel[0].ProductNo, + SpuId = CertificateModel[0].SkuId, + GoodsNumberIndex = GoodsNumberCerList.Count + 1 + + } + }); + tab.SelectedIndex = GoodsNumberCerList.Count - 1; + this.UpdateLayout(); + } + + if (saveType == SaveType.B端) + { + + p: + + long goodsNumber = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + var gncer = GoodsNumberCerList.SingleOrDefault(g => g.CertificateModel.GoodsNumber == goodsNumber); + if (gncer != null) goto p; + GoodsNumberCerList.Add(new GoodsNumberCer + { + CertificateModel = new CertificateModel + { + GoodsNumber = goodsNumber, + BrandName = CertificateModel[0].BrandName, + Brand = CertificateModel[0].Brand, + SkuId = CertificateModel[0].SkuId, + ProductNo = CertificateModel[0].ProductNo, + SpuId = CertificateModel[0].SkuId, + + + } + }); + + int index = 0; + foreach (var item in GoodsNumberCerList) + { + index++; + + item.CertificateModel.GoodsNumberIndex = index; } - }); - tab.SelectedIndex = GoodsNumberCerList.Count - 1; - this.UpdateLayout(); + + tab.SelectedIndex = GoodsNumberCerList.Count - 1; + + this.UpdateLayout(); + } + } @@ -227,7 +274,24 @@ namespace BBWY.Client.Views.PackTask if (select != null) selectCer = select.CertificateModel.GoodsNumber; } + try + { + int index = 0; + foreach (var item in GoodsNumberCerList) + { + index++; + item.CertificateModel.GoodsNumberIndex = index; + } + } + catch (Exception) + { + + + } } + + + } public class GoodsNumberCer diff --git a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml index 9d346f7b..d0238fc5 100644 --- a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml +++ b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml @@ -47,10 +47,11 @@ - - - - + + + + + + + + + + + + diff --git a/BBWY.Client/Views/PackTask/TaskList.xaml b/BBWY.Client/Views/PackTask/TaskList.xaml index a990f555..6b74ef48 100644 --- a/BBWY.Client/Views/PackTask/TaskList.xaml +++ b/BBWY.Client/Views/PackTask/TaskList.xaml @@ -48,10 +48,6 @@ - - - - @@ -126,7 +122,7 @@ /> - + @@ -141,9 +137,25 @@ --> + + + + + + + + + + + +