From 531b14be89d79cb0da82b0e5317f2757ca0f86df Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sun, 27 Mar 2022 06:13:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E5=AE=B6=E5=A4=87?= =?UTF-8?q?=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Client/APIServices/OrderService.cs | 31 ++++++++ BBWY.Client/Models/Order/Order.cs | 34 ++++----- .../ViewModels/Order/OrderListViewModel.cs | 43 +++++++++++- BBWY.Client/Views/Order/EditVenderRemark.xaml | 51 ++++++++++++++ .../Views/Order/EditVenderRemark.xaml.cs | 70 +++++++++++++++++++ BBWY.Client/Views/Order/OrderList.xaml | 4 +- BBWY.Client/Views/Order/SD.xaml.cs | 16 ++++- 7 files changed, 228 insertions(+), 21 deletions(-) create mode 100644 BBWY.Client/Views/Order/EditVenderRemark.xaml create mode 100644 BBWY.Client/Views/Order/EditVenderRemark.xaml.cs diff --git a/BBWY.Client/APIServices/OrderService.cs b/BBWY.Client/APIServices/OrderService.cs index 7f26c15a..67e0c489 100644 --- a/BBWY.Client/APIServices/OrderService.cs +++ b/BBWY.Client/APIServices/OrderService.cs @@ -48,6 +48,16 @@ namespace BBWY.Client.APIServices }, null, HttpMethod.Post); } + /// + /// 获取订单详情 + /// + /// + /// + public ApiResponse GetOrderById(string orderId) + { + return SendRequest(globalContext.BBYWApiHost, $"api/order/GetOrderById/{orderId}", null, null, HttpMethod.Get); + } + /// /// 解密收货人信息 /// @@ -167,5 +177,26 @@ namespace BBWY.Client.APIServices { return SendRequest(globalContext.BBYWApiHost, "/Api/Order/SyncOrderByDate", new { shopId, startTime, endTime }, null, HttpMethod.Post); } + + /// + /// 修改商家备注 + /// + /// + /// + /// + /// + public ApiResponse EditVenderRemark(string orderId, string venderRemark, string flag) + { + return SendRequest(globalContext.BBYWApiHost, "api/order/EditVenderRemark", new + { + orderId, + venderRemark, + flag, + globalContext.User.Shop.Platform, + globalContext.User.Shop.AppKey, + globalContext.User.Shop.AppSecret, + globalContext.User.Shop.AppToken + }, null, HttpMethod.Post); + } } } diff --git a/BBWY.Client/Models/Order/Order.cs b/BBWY.Client/Models/Order/Order.cs index 0c09ee2c..8d60a0ac 100644 --- a/BBWY.Client/Models/Order/Order.cs +++ b/BBWY.Client/Models/Order/Order.cs @@ -14,6 +14,8 @@ namespace BBWY.Client.Models private StorageType? storageType; private OrderState orderState; private string waybillNo; + private string venderRemark; + private string flag; public string Id { get; set; } @@ -88,11 +90,6 @@ namespace BBWY.Client.Models /// public string BuyerRemark { get; set; } - /// - /// 商家备注 - /// - public string VenderRemark { get; set; } - /// /// 采购备注 /// @@ -116,14 +113,26 @@ namespace BBWY.Client.Models public string StoreName { get; set; } /// - /// 订单旗帜 + /// 刷单类型 /// - public string Flag { get; set; } + public SDType? SDType { get; set; } /// - /// 刷单类型 + /// 订单状态 /// - public SDType? SDType { get; set; } + public OrderState OrderState { get => orderState; set { Set(ref orderState, value); } } + + public string WaybillNo { get => waybillNo; set { Set(ref waybillNo, value); } } + + /// + /// 商家备注 + /// + public string VenderRemark { get => venderRemark; set { Set(ref venderRemark, value); } } + + /// + /// 订单旗帜 + /// + public string Flag { get => flag; set { Set(ref flag, value); } } /// /// 收货人信息 @@ -157,13 +166,6 @@ namespace BBWY.Client.Models /// public OrderDropShipping OrderDropShipping { get; set; } - /// - /// 订单状态 - /// - public OrderState OrderState { get => orderState; set { Set(ref orderState, value); } } - - public string WaybillNo { get => waybillNo; set { Set(ref waybillNo, value); } } - public void ConvertOrderCostDetailToGroup() { if (OrderCostDetailList == null || OrderCostDetailList.Count() == 0) diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index 94f949d0..ec3dea38 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -94,6 +94,8 @@ namespace BBWY.Client.ViewModels public ICommand OutStockCommand { get; set; } + public ICommand EditVenderRemarkCommand { get; set; } + public OrderListViewModel(OrderService orderService, StatisticsService statisticsService, GlobalContext globalContext, ChoosePurchaseSchemeViewModel choosePurchaseSchemeViewModel) { random = new Random(); @@ -145,6 +147,7 @@ namespace BBWY.Client.ViewModels ChooseStorageTypeCommand = new RelayCommand(ChooseStorageType); EditCostCommand = new RelayCommand(EditCost); OutStockCommand = new RelayCommand((o) => OutStock(o)); + EditVenderRemarkCommand = new RelayCommand(EditVenderRemark); SearchOrderCommand.Execute(null); } @@ -253,7 +256,7 @@ namespace BBWY.Client.ViewModels } else if (storageType == StorageType.SD) { - var sd = new SD(orderId, true); + var sd = new SD(orderId, true, order.VenderRemark, order.Flag); sd.Closed += Sd_Closed; sd.ShowDialog(); } @@ -362,7 +365,7 @@ namespace BBWY.Client.ViewModels } else if (order.StorageType == StorageType.SD) { - var sd = new SD(order.Id, false); + var sd = new SD(order.Id, false, order.VenderRemark, order.Flag); sd.Closed += Sd_Closed; sd.ShowDialog(); } @@ -487,5 +490,41 @@ namespace BBWY.Client.ViewModels App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "同步订单")); }); } + + private void EditVenderRemark(Order order) + { + var editWindow = new EditVenderRemark(order.Id, order.VenderRemark, order.Flag); + editWindow.Closed += EditVenderRemarkWindow_Closed; + editWindow.ShowDialog(); + } + + private void EditVenderRemarkWindow_Closed(object sender, EventArgs e) + { + var editWindow = sender as EditVenderRemark; + if (editWindow.DialogResult != true) + return; + + var orderId = editWindow.OrderId; + var order = OrderList.FirstOrDefault(o => o.Id == orderId); + if (order == null) + return; + var venderRemark = editWindow.VenderRemark; + var flag = editWindow.Flag; + + IsLoading = true; + Task.Factory.StartNew(() => orderService.EditVenderRemark(orderId, venderRemark, flag)).ContinueWith(r => + { + IsLoading = false; + var response = r.Result; + if (!response.Success) + { + App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "修改商家备注")); + return; + } + + order.VenderRemark = venderRemark; + order.Flag = flag; + }); + } } } diff --git a/BBWY.Client/Views/Order/EditVenderRemark.xaml b/BBWY.Client/Views/Order/EditVenderRemark.xaml new file mode 100644 index 00000000..be7d435a --- /dev/null +++ b/BBWY.Client/Views/Order/EditVenderRemark.xaml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/Order/EditVenderRemark.xaml.cs b/BBWY.Client/Views/Order/EditVenderRemark.xaml.cs new file mode 100644 index 00000000..3e2f2f0e --- /dev/null +++ b/BBWY.Client/Views/Order/EditVenderRemark.xaml.cs @@ -0,0 +1,70 @@ +using BBWY.Client.Models; +using BBWY.Controls; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; + +namespace BBWY.Client.Views.Order +{ + /// + /// EditVenderRemark.xaml 的交互逻辑 + /// + public partial class EditVenderRemark : BWindow + { + public string OrderId { get; private set; } + + public string Flag { get; private set; } + + public string VenderRemark { get; private set; } + + public EditVenderRemark(string orderId, string venderRemark, string flag) + { + InitializeComponent(); + + this.OrderId = orderId; + this.VenderRemark = venderRemark; + this.Flag = flag; + this.Loaded += EditVenderRemark_Loaded; + } + + private void EditVenderRemark_Loaded(object sender, RoutedEventArgs e) + { + txtVenderRemark.Text = VenderRemark; + var flagList = new List() + { + new KVModel() {Key="灰色",Value="Gray"}, + new KVModel() {Key="红色",Value="Red"}, + new KVModel() {Key="黄色",Value="Yellow"}, + new KVModel() {Key="绿色",Value="Green"}, + new KVModel() {Key="蓝色",Value="Blue"}, + new KVModel() {Key="紫色",Value="Purple"} + }; + cbx_flag.ItemsSource = flagList; + if (!string.IsNullOrEmpty(Flag)) + cbx_flag.SelectedItem = flagList.FirstOrDefault(kv => kv.Value == Flag) ?? flagList[0]; + } + + private void btn_Save_Click(object sender, RoutedEventArgs e) + { + if (string.IsNullOrEmpty(txtVenderRemark.Text)) + { + MessageBox.Show("商家备注必填", "提示"); + return; + } + + this.Flag = (cbx_flag.SelectedItem as KVModel).Value; + this.VenderRemark = txtVenderRemark.Text; + this.DialogResult = true; + this.Close(); + } + } +} diff --git a/BBWY.Client/Views/Order/OrderList.xaml b/BBWY.Client/Views/Order/OrderList.xaml index 4cba81c1..4a47e75d 100644 --- a/BBWY.Client/Views/Order/OrderList.xaml +++ b/BBWY.Client/Views/Order/OrderList.xaml @@ -717,7 +717,9 @@ - + () + txtVenderRemark.Text = VenderRemark; + var flagList = new List() { new KVModel() {Key="灰色",Value="Gray"}, new KVModel() {Key="红色",Value="Red"}, @@ -43,10 +47,18 @@ namespace BBWY.Client.Views.Order new KVModel() {Key="蓝色",Value="Blue"}, new KVModel() {Key="紫色",Value="Purple"} }; + cbx_flag.ItemsSource = flagList; + if (!string.IsNullOrEmpty(Flag)) + cbx_flag.SelectedItem = flagList.FirstOrDefault(kv => kv.Value == Flag) ?? flagList[0]; } private void btn_Save_Click(object sender, RoutedEventArgs e) { + if (string.IsNullOrEmpty(txtVenderRemark.Text)) + { + MessageBox.Show("商家备注必填", "提示"); + return; + } decimal.TryParse(txtSDCommissionAmount.Text, out decimal sdCommissionAmountd); decimal.TryParse(txtDeliveryExpressFreight.Text, out decimal deliveryExpressFreight); SDCommissionAmount = sdCommissionAmountd;