This commit is contained in:
chfei committed 2026-10-26 14:50:23 +08:00
commit 39cf75fcbb
17 files changed
+722 -38

No files matched your search

@@ -364,6 +364,7 @@
RowHeaderWidth="0"
RowHeight="50"
SelectionChanged="dgBuyerOrder_SelectionChanged"
SelectionUnit="Cell"
VerticalGridLinesBrush="{StaticResource VerticalGridLinesBrush}">
<DataGrid.Columns>
<DataGridTextColumn
@@ -382,7 +383,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.6*"
Binding="{Binding WxSendTypeStr}"
Binding="{Binding WxSendTypeStr, Mode=OneWay}"
Header="是否直发">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -394,7 +395,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding order_sn}"
Binding="{Binding order_sn, Mode=OneWay}"
Header="拍单订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -406,7 +407,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding ShopOrderIdStr}"
Binding="{Binding ShopOrderIdStr, Mode=OneWay}"
Header="店铺订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -418,7 +419,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding buyerName}"
Binding="{Binding buyerName, Mode=OneWay}"
Header="买手名称">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -430,7 +431,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding OrderTimeStr}"
Binding="{Binding OrderTimeStr, Mode=OneWay}"
Header="拍单时间">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -442,7 +443,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.8*"
Binding="{Binding ProdInfoStr}"
Binding="{Binding ProdInfoStr, Mode=OneWay}"
Header="商品信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -454,7 +455,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding AmoutValue}"
Binding="{Binding AmoutValue, Mode=OneWay}"
Header="金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -466,7 +467,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding order_status_prompt}"
Binding="{Binding order_status_prompt, Mode=OneWay}"
Header="订单状态">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -478,7 +479,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding outExpressCompanyCode}"
Binding="{Binding outExpressCompanyCode, Mode=OneWay}"
Header="物流名称">
<!-- outExpressCompanyName -->
<DataGridTextColumn.ElementStyle>
@@ -491,7 +492,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding tracking_number}"
Binding="{Binding tracking_number, Mode=OneWay}"
Header="物流单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -503,7 +504,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding sendStatus}"
Binding="{Binding sendStatus, Mode=OneWay}"
Header="订单信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -533,7 +534,7 @@
Click="btnSendBuyerOrder_Click"
Content="发送"
Foreground="{StaticResource PageLinkBrush}"
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}}" />
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}, Mode=OneWay}" />
<Button
x:Name="btnSendDirectBuyerOrder"
Grid.Row="2"
@@ -546,7 +547,7 @@
Click="btnSendBuyerOrder_Click"
Content="发送"
Foreground="{StaticResource PageLinkBrush}"
Visibility="{Binding WxSendTypeStr, Converter={StaticResource HasTextVisibility}}" />
Visibility="{Binding WxSendTypeStr, Converter={StaticResource HasTextVisibility}, Mode=OneWay}" />
<!-- 直发单直发标注不为空 -->
</Grid>
</DataTemplate>
@@ -568,11 +569,12 @@
LoadingRow="dgBuyerOrder_LoadingRow"
RowHeaderWidth="0"
RowHeight="50"
SelectionUnit="Cell"
VerticalGridLinesBrush="{StaticResource VerticalGridLinesBrush}">
<DataGrid.Columns>
<DataGridTextColumn
Width="40"
Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}, Mode=OneWay}"
CanUserSort="False"
Header="序列"
IsReadOnly="True">
@@ -586,7 +588,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.6*"
Binding="{Binding WxSendTypeStr}"
Binding="{Binding WxSendTypeStr, Mode=OneWay}"
Header="是否直发">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -598,7 +600,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding afterSalesId}"
Binding="{Binding afterSalesId, Mode=OneWay}"
Header="售后单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -610,7 +612,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding orderSn}"
Binding="{Binding orderSn, Mode=OneWay}"
Header="拍单订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -622,7 +624,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.5*"
Binding="{Binding ShopOrderIdStr}"
Binding="{Binding ShopOrderIdStr, Mode=OneWay}"
Header="店铺订单号">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -634,7 +636,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding buyerName}"
Binding="{Binding buyerName, Mode=OneWay}"
Header="买手名称">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -646,7 +648,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding orderDate}"
Binding="{Binding orderDate, Mode=OneWay}"
Header="拍单日期">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -658,7 +660,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1.8*"
Binding="{Binding ProdInfoStr}"
Binding="{Binding ProdInfoStr, Mode=OneWay}"
Header="商品信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -670,7 +672,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding OrderAmountValue}"
Binding="{Binding OrderAmountValue, Mode=OneWay}"
Header="订单金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -682,7 +684,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="0.8*"
Binding="{Binding RefundAmountValue}"
Binding="{Binding RefundAmountValue, Mode=OneWay}"
Header="售后金额">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -694,7 +696,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding AfterSaleStatusStr}"
Binding="{Binding AfterSaleStatusStr, Mode=OneWay}"
Header="售后状态">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -706,7 +708,7 @@
</DataGridTextColumn>
<DataGridTextColumn
Width="1*"
Binding="{Binding sendStatus}"
Binding="{Binding sendStatus, Mode=OneWay}"
Header="订单信息">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
@@ -721,7 +723,7 @@
<DataTemplate>
<Button Grid.Column="1" Grid.Row="2" x:Name="btnSendBuyerOrder" VerticalAlignment="Center" Background="Transparent" HorizontalAlignment="Center"
Foreground="{StaticResource PageLinkBrush}" BorderBrush="Transparent" Margin="4,0,0,0" Content="发送" Click="btnSendBuyerOrder_Click"
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}}"></Button>
Visibility="{Binding TransitWarehouseIdStr, Converter={StaticResource HasTextVisibility}, Mode=OneWay}"></Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>-->
@@ -33,7 +33,6 @@ using Work;
using Work._29Tools.BLL;
using Work._29Tools.CefTools;
using Work.BaseForms;
using WxOrder.Framework.Commons;
using WxOrder.Framework.Helpers;
using static AllBase.DouYinModel.Result.DouOrderListInfo;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
@@ -361,7 +361,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
while (true && (IsAutoReadOrder || !string.IsNullOrEmpty(orderIds)))
{
BottomMsg = "当前正在读取订单...,第" + (page + 1) + "页" + (hasGetPage ? "" : ("/共" + totalPage + "页"));
BottomMsg = "当前正在读取订单...,第" + (page + 1) + "页" + (hasGetPage == false ? "" : ("/共" + totalPage + "页"));
if (page >= totalPage)
{
break;
@@ -554,7 +554,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
else
item.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == item.order_id));
// 中转仓退货包裹订单
if (item.order_id == "3739241588056569856")
if (item.order_id == "3740040052771291904")
{
}
@@ -1011,7 +1011,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
pddBuyerAfterSales = JsonHelper.DeserializeJsonToList<yh_sync_logistics>(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.id).ToList();
return pddBuyerAfterSales;
}
catch
catch (Exception ex)
{
}
}
@@ -1138,6 +1138,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
foreach (var shop in GlobalConfig.ShopLoginList)
{
var index = GlobalConfig.ShopLoginList.IndexOf(shop);
if (shop.LoginStatus == "登录成功")
ShopBLL.CheckShopLogin(shop);
if (shop.LoginStatus != "登录成功")
@@ -1257,7 +1258,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
orderItem.OrderItemExt = orderExt;
InitOrderObservableProp(order);
MainWindow.Instance.orderListCtrl.FilterOneOrder(order, true);
MainWindow.Instance.orderListCtrl.FilterOneOrder(order);
}
}
}
@@ -1267,6 +1268,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
BaseMsgWindow.ShowAnimateMessage("订单扩展信息查询失败 " + ex.Message, "Error", 5);
}
}
disPlayOrderTabOrderCount();
}
}
@@ -646,6 +646,8 @@
BorderBrush="{Binding WarehouseWaybillStatusBorderColor}"
BorderThickness="1"
CornerRadius="2"
Cursor="Hand"
MouseUp="borderWarehouseStatas_MouseUp"
Visibility="{Binding WarehouseWaybillStatusStrVisibility}">
<TextBlock
x:Name="txtWarehouseStatus"
@@ -778,6 +780,7 @@
Margin="-2,0"
Padding="0"
VerticalAlignment="Top"
d:Text="2026-10-09 15:59:59"
Background="Transparent"
BorderThickness="0"
Foreground="{Binding OutOrderTimeQualifiedBrush}"
@@ -796,6 +799,7 @@
Margin="-2,0"
Padding="0"
VerticalAlignment="Top"
d:Text="JTSD-JT12345678"
Background="Transparent"
BorderThickness="0"
Foreground="{StaticResource PageOkBrush}"
@@ -827,6 +831,7 @@
Margin="-2,0"
Padding="0"
VerticalAlignment="Center"
d:Text="YD-3123456789999"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
@@ -2132,6 +2132,28 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}.ShowDialog();
}
}
private async void borderWarehouseStatas_MouseUp(object sender, MouseButtonEventArgs e)
{
return;
if (this.DataContext is oms_wei_order_item_info orderItem)
{
oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info()
{
OrderItem = orderItem,
};
OrderTransitListCtrl OrderTransitListCtrl = new OrderTransitListCtrl(transitInfo);
new DialogWindow()
{
Title = "仓库订单详情 - 当前订单 " + orderItem.order_id,
Content = OrderTransitListCtrl,
Width = SystemParameters.PrimaryScreenWidth < 1920 ? SystemParameters.PrimaryScreenWidth : SystemParameters.PrimaryScreenWidth * 90 / 100,
Height = SystemParameters.PrimaryScreenHeight * 90 / 100,
WindowStartupLocation = WindowStartupLocation.CenterScreen,
}.ShowDialog();
}
}
}
}
@@ -0,0 +1,85 @@
<UserControl
x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderTransitListCtrl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wpf="WPFCommon"
d:DesignHeight="450"
d:DesignWidth="800"
Background="White"
Foreground="DimGray"
Loaded="OrderTransitListCtrl_Loaded"
mc:Ignorable="d">
<UserControl.Resources>
<Style BasedOn="{StaticResource TitleContentBaseStyle}" TargetType="wpf:TitleContent">
<Setter Property="Placement" Value="Left" />
<Setter Property="TitleVerticalAlignment" Value="Center" />
<Setter Property="LeftTitlePadding" Value="0,0,0,0" />
</Style>
<Style TargetType="wpf:SpacingStackPanel">
<Setter Property="Margin" Value="3,0" />
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Height="30" Orientation="Horizontal">
<TextBlock
Margin="10,0,0,0"
VerticalAlignment="Center"
Text="店铺:" />
<TextBox
VerticalContentAlignment="Center"
d:Text="音诉云仓"
Background="Transparent"
BorderThickness="0"
Foreground="DimGray"
IsReadOnly="True"
Text="{Binding ShopNameStr}" />
<TextBlock
Margin="10,0,0,0"
VerticalAlignment="Center"
Text="订单号:" />
<TextBox
VerticalContentAlignment="Center"
d:Text="3700000000000000"
Background="Transparent"
BorderThickness="0"
Foreground="DimGray"
IsReadOnly="True"
Text="{Binding OrderIdStr}" />
</StackPanel>
<ListBox
x:Name="lbxTransitList"
Grid.Row="4"
Margin="7,0,7,0"
HorizontalContentAlignment="Stretch"
BorderThickness="0">
<!-- 使用自定义属性模板去除ListBox高亮显示框 -->
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<!-- 此处绑定将数据源传递给子自定义控件 -->
<local:OrderTransitListDetailCtrl DataContext="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>
@@ -0,0 +1,59 @@
using AllBase.Model.DBModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace _29WxOrderWpf.Ctrls.OrderCtrls;
/// <summary>
/// OrderTransitListCtrl.xaml 的交互逻辑
/// </summary>
public partial class OrderTransitListCtrl : UserControl
{
OrderTransitListCtrlViewModel ViewModel;
public OrderTransitListCtrl(oms_wei_order_item_transit_info transitInfo)
{
InitializeComponent();
ViewModel = new OrderTransitListCtrlViewModel(transitInfo);
ViewModel.RequestClose += ViewModel_RequestClose;
DataContext = ViewModel;
this.lbxTransitList.ItemsSource = ViewModel.TransitInfo.OrderItemTransitDetailList;
}
private void ViewModel_RequestClose()
{
Window parentWindow = Window.GetWindow(this);
if (this.IsLoaded && parentWindow != null)
parentWindow.Close();
}
private void OrderTransitListCtrl_Loaded(object sender, RoutedEventArgs e)
{
Window parentWindow = Window.GetWindow(this);
if (parentWindow != null)
{
parentWindow.Closed += ChangeWaybillView_Closed;
}
ViewModel.Start();
}
private void ChangeWaybillView_Closed(object sender, EventArgs e)
{
ViewModel.Stop();
}
}
@@ -0,0 +1,62 @@
using AllBase.Model.DBModel;
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _29WxOrderWpf.Ctrls.OrderCtrls;
public class OrderTransitListCtrlViewModel : PropertyNotifyObject
{
private volatile bool _isWindowLoaded = false;
public oms_wei_order_item_transit_info TransitInfo
{
get { return this.GetValue(x => x.TransitInfo); }
set { this.SetValue(x => x.TransitInfo, value); }
}
public oms_wei_order_item_info OrderItem
{
get { return this.GetValue(x => x.OrderItem); }
set { this.SetValue(x => x.OrderItem, value); }
}
public string OrderIdStr
{
get { return this.GetValue(x => x.OrderIdStr); }
set { this.SetValue(x => x.OrderIdStr, value); }
}
public string ShopNameStr
{
get { return this.GetValue(x => x.ShopNameStr); }
set { this.SetValue(x => x.ShopNameStr, value); }
}
/// <summary>请求关闭窗口</summary>
public event Action RequestClose;
public OrderTransitListCtrlViewModel(oms_wei_order_item_transit_info transitInfo)
{
TransitInfo = transitInfo;
OrderItem = transitInfo?.OrderItem;
OrderIdStr = OrderItem?.order_id;
ShopNameStr = OrderItem?.ItemOrder?.Shop?.ShopAccount;
}
/// <summary>
/// 窗口加载完成时调用
/// </summary>
public void Start()
{
_isWindowLoaded = true;
}
/// <summary>
/// 窗口关闭时调用,停止后台任务
/// </summary>
public void Stop()
{
_isWindowLoaded = false;
}
}
@@ -0,0 +1,167 @@
<UserControl
x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderTransitListDetailCtrl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wpf="WPFCommon"
d:DesignHeight="280"
d:DesignWidth="800"
Background="White"
mc:Ignorable="d">
<UserControl.Resources>
<Style BasedOn="{StaticResource TitleContentBaseStyle}" TargetType="wpf:TitleContent">
<Setter Property="Placement" Value="Left" />
<Setter Property="TitleVerticalAlignment" Value="Center" />
<Setter Property="LeftTitlePadding" Value="0,0,0,0" />
</Style>
<Style TargetType="wpf:SpacingStackPanel">
<Setter Property="Margin" Value="3,0" />
</Style>
</UserControl.Resources>
<Border
MinHeight="50"
Margin="5"
BorderBrush="SkyBlue"
BorderThickness="1"
CornerRadius="10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Background="LightSkyBlue" CornerRadius="8,8,0,0">
<StackPanel MinHeight="30" Orientation="Horizontal">
<TextBlock
Margin="10,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="仓库订单号" />
<TextBox
VerticalContentAlignment="Center"
d:Text="261008-123456789012345"
Background="Transparent"
BorderThickness="0"
Foreground="DimGray"
IsReadOnly="True"
Text="{Binding OrderCode}" />
<TextBlock
Margin="10,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
d:Text="仓库类型"
Text="{Binding TransitTypeStr}" />
<TextBox
VerticalContentAlignment="Center"
d:Text="261008-123456789012345"
Background="Transparent"
BorderThickness="0"
Foreground="DimGray"
IsReadOnly="True"
Text="{Binding SourceCode}" />
</StackPanel>
</Border>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border
Margin="0,10"
BorderBrush="LightSkyBlue"
BorderThickness="0,0,1,0"
Opacity="0.5">
<wpf:SpacingStackPanel
Margin="10,10"
VerticalAlignment="Center"
Orientation="Vertical"
VerticalSpacing="4">
<wpf:TitleContent Title="交易单号:">
<TextBox
d:Text="371234567890123456"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding WxOrderId}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="买手单号:">
<TextBox
d:Text="261008-1234567890123456"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding OutOrderId}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="下单时间:">
<TextBox
d:Text="26-10-07 10:33:33"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding WxOrderCreateTimeStr}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="取号时间:">
<TextBox
d:Text="26-10-08 00:33:33"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding PickUpTimeStr}"
TextWrapping="Wrap" />
</wpf:TitleContent>
</wpf:SpacingStackPanel>
</Border>
<Border
Grid.Column="1"
Margin="0,10"
BorderBrush="LightSkyBlue"
BorderThickness="0,0,1,0"
Opacity="0.5">
<wpf:SpacingStackPanel
Margin="10,10"
VerticalAlignment="Center"
Orientation="Vertical"
VerticalSpacing="4">
<wpf:TitleContent
Title="{Binding WarehouseName}"
d:Title="上海仓"
FontWeight="Bold">
<TextBox
d:Text="已出仓"
Background="Transparent"
BorderThickness="0"
FontWeight="Normal"
IsReadOnly="True"
Text="{Binding WxOrderId}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="入库单号:">
<TextBox
d:Text="JTSD-JT12345678901122"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding PickUpTimeStr}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="出库单号:">
<TextBox
d:Text="YD-3111111555555123"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding PickUpTimeStr}"
TextWrapping="Wrap" />
</wpf:TitleContent>
</wpf:SpacingStackPanel>
</Border>
</Grid>
</Grid>
</Border>
</UserControl>
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace _29WxOrderWpf.Ctrls.OrderCtrls;
/// <summary>
/// OrderTransitListDetailCtrl.xaml 的交互逻辑
/// </summary>
public partial class OrderTransitListDetailCtrl : UserControl
{
public OrderTransitListDetailCtrl()
{
InitializeComponent();
}
}
+6 -1
View File
@@ -39,10 +39,15 @@ public partial class ChangeWaybillView : UserControl
private void ChangeWaybillView_Loaded(object sender, RoutedEventArgs e)
{
Window parentWindow = Window.GetWindow(this);
if (parentWindow != null)
{
parentWindow.Closed += ChangeWaybillView_Closed;
}
ViewModel.Start();
}
private void ChangeWaybillView_Closed(object sender, RoutedEventArgs e)
private void ChangeWaybillView_Closed(object sender, EventArgs e)
{
ViewModel.Stop();
}
+1 -1
View File
@@ -37,7 +37,7 @@ namespace AllBase
/// 版本ID
/// </summary>
public static int VersionCount = 357;
public static int VersionCount = 360;
//public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string ServerUrl
@@ -29,8 +29,10 @@ namespace AllBase.Model.DBModel
}
public void SetOutOrderBuyerStr()
{
OutOrderBuyerStr = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == buyer_account)?.buyer_name ??
GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == buyer_account)?.buyer_name ?? buyer_account;
if (!out_order_no.ParseToString().StartsWith("tb_"))
OutOrderBuyerStr = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == buyer_account)?.buyer_name ?? buyer_account;
else
OutOrderBuyerStr = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == buyer_account)?.buyer_name ?? buyer_account;
}
+7 -1
View File
@@ -13,6 +13,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
@@ -896,6 +897,11 @@ namespace AllBase.Model.DBModel
public bool GetIsAbnormal()
{
if (order_id == "3740040052771291904")
{
}
// 三退或者两退,为退款完成单
//if (orderItems.All(oi => (oi.refund_status == 4 || oi.refund_status == 11) && (oi.ItemTransitOrder != null || string.IsNullOrWhiteSpace(out_order_no)) &&
// (oi.ItemTransitOrder == null || oi.ItemTransitOrder?.refund_status == "买手退款成功") && (string.IsNullOrWhiteSpace(out_order_no) || out_after_sale_status == "退款成功")))
@@ -917,7 +923,7 @@ namespace AllBase.Model.DBModel
return true;
// 订单无售后或者售后关闭,有未作废的仓库单且仓库单买手信息为退款成功
if (orderItems.Any(oi => oi.refund_status <= 1 && oi.ItemTransitOrder != null && oi.ItemTransitOrder.refund_status == "买手退款成功"))
if (orderItems.Any(oi => oi.refund_status <= 1 && oi.ItemTransitOrderWithVoid != null && oi.ItemTransitOrderWithVoid.refund_status == "买手退款成功"))
return true;
// 取号异常或无法调用发货也放在异常单(异常需重拍)
@@ -1837,17 +1837,22 @@ namespace AllBase.Model.DBModel
/// <returns></returns>
public bool GetIsAbnormalOrderRebuy()
{
if (order_id == "3740040052771291904")
{
}
var order_item = this;
// 不是异常单的不可异常重拍
if (order_item?.ItemOrder?.IsAbnormal != true)
return false;
// 买手未退款的,中转正式取号以后的,不可异常重拍
if (order_item.ItemTransitOrder?.refund_status != "买手退款成功" ||
if (order_item.ItemTransitOrderWithVoid?.refund_status != "买手退款成功" ||
order_item.WarehouseWaybillStatusStr == "中转已取号" || order_item.WarehouseWaybillStatusStr == "中转已入库" || order_item.WarehouseWaybillStatusStr == "中转已出库")
return false;
// 已正式取号的,不可异常重拍
if (order_item.ItemTransitOrder?.pre_allocated_order_no == 1 || order_item.ItemTransitOrder?.pre_allocated_order_no == 3)
if (order_item.ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || order_item.ItemTransitOrderWithVoid?.pre_allocated_order_no == 3)
return false;
// 仓库异常的异常单不可异常重拍
List<string> rawMsgKeyWords = new List<string> { "取号异常", "无法调用" };
@@ -0,0 +1,235 @@
using AllBase.Helper;
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace AllBase.Model.DBModel;
public class oms_wei_order_item_transit_info : PropertyNotifyObject
{
public oms_wei_order_item_info OrderItem
{
get { return this.GetValue(x => x.OrderItem); }
set
{
this.SetValue(x => x.OrderItem, value);
GetOrderItemTransitDetail();
}
}
public ObservableCollection<oms_wei_order_item_transit_detail_info> OrderItemTransitDetailList
{
get { return this.GetValue(x => x.OrderItemTransitDetailList); }
private set { this.SetValue(x => x.OrderItemTransitDetailList, value); }
}
void GetOrderItemTransitDetail()
{
if (OrderItem == null || OrderItem.ItemOrder == null)
{
this.OrderItemTransitDetailList = new ObservableCollection<oms_wei_order_item_transit_detail_info>();
return;
}
List<oms_wei_order_item_transit_detail_info> transitDetailList = new List<oms_wei_order_item_transit_detail_info>();
foreach (var transitOrder in OrderItem.ItemTransitOrders ?? new List<oms_wei_external_procurement_log_info>())
{
var transitDetail = new oms_wei_order_item_transit_detail_info()
{
TransitTypeStr = "发货包裹",
OrderCode = transitOrder.order_code,
SourceCode = transitOrder.random_code,
WxOrderId = transitOrder.order_no,
WxOrderSkuId = transitOrder.order_sku_id,
WxOrderThumbImg = OrderItem.thumb_img,
WxOrderCreateTime = OrderItem.ItemOrder.CreateDateTime,
OutOrderId = transitOrder.out_order_no,
OutBuyerName = transitOrder.OutOrderBuyerStr,
UpperWaybill = (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'),
DownWaybill = (transitOrder.express_2_company + "-" + transitOrder.express_2_waybill).Trim('-'),
BuyReundStatus = transitOrder.refund_status,
PickUpTime = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time,
InboundTime = transitOrder.inbound_time,
OutboundTime = transitOrder.outbound_time,
};
if (!transitDetail.OutOrderId.StartsWith("tb_"))
transitDetail.OutBuyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? "";
else
transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? "";
// 中转仓订单创建状态 0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程)
if (transitOrder.transfer_warehouse_status == 1)
transitDetail.TransitStatus = "已创建";
else if (transitOrder.transfer_warehouse_status == 2)
transitDetail.TransitStatus = "创建失败";
else if (transitOrder.transfer_warehouse_status == 3)
transitDetail.TransitStatus = "创建中";
// 中转仓入库状态 0: 未入库, 1: 已入库, 2: 已出库, 3: 拦截到仓
if (transitOrder.warehouse_status == 0)
transitDetail.WarehouseStatus = "已创建";
else if (transitOrder.warehouse_status == 1)
transitDetail.WarehouseStatus = "已入库";
else if (transitOrder.warehouse_status == 2)
transitDetail.WarehouseStatus = "已出库";
else if (transitOrder.warehouse_status == 3)
transitDetail.WarehouseStatus = "已拦截到仓";
transitDetailList.Add(transitDetail);
}
this.OrderItemTransitDetailList = new ObservableCollection<oms_wei_order_item_transit_detail_info>(transitDetailList);
}
}
public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject
{
/// <summary>
/// 仓库类型 发货包裹 退货包裹
/// </summary>
public string TransitTypeStr
{
get { return this.GetValue(x => x.TransitTypeStr); }
set { this.SetValue(x => x.TransitTypeStr, value); }
}
/// <summary> 仓库订单号 </summary>
public string OrderCode
{
get { return this.GetValue(x => x.OrderCode); }
set { this.SetValue(x => x.OrderCode, value); }
}
public string SourceCode
{
get { return this.GetValue(x => x.SourceCode); }
set { this.SetValue(x => x.SourceCode, value); }
}
/// <summary> 取号时间((中转单)创建时间) </summary>
public DateTime? PickUpTime
{
get { return this.GetValue(x => x.PickUpTime); }
set { this.SetValue(x => x.PickUpTime, value); PickUpTimeStr = value == null ? "" : value.Value.ToString("yyyy-MM-dd HH:mm:ss"); }
}
public string PickUpTimeStr
{
get { return this.GetValue(x => x.PickUpTimeStr); }
set { this.SetValue(x => x.PickUpTimeStr, value); }
}
/// <summary> 微信订单号(交易单号) </summary>
public string WxOrderId
{
get { return this.GetValue(x => x.WxOrderId); }
set { this.SetValue(x => x.WxOrderId, value); }
}
public string WxOrderSkuId
{
get { return this.GetValue(x => x.WxOrderSkuId); }
set { this.SetValue(x => x.WxOrderSkuId, value); }
}
/// <summary> 微信订单创建时间(支付时间) </summary>
public DateTime WxOrderCreateTime
{
get { return this.GetValue(x => x.WxOrderCreateTime); }
set { this.SetValue(x => x.WxOrderCreateTime, value); WxOrderCreateTimeStr = value.ToString("yyyy-MM-dd HH:mm:ss"); }
}
public string WxOrderCreateTimeStr
{
get { return this.GetValue(x => x.WxOrderCreateTimeStr); }
set { this.SetValue(x => x.WxOrderCreateTimeStr, value); }
}
public string WxOrderThumbImg
{
get { return this.GetValue(x => x.WxOrderThumbImg); }
set { this.SetValue(x => x.WxOrderThumbImg, value); }
}
public string OutOrderId
{
get { return this.GetValue(x => x.OutOrderId); }
set { this.SetValue(x => x.OutOrderId, value); }
}
public string OutBuyerId
{
get { return this.GetValue(x => x.OutBuyerId); }
set { this.SetValue(x => x.OutBuyerId, value); }
}
public string OutBuyerName
{
get { return this.GetValue(x => x.OutBuyerName); }
set { this.SetValue(x => x.OutBuyerName, value); }
}
/// <summary> 中转状态 </summary>
public string TransitStatus
{
get { return this.GetValue(x => x.TransitStatus); }
set { this.SetValue(x => x.TransitStatus, value); }
}
/// <summary> 仓库状态 </summary>
public string WarehouseStatus
{
get { return this.GetValue(x => x.WarehouseStatus); }
set { this.SetValue(x => x.WarehouseStatus, value); }
}
/// <summary> 买手退货状态 </summary>
public string BuyReundStatus
{
get { return this.GetValue(x => x.BuyReundStatus); }
set { this.SetValue(x => x.BuyReundStatus, value); }
}
public string UpperWaybill
{
get { return this.GetValue(x => x.UpperWaybill); }
set { this.SetValue(x => x.UpperWaybill, value); UpperWaybillVisibility = string.IsNullOrEmpty(value) ? Visibility.Collapsed : Visibility.Visible; }
}
public Visibility UpperWaybillVisibility
{
get { return this.GetValue(x => x.UpperWaybillVisibility); }
private set { this.SetValue(x => x.UpperWaybillVisibility, value); }
}
public string DownWaybill
{
get { return this.GetValue(x => x.DownWaybill); }
set { this.SetValue(x => x.DownWaybill, value); DownWaybillVisibility = string.IsNullOrEmpty(value) ? Visibility.Collapsed : Visibility.Visible; }
}
public Visibility DownWaybillVisibility
{
get { return this.GetValue(x => x.DownWaybillVisibility); }
private set { this.SetValue(x => x.DownWaybillVisibility, value); }
}
public DateTime? InboundTime
{
get { return this.GetValue(x => x.InboundTime); }
set { this.SetValue(x => x.InboundTime, value); InboundTimeStr = value == null ? "" : value.Value.ToString("yyyy-MM-dd HH:mm:ss"); }
}
public string InboundTimeStr
{
get { return this.GetValue(x => x.InboundTimeStr); }
private set { this.SetValue(x => x.InboundTimeStr, value); }
}
public DateTime? OutboundTime
{
get { return this.GetValue(x => x.OutboundTime); }
set { this.SetValue(x => x.OutboundTime, value); OutboundTimeStr = value == null ? "" : value.Value.ToString("yyyy-MM-dd HH:mm:ss"); }
}
public string OutboundTimeStr
{
get { return this.GetValue(x => x.OutboundTimeStr); }
private set { this.SetValue(x => x.OutboundTimeStr, value); }
}
}
@@ -267,6 +267,7 @@ namespace AllBase.Model.Result
var detailPage = listItemExtraVO.navToDetailPageUrl;
return BaseRegex.GetStringQuery(ref detailPage, "order_sn");
}
set { }
}
public int? tbOrderDate { get; set; }
public int? orderDate { get { return tbOrderDate ?? orderSn.Split('-').FirstOrDefault().ParseToInt(); } }