买手单售后状态读取
This commit is contained in:
1 parent
b877695e4b
commit
627dce3e5b
10 files changed
+443
-361
No files matched your search
@@ -13,14 +13,18 @@
|
||||
<RowDefinition Height="40"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Button Style="{StaticResource BasePageButtonStyle}" Margin="-20,0,0,20" Grid.Row="1" HorizontalAlignment="left" Width="25" Height="60"
|
||||
x:Name="btnHideAll" Click="btnHideAll_Click">
|
||||
<TextBlock Margin="0,0,5,0">关<LineBreak/>闭</TextBlock>
|
||||
</Button>
|
||||
<Grid Margin="0,0,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="auto"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Margin="12,0,4,0" Width="16" Height="16" Source="{StaticResource imgCloseGray}" MouseLeftButtonUp="btnClose_Click" Cursor="Hand"></Image>
|
||||
<Image Margin="12,0,4,0" Width="16" Height="16" Source="{StaticResource imgCloseGray}" MouseLeftButtonUp="btnHideAll_Click" Cursor="Hand" Visibility="Collapsed"></Image>
|
||||
<WrapPanel VerticalAlignment="Center" Grid.Column="1">
|
||||
|
||||
<CheckBox Content="自动读买手单" x:Name="chkAutoReadBuyerOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
|
||||
@@ -219,7 +223,124 @@
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</TabItem>
|
||||
<TabItem Header="买手退款"></TabItem>
|
||||
<TabItem Header="买手售后">
|
||||
|
||||
<DataGrid Grid.Row="1" RowHeight="50" AutoGenerateColumns = "False" HorizontalGridLinesBrush="{StaticResource HorizontalGridLinesBrush}" x:Name="dgBuyerAfterSale"
|
||||
RowHeaderWidth="0" VerticalGridLinesBrush="{StaticResource VerticalGridLinesBrush}" CanUserDeleteRows="False" CanUserAddRows="False"
|
||||
ColumnHeaderHeight="30" LoadingRow="dgBuyerOrder_LoadingRow">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
|
||||
CanUserSort="False" Header="序列" IsReadOnly="True" Width="40">
|
||||
<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*" Header="售后单号" Binding="{Binding afterSalesId}">
|
||||
<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*" Header="拍单订单号" Binding="{Binding orderSn}">
|
||||
<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*" Header="店铺订单号" Binding="{Binding ShopOrderIdStr}">
|
||||
<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*" Header="买手名称" Binding="{Binding buyerName}">
|
||||
<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*" Header="拍单日期" Binding="{Binding orderDate}">
|
||||
<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*" Header="商品信息" Binding="{Binding ProdInfoStr}">
|
||||
<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*" Header="订单金额" Binding="{Binding OrderAmountValue}">
|
||||
<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*" Header="售后金额" Binding="{Binding RefundAmountValue}">
|
||||
<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*" Header="售后状态" Binding="{Binding AfterSaleStatusStr}">
|
||||
<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*" Header="订单信息" Binding="{Binding sendStatus}">
|
||||
<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>
|
||||
|
||||
@@ -7,6 +7,7 @@ using AllBase.Model.Local;
|
||||
using AllBase.Model.Result;
|
||||
using CefSharp;
|
||||
using CefSharp.DevTools.LayerTree;
|
||||
using CefSharp.DevTools.Network;
|
||||
using CefSharp.Handler;
|
||||
using CefSharp.Wpf;
|
||||
using NaiBa.Util;
|
||||
@@ -37,6 +38,7 @@ using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
using Work._29Tools.BLL;
|
||||
using Work._29Tools.CefTools;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Tab;
|
||||
|
||||
namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
{
|
||||
@@ -46,9 +48,11 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
public partial class PDDBuyerOrderReadCtrl : UserControl
|
||||
{
|
||||
ChromiumWebBrowser cefWebBrowser = null;
|
||||
public string cefAddress = "";
|
||||
public ObservableCollection<PddBuyerOrderLiteInfo> lstPddBuyerOrderInfoLite { get; set; } = new ObservableCollection<PddBuyerOrderLiteInfo>();
|
||||
public ObservableCollection<PddBuyerOrderLiteInfo> lstFilterPddBuyerOrderInfoLite { get; set; } = new ObservableCollection<PddBuyerOrderLiteInfo>();
|
||||
ConcurrentList<PddBuyerAfterSaleLiteInfo> lstPddBuyerAfterSaleInfoLite { get; set; } = new ConcurrentList<PddBuyerAfterSaleLiteInfo>();
|
||||
public ObservableCollection<PddBuyerAfterSaleLiteInfo> lstPddBuyerAfterSaleInfoLite { get; set; } = new ObservableCollection<PddBuyerAfterSaleLiteInfo>();
|
||||
public ObservableCollection<PddBuyerAfterSaleLiteInfo> lstFilterPddBuyerAfterSaleInfoLite { get; set; } = new ObservableCollection<PddBuyerAfterSaleLiteInfo>();
|
||||
public CancellationTokenSource cancellationTokenSource { get; set; } = new CancellationTokenSource();
|
||||
//public ChromiumWebBrowser cefWebBrowser = null;
|
||||
public BuyerReadOrderConfig buyerReadOrderConfig = new BuyerReadOrderConfig();
|
||||
@@ -112,6 +116,13 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
|
||||
if (dgBuyerOrder != null)
|
||||
this.dgBuyerOrder.ItemsSource = lstFilterPddBuyerOrderInfoLite;
|
||||
|
||||
|
||||
lstFilterPddBuyerAfterSaleInfoLite = new ObservableCollection<PddBuyerAfterSaleLiteInfo>(lstPddBuyerAfterSaleInfoLite
|
||||
.Where(o => filterOneBuyerAfterSale(o) == true));
|
||||
|
||||
if (dgBuyerAfterSale != null)
|
||||
this.dgBuyerAfterSale.ItemsSource = lstFilterPddBuyerAfterSaleInfoLite;
|
||||
}
|
||||
|
||||
bool filterOneBuyerOrder(PddBuyerOrderLiteInfo order)
|
||||
@@ -132,6 +143,24 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool filterOneBuyerAfterSale(PddBuyerAfterSaleLiteInfo afterSale)
|
||||
{
|
||||
if (afterSale == null)
|
||||
return false;
|
||||
|
||||
if (!GlobalConfig.PDDBuyerLoginList.Any(u => u.buyer_name == afterSale.buyerName))
|
||||
return false;
|
||||
if (isHideNoWxOrderNo && afterSale.ShopOrderIdStr.IsNullOrEmpty())
|
||||
return false;
|
||||
if (!string.IsNullOrEmpty(filterTxt) && !afterSale.orderSn.Contains(filterTxt) && !afterSale.ShopOrderIdStr.ParseToString().Contains(filterTxt) &&
|
||||
//!afterSale.tracking_number.Contains(filterTxt) &&
|
||||
!afterSale.sendStatus.ParseToString().Contains(filterTxt))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
buyerReadOrderConfig = NaiBa.Util.Helper.ConfigHelper.LoadConfig<BuyerReadOrderConfig>("pdd_buyer_read_order_config");
|
||||
@@ -150,6 +179,16 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
lstPddBuyerOrderInfoLite.Remove(item);
|
||||
}
|
||||
|
||||
lstPddBuyerAfterSaleInfoLite = NaiBa.Util.Helper.ConfigHelper.LoadConfig<ObservableCollection<PddBuyerAfterSaleLiteInfo>>("pdd_buyer_after_sale_list");
|
||||
if (lstPddBuyerAfterSaleInfoLite == null)
|
||||
lstPddBuyerAfterSaleInfoLite = new ObservableCollection<PddBuyerAfterSaleLiteInfo>();
|
||||
|
||||
foreach (var item in lstPddBuyerAfterSaleInfoLite.ToList())
|
||||
{
|
||||
if (item.orderDate < DateTime.Now.AddMonths(-1).ToString("yyMMdd").ParseToInt())
|
||||
lstPddBuyerAfterSaleInfoLite.Remove(item);
|
||||
}
|
||||
|
||||
Task.Run(() => {
|
||||
|
||||
while (dgBuyerOrder == null || !MainWindow.Instance.hasGetPddBuyer)
|
||||
@@ -216,99 +255,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
});
|
||||
}
|
||||
|
||||
void ShowOrder(PddBuyerOrderLiteInfo order)
|
||||
{
|
||||
if (order == null)
|
||||
return;
|
||||
|
||||
//var row = dgvPddBuyerOrder.Rows.Cast<DataGridViewRow>().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colOPddOrderSn").ParseToString() == order.order_sn);
|
||||
//if (row == null)
|
||||
//{
|
||||
// var rowIndex = this.dgvPddBuyerOrder.Rows.Add(
|
||||
// false,
|
||||
// order.buyerId,
|
||||
// order.buyerName,
|
||||
// order.order_sn,
|
||||
// order.order_time == null ? "" : BaseClass.StampToDateTime(order.order_time.ParseToInt()).ToString("yy-MM-dd HH:mm"),
|
||||
// "", // 图片路径,
|
||||
// DataGridViewExtension.defaultBitmap, // 订单图片
|
||||
// order.order_Goods == null ? "" : string.Join("\r\n", order.order_Goods.Select(g => g.goods_name + " x" + g.goods_number)), // 商品信息
|
||||
// order.order_amount * 0.01,
|
||||
// order.order_status_prompt,
|
||||
// order.outExpressCompanyName,
|
||||
// order.tracking_number,
|
||||
// order.sendStatus,
|
||||
// "发送",
|
||||
// "退货"
|
||||
// );
|
||||
// row = dgvPddBuyerOrder.Rows[rowIndex];
|
||||
// row.Height = 40;
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //row.Cells["colOSelect"].Value = selectIds.Contains(buyer.buyer_id);
|
||||
// row.Cells["colOBuyerId"].Value = order.buyerId;
|
||||
// row.Cells["colOBuyerName"].Value = order.buyerName;
|
||||
// row.Cells["colOPddOrderSn"].Value = order.order_sn;
|
||||
// row.Cells["colOOrderTime"].Value = order.order_time == null ? "" : BaseClass.StampToDateTime(order.order_time.ParseToInt()).ToString("yy-MM-dd HH:ss");
|
||||
// //row.Cells["colOImgUrl"].Value = "";
|
||||
// // 商品信息
|
||||
// row.Cells["colOGoodsInfo"].Value = order.order_Goods == null ? "" : string.Join("\r\n", order.order_Goods.Select(g => g.goods_name + " x" + g.goods_number));
|
||||
// row.Cells["colOOrderAmount"].Value = order.order_amount * 0.01;
|
||||
// row.Cells["colOStatus"].Value = order.order_status_prompt;
|
||||
// row.Cells["colOExpressName"].Value = order.outExpressCompanyName;
|
||||
// row.Cells["colOExpressId"].Value = order.tracking_number;
|
||||
// row.Cells["colOMsg"].Value = order.sendStatus;
|
||||
//}
|
||||
////
|
||||
//if (order.outExpressCompanyName == "物流名称获取失败")
|
||||
// row.Cells["colOExpressName"].Style.ForeColor = Color.Orange;
|
||||
//else
|
||||
// row.Cells["colOExpressName"].Style.ForeColor = Control.DefaultForeColor;
|
||||
|
||||
//if (order.order_status_prompt.Contains("交易成功"))
|
||||
//{
|
||||
// row.Cells["colOMsg"].Value = "[完]" + row.Cells["colOMsg"].Value.ParseToString();
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Color.Green;
|
||||
//}
|
||||
//else if (order.order_status_prompt.Contains("退款成功") || order.order_status_prompt.Contains("交易已取消"))
|
||||
//{
|
||||
// row.Cells["colOMsg"].Value = "[已退]" + row.Cells["colOMsg"].Value.ParseToString();
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Color.Gray;
|
||||
//}
|
||||
//else if (order.after_sales != null)
|
||||
//{
|
||||
// if (order.order_sn == "260417-009038743070257")
|
||||
// {
|
||||
// //after_sales_id 20093344800098 after_sales_status 12 after_sales_type 2
|
||||
// }
|
||||
// if (order.order_sn == "260427-536315174430257")
|
||||
// {
|
||||
|
||||
// }
|
||||
// if(order.after_sales.after_sales_status == 12 && order.after_sales.after_sales_type == 2)
|
||||
// {
|
||||
// row.Cells["colOMsg"].Value = "[退货失败]" + row.Cells["colOMsg"].Value.ParseToString();
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Color.SlateBlue;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// row.Cells["colOMsg"].Value = "[退货中]" + row.Cells["colOMsg"].Value.ParseToString();
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Color.DeepSkyBlue;
|
||||
// }
|
||||
//}
|
||||
//else if (!string.IsNullOrEmpty(order.wxRefundStatus))
|
||||
//{
|
||||
// row.Cells["colOMsg"].Value = "[" + order.wxRefundStatus + "]" + row.Cells["colOMsg"].Value.ParseToString();
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Color.Red;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// row.Cells["colOMsg"].Style.ForeColor = Control.DefaultForeColor;
|
||||
//}
|
||||
}
|
||||
|
||||
public void InitCef()
|
||||
{
|
||||
//CefSharp.Wpf.ChromiumWebBrowser cefWebBrowser = new CefSharp.Wpf.ChromiumWebBrowser();
|
||||
@@ -359,6 +305,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
private void CefWebBrowser_AddressChanged(object sender, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
cefAddress = e.NewValue.ParseToString();
|
||||
}
|
||||
|
||||
|
||||
@@ -429,20 +376,13 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
});
|
||||
}
|
||||
if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v"))
|
||||
// 读订单
|
||||
if (/*(cefAddress.Contains("orders.html")) &&*/
|
||||
url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v"))
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
CefReadBuyerOrder(url1, data1);
|
||||
|
||||
});
|
||||
}
|
||||
// 读取售后
|
||||
if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list"))
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
CefReadBuyerAfterSale(url1, data1);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -475,6 +415,14 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
});
|
||||
}
|
||||
// 读取售后
|
||||
if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list"))
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
CefReadBuyerAfterSale(url1, data1);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -502,8 +450,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
try
|
||||
{
|
||||
transitOrderList = JsonHelper.DeserializeJsonToList<oms_wei_external_procurement_log>(JObject.Parse(html3)["data"].ParseToString());
|
||||
// 直接过滤掉仓库售后单
|
||||
transitOrderList = transitOrderList.Where(t => t.transfer_refund_status.IsNullOrZero()).ToList();
|
||||
// 直接过滤掉仓库作废单
|
||||
transitOrderList = transitOrderList.Where(t => t.order_void_status != 1).ToList();
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -621,6 +569,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
pdd_order.ShopOrderRefundStr = "店铺售后";
|
||||
pdd_order.wxRefundStatus = pdd_order.order_status_prompt.Contains("待发货") ? "待退款" : "待退货";
|
||||
}
|
||||
pdd_order.TransitBuyerOrderRefundStatus = wx_transit_order?.refund_status;
|
||||
pdd_order.TransitWarehouseIdStr = wx_transit_order?.platform;
|
||||
pdd_order.Express1WaybillStr = wx_transit_order?.express_1_waybill;
|
||||
pdd_order.Express1CompanyStr = wx_transit_order?.express_1_company;
|
||||
@@ -633,6 +582,34 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
pdd_order.TransitCreateTime = wx_transit_order?.created_time ?? DateTime.MinValue;
|
||||
}
|
||||
|
||||
|
||||
void UpdateAfterSaleStatus(PddBuyerAfterSaleLiteInfo pdd_afterSale, oms_wei_order_item_info wx_order_item, oms_wei_refund_info wx_refund_item, oms_wei_external_procurement_log wx_transit_order)
|
||||
{
|
||||
pdd_afterSale.ShopOrderIdStr = wx_order_item?.order_id ?? wx_transit_order?.order_no;
|
||||
pdd_afterSale.ShopOrderSkuIdStr = wx_order_item?.sku_id ?? wx_transit_order?.order_sku_id;
|
||||
pdd_afterSale.ShopOrderSkuNameStr = wx_order_item?.sku_attr_str;
|
||||
pdd_afterSale.WxOrderCreateTime = wx_order_item?.ItemOrder?.create_time == null ? DateTime.MinValue : BaseClass.StampToDateTime((wx_order_item?.ItemOrder?.create_time).ParseToInt());
|
||||
pdd_afterSale.ShopOrderRefundStr = ""; // (/*refund_item?.count > 0 &&*/ wx_order_item.refund_status > 1) ? "店铺售后" : "";
|
||||
//pdd_afterSale.wxRefundStatus = "";
|
||||
if (wx_order_item.refund_status > 1)
|
||||
{
|
||||
pdd_afterSale.ShopOrderRefundStr = "店铺售后";
|
||||
//pdd_afterSale.wxRefundStatus = pdd_afterSale.order_status_prompt.Contains("待发货") ? "待退款" : "待退货";
|
||||
}
|
||||
pdd_afterSale.TransitBuyerOrderRefundStatus = wx_transit_order?.refund_status;
|
||||
pdd_afterSale.TransitWarehouseIdStr = wx_transit_order?.platform;
|
||||
pdd_afterSale.Express1WaybillStr = wx_transit_order?.express_1_waybill;
|
||||
pdd_afterSale.Express1CompanyStr = wx_transit_order?.express_1_company;
|
||||
pdd_afterSale.Express2WaybillStr = wx_transit_order?.express_2_waybill;
|
||||
pdd_afterSale.Express2CompanyStr = wx_transit_order?.express_2_company;
|
||||
pdd_afterSale.TransferWareHouseStatus = wx_transit_order?.transfer_warehouse_status.ParseToString();
|
||||
pdd_afterSale.PreAllocatedOrderNoStr = wx_transit_order?.pre_allocated_order_no.ParseToString();
|
||||
// 更新订单中转取号状态
|
||||
pdd_afterSale.sendStatus = (pdd_afterSale.TransitOrderStatus + " " + pdd_afterSale.ShopOrderRefundStr).Trim();
|
||||
pdd_afterSale.TransitCreateTime = wx_transit_order?.created_time ?? DateTime.MinValue;
|
||||
}
|
||||
|
||||
|
||||
void CefReadBuyerOrder(string url, string data)
|
||||
{
|
||||
if (data.Contains("轻奢壁挂式香皂盒置物架卫生间沥水家居可拆卸收纳盒翻盖肥皂盒"))
|
||||
@@ -757,6 +734,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
order.ShopOrderIdStr = o.ShopOrderIdStr;
|
||||
order.ShopOrderSkuIdStr = o.ShopOrderSkuIdStr;
|
||||
order.ShopOrderSkuNameStr = o.ShopOrderSkuNameStr;
|
||||
order.TransitBuyerOrderRefundStatus = o.ShopOrderSkuNameStr;
|
||||
order.TransitWarehouseIdStr = o.TransitWarehouseIdStr;
|
||||
order.Express1WaybillStr = o.Express1WaybillStr;
|
||||
order.Express1CompanyStr = o.Express1CompanyStr;
|
||||
@@ -803,8 +781,9 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
//if (order.sendStatus.ParseToString().Contains("售后"))
|
||||
if (order.ShopOrderRefundStr.ParseToString().Contains("售后"))
|
||||
{
|
||||
if (",2,3,4,5,7,8,10,31,".Contains((order.after_sales?.after_sales_status).ParseToString()))
|
||||
//if (!",2,3,4,5,7,8,10,31,".Contains((order.after_sales?.after_sales_status).ParseToString()))
|
||||
{
|
||||
// 待发货直接售后,并通知中转仓接口修改退货状态
|
||||
var afterSaleRst = PddAutoAfterSale(order);
|
||||
}
|
||||
}
|
||||
@@ -850,6 +829,25 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}));
|
||||
|
||||
var list = JsonHelper.DeserializeJsonToList<PddBuyerAfterSaleLiteInfo>(JsonHelper.JObjectParse(data)["result"]["listItemVOList"].ParseToString());
|
||||
|
||||
var out_order_nos = string.Join(",", list.Select(bo => bo.orderSn));
|
||||
var transitOrderList = GetOrderTransitWarehouseInfo(out_order_nos);
|
||||
|
||||
var order_ids = string.Join(",", transitOrderList.Select(ts => ts.order_no));
|
||||
var orders = GetOrderInfo(order_ids);
|
||||
foreach (var order in orders)
|
||||
{
|
||||
foreach (var orderItem in order.orderItems)
|
||||
{
|
||||
// 中转仓订单
|
||||
if (orderItem.ItemOrder.orderItems.Count > 1)
|
||||
orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id && t.order_sku_id == orderItem.sku_id));
|
||||
else
|
||||
orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id));
|
||||
}
|
||||
}
|
||||
var refunds = GetOrderRefundInfo(order_ids);
|
||||
|
||||
foreach (var af in list)
|
||||
{
|
||||
if (af.orderSn == "260414-035525772830257")
|
||||
@@ -860,6 +858,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
af.buyerId = buyer.buyer_id;
|
||||
af.buyerName = buyer.buyer_name;
|
||||
|
||||
// 查找店铺订单并更新店铺订单状态
|
||||
var transit_item = transitOrderList.FirstOrDefault(t1 => t1.out_order_no == af.orderSn);
|
||||
if (transit_item != null)
|
||||
{
|
||||
var shopOrder = orders.FirstOrDefault(o1 => o1.order_id == transit_item.order_no);
|
||||
var order_item = shopOrder.orderItems.FirstOrDefault(oi => oi.ItemTransitOrders.Any(t1 => t1.out_order_no == af.orderSn));
|
||||
var refund_item = refunds.FirstOrDefault(ri => ri.order_id == order_item.order_id) ?? order_item?.ItemRefund;
|
||||
|
||||
UpdateAfterSaleStatus(af, order_item, refund_item, transit_item);
|
||||
}
|
||||
|
||||
bool isUpdate = false;
|
||||
PddBuyerAfterSaleLiteInfo afterSale = null;
|
||||
if (!this.lstPddBuyerAfterSaleInfoLite.Any(or => or.afterSalesId == af.afterSalesId))
|
||||
@@ -888,6 +897,20 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
afterSale.listItemGoodsVO = JsonHelper.DeserializeJsonToObject<ListItemGoodsVO>(JsonHelper.SerializeObject(af.listItemGoodsVO));
|
||||
afterSale.listItemMallVO = JsonHelper.DeserializeJsonToObject<ListItemMallVO>(JsonHelper.SerializeObject(af.listItemMallVO));
|
||||
afterSale.listItemStatusVO = JsonHelper.DeserializeJsonToObject<ListItemStatusVO>(JsonHelper.SerializeObject(af.listItemStatusVO));
|
||||
|
||||
afterSale.ShopOrderIdStr = af.ShopOrderIdStr;
|
||||
afterSale.ShopOrderSkuIdStr = af.ShopOrderSkuIdStr;
|
||||
afterSale.ShopOrderSkuNameStr = af.ShopOrderSkuNameStr;
|
||||
afterSale.TransitBuyerOrderRefundStatus = af.TransitBuyerOrderRefundStatus;
|
||||
afterSale.TransitWarehouseIdStr = af.TransitWarehouseIdStr;
|
||||
afterSale.Express1WaybillStr = af.Express1WaybillStr;
|
||||
afterSale.Express1CompanyStr = af.Express1CompanyStr;
|
||||
afterSale.Express2WaybillStr = af.Express2WaybillStr;
|
||||
afterSale.Express2CompanyStr = af.Express2CompanyStr;
|
||||
afterSale.TransferWareHouseStatus = af.TransferWareHouseStatus;
|
||||
afterSale.PreAllocatedOrderNoStr = af.PreAllocatedOrderNoStr;
|
||||
afterSale.ShopOrderRefundStr = af.ShopOrderRefundStr;
|
||||
//afterSale.wxRefundStatus = af.wxRefundStatus;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,15 +926,38 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
|
||||
if (isUpdate)
|
||||
{
|
||||
Task.Run(() =>
|
||||
if (afterSale.AfterSaleStatusStr.Contains("退款成功") || afterSale.AfterSaleStatusStr.Contains("交易已取消"))
|
||||
{
|
||||
//SendAfterSaleE57(lstPddBuyerAfterSaleInfoLite.FirstOrDefault(a => a.orderSn == afterSale.orderSn));
|
||||
});
|
||||
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowAfterSale(lstPddBuyerAfterSaleInfoLite.FirstOrDefault(a => a.orderSn == afterSale.orderSn));
|
||||
}));
|
||||
if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功")
|
||||
{
|
||||
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
|
||||
var refundRst = SendTransitAfterSaleE57(orderTmp, "买手退款成功");
|
||||
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
|
||||
{
|
||||
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
|
||||
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新失败,服务端返回 " + msg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (afterSale.TransitBuyerOrderRefundStatus != afterSale.AfterSaleStatusStr)
|
||||
{
|
||||
//if (!afterSale.AfterSaleStatusStr.Contains("关闭") && !afterSale.AfterSaleStatusStr.Contains("撤销") && !afterSale.AfterSaleStatusStr.Contains("失败"))
|
||||
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
|
||||
var refundRst = SendTransitAfterSaleE57(orderTmp, afterSale.AfterSaleStatusStr);
|
||||
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
|
||||
{
|
||||
afterSale.afterSaleSendStatus = "买手退款信息更新成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
|
||||
afterSale.afterSaleSendStatus = "买手退款信息更新失败,服务端返回 " + msg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_after_sale_list", lstPddBuyerAfterSaleInfoLite);
|
||||
@@ -946,9 +992,10 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
|
||||
void GetOrderAndAfterSale()
|
||||
{
|
||||
nextGetOrderTime = DateTime.Now.AddMinutes(25);
|
||||
GetPddOrder();
|
||||
//MakeWxToPddAfterSales();
|
||||
|
||||
nextGetOrderTime = DateTime.Now.AddMinutes(25);
|
||||
}
|
||||
|
||||
void GetPddOrder()
|
||||
@@ -1014,6 +1061,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
|
||||
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(buyer?.cookie);
|
||||
var t = WPFCEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), buyer.wpf_browser.GetCookieManager(null));
|
||||
t.Wait();
|
||||
|
||||
buyer.wpf_browser.Load("https://mobile.yangkeduo.com/personal.html");
|
||||
Thread.Sleep(Randomx.GetId(2000, 3000));
|
||||
@@ -1023,7 +1071,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
int times = 0;
|
||||
|
||||
#region 售后
|
||||
if (1 == 2)
|
||||
if (1 == 1)
|
||||
{
|
||||
readBuyer = buyer.buyer_id;
|
||||
currentReadBuyer = buyer.buyer_id;
|
||||
@@ -1249,17 +1297,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
|
||||
var order_ids = string.Join(",", transitOrderList.Select(ts => ts.order_no));
|
||||
var orders = GetOrderInfo(order_ids);
|
||||
//foreach (var order in orders)
|
||||
//{
|
||||
// foreach (var orderItem in order.orderItems)
|
||||
// {
|
||||
// // 中转仓订单
|
||||
// if (orderItem.ItemOrder.orderItems.Count > 1)
|
||||
// orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id && t.order_sku_id == orderItem.sku_id));
|
||||
// else
|
||||
// orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id));
|
||||
// }
|
||||
//}
|
||||
foreach (var order in orders)
|
||||
{
|
||||
foreach (var orderItem in order.orderItems)
|
||||
{
|
||||
// 中转仓订单
|
||||
if (orderItem.ItemOrder.orderItems.Count > 1)
|
||||
orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id && t.order_sku_id == orderItem.sku_id));
|
||||
else
|
||||
orderItem.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == orderItem.order_id));
|
||||
}
|
||||
}
|
||||
var refunds = GetOrderRefundInfo(order_ids);
|
||||
|
||||
// 查找店铺订单并更新店铺订单状态
|
||||
@@ -1467,170 +1515,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ConcurrentList<PddBuyerOrderLiteInfo> tempWaitOrderLst { get; set; } = new ConcurrentList<PddBuyerOrderLiteInfo>();
|
||||
/// <summary>
|
||||
/// 调用e57接口更新web端订单数据信息
|
||||
/// </summary>
|
||||
/// <param name="order"></param>
|
||||
/// <param name="resetSendStatus">手动强制重置状态,一定重新发送</param>
|
||||
public void SendOrderE57(PddBuyerOrderLiteInfo order, bool resetSendStatus = false)
|
||||
{
|
||||
//if (resetSendStatus == true)
|
||||
//{
|
||||
// // 防止重复点击发送按钮
|
||||
// if (isSendOrderE57)
|
||||
// return;
|
||||
// isSendOrderE57 = true;
|
||||
// Task.Run(() => { Thread.Sleep(3000); isSendOrderE57 = false; });
|
||||
//}
|
||||
|
||||
if (tempWaitOrderLst.Any(o => o.order_sn == order.order_sn))
|
||||
return;
|
||||
tempWaitOrderLst.Add(order);
|
||||
Task.Run(() =>
|
||||
{
|
||||
var orderSn = order.order_sn;
|
||||
Thread.Sleep(5000);
|
||||
tempWaitOrderLst.RemoveAll(o => o.order_sn == orderSn);
|
||||
});
|
||||
|
||||
if (order == null)
|
||||
return;
|
||||
if (resetSendStatus)
|
||||
order.sendStatus = "";
|
||||
//var row = dgvPddBuyerOrder.Rows.Cast<DataGridViewRow>().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colOPddOrderSn").ParseToString() == order.order_sn);
|
||||
//Dispatcher.Invoke(new Action(() =>
|
||||
//{
|
||||
// if (row != null)
|
||||
// row.Cells["colOMsg"].Value = "";
|
||||
//}));
|
||||
Thread.Sleep(100);
|
||||
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
if (1==1)
|
||||
{
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
return;
|
||||
}
|
||||
|
||||
#region 暂时作废
|
||||
// 已发货且没有运单号的属于已退货,不再发送
|
||||
//if (order.order_status_prompt != "拼单成功,待发货" && order.order_status_prompt != "免拼成功,待发货" && (
|
||||
// order.order_status_prompt.Contains("交易成功") ||
|
||||
// order.order_status_prompt.Contains("退款成功") ||
|
||||
// order.after_sales != null ||
|
||||
// order.order_status_prompt.Contains("交易已取消") ||
|
||||
// string.IsNullOrEmpty(order.tracking_number) ||
|
||||
// string.IsNullOrEmpty(order.outExpressCompanyCode)))
|
||||
//{
|
||||
// Invoke(new Action(() =>
|
||||
// {
|
||||
// ShowOrder(order);
|
||||
// }));
|
||||
// NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
// return;
|
||||
//}
|
||||
// 外采订单已发货的订单不再尝试发货
|
||||
// 已存在 同运单号拦截 订单已绑定外采订单 -- 原提示词
|
||||
// 微信发货成功,外采订单已发货, orderNo:260429-064214802032823 | 外采订单已发货, orderNo:260429-438189442672823 -- 新提示词
|
||||
if (order.sendStatus.Contains("外采订单已发货") || order.sendStatus.Contains("微信发货成功") ||
|
||||
order.sendStatus.Contains("已发送待发货订单") || order.sendStatus.Contains("接收成功") ||
|
||||
order.sendStatus.Contains("已发送售后订单"))
|
||||
{
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
return;
|
||||
}
|
||||
|
||||
JObject obj = new JObject();
|
||||
obj["platform"] = "WEISHOP";
|
||||
obj["outAmount"] = order.order_amount;
|
||||
obj["outAccount"] = order.buyerName;
|
||||
obj["outOrderNo"] = order.order_sn;
|
||||
if (!order.outExpressCompanyCode.IsNullOrEmpty() && !order.tracking_number.IsNullOrEmpty())
|
||||
{
|
||||
obj["outExpressCompany"] = order.outExpressCompanyCode;
|
||||
obj["outExpressNo"] = order.tracking_number;
|
||||
}
|
||||
var dataStr = JsonHelper.SerializeObject(obj);
|
||||
string url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/bind";
|
||||
//成功 "<ResultVo><code>0</code><msg>SUCCESS</msg><data/><totalRecords/></ResultVo>"
|
||||
//失败 已存在 <ResultVo><code>1505</code><msg>调用微信接口更新物流信息失败: 非法参数, 同运单号拦截 rid: 69d8ab9c-22baa3b1-67de0d95</msg><data/><totalRecords/></ResultVo>
|
||||
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
|
||||
if (exportRst == null)
|
||||
{
|
||||
|
||||
}
|
||||
for (int i = 0; i < 3 && exportRst.Contains("操作超时") && resetSendStatus == false; i++)
|
||||
{
|
||||
Thread.Sleep(210000);
|
||||
HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
|
||||
}
|
||||
if (exportRst.Contains("操作超时"))
|
||||
{
|
||||
order.sendStatus = "发送失败 操作超时";
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
return;
|
||||
}
|
||||
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
|
||||
string msg = "";
|
||||
string data = "";
|
||||
string code = "";
|
||||
try
|
||||
{
|
||||
xmlDoc.LoadXml(exportRst); //<ResultVo><code>1505</code><msg>不支持的平台类型: WEISHOP</msg><data/><totalRecords/></ResultVo>
|
||||
code = xmlDoc["AjaxResult"]["code"].InnerText;
|
||||
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
|
||||
//data = xmlDoc["AjaxResult"]["data"].InnerText;
|
||||
|
||||
// <AjaxResult><msg>更新微信外采订单信息成功, orderNo:260430-306551232030257</msg><code>1</code></AjaxResult>
|
||||
}
|
||||
catch
|
||||
{
|
||||
msg = exportRst.ParseToString();
|
||||
}
|
||||
if (code == "0" || code == "1") //if (msg == "SUCCESS") // || msg == "SUCCESS"
|
||||
{
|
||||
var sendStatusTmp = string.IsNullOrEmpty(data) ? msg : data;
|
||||
order.sendStatus = sendStatusTmp;
|
||||
|
||||
if (code == "0" && !order.sendStatus.Contains("微信发货成功"))
|
||||
order.sendStatus = ("微信发货成功 " + sendStatusTmp).Trim();
|
||||
if (code == "1" && !order.sendStatus.Contains("接收成功"))
|
||||
order.sendStatus = ("接收成功 " + sendStatusTmp).Trim();
|
||||
|
||||
// 处理特殊情况 如未发货或退货订单
|
||||
//if (order.sendStatus == "处理完成" || order.sendStatus == "快递公司和快递单号必须同时提供或同时为空")
|
||||
// order.sendStatus = "已发送完成";
|
||||
if (order.order_status_prompt.Contains("待发货")) // 更新微信外采订单状态成功
|
||||
order.sendStatus = "已发送待发货订单";
|
||||
if (order.after_sales != null)
|
||||
order.sendStatus = "已发送售后订单 " + sendStatusTmp;
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
}
|
||||
else
|
||||
{
|
||||
order.sendStatus = "发送失败 " + (string.IsNullOrEmpty(msg) ? data : msg);
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
}
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
//Thread.Sleep(500);
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过服务端批量读取微信售后并触发拼多多售后或显示提示供买手手动退货
|
||||
@@ -1695,7 +1579,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 处理一条售后
|
||||
/// 处理一条售后,未发货的直接售后
|
||||
/// </summary>
|
||||
/// <param name="order"></param>
|
||||
/// <returns></returns>
|
||||
@@ -1711,12 +1595,44 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
//// 退货详情页
|
||||
////https://mobile.yangkeduo.com/complaint.html?order_sn=260417-357103060621688&after_sales_reason=0&after_sales_type=1&after_sales_code=1001
|
||||
|
||||
if (!order.order_status_prompt.Contains("待发货"))
|
||||
if (!order.order_status_prompt.Contains("待发货") && order.after_sales == null)
|
||||
{
|
||||
var refundRst = SendTransitAfterSaleE57(order, "买手已发货,需手动申请售后");
|
||||
return "{\"success\":false,\"msg\":\"仅未发货单可以自动退货\"}";
|
||||
}
|
||||
|
||||
var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == order.buyerId);
|
||||
var afterSaleRst = SimPddAfterSale(buyer, order);
|
||||
if (afterSaleRst.Contains("\"after_sales_status\":1") || afterSaleRst.Contains("该订单已全额退款"))
|
||||
{
|
||||
// 保存退款成功状态
|
||||
order.order_status_prompt = "退款成功";
|
||||
// 中转仓订单买手号售后信息 存到服务端
|
||||
var refundRst = SendTransitAfterSaleE57(order);
|
||||
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
|
||||
{
|
||||
order.sendStatus = "退款成功 买手退款信息更新成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
|
||||
order.sendStatus = "退款成功 买手退款信息更新失败,服务端返回 " + msg;
|
||||
}
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
return "{\"success\":true,\"msg\":\"操作成功\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
var error_msg = BaseRegex.GetStringJsonByRegs(ref afterSaleRst, afterSaleRst, "msg", "error_msg");
|
||||
if (string.IsNullOrEmpty(error_msg))
|
||||
error_msg = afterSaleRst;
|
||||
return "{\"success\":false,\"msg\":\"" + error_msg + "\"}";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static string SimPddAfterSale(BuyerLoginInfo buyer, PddBuyerOrderLiteInfo order)
|
||||
{
|
||||
var rst = YkdBuyerOrder.GetInitAfterSale(buyer, order.order_sn);
|
||||
//<script>window.rawData={"store":{"errorRedirectUrl":"\u002F","abMap":{"allowPerItemAs":false,"allowPercentAs":true,"isSpringOn":false,"applyPlatformJoinText":false,"newResendEntrance":true,"newExchangeEntrance":true,"shippingTicketOcr":true,"applyAfterSalesChoose":true,"inSpringFestival":false,"openSpringFestival":false,"shippingTipsView":true,"expressRejectShowContact":true,"newApplyPage":true,"newApplyDetailPage":false,"newFeeDetailGray":true,"qualityReasonNoticeProof":true,"newQualityReasonNoticeProof":true,"freeNoCouponOrder":false,"userShippingStatusReject":false,"applyAmountDisplayAsCompensateAmount":false,"compensateAmountChoosePopUp":false,"maintainDescOptimize":true},"goodsInfo":{"skuId":1884196560652,"catId1":6398,"goodsId":936888997232,"goodsName":"【三只松鼠新疆灰枣】免洗红枣150g新疆特产枣子干货休闲零食","goodsPrice":1350,"goodsNumber":1,"goodsSpec":"新疆灰枣150g*5袋","goodsType":1,"goodsImage":"https:\u002F\u002Fimg.pddpic.com\u002Fmms-goods-image\u002F2026-04-11\u002F336d9a71-d957-4121-a84b-f70f084226c9.jpeg"},"reasonData":{"map1":[{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":262,"desc":"空包裹","subDesc":null,"url":null,"reasonType":2400},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map2":[{"type":197,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":194,"desc":"快递无跟踪记录","subDesc":null,"url":null,"reasonType":2300},{"type":4008,"desc":"发货慢\u002F未按承诺时间发货","subDesc":null,"url":null,"reasonType":2300},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":null,"reasonType":2100},{"type":220002,"desc":"未收到货\u002F签收地址错误","subDesc":null,"url":null,"reasonType":2300},{"type":207,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map3":[{"type":88,"desc":"不想要了","subDesc":null,"url":null,"reasonType":1100},{"type":220003,"desc":"重量\u002F数量\u002F大小等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F21_Weight_quantity_size_mismatch.png","reasonType":2200},{"type":220005,"desc":"图片\u002F品种\u002F口味\u002F标签等描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F23_Picture_mismatch.png","reasonType":2200},{"type":220001,"desc":"包装\u002F商品破损","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F28_Damaged_packaging9.png","reasonType":2100},{"type":220004,"desc":"少件\u002F漏发","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F20_Quantity_mismatch.png","reasonType":2400},{"type":294,"desc":"商品变质\u002F发霉\u002F有异物","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F200702_Food_and_Health_Category\u002F25_Spoiled_food.png","reasonType":2100},{"type":292,"desc":"生产日期\u002F保质期与商品描述不符","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F22_Expired_food.png","reasonType":2200},{"type":81,"desc":"质量问题","subDesc":null,"url":null,"reasonType":2100},{"type":83,"desc":"商家发错货","subDesc":null,"url":"https:\u002F\u002Ffunimg.pddpic.com\u002F30_Inconsistent_product.png","reasonType":2200},{"type":86,"desc":"假冒品牌","subDesc":null,"url":null,"reasonType":2500},{"type":95,"desc":"其他原因","subDesc":null,"url":null,"reasonType":1200}],"map4":[{"type":66,"desc":"不想要了","subDesc":null,"uLine truncated
|
||||
var mobile = BaseRegex.GetStringJson(ref rst, "userReceivePhone");
|
||||
@@ -1738,43 +1654,46 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
var afterSaleRst = YkdBuyerOrder.SetOrderAfterSale(buyer, mobile, order.order_sn, applyAmount, refundAmount, newMaxApplyAmount);
|
||||
if (afterSaleRst.Contains("\"after_sales_status\":1") || afterSaleRst.Contains("该订单已全额退款"))
|
||||
{
|
||||
// 保存退款成功状态
|
||||
//order.refundStatus = "已完成/退货";
|
||||
order.order_status_prompt = "退款成功";
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
Dispatcher.Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
PddBuyerAfterSaleLiteInfo afterSale = new PddBuyerAfterSaleLiteInfo();
|
||||
afterSale.listItemStatusVO = new ListItemStatusVO();
|
||||
afterSale.listItemStatusVO.statusText = "退款成功";
|
||||
afterSale.listItemExtraVO = new ListItemExtraVO();
|
||||
//afterSale.listItemExtraVO.navToDetailPageUrl = "&order_sn=" + txtForceSendAfterSale.Text.Trim();
|
||||
afterSale.listItemExtraVO.navToDetailPageUrl = "&order_sn=" + order.order_sn;
|
||||
SendAfterSaleE57(afterSale, true);
|
||||
return "{\"success\":true,\"msg\":\"操作成功\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
var error_msg = BaseRegex.GetStringJson(ref afterSaleRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error_msg))
|
||||
error_msg = afterSaleRst;
|
||||
return "{\"success\":false,\"msg\":\"" + error_msg + "\"}";
|
||||
}
|
||||
return afterSaleRst;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 将处理的或读取到更新的售后返回服务端接口
|
||||
/// </summary>
|
||||
/// <param name="afterSale"></param>
|
||||
/// <param name="resetSendStatus"></param>
|
||||
/// <param name="isManualSendNoRecordCancelOrder"></param>
|
||||
public void SendAfterSaleE57(PddBuyerAfterSaleLiteInfo afterSale, bool resetSendStatus = false, bool isManualSendNoRecordCancelOrder = false)
|
||||
public string SendTransitAfterSaleE57(PddBuyerOrderLiteInfo order, string refundStatus = "买手退款成功")
|
||||
{
|
||||
//订单作废接口(作废重拍)
|
||||
//postman request POST 'http://localhost:8088/oms-api/external_procurement/discardOrder' \
|
||||
// --header 'Content-Type: application/json' \
|
||||
// --body '{
|
||||
// "orderNo":"12334534534",
|
||||
// "outOrderNo":"12312312"
|
||||
//}' 成功返回code:0 失败返回code:1
|
||||
|
||||
string url2 = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/purchase/refundStatus";
|
||||
var data = new JObject();
|
||||
data["orderId"] = order.ShopOrderIdStr;
|
||||
data["outOrderId"] = order.order_sn;
|
||||
data["refundStatus"] = refundStatus;
|
||||
var dataStr2 = JsonHelper.SerializeObject(data);
|
||||
var refundStatusRst = HttpResponseWXBLL.e57PostResponse(url2, dataStr2, "");
|
||||
return refundStatusRst;
|
||||
|
||||
//Thread.Sleep(100);
|
||||
//var url2 = BaseClass.Build29WxObjString("order/wx_update_erp_order_express");
|
||||
//var data2 = UserLogin.GetSignaturex();
|
||||
//data2 += "&out_order_no=" + order.order_sn;
|
||||
//data2 += "&refund_status=" + "买手退款成功";
|
||||
//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"))
|
||||
//{
|
||||
// order.sendStatus = "退款成功 买手退款信息更新失败";
|
||||
//}
|
||||
//else
|
||||
// order.sendStatus = "退款成功 买手退款信息更新成功";
|
||||
}
|
||||
|
||||
private void chkHideNoWxIdOrder_CheckedChanged(object sender, RoutedEventArgs e)
|
||||
@@ -1798,16 +1717,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
filterTxt = txtFilter.Text.Trim();
|
||||
}
|
||||
|
||||
private void btnClose_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility != Visibility.Visible)
|
||||
MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
|
||||
if (Panel.GetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl) < 1)
|
||||
Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, 1);
|
||||
else
|
||||
Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, -1);
|
||||
}
|
||||
|
||||
private void btnHide_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (btnHide.Content.ParseToString() == "▲")
|
||||
@@ -1830,6 +1739,16 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_config", buyerReadOrderConfig);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnHideAll_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility != Visibility.Visible)
|
||||
MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
|
||||
if (Panel.GetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl) < 1)
|
||||
Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, 1);
|
||||
else
|
||||
Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, -1);
|
||||
}
|
||||
}
|
||||
|
||||
public class YkdBuyerOrder
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
</Setter>
|
||||
</Style>
|
||||
</TabControl.Resources>
|
||||
<TabItem Header="待采购" BorderBrush="Transparent" Background="Transparent">
|
||||
<TabItem Header="待采购" BorderBrush="Transparent" Background="Transparent">
|
||||
<Border BorderBrush="#e0e0e0" BorderThickness="0,0,0,1" Margin="4,0,4,4">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -160,7 +160,8 @@
|
||||
</TabItem >
|
||||
<TabItem Header="待发货"></TabItem>
|
||||
<TabItem Header="待收货" BorderBrush="Transparent" Background="Transparent"></TabItem>
|
||||
<TabItem Header="退款单" Foreground="#FF6666" BorderBrush="Transparent" Background="Transparent"></TabItem>
|
||||
<TabItem Header="退款单" Foreground="#FF9966" BorderBrush="Transparent" Background="Transparent"></TabItem>
|
||||
<TabItem Header="紧急单" Foreground="#FF6666" BorderBrush="Transparent" Background="#FF6666"></TabItem>
|
||||
<TabItem Header="全部订单" BorderBrush="Transparent" Background="Transparent"></TabItem>
|
||||
<!--<TabItem Header="发货异常">
|
||||
<Grid Background="#FFE5E5E5"/>
|
||||
|
||||
@@ -221,7 +221,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
try
|
||||
{
|
||||
transitOrderList = JsonHelper.DeserializeJsonToList<oms_wei_external_procurement_log>(JObject.Parse(html3)["data"].ParseToString());
|
||||
transitOrderList = transitOrderList.Where(t => t.transfer_refund_status.IsNullOrZero()).ToList();
|
||||
transitOrderList = transitOrderList.Where(t => t.order_void_status != 1).ToList();
|
||||
}
|
||||
catch { }
|
||||
|
||||
@@ -368,6 +368,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
{
|
||||
tabItem.Header = "退款单(" + GlobalConfig.lstOrder.Where(r => r.IsRefund).Count() + ")";
|
||||
}
|
||||
tabItem = this.tabOrderType.Items.Cast<TabItem>().FirstOrDefault(t => t.Header.ParseToString().StartsWith("紧急单"));
|
||||
if (tabItem != null)
|
||||
{
|
||||
tabItem.Header = "紧急单(" + GlobalConfig.lstOrder.Where(r => r.IsEmergency).Count() + ")";
|
||||
}
|
||||
tabItem = this.tabOrderType.Items.Cast<TabItem>().FirstOrDefault(t => t.Header.ParseToString().StartsWith("全部订单"));
|
||||
if (tabItem != null)
|
||||
{
|
||||
@@ -477,6 +482,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (headerStr.StartsWith("紧急单") && !order.IsEmergency)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -211,34 +211,46 @@
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<WrapPanel Grid.Row="1" HorizontalAlignment="Center">
|
||||
<Border x:Name="borderBuyStatas" Grid.Row="1" Margin="8,0,0,0" Background="{Binding TransitWaybillStatusBackColor}" BorderBrush="{Binding TransitWaybillStatusBorderColor}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding TransitWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtBuyStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding TransitWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding TransitWaybillStatusStr}" BorderThickness="0" />
|
||||
<Border x:Name="borderRefundStatas" Grid.Row="1" Margin="0,0,0,2" Background="{StaticResource PageWarningBrushCC}" BorderBrush="{StaticResource PageWarningBrush}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding TransitRefundStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtRefundStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="White" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding TransitRefundStatusStr}" BorderThickness="0" />
|
||||
</Border>
|
||||
<WrapPanel Grid.Row="2" HorizontalAlignment="Center">
|
||||
<Border x:Name="borderBuyStatas" Grid.Row="1" Margin="0,0,0,0" Background="{Binding BuyerWaybillStatusBackColor}" BorderBrush="{Binding BuyerWaybillStatusBorderColor}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding BuyerWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtBuyStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding BuyerWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding BuyerWaybillStatusStr}" BorderThickness="0" />
|
||||
</Border>
|
||||
|
||||
<!--<Border x:Name="borderWarehouseStatas" Grid.Row="1" Margin="8,0,0,0" Background="{Binding TransitWaybillStatusBackColor}" BorderBrush="{Binding TransitWaybillStatusBorderColor}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding TransitWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtWarehouseStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding TransitWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding TransitWaybillStatusStr}" BorderThickness="0" />
|
||||
<Border x:Name="borderWarehouseStatas" Grid.Row="1" Margin="8,0,0,0" Background="{Binding WarehouseWaybillStatusBackColor}" BorderBrush="{Binding WarehouseWaybillStatusBorderColor}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding WarehouseWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtWarehouseStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding WarehouseWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding WarehouseWaybillStatusStr}" BorderThickness="0" />
|
||||
</Border>
|
||||
<!--TransitRefundStatusStr-->
|
||||
<!--<Border x:Name="borderWarehouseStatas" Grid.Row="1" Margin="8,0,0,0" Background="{Binding WaybillStatusBackColor}" BorderBrush="{Binding WaybillStatusBorderColor}"
|
||||
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding WarehouseWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox x:Name="txtWarehouseStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding WaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
|
||||
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding WarehouseWaybillStatusStr}" BorderThickness="0" />
|
||||
</Border>-->
|
||||
</WrapPanel>
|
||||
|
||||
<!--<TextBox Text="发货:" Grid.Column="1" Grid.Row="1" Margin="0,2,0,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
|
||||
<uc:UcWaterMarkTextBox WaterMark="发货" Text="" Grid.Column="1" Grid.Row="1" Margin="0,2,4,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>-->
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="2">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="3">
|
||||
<TextBlock Text="采购账户:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding ElementName=txtOutOrderBuyerStr,Path=Text,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="采购账户:" Text="{Binding ItemTransitOrder.OutOrderBuyerStr}" Grid.Column="1" Grid.Row="1"
|
||||
Padding="0" Margin="-2,2" VerticalAlignment="Top" x:Name="txtOutOrderBuyerStr" Background="Transparent"
|
||||
IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Cursor="Hand" Foreground="#0099ff"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="3">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="4">
|
||||
<TextBlock Text="采购单号:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding ElementName=txtOutOrderNumStr,Path=Text,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="采购单号:" Text="{Binding ItemTransitOrder.OutOrderNumStr}" Grid.Column="1" Grid.Row="1"
|
||||
@@ -249,7 +261,7 @@
|
||||
<Path Margin="0,0,0,0" Fill="{StaticResource PageLinkBrush}" MouseLeftButtonDown="Path_MouseLeftButtonDown" Data="M80 432a128 128 0 0 1 128-128h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128h-384a128 128 0 0 1-128-128v-384z m128-64a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64v-384a64 64 0 0 0-64-64h-384z M816 144h-384a64 64 0 0 0-64 64 32 32 0 0 1-64 0 128 128 0 0 1 128-128h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128 32 32 0 0 1 0-64 64 64 0 0 0 64-64v-384a64 64 0 0 0-64-64z" Stretch="Uniform" />
|
||||
</Border>
|
||||
</WrapPanel>
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="4">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="5">
|
||||
<TextBlock Text="采购时间:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding ElementName=txtOutOrderTimeQualifiedStr,Path=Text,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="采购时间:" Text="{Binding OutOrderTimeQualifiedStr}" Grid.Column="1" Grid.Row="1"
|
||||
@@ -261,26 +273,27 @@
|
||||
</Border>-->
|
||||
</WrapPanel>
|
||||
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="5" Visibility="{Binding TransitOrderWaybillToWareHouseStr, Converter={StaticResource HasTextVisibility}}">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="6" Visibility="{Binding TransitOrderWaybillToWareHouseStr, Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBlock Text="取号物流:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding TransitOrderWaybillToWareHouseStr,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="取号物流" Text="{Binding TransitOrderWaybillToWareHouseStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Foreground="{StaticResource PageOkBrush}"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="6" Visibility="{Binding TransitOrderWaybillFakeStr, Converter={StaticResource HasTextVisibility}}">
|
||||
<!--<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="6" Visibility="{Binding TransitOrderWaybillFakeStr, Converter={StaticResource HasTextVisibility}}">-->
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="7" Visibility="Collapsed">
|
||||
<TextBlock Text="提前物流:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding TransitOrderWaybillFakeStr,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="提前物流" Text="{Binding TransitOrderWaybillFakeStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Foreground="{StaticResource PageWarningBrush}"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="7" Visibility="{Binding TransitOrderWaybillFromWareHouseStr, Converter={StaticResource HasTextVisibility}}">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="8" Visibility="{Binding TransitOrderWaybillFromWareHouseStr, Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBlock Text="仓库物流:" IsHitTestVisible="False" Foreground="LightGray" VerticalAlignment="Center"
|
||||
Visibility="{Binding TransitOrderWaybillFromWareHouseStr,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
|
||||
<uc:UcWaterMarkTextBox WaterMark="仓库物流" Text="{Binding TransitOrderWaybillFromWareHouseStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
|
||||
</WrapPanel>
|
||||
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="8" Visibility="{Binding ItemOrder.out_express_no, Converter={StaticResource HasTextVisibility}}">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="9" Visibility="{Binding ItemOrder.out_express_no, Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox Text="外采:" Grid.Column="1" Grid.Row="1" Margin="0,2,0,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
|
||||
<uc:UcWaterMarkTextBox WaterMark="外采" Text="{Binding ItemOrder.out_express_company}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
|
||||
@@ -289,7 +302,7 @@
|
||||
<uc:UcWaterMarkTextBox WaterMark="外采" Text="{Binding ItemOrder.out_express_no}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="9" Visibility="{Binding ReturnWaybillId, Converter={StaticResource HasTextVisibility}}">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="10" Visibility="{Binding ReturnWaybillId, Converter={StaticResource HasTextVisibility}}">
|
||||
<TextBox Text="退货:" Grid.Column="1" Grid.Row="1" Margin="0,2,0,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
|
||||
<uc:UcWaterMarkTextBox WaterMark="退货" Text="{Binding ItemRefund.return_delivery_name}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
|
||||
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
|
||||
|
||||
@@ -199,6 +199,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
BaseMsgWindow.ShowError("请选择买手号");
|
||||
return;
|
||||
}
|
||||
if (orderItem.sku_cnt > 1 || orderItem.ItemOrder.orderItems.Count > 1)
|
||||
{
|
||||
BaseMsgWindow.ShowError("多单或多件商品订单中转仓暂不支持");
|
||||
return;
|
||||
}
|
||||
|
||||
btnBuyOrder.Cursor = Cursors.Wait;
|
||||
btnBuyOrder.IsEnabled = false;
|
||||
|
||||
@@ -37,8 +37,11 @@
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<orderctrls:OrderListCtrl x:Name="orderListCtrl" Grid.Column="1" Visibility="Collapsed"></orderctrls:OrderListCtrl>
|
||||
<Grid x:Name="gridPddBuyerOrderReadCtrl" Visibility="Hidden" Grid.ColumnSpan="2" Background="#7F000000">
|
||||
<buyerctrls:PDDBuyerOrderReadCtrl x:Name="pddBuyerOrderReadCtrl" Grid.Column="1" Visibility="Collapsed" Panel.ZIndex="-1" Width="1200" HorizontalAlignment="Right" Margin="0,50,0,0"></buyerctrls:PDDBuyerOrderReadCtrl>
|
||||
<Grid x:Name="gridPddBuyerOrderReadCtrl" Visibility="Hidden" Grid.ColumnSpan="2" Background="#7F000000" MouseLeftButtonUp="gridPddBuyerOrderReadCtrl_MouseLeftButtonUp">
|
||||
<Border CornerRadius="10" HorizontalAlignment="Right" Height="auto" Background="White" Margin="0,50,0,0">
|
||||
<buyerctrls:PDDBuyerOrderReadCtrl x:Name="pddBuyerOrderReadCtrl" Grid.Column="1" Visibility="Collapsed" Panel.ZIndex="-1" Width="1200"
|
||||
HorizontalAlignment="Right"/>
|
||||
</Border>
|
||||
</Grid>
|
||||
<buyerctrls:PDDBuyerSelectCtrl x:Name="pddBuyerSelectCtrl" Visibility="Collapsed" Width="280" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="8"/>
|
||||
<Grid x:Name="gridUser" Visibility="Hidden" Grid.ColumnSpan="2" Background="#7F000000">
|
||||
|
||||
@@ -29,7 +29,6 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
@@ -431,5 +430,13 @@ namespace _29WxOrderWpf
|
||||
WXGetBalanceQrCodeForm balanceQrCodeForm = new WXGetBalanceQrCodeForm();
|
||||
balanceQrCodeForm.ShowDialog();
|
||||
}
|
||||
|
||||
private void gridPddBuyerOrderReadCtrl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
//if (Panel.GetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl) < 1)
|
||||
// Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, 1);
|
||||
//else
|
||||
// Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,5 +25,9 @@
|
||||
|
||||
<SolidColorBrush x:Key="PageOkBrush" Color="#FF67c23a" />
|
||||
<SolidColorBrush x:Key="PageWarningBrush" Color="#FFfa4733" />
|
||||
<SolidColorBrush x:Key="PageWarningBrushCC" Color="#CCfa4733" />
|
||||
<SolidColorBrush x:Key="PageWarningBrush80" Color="#80fa4733" />
|
||||
<SolidColorBrush x:Key="PageWarningBrush50" Color="#50fa4733" />
|
||||
<SolidColorBrush x:Key="PageWarningBrush20" Color="#20fa4733" />
|
||||
<SolidColorBrush x:Key="PageLinkBrush" Color="#409eff" />
|
||||
</ResourceDictionary>
|
||||
@@ -5,7 +5,7 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:_29WxOrderWpf.UserControls"
|
||||
mc:Ignorable="d" Width="Auto" Height="Auto"
|
||||
d:DesignHeight="50" d:DesignWidth="300" Background="Transparent" Loaded="WindowBoxes_Loaded">
|
||||
d:DesignHeight="30" d:DesignWidth="60" Background="Transparent" Loaded="WindowBoxes_Loaded">
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
|
||||
Reference in new issue
Block a user