直发买手拍单功能

This commit is contained in:
wule committed 2026-08-03 16:23:25 +08:00
1 parent fe9635f37f
commit 785fcce29e
22 files changed
+1172 -529

No files matched your search

@@ -120,7 +120,7 @@
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="0.6*" Header="是否直发" Binding="{Binding IsDirectStr}">
<DataGridTextColumn Width="0.6*" Header="是否直发" Binding="{Binding WxSendTypeStr}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap"/>
@@ -248,6 +248,15 @@
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="0.6*" Header="是否直发" Binding="{Binding WxSendTypeStr}">
<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">
File diff suppressed because it is too large. Load diff
@@ -15,6 +15,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="45"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
@@ -95,11 +96,7 @@
</WrapPanel>
</Grid>
<Grid x:Name="gridListHeader" Margin="8,2,8,0" Grid.Row="1">
<TextBox x:Name="txtAdminSearch" Grid.Column="4" Margin="8,0,56,0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1" Height="28" VerticalContentAlignment="Center"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" VerticalAlignment="Top" HorizontalAlignment="Right" Width="260" Visibility="Collapsed"/>
<Button Grid.Column="8" x:Name="btnAdminSearch" Style="{StaticResource BasePageButtonStyle}" Margin="4,2,0,0" Content="超管查询" Width="52" Height="24" Click="btnFilter_Click"
VerticalAlignment="Top" HorizontalAlignment="Right" Visibility="Collapsed"/>
<Grid x:Name="gridListHeader" Margin="8,2,8,0" Grid.Row="2">
<TabControl x:Name="tabOrderType" VerticalAlignment="Stretch" FontSize="16" SelectionChanged="tabOrderType_SelectionChanged" >
<TabControl.Resources>
<Style TargetType="{x:Type TabControl}">
@@ -193,8 +190,8 @@
</Grid>
</Border>
</TabItem>
<TabItem Header="异常订单" MinWidth="60" Foreground="#FFEE0099" BorderBrush="Transparent" Background="Transparent" SizeChanged="TabItem_SizeChanged"></TabItem>
<TabItem Header="需处理售后订单" MinWidth="60" Foreground="#FF6666" BorderBrush="Transparent" Background="#FF6666" SizeChanged="TabItem_SizeChanged">
<TabItem Header="异常单" MinWidth="60" Foreground="#FFEE0099" BorderBrush="Transparent" Background="Transparent" SizeChanged="TabItem_SizeChanged"></TabItem>
<TabItem Header="需处理售后单" MinWidth="60" Foreground="#FF6666" BorderBrush="Transparent" Background="#FF6666" SizeChanged="TabItem_SizeChanged">
<Border BorderBrush="#e0e0e0" BorderThickness="0,0,0,1" Margin="4,0,4,4">
<Grid>
<Grid.ColumnDefinitions>
@@ -229,10 +226,13 @@
<CheckBox Grid.Column="10" Content="店铺退款中" x:Name="chkEmergencyShopInAfterSale" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" VerticalAlignment="Center" Margin="6,8" Click="chkEmergencyShopAfterSale_Click"/>
<Polyline Grid.Column="11" Width="10" Margin="5,0" StrokeThickness="2" Stroke="{StaticResource mainColorBrush}" Points="5,0 5,8 5,0" VerticalAlignment="Center"/>
</Grid>
<CheckBox Grid.Column="12" Content="退货退款" x:Name="chkEmergencyReturn" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" VerticalAlignment="Center" Margin="6,8" Click="chkEmergencyReturnOrRefund_Click"/>
<CheckBox Grid.Column="13" Content="仅退款" x:Name="chkEmergencyRefund" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" VerticalAlignment="Center" Margin="6,8" Click="chkEmergencyReturnOrRefund_Click"/>
</Grid>
</Border>
</TabItem>
<TabItem Header="售后完成订单" MinWidth="60" Foreground="#FF9966" BorderBrush="Transparent" Background="Transparent" SizeChanged="TabItem_SizeChanged">
<TabItem Header="售后完成单" MinWidth="60" Foreground="#FF9966" BorderBrush="Transparent" Background="Transparent" SizeChanged="TabItem_SizeChanged">
<Border BorderBrush="#e0e0e0" BorderThickness="0,0,0,1" Margin="4,0,4,4">
<Grid>
<Grid.ColumnDefinitions>
@@ -265,18 +265,29 @@
<Grid Background="#FFE5E5E5"/>
</TabItem>-->
</TabControl>
<WrapPanel x:Name="wpFilter" Margin="630,2,0,0" VerticalAlignment="Top">
<CheckBox Content="过滤非中转仓订单" x:Name="chkOnlyWarehouseOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,0,0,0" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<CheckBox Content="过滤多件商品订单" x:Name="chkNoMultiOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="8,0,0,0" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<Polyline Grid.Column="5" Width="10" Margin="5,0" StrokeThickness="2" Stroke="{StaticResource mainColorBrush}" Points="5,0 5,4 5,0" VerticalAlignment="Center"/>
<CheckBox Content="过滤备注" x:Name="chkFilterRemark" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,0,0,0" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="False"/>
<TextBlock Margin="10,-5, 0 -5" FontSize="12" VerticalAlignment="Top" HorizontalAlignment="Right" Text="注:需中转仓订单,店铺后台勿自行发货,发货后中转仓将无法打单"
Foreground="{StaticResource PageWarningBrushCC}" Width="180" TextWrapping="Wrap"></TextBlock>
</Grid>
<Border Margin="4,0,0,0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1,1,1,1" Height="22" VerticalAlignment="Center" CornerRadius="4,0,0,4">
<WrapPanel x:Name="wpFilter" Margin="588,0,190,-36" VerticalAlignment="Top" Grid.Row="1">
<CheckBox Content="过滤非本系统订单" x:Name="chkOnlyWarehouseOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,3,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<CheckBox Content="过滤多商品订单" x:Name="chkNoMultiOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,0,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<Polyline Grid.Column="5" Width="10" Margin="2,0" StrokeThickness="2" Stroke="{StaticResource mainColorBrush}" Points="5,0 5,4 5,0" VerticalAlignment="Center"/>
<CheckBox Content="云仓" x:Name="chkTransitOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,3,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<CheckBox Content="直发" x:Name="chkDirectOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,3,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<CheckBox Content="云改直" x:Name="chkTransitChangeDirectOrder" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,0,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="true"/>
<Polyline Grid.Column="5" Width="10" Margin="2,0" StrokeThickness="2" Stroke="{StaticResource mainColorBrush}" Points="5,0 5,4 5,0" VerticalAlignment="Center"/>
<CheckBox Content="过滤备注" x:Name="chkFilterRemark" BorderBrush="{StaticResource mainColorBrush}" FontSize="12" HorizontalAlignment="Left"
Margin="0,2,3,2" VerticalAlignment="Center" VerticalContentAlignment="Center" Checked="chkSubFilterSonditions_Checked" Unchecked="chkSubFilterSonditions_Checked" IsChecked="False"/>
<WrapPanel>
<Border Margin="0,2,0,2" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1,1,1,1" Height="22" VerticalAlignment="Center" CornerRadius="4,0,0,4">
<ComboBox x:Name="cmbFilterRemark" Margin="4,0,4,0" VerticalContentAlignment="Center" BorderBrush="Transparent" Style="{StaticResource RoundedComboBox}"
Width="96" Height="20" Text="成交时间" SelectedIndex="0">
Width="94" Height="20" Text="成交时间" SelectedIndex="0">
<ComboBoxItem>
<TextBlock Margin="0, -2">店铺备注包含</TextBlock>
</ComboBoxItem>
@@ -296,12 +307,11 @@
TextChanged="txtFilterRemark_TextChanged" ToolTip="{Binding Text,RelativeSource={RelativeSource Self}}"></TextBox>
</Border>
<Button Grid.Column="4" Style="{StaticResource BasePageButtonLeftSquareStyle}" HorizontalAlignment="Right" VerticalAlignment="Center"
Margin="-4,0,0,0" Content=" ... " Width="22" Height="22" Click="btnMultiRemark_Click"/>
Margin="-4,2,0,2" Content=" ... " Width="22" Height="22" Click="btnMultiRemark_Click"/>
</WrapPanel>
<TextBlock Margin="10,-5, 0 -5" FontSize="12" VerticalAlignment="Top" HorizontalAlignment="Right" Text="注:需中转仓订单,店铺后台勿自行发货,发货后中转仓将无法打单"
Foreground="{StaticResource PageWarningBrushCC}" Width="180" TextWrapping="Wrap"></TextBlock>
</Grid>
<Grid x:Name="lstTitle" Grid.Row="2" Margin="8,0,8,0" Background="{StaticResource ListHeadBackColorBrush}">
</WrapPanel>
<Grid x:Name="lstTitle" Grid.Row="3" Margin="8,0,8,0" Background="{StaticResource ListHeadBackColorBrush}">
<Border BorderThickness="0,0,1,0" BorderBrush="{StaticResource ListHeadBorderColorBrush}">
<DataGrid Margin="0,0,28,0" x:Name="dgOrderHeader" Grid.ColumnSpan="100" AutoGenerateColumns="False" CanUserReorderColumns="False"
ColumnHeaderHeight="{Binding ElementName=lstTitle, Path=ActualHeight}" BorderThickness="0"
@@ -328,19 +338,20 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Width="200*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="店铺单号"/>
<DataGridTextColumn Width="180*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="店铺单号"/>
<DataGridTextColumn Width="95*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="交易时间"/>
<DataGridTextColumn Width="75*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="利润"/>
<DataGridTextColumn Width="70*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="利润"/>
<DataGridTextColumn Width="170*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="状态/地址"/>
<DataGridTextColumn Width="120*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="单号"/>
<DataGridTextColumn Width="120*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="备注"/>
<DataGridTextColumn Width="140*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="单号"/>
<DataGridTextColumn Width="125*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header="备注"/>
<DataGridTextColumn Width="72*" HeaderStyle="{StaticResource BaseDataGridColumnHeaderStyle}" Header=" 操作"/>
</DataGrid.Columns>
</DataGrid>
</Border>
</Grid>
<!--ItemsSource="{Binding lstFilterOrder}"-->
<ListBox BorderThickness="0" Grid.Row="3" HorizontalContentAlignment="Stretch" x:Name="lbxOrder" Margin="7,0,7,0"
<ListBox BorderThickness="0" Grid.Row="4" HorizontalContentAlignment="Stretch" x:Name="lbxOrder" Margin="7,0,7,0"
ScrollViewer.CanContentScroll="True" VirtualizingPanel.ScrollUnit="Pixel">
<!--使用自定义属性模板去除ListBox高亮显示框-->
<ListBox.ItemContainerStyle>
@@ -363,7 +374,8 @@
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid x:Name="gridFooter" Grid.Row="4">
<Grid x:Name="gridFooter" Grid.Row="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="100*"></ColumnDefinition>
@@ -7,6 +7,7 @@ using AllBase.Helper;
using AllBase.Model;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
using AllBase.Util;
using CefSharp.DevTools.Autofill;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
@@ -15,6 +16,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Security.Policy;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -355,12 +357,17 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
item.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == item.order_id && t.order_sku_id == item.sku_id));
else
item.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == item.order_id));
// 中转仓退货包裹订单
item.ItemTransitOrderAfterSales = transitAfterSaleList.Where(a => item.ItemTransitOrders.Any(t => t.out_order_no == a.order_code)).ToList();
// 中转仓买手订单
item.PddBuyerOrders = pddBuyerOrders.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id).ToList();
// 中转仓买手退货订单
item.PddBuyerAfterSales = pddBuyerAfterSales.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id).ToList();
// 中转仓买手订单(wx_send_type等于0)
item.PddBuyerOrders = pddBuyerOrders.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id && po.wx_send_type == 0).ToList();
// 中转仓买手退货订单(wx_send_type等于0)
item.PddBuyerAfterSales = pddBuyerAfterSales.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id && po.wx_send_type == 0).ToList();
// 直发买手订单(wx_send_type等于1)
item.PddBuyerOrders = pddBuyerOrders.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id && po.wx_send_type == 1).ToList();
// 直发买手退款订单(wx_send_type等于1)
item.DirectPddBuyerAfterSales = pddBuyerAfterSales.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id && po.wx_send_type == 1).ToList();
}
// 装载订单售后详情
@@ -446,6 +453,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
catch (Exception ex)
{
orderItems = new List<oms_wei_order_item_info>();
BaseMsgWindow.ShowAnimateMessage("订单详情读取失败 " + ex.Message, "Error", 5);
}
return orderItems;
@@ -516,6 +524,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var wxOrderIdIn = string.Join(",", jObj["orderList"].Select(j => j["commonInfo"]["orderId"].ParseToString()));
var wxSkuIdIn = string.Join(",", jObj["orderList"].Select(j => (j["orderProductInfo"].FirstOrDefault()?["skuId"]).ParseToString()));
// 异常单
List<order_item_ext> existOrderExtList = new List<order_item_ext>();
if (!string.IsNullOrEmpty(wxOrderIdIn) && !string.IsNullOrEmpty(wxSkuIdIn))
{
@@ -534,6 +543,44 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
existOrderExtList = JsonHelper.DeserializeJsonToList<order_item_ext>(JsonHelper.JObjectParse(html)["data"].ParseToString());
}
// 先把已经物流异常但未查询到的订单改为正常
var waybillExceptionOrders = GlobalConfig.lstOrder.Where(o => o.shop_id.ParseToString() == shop.ErpShopId && o.orderItems.Any(oi => oi.ShopWaybillExceptionStr == "物流异常")).ToList();
foreach (var waybillExceptionOrder in waybillExceptionOrders)
{
if (!existOrderExtList.Any(oExt => oExt.order_id == waybillExceptionOrder.order_id))
{
foreach (var orderItem in waybillExceptionOrder.orderItems)
{
if (orderItem.OrderItemExt != null)
{
orderItem.OrderItemExt.abnormal_text = "";
orderItem.ShopWaybillExceptionStr = "";
}
}
// 更新显示
Dispatcher.Invoke(new Action(() =>
{
foreach (var oi in waybillExceptionOrder.orderItems)
oi.SetOrderItemTextProperty();
waybillExceptionOrder.SetOrderTextProperty();
MainWindow.Instance.orderListCtrl.FilterOneOrder(waybillExceptionOrder, true);
}));
var orderId = waybillExceptionOrder.order_id;
order_item_ext orderExt = new order_item_ext() { order_id = orderId, shop_app_id = shop.ShopId, shop_name = shop.ShopAccount, abnormal_text = "物流异常" };
var url1 = BaseClass.Build29WxObjString("order/wx_mdy_order_item_ext_info");
var data1 = UserLogin.GetSignaturex();
data1 += "&wx_order_id=" + orderExt.order_id;
data1 += "&abnormal_text=";
var html1 = GetHtml.PostUtf8(url1, data1);
if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200"))
html1 = GetHtml.PostUtf8(url1, data1);
}
}
foreach (var od in jObj["orderList"])
{
var oStr = JsonHelper.SerializeObject(od);
@@ -607,6 +654,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
public void disPlayOrderTabOrderCount()
{
var orders = string.Join("','", GlobalConfig.lstFilterOrder.Select(o => o.order_id));
var orders1 = string.Join(",", GlobalConfig.lstFilterOrder.Select(o => o.order_id));
var tabItems = this.tabOrderType.Items.Cast<TabItem>();
var tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待采购"));
var userOrderLst = GlobalConfig.lstOrder.Where(o => GlobalConfig.ShopLoginList.Any(s => s.ErpShopId.ParseToLong() == o.shop_id)).ToList();
@@ -630,26 +683,26 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//tabItem.Header = "待收货(" + userOrderLst.Where(r => r.IsWaitReceive).Count() + "|" + filteLstTmp.Where(r => r.IsWaitReceive).Count() + ")";
tabItem.Header = "待收货(" + userOrderLst.Where(r => r.IsWaitReceive).Count() + "|" + filteLstTmp.Count() + ")";
}
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("售后完成订单"));
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("售后完成单"));
if (tabItem != null)
{
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "售后完成订单")));
//tabItem.Header = "售后完成订单(" + userOrderLst.Where(r => r.IsRefund).Count() + "|" + filteLstTmp.Where(r => r.IsRefund).Count() + ")";
tabItem.Header = "售后完成订单(" + userOrderLst.Where(r => r.IsRefund).Count() + "|" + filteLstTmp.Count() + ")";
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "售后完成单")));
//tabItem.Header = "售后完成单(" + userOrderLst.Where(r => r.IsRefund).Count() + "|" + filteLstTmp.Where(r => r.IsRefund).Count() + ")";
tabItem.Header = "售后完成单(" + userOrderLst.Where(r => r.IsRefund).Count() + "|" + filteLstTmp.Count() + ")";
}
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("需处理售后订单"));
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("需处理售后单"));
if (tabItem != null)
{
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "需处理售后订单")));
//tabItem.Header = "需处理售后订单(" + userOrderLst.Where(r => r.IsEmergency).Count() + "|" + filteLstTmp.Where(r => r.IsEmergency).Count() + ")";
tabItem.Header = "需处理售后订单(" + userOrderLst.Where(r => r.IsEmergency).Count() + "|" + filteLstTmp.Count() + ")";
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "需处理售后单")));
//tabItem.Header = "需处理售后单(" + userOrderLst.Where(r => r.IsEmergency).Count() + "|" + filteLstTmp.Where(r => r.IsEmergency).Count() + ")";
tabItem.Header = "需处理售后单(" + userOrderLst.Where(r => r.IsEmergency).Count() + "|" + filteLstTmp.Count() + ")";
}
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("异常订单"));
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("异常单"));
if (tabItem != null)
{
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "异常订单")));
//tabItem.Header = "异常订单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Where(r => r.isAbnormal).Count() + ")";
tabItem.Header = "异常订单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Count() + ")";
var filteLstTmp = new ObservableCollection<oms_wei_order_info>(userOrderLst.Where(o => !GetOrderIsFilter(o, "异常单")));
//tabItem.Header = "异常单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Where(r => r.isAbnormal).Count() + ")";
tabItem.Header = "异常单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Count() + ")";
}
tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("全部订单"));
if (tabItem != null)
@@ -669,12 +722,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
Dispatcher.Invoke(new Action(() =>
{
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后订单"))
GlobalConfig.lstFilterOrder = new ObservableCollection<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime));
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常订单"))
GlobalConfig.lstFilterOrder = new ObservableCollection<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time));
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单"))
GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime));
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单"))
GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time));
else
GlobalConfig.lstFilterOrder = new ObservableCollection<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.create_time));
GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.create_time));
this.lbxOrder.ItemsSource = GlobalConfig.lstFilterOrder;
disPlayOrderTabOrderCount();
@@ -697,9 +750,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (!GetOrderIsFilter(order))
{
oms_wei_order_info nextOrder = null;
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后订单"))
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单"))
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.RefundDatetime < order.RefundDatetime);
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常订单"))
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单"))
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.update_time < order.update_time);
else
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.create_time < order.create_time);
@@ -777,7 +830,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
return true;
}
// 过滤非中转仓订单
if (chkOnlyWarehouseOrder.IsChecked.ParseToBool() && !order.IsWaitBuy && order.orderItems.All(oi => oi.ItemTransitOrderWithVoid == null))
if (chkOnlyWarehouseOrder.IsChecked.ParseToBool() && !order.IsWaitBuy &&
order.orderItems.All(oi => oi.ItemTransitOrderWithVoid == null) && order.orderItems.All(oi => oi.OrderItemExt?.buy_type != "直发"))
{
return true;
}
@@ -799,6 +853,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
}
if (!chkDirectOrder.IsChecked == true && order.OrderBuyType == "直发")
return true;
if (!chkTransitOrder.IsChecked == true && order.OrderBuyType == "云仓")
return true;
if (!chkTransitChangeDirectOrder.IsChecked == true && order.OrderBuyType == "云改直")
return true;
// 过滤时间范围
if (cmbTimeType.SelectedItem is ComboBoxItem cbi)
@@ -834,8 +894,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
if (!order.IsWaitBuy)
return true;
if (order.IsRefund)
return true;
//if (order.IsRefund)
// return true;
if (chkMapProdOnly.IsChecked == true && order.orderItems.All(oi => oi.BuyMap == null))
return true;
if (chkNoMapProdOnly.IsChecked == true && order.orderItems.All(oi => oi.BuyMap != null))
@@ -864,11 +924,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (chkWaitReceiveWarehouseIsSendOut.IsChecked == true && order.orderItems.All(oi => oi.WarehouseWaybillStatusStr != "中转已出库"))
return true;
}
if (filterHeadStr.StartsWith("异常订单") && !order.isAbnormal)
if (filterHeadStr.StartsWith("异常单") && !order.isAbnormal)
{
return true;
}
if (filterHeadStr.StartsWith("需处理售后订单"))
if (filterHeadStr.StartsWith("需处理售后单"))
{
if (!order.IsEmergency)
return true;
@@ -887,12 +947,26 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
else if (chkEmergencyShopCustomRefundNoWaybill.IsChecked == true && order.orderItems.All(oi => !oi.ReturnWaybillIdStr.IsNullOrEmpty()))
return true;
if (order.order_id == "3737838342857424896")
{
}
// 退款完成
if (chkEmergencyShopAfterSaleSuccess.IsChecked == true && order.DeliveryDeadlineDtatusStr != "退款完成")
return true;
else if (chkEmergencyShopInAfterSale.IsChecked == true && order.DeliveryDeadlineDtatusStr != "退款中")
// 退款中
else if (chkEmergencyShopInAfterSale.IsChecked == true && (order.DeliveryDeadlineDtatusStr != "退款中"))
return true;
// 退货退款
if (chkEmergencyReturn.IsChecked == true && !(order.refundItems.OrderByDescending(or => or.create_time).FirstOrDefault()?.RefundStatusStr).ParseToString().Contains("退货"))
return true;
// 仅退款
else if (chkEmergencyRefund.IsChecked == true && (order.refundItems.OrderByDescending(or => or.create_time).FirstOrDefault()?.RefundStatusStr).ParseToString().Contains("退货"))
return true;
}
if (filterHeadStr.StartsWith("售后完成订单"))
if (filterHeadStr.StartsWith("售后完成单"))
{
if (!order.IsRefund)
return true;
@@ -1080,11 +1154,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
private void TabItem_SizeChanged(object sender, SizeChangedEventArgs e)
{
var tabItems = this.tabOrderType.Items.Cast<TabItem>();
wpFilter.Margin = new Thickness(tabItems.Sum(t => t.ActualWidth) + 20, wpFilter.Margin.Top, 0, 0);
wpFilter.Margin = new Thickness(tabItems.Sum(t => t.ActualWidth) + 18, wpFilter.Margin.Top, wpFilter.Margin.Right, wpFilter.Margin.Bottom);
Point position1 = txtFilterRemark.TranslatePoint(new Point(0, 0), gridOrderListCtrl);
Point position2 = txtFilterRemark.TranslatePoint(new Point(0, 0), wpFilter);
borderFilterRemarkSelect.Margin = new Thickness(tabItems.Sum(t => t.ActualWidth) + 26 + position2.X, position1.Y + txtFilterRemark.ActualHeight + 3, 0, 0);
borderFilterRemarkSelect.Margin = new Thickness(tabItems.Sum(t => t.ActualWidth) + 16 + position2.X, position1.Y + txtFilterRemark.ActualHeight + 3, 0, 0);
}
private void chkSubFilterSonditions_Checked(object sender, RoutedEventArgs e)
@@ -1308,7 +1382,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3);
isSimPddAfterSaleSuccess = true;
Thread.Sleep(Randomx.GetId(10000, 10001));
Thread.Sleep(Randomx.GetId(10000, 12001));
}
else
{
@@ -1436,5 +1510,16 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
lstFilterText = txtFilterRemark.Text.Trim().Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries).Distinct().ToList();
}
private void chkEmergencyReturnOrRefund_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
var isCheck = !chk.IsChecked.ParseToBool();
chkEmergencyReturn.IsChecked = chkEmergencyRefund.IsChecked = false;
chk.IsChecked = !isCheck;
}
FilterOrders();
}
}
}
@@ -122,7 +122,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
try
{
Clipboard.SetText(order.order_id);
//Clipboard.SetText(order.order_id); // 复制成功,但会报错,改为SetDataObject
Clipboard.SetDataObject(order.order_id);
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -141,7 +142,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
try
{
Clipboard.SetText(shop.ShopAccount);
Clipboard.SetDataObject(shop.ShopAccount);
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -6,7 +6,7 @@
xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls"
xmlns:uc="clr-namespace:_29WxOrderWpf.UserControls"
mc:Ignorable="d" DataContextChanged="UserControl_DataContextChanged"
d:DesignHeight="180" d:DesignWidth="1200">
d:DesignHeight="220" d:DesignWidth="1200">
<Grid>
<Grid.RowDefinitions>
@@ -54,9 +54,20 @@
</Grid.RowDefinitions>
<!--<Image Grid.RowSpan="20" Grid.Column="0" Height="80" Width="80" Margin="0,0,8,0" Source="{DynamicResource imgErrPic}"></Image>-->
<uc:UcWaterMarkTextBox1 WaterMark="商品名称" x:Name="txtGoodsName" Text="{Binding title}" Grid.Column="1" Grid.Row="1" Margin="0,2,4,2"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" FontWeight="Bold"/>
<uc:UcWaterMarkTextBox1 Grid.Column="0" Grid.Row="1" WaterMark="商品名称" x:Name="txtGoodsName" Text="{Binding title}" Margin="0,2,4,2"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" FontWeight="Bold" HorizontalAlignment="Left"/>
<!--<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Grid.Column="1" Grid.Row="1" Width="12" Background="Transparent" Height="12" VerticalAlignment="Center" Cursor="Hand" HorizontalAlignment="Left"
MouseLeftButtonDown="pathCopyProdName_MouseLeftButtonDown" Visibility="{Binding ElementName=txtUserAddress,Path=Visibility}">
<Path Margin="0,0,0,0" Fill="{StaticResource PageLinkBrush}" MouseLeftButtonDown="pathCopyProdName_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>
</Grid>-->
<TextBox Text="数量:" Grid.Column="1" Grid.Row="2" Margin="0,2,4,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 WaterMark="SKU数量" Text="{Binding sku_cnt}" Grid.Column="1" Grid.Row="2" Margin="36,2,4,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
@@ -210,6 +221,17 @@
<Path Margin="0,0,0,0" Fill="{StaticResource PageLinkBrush}" MouseLeftButtonDown="pathRefundId_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.Row="7" Width="auto" HorizontalAlignment="Center" Visibility="{Binding RefundAddressStr,Converter={StaticResource HasTextVisibility}}">
<TextBox Text="退货地址:" Grid.Column="1" Grid.Row="5" Margin="0,2,0,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 Grid.Column="1" Grid.Row="5" x:Name="txtRefundAddress" WaterMark="退货地址"
Text="{Binding RefundAddressStr,Converter={StaticResource TextEllipsisConverter26}}"
Margin="0,2,4,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"
TextWrapping="Wrap" ToolTip="{Binding RefundAddressStr}"/>
<Border Grid.Column="6" Width="12" Background="Transparent" Height="12" VerticalAlignment="Center" Cursor="Hand"
MouseLeftButtonDown="pathCopyRefundAddress_MouseLeftButtonDown" Visibility="{Binding ElementName=txtUserAddress,Path=Visibility}">
<Path Margin="0,0,0,0" Fill="{StaticResource PageLinkBrush}" MouseLeftButtonDown="pathCopyRefundAddress_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>
</Grid>
<!--单号-->
<Grid Grid.Column="6" Background="Transparent" VerticalAlignment="Center">
@@ -231,53 +253,45 @@
</Grid.RowDefinitions>
<WrapPanel x:Name="wpTransitBuyerRefundStatus" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center">
<Border x:Name="borderTransitBuyerRefundStatus" Grid.Row="1" Margin="0,0,0,2" Background="{Binding TransitRefundStatusBackColor}" BorderBrush="{Binding TransitRefundStatusBackColor}"
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" Padding="0" />
</WrapPanel>
<WrapPanel x:Name="wpTransitWaybillStatus" Grid.Row="2" HorizontalAlignment="Center" Margin="0,0,0,4">
<Border x:Name="borderBuyStatas" Grid.Row="1" Margin="0,0,4,0" Background="{Binding BuyerTransitWaybillStatusBackColor}" BorderBrush="{Binding BuyerTransitWaybillStatusBorderColor}"
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding BuyerTransitWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
<TextBox x:Name="txtBuyStatus" Grid.Column="1" Margin="0" Foreground="{Binding BuyerTransitWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding BuyerTransitWaybillStatusStr}" BorderThickness="0" />
</Border>
<Border Grid.Row="1" Margin="4,0,0,2" Background="{StaticResource pageColorBrush}" BorderBrush="{StaticResource pageColorBrush}"
<Border x:Name="borderWarehouseStatas" Grid.Row="1" Margin="0,0,4,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="0" Foreground="{Binding WarehouseWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding WarehouseWaybillStatusStr}" BorderThickness="0" MouseEnter="txtWarehouseStatus_MouseEnter"/>
</Border>
<Border Grid.Row="1" Margin="0,0,4,0" Background="{StaticResource pageColorBrush}" BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding TransitRefundVoidStatusStr,Converter={StaticResource HasTextVisibility}}">
<TextBox Grid.Column="1" Margin="2,0,2,1" Foreground="White" VerticalContentAlignment="Center" VerticalAlignment="Center"
<TextBox Grid.Column="1" Margin="0" Foreground="White" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding TransitRefundVoidStatusStr}" BorderThickness="0" Padding="0" />
</Border>
</WrapPanel>
<WrapPanel x:Name="wpTransitWaybillStatus" Grid.Row="2" HorizontalAlignment="Center">
<Border x:Name="borderBuyStatas" Grid.Row="1" Margin="0,0,0,0" Background="{Binding BuyerTransitWaybillStatusBackColor}" BorderBrush="{Binding BuyerTransitWaybillStatusBorderColor}"
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding BuyerTransitWaybillStatusStr,Converter={StaticResource HasTextVisibility}}">
<TextBox x:Name="txtBuyStatus" Grid.Column="1" Margin="2,0,2,1" Foreground="{Binding BuyerTransitWaybillStatusStrColor}" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding BuyerTransitWaybillStatusStr}" BorderThickness="0" />
</Border>
<Border x:Name="borderWarehouseStatas" Grid.Row="1" Margin="4,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" MouseEnter="txtWarehouseStatus_MouseEnter"/>
</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 x:Name="wpBuyAccount" 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>
Visibility="{Binding ElementName=txtTransitOrderBuyerStr,Path=Text,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
<uc:UcWaterMarkTextBox1 WaterMark="采购账户:" Text="{Binding ItemTransitOrderWithVoid.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"/>
Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top" x:Name="txtTransitOrderBuyerStr" Background="Transparent"
IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Cursor="Hand" Foreground="#0099ff"/>
<Border x:Name="borderTransitBuyerRefundStatus" Grid.Row="1" Margin="0,0,0,0" Background="{Binding TransitRefundStatusBackColor}" BorderBrush="{Binding TransitRefundStatusBackColor}"
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center" Visibility="{Binding TransitRefundStatusStr,Converter={StaticResource HasTextVisibility}}">
<TextBox x:Name="txtRefundStatus" Grid.Column="1" Margin="0,0,0,0" Foreground="White" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding TransitRefundStatusStr}" BorderThickness="0" Padding="0" />
</Border>
</WrapPanel>
<WrapPanel x:Name="wpBuyOrderId" 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>
Visibility="{Binding ElementName=txtTransitOrderNumStr,Path=Text,Converter={StaticResource NotHasTextVisibility}}"></TextBlock>
<uc:UcWaterMarkTextBox1 WaterMark="采购单号:" Text="{Binding ItemTransitOrderWithVoid.OutOrderNumStr}" Grid.Column="1" Grid.Row="1"
Padding="0" Margin="-2,2" VerticalAlignment="Top" x:Name="txtOutOrderNumStr" Background="Transparent"
Padding="0" Margin="-2,2" VerticalAlignment="Top" x:Name="txtTransitOrderNumStr" Background="Transparent"
IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Cursor="Hand" Foreground="#0099ff"/>
<Border Grid.Column="2" Margin="4,0,0,0" Width="12" Background="Transparent" Height="12" VerticalAlignment="Center" Cursor="Hand" Visibility="{Binding ElementName=txtOutOrderBuyerStr,Path=Text,Converter={StaticResource HasTextVisibility}}"
<Border Grid.Column="2" Margin="4,0,0,0" Width="12" Background="Transparent" Height="12" VerticalAlignment="Center" Cursor="Hand"
Visibility="{Binding ElementName=txtTransitOrderBuyerStr,Path=Text,Converter={StaticResource HasTextVisibility}}"
Tag="{Binding order_id}" MouseLeftButtonDown="Path_MouseLeftButtonDown">
<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>
@@ -314,27 +328,43 @@
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
</WrapPanel>
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="9" Visibility="{Binding ItemOrder.out_order_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:UcWaterMarkTextBox1 WaterMark="外采" Text="{Binding ItemOrder.out_order_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 Orientation="Horizontal" Grid.Column="1" Grid.Row="9" Visibility="{Binding ItemOrder.out_account, Converter={StaticResource HasTextVisibility}}">
<TextBox Text="外采买手:" Grid.Column="1" Grid.Row="1" Margin="-2,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 WaterMark="外采买手:" Text="{Binding ItemOrder.out_account}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top"
x:Name="txtDirectBuyer" Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Cursor="Hand" Foreground="#0099ff"/>
<Border x:Name="borderOutBuyerRefundStatus" Grid.Row="1" Margin="0,0,0,0" Background="{Binding DirectRefundStatusBackColor}" BorderBrush="{Binding DirectRefundStatusBackColor}"
BorderThickness="1" MinWidth="30" Height="auto" CornerRadius="2" HorizontalAlignment="Center"
Visibility="{Binding DirectRefundStatusStr,Converter={StaticResource HasTextVisibility}}">
<TextBox x:Name="txtOutBuyerRefundStatus" Grid.Column="1" Margin="0,0,0,0" Foreground="White" VerticalContentAlignment="Center" VerticalAlignment="Center"
Background="Transparent" IsReadOnly="True" MinWidth="20" Text="{Binding DirectRefundStatusStr}" BorderThickness="0" Padding="0" />
</Border>
</WrapPanel>
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="10" 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:UcWaterMarkTextBox1 WaterMark="物流" Text="{Binding ItemOrder.out_express_company}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="10" Visibility="{Binding ItemOrder.out_order_no, Converter={StaticResource HasTextVisibility}}">
<TextBox Text="外采单号:" Grid.Column="1" Grid.Row="1" Margin="-2,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 WaterMark="外采单号" Text="{Binding ItemOrder.out_order_no}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
x:Name="txtDirectBuyerOrderNo" Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Cursor="Hand" Foreground="#0099ff"/>
<Border Grid.Column="2" Margin="4,0,0,0" Width="12" Background="Transparent" Height="12" VerticalAlignment="Center" Cursor="Hand"
Visibility="{Binding ElementName=txtDirectBuyerOrderNo,Path=Text,Converter={StaticResource HasTextVisibility}}" MouseLeftButtonDown="PathCopyDirectBuyerOrderNo_MouseLeftButtonDown">
<Path Margin="0,0,0,0" Fill="{StaticResource PageLinkBrush}" MouseLeftButtonDown="PathCopyDirectBuyerOrderNo_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="11" Visibility="{Binding ItemOrder.OutExpressNoStr, Converter={StaticResource HasTextVisibility}}">
<TextBox Text="外采物流:" Grid.Column="1" Grid.Row="1" Margin="-2,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 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" Foreground="{Binding ItemOrder.OutExpressNoBrush}"/>
<uc:UcWaterMarkTextBox1 WaterMark="-" Text="-" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Foreground="{Binding ItemOrder.OutExpressNoBrush}"/>
<uc:UcWaterMarkTextBox1 WaterMark="外采物流" Text="{Binding ItemOrder.OutExpressNoStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" Foreground="{Binding ItemOrder.OutExpressNoBrush}"/>
</WrapPanel>
<WrapPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="12" Visibility="{Binding ReturnWaybillIdStr, Converter={StaticResource HasTextVisibility}}">
<TextBox Text="买家退货:" Grid.Column="1" Grid.Row="1" Margin="-2,2" VerticalAlignment="Top" Background="Transparent" IsReadOnly="True" BorderThickness="0"/>
<uc:UcWaterMarkTextBox1 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"/>
<uc:UcWaterMarkTextBox1 WaterMark="-" Text="-" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
<uc:UcWaterMarkTextBox1 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="11" Visibility="{Binding ReturnWaybillIdStr, 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:UcWaterMarkTextBox1 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"/>
<uc:UcWaterMarkTextBox1 WaterMark="-" Text="-" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
<uc:UcWaterMarkTextBox1 WaterMark="退货" Text="{Binding ReturnWaybillIdStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top"
<uc:UcWaterMarkTextBox1 WaterMark="买家退货" Text="{Binding ReturnWaybillIdStr}" Grid.Column="1" Grid.Row="1" Padding="0" Margin="-2,2,4,2" VerticalAlignment="Top"
Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap"/>
</WrapPanel>
<!--
@@ -433,13 +463,11 @@
</Button>
<Button Grid.Column="1" Grid.Row="2" x:Name="btnVoidTransitOrder" Click="btnVoidTransitOrder_Click"
Visibility="Collapsed" BorderBrush="{Binding BuyGoodsBtnColor}" Background="{Binding BuyGoodsBtnBackColor}" Foreground="{Binding BuyGoodsBtnColor}"
Content="作废重拍" Style="{StaticResource BasePageButtonLightStyle}" HorizontalAlignment="Center" MinWidth="38" Height="24" Margin="4,0,0,0">
Visibility="Collapsed" Content="作废重拍" Style="{StaticResource BasePageButtonLightStyle}" HorizontalAlignment="Center" MinWidth="38" Height="24" Margin="4,0,0,0">
</Button>
<Button Grid.Column="1" Grid.Row="2" x:Name="btnAbnormalOrderRebuy" Click="btnAbnormalOrderRebuy_Click"
Visibility="Collapsed" BorderBrush="{Binding BuyGoodsBtnColor}" Background="{Binding BuyGoodsBtnBackColor}" Foreground="{Binding BuyGoodsBtnColor}"
Content="异常重拍" Style="{StaticResource BasePageButtonLightStyle}" HorizontalAlignment="Center" MinWidth="38" Height="24" Margin="4,0,0,0">
Visibility="Collapsed" Content="异常重拍" Style="{StaticResource BasePageButtonLightStyle}" HorizontalAlignment="Center" MinWidth="38" Height="24" Margin="4,0,0,0">
</Button>
</WrapPanel>
@@ -47,8 +47,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
public OrderListRowItemCtrl()
{
InitializeComponent();
txtOutOrderBuyerStr.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtOutOrderNumStr_MouseLeftButtonUp), true);
txtOutOrderNumStr.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtOutOrderNumStr_MouseLeftButtonUp), true);
txtTransitOrderBuyerStr.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtTransitOrderNumStr_MouseLeftButtonUp), true);
txtTransitOrderNumStr.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtTransitOrderNumStr_MouseLeftButtonUp), true);
txtDirectBuyer.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtDirectOrderNumStr_MouseLeftButtonUp), true);
txtDirectBuyerOrderNo.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtDirectOrderNumStr_MouseLeftButtonUp), true);
txtRefundId.AddHandler(TextBox.MouseUpEvent, new MouseButtonEventHandler(txtRefundId_MouseLeftButtonUp), true);
txtWarehouseStatus.AddHandler(TextBox.MouseEnterEvent, new MouseEventHandler(txtWarehouseStatus_MouseEnter), true);
@@ -681,10 +683,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
return true;
}
private void txtOutOrderNumStr_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
private void txtTransitOrderNumStr_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var buyerName = txtOutOrderBuyerStr.Text.Split(':').LastOrDefault();
var outOrderId = txtOutOrderNumStr.Text.Split(':').LastOrDefault();
var buyerName = txtTransitOrderBuyerStr.Text.Split(':').LastOrDefault();
var outOrderId = txtTransitOrderNumStr.Text.Split(':').LastOrDefault();
if (string.IsNullOrEmpty(buyerName) || string.IsNullOrEmpty(outOrderId))
{
return;
@@ -700,7 +702,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var url = "";
if (buyer != null)
{
if (sender == txtOutOrderBuyerStr)
if (sender == txtTransitOrderBuyerStr)
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" +
@@ -741,13 +743,74 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
buyOrderForm.ShowDialog();
}
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.ConvertDateTimeLong(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 == "在线")
{
PddMobileLoginForm.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.BuyMap);
buyOrderForm.BuyType = "direct";
buyOrderForm.TitleText = "直发订单查看 - 当前买手 " + buyer.buyer_nick;
//所有订单页面
buyOrderForm.InitUrl = url;
buyOrderForm.pnlBuy.Visible = false;
//已有拍单关联的控制界面显示隐藏
if (orderItem.BuyMap != null)
{
buyOrderForm.pnlBuy.Visible = true;
buyOrderForm.pnlMap.Visible = false;
}
buyOrderForm.ShowDialog();
}
private void Path_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info orderItem)
{
try
{
Clipboard.SetText(orderItem.ItemTransitOrderWithVoid.out_order_no);
Clipboard.SetDataObject(orderItem.ItemTransitOrderWithVoid.out_order_no);
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -763,7 +826,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
try
{
Clipboard.SetText(order_item.ItemRefund.after_sale_order_id);
Clipboard.SetDataObject(order_item.ItemRefund.after_sale_order_id);
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -983,7 +1046,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
try
{
Clipboard.SetText(order_item.PddBuyerAfterSaleAddressStr);
Clipboard.SetDataObject(order_item.PddBuyerAfterSaleAddressStr);
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -999,7 +1062,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
try
{
Clipboard.SetText((order_item.ItemOrder?.AddressStr).ParseToString());
Clipboard.SetDataObject((order_item.ItemOrder?.AddressStr).ParseToString());
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
@@ -1063,7 +1126,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (orderItem == null)
return;
if (!orderItem.ItemOrder.out_order_no.IsNullOrEmpty() && orderItem.ItemOrder.out_after_sale_status != "out_after_sale_status")
if (!orderItem.ItemOrder.out_order_no.IsNullOrEmpty() && orderItem.ItemOrder.out_after_sale_status != "退款成功")
{
// 外采单已存在的,不可再拍单
BaseMsgWindow.ShowAnimateMessage("该订单已有直发采购记录", "Error", 5);
@@ -1150,5 +1213,42 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
return false;
}
private void PathCopyDirectBuyerOrderNo_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info order_item)
{
try
{
Clipboard.SetDataObject((order_item.ItemOrder?.out_order_no).ParseToString());
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
{
BaseMsgWindow.ShowError("复制失败 " + ex.Message);
}
}
}
private void pathCopyProdName_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
}
private void pathCopyRefundAddress_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info order_item)
{
try
{
Clipboard.SetDataObject(order_item.RefundAddressStr.ParseToString());
BaseMsgWindow.ShowAnimateMessage("复制成功");
}
catch (Exception ex)
{
BaseMsgWindow.ShowError("复制失败 " + ex.Message);
}
}
}
}
}
+1 -1
View File
@@ -32,7 +32,7 @@ namespace AllBase
/// 版本ID
/// </summary>
public static int VersionCount = 196;
public static int VersionCount = 203;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
+10
View File
@@ -678,6 +678,16 @@ namespace AllBase
string temp = GetMatchRegexString(html, @"<" + reg + ">([^']+?)</" + reg + ">");
return temp;
}
public static string GetStringXmlByRegs(ref string html, string defaultValue, params string[] regs)
{
foreach (var reg in regs)
{
string temp = GetMatchRegexString(html, @"<" + reg + ">([^']+?)</" + reg + ">");
if (temp != null)
return temp;
}
return defaultValue;
}
/// <summary>
+3 -3
View File
@@ -1148,7 +1148,7 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
public static string PostUtf8(string url, string postData, string contentType = "", int timeOut = -1)
{
//return PostUtf8(url, Encoding.UTF8.GetBytes(postData));
bool isError = false;
//bool isError = false;
string[] l = UserAgent.Split('\n');
try
{
@@ -1199,13 +1199,13 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
}
catch (Exception e)
{
LogSave.Add(url + "---------" + e.ToString());
//LogSave.Add(url + "---------" + e.ToString());
//if (!isError)
//{
// isError = true;
// goto reTry;
//}
return "{\"code\": 400,\"data\": []}";
return "{\"code\": 400,\"msg\":\"" + e.Message + "\"}";
}
}
/// <summary>
+9 -5
View File
@@ -4,6 +4,7 @@ using AllBase.Model.Config;
using AllBase.Model.DBModel;
using AllBase.Model.Division;
using AllBase.Model.Result;
using AllBase.Util;
using NaiBa.Util;
using System;
using System.Collections.Generic;
@@ -25,11 +26,11 @@ namespace AllBase.Helper
/// <summary>
/// 店铺列表
/// </summary>
public static ObservableCollection<ShopLoginInfo> ShopLoginList { get; set; } = new ObservableCollection<ShopLoginInfo>();
public static ObservableCollectionThreadSafe<ShopLoginInfo> ShopLoginList { get; set; } = new ObservableCollectionThreadSafe<ShopLoginInfo>();
/// <summary>
/// 拼多多买手列表
/// </summary>
public static ObservableCollection<BuyerLoginInfo> PDDBuyerLoginList { get; set; } = new ObservableCollection<BuyerLoginInfo>();
public static ObservableCollectionThreadSafe<BuyerLoginInfo> PDDBuyerLoginList { get; set; } = new ObservableCollectionThreadSafe<BuyerLoginInfo>();
/// <summary>
/// 当前拼多多买手
/// </summary>
@@ -37,11 +38,11 @@ namespace AllBase.Helper
/// <summary>
/// 订单列表
/// </summary>
public static ObservableCollection<oms_wei_order_info> lstOrder { get; set; } = new ObservableCollection<oms_wei_order_info>();
public static ObservableCollectionThreadSafe<oms_wei_order_info> lstOrder { get; set; } = new ObservableCollectionThreadSafe<oms_wei_order_info>();
/// <summary>
/// 过滤的订单列表
/// </summary>
public static ObservableCollection<oms_wei_order_info> lstFilterOrder { get; set; } = new ObservableCollection<oms_wei_order_info>();
public static ObservableCollectionThreadSafe<oms_wei_order_info> lstFilterOrder { get; set; } = new ObservableCollectionThreadSafe<oms_wei_order_info>();
/// <summary>
/// 当前标签头
/// </summary>
@@ -91,12 +92,15 @@ namespace AllBase.Helper
public static BuyConfig BuyConfig { get; set; }
#region 文本颜色
#region 文本颜色
public static SolidColorBrush BlackBrush = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
public static SolidColorBrush GreenBrush = new SolidColorBrush(Color.FromArgb(255, 19, 206, 102));
public static SolidColorBrush GreenBrush75 = new SolidColorBrush(Color.FromArgb(75, 19, 206, 102));
public static SolidColorBrush GreenBrush35 = new SolidColorBrush(Color.FromArgb(35, 19, 206, 102));
public static SolidColorBrush PurpleBrush = new SolidColorBrush(Color.FromArgb(255, 152, 99, 143));
public static SolidColorBrush PurpleBrush190 = new SolidColorBrush(Color.FromArgb(190, 152, 99, 143));
public static SolidColorBrush PurpleBrush100 = new SolidColorBrush(Color.FromArgb(100, 152, 99, 143));
public static SolidColorBrush PurpleBrush75 = new SolidColorBrush(Color.FromArgb(75, 152, 99, 143));
public static SolidColorBrush PurpleBrush50 = new SolidColorBrush(Color.FromArgb(50, 152, 99, 143));
+2 -1
View File
@@ -4,6 +4,7 @@
* 2015-3-13
*/
using NaiBa.Util;
using System;
using System.Collections.Generic;
using System.IO;
@@ -27,7 +28,7 @@ namespace AllBase
/// <summary>
/// 日志队列
/// </summary>
private static List<string> Logs = new List<string>();
private static ConcurrentList<string> Logs = new ConcurrentList<string>();
/// <summary>
/// 准备写入文件
+84 -41
View File
@@ -51,21 +51,26 @@ namespace AllBase.Model.DBModel
{
get
{
if (order_id == "3738070866253717760")
{
}
if (status != 20 && status != 21) return false;
if (orderItems.All(oi => oi.ItemTransitOrder != null)) return false;
if (purchase_status != 0) return false;
if (gift_order_status == 1 || gift_order_status == 2) return false;
if (!string.IsNullOrEmpty(out_order_no))
{
//var oi = orderItems.FirstOrDefault(o => o.ItemTransitOrders.Any(t => t.out_order_no == out_order_no && t.order_void_status == 1));
//if (oi == null && out_after_sale_status != "退款成功")
// return false;
if (out_after_sale_status != "退款成功")
return false;
}
if (status != 20 && status != 21)
return false;
if (refundItems?.Any(r => r.IsRefund) == true)
return false;
// 子表有售后信息(可能更新不及时)
if (orderItems?.Any(oi => oi.refund_status > 1) == true)
return false;
// 中转仓有拍单信息
if (orderItems.All(oi => oi.ItemTransitOrder != null))
return false;
// 采购状态为已采购
if (purchase_status != 0)
return false;
// 礼物单已发货
if (gift_order_status == 1 || gift_order_status == 2)
return false;
// 直发订单未退款
// out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉
if (!string.IsNullOrEmpty(out_order_no) && out_after_sale_status != "退款成功")
return false;
return true;
}
set { }
@@ -83,18 +88,19 @@ namespace AllBase.Model.DBModel
}
if (status != 20 && status != 21) return false;
if (purchase_status != 1 && !orderItems.All(oi => oi.ItemTransitOrder != null) && string.IsNullOrEmpty(out_order_no)) return false;
if (status != 20 && status != 21)
return false;
if (refundItems?.Any(r => r.IsRefund) == true)
return false;
if (orderItems?.Any(oi => oi.refund_status > 1) == true)
return false;
// 礼物单已发货
if (gift_order_status == 1 || gift_order_status == 2) return false;
if (!string.IsNullOrEmpty(out_order_no))
{
//var oi = orderItems.FirstOrDefault(o => o.ItemTransitOrders.Any(t => t.out_order_no == out_order_no && t.order_void_status == 1));
//if (oi != null || out_after_sale_status == "退款成功")
// return false;
if (out_after_sale_status == "退款成功")
return false;
}
if (gift_order_status == 1 || gift_order_status == 2)
return false;
// 店铺未发货,外采已采购
// out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉
if (!orderItems.All(oi => oi.ItemTransitOrder != null) && purchase_status != 1 && (string.IsNullOrEmpty(out_order_no) || out_after_sale_status == "退款成功"))
return false;
return true;
}
set { }
@@ -104,16 +110,32 @@ namespace AllBase.Model.DBModel
/// </summary>
public bool IsWaitReceive
{
get { return (status == 30 || status == 100 || gift_order_status == 1 || gift_order_status == 2) && orderItems?.Any(oi => oi.refund_status > 1) != true; }
get
{
if (refundItems?.Any(r => r.IsRefund) == true)
return false;
if (orderItems?.Any(oi => oi.refund_status > 1) == true)
return false;
if (!(status == 30 || status == 100 || gift_order_status == 1 || gift_order_status == 2))
return false;
return true;
}
set { }
}
/// <summary>
/// 售后订单(不含售后关闭) -- 改为售后完成订单 260726
/// 售后订单(不含售后关闭) -- 改为售后完成单 260726
/// </summary>
public bool IsRefund
{
//get { return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); }
get { return orderItems.Any(oi => oi.refund_status > 1) && !IsEmergency; }
get
{
if (!orderItems.Any(oi => oi.refund_status > 1))
return false;
if (IsEmergency)
return false;
return true;
}
set { }
}
public bool IsRefundWithCancel
@@ -128,16 +150,20 @@ namespace AllBase.Model.DBModel
{
get
{
if (this.order_id == "3737832436815518208")
if (this.order_id == "3737858759084367872")
{
}
if (orderItems.Any(oi => oi.refund_status == 2 || oi.refund_status == 3 || (oi.ItemTransitOrders.Count > 0 &&
oi.ItemTransitOrders.Any(t => !string.IsNullOrEmpty(t.refund_status) &&
!t.refund_status.Contains("需手动申请售后") &&
!t.refund_status.Contains("退款成功") &&
!t.refund_status.Contains("关闭") &&
!t.refund_status.Contains("撤销")))))
// 微信订单退货中
if (orderItems.Any(oi => oi.refund_status == 2 || oi.refund_status == 3))
{
return true;
}
// 微信订单退款中或退款成功,但是买手订单未完成退款
if (orderItems.Any(oi => oi.refund_status > 1 && oi.ItemTransitOrders.Count > 0 && oi.ItemTransitOrders.Any(t => !t.refund_status.Contains("退款成功"))))
{
return true;
}
if (orderItems.Any(oi => oi.refund_status > 1) && !out_order_no.IsNullOrEmpty() && this.out_after_sale_status != "退款成功")
{
return true;
}
@@ -152,7 +178,7 @@ namespace AllBase.Model.DBModel
{
get
{
if (order_id == "3737821766770121728")
if (order_id == "3738000949931831296")
{
}
@@ -239,7 +265,6 @@ namespace AllBase.Model.DBModel
set { }
}
/// <summary>
/// 订单总状态文本
/// </summary>
@@ -252,7 +277,7 @@ namespace AllBase.Model.DBModel
else if (this.refundItems.Any(r => r.RefundStatusStr == "退款完成" || r.RefundStatusStr == "退货退款完成"))
return "退款完成";
// 用户取消申请
else if ((GlobalConfig.OrderTabHeaderStr.StartsWith("售后完成订单") || GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后订单")) &&
else if ((GlobalConfig.OrderTabHeaderStr.StartsWith("售后完成单") || GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单")) &&
this.refundItems.Any(r => !r.RefundStatusStr.IsNullOrEmpty()))
return this.refundItems.FirstOrDefault(r => !r.RefundStatusStr.IsNullOrEmpty()).RefundStatusStr;
if (this.status == 20 || this.status == 21)
@@ -338,6 +363,19 @@ namespace AllBase.Model.DBModel
set { this.SetValue(x => x.AddressStr, value); }
}
public string OutExpressNoStr
{
get { return this.out_express_no + (this.out_shipped != 2 ? "" : " ×"); }
set { }
}
public SolidColorBrush OutExpressNoBrush
{
get
{
return OutExpressNoStr.EndsWith(" ×") ? GlobalConfig.RedTextBrush : GlobalConfig.BlackBrush;
}
}
/// <summary>
/// 是否被选中
/// </summary>
@@ -633,7 +671,12 @@ namespace AllBase.Model.DBModel
{
}
if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发"))
if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发") && this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null))
{
OrderBuyType = "云改直";
OrderBuyTypeColor = GlobalConfig.PurpleBrush190;
}
else if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发"))
{
OrderBuyType = "直发";
OrderBuyTypeColor = GlobalConfig.RedTextBrush205;
@@ -105,6 +105,11 @@ namespace AllBase.Model.DBModel
get { return this.GetValue(x => x.ItemRefund); }
set { this.SetValue(x => x.ItemRefund, value); }
}
public string RefundAddressStr
{
get { return this.GetValue(x => x.RefundAddressStr); }
set { this.SetValue(x => x.RefundAddressStr, value); }
}
public void SetItemRefund()
{
if (ItemOrder?.refundItems?.Count == 1)
@@ -121,8 +126,14 @@ namespace AllBase.Model.DBModel
this.RefundDatetime = ItemRefund?.create_time == null ? DateTime.MinValue : BaseClass.StampToDateTime((ItemRefund?.create_time).ParseToInt());
if (ItemOrder != null)
ItemOrder.RefundDatetime = this.RefundDatetime;
this.RefundDateTimeStr = RefundDatetime.ToString("yyyy-MM-dd HH:mm:ss");
this.RefundTimeVisibility = RefundDatetime == DateTime.MinValue ? Visibility.Collapsed : Visibility.Visible;
RefundAddressStr = "";
if (ItemRefund != null)
RefundAddressStr = ItemRefund.return_user_name + " " + ItemRefund.return_tel + " " +
ItemRefund.return_province + ItemRefund.return_city + ItemRefund.return_county + ItemRefund.return_detail;
}
/// <summary>
/// 退款状态文本
@@ -249,7 +260,7 @@ namespace AllBase.Model.DBModel
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal))
AddEditTransitWarehouseAfterSaleStr = "";
else
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "查看";
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "已添加";
if (this.ItemTransitOrderAfterSale != null)
TransitWarehouseAfterSaleWayBillStr = (this.ItemTransitOrderAfterSale?.downstream_express_code + "-" + this.ItemTransitOrderAfterSale?.downstream_waybill).Trim('-');
@@ -458,13 +469,14 @@ namespace AllBase.Model.DBModel
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
var warehouseWaybillStatusStr = WarehouseWaybillStatusStr.ParseToString();
//if (warehouseWaybillStatusStr.StartsWith("中转已作废"))
// return PurpleBrush;
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
if (warehouseWaybillStatusStr.StartsWith("中转已出库"))
return GlobalConfig.GreenBrush;
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
if (warehouseWaybillStatusStr.StartsWith("中转已入库") || warehouseWaybillStatusStr.StartsWith("中转已取号") || warehouseWaybillStatusStr.StartsWith("中转提前取号"))
return GlobalConfig.YellowBrush;
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
if (warehouseWaybillStatusStr.StartsWith("中转待取号"))
return GlobalConfig.RedBrush;
return GlobalConfig.RedBrush;
}
@@ -478,13 +490,14 @@ namespace AllBase.Model.DBModel
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
string warehouseWaybillStatusStr = this.WarehouseWaybillStatusStr.ParseToString();
//if (warehouseWaybillStatusStr.StartsWith("中转已作废"))
// return PurpleBrush75;
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
if (warehouseWaybillStatusStr.StartsWith("中转已出库"))
return GlobalConfig.GreenBrush75;
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
if (warehouseWaybillStatusStr.StartsWith("中转已入库") || warehouseWaybillStatusStr.StartsWith("中转已取号") || warehouseWaybillStatusStr.StartsWith("中转提前取号"))
return GlobalConfig.YellowBrush75;
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
if (warehouseWaybillStatusStr.StartsWith("中转待取号"))
return GlobalConfig.RedBrush75;
return GlobalConfig.RedBrush75;
}
@@ -494,13 +507,14 @@ namespace AllBase.Model.DBModel
{
get
{
//if (WarehouseWaybillStatusStr.StartsWith("中转已作废"))
string warehouseWaybillStatusStr = this.WarehouseWaybillStatusStr.ParseToString();
//if (warehouseWaybillStatusStr.StartsWith("中转已作废"))
// return PurpleBrush35
if (WarehouseWaybillStatusStr.StartsWith("中转已出库"))
if (warehouseWaybillStatusStr.ParseToString().StartsWith("中转已出库"))
return GlobalConfig.GreenBrush35;
if (WarehouseWaybillStatusStr.StartsWith("中转已入库") || WarehouseWaybillStatusStr.StartsWith("中转已取号") || WarehouseWaybillStatusStr.StartsWith("中转提前取号"))
if (warehouseWaybillStatusStr.ParseToString().StartsWith("中转已入库") || warehouseWaybillStatusStr.StartsWith("中转已取号") || warehouseWaybillStatusStr.StartsWith("中转提前取号"))
return GlobalConfig.YellowBrush35;
if (WarehouseWaybillStatusStr.StartsWith("中转待取号"))
if (warehouseWaybillStatusStr.ParseToString().StartsWith("中转待取号"))
return GlobalConfig.RedBrush35;
return GlobalConfig.RedBrush35;
}
@@ -626,7 +640,7 @@ namespace AllBase.Model.DBModel
if (ItemOrder?.status == 100)
return "订单完成";
if (ItemOrder?.status == 200)
return "售后完成订单取消";
return "售后完成单取消";
if (ItemOrder?.status == 250)
return "未付款已取消";
return "未知状态";
@@ -680,6 +694,55 @@ namespace AllBase.Model.DBModel
}
public List<order_pdd_buyer_after_sale> DirectPddOrders { get; set; } = new List<order_pdd_buyer_after_sale>();
public order_pdd_buyer_after_sale DirectPddOrder
{
get { return this.GetValue(x => x.DirectPddOrder); }
set { this.SetValue(x => x.DirectPddOrder, value); }
}
public List<order_pdd_buyer_after_sale> DirectPddBuyerAfterSales { get; set; } = new List<order_pdd_buyer_after_sale>();
public order_pdd_buyer_after_sale DirectPddBuyerAfterSale
{
get { return this.GetValue(x => x.DirectPddBuyerAfterSale); }
set { this.SetValue(x => x.DirectPddBuyerAfterSale, value); }
}
public string DirectRefundStatusStr
{
get { return this.GetValue(x => x.DirectRefundStatusStr); }
set { this.SetValue(x => x.DirectRefundStatusStr, value); }
}
/// <summary>
/// 直发买手售后字段文字显示背景颜色
/// </summary>
public SolidColorBrush DirectRefundStatusBackColor
{
get { return this.GetValue(x => x.DirectRefundStatusBackColor); }
set { this.SetValue(x => x.DirectRefundStatusBackColor, value); }
}
public void SetDirectOrder()
{
this.DirectPddOrder = DirectPddOrders.FirstOrDefault(p => OrderItemExt?.out_order_id == p.orderSn);
//this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText == "退款成功") ?? DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText != "申请已撤销");
//if (DirectPddBuyerAfterSale == null)
// DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault();
this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales.FirstOrDefault(p => OrderItemExt?.out_order_id == p.orderSn);
// 服务端这个值不会在拍新单后覆盖,在此处使用扩展订单绑定的买手单信息修改掉,后续在拍单的时候覆盖掉
if (!this.ItemOrder.out_after_sale_status.ParseToString().Contains("需手动申请售后"))
this.ItemOrder.out_after_sale_status = DirectPddBuyerAfterSale?.statusText;
DirectRefundStatusStr = (this.DirectPddBuyerAfterSale?.statusText).ParseToString();
if (DirectRefundStatusStr.Contains("退款成功"))
DirectRefundStatusStr += "(¥" + DirectPddBuyerAfterSale.refundAmount * 0.01m + ")";
DirectRefundStatusBackColor = GlobalConfig.RedBrush;
if (DirectRefundStatusStr.ParseToString().Contains("退款成功"))
DirectRefundStatusBackColor = GlobalConfig.GreenBrush;
else if (DirectRefundStatusStr.ParseToString().Contains("需手动申请售后"))
DirectRefundStatusBackColor = GlobalConfig.RedBrush;
}
/// <summary>
/// 订单中所有商品加起来的总售价文本
/// </summary>
@@ -1075,6 +1138,7 @@ namespace AllBase.Model.DBModel
this.SetTransitOrder();
this.SetItemRefund();
this.SetDirectOrder();
this.SetBuyerTransitWaybillStatusStr();
this.SetWarehouseWaybillStatusStr();
@@ -1087,7 +1151,16 @@ namespace AllBase.Model.DBModel
{
var order_item = this;
order_item.Shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == order_item.shop_id.ParseToString());
if (GlobalConfig.lstDangerItemWord.Any(d => order_item.title.Contains(d)))
order_item.IsBuyGoodsBtnEnabled = false;
if (order_item.BuyMap == null)
{
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnTxt = "关联拍单";
order_item.BuyGoodsBtnBackColor = GlobalConfig.PurpleBrush100;
order_item.BuyGoodsBtnColor = GlobalConfig.PurpleBrush;
}
else if (GlobalConfig.lstDangerItemWord.Any(d => order_item.title.Contains(d)))
{
order_item.IsBuyGoodsBtnEnabled = false;
order_item.BuyGoodsBtnBackColor = GlobalConfig.RedTextBrush50;
@@ -1097,7 +1170,6 @@ namespace AllBase.Model.DBModel
else if (Shop == null || (Shop?.LoginStatus != "登录成功" /*&& Shop?.Is29Supplier == null*/))
{
order_item.IsBuyGoodsBtnEnabled = false;
//order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = GlobalConfig.RedTextBrush50;
order_item.BuyGoodsBtnColor = GlobalConfig.RedTextBrush;
order_item.BuyGoodsBtnTxt = "请登录店铺";
@@ -1111,7 +1183,6 @@ namespace AllBase.Model.DBModel
}
else if (Shop?.Is29Supplier == false)
{
//order_item.IsBuyGoodsBtnEnabled = false;
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = GlobalConfig.RedTextBrush50;
order_item.BuyGoodsBtnColor = GlobalConfig.RedTextBrush;
@@ -1120,13 +1191,8 @@ namespace AllBase.Model.DBModel
else
{
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnTxt = order_item.BuyMap == null ? "关联拍单" : "云仓拍单";
if (order_item.BuyMap == null)
{
order_item.BuyGoodsBtnBackColor = GlobalConfig.PurpleBrush100;
}
else
order_item.BuyGoodsBtnBackColor = GlobalConfig.PurpleBrush35;
order_item.BuyGoodsBtnTxt = "云仓拍单";
order_item.BuyGoodsBtnBackColor = GlobalConfig.PurpleBrush35;
order_item.BuyGoodsBtnColor = GlobalConfig.PurpleBrush;
}
}
+51 -26
View File
@@ -1,4 +1,5 @@
using System;
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -7,33 +8,17 @@ using System.Windows.Media;
namespace AllBase.Model.DBModel
{
public class oms_wei_refund_info
public class oms_wei_refund_info : PropertyNotifyObject
{
public string RefundStatusStr
{
get
{
if (status == "USER_CANCELD") return "用户取消申请";
if (status == "MERCHANT_PROCESSING") return "商家受理中";
if (status == "MERCHANT_REJECT_REFUND") return "商家拒绝退款";
if (status == "MERCHANT_REJECT_RETURN") return "商家拒绝退货退款";
if (status == "USER_WAIT_RETURN") return "待买家退货";
if (status == "RETURN_CLOSED") return "退货退款关闭";
if (status == "MERCHANT_WAIT_RECEIPT") return "待商家收货";
if (status == "MERCHANT_OVERDUE_REFUND") return "商家逾期未退款";
if (status == "MERCHANT_REFUND_SUCCESS") return "退款完成";
if (status == "MERCHANT_RETURN_SUCCESS") return "退货退款完成";
if (status == "PLATFORM_REFUNDING") return "平台退款中";
if (status == "PLATFORM_REFUND_FAIL") return "平台退款失败";
if (status == "USER_WAIT_CONFIRM") return "待用户确认";
if (status == "MERCHANT_REFUND_RETRY_FAIL") return "商家打款失败,客服关闭售后";
if (status == "MERCHANT_FAIL") return "售后关闭";
if (status == "USER_WAIT_CONFIRM_UPDATE") return "待用户处理商家协商";
if (status == "USER_WAIT_HANDLE_MERCHANT_AFTER_SALE") return "待用户处理商家代发起的售后申请";
if (status == "WAIT_PACKAGE_INTERCEPT") return "物流拦截中";
return "售后状态读取失败";
}
set { }
get { return this.GetValue(x => x.status); }
set { this.SetValue(x => x.status, value); }
}
public bool IsRefund
{
get { return this.GetValue(x => x.IsRefund); }
set { this.SetValue(x => x.IsRefund, value); }
}
/// <summary>
/// 退款状态颜色
@@ -90,7 +75,39 @@ namespace AllBase.Model.DBModel
/// USER_WAIT_HANDLE_MERCHANT_AFTER_SALE 待用户处理商家代发起的售后申请
/// WAIT_PACKAGE_INTERCEPT 物流拦截中;
/// </summary>
public string status { get; set; }
public string status
{
get { return this.GetValue(x => x.status); }
set
{
this.SetValue(x => x.status, value);
this.RefundStatusStr = "售后状态读取失败";
if (value == "USER_CANCELD") this.RefundStatusStr = "用户取消申请";
else if (value == "MERCHANT_PROCESSING") this.RefundStatusStr = "商家受理中";
else if (value == "MERCHANT_REJECT_REFUND") this.RefundStatusStr = "商家拒绝退款";
else if (value == "MERCHANT_REJECT_RETURN") this.RefundStatusStr = "商家拒绝退货退款";
else if (value == "USER_WAIT_RETURN") this.RefundStatusStr = "待买家退货";
else if (value == "RETURN_CLOSED") this.RefundStatusStr = "退货退款关闭";
else if (value == "MERCHANT_WAIT_RECEIPT") this.RefundStatusStr = "待商家收货";
else if (value == "MERCHANT_OVERDUE_REFUND") this.RefundStatusStr = "商家逾期未退款";
else if (value == "MERCHANT_REFUND_SUCCESS") this.RefundStatusStr = "退款完成";
else if (value == "MERCHANT_RETURN_SUCCESS") this.RefundStatusStr = "退货退款完成";
else if (value == "PLATFORM_REFUNDING") this.RefundStatusStr = "平台退款中";
else if (value == "PLATFORM_REFUND_FAIL") this.RefundStatusStr = "平台退款失败";
else if (value == "USER_WAIT_CONFIRM") this.RefundStatusStr = "待用户确认";
else if (value == "MERCHANT_REFUND_RETRY_FAIL") this.RefundStatusStr = "商家打款失败,客服关闭售后";
else if (value == "MERCHANT_FAIL") this.RefundStatusStr = "售后关闭";
else if (value == "USER_WAIT_CONFIRM_UPDATE") this.RefundStatusStr = "待用户处理商家协商";
else if (value == "USER_WAIT_HANDLE_MERCHANT_AFTER_SALE") this.RefundStatusStr = "待用户处理商家代发起的售后申请";
else if (value == "WAIT_PACKAGE_INTERCEPT") this.RefundStatusStr = "物流拦截中";
List<string> refundStrLst = new List<string>() { "商家受理中", "待买家退货", "待商家收货", "商家逾期未退款", "退款完成", "退货退款完成", "平台退款中", "待用户确认",
"待用户处理商家协商", "待用户处理商家代发起的售后申请", "物流拦截中"};
if (refundStrLst.Contains(this.RefundStatusStr) || RefundStatusStr == "售后状态读取失败")
this.IsRefund = true;
}
}
/// <summary>
/// 买家身份标识
/// </summary>
@@ -199,5 +216,13 @@ namespace AllBase.Model.DBModel
/// 仓库受理状态
/// </summary>
public int? warehouse_status { get; set; }
public string return_user_name { get; set; }
public string return_province { get; set; }
public string return_city { get; set; }
public string return_county { get; set; }
public string return_detail { get; set; }
public string return_tel { get; set; }
}
}
@@ -11,6 +11,10 @@ namespace AllBase.Model.DBModel
public long? id { get; set; }
public string wx_order_id { get; set; }
public string wx_sku_id { get; set; }
/// <summary>
/// 买手订单在微信店铺的发货类型 0中转仓发货 1直发
/// </summary>
public int wx_send_type { get; set; }
public DateTime TransitCreateTime { get; set; }
//public DateTime TransitPickupTime { get; set; }
public int? pre_allocated_order_no { get; set; }
@@ -11,6 +11,10 @@ namespace AllBase.Model.DBModel
public long? id { get; set; }
public string wx_order_id { get; set; }
public string wx_sku_id { get; set; }
/// <summary>
/// 买手订单在微信店铺的发货类型 0中转仓发货 1直发
/// </summary>
public int wx_send_type { get; set; }
public DateTime TransitCreateTime { get; set; }
//public DateTime TransitPickupTime { get; set; }
public int? pre_allocated_order_no { get; set; }
@@ -11,6 +11,16 @@ namespace AllBase.Model.Result
{
public class PddBuyerAfterSaleLiteInfo : PropertyNotifyObject
{
public string WxSendTypeStr
{
get { return this.GetValue(x => x.WxSendTypeStr); }
set { this.SetValue(x => x.WxSendTypeStr, value); }
}
public string ShopIdStr
{
get { return this.GetValue(x => x.ShopOrderIdStr); }
set { this.SetValue(x => x.ShopOrderIdStr, value); }
}
public string ShopOrderIdStr
{
get { return this.GetValue(x => x.ShopOrderIdStr); }
@@ -223,11 +233,13 @@ namespace AllBase.Model.Result
}
public string AfterSaleStatusStr
{
get
{
return listItemStatusVO.statusText;
}
set { }
get { return this.GetValue(x => x.AfterSaleStatusStr); }
set { this.SetValue(x => x.AfterSaleStatusStr, value); }
}
public string AfterSaleStatusOldStr
{
get { return this.GetValue(x => x.AfterSaleStatusOldStr); }
set { this.SetValue(x => x.AfterSaleStatusOldStr, value); }
}
public string sendStatus { get; set; } = "";
@@ -251,7 +263,11 @@ namespace AllBase.Model.Result
public ListItemExtraVO listItemExtraVO { get; set; }
public ListItemMallVO listItemMallVO { get; set; }
public ListItemStatusVO listItemStatusVO { get; set; }
public ListItemStatusVO listItemStatusVO
{
get { return this.GetValue(x => x.listItemStatusVO); }
set { this.SetValue(x => x.listItemStatusVO, value); AfterSaleStatusStr = (value?.statusText).ParseToString(); }
}
public ListItemGoodsVO listItemGoodsVO { get; set; }
public ListItemAmountVO listItemAmountVO { get; set; }
}
@@ -280,9 +296,13 @@ namespace AllBase.Model.Result
}
public class ListItemStatusVO
public class ListItemStatusVO : PropertyNotifyObject
{
public string statusText { get; set; } // "退款成功"
public string statusText
{
get { return this.GetValue(x => x.statusText); }
set { this.SetValue(x => x.statusText, value); }
} // "退款成功"
}
+15 -4
View File
@@ -96,12 +96,17 @@ namespace AllBase.Model.Result
}
/// <summary>
/// 是否直发
/// 发货类型 直发/中转
/// </summary>
public string IsDirectStr
public string WxSendTypeStr
{
get { return this.GetValue(x => x.IsDirectStr); }
set { this.SetValue(x => x.IsDirectStr, value); }
get { return this.GetValue(x => x.WxSendTypeStr); }
set { this.SetValue(x => x.WxSendTypeStr, value); }
}
public string ShopIdStr
{
get { return this.GetValue(x => x.ShopIdStr); }
set { this.SetValue(x => x.ShopIdStr, value); }
}
public string ShopOrderIdStr
{
@@ -349,6 +354,12 @@ namespace AllBase.Model.Result
set { }
}
public string OutAfterSaleStatusStr
{
get { return this.GetValue(x => x.OutAfterSaleStatusStr); }
set { this.SetValue(x => x.OutAfterSaleStatusStr, value); }
}
/// <summary>
/// 物流公司名称,可以尝试直接从列表中匹配
/// </summary>
+5
View File
@@ -80,7 +80,12 @@ namespace Work._29Tools.BLL
public static List<ShopLoginInfo> AdminGetServerShopLstByIds(List<string> shop_ids)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
if (shop_ids == null)
return list;
shop_ids = shop_ids.Where(s => !string.IsNullOrEmpty(s)).ToList();
if (shop_ids.Count == 0)
return list;
var url = BaseClass.Build29WxObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
+33 -22
View File
@@ -1098,7 +1098,7 @@ namespace TemuKJD.ToolForms
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError("异常订单重拍保存失败");
BaseMsgForm.ShowError("异常单重拍保存失败");
btnManualUpdateBuyOrder.Enabled = true;
return;
}
@@ -1137,11 +1137,11 @@ namespace TemuKJD.ToolForms
data += "&wx_order_id_in=" + orderItem.order_id;
data += "&wx_sku_id_in=" + orderItem.sku_id;
var html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
BaseMsgForm.ShowError("直发拍单信息保存失败 " + BaseRegex.GetStringJson(ref html, "msg"));
BaseMsgForm.ShowError("直发拍单信息保存失败(01) " + BaseRegex.GetStringJson(ref html, "msg"));
return;
}
var existOrderExtList = JsonHelper.DeserializeJsonToList<order_item_ext>(JsonHelper.JObjectParse(html)["data"].ParseToString());
@@ -1167,7 +1167,21 @@ namespace TemuKJD.ToolForms
var html1 = GetHtml.PostUtf8(url1, data1);
if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200"))
{
BaseMsgForm.ShowError("直发拍单信息保存失败 " + BaseRegex.GetStringJson(ref html, "msg"));
BaseMsgForm.ShowError("直发拍单信息保存失败(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"))
{
BaseMsgForm.ShowError("直发拍单信息保存失败(03) " + BaseRegex.GetStringJson(ref html2, "msg"));
return;
}
@@ -1193,28 +1207,12 @@ namespace TemuKJD.ToolForms
if (code == "0" || code == "1")
{
//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("other_buyer_order_list", lstOtherBuyerOrderInfoLite);
// 利润计算重置为最小值,控件Resource更新时将计算利润
orderItem.ProfitCount = decimal.MinValue;
var order = orderItem?.ItemOrder;
if (filterOrderAction != null && order != null)
{
orderItem.OrderItemExt = orderExt;
order.out_account = buyer.buyer_id;
order.out_express_company = "OTHER";
order.out_order_no = txtBuyOrderId.Text.Trim();
@@ -1293,6 +1291,19 @@ namespace TemuKJD.ToolForms
var txt = txtDirectAddress.Text.Trim();
txt = txt.Replace("\r", "").Replace("\n", "");
if (txt.Contains("拨打请输入分机号"))
{
Match extensionNumberMatch = Regex.Match(txt, @"拨打请输入分机号\d{4}");
if (extensionNumberMatch.Success)
{
var extensionNumber = extensionNumberMatch.Value.Replace("拨打请输入分机号", "");
txt = txt.Replace("-" + extensionNumber, "");
txt = txt.Replace("(", "(");
txt = txt.Replace(")", ")");
txt = txt.Replace("(拨打请输入分机号" + extensionNumber + ")", "");
}
}
// 定义座机号的正则表达式
string landlinePattern = @"\d{3}-\d{8}|\d{4}-\d{7}";
+29 -29
View File
@@ -84,6 +84,7 @@
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.txtAddress = new System.Windows.Forms.TextBox();
this.panel1 = new System.Windows.Forms.Panel();
this.pnlMap = new System.Windows.Forms.Panel();
this.pnlDirectAddressAnalysis = new System.Windows.Forms.Panel();
this.btnAnalysis = new DevComponents.DotNetBar.PanelEx();
this.label25 = new System.Windows.Forms.Label();
@@ -100,7 +101,6 @@
this.lblBuyAddress = new System.Windows.Forms.Label();
this.txtBuyTransitWarehouse = new System.Windows.Forms.TextBox();
this.label29 = new System.Windows.Forms.Label();
this.pnlMap = new System.Windows.Forms.Panel();
this.chkAutoChangeWarehouseAddress = new Work.UserComponents.UcCheckBox(this.components);
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pbCloseBase)).BeginInit();
@@ -113,9 +113,9 @@
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.panel1.SuspendLayout();
this.pnlMap.SuspendLayout();
this.pnlDirectAddressAnalysis.SuspendLayout();
this.pnlBuy.SuspendLayout();
this.pnlMap.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
@@ -747,7 +747,6 @@
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.Controls.Add(this.pnlMap);
this.panel1.Controls.Add(this.pnlDirectAddressAnalysis);
this.panel1.Controls.Add(this.chkUseAppBalance);
this.panel1.Controls.Add(this.txtShopName);
@@ -774,11 +773,36 @@
this.panel1.Controls.Add(this.txtUpSpuCode);
this.panel1.Controls.Add(this.txtUpSkuCode);
this.panel1.Controls.Add(this.label12);
this.panel1.Controls.Add(this.pnlMap);
this.panel1.Location = new System.Drawing.Point(867, 3);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(487, 730);
this.panel1.TabIndex = 0;
//
// pnlMap
//
this.pnlMap.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pnlMap.Controls.Add(this.txtSendProvince);
this.pnlMap.Controls.Add(this.label13);
this.pnlMap.Controls.Add(this.label20);
this.pnlMap.Controls.Add(this.label1);
this.pnlMap.Controls.Add(this.txtMapGoodsName);
this.pnlMap.Controls.Add(this.btnManualUpdateSendProvince);
this.pnlMap.Controls.Add(this.label2);
this.pnlMap.Controls.Add(this.label3);
this.pnlMap.Controls.Add(this.txtMapSkuId);
this.pnlMap.Controls.Add(this.label4);
this.pnlMap.Controls.Add(this.label5);
this.pnlMap.Controls.Add(this.btnManualUpdateTransitWarehouse);
this.pnlMap.Controls.Add(this.cmbTransitWarehouse);
this.pnlMap.Controls.Add(this.txtMapGoodsId);
this.pnlMap.Controls.Add(this.txtMapSkuName);
this.pnlMap.Location = new System.Drawing.Point(12, 525);
this.pnlMap.Name = "pnlMap";
this.pnlMap.Size = new System.Drawing.Size(468, 203);
this.pnlMap.TabIndex = 871;
//
// pnlDirectAddressAnalysis
//
this.pnlDirectAddressAnalysis.Controls.Add(this.btnAnalysis);
@@ -993,30 +1017,6 @@
this.label29.TabIndex = 892;
this.label29.Text = "如自动识别失败,请填写后点击手动确认拍单";
//
// pnlMap
//
this.pnlMap.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pnlMap.Controls.Add(this.txtSendProvince);
this.pnlMap.Controls.Add(this.label13);
this.pnlMap.Controls.Add(this.label20);
this.pnlMap.Controls.Add(this.label1);
this.pnlMap.Controls.Add(this.txtMapGoodsName);
this.pnlMap.Controls.Add(this.btnManualUpdateSendProvince);
this.pnlMap.Controls.Add(this.label2);
this.pnlMap.Controls.Add(this.label3);
this.pnlMap.Controls.Add(this.txtMapSkuId);
this.pnlMap.Controls.Add(this.label4);
this.pnlMap.Controls.Add(this.label5);
this.pnlMap.Controls.Add(this.btnManualUpdateTransitWarehouse);
this.pnlMap.Controls.Add(this.cmbTransitWarehouse);
this.pnlMap.Controls.Add(this.txtMapGoodsId);
this.pnlMap.Controls.Add(this.txtMapSkuName);
this.pnlMap.Location = new System.Drawing.Point(12, 525);
this.pnlMap.Name = "pnlMap";
this.pnlMap.Size = new System.Drawing.Size(468, 203);
this.pnlMap.TabIndex = 871;
//
// chkAutoChangeWarehouseAddress
//
this.chkAutoChangeWarehouseAddress.AutoSize = true;
@@ -1068,12 +1068,12 @@
this.splitContainer2.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.pnlMap.ResumeLayout(false);
this.pnlMap.PerformLayout();
this.pnlDirectAddressAnalysis.ResumeLayout(false);
this.pnlDirectAddressAnalysis.PerformLayout();
this.pnlBuy.ResumeLayout(false);
this.pnlBuy.PerformLayout();
this.pnlMap.ResumeLayout(false);
this.pnlMap.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);