Merge branch 'main' of github.com:jtt-fan/29WxOrder

This commit is contained in:
chfei committed 2026-10-10 20:04:47 +08:00
commit a01e938055
8 files changed
+4044 -142

No files matched your search

@@ -337,6 +337,7 @@
</wpf:TitleContent>
<wpf:TitleContent
x:Name="tcBuyAddress"
Title="中转地址:"
TitleHorizontalAlignment="Right"
TitleWidth="{Binding ElementName=tcShopGoodsName, Path=TitleWidth}">
@@ -44,6 +44,11 @@ public partial class TaobaoBuyOrderCtrl : UserControl
private async void taobaoBuyOrderCtrl_Loaded(object sender, RoutedEventArgs e)
{
if (this.ViewModel.BuyType == "direct")
{
this.tcBuyAddress.Title = "拍单地址:";
}
await ViewModel.Start();
}
private void ViewModel_BrowserCreated(ChromiumWebBrowser browser)
@@ -805,7 +805,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
await client.Runtime.EvaluateAsync(changeReactInputValueStr, null, true, null, null, true, null, true);
string name = null, mobile = null, detail = null, address = null;
if (BuyType == "transit")
if (BuyType == "transit") // 中转仓地址
{
if (transitWarehouse == null)
throw new Exception("中转仓不存在!");
@@ -816,12 +816,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
var addressSubValue = Randomx.GetId(1, 35) + Randomx.GetId(1, 9).ToString().PadLeft(2, '0') + "室" + txtSourceCodeVal;
detail = transitWarehouse.TransDetail + addressSubValue;
address = name + mobile + transitWarehouse.TransFullAddress + addressSubValue;
if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address))
throw new Exception("地址获取失败!");
}
else // todo 直发
else // 直发
{
if (txtBuyTransitWarehouseVal.ParseToString().Contains("****"))
throw new Exception("地址中含有特殊字符,请手动匹配!");
address = txtBuyTransitWarehouseVal;
}
if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address))
throw new Exception("地址获取失败!");
jsRst = "failed";
sb = new StringBuilder();
@@ -893,28 +898,31 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
throw new Exception("识别地址按钮不存在!");
//Thread.Sleep(5000);
// 3.5 比较旧详细地址,详细地址文字有变化才继续操作
jsRst = "failed";
sb = new StringBuilder();
sb.Append("(function() {\r\n");
sb.Append(" var txts = document.getElementsByTagName('textarea');\r\n");
sb.Append(" for (i = 0; i < txts.length; i++) {\r\n");
sb.Append(" var txt = txts[i];\r\n");
sb.Append(" if (txt.outerHTML.indexOf('请输入详细地址信息') > 0) {\r\n");
sb.Append(" return txt.innerHTML;\r\n");
sb.Append(" }\r\n");
sb.Append(" }\r\n");
sb.Append(" return 'failed';\r\n");
sb.Append("})();");
jsStr = sb.ToString();
for (int i = 0; i < 20 && (jsRst == "failed" || string.IsNullOrEmpty(jsRst) || jsRst == oldDetailAddressTxt); i++)
// 3.5 比较旧详细地址,详细地址文字有变化才继续操作(为防止直拍万一地址一致,仅校验中转仓)
if (this.BuyType == "transit")
{
var r = await client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
jsRst = r.Result.Value.ParseToString();
Thread.Sleep(500);
jsRst = "failed";
sb = new StringBuilder();
sb.Append("(function() {\r\n");
sb.Append(" var txts = document.getElementsByTagName('textarea');\r\n");
sb.Append(" for (i = 0; i < txts.length; i++) {\r\n");
sb.Append(" var txt = txts[i];\r\n");
sb.Append(" if (txt.outerHTML.indexOf('请输入详细地址信息') > 0) {\r\n");
sb.Append(" return txt.innerHTML;\r\n");
sb.Append(" }\r\n");
sb.Append(" }\r\n");
sb.Append(" return 'failed';\r\n");
sb.Append("})();");
jsStr = sb.ToString();
for (int i = 0; i < 20 && (jsRst == "failed" || string.IsNullOrEmpty(jsRst) || jsRst == oldDetailAddressTxt); i++)
{
var r = await client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
jsRst = r.Result.Value.ParseToString();
Thread.Sleep(500);
}
if (jsRst == "failed" || string.IsNullOrEmpty(jsRst) || jsRst == oldDetailAddressTxt)
throw new Exception("比较旧地址信息失败!");
}
if (jsRst == "failed" || string.IsNullOrEmpty(jsRst) || jsRst == oldDetailAddressTxt)
throw new Exception("比较旧地址信息失败!");
// 4.核对详细地址
jsRst = "failed";
@@ -1051,7 +1059,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
Thread.Sleep(500);
}
if (jsRst != "success")
throw new Exception("中转仓地址错误,请重试后再拍单付款!");
throw new Exception("付款前核对地址错误,请确认地址正确再拍单付款!");
}
@@ -1635,36 +1643,37 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
Enabled = false;
var addMdyUrl = BaseClass.Build29WxObjString("order/wx_add_mdy_tb_buyer_order");
var addMdyData = UserLogin.GetSignaturex();
//data3 += "&after_sales_status=" + "";
addMdyData += "&buyerId=" + buyer.buyer_id;
addMdyData += "&buyerName=" + buyer.buyer_name;
addMdyData += "&order_amount=" + (txtBuyPriceVal.ParseToDecimal() * 100).ParseToInt();
addMdyData += "&pdd_order_sn=" + "tb_" + txtBuyOrderIdVal.Trim();
addMdyData += "&order_status_prompt=" + "支付成功";
//data3 += "&outExpressCompanyCode=" + "";
addMdyData += "&order_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); // 先设置当前时间,后面能取到下单时间再修改
//data3 += "&pre_allocated_order_no=" + 1;
//data3 += "&tracking_number=" + "";
addMdyData += "&TransitCreateTime=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 先设置当前时间,后面有了仓库建仓时间再修改时间
addMdyData += "&wx_order_id=" + orderItem.order_id;
addMdyData += "&wx_sku_id=" + orderItem.sku_id;
addMdyData += "&wx_send_type=" + (BuyType == "direct" ? 1 : 0);
var html3 = GetHtml.PostUtf8(addMdyUrl, addMdyData);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(addMdyUrl, addMdyData);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
{
ErrorMsg = "拍单信息保存失败,请取消当前拍下的买手订单,再重新尝试拍单!";
return;
}
if (BuyType == "transit")
{
#region 正常中转拍单
if (AbnormalTransitWarehouseOrderInfo == null)
{
var addMdyUrl = BaseClass.Build29WxObjString("order/wx_add_mdy_tb_buyer_order");
var addMdyData = UserLogin.GetSignaturex();
//data3 += "&after_sales_status=" + "";
addMdyData += "&buyerId=" + buyer.buyer_id;
addMdyData += "&buyerName=" + buyer.buyer_name;
addMdyData += "&order_amount=" + (txtBuyPriceVal.ParseToDecimal() * 100).ParseToInt();
addMdyData += "&pdd_order_sn=" + "tb_" + txtBuyOrderIdVal.Trim();
addMdyData += "&order_status_prompt=" + "支付成功";
//data3 += "&outExpressCompanyCode=" + "";
addMdyData += "&order_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); // 先设置当前时间,后面能取到下单时间再修改
//data3 += "&pre_allocated_order_no=" + 1;
//data3 += "&tracking_number=" + "";
addMdyData += "&TransitCreateTime=" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 先设置当前时间,后面有了仓库建仓时间再修改时间
addMdyData += "&wx_order_id=" + orderItem.order_id;
addMdyData += "&wx_sku_id=" + orderItem.sku_id;
addMdyData += "&wx_send_type=" + 0;
var html3 = GetHtml.PostUtf8(addMdyUrl, addMdyData);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(addMdyUrl, addMdyData);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
{
ErrorMsg = "拍单信息保存失败,请取消当前拍下的买手订单,再重新尝试拍单!";
return;
}
JObject body = new JObject();
body["orderNo"] = orderItem.order_id; // 微信订单号
body["orderSkuId"] = orderItem.sku_id; // 微信商品skuId
@@ -1792,6 +1801,112 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
BaseMsgWindow.ShowInfo("拍单信息保存成功");
}
if (BuyType == "direct")
{
#region 直发拍单
var url = BaseClass.Build29WxObjString("order/wx_get_order_item_ext_info");
var data = UserLogin.GetSignaturex();
data += "&wx_order_id_in=" + orderItem.order_id;
data += "&wx_sku_id_in=" + orderItem.sku_id;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
this.ErrorMsg = "直发拍单信息保存失败(01) " + BaseRegex.GetStringJson(ref html, "msg");
return;
}
var existOrderExtList = JsonHelper.DeserializeJsonToList<order_item_ext>(JsonHelper.JObjectParse(html)["data"].ParseToString());
order_item_ext orderExt = new order_item_ext()
{
order_id = orderItem.order_id,
sku_id = orderItem.sku_id,
out_order_id = "tb_" + txtBuyOrderIdVal.Trim(),
shop_app_id = orderItem.Shop.ShopId,
shop_name = orderItem.Shop.ShopAccount,
buy_type = "直发",
};
var url1 = BaseClass.Build29WxObjString("order/wx_add_order_item_ext_info");
if (existOrderExtList.Any(eoe => eoe.order_id == orderExt.order_id && eoe.sku_id == orderExt.sku_id))
url1 = BaseClass.Build29WxObjString("order/wx_mdy_order_item_ext_info");
var data1 = UserLogin.GetSignaturex();
data1 += "&wx_order_id=" + orderExt.order_id;
data1 += "&wx_sku_id=" + orderExt.sku_id;
data1 += "&out_order_id=" + orderExt.out_order_id;
data1 += "&shop_app_id=" + orderExt.shop_app_id;
data1 += "&shop_name=" + orderExt.shop_name;
data1 += "&buy_type=" + orderExt.buy_type;
var html1 = GetHtml.PostUtf8(url1, data1);
if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200"))
{
this.ErrorMsg = "直发拍单信息保存失败(02) " + BaseRegex.GetStringJson(ref html1, "msg");
return;
}
// 拍单后覆盖原售后状态(如果有)
var url2 = BaseClass.Build29WxObjString("order/wx_update_erp_out_after_sale_status");
var data2 = UserLogin.GetSignaturex();
data2 += "&order_id=" + orderItem.order_id;
data2 += "&out_after_sale_status=NULL";
var html2 = GetHtml.PostUtf8(url2, data2);
if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200"))
html2 = GetHtml.PostUtf8(url2, data2);
if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200"))
{
this.ErrorMsg = "直发拍单信息保存失败(03) " + BaseRegex.GetStringJson(ref html2, "msg");
return;
}
JObject obj = new JObject();
obj["platform"] = "WEISHOP";
obj["outAmount"] = (txtBuyPriceVal.ParseToDecimal() * 100).ParseToInt() + "";
obj["outAccount"] = buyer.buyer_name;
obj["orderId"] = orderItem.order_id;
obj["outOrderNo"] = "tb_" + txtBuyOrderIdVal.ParseToString().Trim();
//if (!order.outExpressCompanyCode.IsNullOrEmpty() && !order.tracking_number.IsNullOrEmpty())
//{
// obj["outExpressCompany"] = order.outExpressCompanyCode;
// obj["outExpressNo"] = order.tracking_number;
//}
var dataStr = JsonHelper.SerializeObject(obj);
url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/bind/v2";
//成功 "<ResultVo><code>0</code><msg>SUCCESS</msg><data/><totalRecords/></ResultVo>"
//<AjaxResult><msg>更新微信外采订单状态成功</msg><code>1</code></AjaxResult>
//失败 已存在 <ResultVo><code>1505</code><msg>调用微信接口更新物流信息失败: 非法参数, 同运单号拦截 rid: 69d8ab9c-22baa3b1-67de0d95</msg><data/><totalRecords/></ResultVo>
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
var code = BaseRegex.GetStringXml(ref exportRst, "code");
var msg = BaseRegex.GetStringXml(ref exportRst, "msg");
if (code == "0" || code == "1")
{
// 利润计算重置为最小值,控件Resource更新时将计算利润
orderItem.ProfitCount = decimal.MinValue;
var order = orderItem?.ItemOrder;
if (order != null)
{
orderItem.OrderItemExt = orderExt;
order.out_account = buyer.buyer_id;
order.out_express_company = "OTHER";
order.out_order_no = "tb_" + txtBuyOrderIdVal.ParseToString().Trim();
orderItem.SetOrderItemTextProperty();
order.SetOrderTextProperty();
MainWindow.Instance.orderListCtrl.FilterOneOrder(order, true);
}
if (!IsAutoBuy)
BaseMsgForm.ShowInfo("拍单信息保存成功");
}
else
{
//order.sendStatus = "发送失败 " + (string.IsNullOrEmpty(msg) ? data : msg);
//NaiBa.Util.Helper.ConfigHelper.SaveConfig("other_buyer_order_list", lstOtherBuyerOrderInfoLite);
this.ErrorMsg = "直发拍单保存失败,服务端返回 " + msg;
return;
}
#endregion
}
this.IsBuySuccess = true;
if (_isWindowLoaded)
{
@@ -0,0 +1,735 @@
<UserControl
x:Class="_29WxOrderWpf.Ctrls.BuyerCtrls.TbBuyerOrderReadCtrl"
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="tbBuyerOrderReadCtrl"
d:DesignHeight="450"
d:DesignWidth="1000"
Loaded="UserControl_Loaded"
mc:Ignorable="d">
<Border
Background="White"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1,1,0,1"
CornerRadius="5,0,0,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button
x:Name="btnHideAll"
Grid.Row="1"
Width="25"
Height="60"
Margin="-20,0,0,20"
HorizontalAlignment="left"
Click="btnHideAll_Click"
Style="{StaticResource BasePageButtonStyle}">
<TextBlock Margin="0,0,5,0">
关<LineBreak />
闭</TextBlock>
</Button>
<Grid Margin="0,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Image
Width="16"
Height="16"
Margin="12,0,4,0"
Cursor="Hand"
MouseLeftButtonUp="btnHideAll_Click"
Source="{StaticResource imgCloseGray}"
Visibility="Collapsed" />
<WrapPanel Grid.Column="1" VerticalAlignment="Center">
<CheckBox
x:Name="chkAutoReadBuyerOrder"
Margin="6,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Checked="chkAutoReadBuyerOrder_CheckedChanged"
Content="自动读淘宝买手单"
FontSize="12"
IsChecked="true"
Unchecked="chkAutoReadBuyerOrder_CheckedChanged" />
<CheckBox
x:Name="chkHideNoWxIdOrder"
Margin="6,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Checked="chkHideNoWxIdOrder_CheckedChanged"
Content="隐藏无微信订单的买手单"
FontSize="12"
IsChecked="True"
Unchecked="chkHideNoWxIdOrder_CheckedChanged" />
<CheckBox
x:Name="chkAutoAfterSale"
Margin="6,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
BorderBrush="{StaticResource mainColorBrush}"
Checked="chkAutoAfterSale_Checked"
Content="未发货订单自动售后"
FontSize="12"
IsChecked="True"
Unchecked="chkAutoAfterSale_Checked"
Visibility="Visible" />
<Button
x:Name="btnSearch"
Grid.Column="8"
Width="118"
Height="24"
Margin="4,0,0,0"
Click="btnSearch_Click"
Content="刷新订单"
Style="{StaticResource BasePageButtonStyle}" />
<Button
x:Name="btnNextBuyer"
Grid.Column="8"
Height="24"
Margin="4,0,0,0"
Padding="4,0"
Click="btnNextBuyer_Click"
Content="下一个买手"
Style="{StaticResource BasePageButtonStyle}" />
</WrapPanel>
<TextBox
x:Name="txtFilter"
Grid.Column="2"
Height="28"
Margin="28,0,8,0"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}"
TextChanged="txtFilter_TextChanged" />
<Button
x:Name="btnFilter"
Grid.Column="3"
Width="50"
Height="24"
Margin="4,0,8,0"
Click="btnFilter_Click"
Content="过滤"
Style="{StaticResource BasePageButtonStyle}" />
</Grid>
<Grid
x:Name="GridCef"
Grid.Row="1"
Background="LightGray" />
<Grid
Grid.Row="1"
Margin="2,2,0,334"
HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Border
x:Name="borderPddBuyer"
Width="138"
Background="White"
CornerRadius="0,4,4,0">
<Grid>
<ListBox x:Name="lbPddBuyer">
<!-- 使用自定义属性模板去除ListBox高亮显示框 -->
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<!--<local:ShopListRowCtrl></local:ShopListRowCtrl>-->
<Border
MinHeight="50"
Margin="0,0,0,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
BorderBrush="{StaticResource ListRowBorderColorBrush}"
BorderThickness="0,0,0,1"
CornerRadius="0">
<Border.Style>
<!-- 鼠标进入或悬停Border时切换颜色(悬停时Border的填充控件必须有填充Border,所在层级不限,仅填充透明Grid则触发器无效) -->
<Style TargetType="Border">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource ListRowHoverBackColorBrush}" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid x:Name="gridListItem">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="colCheck" Width="25*" />
<ColumnDefinition x:Name="colBuyerName" Width="100*" />
</Grid.ColumnDefinitions>
<CheckBox
Grid.Column="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="Transparent"
Click="CheckBox_Click"
IsChecked="{Binding IsSelect, Mode=TwoWay}" />
<TextBox
x:Name="txtBuyerNick"
Grid.Column="1"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Center"
Background="Transparent"
BorderThickness="0"
Cursor="Hand"
IsReadOnly="True"
Loaded="txtBuyerNick_Loaded"
Text="{Binding buyer_nick}"
TextWrapping="Wrap" />
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Border>
<Border
Grid.Column="1"
Height="60"
Margin="-2,0,0,0"
VerticalAlignment="Center"
Panel.ZIndex="-1"
Background="{StaticResource pageColorBrush}"
CornerRadius="0,5,5,0"
Cursor="Hand">
<Button
x:Name="btnHideBuyer"
Grid.Column="1"
Width="20"
Height="60"
Margin="0,0,0,0"
Padding="0,0,0,0"
VerticalContentAlignment="Center"
Click="btnHideBuyer_Click"
Content="◀"
Style="{StaticResource BasePageButtonStyle}" />
</Border>
</Grid>
<Grid
Grid.Row="1"
Margin="0"
VerticalAlignment="Bottom"
Background="Transparent"
Visibility="Visible">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Button
x:Name="btnHide"
Width="60"
Height="25"
Margin="0,0,0,-10"
Padding="0,2,0,0"
VerticalContentAlignment="top"
Click="btnHide_Click"
Content="▼"
Style="{StaticResource BasePageButtonStyle}" />
<Grid
x:Name="gridTable"
Grid.Row="1"
Height="330"
Margin="2"
VerticalAlignment="Bottom"
Background="White"
Visibility="Visible">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label
x:Name="lblMsg"
Margin="180,0,0,0"
VerticalAlignment="Center"
Panel.ZIndex="1"
Content="正在操作:" />
<TabControl
x:Name="tabOrderType"
Grid.Row="1"
Margin="0,-32,0,1"
VerticalAlignment="Stretch">
<TabControl.Resources>
<Style TargetType="{x:Type TabControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border
Grid.Row="1"
MinHeight="4"
Background="#f8f8f9"
BorderBrush="#e0e0e0"
BorderThickness="1,1,1,0"
CornerRadius="0,4,0,0">
<ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" />
</Border>
<Border
Margin="0,0,0,0"
HorizontalAlignment="Left"
Background="#e8e8e9"
BorderBrush="#e1e1e1"
BorderThickness="1,1,1,0"
CornerRadius="4,4,0,0">
<TabPanel
x:Name="HeaderPanel"
Background="Transparent"
IsItemsHost="True" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border
Name="Border"
Margin="-1,-2,-1,0"
BorderThickness="1,1,1,0"
CornerRadius="4,4,0,0">
<ContentPresenter
x:Name="ContentSite"
Margin="10,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
ContentSource="Header" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="#f8f8f9" />
<Setter TargetName="Border" Property="BorderBrush" Value="#e0e0e0" />
<Setter TargetName="Border" Property="Margin" Value="-1,-3,-1,-1" />
<Setter Property="Foreground" Value="{StaticResource pageColorBrush}" />
<Setter Property="Panel.ZIndex" Value="100" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#999999" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem Header="买手订单">
<DataGrid
x:Name="dgBuyerOrder"
Grid.Row="1"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
ColumnHeaderHeight="30"
HorizontalGridLinesBrush="{StaticResource HorizontalGridLinesBrush}"
LoadingRow="dgBuyerOrder_LoadingRow"
RowHeaderWidth="0"
RowHeight="50"
SelectionChanged="dgBuyerOrder_SelectionChanged"
VerticalGridLinesBrush="{StaticResource VerticalGridLinesBrush}">
<DataGrid.Columns>
<DataGridTextColumn
Width="40"
Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
CanUserSort="False"
Header="序列"
IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.6*"
Binding="{Binding WxSendTypeStr}"
Header="是否直发">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding order_sn}"
Header="拍单订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding ShopOrderIdStr}"
Header="店铺订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding buyerName}"
Header="买手名称">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding OrderTimeStr}"
Header="拍单时间">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.8*"
Binding="{Binding ProdInfoStr}"
Header="商品信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding AmoutValue}"
Header="金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding order_status_prompt}"
Header="订单状态">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding outExpressCompanyCode}"
Header="物流名称">
<!-- outExpressCompanyName -->
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding tracking_number}"
Header="物流单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding sendStatus}"
Header="订单信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn
x:Name="colSendBuyerOrder"
Width="0.6*"
Header="手动发送">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Button
x:Name="btnSendBuyerOrder"
Grid.Row="2"
Grid.Column="1"
Margin="4,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="Transparent"
BorderBrush="Transparent"
Click="btnSendBuyerOrder_Click"
Content="发送"
Foreground="{StaticResource PageLinkBrush}"
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}}" />
<Button
x:Name="btnSendDirectBuyerOrder"
Grid.Row="2"
Grid.Column="1"
Margin="4,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="Transparent"
BorderBrush="Transparent"
Click="btnSendBuyerOrder_Click"
Content="发送"
Foreground="{StaticResource PageLinkBrush}"
Visibility="{Binding WxSendTypeStr, Converter={StaticResource HasTextVisibility}}" />
<!-- 直发单直发标注不为空 -->
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem Header="买手售后">
<DataGrid
x:Name="dgBuyerAfterSale"
Grid.Row="1"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
ColumnHeaderHeight="30"
HorizontalGridLinesBrush="{StaticResource HorizontalGridLinesBrush}"
LoadingRow="dgBuyerOrder_LoadingRow"
RowHeaderWidth="0"
RowHeight="50"
VerticalGridLinesBrush="{StaticResource VerticalGridLinesBrush}">
<DataGrid.Columns>
<DataGridTextColumn
Width="40"
Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
CanUserSort="False"
Header="序列"
IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.6*"
Binding="{Binding WxSendTypeStr}"
Header="是否直发">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding afterSalesId}"
Header="售后单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding orderSn}"
Header="拍单订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding ShopOrderIdStr}"
Header="店铺订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding buyerName}"
Header="买手名称">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding orderDate}"
Header="拍单日期">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1.8*"
Binding="{Binding ProdInfoStr}"
Header="商品信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding OrderAmountValue}"
Header="订单金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding RefundAmountValue}"
Header="售后金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding AfterSaleStatusStr}"
Header="售后状态">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding sendStatus}"
Header="订单信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="5" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<!--<DataGridTemplateColumn Width="0.6*" Header="手动发送" x:Name="colSendBuyerOrderAfterSale" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Grid.Column="1" Grid.Row="2" x:Name="btnSendBuyerOrder" VerticalAlignment="Center" Background="Transparent" HorizontalAlignment="Center"
Foreground="{StaticResource PageLinkBrush}" BorderBrush="Transparent" Margin="4,0,0,0" Content="发送" Click="btnSendBuyerOrder_Click"
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}}"></Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>-->
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
</Grid>
</Grid>
</Grid>
</Border>
</UserControl>
File diff suppressed because it is too large. Load diff
@@ -867,6 +867,7 @@
Margin="-2,2,4,2"
Padding="0"
VerticalAlignment="Top"
d:Text="BBB采购废柴"
Background="Transparent"
BorderThickness="0"
Cursor="Hand"
@@ -911,6 +912,7 @@
Margin="-2,2"
Padding="0"
VerticalAlignment="Top"
d:Text="261009-123456…"
Background="Transparent"
BorderThickness="0"
Cursor="Hand"
@@ -542,7 +542,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
taobaoBuyView.ViewModel.AbnormalTransitWarehouseOrderInfo = orderItem.ItemTransitOrder;
new DialogWindow()
{
Title = "淘宝买手登录",
Title = "买手拍单 - 当前买手 " + GlobalConfig.CurrentTaobaoBuyer.buyer_nick,
Content = taobaoBuyView,
//Height = System.Windows.Forms.SystemInformation.WorkingArea.Height - 80,
//Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - 80,
@@ -881,63 +881,97 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
private void txtDirectOrderNumStr_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var buyerName = txtDirectBuyer.Text.Split(':').LastOrDefault();
var outOrderId = txtDirectBuyerOrderNo.Text.Split(':').LastOrDefault();
if (string.IsNullOrEmpty(buyerName) || string.IsNullOrEmpty(outOrderId))
{
return;
}
var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(p => p.buyer_name == buyerName);
if (buyer == null)
{
BaseMsgWindow.ShowError("该订单买手号未在当前账户登录");
return;
}
//GlobalConfig.CurrentPddBuyer = buyer;
var url = "";
if (buyer != null)
{
if (sender == txtDirectBuyer)
url = "https://mobile.yangkeduo.com/index.html";
else
url = "https://mobile.yangkeduo.com/order.html?order_sn=" + outOrderId + "&page_from=1&main_orders=1&is_tester=1&refer_page_name=my_order" +
"&refer_page_id=10032_" + BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now) + "_" + Randomx.GetWordNumber(10) + "&refer_page_sn=10032";
}
var orderItem = this.DataContext as oms_wei_order_item_info;
if (orderItem == null)
{
BaseMsgWindow.ShowError("订单信息为空");
return;
}
// 拍单的时候检测一下买手号
if (buyer.status == "在线")
var buyerAccount = txtTransitOrderBuyerStr.Tag.ParseToString();
var buyerName = txtDirectBuyer.Text.Split(':').LastOrDefault();
var outOrderId = txtDirectBuyerOrderNo.Text.Split(':').LastOrDefault();
if (string.IsNullOrEmpty(buyerName) || string.IsNullOrEmpty(outOrderId))
{
PddMobileLoginViewModel.CheckBuyerLogin(buyer);
}
if (buyer.status != "在线")
{
BaseMsgWindow.ShowError("买手号掉线");
return;
}
//PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(MainWindow.Instance.orderListCtrl.FilterOneOrder, StartUp.UpdateBalance, orderItem, buyer, orderItem.BuyMap);
PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(null, null, orderItem, buyer, orderItem.PddBuyMap);
buyOrderForm.BuyType = "direct";
buyOrderForm.TitleText = "直发订单查看 - 当前买手 " + buyer.buyer_nick;
//所有订单页面
buyOrderForm.InitUrl = url;
buyOrderForm.pnlBuy.Visible = false;
//已有拍单关联的控制界面显示隐藏
if (orderItem.PddBuyMap != null)
if (outOrderId.StartsWith("tb_")) // 淘宝买手及订单
{
buyOrderForm.pnlBuy.Visible = true;
buyOrderForm.pnlMap.Visible = false;
var buyer = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(p => p.buyer_id == buyerAccount || p.buyer_name == buyerName);
if (buyer == null)
{
BaseMsgWindow.ShowError("该订单买手号未在当前账户登录");
return;
}
var url = "";
if (sender == txtTransitOrderBuyerStr)
url = "https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm?";
else
url = "https://trade.tmall.com/detail/orderDetail.htm?bizOrderId=" + outOrderId.Replace("tb_", "");
TaobaoBuyOrderCtrl taobaoBuyView = new TaobaoBuyOrderCtrl(GlobalConfig.CurrentTaobaoBuyer, orderItem);
taobaoBuyView.ViewModel.InitUrl = url;
taobaoBuyView.ViewModel.BuyType = "direct";
new DialogWindow()
{
Title = "订单查看 - 当前买手 " + buyer.buyer_nick,
Content = taobaoBuyView,
Width = SystemParameters.PrimaryScreenWidth < 1920 ? SystemParameters.PrimaryScreenWidth : SystemParameters.PrimaryScreenWidth * 90 / 100,
Height = SystemParameters.PrimaryScreenHeight * 90 / 100,
WindowStartupLocation = WindowStartupLocation.CenterScreen,
}.ShowDialog();
}
else
{
var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(p => p.buyer_name == buyerName);
if (buyer == null)
{
BaseMsgWindow.ShowError("该订单买手号未在当前账户登录");
return;
}
//GlobalConfig.CurrentPddBuyer = buyer;
var url = "";
if (buyer != null)
{
if (sender == txtDirectBuyer)
url = "https://mobile.yangkeduo.com/index.html";
else
url = "https://mobile.yangkeduo.com/order.html?order_sn=" + outOrderId + "&page_from=1&main_orders=1&is_tester=1&refer_page_name=my_order" +
"&refer_page_id=10032_" + BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now) + "_" + Randomx.GetWordNumber(10) + "&refer_page_sn=10032";
}
// 拍单的时候检测一下买手号
if (buyer.status == "在线")
{
PddMobileLoginViewModel.CheckBuyerLogin(buyer);
}
if (buyer.status != "在线")
{
BaseMsgWindow.ShowError("买手号掉线");
return;
}
//PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(MainWindow.Instance.orderListCtrl.FilterOneOrder, StartUp.UpdateBalance, orderItem, buyer, orderItem.BuyMap);
PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(null, null, orderItem, buyer, orderItem.PddBuyMap);
buyOrderForm.BuyType = "direct";
buyOrderForm.TitleText = "直发订单查看 - 当前买手 " + buyer.buyer_nick;
//所有订单页面
buyOrderForm.InitUrl = url;
buyOrderForm.pnlBuy.Visible = false;
//已有拍单关联的控制界面显示隐藏
if (orderItem.PddBuyMap != null)
{
buyOrderForm.pnlBuy.Visible = true;
buyOrderForm.pnlMap.Visible = false;
}
buyOrderForm.ShowDialog();
}
buyOrderForm.ShowDialog();
}
private void Path_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
@@ -1120,8 +1154,8 @@ 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"] = orderItem.ItemTransitOrder.out_order_no;
data2["outOrderNo"] = orderItem.ItemTransitOrder.order_code;
var dataStr2 = JsonHelper.SerializeObject(data2);
var discardRst = HttpResponseWXBLL.e57PostResponse(url2, dataStr2, "");
if (discardRst.Contains("<code>0</code>") || discardRst.Contains("<code>200</code>"))
@@ -1398,11 +1432,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
btnBuyOrder.Cursor = Cursors.Wait;
btnBuyOrder.IsEnabled = false;
btnDirectBuyOrder.IsEnabled = false;
Task.Run(() =>
{
Thread.Sleep(2000);
Dispatcher.Invoke(new Action(() => { btnBuyOrder.IsEnabled = true; }));
Dispatcher.Invoke(new Action(() => { btnDirectBuyOrder.IsEnabled = true; }));
});
Task.Run(async() =>
{
@@ -1471,57 +1505,91 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//}
// 检测买手号是否掉线
if (GlobalConfig.CurrentPddBuyer.status == "在线")
if (GlobalConfig.CurrentBuyPlatform == "pdd")
{
PddMobileLoginViewModel.CheckBuyerLogin(GlobalConfig.CurrentPddBuyer);
}
if (GlobalConfig.CurrentPddBuyer.status != "在线")
{
Dispatcher.Invoke(new Action(() =>
if (GlobalConfig.CurrentPddBuyer.status == "在线")
{
BaseMsgWindow.ShowError("买手号掉线");
btnBuyOrder.Cursor = Cursors.Hand;
}));
return;
PddMobileLoginViewModel.CheckBuyerLogin(GlobalConfig.CurrentPddBuyer);
}
if (GlobalConfig.CurrentPddBuyer.status != "在线")
{
Dispatcher.Invoke(new Action(() =>
{
BaseMsgWindow.ShowError("买手号掉线");
btnBuyOrder.Cursor = Cursors.Hand;
}));
return;
}
}
// 打开拍单窗口
Dispatcher.Invoke(new Action(async () =>
{
var BuyPlatform = "pdd";
bool IsBuySuccess = false;
btnBuyOrder.Cursor = Cursors.Hand;
PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(MainWindow.Instance.orderListCtrl.FilterOneOrder, StartUp.UpdateBalance,
orderItem, GlobalConfig.CurrentPddBuyer, orderItem.PddBuyMap);
buyOrderForm.TitleText = "买手直发拍单 - 当前买手 " + GlobalConfig.CurrentPddBuyer.buyer_nick;
buyOrderForm.BuyType = "direct";
// 未关联拍单的跳到所有订单页面
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/orders.html";
//https://mobile.yangkeduo.com/order.html?order_sn=260729-663591339661688
if (orderItem.ItemTransitOrderWithVoid != null)
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/order.html?order_sn=" + orderItem.ItemTransitOrderWithVoid.out_order_no;
buyOrderForm.pnlBuy.Visible = false;
// 已有拍单关联的跳的到订单确认界面
if (orderItem.PddBuyMap != null)
// 拼多多买手
if (GlobalConfig.CurrentBuyPlatform == "pdd")
{
buyOrderForm.ShowBuyMask = true;
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/order_checkout.html?sku_id=" + orderItem.PddBuyMap.map_sku_id +
"&group_id=1" + Randomx.GetNumber(11) + "&goods_id=" + orderItem.PddBuyMap.map_goods_id + "&goods_number=" + orderItem.sku_cnt +
"&page_from=101";
BuyPlatform = "pdd";
PddMobileBuyOrderForm buyOrderForm = new PddMobileBuyOrderForm(MainWindow.Instance.orderListCtrl.FilterOneOrder, StartUp.UpdateBalance,
orderItem, GlobalConfig.CurrentPddBuyer, orderItem.PddBuyMap);
buyOrderForm.pnlBuy.Visible = true;
buyOrderForm.pnlMap.Visible = false;
buyOrderForm.TitleText = "买手直发拍单 - 当前买手 " + GlobalConfig.CurrentPddBuyer.buyer_nick;
buyOrderForm.BuyType = "direct";
// 未关联拍单的跳到所有订单页面
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/orders.html";
//https://mobile.yangkeduo.com/order.html?order_sn=260729-663591339661688
if (orderItem.ItemTransitOrderWithVoid != null)
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/order.html?order_sn=" + orderItem.ItemTransitOrderWithVoid.out_order_no;
buyOrderForm.pnlBuy.Visible = false;
// 已有拍单关联的跳的到订单确认界面
if (orderItem.PddBuyMap != null)
{
buyOrderForm.ShowBuyMask = true;
buyOrderForm.InitUrl = "https://mobile.yangkeduo.com/order_checkout.html?sku_id=" + orderItem.PddBuyMap.map_sku_id +
"&group_id=1" + Randomx.GetNumber(11) + "&goods_id=" + orderItem.PddBuyMap.map_goods_id + "&goods_number=" + orderItem.sku_cnt +
"&page_from=101";
buyOrderForm.pnlBuy.Visible = true;
buyOrderForm.pnlMap.Visible = false;
}
buyOrderForm.ShowDialog();
IsBuySuccess = buyOrderForm.IsBuySuccess;
}
buyOrderForm.ShowDialog();
if (buyOrderForm.IsBuySuccess)
else if (GlobalConfig.CurrentBuyPlatform == "tb")
{
if (GlobalConfig.BuyConfig.IsSyncDirectBuyOrderWaybill == true)
BuyPlatform = "tb";
TaobaoBuyOrderCtrl taobaoBuyView = new TaobaoBuyOrderCtrl(GlobalConfig.CurrentTaobaoBuyer, orderItem);
if (orderItem.TbBuyMap != null)
{
taobaoBuyView.ViewModel.InitUrl = "https://i.taobao.com/my_itaobao/receiver-address-pc";
taobaoBuyView.ViewModel.InitUrl = "https://item.taobao.com/item.htm?id=" + orderItem.TbBuyMap.map_goods_id + "&skuId=" + orderItem.TbBuyMap.map_sku_id;
}
else
{
taobaoBuyView.ViewModel.InitUrl = "https://s.taobao.com/search?";
taobaoBuyView.ViewModel.IsMappingGoods = true;
}
taobaoBuyView.ViewModel.BuyType = "direct";
new DialogWindow()
{
Title = "买手拍单 - 当前买手 " + GlobalConfig.CurrentTaobaoBuyer.buyer_nick,
Content = taobaoBuyView,
Width = SystemParameters.PrimaryScreenWidth < 1920 ? SystemParameters.PrimaryScreenWidth : SystemParameters.PrimaryScreenWidth * 90 / 100,
Height = SystemParameters.PrimaryScreenHeight * 90 / 100,
WindowStartupLocation = WindowStartupLocation.CenterScreen,
}.ShowDialog();
IsBuySuccess = taobaoBuyView.ViewModel.IsBuySuccess;
}
if (IsBuySuccess)
{
if (GlobalConfig.BuyConfig.IsSyncDirectBuyOrderWaybill == true && BuyPlatform == "pdd")
{
// 设置同步物流单代发
//var rst = new WxApiBLL().GetShopSupplier(orderItem.Shop);
@@ -1537,7 +1605,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
try
{
// 查询直拍单是否绑定了同步单代发(放到同步单发货前处理)
// 查询拼多都直拍单是否绑定了同步单代发(放到同步单发货前处理)
await SetSendOrderSupplier(orderItem, "wx7809625286c28f2f", "百川日用");
}
catch (Exception ex)
@@ -1551,7 +1619,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 查询订单是否在代发货中,如果代发需要取消代发
try
{
// 查询直拍单是否绑定了同步单代发(放到同步单发货前处理)
// 查询淘宝直拍单是否绑定了同步单代发(放到同步单发货前处理)
await SetSendOrderSupplier(orderItem, "", "");
}
catch (Exception ex)
@@ -1287,7 +1287,7 @@ namespace AllBase.Model.DBModel
// 直拍按钮
BtnDirectBuyOrderVisibility = Visibility.Collapsed;
if (GlobalConfig.CurrentBuyPlatform == "pdd")
//if (GlobalConfig.CurrentBuyPlatform == "pdd")
{
if (this.ItemOrder?.GetIsWaitBuy() == true && this.BuyGoodsBtnTxt != "关联拍单")
BtnDirectBuyOrderVisibility = Visibility.Visible;
@@ -1298,7 +1298,7 @@ namespace AllBase.Model.DBModel
BtnDirectBuyOrderVisibility = Visibility.Visible;
}
}
else if (GlobalConfig.CurrentBuyPlatform == "tb")
//else if (GlobalConfig.CurrentBuyPlatform == "tb")
{
}
}