From 3831d258f3b97720b0bd32179c7b357ebcc31b7e Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 7 Oct 2022 03:03:18 +0800 Subject: [PATCH] 1 --- BBWY.Client/Resources/Themes/Path.xaml | 3 +++ .../ViewModels/Order/OrderListViewModel.cs | 10 +++++++++- .../Views/Order/RelationPurchaseOrder.xaml | 20 +++++++++++++------ .../Views/Order/RelationPurchaseOrder.xaml.cs | 12 +++++++++++ .../PurchaseOrder/PurchaseOrderBusiness.cs | 4 ++-- 5 files changed, 40 insertions(+), 9 deletions(-) diff --git a/BBWY.Client/Resources/Themes/Path.xaml b/BBWY.Client/Resources/Themes/Path.xaml index 16ab78e7..1c3a46ca 100644 --- a/BBWY.Client/Resources/Themes/Path.xaml +++ b/BBWY.Client/Resources/Themes/Path.xaml @@ -38,4 +38,7 @@ + \ No newline at end of file diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index 450d9e39..5fd4034f 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -547,10 +547,18 @@ namespace BBWY.Client.ViewModels private void RelationPurchaseOrder_Closed(object sender, EventArgs e) { var relationPurchaseOrder = sender as RelationPurchaseOrder; + var orderId = relationPurchaseOrder.OrderId; + if (relationPurchaseOrder.IsRePurchase) + { + var order = OrderList.FirstOrDefault(o => o.Id == orderId); + choosePurchaseSchemeViewModel.SetData(order); + var choosePurchaseScheme = new ChoosePurchaseScheme(); + choosePurchaseScheme.ShowDialog(); + return; + } if (relationPurchaseOrder.DialogResult != true) return; var orderDropShippingList = relationPurchaseOrder.OrderDropShippingList; - var orderId = relationPurchaseOrder.OrderId; IsLoading = true; Task.Factory.StartNew(() => orderService.RelationPurchaseOrderV2(orderDropShippingList, globalContext.User.Shop.PlatformCommissionRatio ?? 0.05M)) .ContinueWith(t => diff --git a/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml b/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml index 076ceade..de7e2b67 100644 --- a/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml +++ b/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml @@ -172,14 +172,22 @@ - + - - - - - + + + + + + + + + + + + diff --git a/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs b/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs index b0fcb86d..4f9bcea9 100644 --- a/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs +++ b/BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs @@ -21,6 +21,8 @@ namespace BBWY.Client.Views.Order public ICommand CloseShowChooseSkuPanelCommand { get; set; } + public ICommand RePurchaseCommand { get; set; } + public IList OrderDropShippingList { get; set; } @@ -50,6 +52,7 @@ namespace BBWY.Client.Views.Order private bool isShowChooseSkuPanel; private OrderDropShipping currentOds; + public bool IsRePurchase { get; private set; } public RelationPurchaseOrder(string orderId, IList purchaseAccountList, IList orderDropShippingList, IList relationPurchaseOrderSkuList) @@ -92,6 +95,15 @@ namespace BBWY.Client.Views.Order })); AddRelationPurchaseOrderSkuCommand = new RelayCommand(AddRelationPurchaseOrderSku); CloseShowChooseSkuPanelCommand = new RelayCommand(() => IsShowChooseSkuPanel = false); + RePurchaseCommand = new RelayCommand(() => + { + if (MessageBox.Show("请确认是否重新采购,确定之后之前的采购单号将无法修改", "提醒", MessageBoxButton.OKCancel) == MessageBoxResult.OK) + { + IsRePurchase = true; + this.DialogResult = false; + this.Close(); + } + }); } private void OnSkuAmountChanged() diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index b8f2f543..4dd8fee2 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -133,8 +133,8 @@ namespace BBWY.Server.Business var dbOrder = fsql.Select(createOnlinePurchaseOrderRequest.OrderId).ToOne(); if (dbOrder == null) throw new BusinessException("订单不存在"); - if (dbOrder.OrderState != Model.Enums.OrderState.等待采购) - throw new BusinessException("只能为等待采购的订单进行采购"); + if (dbOrder.OrderState != Enums.OrderState.等待采购 && dbOrder.OrderState != Enums.OrderState.待出库) + throw new BusinessException("只能为等待采购或待出库的订单进行采购"); var oldPourchaseIdList = fsql.Select().Where(ocd => ocd.OrderId == dbOrder.Id) .ToList(ocd => ocd.PurchaseOrderPKId);