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);