1淘宝拍单准备, 2异常重拍的订单创建拦截退货后无法读取结果问题修复
This commit is contained in:
1 parent
040fe6ff52
commit
b5b2693990
10 files changed
+437
-22
No files matched your search
@@ -1,5 +1,6 @@
|
||||
using _29WxOrderWpf.BaseWindows;
|
||||
using _29WxOrderWpf.Common;
|
||||
using _29WxOrderWpf.Ctrls.OrderCtrls;
|
||||
using _29WxOrderWpf.ViewModels;
|
||||
using _29WxOrderWpf.Views;
|
||||
using AllBase;
|
||||
@@ -32,6 +33,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
/// </summary>
|
||||
public partial class PDDBuyerSelectCtrl : UserControl
|
||||
{
|
||||
public static string buyPlatform { get; set; } = "pdd";
|
||||
|
||||
public PDDBuyerSelectCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -172,11 +175,19 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
{
|
||||
wpPddBuyer.Visibility = Visibility.Collapsed;
|
||||
wpTaobaoBuyer.Visibility = Visibility.Visible;
|
||||
buyPlatform = "tb";
|
||||
foreach (var order in GlobalConfig.lstFilterOrder)
|
||||
OrderListCtrl.InitOrderObservableProp(order);
|
||||
|
||||
MainWindow.Instance.orderListCtrl.FilterOrders();
|
||||
}
|
||||
else
|
||||
{
|
||||
wpPddBuyer.Visibility = Visibility.Visible;
|
||||
wpTaobaoBuyer.Visibility = Visibility.Collapsed;
|
||||
buyPlatform = "pdd";
|
||||
foreach (var order in GlobalConfig.lstFilterOrder)
|
||||
OrderListCtrl.InitOrderObservableProp(order);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,7 +236,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
return;
|
||||
|
||||
bool islogin = false;
|
||||
TaobaoLoginViewModel.CheckBuyerLogin(new List<BuyerLoginInfo> { buyer }, false);
|
||||
//TaobaoBuyOrderViewModel.CheckBuyerLogin(new List<BuyerLoginInfo> { buyer }, false);
|
||||
TaobaoLoginView buyerLoginForm = new TaobaoLoginView(buyer);
|
||||
if (buyer.status == "在线")
|
||||
{
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<UserControl
|
||||
x:Class="_29WxOrderWpf.Ctrls.BuyerCtrls.TaobaoBuyOrderCtrl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.BuyerCtrls"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
x:Name="taobaoBuyOrderCtrl"
|
||||
Width="1280"
|
||||
Height="800"
|
||||
MinWidth="800"
|
||||
MinHeight="600"
|
||||
Loaded="taobaoBuyOrderCtrl_Loaded"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<BooleanToVisibilityConverter x:Key="BoolToVis" />
|
||||
</UserControl.Resources>
|
||||
<Grid Background="White">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="28" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- 地址栏 -->
|
||||
<Border
|
||||
Grid.Row="0"
|
||||
Background="White"
|
||||
BorderBrush="#E0E0E0"
|
||||
BorderThickness="0,0,0,1">
|
||||
<TextBox
|
||||
x:Name="txtAddress"
|
||||
Margin="3,2"
|
||||
VerticalContentAlignment="Center"
|
||||
BorderBrush="#D0D0D0"
|
||||
BorderThickness="1"
|
||||
KeyDown="txtAddress_KeyDown"
|
||||
Text="{Binding Address, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Border>
|
||||
|
||||
<!-- 主区域:浏览器 -->
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="600" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- 浏览器容器 -->
|
||||
<Grid
|
||||
x:Name="BrowserHost"
|
||||
Grid.Column="0"
|
||||
Background="White"
|
||||
ClipToBounds="True" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
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.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace _29WxOrderWpf.Ctrls.BuyerCtrls;
|
||||
|
||||
/// <summary>
|
||||
/// TaobaoBuyOrderCtrl.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class TaobaoBuyOrderCtrl : UserControl
|
||||
{
|
||||
|
||||
public TaobaoBuyOrderCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void taobaoBuyOrderCtrl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void txtAddress_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,303 @@
|
||||
using _29WxOrderWpf.CefHelper;
|
||||
using _29WxOrderWpf.Commands;
|
||||
using _29WxOrderWpf.ViewModels;
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.DBModel;
|
||||
using AllBase.Model.MvvmBaseClasses;
|
||||
using CefSharp;
|
||||
using CefSharp.Handler;
|
||||
using CefSharp.Wpf;
|
||||
using NaiBa.Util.Extension;
|
||||
using Org.BouncyCastle.Asn1.Ocsp;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Policy;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
using Work._29Tools.BLL;
|
||||
using Work._29Tools.CefTools;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
||||
|
||||
namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 淘宝买手购买商品页面 视图模型
|
||||
/// </summary>
|
||||
public class TaobaoBuyOrderViewModel : PropertyNotifyObject
|
||||
{
|
||||
public static TaobaoBuyOrderViewModel TaobaoBuyOrderInstance { get; set; } = null;
|
||||
|
||||
/// <summary>浏览器创建完成后触发(视图在此把浏览器加入可视树)</summary>
|
||||
public event Action<ChromiumWebBrowser> BrowserCreated;
|
||||
|
||||
/// <summary>请求关闭窗口</summary>
|
||||
public event Action RequestClose;
|
||||
public int CloseAfterSecond { get; set; }
|
||||
public string InitUrl { get; set; } = "";
|
||||
|
||||
private string shopCookieHead = "taobao.com";
|
||||
private string buyerLoginUrl = "https://login.taobao.com/havanaone/login/login.htm";
|
||||
private string MainUrl = "https://i.taobao.com/my_itaobao"; //"https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm?";
|
||||
|
||||
public ChromiumWebBrowser CefWebBrowser { get; private set; }
|
||||
private BuyerLoginInfo buyer = null;
|
||||
private string currentUrl = "";
|
||||
private volatile bool _isWindowLoaded = false;
|
||||
|
||||
#region 界面绑定属性
|
||||
|
||||
/// <summary>用户名</summary>
|
||||
public string UserName
|
||||
{
|
||||
get { return this.GetValue(x => x.UserName); }
|
||||
set { this.SetValue(x => x.UserName, value); }
|
||||
}
|
||||
|
||||
/// <summary>密码</summary>
|
||||
public string PassWord
|
||||
{
|
||||
get { return this.GetValue(x => x.PassWord); }
|
||||
set { this.SetValue(x => x.PassWord, value); }
|
||||
}
|
||||
|
||||
/// <summary>地址栏</summary>
|
||||
public string Address
|
||||
{
|
||||
get { return this.GetValue(x => x.Address); }
|
||||
set { this.SetValue(x => x.Address, value); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 命令
|
||||
|
||||
public ICommand ReloadCommand { get; }
|
||||
public ICommand LoginAgainCommand { get; }
|
||||
public ICommand StopCommand { get; }
|
||||
public ICommand CopyUserNameCommand { get; }
|
||||
public ICommand CopyPasswordCommand { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
public TaobaoBuyOrderViewModel(BuyerLoginInfo buyerInfo)
|
||||
{
|
||||
TaobaoBuyOrderInstance = this;
|
||||
|
||||
buyer = buyerInfo;
|
||||
UserName = buyerInfo?.buyer_name;
|
||||
PassWord = ""; //DataOpenSSL.DecryptString(buyerInfo.Password);
|
||||
|
||||
ReloadCommand = new DelegateCommand(Reload);
|
||||
LoginAgainCommand = new DelegateCommand(LoginAgain);
|
||||
StopCommand = new DelegateCommand(StopButton);
|
||||
CopyUserNameCommand = new DelegateCommand(CopyUserName);
|
||||
CopyPasswordCommand = new DelegateCommand(CopyPassword);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 窗口加载完成时调用
|
||||
/// </summary>
|
||||
public void Start()
|
||||
{
|
||||
_isWindowLoaded = true;
|
||||
|
||||
if (CloseAfterSecond > 0)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
Thread.Sleep(1000 * CloseAfterSecond);
|
||||
if (_isWindowLoaded)
|
||||
{
|
||||
Application.Current?.Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
if (_isWindowLoaded)
|
||||
RequestClose?.Invoke();
|
||||
}));
|
||||
}
|
||||
});
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
AutoLogin();
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 窗口关闭时调用,停止后台任务
|
||||
/// </summary>
|
||||
public void Stop()
|
||||
{
|
||||
_isWindowLoaded = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 自动登录店铺后台
|
||||
/// </summary>
|
||||
private async void AutoLogin()
|
||||
{
|
||||
if (buyer == null)
|
||||
return;
|
||||
_ = Application.Current.Dispatcher.InvokeAsync(async () =>
|
||||
{
|
||||
if (CefWebBrowser == null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(InitUrl))
|
||||
CefWebBrowser = WPFCEFBrowser.CreateChromiumWebBrowser(InitUrl, false);
|
||||
else
|
||||
CefWebBrowser = WPFCEFBrowser.CreateChromiumWebBrowser(MainUrl, false);
|
||||
|
||||
LocalResourceRequestHandler resourceRequestHandler = new LocalResourceRequestHandler();
|
||||
resourceRequestHandler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete;
|
||||
resourceRequestHandler.BeforeResourceLoadEvent += RequestHandler_BeforeResourceLoad;
|
||||
CefWebBrowser.RequestHandler = new LocalRequestHandler(resourceRequestHandler);
|
||||
var lifeSapnHandler = new LocalLifeSpanHandler(PopWindowType.SelfWindow);
|
||||
CefWebBrowser.LifeSpanHandler = lifeSapnHandler;
|
||||
//CefWebBrowser.KeyboardHandler = new KeyboardHandler();
|
||||
CefWebBrowser.KeyboardHandler = new CefKeyboardHandler();
|
||||
CefWebBrowser.FrameLoadEnd += CefWebBrowser_FrameLoadEnd;
|
||||
CefWebBrowser.AddressChanged += CefWebBrowser_AddressChanged;
|
||||
CefWebBrowser.LoadError += CefWebBrowser_LoadError;
|
||||
|
||||
// 通知视图把浏览器加入可视树(必须在等待浏览器初始化之前完成)
|
||||
BrowserCreated?.Invoke(CefWebBrowser);
|
||||
|
||||
List<Cookie> cookieLst = new List<Cookie>();
|
||||
try
|
||||
{
|
||||
if (buyer != null)
|
||||
{
|
||||
cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(buyer?.cookie);
|
||||
if (cookieLst == null)
|
||||
cookieLst = new List<Cookie>();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// cef138必须init后方可设置或删除cookie
|
||||
|
||||
while (!CefWebBrowser.IsBrowserInitialized || !CefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
await Task.Delay(20);
|
||||
WPFCEFBrowser.DeleteCookie(CefWebBrowser.GetCookieManager(null));
|
||||
|
||||
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
|
||||
//await WPFCEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), CefWebBrowser.GetCookieManager(null));
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
await WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", CefWebBrowser.GetCookieManager(null));
|
||||
//t.Wait(5000);
|
||||
}
|
||||
|
||||
//根据登录的具体店铺设置local storage
|
||||
if (!string.IsNullOrEmpty(buyer?.buyer_id))
|
||||
{
|
||||
//var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
//storageJsCode += "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
//while (!CefWebBrowser.IsBrowserInitialized || !CefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
// Thread.Sleep(20);
|
||||
//CefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(InitUrl))
|
||||
CefWebBrowser.Load(InitUrl);
|
||||
else
|
||||
CefWebBrowser.Load(MainUrl);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void CefWebBrowser_AddressChanged(object sender, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (Application.Current?.Dispatcher != null)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
currentUrl = e.NewValue.ParseToString();
|
||||
Address = e.NewValue.ParseToString();
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
|
||||
{
|
||||
//js绑定C#对象 html页面内声明绑定的C#对象
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("(function(){");
|
||||
sb.Append("CefSharp.BindObjectAsync('shopObj');");
|
||||
sb.Append("})();");
|
||||
CefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
var _url = url;
|
||||
var _responseData = responseData;
|
||||
Task.Run(async() => {await DoResourceLoadComplete(url, responseData); });
|
||||
}
|
||||
|
||||
private async Task DoResourceLoadComplete(string url, string responseData)
|
||||
{
|
||||
//if (responseData.Contains("karl_malone_32") || responseData.Contains("jtt_fan"))
|
||||
//{
|
||||
// //https://h5api.m.taobao.com/h5/mtop.user.getusersimple/1.0/?jsv=2.7.2&appKey=12574478&t=1789984970076&sign=6bb7d3b5cd8bd3ab32bd97c1a0df1c0f&jsonpIncPrefix=tbnavnew&api=mtop.user.getUserSimple&v=1.0&dataType=json&type=originaljson&data=%7B%7D
|
||||
// //{"api":"mtop.user.getUserSimple","v":"1.0","ret":["SUCCESS::调用成功"],"data":{"nick":"jtt_fan","userNumId":440631048,"displayNick":"jtt_fan"}}
|
||||
//}
|
||||
}
|
||||
|
||||
private void StopButton()
|
||||
{
|
||||
}
|
||||
|
||||
private void CopyUserName()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(UserName))
|
||||
Clipboard.SetDataObject(UserName);
|
||||
}
|
||||
|
||||
private void CopyPassword()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(PassWord))
|
||||
Clipboard.SetDataObject(PassWord);
|
||||
}
|
||||
|
||||
private void Reload()
|
||||
{
|
||||
if (CefWebBrowser != null)
|
||||
{
|
||||
if (Address != "about:blank")
|
||||
CefWebBrowser.Load(Address);
|
||||
else
|
||||
CefWebBrowser.Load(MainUrl);
|
||||
}
|
||||
}
|
||||
|
||||
private void LoginAgain()
|
||||
{
|
||||
if (this.currentUrl != buyerLoginUrl)
|
||||
this.CefWebBrowser?.Load(buyerLoginUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,7 +104,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
orderFilterConfig.lstFilterRemarkText = new ConcurrentList<string>();
|
||||
orderFilterConfig.txtFilterShopNameText = "";
|
||||
|
||||
chkSyncDirectOrderWaybill.IsChecked = GlobalConfig.BuyConfig.IsSyncDirectBuyOrderWaybill;
|
||||
chkSyncDirectOrderWaybill.IsChecked = GlobalConfig.BuyConfig?.IsSyncDirectBuyOrderWaybill;
|
||||
|
||||
dateStart.SelectedDate = DateTime.Now.Date.AddDays(-7);
|
||||
dateEnd.SelectedDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
|
||||
@@ -364,7 +364,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
else
|
||||
item.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == item.order_id));
|
||||
// 中转仓退货包裹订单
|
||||
item.ItemTransitOrderAfterSales = transitAfterSaleList.Where(a => item.ItemTransitOrders.Any(t => t.out_order_no == a.order_code)).ToList();
|
||||
if (item.order_id == "3739241588056569856")
|
||||
{
|
||||
|
||||
}
|
||||
item.ItemTransitOrderAfterSales = transitAfterSaleList.Where(a => item.ItemTransitOrders.Any(t => t.out_order_no == a.order_code || t.order_code == a.order_code)).ToList();
|
||||
item.DistribReturnOrderInfos = transitReturnOrderList.Where(tr => tr.order_code_source == item.order_id).ToList();
|
||||
item.ItemTransitExtraOrders = transitExtraPackageList.Where(p => item.ItemTransitOrders.Any(t => t.order_code == p.order_code)).ToList();
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
using Work._29Tools.BLL;
|
||||
using Work._29Tools.CefTools;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
||||
|
||||
namespace _29WxOrderWpf.ViewModels
|
||||
{
|
||||
@@ -227,10 +226,10 @@ namespace _29WxOrderWpf.ViewModels
|
||||
WPFCEFBrowser.DeleteCookie(CefWebBrowser.GetCookieManager(null));
|
||||
|
||||
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
|
||||
var t = WPFCEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), CefWebBrowser.GetCookieManager(null));
|
||||
//await WPFCEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), CefWebBrowser.GetCookieManager(null));
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
//var t = CEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", CefWebBrowser.GetCookieManager(null));
|
||||
await WPFCEFBrowser.SetCookieAsync(cook.Domain.Trim('.'), cook.Name + "=" + cook.Value + ";", CefWebBrowser.GetCookieManager(null));
|
||||
//t.Wait(5000);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:wpf="WPFCommon"
|
||||
x:Name="taobaoLoginView"
|
||||
Width="1280"
|
||||
Height="800"
|
||||
Width="1300"
|
||||
Height="768"
|
||||
MinWidth="800"
|
||||
MinHeight="600"
|
||||
comn:DialogWindowProperty.ResizeMode="CanResizeWithGrip"
|
||||
@@ -42,26 +42,26 @@
|
||||
Text="{Binding Address, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Border>
|
||||
|
||||
<!-- 主区域:浏览器 + 右侧面板 -->
|
||||
<!-- 主区域:浏览器 -->
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Height="5">
|
||||
<TextBlock Text="{Binding}" />
|
||||
</Grid>
|
||||
<!-- 浏览器容器 -->
|
||||
<Grid
|
||||
x:Name="BrowserHost"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Background="White"
|
||||
ClipToBounds="True" />
|
||||
|
||||
<Grid Grid.Row="1" Height="5">
|
||||
<!--<TextBlock Text="{Binding}" />-->
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -32,6 +32,7 @@ namespace AllBase.Model.DBModel
|
||||
public string transit_warehouse_id { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
public string source_platform { get; set; } = "pdd";
|
||||
}
|
||||
public class WXBuyMapSkusInfo : PropertyNotifyObject
|
||||
{
|
||||
|
||||
@@ -288,7 +288,7 @@ namespace AllBase.Model.DBModel
|
||||
public void SetTransitOrder()
|
||||
{
|
||||
|
||||
if (order_id == "3738552208766960384")
|
||||
if (order_id == "3739241588056569856")
|
||||
{
|
||||
|
||||
}
|
||||
@@ -368,6 +368,10 @@ namespace AllBase.Model.DBModel
|
||||
|
||||
// 仓库物流售后拦截包裹按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
|
||||
AddEditTransitWarehouseAfterSaleStr = "添加";
|
||||
if (order_id == "3739241588056569856")
|
||||
{
|
||||
|
||||
}
|
||||
if (this.ItemTransitOrderAfterSale != null)
|
||||
AddEditTransitWarehouseAfterSaleStr = "已添加";
|
||||
if (this.ItemTransitOrderAfterSale != null && (ItemTransitOrderWithVoid.intercept_return_status == 1 || !string.IsNullOrEmpty(ItemTransitOrderAfterSale.downstream_waybill)))
|
||||
|
||||
@@ -1165,8 +1165,8 @@ namespace TemuKJD.ToolForms
|
||||
catch
|
||||
{
|
||||
}
|
||||
var map = buyMapList.FirstOrDefault(b => b.spu_code == upSpuCode && b.sku_code == upSkuCode);
|
||||
if (map != null)
|
||||
var pddBuyMap = buyMapList.FirstOrDefault(b => b.spu_code == upSpuCode && b.sku_code == upSkuCode && b.source_platform == "pdd");
|
||||
if (pddBuyMap != null)
|
||||
{
|
||||
foreach (var order in GlobalConfig.lstOrder)
|
||||
{
|
||||
@@ -1174,12 +1174,12 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
foreach (var item in order.orderItems)
|
||||
{
|
||||
if ((item.out_product_id == map.spu_code && item.out_sku_id == map.sku_code) ||
|
||||
(item.out_product_id == map.spu_code && item.sku_attr_str == map.sku_code) ||
|
||||
(item.product_id == map.spu_code && item.out_sku_id == map.sku_code) ||
|
||||
(item.product_id == map.spu_code && item.sku_attr_str == map.sku_code))
|
||||
if ((item.out_product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
|
||||
(item.out_product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code) ||
|
||||
(item.product_id == pddBuyMap.spu_code && item.out_sku_id == pddBuyMap.sku_code) ||
|
||||
(item.product_id == pddBuyMap.spu_code && item.sku_attr_str == pddBuyMap.sku_code))
|
||||
{
|
||||
item.BuyMap = map;
|
||||
item.BuyMap = pddBuyMap;
|
||||
|
||||
if (filterOrderAction != null)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user