From d7ede04f8a8710e40405750ca737a314a31f5d44 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 30 May 2023 16:19:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E5=90=88=E6=A0=BC=E8=AF=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=AA=97=E5=8F=A3=E6=9A=B4=E9=9C=B2=E7=BB=99web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWYB.Client/APIServices/OrderService.cs | 6 +- BBWYB.Client/GlobalContext.cs | 69 ++++++++++++- BBWYB.Client/ViewModels/MainViewModel.cs | 8 +- .../ViewModels/Order/OrderViewModel.cs | 97 +++++++++++++++++-- BBWYB.Client/Views/MainWindow.xaml.cs | 16 +++ BBWYB.Client/Views/Order/OrderList.xaml | 29 ++++-- BBWYB.Client/appsettings.json | 5 +- 7 files changed, 207 insertions(+), 23 deletions(-) diff --git a/BBWYB.Client/APIServices/OrderService.cs b/BBWYB.Client/APIServices/OrderService.cs index ab5a78b..0141036 100644 --- a/BBWYB.Client/APIServices/OrderService.cs +++ b/BBWYB.Client/APIServices/OrderService.cs @@ -27,7 +27,8 @@ namespace BBWYB.Client.APIServices int pageIndex, int pageSize, long? shopId, - bool excludeCanceled) + bool excludeCanceled, + bool isWaitConfig) { return SendRequest(globalContext.BBWYApiHost, "api/order/getorderlist", new { @@ -43,7 +44,8 @@ namespace BBWYB.Client.APIServices clientOrderId, purchaseOrderId, sourceShopName, - sourceSku + sourceSku, + isWaitConfig }, null, HttpMethod.Post); } diff --git a/BBWYB.Client/GlobalContext.cs b/BBWYB.Client/GlobalContext.cs index f6b21a3..f249ce0 100644 --- a/BBWYB.Client/GlobalContext.cs +++ b/BBWYB.Client/GlobalContext.cs @@ -1,8 +1,13 @@ -using BBWYB.Client.Models; +using BBWYB.Client.APIServices; +using BBWYB.Client.Models; +using BBWYB.Client.ViewModels; +using BBWYB.Client.Views.PackPurchaseTaska; using CommunityToolkit.Mvvm.ComponentModel; +using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; using System.Collections.Generic; using System.Runtime.InteropServices; +using System.Windows; namespace BBWYB.Client { @@ -13,7 +18,7 @@ namespace BBWYB.Client { public GlobalContext() { - BBWYBApiVersion = "10020"; + BBWYBApiVersion = "10021"; } private User user; @@ -37,7 +42,9 @@ namespace BBWYB.Client public string QKApiHost { get; set; } public string BBWYBApiVersion { get; set; } + #endregion + #region Web public string GetUserString() { return JsonConvert.SerializeObject(User); @@ -47,6 +54,64 @@ namespace BBWYB.Client { return BBWYBApiVersion; } + + /// + /// 对web版提供的修改打包任务方法 + /// + /// 订单sku归属的来源sku(JD) + /// 订单Id + /// sku图片 + /// sku标题 + /// 订单来源店铺名称 + public void OpenUpdatePurchaseTask(string belongSkuId, string orderId, string skuLogo, string skuTitle, string originShopName) + { + var app = App.Current as App; + var sp = app.ServiceProvider; + + PackPurchaseTaskService packPurchaseTaskService = null; + using (var s = sp.CreateScope()) + { + packPurchaseTaskService = s.ServiceProvider.GetRequiredService(); + } + + var orderSku = new OrderSku() + { + OrderId = orderId, + BelongSkuId = belongSkuId, + Title = skuTitle, + Logo = skuLogo, + + }; + + var res = packPurchaseTaskService.GetOrderTask(orderSku.BelongSkuId, orderSku.OrderId); + if (res == null || !res.Success) + { + MessageBox.Show("网络异常!查不到任务"); + return; + } + if (res.Data == null) + { + MessageBox.Show("打包任务,不存在或已被删除,请重新发起任务!"); + return; + } + UpdatePurchaseTaskWindow packTask = new(); + + ViewModelLocator view = new(); + var updatePackTask = view.UpdatePurchaseTask; + var show = updatePackTask.SearchSku(res.Data, originShopName, orderSku); + + + if (!show) return; + + //updatePackTask.ReflashWindow = () => + //{ + // Task.Factory.StartNew(() => LoadOrder(PageIndex)); + + //}; + + + packTask.ShowDialog(); + } #endregion } } \ No newline at end of file diff --git a/BBWYB.Client/ViewModels/MainViewModel.cs b/BBWYB.Client/ViewModels/MainViewModel.cs index 0f0ed53..3bb51fe 100644 --- a/BBWYB.Client/ViewModels/MainViewModel.cs +++ b/BBWYB.Client/ViewModels/MainViewModel.cs @@ -1,9 +1,11 @@ using BBWYB.Client.APIServices; using BBWYB.Client.Models; +using BBWYB.Client.Views; using BBWYB.Client.Views.SelectShop; using BBWYB.Common.Extensions; using BBWYB.Common.Models; using CommunityToolkit.Mvvm.Input; +using CommunityToolkit.Mvvm.Messaging; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -153,7 +155,7 @@ namespace BBWYB.Client.ViewModels var res = shopService.GetDepartmentList(); if (!res.Success) throw new Exception(res.Msg); - var allDepartmentList = res.Data.Map>(); + var allDepartmentList = res.Data.Map>(); //if (GlobalContext.User.TeamName == "刷单组") //{ @@ -231,6 +233,10 @@ namespace BBWYB.Client.ViewModels vm.OrderVM.Refresh(); if (vm.IsCreateWareManager) vm.WareManager.Refresh(); + if (SelectedMenuModel.Name == "订单列表Bata") + { + WeakReferenceMessenger.Default.Send(new Message_Frame_Refresh(null)); + } } } catch (Exception ex) diff --git a/BBWYB.Client/ViewModels/Order/OrderViewModel.cs b/BBWYB.Client/ViewModels/Order/OrderViewModel.cs index 94a7183..8bde918 100644 --- a/BBWYB.Client/ViewModels/Order/OrderViewModel.cs +++ b/BBWYB.Client/ViewModels/Order/OrderViewModel.cs @@ -36,6 +36,7 @@ namespace BBWYB.Client.ViewModels private bool excludeCanceled; private GlobalContext globalContext; private OrderService orderService; + private bool isWaitConfig; public bool IsLoading { get => isLoading; set { SetProperty(ref isLoading, value); } } @@ -55,8 +56,16 @@ namespace BBWYB.Client.ViewModels public bool ExcludeCanceled { get => excludeCanceled; set { SetProperty(ref excludeCanceled, value); } } public IList OrderList { get; set; } + /// + /// 是否为待配置 + /// + public bool IsWaitConfig { get => isWaitConfig; set { SetProperty(ref isWaitConfig, value); } } + public ICommand SetSearchDateCommand { get; set; } public ICommand SetOrderStateCommand { get; set; } + + public ICommand SetWaitConfigCommand { get; set; } + public ICommand OrderPageIndexChangedCommand { get; set; } public ICommand SearchOrderCommand { get; set; } @@ -68,6 +77,7 @@ namespace BBWYB.Client.ViewModels public ICommand EditPackConfigCommand { get; set; } + public OrderViewModel(GlobalContext globalContext, OrderService orderService, PackPurchaseTaskService packPurchaseTaskService) { OrderList = new ObservableCollection(); @@ -92,6 +102,7 @@ namespace BBWYB.Client.ViewModels CancelOrderCommand = new RelayCommand(CancelOrder); EditPriceCommand = new RelayCommand(OpenEditPrice); EditPackConfigCommand = new RelayCommand(EditPackConfig); + SetWaitConfigCommand = new RelayCommand(SetWaitConfig); PageIndex = 1; PageSize = 10; EndDate = DateTime.Now; @@ -107,14 +118,14 @@ namespace BBWYB.Client.ViewModels { var objList = (object[])obj; var OriginShopName = (string)objList[0]; - OrderSku order = (OrderSku)objList[1]; + OrderSku order = (OrderSku)objList[1]; var res = PackPurchaseTaskService.GetOrderTask(order.BelongSkuId, order.OrderId); if (res == null || !res.Success) { MessageBox.Show("网络异常!查不到任务"); return; } - if (res.Data==null) + if (res.Data == null) { MessageBox.Show("打包任务,不存在或已被删除,请重新发起任务!"); return; @@ -127,13 +138,60 @@ namespace BBWYB.Client.ViewModels if (!show) return; - - updatePackTask.ReflashWindow = () => { + + updatePackTask.ReflashWindow = () => + { Task.Factory.StartNew(() => LoadOrder(PageIndex)); }; - + + + packTask.ShowDialog(); + + } + + private void EditPackConfigForWeb(string belongSkuId, string orderId, string skuLogo, string skuTitle, string originShopName) + { + //var objList = (object[])obj; + //var OriginShopName = (string)objList[0]; + //OrderSku order = (OrderSku)objList[1]; + + var orderSku = new OrderSku() + { + OrderId = orderId, + BelongSkuId = belongSkuId, + Title = skuTitle, + Logo = skuLogo, + + }; + + var res = PackPurchaseTaskService.GetOrderTask(orderSku.BelongSkuId, orderSku.OrderId); + if (res == null || !res.Success) + { + MessageBox.Show("网络异常!查不到任务"); + return; + } + if (res.Data == null) + { + MessageBox.Show("打包任务,不存在或已被删除,请重新发起任务!"); + return; + } + UpdatePurchaseTaskWindow packTask = new(); + + ViewModelLocator view = new(); + var updatePackTask = view.UpdatePurchaseTask; + var show = updatePackTask.SearchSku(res.Data, originShopName, orderSku); + + + if (!show) return; + + //updatePackTask.ReflashWindow = () => + //{ + // Task.Factory.StartNew(() => LoadOrder(PageIndex)); + + //}; + packTask.ShowDialog(); @@ -146,7 +204,21 @@ namespace BBWYB.Client.ViewModels private void LoadOrder(int pageIndex) { IsLoading = true; - var response = orderService.GetOrderList(SearchOrderId, StartDate, EndDate, OrderState, SearchProductId, SearchSku, string.Empty, SearchPurchaseOrderId, SearchSourceShopName, SearchSourceSku, pageIndex, PageSize, globalContext.User.Shop.ShopId, ExcludeCanceled); + var response = orderService.GetOrderList(SearchOrderId, + StartDate, + EndDate, + OrderState, + SearchProductId, + SearchSku, + string.Empty, + SearchPurchaseOrderId, + SearchSourceShopName, + SearchSourceSku, + pageIndex, + PageSize, + globalContext.User.Shop.ShopId, + ExcludeCanceled, + IsWaitConfig); if (!response.Success) { @@ -179,13 +251,21 @@ namespace BBWYB.Client.ViewModels /// 通过订单状态 筛选订单数据 /// /// 订单状态 - public void SetOrderState(OrderState? orderState) + private void SetOrderState(OrderState? orderState) { InitSearchParam(orderState == null); //初始化查询参数 orderState == null 全部 this.OrderState = orderState; Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单 } + private void SetWaitConfig() + { + this.OrderState = null; + InitSearchParam(true); + this.IsWaitConfig = true; + Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单 + } + /// /// 初始化查询参数 /// @@ -193,6 +273,7 @@ namespace BBWYB.Client.ViewModels private void InitSearchParam(bool isInitDate = false) { this.OrderState = null; + IsWaitConfig = false; SearchOrderId = string.Empty; SearchSku = string.Empty; SearchProductId = string.Empty; @@ -245,7 +326,7 @@ namespace BBWYB.Client.ViewModels return; } - var orderResponse = orderService.GetOrderList(orderId, StartDate, EndDate, null, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, 10, globalContext.User.Shop.ShopId, true); + var orderResponse = orderService.GetOrderList(orderId, StartDate, EndDate, null, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, 10, globalContext.User.Shop.ShopId, true, IsWaitConfig); IsLoading = false; if (!orderResponse.Success) { diff --git a/BBWYB.Client/Views/MainWindow.xaml.cs b/BBWYB.Client/Views/MainWindow.xaml.cs index 22934b6..9c28e5a 100644 --- a/BBWYB.Client/Views/MainWindow.xaml.cs +++ b/BBWYB.Client/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using CommunityToolkit.Mvvm.Messaging; +using CommunityToolkit.Mvvm.Messaging.Messages; using Microsoft.Web.WebView2.Core; using SJ.Controls; using System; @@ -18,6 +19,14 @@ namespace BBWYB.Client.Views this.Width = SystemParameters.WorkArea.Size.Width * 0.8; this.Height = SystemParameters.WorkArea.Size.Height * 0.7; this.Loaded += MainWindow_Loaded; + + WeakReferenceMessenger.Default.Register(this, (o, x) => + { + this.Dispatcher.Invoke(() => + { + frame.Refresh(); + }); + }); } private void MainWindow_Loaded(object sender, RoutedEventArgs e) @@ -66,4 +75,11 @@ namespace BBWYB.Client.Views return isInstall; } } + + public class Message_Frame_Refresh : ValueChangedMessage + { + public Message_Frame_Refresh(object value) : base(value) + { + } + } } diff --git a/BBWYB.Client/Views/Order/OrderList.xaml b/BBWYB.Client/Views/Order/OrderList.xaml index 9cab671..7f4a714 100644 --- a/BBWYB.Client/Views/Order/OrderList.xaml +++ b/BBWYB.Client/Views/Order/OrderList.xaml @@ -132,10 +132,25 @@ + + + Command="{Binding SetOrderStateCommand}" CommandParameter="{x:Null}"> + + + + + + + + + + + + + + Background="{Binding IsWaitConfig,Converter={StaticResource objConverter},ConverterParameter=true:#8080FF:#F2F2F2}" + Foreground="{Binding IsWaitConfig,Converter={StaticResource objConverter},ConverterParameter=true:White:#4A4A4A}" + Command="{Binding SetWaitConfigCommand}"> @@ -745,7 +760,7 @@ - +