From 6d3f9e4118bbedb4ca10273897b894ec5a1fe58d Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 30 Oct 2026 20:43:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E8=BD=AC=E4=BB=93=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E5=8F=91=E8=B4=A7=E5=8C=85=E8=A3=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseWindows/BaseMsgWindow.xaml.cs | 4 +- .../BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs | 2 +- .../PDDMultiBuyerOrderReadCtrl.xaml.cs | 21 ++- .../BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs | 2 +- .../Ctrls/OrderCtrls/OrderListCtrl.Command.cs | 2 +- .../Ctrls/OrderCtrls/OrderListCtrl.xaml.cs | 18 ++- .../OrderCtrls/OrderListRowItemCtrl.xaml.cs | 130 +++++++++++------- .../OrderTransitListDetailCtrl.xaml.cs | 5 +- .../TransitAfterSaleWindow.xaml.cs | 4 +- .../oms_wei_order_item_transit_info.cs | 2 +- 10 files changed, 114 insertions(+), 76 deletions(-) diff --git a/29WxOrderWpf/BaseWindows/BaseMsgWindow.xaml.cs b/29WxOrderWpf/BaseWindows/BaseMsgWindow.xaml.cs index dc53f0f..884aca4 100644 --- a/29WxOrderWpf/BaseWindows/BaseMsgWindow.xaml.cs +++ b/29WxOrderWpf/BaseWindows/BaseMsgWindow.xaml.cs @@ -124,8 +124,8 @@ namespace _29WxOrderWpf.BaseWindows MainWindow.Instance.borderMessage.BorderBrush = Application.Current.Resources["pageColorBrush"] as SolidColorBrush; MainWindow.Instance.tbMessage.Foreground = Application.Current.Resources["pageColorBrush"] as SolidColorBrush; } - if (type.ToLower() == "error") - { + if (type.ToLower() == "err" || type.ToLower() == "error") + { MainWindow.Instance.borderMessage.BorderBrush = Application.Current.Resources["PageWarningBrush"] as SolidColorBrush; MainWindow.Instance.tbMessage.Foreground = Application.Current.Resources["PageWarningBrush"] as SolidColorBrush; } diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs index 4d03ea1..9e66b44 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs @@ -1399,7 +1399,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (!lstPddBuyerOrderVoidAfterSaleOrderSn.Contains(orderItem.order_id + orderItem.sku_id)) { lstPddBuyerOrderVoidAfterSaleOrderSn.Add(orderItem.order_id + orderItem.sku_id); - OrderListRowItemCtrl.VoidOrder(orderItem, true); + await OrderListRowItemCtrl.VoidOrder(orderItem, null, true); } } } diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs index 2a67a9e..ed73af0 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs @@ -405,7 +405,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls // 售后 第一页 if (url1.StartsWith("https://mobile.yangkeduo.com/complaint_list.html")) { - await Task.Run(() => + await Task.Run(async () => { if (data1.Contains("listItemStatusVo") && data1.Contains("afterSalesId") && data1.Contains("statusText")) { @@ -421,7 +421,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var jObj = JsonHelper.JObjectParse(jsonData); jObj["result"] = jObj["all"]; jObj["result"]["listItemVOList"] = jObj["result"]["list"]; - CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj)); + await CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj)); } catch { @@ -431,14 +431,11 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } }); } - // 读取售后 - if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list")) - { - await Task.Run(() => - { - CefReadBuyerAfterSale(url1, data1); - }); - } + // 读取售后 + if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list")) + { + await CefReadBuyerAfterSale(url1, data1); + } }); } @@ -1021,7 +1018,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite); } - void CefReadBuyerAfterSale(string url, string data) + async Task CefReadBuyerAfterSale(string url, string data) { var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => url.Contains(b.buyer_id)); if (buyer == null) @@ -1343,7 +1340,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (!lstPddBuyerOrderVoidAfterSaleOrderSn.Contains(orderItem.order_id + orderItem.sku_id)) { lstPddBuyerOrderVoidAfterSaleOrderSn.Add(orderItem.order_id + orderItem.sku_id); - OrderListRowItemCtrl.VoidOrder(orderItem, true); + await OrderListRowItemCtrl.VoidOrder(orderItem, null, true); } } } diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs index a592d6b..3d6ec54 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs @@ -1356,7 +1356,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (!lstTbBuyerOrderVoidAfterSaleOrderSn.Contains(orderItem.order_id + orderItem.sku_id)) { lstTbBuyerOrderVoidAfterSaleOrderSn.Add(orderItem.order_id + orderItem.sku_id); - OrderListRowItemCtrl.VoidOrder(orderItem, true); + await OrderListRowItemCtrl.VoidOrder(orderItem, null, true); } } } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.Command.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.Command.cs index 9572892..561eb25 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.Command.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.Command.cs @@ -158,7 +158,7 @@ public partial class OrderListCtrl if (ret) { sucessCount++; - this.GetOrder(item.order_id); + await this.GetOrder(item.order_id); SetProgress(index, count); item.IsSelect = false; } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index b31c9a8..add50ae 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -2931,7 +2931,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) html3 = await GetHtml.PostUtf8Async(url3, data3); } - MainWindow.Instance.orderListCtrl.GetOrder(tmpOrderItem.order_id); + await Task.Run(() => { MainWindow.Instance.orderListCtrl.GetOrder(tmpOrderItem.order_id); }); Dispatcher.Invoke(new Action(() => { BottomMsg = "正在处理买手退货,总计:" + tmpOrderItems.Count + ",已处理:" + index; })); #endregion } @@ -3301,13 +3301,21 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } IsAutoBuy = true; + btnAutoBuy.IsEnabled = false; foreach (var order in buyOrders) { - var orderItem = order.orderItems.FirstOrDefault(); - await OrderListRowItemCtrl.BuyOrder(orderItem, true); - if (IsAutoBuy == false) - break; + try + { + var orderItem = order.orderItems.FirstOrDefault(); + await OrderListRowItemCtrl.BuyOrder(orderItem, true); + if (IsAutoBuy == false) + break; + } + catch + { + } } + btnAutoBuy.IsEnabled = true; IsAutoBuy = false; BaseMsgWindow.ShowInfo("自动拍单结束!"); } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs index 9e31f44..d8f5ccb 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs @@ -371,7 +371,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls // 拍单前查询订单是否退款 var orderId = orderItem.order_id; var skuId = orderItem.sku_id; - MainWindow.Instance.orderListCtrl.GetOrder(orderId); + await MainWindow.Instance.orderListCtrl.GetOrder(orderId); var newOrder = GlobalConfig.lstOrder.FirstOrDefault(or => or.order_id == orderId); if (newOrder.orderItems.Count == 1) orderItem = newOrder?.orderItems?.FirstOrDefault(); @@ -385,18 +385,18 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (!isAbnormalOrder && orderItem.ItemTransitOrder != null) { // 正常单有未作废订单的,不可再拍单 - BaseMsgWindow.ShowAnimateMessage("该订单已有采购记录", "Error", 5); + BaseMsgWindow.ShowAnimateMessage("该订单已有采购记录", "Error", 6); return; } if (isAbnormalOrder && (orderItem.ItemOrder.status <= 21 || orderItem.ItemTransitOrder == null || orderItem.ItemTransitOrder.refund_status != "买手退款成功")) { // 异常单不是被拼多多买家秒退的且已取号的,不可异常重拍 - BaseMsgWindow.ShowAnimateMessage("该异常单不符合重拍条件", "Error", 5); + BaseMsgWindow.ShowAnimateMessage("该异常单不符合重拍条件", "Error", 6); return; } // 如果是退款单,弹出退款窗口 - if (CheckIsRefund(orderItem)) + if (CheckIsRefund(orderItem, isAutoBuy)) return; // 拍单前检测买手号是否在线 @@ -408,6 +408,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } if (GlobalConfig.CurrentPddBuyer.status != "在线") { + OrderListCtrl.IsAutoBuy = false; BaseMsgWindow.ShowError("买手号掉线"); return; } @@ -422,6 +423,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { if (BaseClass.Balance < 10) { + OrderListCtrl.IsAutoBuy = false; BaseMsgWindow.ShowError("软件快递余额不足(剩余" + BaseClass.Balance.ToString("0.00") + "元,拍单至少需保留10元),无法中转拍单,请先充值!"); return; } @@ -498,7 +500,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls // } // catch(Exception ex) // { - // BaseMsgWindow.ShowError(ex.Message); + // if (isAutoBuy) + // BaseMsgWindow.ShowAnimateMessage(ex.Message, "Error", 6); + // else + // BaseMsgWindow.ShowError(ex.Message); // return; // } //} @@ -575,7 +580,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } catch (Exception ex) { - BaseMsgWindow.ShowError(ex.Message); + if (isAutoBuy) + BaseMsgWindow.ShowAnimateMessage(ex.Message, "Error", 6); + else + BaseMsgWindow.ShowError(ex.Message); } } }); @@ -630,7 +638,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } catch (Exception ex) { - BaseMsgWindow.ShowError(ex.Message); + if (isAutoBuy) + BaseMsgWindow.ShowAnimateMessage(ex.Message, "Error", 6); + else + BaseMsgWindow.ShowError(ex.Message); } } }); @@ -686,7 +697,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } catch (Exception ex) { - BaseMsgWindow.ShowError(ex.Message); + if (isAutoBuy) + BaseMsgWindow.ShowAnimateMessage(ex.Message, "Error", 6); + else + BaseMsgWindow.ShowError(ex.Message); } } }); @@ -1072,7 +1086,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { if (this.DataContext is oms_wei_order_item_info orderItem) { - VoidOrder(orderItem); + btnVoidTransitOrder.IsEnabled = false; + await VoidOrder(orderItem); + btnVoidTransitOrder.IsEnabled = true; } } @@ -1082,46 +1098,47 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls /// /// /// 作废前是否更新服务端订单状态 - public static async void VoidOrder(oms_wei_order_item_info orderItem, bool isSilent = false, bool UpdateOrderBeforeVoid = true) + public static async Task VoidOrder(oms_wei_order_item_info orderItem, oms_wei_external_procurement_log_info transitOrder = null, bool isSilent = false, bool UpdateOrderBeforeVoid = true) { // 作废前查询订单状态 var orderId = orderItem.order_id; var skuId = orderItem.sku_id; - await Task.Run(() => - { - if (UpdateOrderBeforeVoid) - MainWindow.Instance.orderListCtrl.GetOrder(orderId); + if (UpdateOrderBeforeVoid) + await Task.Run(() => { MainWindow.Instance.orderListCtrl.GetOrder(orderId); }); - var newOrder = GlobalConfig.lstOrder.FirstOrDefault(or => or.order_id == orderId); - if (newOrder?.orderItems.Count == 1) - orderItem = newOrder?.orderItems?.FirstOrDefault(); - else - orderItem = newOrder?.orderItems?.FirstOrDefault(oi => oi.sku_id == skuId); - }); + var newOrder = GlobalConfig.lstOrder.FirstOrDefault(or => or.order_id == orderId); + if (newOrder?.orderItems.Count == 1) + orderItem = newOrder?.orderItems?.FirstOrDefault(); + else + orderItem = newOrder?.orderItems?.FirstOrDefault(oi => oi.sku_id == skuId); + if (orderItem == null) { if (!isSilent) BaseMsgWindow.ShowError("订单查询失败,请重试"); return; } - if (orderItem.ItemTransitOrder == null) + if (transitOrder == null) + transitOrder = orderItem.ItemTransitOrder ?? orderItem.ItemTransitOrderWithVoid; + + if (transitOrder == null) { if (!isSilent) BaseMsgWindow.ShowError("要作废的中转订单不存在,请确认后重试"); return; } - if (orderItem.ItemTransitOrder.out_order_no.ParseToString().StartsWith("tb_")) // 淘宝买手售后 + if (transitOrder.out_order_no.ParseToString().StartsWith("tb_")) // 淘宝买手售后 { if (!isSilent) BaseMsgWindow.ShowError("淘宝买手暂不支持自动售后,请手动申请售后"); else - orderItem.ItemTransitOrder.refund_status = "淘宝买手暂不支持自动售后,需手动申请售后"; + transitOrder.refund_status = "淘宝买手暂不支持自动售后,需手动申请售后"; } else // 拼多多买手售后 { bool noBuyer = false; - var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == orderItem?.ItemTransitOrder?.buyer_account || b.buyer_name == orderItem?.ItemTransitOrder?.buyer_account); + var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account || b.buyer_name == transitOrder.buyer_account); if (buyer == null) { if (!isSilent) @@ -1149,17 +1166,22 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (!noBuyer) { PddBuyerOrderLiteInfo order = null; - MainWindow.Instance.Dispatcher.Invoke(new Action(() => { })); - order = PDDBuyerOrderReadCtrl.lstPddBuyerOrderInfoLite.FirstOrDefault(o => o.order_sn == orderItem.ItemTransitOrder.out_order_no); + order = PDDBuyerOrderReadCtrl.lstPddBuyerOrderInfoLite.FirstOrDefault(o => o.order_sn == transitOrder.out_order_no); if (order == null) order = new PddBuyerOrderLiteInfo() { order_status_prompt = "待发货", - order_amount = orderItem.ItemTransitOrder.out_amount, - order_sn = orderItem.ItemTransitOrder.out_order_no + order_amount = transitOrder.out_amount, + order_sn = transitOrder.out_order_no }; PDDBuyerOrderReadCtrl.lstPddBuyerOrderInfoLite.Add(order); - var pddAfterRst = PDDBuyerOrderReadCtrl.SimPddAfterSale(buyer, order); + + var pddAfterRst = ""; + await Task.Run(() => + { + pddAfterRst = PDDBuyerOrderReadCtrl.SimPddAfterSale(buyer, order); + }); + if (pddAfterRst.Contains("\"after_sales_status\":1") || pddAfterRst.Contains("该订单已全额退款") || pddAfterRst.Contains("订单未付款")) { // 保存退款成功状态 @@ -1197,15 +1219,16 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls string url2 = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/discardOrder"; var data2 = new JObject(); data2["orderNo"] = orderItem.order_id; - //data2["outOrderNo"] = orderItem.ItemTransitOrder.out_order_no; - data2["outOrderNo"] = orderItem.ItemTransitOrder.order_code; + //data2["outOrderNo"] = transitOrder.out_order_no; + data2["outOrderNo"] = transitOrder.order_code; var dataStr2 = JsonHelper.SerializeObject(data2); - var discardRst = HttpResponseWXBLL.e57PostResponse(url2, dataStr2, ""); - if (discardRst.Contains("0") || discardRst.Contains("200")) + var discardRst = await HttpResponseWXBLL.e57PostResponseAsync(url2, dataStr2); + if (discardRst.Contains("\"code\":0") || discardRst.Contains("\"code\":200")) { //MainWindow.Instance.orderListCtrl.GetOrder(orderId); #region 立即更新订单 - orderItem.ItemTransitOrder.order_void_status = 1; + transitOrder = orderItem.ItemTransitOrders.FirstOrDefault(o => o.order_code == transitOrder.order_code) ?? transitOrder; + transitOrder.order_void_status = 1; orderItem.SetOrderItemTextProperty(); #endregion @@ -1222,7 +1245,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } else { - var msg = BaseRegex.GetStringXml(ref discardRst, "msg"); + var msg = BaseRegex.GetStringJson(ref discardRst, "msg"); if (!isSilent) BaseMsgWindow.ShowInfo("订单作废失败,服务端返回 " + msg); } @@ -1705,26 +1728,33 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls }); } - static bool CheckIsRefund(oms_wei_order_item_info orderItem) + static bool CheckIsRefund(oms_wei_order_item_info orderItem, bool isAutoBuy = false) { if (/*orderItem?.ItemRefund?.count > 0 &&*/ orderItem.refund_status > 1) { - MainWindow.Instance.Dispatcher.Invoke(new Action(() => + if (isAutoBuy) { - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == orderItem.shop_id.ParseToString()); - if (shop != null) + BaseMsgWindow.ShowAnimateMessage("订单有售后,请去店铺后台退款", "Error", 6); + } + else + { + MainWindow.Instance.Dispatcher.Invoke(new Action(() => { - WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); - shopLoginForm.openType = Work._29Tools.Forms.ShopForms.EnumOpenType.manage; - shopLoginForm.WindowState = System.Windows.Forms.FormWindowState.Maximized; - shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/aftersale/detail?orderid=" + orderItem.ItemRefund.after_sale_order_id; - shopLoginForm.Show(); - } - else - { - BaseMsgWindow.ShowError("订单有售后,请去店铺后台退款"); - } - })); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == orderItem.shop_id.ParseToString()); + if (shop != null) + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + shopLoginForm.openType = Work._29Tools.Forms.ShopForms.EnumOpenType.manage; + shopLoginForm.WindowState = System.Windows.Forms.FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/aftersale/detail?orderid=" + orderItem.ItemRefund.after_sale_order_id; + shopLoginForm.Show(); + } + else + { + BaseMsgWindow.ShowError("订单有售后,请去店铺后台退款"); + } + })); + } return true; } return false; diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml.cs index 810af6b..5f6a39e 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml.cs @@ -37,6 +37,7 @@ public partial class OrderTransitListDetailCtrl : UserControl { if (this.DataContext is oms_wei_order_item_transit_detail_info transitDetailInfo) { + btnVoidPackage.IsEnabled = false; var orderItem = transitDetailInfo.oms_wei_order_item_info; var transitOrder = transitDetailInfo.oms_wei_external_procurement_log_info; var returnOrder = transitDetailInfo.oms_wei_external_procurement_after_sale_info; @@ -45,7 +46,8 @@ public partial class OrderTransitListDetailCtrl : UserControl // 作废发货包裹 if (transitOrder != null) { - + transitOrder = orderItem.ItemTransitOrders.FirstOrDefault(t => t.order_code == transitOrder.order_code) ?? transitOrder; + await OrderListRowItemCtrl.VoidOrder(orderItem, transitOrder); } // 作废退货包裹 else if (returnOrder != null) @@ -77,6 +79,7 @@ public partial class OrderTransitListDetailCtrl : UserControl } RefreshListCtrl(orderItem); + btnVoidPackage.IsEnabled = true; } } diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs index c33ef37..85c6ab9 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs @@ -217,8 +217,8 @@ namespace _29WxOrderWpf.Windows.OrderWindows } else { - //创建退货包裹成功0 - await MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id); + //创建退货包裹成功0 + await Task.Run(() => { MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id); }); //MainWindow.Instance.orderListCtrl.FilterOrders(); StartUp.UpdateBalance(); BaseMsgWindow.ShowInfo("添加退货包裹成功", "", this); diff --git a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs index c8862ba..27fcbea 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs @@ -61,7 +61,7 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject { var transitDetail = new oms_wei_order_item_transit_detail_info() { - //VoidPackageBtnVisibility = Visibility.Visible, /* 作废发货包裹 */ + VoidPackageBtnVisibility = Visibility.Visible, /* 作废发货包裹 */ RejectPackageBtnVisibility = Visibility.Visible, /* 拒收发货包裹 */ //ReturnPackageBtnVisibility = Visibility.Visible, //ExtraPackagesBtnVisibility = Visibility.Visible,