From d058d286a22d54bbce86cb7b398ea9bffad832a6 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 2 Jan 2023 22:09:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A7=E6=BA=90=E7=AE=A1=E7=90=86-=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=87=87=E8=B4=ADsku=E7=AD=9B=E9=80=89=20=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86-=E6=96=B0=E5=A2=9Esku=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E7=82=B9=E5=87=BB=E8=B7=B3=E8=BD=AC=E4=BA=AC=E4=B8=9C?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Product/PurchaseSchemeProduct.cs | 20 ++++++++++++- .../ViewModels/Order/OrderListViewModel.cs | 30 +++++++++++++++++-- .../Ware/BindingPurchaseProductViewModel.cs | 30 +++++++++++++++++++ BBWY.Client/Views/Order/OrderListControl.xaml | 19 ++++++++++-- .../Views/Ware/BindingPurchaseProduct.xaml | 29 ++++++++++++++++-- 5 files changed, 121 insertions(+), 7 deletions(-) diff --git a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs index 08701acf..212e8e4c 100644 --- a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs +++ b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs @@ -15,6 +15,7 @@ namespace BBWY.Client.Models private string purchaseUrl; private string purchaseProductId; private bool isEditing; + private string searchPurchaseSkuName; /// /// 采购商品和采购方案的关系Id @@ -28,10 +29,20 @@ namespace BBWY.Client.Models public string PurchaseUrl { get => purchaseUrl; set { Set(ref purchaseUrl, value); } } public string PurchaseProductId { get => purchaseProductId; set => purchaseProductId = value; } - public bool IsEditing { get => isEditing; set { Set(ref isEditing, value); } } + public bool IsEditing + { + get => isEditing; + set + { + SearchPurchaseSkuName = string.Empty; + Set(ref isEditing, value); + } + } public IList SkuList { get; set; } + public IList SearchSkuList { get; set; } + public IList PurchaseSchemeProductSkuList { get; set; } public List SelectedSkuIdList { get; set; } @@ -41,9 +52,16 @@ namespace BBWY.Client.Models get { return SelectedSkuIdList.Count(); } } + public string SearchPurchaseSkuName + { + get => searchPurchaseSkuName; + set { Set(ref searchPurchaseSkuName, value); } + } + public PurchaseSchemeProduct() { SkuList = new ObservableCollection(); + SearchSkuList = new ObservableCollection(); PurchaseSchemeProductSkuList = new ObservableCollection(); SelectedSkuIdList = new List(); } diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index d1c8f082..09e6e323 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -135,6 +135,8 @@ namespace BBWY.Client.ViewModels public ICommand SetIncludeExceptionOrderCommand { get; set; } + public ICommand OpenSkuDetailCommand { get; set; } + /// /// 当前条件利润汇总 /// @@ -155,8 +157,6 @@ namespace BBWY.Client.ViewModels /// public bool IsSDGroup { get => isSDGroup; set { Set(ref isSDGroup, value); } } - - public OrderListViewModel(OrderService orderService, StatisticsService statisticsService, AfterOrderService afterOrderService, GlobalContext globalContext, ChoosePurchaseSchemeViewModel choosePurchaseSchemeViewModel) { IsSDGroup = globalContext.User.TeamName == "刷单组"; @@ -227,6 +227,7 @@ namespace BBWY.Client.ViewModels EditAfterSaleOrderCommand = new RelayCommand(EditAfterSaleOrder); EditAfterSaleOrderRefundPurchaseAmountCommand = new RelayCommand(EditAfterSaleOrderRefundPurchaseAmount); FindAfterSaleOrderCommand = new RelayCommand(FindAfterSaleOrder); + OpenSkuDetailCommand = new RelayCommand(OpenSkuDetail); SearchOrderCommand.Execute(null); } @@ -1070,5 +1071,30 @@ namespace BBWY.Client.ViewModels var endDate = DateTime.Now.Date; SetIncludeAfterOrder(orderId, skuId, startDate, endDate); } + + private void OpenSkuDetail(object param) + { + var paramList = (object[])param; + var orderId = paramList[0].ToString(); + var skuId = paramList[1].ToString(); + var order = OrderList.FirstOrDefault(o => o.Id == orderId); + if (order.Platform == Platform.京东) + { + 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调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示"); + } + } + else + { + + } + } } } diff --git a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs index 0d9c84e8..b0f63189 100644 --- a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs +++ b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs @@ -51,6 +51,10 @@ namespace BBWY.Client.ViewModels public ICommand EditPurchaseProductCommand { get; set; } public ICommand SavePurchaseSchemeCommand { get; set; } + + public ICommand SearchPurchaseSkuNameCommand { get; set; } + + public ICommand ClearPurchaseSkuNameCommand { get; set; } #endregion #region Methods @@ -67,6 +71,8 @@ namespace BBWY.Client.ViewModels ConfirmPurchaseProductCommand = new RelayCommand(ConfirmPurchaseProduct); EditPurchaseProductCommand = new RelayCommand(EditPurchaseProduct); SavePurchaseSchemeCommand = new RelayCommand(SavePurchaseScheme); + SearchPurchaseSkuNameCommand = new RelayCommand(SearchPurchaseSkuName); + ClearPurchaseSkuNameCommand = new RelayCommand(ClearPurchaseSkuName); } public void SetData(IList productSkuList, string purchaserId, string purchaserName) @@ -132,6 +138,7 @@ namespace BBWY.Client.ViewModels errorMsg = string.Empty; App.Current.Dispatcher.Invoke(() => { + purchaseSchemeProduct.SearchSkuList.Clear(); purchaseSchemeProduct.SkuList.Clear(); purchaseSchemeProduct.PurchaseSchemeProductSkuList.Clear(); }); @@ -166,6 +173,7 @@ namespace BBWY.Client.ViewModels { foreach (var sku in data.Value.purchaseSchemeProductSkus) { + purchaseSchemeProduct.SearchSkuList.Add(sku); purchaseSchemeProduct.SkuList.Add(sku); if (purchaseSchemeProduct.SelectedSkuIdList.Any(s => s == sku.PurchaseSkuId)) { @@ -454,6 +462,28 @@ namespace BBWY.Client.ViewModels } } } + + private void SearchPurchaseSkuName(PurchaseSchemeProduct purchaseSchemeProduct) + { + purchaseSchemeProduct.SearchSkuList.Clear(); + if (string.IsNullOrEmpty(purchaseSchemeProduct.SearchPurchaseSkuName)) + { + foreach (var sku in purchaseSchemeProduct.SkuList) + purchaseSchemeProduct.SearchSkuList.Add(sku); + } + else + { + var searchList = purchaseSchemeProduct.SkuList.Where(s => s.Title.Contains(purchaseSchemeProduct.SearchPurchaseSkuName)); + foreach (var sku in searchList) + purchaseSchemeProduct.SearchSkuList.Add(sku); + } + } + + private void ClearPurchaseSkuName(PurchaseSchemeProduct purchaseSchemeProduct) + { + purchaseSchemeProduct.SearchPurchaseSkuName = string.Empty; + SearchPurchaseSkuName(purchaseSchemeProduct); + } #endregion } } diff --git a/BBWY.Client/Views/Order/OrderListControl.xaml b/BBWY.Client/Views/Order/OrderListControl.xaml index b8712e06..81e477d4 100644 --- a/BBWY.Client/Views/Order/OrderListControl.xaml +++ b/BBWY.Client/Views/Order/OrderListControl.xaml @@ -9,6 +9,7 @@ xmlns:cmodel="clr-namespace:BBWY.Client.Models" xmlns:local="clr-namespace:BBWY.Client.Views.Order" DataContext="{Binding OrderList,Source={StaticResource Locator}}" + xmlns:b="http://schemas.microsoft.com/xaml/behaviors" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> @@ -125,8 +126,22 @@ + Width="80" DecodePixelWidth="80" + VerticalAlignment="Top" Margin="0,5,0,0" + Cursor="Hand"> + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml b/BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml index 9a060ed7..3bfc5dd3 100644 --- a/BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml +++ b/BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml @@ -73,7 +73,7 @@ Padding="5,0"> - + @@ -85,6 +85,10 @@ + + + + + + + + + + + + + + +