Browse Source

1.新服务单查询接口

2.快递100推送更新UpdateTime
qianyi
shanji 3 years ago
parent
commit
da4064d5cb
  1. 58
      BBWY.Client/Models/Enums.cs
  2. 6
      BBWY.Client/Models/ServiceOrder/ServiceOrder.cs
  3. 3
      BBWY.Client/ViewModels/MainViewModel.cs
  4. 62
      BBWY.Client/ViewModels/ServiceOrder/ServiceOrderViewModel.cs
  5. 29
      BBWY.Client/ViewModels/ViewModelLocator.cs
  6. 914
      BBWY.Client/Views/Order/OrderList.xaml
  7. 266
      BBWY.Client/Views/ServiceOrder/ServiceOrderList.xaml
  8. 26
      BBWY.Client/Views/ServiceOrder/ServiceOrderList.xaml.cs
  9. 28
      BBWY.Server.API/Controllers/ServiceOrderController.cs
  10. 6
      BBWY.Server.Business/BBWY.Server.Business.csproj
  11. 2
      BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs
  12. 72
      BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs
  13. 23
      BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs
  14. 4
      BBWY.Server.Model/Db/Order/ExpressOrder.cs
  15. 556
      BBWY.Server.Model/Db/Order/Serviceorder.cs
  16. 30
      BBWY.Server.Model/Dto/Request/ServiceOrder/ClientQueryServiceOrderRequest.cs
  17. 263
      BBWY.Server.Model/Dto/Response/ServiceOrder/ServiceOrderItemResponse.cs
  18. 58
      BBWY.Server.Model/Enums.cs
  19. 2
      JD.API/Controllers/PlatformSDKController.cs

58
BBWY.Client/Models/Enums.cs

@ -254,7 +254,7 @@
{
= 0,
= 1,
=2
= 2
}
public enum Increment
@ -331,4 +331,60 @@
}
/// <summary>
/// 服务单状态
/// </summary>
public enum ServiceOrderState
{
= 10005,
= 10011,
= 10010
}
public enum ReturnDirection
{
退 = 0, = 1, = 2, 退 = 3
}
/// <summary>
/// 运输状态 0=待质检,1=已入库,2=派送中,3=运输中
/// </summary>
public enum TransportState
{
= 0, = 1, = 2, = 3
}
/// <summary>
/// 商品健康状态 残次品=0 良品=1
/// </summary>
public enum NewProductHealth
{
= 0, = 1
}
/// <summary>
/// 产品功能 坏=0 好=1
/// </summary>
public enum ProductFunction
{
= 0, = 1
}
/// <summary>
/// 产品外观 (严重损=0 轻微损=1 新=2)
/// </summary>
public enum ProductAppearance
{
= 0, = 1, = 2
}
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
public enum ProductPackage
{
= 0, = 1, = 2
}
}

6
BBWY.Client/Models/ServiceOrder/ServiceOrder.cs

@ -0,0 +1,6 @@
namespace BBWY.Client.Models
{
public class ServiceOrder
{
}
}

3
BBWY.Client/ViewModels/MainViewModel.cs

@ -158,7 +158,8 @@ namespace BBWY.Client.ViewModels
Name = "订单管理",
ChildList = new List<MenuModel>()
{
new MenuModel(){ Name="最近订单",Url="/Views/Order/OrderList.xaml" }
new MenuModel(){ Name="最近订单",Url="/Views/Order/OrderList.xaml" },
new MenuModel(){ Name="服务单管理",Url="/Views/ServiceOrder/ServiceOrderList.xaml" }
}
});

62
BBWY.Client/ViewModels/ServiceOrder/ServiceOrderViewModel.cs

@ -0,0 +1,62 @@
using BBWY.Client.Models;
using BBWY.Common.Models;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Input;
namespace BBWY.Client.ViewModels
{
public class ServiceOrderViewModel : BaseVM, IDenpendency
{
private bool isLoading;
private ServiceOrderState? serviceOrderState;
private ReturnDirection? returnDirection;
private int serviceOrderCount;
private int pageIndex;
private int pageSize;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public ServiceOrderState? ServiceOrderState { get => serviceOrderState; set { Set(ref serviceOrderState, value); } }
public ReturnDirection? ReturnDirection { get => returnDirection; set { Set(ref returnDirection, value); } }
public ICommand SetServiceOrderStateCommand { get; set; }
public ICommand SetReturnDirectionCommand { get; set; }
public ICommand OnPageIndexChangedCommand { get; set; }
public ICommand CopyTextCommand { get; set; }
public IList<ServiceOrder> ServiceOrderList { get; set; }
public int ServiceOrderCount { get => serviceOrderCount; set { Set(ref serviceOrderCount, value); } }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
public ServiceOrderViewModel()
{
SetServiceOrderStateCommand = new RelayCommand<ServiceOrderState?>(SetServiceOrderState);
SetReturnDirectionCommand = new RelayCommand<ReturnDirection?>(SetReturnDirection);
CopyTextCommand = new RelayCommand<string>(s => { try { Clipboard.SetText(s); } catch (Exception ex) { } });
ServiceOrderList = new ObservableCollection<ServiceOrder>() { new ServiceOrder(), new ServiceOrder(), new ServiceOrder() };
}
private void SetServiceOrderState(ServiceOrderState? state)
{
this.ServiceOrderState = state;
//query
}
private void SetReturnDirection(ReturnDirection? returnDirection)
{
this.ReturnDirection = returnDirection;
//query
}
}
}

29
BBWY.Client/ViewModels/ViewModelLocator.cs

@ -39,21 +39,6 @@ namespace BBWY.Client.ViewModels
//}
public MainViewModel Main
{
get
@ -111,6 +96,18 @@ namespace BBWY.Client.ViewModels
}
}
}
public ServiceOrderViewModel ServiceOrderList
{
get
{
using (var s = sp.CreateScope())
{
return s.ServiceProvider.GetRequiredService<ServiceOrderViewModel>();
}
}
}
public ConsumableViewModel Consumable
{
get
@ -196,7 +193,7 @@ namespace BBWY.Client.ViewModels
get
{
// return sp.GetRequiredService<CreatePackTaskViewModel>();
// return sp.GetRequiredService<CreatePackTaskViewModel>();
using (var s = sp.CreateScope())
{

914
BBWY.Client/Views/Order/OrderList.xaml

@ -409,912 +409,6 @@
<local:OrderListControl x:Name="listbox_order" Grid.Row="6" Grid.RowSpan="2"
Visibility="{Binding IncludeAfterOrder,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}"/>
<!--<Border Grid.Row="6" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
Background="#F2F2F2"
Visibility="{Binding Visibility,ElementName=listbox_order}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="351"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="仓储类型" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="采购信息" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="成本信息" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="利润信息" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="物流信息" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="订单状态" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="备注信息" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
</Grid>
</Border>
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding OrderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}"
Visibility="{Binding IncludeAfterOrder,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="185">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" Grid.ColumnSpan="2">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding OrderStartTime,StringFormat=yyyy-MM-dd HH:mm:ss}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock VerticalAlignment="Center" Text="订单号:" Margin="5,0,0,0" />
<c:BButton Content="{Binding Id}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding Id}" Margin="5,0,0,0"/>
<Border Width="1" Margin="5,5,0,5" Background="{StaticResource Border.Brush}"/>
<c:BButton x:Name="btn_decodeCommand" Content="解密收货信息" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding DataContext.DecodeConsigneeCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }"/>
<StackPanel x:Name="txt_consignee" Margin="5,0,0,0" Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Text="收货人:"/>
<TextBox Text="{Binding Consignee.ContactName}" Foreground="{StaticResource Text.Color}"
IsReadOnly="True" Background="Transparent" BorderThickness="0"/>
<TextBlock Text="联系电话:" Margin="5,0,0,0"/>
<TextBox Text="{Binding Consignee.Mobile}" Foreground="{StaticResource Text.Color}"
IsReadOnly="True" Background="Transparent" BorderThickness="0"/>
</StackPanel>
</StackPanel>
<Border VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="350"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding ItemList}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
-->
<!--{Binding Logo}-->
<!--
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="0,5,0,0"/>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="0,5,0,5">
<TextBlock TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding Title}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding Title}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap">
<Run Text="单价:"/>
<Run Text="{Binding Price}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap">
<Run Text="数量:"/>
<Run Text="{Binding ItemTotal}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SPU:"/>
<c:BButton Content="{Binding ProductId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ProductId}"
Margin=" 5,0,0,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="SKU:"/>
<c:BButton Content="{Binding Id}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding Id}"
Margin=" 5,0,0,0"/>
</StackPanel>
</StackPanel>
<c:BButton Content="修改售后" Padding="5,0" Margin="5,0,0,0" Background="{StaticResource Text.Pink}"
Visibility="{Binding DataContext.IsAfterSaleOrder,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}},Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
Command="{Binding DataContext.FindAfterSaleOrderCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}">
<c:BButton.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="DataContext.Id" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
<Binding Path="Id"/>
<Binding Path="DataContext.OrderStartTime" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
</MultiBinding>
</c:BButton.CommandParameter>
</c:BButton>
</StackPanel>
<TextBlock>
<Run Text="货号:" />
<Run Text="{Binding ProductItemNum}"/>
</TextBlock>
<Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1" HorizontalAlignment="Left" Padding="5,2"
Visibility="{Binding IsRefund,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}">
<TextBlock Text="售后" Foreground="{StaticResource Text.Pink}"/>
</Border>
</StackPanel>
<Border Grid.ColumnSpan="2" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"
DataContext="{Binding DataContext,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
Visibility="{Binding ItemList.Count,Converter={StaticResource objConverter},ConverterParameter=1:Collapsed:Visible}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox x:Name="listbox_storageType" Grid.Column="1"
Style="{StaticResource NoScrollViewListBoxStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,0"
ItemsSource="{Binding Source={StaticResource storageTypeProvider}}"
SelectedItem="{Binding StorageType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemContainerStyle>
<Style BasedOn="{StaticResource NoBgListBoxItemStyle}" TargetType="ListBoxItem">
<Setter Property="IsEnabled">
<Setter.Value>
<MultiBinding Converter="{StaticResource ostConverter}">
<MultiBinding.Bindings>
<Binding Path="."/>
<Binding Path="DataContext.StorageType" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
-->
<!--<Grid x:Name="grid_storageType"
Width="{Binding ActualWidth,ElementName=listbox_storageType}"
Margin="5" Height="25"
Background="{StaticResource Button.Normal.Background}">
<TextBlock x:Name="txt_storageType" Text="{Binding }" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="0,0,7,0"/>
</Grid>-->
<!--
<c:BButton x:Name="btn_storageType" Content="{Binding }"
Width="{Binding ActualWidth,ElementName=listbox_storageType}"
Margin="5,5,5,0" Height="25"
Background="{StaticResource Button.Normal.Background}"
Foreground="{StaticResource Text.Color}"
DisableText="{Binding Content,RelativeSource={RelativeSource Mode=Self}}"
Command="{Binding DataContext.ChooseStorageTypeCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<c:BButton.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="DataContext.Id" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
<Binding Path="."/>
</MultiBinding>
</c:BButton.CommandParameter>
</c:BButton>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsSelected,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}}}"
Value="True">
<Setter TargetName="btn_storageType" Property="Background" Value="{StaticResource Button.Selected.Background}"/>
<Setter TargetName="btn_storageType" Property="Foreground" Value="White"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox x:Name="listbox_df" Grid.Column="2"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding OrderDropShippingList}"
Visibility="Collapsed"
VerticalAlignment="Center"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Grid.Column="2" VerticalAlignment="Center"
HorizontalAlignment="Center" Margin="10,0,0,10">
<TextBlock>
<Run Text="采购平台"/>
<Run Text="{Binding PurchasePlatform}"/>
</TextBlock>
<TextBlock>
<Run Text="买家账号"/>
<Run Text="{Binding BuyerAccount}"/>
</TextBlock>
<TextBlock ToolTip="{Binding SellerAccount}">
<Run Text="卖家账号"/>
<Run Text="{Binding SellerAccount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock Text="采购单号"/>
<c:BButton Content="{Binding PurchaseOrderId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding PurchaseOrderId}"
Margin="3,0,0,0"/>
</StackPanel>
<TextBlock>
<Run Text="采购成本"/>
<Run Text="{Binding PurchaseAmount}"/>
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="2" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="3" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="4" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="5" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="6" HorizontalAlignment="Right"/>
<Border x:Name="bd_costbg" Background="#FCECEE" Grid.Column="3"
Visibility="{Binding IsCostException,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}" Margin="0,0,1,0"/>
<StackPanel Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,0,10">
<StackPanel Orientation="Horizontal">
<TextBlock>
<Run Text="实收金额"/>
<Run Text="{Binding ActualAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"/>
</TextBlock>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<StackPanel>
<TextBlock>
<Run Text="货款金额"/>
<Run Text="{Binding OrderSellerPrice}"/>
</TextBlock>
<TextBlock>
<Run Text="用户支付运费"/>
<Run Text="{Binding FreightPrice}"/>
</TextBlock>
</StackPanel>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<TextBlock Visibility="{Binding OrderCost.RefundAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"
Foreground="Red">
<Run Text="退款金额"/>
<Run Text="{Binding OrderCost.RefundAmount}"/>
</TextBlock>
<TextBlock Visibility="{Binding OrderCost.RefundPurchaseAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"
Foreground="Red">
<Run Text="采购退款"/>
<Run Text="{Binding OrderCost.RefundPurchaseAmount}"/>
</TextBlock>
<StackPanel x:Name="sp_orderCoupon" Orientation="Horizontal">
<TextBlock>
<Run Text="优惠金额"/>
<Run Text="{Binding PreferentialAmount}"/>
</TextBlock>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<ListBox ItemsSource="{Binding OrderCouponList}"
Style="{StaticResource NoScrollViewListBoxStyle}" Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="{Binding CouponType}"/>
<Run Text="{Binding CouponPrice,StringFormat=¥{0}}"/>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<StackPanel x:Name="sp_purchaseAmount" Orientation="Horizontal">
<TextBlock>
<Run Text="采购成本"/>
<Run Text="{Binding OrderCost.BeforeTotalCost}"/>
</TextBlock>
<Path x:Name="path_purchaseAmount_question"
Style="{StaticResource path_question}"
Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}"
ToolTipService.InitialShowDelay="0"
ToolTipService.ShowDuration="20000">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock x:Name="txt_isManualed" Text="该订单成本经过手动编辑"
Style="{StaticResource middleTextBlock}"
Foreground="Red"
Visibility="{Binding OrderCost.IsManualEdited,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"/>
<ListBox Grid.Row="1"
ItemsSource="{Binding OrderCostDetailGroupList}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding SkuId,StringFormat=SKU {0}}" VerticalAlignment="Center"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" Grid.RowSpan="2">
<TextBlock Text="库存流水" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="1" Grid.ColumnSpan="2">
<TextBlock Text="商品成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="3" Grid.ColumnSpan="6">
<TextBlock Text="期间成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="9" Grid.RowSpan="2">
<TextBlock Text="小计成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="10" Grid.RowSpan="2">
<TextBlock Text="扣减时间" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="1" Grid.Row="1">
<TextBlock Text="货款成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="2" Grid.Row="1">
<TextBlock Text="采购运费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="3" Grid.Row="1">
<TextBlock Text="头程费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="4" Grid.Row="1">
<TextBlock Text="打包耗材" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="5" Grid.Row="1">
<TextBlock Text="快递费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="6" Grid.Row="1">
<TextBlock Text="入库操作" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="7" Grid.Row="1">
<TextBlock Text="出库操作" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="8" Grid.Row="1">
<TextBlock Text="仓储费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Border Grid.RowSpan="2" Grid.ColumnSpan="11" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1"/>
<Border Width="1" HorizontalAlignment="Right" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="2" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="3" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="4" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="5" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="6" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="7" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="8" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="9" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.Column="1" Grid.ColumnSpan="8" Background="{StaticResource Border.Brush}"/>
</Grid>
<ListBox Grid.Row="2"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,0,1,0"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="25">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding PurchaseOrderPKId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuAmount}" Grid.Column="1" Style="{StaticResource middleTextBlock}"
Visibility="{Binding SkuAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding PurchaseFreight}" Grid.Column="2" Style="{StaticResource middleTextBlock}"
Visibility="{Binding PurchaseFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding FirstFreight}" Grid.Column="3" Style="{StaticResource middleTextBlock}"
Visibility="{Binding FirstFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding ConsumableAmount}" Grid.Column="4" Style="{StaticResource middleTextBlock}"
Visibility="{Binding ConsumableAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding DeliveryExpressFreight}" Grid.Column="5" Style="{StaticResource middleTextBlock}"
Visibility="{Binding DeliveryExpressFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding InStorageAmount}" Grid.Column="6" Style="{StaticResource middleTextBlock}"
Visibility="{Binding InStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding OutStorageAmount}" Grid.Column="7" Style="{StaticResource middleTextBlock}"
Visibility="{Binding OutStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding StorageAmount}" Grid.Column="8" Style="{StaticResource middleTextBlock}"
Visibility="{Binding StorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding TotalCost2,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Grid.Column="9" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd}" Grid.Column="10" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Grid.Column="1" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="2" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="3" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="4" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="5" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="6" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="7" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="8" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="9" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="11" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
-->
<!--<TextBlock Text="汇总" Grid.Row="2"/>
<Grid Grid.Row="3">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
</Grid>-->
<!--
</Grid>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<StackPanel x:Name="sp_afterSaleOrder" Orientation="Horizontal"
Visibility="{Binding OrderCost.AfterTotalCost,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}">
<TextBlock>
<Run Text="售后成本"/>
<Run Text="{Binding OrderCost.AfterTotalCost}"/>
</TextBlock>
<Path Style="{StaticResource path_question}"
Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}"
ToolTipService.InitialShowDelay="0"
ToolTipService.ShowDuration="10000">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding AfterSaleOrderGroupList}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding SkuId,StringFormat=SKU {0}}" VerticalAlignment="Center"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" Grid.RowSpan="2">
<TextBlock Text="服务单号" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="1" Grid.ColumnSpan="2">
<TextBlock Text="商品成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="3" Grid.ColumnSpan="6">
<TextBlock Text="期间成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="9" Grid.ColumnSpan="3">
<TextBlock Text="售后耗损" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="1" Grid.Row="1">
<TextBlock Text="货款成本" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="2" Grid.Row="1">
<TextBlock Text="采购运费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="3" Grid.Row="1">
<TextBlock Text="头程费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="4" Grid.Row="1">
<TextBlock Text="打包耗材" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="5" Grid.Row="1">
<TextBlock Text="快递费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="6" Grid.Row="1">
<TextBlock Text="入库操作" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="7" Grid.Row="1">
<TextBlock Text="出库操作" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="8" Grid.Row="1">
<TextBlock Text="仓储费" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="9" Grid.Row="1">
<TextBlock Text="退货入仓" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="10" Grid.Row="1">
<TextBlock Text="售后补偿" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="11" Grid.Row="1">
<TextBlock Text="SD退货" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="12" Grid.RowSpan="2">
<TextBlock Text="售后小计" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Grid Background="{StaticResource Border.Background}" Grid.Column="13" Grid.RowSpan="2">
<TextBlock Text="退款到账" Style="{StaticResource middleTextBlock}"/>
</Grid>
<Border Grid.RowSpan="2" Grid.ColumnSpan="14" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1"/>
<Border Width="1" HorizontalAlignment="Right" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="2" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="3" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="4" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="5" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="6" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="7" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="8" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="9" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="10" Grid.Row="1" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="11" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Grid.Column="12" Grid.RowSpan="2" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.Column="1" Grid.ColumnSpan="11" Background="{StaticResource Border.Brush}"/>
</Grid>
<ListBox Grid.Row="2"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,0,1,0"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="25">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ServiceId}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding ReissueProductAmount}" Grid.Column="1" Style="{StaticResource middleTextBlock}"
Visibility="{Binding ReissueProductAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding ReissueFreight}" Grid.Column="2" Style="{StaticResource middleTextBlock}"
Visibility="{Binding ReissueFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding FirstFreight}" Grid.Column="3" Style="{StaticResource middleTextBlock}"
Visibility="{Binding FirstFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding ConsumableAmount}" Grid.Column="4" Style="{StaticResource middleTextBlock}"
Visibility="{Binding ConsumableAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding DeliveryExpressFreight}" Grid.Column="5" Style="{StaticResource middleTextBlock}"
Visibility="{Binding DeliveryExpressFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding InStorageAmount}" Grid.Column="6" Style="{StaticResource middleTextBlock}"
Visibility="{Binding InStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding OutStorageAmount}" Grid.Column="7" Style="{StaticResource middleTextBlock}"
Visibility="{Binding OutStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding StorageAmount}" Grid.Column="8" Style="{StaticResource middleTextBlock}"
Visibility="{Binding StorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding RefundInStorageAmount}" Grid.Column="9" Style="{StaticResource middleTextBlock}"
Visibility="{Binding RefundInStorageAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding ReissueAfterSaleAmount}" Grid.Column="10" Style="{StaticResource middleTextBlock}"
Visibility="{Binding ReissueAfterSaleAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding SDRefundFreight}" Grid.Column="11" Style="{StaticResource middleTextBlock}"
Visibility="{Binding SDRefundFreight,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Text="{Binding AfterTotalCost}" Grid.Column="12" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding RefundPurchaseAmount}" Grid.Column="13" Style="{StaticResource middleTextBlock}"
Visibility="{Binding RefundPurchaseAmount,ConverterParameter=0|0.0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Grid.Column="1" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="2" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="3" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="4" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="5" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="6" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="7" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="8" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="9" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="10" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="11" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Grid.Column="12" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Margin="0,0,-1,0"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="14" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
-->
<!--<TextBlock Text="汇总" Grid.Row="2"/>
<Grid Grid.Row="3">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
</Grid>-->
<!--
</Grid>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<TextBlock>
<Run Text="平台扣点"/>
<Run Text="{Binding OrderCost.PlatformCommissionAmount}"/>
<Run Text="{Binding OrderCost.PlatformCommissionRatio,StringFormat=({0:P})}"/>
</TextBlock>
<TextBlock x:Name="txt_sdCommissionAmount">
<Run Text="{Binding SDType,Converter={StaticResource objConverter},ConverterParameter=自刷:空单号/刷单号:SD佣金}"/>
<Run Text="{Binding OrderCost.SDCommissionAmount}"/>
</TextBlock>
<TextBlock>
<Run Text="成本总计"/>
<Run Text="{Binding OrderCost.TotalCost,Mode=OneWay}"/>
</TextBlock>
</StackPanel>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Column="3" VerticalAlignment="Bottom" Margin="0,0,0,23"
Visibility="{Binding Visibility,ElementName=btn_editCost}"/>
<c:BButton x:Name="btn_editCost" Content="修改" Grid.Column="3" VerticalAlignment="Bottom"
Foreground="{StaticResource Text.Color}"
HorizontalAlignment="Stretch"
Background="White"
Margin="0,0,1,0"
Command="{Binding DataContext.EditCostCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
CommandParameter="{Binding }"
Visibility="{Binding StorageType,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Height="23"/>
<StackPanel Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock>
<Run Text="利润"/>
<Run Text="{Binding OrderCost.Profit}"/>
</TextBlock>
<TextBlock>
<Run Text="利润率"/>
<Run Text="{Binding OrderCost.ProfitRatio,StringFormat=\{0\}%}"/>
</TextBlock>
</StackPanel>
<Grid x:Name="sp_store" Grid.Column="5">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock x:Name="txt_storeName"
Text="{Binding StoreName}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
Visibility="{Binding StoreName,Converter={StaticResource objConverter},ConverterParameter=#null|0:Collapsed:Visible}"/>
<StackPanel x:Name="sp_waybill" Orientation="Horizontal">
<TextBlock Text="{Binding WaybillNo,Converter={StaticResource waybillConverter}}"/>
<c:BButton x:Name="btn_waybillCopy" Style="{StaticResource LinkButton}"
Content="复制"
Command="{Binding DataContext.CopyOrderWaybillCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }" Margin="5,0,0,0"/>
</StackPanel>
</StackPanel>
<c:BButton x:Name="btn_outStore" Content="出库" VerticalAlignment="Bottom"
Foreground="{StaticResource Text.Color}"
HorizontalAlignment="Stretch"
Background="White"
Margin="0,0,1,0"
Height="25"
Visibility="Collapsed"
Command="{Binding DataContext.OutStockCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Margin="0,0,0,25"
Visibility="{Binding Visibility,ElementName=btn_outStore}"/>
</Grid>
<TextBlock Text="{Binding OrderState}" Grid.Column="6"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" Grid.Column="7" Margin="5,5,5,0">
<StackPanel x:Name="sp_buyerRemark">
<StackPanel Orientation="Horizontal">
<TextBlock Text="买家备注"/>
<c:BButton Content="复制" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding BuyerRemark}"/>
</StackPanel>
<TextBlock Text="{Binding BuyerRemark}" TextWrapping="Wrap"/>
</StackPanel>
<StackPanel x:Name="sp_venderRemark" Margin="0,5,0,0">
<StackPanel Orientation="Horizontal">
<TextBlock Text="商家备注"/>
<c:BButton x:Name="btn_copyVenderRemark" Content="复制" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding VenderRemark}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding DataContext.EditVenderRemarkCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Path x:Name="path_flag" Style="{StaticResource path_flag}" Width="16"
Fill="{Binding Flag}"/>
<TextBlock TextWrapping="Wrap" Text="{Binding VenderRemark}"/>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding WaybillNo}" Value="">
<Setter TargetName="sp_waybill" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding WaybillNo}" Value="-10000">
<Setter TargetName="btn_waybillCopy" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
-->
<!--<DataTrigger Binding="{Binding StoreName}" Value="">
<Setter TargetName="txt_storeName" Property="Visibility" Value="Collapsed"/>
</DataTrigger>-->
<!--
<DataTrigger Binding="{Binding BuyerRemark}" Value="">
<Setter TargetName="sp_buyerRemark" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding VenderRemark}" Value="">
<Setter TargetName="btn_copyVenderRemark" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding Consignee.IsDecode}" Value="True">
<Setter Property="Visibility" Value="Visible" TargetName="txt_consignee"/>
<Setter Property="Visibility" Value="Collapsed" TargetName="btn_decodeCommand"/>
</DataTrigger>
<DataTrigger Binding="{Binding PreferentialAmount}" Value="0">
<Setter TargetName="sp_orderCoupon" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding OrderCost.PurchaseAmount}" Value="0">
<Setter TargetName="path_purchaseAmount_question" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding Flag}" Value="{x:Null}">
<Setter TargetName="path_flag" Property="Fill" Value="{x:Null}"/>
<Setter TargetName="path_flag" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding OrderCost.SDCommissionAmount}" Value="0">
<Setter TargetName="txt_sdCommissionAmount" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
-->
<!--<DataTrigger Binding="{Binding StorageType}" Value="SD">
<Setter TargetName="sp_purchaseAmount" Property="Visibility" Value="Collapsed"/>
</DataTrigger>-->
<!--
<DataTrigger Binding="{Binding StorageType}" Value="代发">
<Setter TargetName="listbox_df" Property="Visibility" Value="Visible"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding StorageType}" Value="代发"/>
<Condition Binding="{Binding OrderState}" Value="待出库"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter TargetName="btn_outStore" Property="Visibility" Value="Visible"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>-->
<Border Grid.Row="6" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
@ -1670,14 +764,6 @@
</b:EventTrigger>
</b:Interaction.Triggers>
</c:PageControl>
<!--<TextBlock Grid.Row="8"
HorizontalAlignment="Right" VerticalAlignment="Center"
Margin="0,0,5,0"
Visibility="{Binding Visibility,ElementName=listbox_order}">
<Run Text="当前条件利润汇总"/>
<Run Text="{Binding CurrentConditionsTotalProfit,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</TextBlock>-->
</Grid>
</Grid>
</Page>

266
BBWY.Client/Views/ServiceOrder/ServiceOrderList.xaml

@ -0,0 +1,266 @@
<Page x:Class="BBWY.Client.Views.ServiceOrder.ServiceOrderList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:BBWY.Client.Views.ServiceOrder"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="2048"
Title="ServiceOrderList"
DataContext="{Binding ServiceOrderList,Source={StaticResource Locator}}">
<Page.Resources>
<sys:Int32 x:Key="d0">0</sys:Int32>
<sys:Int32 x:Key="d1">1</sys:Int32>
<sys:Int32 x:Key="d3">2</sys:Int32>
<sys:Int32 x:Key="d7">6</sys:Int32>
<sys:Int32 x:Key="d15">14</sys:Int32>
<sys:Int32 x:Key="d30">29</sys:Int32>
<sys:Int32 x:Key="ddaishouhuo">10005</sys:Int32>
<sys:Int32 x:Key="dyiwancheng">10010</sys:Int32>
</Page.Resources>
<Grid>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Margin="5,0">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="5"/>
<RowDefinition Height="30"/>
<RowDefinition Height="5"/>
<RowDefinition Height="30"/>
<RowDefinition Height="5"/>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}" HorizontalAlignment="Left" Height="75" Panel.ZIndex="999">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0" Height="30">
<StackPanel.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</StackPanel.Resources>
<TextBlock Text="下单时间" VerticalAlignment="Center" Margin="5,0,0,0"/>
<DatePicker SelectedDate="{Binding StartDate}" Width="133.5" Height="30" VerticalContentAlignment="Center" FocusVisualStyle="{x:Null}" Margin="5,0,0,0"/>
<DatePicker SelectedDate="{Binding EndDate}" Width="133.5" Height="30" VerticalContentAlignment="Center" FocusVisualStyle="{x:Null}" Margin="5,0,0,0"/>
<TextBlock Text="订单号" VerticalAlignment="Center" Margin="5,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchOrderId}" WaterRemark="精确匹配"/>
<TextBlock Text="SPU" VerticalAlignment="Center" Margin="5,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" WaterRemark="精确匹配" Text="{Binding SearchProductId}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="0,0,0,5" Height="30">
<c:BButton Content="今天" Width="50" Height="25" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d0}"/>
<c:BButton Content="昨天" Width="50" Height="25" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d1}"/>
<c:BButton Content="近3天" Width="50" Height="25" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d3}"/>
<c:BButton Content="近7天" Width="50" Height="24" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d7}"/>
<c:BButton Content="近15天" Width="50" Height="25" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d15}"/>
<c:BButton Content="近30天" Width="50" Height="25" Margin="5,0,0,0"
Command="{Binding SetSearchDateCommand}"
CommandParameter="{StaticResource d30}"/>
<TextBlock Text="服务单" VerticalAlignment="Center" Margin="5,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchServiceId}" WaterRemark="精确匹配"/>
<TextBlock Text="SKU" VerticalAlignment="Center" Margin="5,0,0,0"/>
<c:BTextBox Width="150" Margin="5,0,0,0" Text="{Binding SearchSku}" WaterRemark="精确匹配"/>
<c:BButton Content="同步" Width="50" Margin="5,0,0,0" Command="{Binding SyncOrderCommand}" ToolTipService.InitialShowDelay="0" ToolTipService.ShowDuration="10000"
Visibility="Collapsed">
<c:BButton.ToolTip>
<StackPanel>
<TextBlock Text="1.使用筛选条件中的开始时间和结束时间进行同步"/>
<TextBlock Text="2.从开始时间起每次同步3小时时长的订单直到到达结束时间"/>
<TextBlock Text="3.已存在未结束的同步任务将不会重复执行"/>
</StackPanel>
</c:BButton.ToolTip>
</c:BButton>
</StackPanel>
<Grid Grid.Column="1" Grid.RowSpan="3">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Content="搜索" Width="50" VerticalAlignment="Stretch" Margin="5,0,0,0" Command="{Binding SearchOrderCommand}"
Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
<Button Content="导出" Command="{Binding ExportCommand}" Width="50" Grid.Column="1"
Visibility="{Binding Visibility,ElementName=listbox_order}" Background="#1CC2A2" BorderThickness="0" Foreground="White"/>
<Button Content="同步" Command="{Binding SyncOrderCommand}" Width="50" Grid.Column="1" Grid.Row="1"
Visibility="{Binding Visibility,ElementName=listbox_order}" Background="#02A7F0" BorderThickness="0" Foreground="White"/>
</Grid>
</Grid>
<StackPanel Grid.Row="2" HorizontalAlignment="Left" Orientation="Horizontal">
<TextBlock Text="服务单状态" VerticalAlignment="Center"/>
<c:BButton Content="全部" Width="100" Margin="5,0,0,0"
Background="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=#null:#8080FF:#F2F2F2}"
Foreground="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=#null:White:#4A4A4A}"
Command="{Binding SetServiceOrderStateCommand}" CommandParameter="{x:Null}"/>
<c:BButton Content="待收货" Width="100"
Background="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=待收货:#8080FF:#F2F2F2}"
Foreground="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=待收货:White:#4A4A4A}"
Command="{Binding SetServiceOrderStateCommand}" CommandParameter="{x:Static cmodel:ServiceOrderState.待收货}"/>
<c:BButton Content="已完成" Width="100"
Background="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=已完成:#8080FF:#F2F2F2}"
Foreground="{Binding ServiceOrderState,Converter={StaticResource objConverter},ConverterParameter=已完成:White:#4A4A4A}"
Command="{Binding SetServiceOrderStateCommand}" CommandParameter="{x:Static cmodel:ServiceOrderState.已完成}"/>
<TextBlock Text="退货去向" VerticalAlignment="Center" Margin="30,0,0,0"/>
<c:BButton Content="全部" Width="100" Margin="5,0,0,0"
Background="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=#null:#8080FF:#F2F2F2}"
Foreground="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=#null:White:#4A4A4A}"
Command="{Binding SetReturnDirectionCommand}" CommandParameter="{x:Null}"/>
<c:BButton Content="退货仓" Width="100"
Background="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=退货仓:#8080FF:#F2F2F2}"
Foreground="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=退货仓:White:#4A4A4A}"
Command="{Binding SetReturnDirectionCommand}" CommandParameter="{x:Static cmodel:ReturnDirection.退货仓}"/>
<c:BButton Content="采购商" Width="100"
Background="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=采购商:#8080FF:#F2F2F2}"
Foreground="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=采购商:White:#4A4A4A}"
Command="{Binding SetReturnDirectionCommand}" CommandParameter="{x:Static cmodel:ReturnDirection.采购商}"/>
<c:BButton Content="原返" Width="100"
Background="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=原返:#8080FF:#F2F2F2}"
Foreground="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=原返:White:#4A4A4A}"
Command="{Binding SetReturnDirectionCommand}" CommandParameter="{x:Static cmodel:ReturnDirection.原返}"/>
<c:BButton Content="无退货" Width="100"
Background="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=无退货:#8080FF:#F2F2F2}"
Foreground="{Binding ReturnDirection,Converter={StaticResource objConverter},ConverterParameter=无退货:White:#4A4A4A}"
Command="{Binding SetReturnDirectionCommand}" CommandParameter="{x:Static cmodel:ReturnDirection.无退货}"/>
</StackPanel>
<Border Grid.Row="4" Background="{StaticResource Border.Background}">
<StackPanel Orientation="Horizontal">
<CheckBox Content="仅显示采购单未退款" VerticalContentAlignment="Center"/>
</StackPanel>
</Border>
<Border Grid.Row="6" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
Background="#F2F2F2"
Visibility="{Binding Visibility,ElementName=listbox_afterSaleOrder}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="360"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="退货去向" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="退货检查备注" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="商品情况" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="采购单" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="售后成本" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="退货物流" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
</Grid>
</Border>
<ListBox x:Name="listbox_serviceOrder"
Grid.Row="7"
ItemsSource="{Binding ServiceOrderList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_serviceOrder,Converter={StaticResource widthConverter},ConverterParameter=-0}">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="#F2F2F2">
<StackPanel Orientation="Horizontal">
<Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1"
Background="White"
Padding="10,0"
Height="25"
Margin="5,0,0,0">
<TextBlock Text="待收货"
Foreground="{StaticResource Text.Pink}"
VerticalAlignment="Center"/>
</Border>
<TextBlock Text="2023-01-03 23:59:59" VerticalAlignment="Center" Margin="10,0,0,0"/>
<TextBlock VerticalAlignment="Center" Margin="10,0,0,0">
<Run Text="服务单类型:"/>
<Run Text="退货" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
<TextBlock Text="服务单号:" Margin="10,0,0,0" VerticalAlignment="Center"/>
<c:BButton Content="1234567" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding ServiceId}" Margin="3,0,0,0"/>
<TextBlock VerticalAlignment="Center" Margin="10,0,0,0">
<Run Text="仓储类型:"/>
<Run Text="代发" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
<TextBlock Text="订单号:" Margin="10,0,0,0" VerticalAlignment="Center"/>
<c:BButton Content="1234567" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding OrderId}" Margin="3,0,0,0"/>
</StackPanel>
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<c:PageControl PageIndex="{Binding PageIndex}"
PageSize="{Binding PageSize}"
RecordCount="{Binding ServiceOrderCount}"
Grid.Row="8"
HorizontalAlignment="Left">
<b:Interaction.Triggers>
<b:EventTrigger EventName="OnPageIndexChanged">
<b:InvokeCommandAction Command="{Binding OnPageIndexChangedCommand}" PassEventArgsToCommand="True"/>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:PageControl>
</Grid>
</Grid>
</Page>

26
BBWY.Client/Views/ServiceOrder/ServiceOrderList.xaml.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
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 BBWY.Client.Views.ServiceOrder
{
/// <summary>
/// ServiceOrderList.xaml 的交互逻辑
/// </summary>
public partial class ServiceOrderList : Page
{
public ServiceOrderList()
{
InitializeComponent();
}
}
}

28
BBWY.Server.API/Controllers/ServiceOrderController.cs

@ -0,0 +1,28 @@
using BBWY.Server.Business;
using BBWY.Server.Model.Dto;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace BBWY.Server.API.Controllers
{
public class ServiceOrderController : BaseApiController
{
private ServiceOrderBusiness serviceOrderBusiness { get; set; }
public ServiceOrderController(IHttpContextAccessor httpContextAccessor, ServiceOrderBusiness serviceOrderBusiness) : base(httpContextAccessor)
{
this.serviceOrderBusiness = serviceOrderBusiness;
}
/// <summary>
/// 查询服务单
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ServicOrderResponse GetList([FromBody] ClientQueryServiceOrderRequest request)
{
return serviceOrderBusiness.GetList(request);
}
}
}

6
BBWY.Server.Business/BBWY.Server.Business.csproj

@ -5,12 +5,6 @@
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Remove="新文件夹\**" />
<EmbeddedResource Remove="新文件夹\**" />
<None Remove="新文件夹\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FreeSql" Version="2.6.100" />
<PackageReference Include="FreeSql.Provider.MySql" Version="2.6.100" />

2
BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs

@ -188,7 +188,7 @@ namespace BBWY.Server.Business
throw new NotImplementedException();
}
public virtual JArray GetServiceOrderList(Model.Dto.QueryServiceOrderRequest request)
public virtual JArray GetServiceOrderList(QueryServiceOrderRequest request)
{
throw new NotImplementedException();
}

72
BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs

@ -0,0 +1,72 @@
using BBWY.Common.Models;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using Yitter.IdGenerator;
namespace BBWY.Server.Business
{
public class ServiceOrderBusiness : BaseBusiness, IDenpendency
{
public ServiceOrderBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator)
{
}
public ServicOrderResponse GetList(ClientQueryServiceOrderRequest request)
{
var list = fsql.Select<ServiceOrder, OrderSku>().InnerJoin((s, osku) => s.OrderId == osku.OrderId && s.SkuId == osku.SkuId)
.Where((s, osku) => s.ShopId == request.ShopId)
.WhereIf(!string.IsNullOrEmpty(request.Sku), (s, osku) => s.SkuId == request.Sku)
.WhereIf(!string.IsNullOrEmpty(request.Spu), (s, osku) => s.ProductId == request.Spu)
.WhereIf(!string.IsNullOrEmpty(request.OrderId), (s, osku) => s.OrderId == request.OrderId)
.WhereIf(!string.IsNullOrEmpty(request.ServiceId), (s, osku) => s.ServiceId == request.ServiceId)
.WhereIf(request.ServiceOrderState != null, (s, osku) => s.Status == request.ServiceOrderState)
.WhereIf(request.ReturnDirection != null, (s, osku) => s.ReturnDirection == request.ReturnDirection)
.WhereIf(request.StartDate != null, (s, osku) => s.ApplyTime >= request.StartDate)
.WhereIf(request.EndDate != null, (s, osku) => s.ApplyTime <= request.EndDate)
.OrderByDescending((s, osku) => s.ApplyTime)
.Count(out var total)
.Page(request.PageIndex, request.PageSize)
.ToList((s, osku) => new ServiceOrderItemResponse
{
Id = s.Id,
ApplyTime = s.ApplyTime,
CreateTime = s.CreateTime,
ExpressName = s.ExpressName,
WayBillNo = s.WayBillNo,
ImageName = s.ImageName,
OrderId = s.OrderId,
SkuId = s.SkuId,
ProductId = s.ProductId,
ProductAppearance = s.ProductAppearance,
ProductFunction = s.ProductFunction,
ProductHealth = s.ProductHealth,
ProductPackage = s.ProductPackage,
ServiceResult = s.ServiceResult,
TransportDetails = s.TransportDetails,
WareHouseGrounpRemark = s.WareHouseGrounpRemark,
Status = s.Status,
ServiceId = s.ServiceId,
ShopId = s.ShopId,
Title = osku.Title,
ItemTotal = osku.ItemTotal.Value,
Logo = osku.Logo,
Price = osku.Price.Value,
SkuItemCount = osku.ItemTotal.Value,
ReturnDirection = s.ReturnDirection,
ServiceOrderRemark = s.ServiceOrderRemark,
StatusUpdateTime = s.StatusUpdateTime,
PurchaseOrderId = s.PurchaseOrderId,
PurchasePlatform = s.PurchasePlatform
});
return new ServicOrderResponse()
{
Count = total,
Items = list
};
}
}
}

23
BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs

@ -132,7 +132,7 @@ huitongkuaidi 百世快递
foreach (var serviceOrderJToken in jtokenList)
{
var serviceId = serviceOrderJToken.Value<string>("serviceId");
var status = serviceOrderJToken.Value<int>("serviceStatus");
var status = (Enums.ServiceOrderState)serviceOrderJToken.Value<int>("serviceStatus");
var statusUpdateTime = serviceOrderJToken.Value<long>("updateTime").StampToDateTime();
var dbServiceOrder = dbServiceOrderList.FirstOrDefault(s => s.ServiceId == serviceId);
if (dbServiceOrder == null)
@ -146,7 +146,7 @@ huitongkuaidi 百世快递
var isTuiHuoCang = false;
#region 待收货服务单,检查是否需要订阅快递100
if (status == 10005)
if (status == Enums.ServiceOrderState.)
{
try
{
@ -486,31 +486,31 @@ huitongkuaidi 百世快递
if (expressOrder == null)
throw new Exception($"快递单号{waybillNo} 未找到对应的快递单");
if (expressOrder.TransportStatus == 1) //已入库
if (expressOrder.TransportStatus == Enums.TransportState.) //已入库
return;
IUpdate<ExpressOrder> updateExpressOrder = null;
List<IUpdate<ServiceOrder>> updateServiceOrderList = new List<IUpdate<ServiceOrder>>();
var isUpdate = false;
var newStatus = 0;
Enums.TransportState? newStatus = null;
DateTime? signTime = null;
if (kuaiDi100PushStateList_zaitu.Contains(state) || kuaiDi100PushStateList_lanshou.Contains(state))
{
//在途 //揽收
if (expressOrder.TransportStatus != 3)
if (expressOrder.TransportStatus != Enums.TransportState.)
{
isUpdate = true;
newStatus = 3;
newStatus = Enums.TransportState.;
}
}
else if (kuaiDi100PushStateList_qianshou.Contains(state))
{
if (expressOrder.TransportStatus != 0)
if (expressOrder.TransportStatus != Enums.TransportState.)
{
isUpdate = true;
newStatus = 0;
newStatus = Enums.TransportState.;
var data = jobject["lastResult"]["data"].Children().FirstOrDefault(d => d.Value<int>("statusCode") == 3);
if (data != null)
@ -519,10 +519,10 @@ huitongkuaidi 百世快递
}
else if (kuaiDi100PushStateList_paijian.Contains(state))
{
if (expressOrder.TransportStatus != 2)
if (expressOrder.TransportStatus != Enums.TransportState.)
{
isUpdate = true;
newStatus = 2;
newStatus = Enums.TransportState.;
}
}
@ -532,11 +532,12 @@ huitongkuaidi 百世快递
{
fsql.Update<ExpressOrder>(expressOrder.Id).Set(e => e.TransportStatus, newStatus)
.SetIf(state == 3, e => e.SignTime, signTime)
.Set(e => e.UpdateTime, DateTime.Now)
.ExecuteAffrows(); //签收
foreach (var serviceOrder in serviceOrderList)
{
if (serviceOrder.TransportDetails == 1)
if (serviceOrder.TransportDetails == Enums.TransportState.)
continue;
fsql.Update<ServiceOrder>(serviceOrder.Id).Set(s => s.TransportDetails, newStatus)
.ExecuteAffrows();

4
BBWY.Server.Model/Db/Order/ExpressOrder.cs

@ -45,8 +45,8 @@ namespace BBWY.Server.Model.Db
/// <summary>
/// 物流状态(0=待质检,1=已入库,2=派送中,3=运输中)
/// </summary>
public int? TransportStatus { get; set; }
[Column(MapType = typeof(int?))]
public Enums.TransportState? TransportStatus { get; set; }
[Column(DbType = "datetime")]
public DateTime? UpdateTime { get; set; }

556
BBWY.Server.Model/Db/Order/Serviceorder.cs

@ -7,284 +7,282 @@ namespace BBWY.Server.Model.Db
/// <summary>
/// 服务单表(new)
/// </summary>
[ Table(Name = "serviceorder", DisableSyncStructure = true)]
public partial class ServiceOrder {
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 售后成本(不含退款采购成本)
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? AfterTotalCost { get; set; } = 0.00M;
/// <summary>
/// 申请时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? ApplyTime { get; set; }
/// <summary>
/// 耗材费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? ConsumableAmount { get; set; } = 0.00M;
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 发货快递费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? DeliveryExpressFreight { get; set; } = 0.00M;
/// <summary>
/// 头程费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? FirstFreight { get; set; } = 0.00M;
/// <summary>
/// 退货拍摄图(名称)
/// </summary>
[Column(StringLength = 1000)]
public string ImageName { get; set; }
/// <summary>
/// 入仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? InStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 是否订阅快递100
/// </summary>
public bool? IsSubscribeKuaiDi100 { get; set; }
/// <summary>
/// 是否需要订阅快递100
/// </summary>
public bool? IsNeedSubscribeKuaiDi100 { get; set; }
[Column(StringLength = 50)]
public string OrderId { get; set; }
/// <summary>
/// 出仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? OutStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 产品外观 (严重损=0 轻微损=1 新=2)
/// </summary>
public int? ProductAppearance { get; set; }
/// <summary>
/// 产品功能 (坏=0 好=1)
/// </summary>
public int? ProductFunction { get; set; }
/// <summary>
/// 商品健康状态 (残次品=0 良品=1)
/// </summary>
public int? ProductHealth { get; set; }
/// <summary>
/// 商品情况(定义待变更);名称待定,以前的商品情况,叶总需要更换定义
/// </summary>
public int? ProductHealth2 { get; set; }
[Column(StringLength = 50)]
public string ProductId { get; set; }
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
public int? ProductPackage { get; set; }
/// <summary>
/// 商品处理方式;弃用
/// </summary>
public int? ProductResult { get; set; }
/// <summary>
/// 采购方式
/// </summary>
public int? PurchaseMethod { get; set; }
/// <summary>
/// 采购单号
/// </summary>
[Column(StringLength = 100)]
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购单主键
/// </summary>
public long? PurchaseOrderPKId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
public int? PurchasePlatform { get; set; }
/// <summary>
/// 退款支付宝订单号
/// </summary>
[Column(StringLength = 100)]
public string RefundAlipayOrderNo { get; set; }
/// <summary>
/// 退款金额
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? RefundAmount { get; set; } = 0.00M;
/// <summary>
/// 退货入仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? RefundInStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 退款商户订单号
/// </summary>
[Column(StringLength = 100)]
public string RefundMerchantOrderNo { get; set; }
/// <summary>
/// 退款采购成本
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? RefundPurchaseAmount { get; set; } = 0.00M;
/// <summary>
/// 退款时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? RefundTime { get; set; }
/// <summary>
/// 售后补发成本
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueAfterSaleAmount { get; set; } = 0.00M;
/// <summary>
/// 补发快递费
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueFreight { get; set; } = 0.00M;
/// <summary>
/// 补发货款成本
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueProductAmount { get; set; } = 0.00M;
/// <summary>
/// 退货去向(退货仓=0,采购商=1,原返=2,无退货=3)
/// </summary>
public int? ReturnDirection { get; set; }
/// <summary>
/// SD退货运费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? SDRefundFreight { get; set; } = 0.00M;
/// <summary>
/// 服务单号
/// </summary>
[Column(StringLength = 20)]
public string ServiceId { get; set; }
/// <summary>
/// 服务单租备注
/// </summary>
[Column(StringLength = 100)]
public string ServiceOrderRemark { get; set; }
/// <summary>
/// 服务单处理结果
/// </summary>
public int? ServiceResult { get; set; }
[Column(StringLength = 20)]
public string ShopId { get; set; }
[Column(StringLength = 50)]
public string SkuId { get; set; }
/// <summary>
/// SKU销售件数
/// </summary>
public int? SkuItemCount { get; set; }
/// <summary>
/// 服务单状态
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 变更时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? StatusUpdateTime { get; set; }
/// <summary>
/// 仓储费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? StorageAmount { get; set; } = 0.00M;
/// <summary>
/// 服务单物流状态(0=待质检,1=已入库,2=派送中,3=运输中)
/// </summary>
public int? TransportDetails { get; set; }
/// <summary>
/// 仓库组备注
/// </summary>
[Column(StringLength = 100)]
public string WareHouseGrounpRemark { get; set; }
/// <summary>
/// 快递单号
/// </summary>
[Column(StringLength = 100)]
public string WayBillNo { get; set; }
/// <summary>
/// 快递公司名称
/// </summary>
[Column(StringLength = 100)]
public string ExpressName { get; set; }
/// <summary>
/// 质检入库时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? QualityInspectionInStoreTime { get; set; }
}
[Table(Name = "serviceorder", DisableSyncStructure = true)]
public partial class ServiceOrder
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 售后成本(不含退款采购成本)
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? AfterTotalCost { get; set; } = 0.00M;
/// <summary>
/// 申请时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? ApplyTime { get; set; }
/// <summary>
/// 耗材费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? ConsumableAmount { get; set; } = 0.00M;
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 发货快递费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? DeliveryExpressFreight { get; set; } = 0.00M;
/// <summary>
/// 头程费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? FirstFreight { get; set; } = 0.00M;
/// <summary>
/// 退货拍摄图(名称)
/// </summary>
[Column(StringLength = 1000)]
public string ImageName { get; set; }
/// <summary>
/// 入仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? InStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 是否订阅快递100
/// </summary>
public bool? IsSubscribeKuaiDi100 { get; set; }
/// <summary>
/// 是否需要订阅快递100
/// </summary>
public bool? IsNeedSubscribeKuaiDi100 { get; set; }
[Column(StringLength = 50)]
public string OrderId { get; set; }
/// <summary>
/// 出仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? OutStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 产品外观 (严重损=0 轻微损=1 新=2)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ProductAppearance? ProductAppearance { get; set; }
/// <summary>
/// 产品功能 (坏=0 好=1)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ProductFunction? ProductFunction { get; set; }
/// <summary>
/// 商品健康状态 (残次品=0 良品=1)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.NewProductHealth? ProductHealth { get; set; }
[Column(StringLength = 50)]
public string ProductId { get; set; }
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ProductPackage? ProductPackage { get; set; }
/*
/// <summary>
/// 商品处理方式;弃用
/// </summary>
public int? ProductResult { get; set; }
*/
/// <summary>
/// 采购方式
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.PurchaseMethod? PurchaseMethod { get; set; }
/// <summary>
/// 采购单号
/// </summary>
[Column(StringLength = 100)]
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购单主键
/// </summary>
public long? PurchaseOrderPKId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.Platform? PurchasePlatform { get; set; }
/// <summary>
/// 退款支付宝订单号
/// </summary>
[Column(StringLength = 100)]
public string RefundAlipayOrderNo { get; set; }
/// <summary>
/// 退款金额
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? RefundAmount { get; set; } = 0.00M;
/// <summary>
/// 退货入仓操作费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? RefundInStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 退款商户订单号
/// </summary>
[Column(StringLength = 100)]
public string RefundMerchantOrderNo { get; set; }
/// <summary>
/// 退款采购成本
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? RefundPurchaseAmount { get; set; } = 0.00M;
/// <summary>
/// 退款时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? RefundTime { get; set; }
/// <summary>
/// 售后补发成本
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueAfterSaleAmount { get; set; } = 0.00M;
/// <summary>
/// 补发快递费
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueFreight { get; set; } = 0.00M;
/// <summary>
/// 补发货款成本
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal? ReissueProductAmount { get; set; } = 0.00M;
/// <summary>
/// 退货去向(退货仓=0,采购商=1,原返=2,无退货=3)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ReturnDirection? ReturnDirection { get; set; }
/// <summary>
/// SD退货运费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? SDRefundFreight { get; set; } = 0.00M;
/// <summary>
/// 服务单号
/// </summary>
[Column(StringLength = 20)]
public string ServiceId { get; set; }
/// <summary>
/// 服务单租备注
/// </summary>
[Column(StringLength = 100)]
public string ServiceOrderRemark { get; set; }
/// <summary>
/// 服务单处理结果
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ServiceResult? ServiceResult { get; set; }
[Column(StringLength = 20)]
public string ShopId { get; set; }
[Column(StringLength = 50)]
public string SkuId { get; set; }
/// <summary>
/// SKU销售件数
/// </summary>
public int? SkuItemCount { get; set; }
/// <summary>
/// 服务单状态 待收货 = 10005,取消 = 10011,完成 = 10010
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.ServiceOrderState? Status { get; set; }
/// <summary>
/// 变更时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? StatusUpdateTime { get; set; }
/// <summary>
/// 仓储费
/// </summary>
[Column(DbType = "decimal(18,2)")]
public decimal? StorageAmount { get; set; } = 0.00M;
/// <summary>
/// 服务单物流状态(0=待质检,1=已入库,2=派送中,3=运输中)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.TransportState? TransportDetails { get; set; }
/// <summary>
/// 仓库组备注
/// </summary>
[Column(StringLength = 100)]
public string WareHouseGrounpRemark { get; set; }
/// <summary>
/// 快递单号
/// </summary>
[Column(StringLength = 100)]
public string WayBillNo { get; set; }
/// <summary>
/// 快递公司名称
/// </summary>
[Column(StringLength = 100)]
public string ExpressName { get; set; }
/// <summary>
/// 质检入库时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? QualityInspectionInStoreTime { get; set; }
}
}

30
BBWY.Server.Model/Dto/Request/ServiceOrder/ClientQueryServiceOrderRequest.cs

@ -0,0 +1,30 @@

using System;
namespace BBWY.Server.Model.Dto
{
public class ClientQueryServiceOrderRequest
{
public string OrderId { get; set; }
public string Sku { get; set; }
public string Spu { get; set; }
public string ServiceId { get; set; }
public string ShopId { get; set; }
public Enums.ServiceOrderState? ServiceOrderState { get; set; }
public Enums.ReturnDirection? ReturnDirection { get; set; }
public int PageIndex { get; set; }
public int PageSize { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
}
}

263
BBWY.Server.Model/Dto/Response/ServiceOrder/ServiceOrderItemResponse.cs

@ -0,0 +1,263 @@
using FreeSql.DataAnnotations;
using System;
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
public class ServiceOrderItemResponse
{
public long Id { get; set; }
/// <summary>
/// 售后成本(不含退款采购成本)
/// </summary>
public decimal? AfterTotalCost { get; set; } = 0.00M;
/// <summary>
/// 申请时间
/// </summary>
public DateTime? ApplyTime { get; set; }
/// <summary>
/// 耗材费
/// </summary>
public decimal? ConsumableAmount { get; set; } = 0.00M;
public DateTime? CreateTime { get; set; }
/// <summary>
/// 发货快递费
/// </summary>
public decimal? DeliveryExpressFreight { get; set; } = 0.00M;
/// <summary>
/// 头程费
/// </summary>
public decimal? FirstFreight { get; set; } = 0.00M;
/// <summary>
/// 退货拍摄图(名称)
/// </summary>
public string ImageName { get; set; }
/// <summary>
/// 入仓操作费
/// </summary>
public decimal? InStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 是否订阅快递100
/// </summary>
public bool? IsSubscribeKuaiDi100 { get; set; }
/// <summary>
/// 是否需要订阅快递100
/// </summary>
public bool? IsNeedSubscribeKuaiDi100 { get; set; }
public string OrderId { get; set; }
/// <summary>
/// 出仓操作费
/// </summary>
public decimal? OutStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 产品外观 (严重损=0 轻微损=1 新=2)
/// </summary>
public Enums.ProductAppearance? ProductAppearance { get; set; }
/// <summary>
/// 产品功能 (坏=0 好=1)
/// </summary>
public Enums.ProductFunction? ProductFunction { get; set; }
/// <summary>
/// 商品健康状态 (残次品=0 良品=1)
/// </summary>
public Enums.NewProductHealth? ProductHealth { get; set; }
[Column(StringLength = 50)]
public string ProductId { get; set; }
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
public Enums.ProductPackage? ProductPackage { get; set; }
/// <summary>
/// 采购方式
/// </summary>
public Enums.PurchaseMethod? PurchaseMethod { get; set; }
/// <summary>
/// 采购单号
/// </summary>
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购单主键
/// </summary>
public long? PurchaseOrderPKId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
public Enums.Platform? PurchasePlatform { get; set; }
/// <summary>
/// 退款支付宝订单号
/// </summary>
public string RefundAlipayOrderNo { get; set; }
/// <summary>
/// 退款金额
/// </summary>
public decimal? RefundAmount { get; set; } = 0.00M;
/// <summary>
/// 退货入仓操作费
/// </summary>
public decimal? RefundInStorageAmount { get; set; } = 0.00M;
/// <summary>
/// 退款商户订单号
/// </summary>
public string RefundMerchantOrderNo { get; set; }
/// <summary>
/// 退款采购成本
/// </summary>
public decimal? RefundPurchaseAmount { get; set; } = 0.00M;
/// <summary>
/// 退款时间
/// </summary>
public DateTime? RefundTime { get; set; }
/// <summary>
/// 售后补发成本
/// </summary>
public decimal? ReissueAfterSaleAmount { get; set; } = 0.00M;
/// <summary>
/// 补发快递费
/// </summary>
public decimal? ReissueFreight { get; set; } = 0.00M;
/// <summary>
/// 补发货款成本
/// </summary>
public decimal? ReissueProductAmount { get; set; } = 0.00M;
/// <summary>
/// 退货去向(退货仓=0,采购商=1,原返=2,无退货=3)
/// </summary>
public Enums.ReturnDirection? ReturnDirection { get; set; }
/// <summary>
/// SD退货运费
/// </summary>
public decimal? SDRefundFreight { get; set; } = 0.00M;
/// <summary>
/// 服务单号
/// </summary>
public string ServiceId { get; set; }
/// <summary>
/// 服务单租备注
/// </summary>
public string ServiceOrderRemark { get; set; }
/// <summary>
/// 服务单处理结果
/// </summary>
public Enums.ServiceResult? ServiceResult { get; set; }
public string ShopId { get; set; }
public string SkuId { get; set; }
/// <summary>
/// SKU销售件数
/// </summary>
public int? SkuItemCount { get; set; }
/// <summary>
/// 服务单状态 待收货 = 10005,取消 = 10011,完成 = 10010
/// </summary>
public Enums.ServiceOrderState? Status { get; set; }
/// <summary>
/// 变更时间
/// </summary>
public DateTime? StatusUpdateTime { get; set; }
/// <summary>
/// 仓储费
/// </summary>
public decimal? StorageAmount { get; set; } = 0.00M;
/// <summary>
/// 服务单物流状态(0=待质检,1=已入库,2=派送中,3=运输中)
/// </summary>
public Enums.TransportState? TransportDetails { get; set; }
/// <summary>
/// 仓库组备注
/// </summary>
public string WareHouseGrounpRemark { get; set; }
/// <summary>
/// 快递单号
/// </summary>
public string WayBillNo { get; set; }
/// <summary>
/// 快递公司名称
/// </summary>
public string ExpressName { get; set; }
/// <summary>
/// 质检入库时间
/// </summary>
public DateTime? QualityInspectionInStoreTime { get; set; }
#region Sku
public string Logo { get; set; }
public string Title { get; set; }
//public string ContactName { get; set; }
//public string Mobile { get; set; }
public int ItemTotal { get; set; }
public decimal Price { get; set; }
#endregion
}
public class ServicOrderResponse
{
public IList<ServiceOrderItemResponse> Items { get; set; }
public long Count { get; set; }
}
}

58
BBWY.Server.Model/Enums.cs

@ -16,7 +16,7 @@
}
/// <summary>
/// 采购方式
/// 采购方式 线上采购 = 0,线下采购 = 1
/// </summary>
public enum PurchaseMethod
{
@ -255,5 +255,61 @@
{
= 0, = 1, = 2
}
/// <summary>
/// 服务单状态
/// </summary>
public enum ServiceOrderState
{
= 10005,
= 10011,
= 10010
}
public enum ReturnDirection
{
退 = 0, = 1, = 2, 退 = 3
}
/// <summary>
/// 运输状态 0=待质检,1=已入库,2=派送中,3=运输中
/// </summary>
public enum TransportState
{
= 0, = 1, = 2, = 3
}
/// <summary>
/// 商品健康状态 残次品=0 良品=1
/// </summary>
public enum NewProductHealth
{
= 0, = 1
}
/// <summary>
/// 产品功能 坏=0 好=1
/// </summary>
public enum ProductFunction
{
= 0, = 1
}
/// <summary>
/// 产品外观 (严重损=0 轻微损=1 新=2)
/// </summary>
public enum ProductAppearance
{
= 0, = 1, = 2
}
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
public enum ProductPackage
{
= 0, = 1, = 2
}
}
}

2
JD.API/Controllers/PlatformSDKController.cs

@ -340,7 +340,7 @@ namespace JD.API.API.Controllers
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public JArray GetServiceOrderList([FromBody] QueryServiceOrderRequest request)
public JArray GetServiceOrderList([FromBody] ClientQueryServiceOrderRequest request)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetServiceOrderList(request);
}

Loading…
Cancel
Save