Browse Source

售后

qianyi
shanji 3 years ago
parent
commit
2aa26623b4
  1. 52
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  2. 34
      BBWY.Client/Views/Order/EditAfterSaleOrderSku.xaml
  3. 132
      BBWY.Client/Views/Order/OrderList.xaml
  4. 2
      BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs
  5. 12
      BBWY.Server.Model/Db/Order/AfterSaleOrder.cs

52
BBWY.Client/ViewModels/Order/OrderListViewModel.cs

@ -179,7 +179,7 @@ namespace BBWY.Client.ViewModels
EditVenderRemarkCommand = new RelayCommand<Order>(EditVenderRemark); EditVenderRemarkCommand = new RelayCommand<Order>(EditVenderRemark);
ExportCommand = new RelayCommand(Export); ExportCommand = new RelayCommand(Export);
SetIncludeAfterOrderCommand = new RelayCommand(SetIncludeAfterOrder); SetIncludeAfterOrderCommand = new RelayCommand(SetIncludeAfterOrder);
EditAfterSaleOrderCommand = new RelayCommand<object>(EditAfterSaleOrder); EditAfterSaleOrderCommand = new RelayCommand<AfterSaleOrder>(EditAfterSaleOrder);
SearchOrderCommand.Execute(null); SearchOrderCommand.Execute(null);
} }
@ -792,30 +792,12 @@ namespace BBWY.Client.ViewModels
}); });
} }
private void EditAfterSaleOrder(object param) private void EditAfterSaleOrder(AfterSaleOrder afterSaleOrder)
{ {
//var paramList = (object[])param;
//var orderId = paramList[0].ToString();
//var skuId = paramList[1].ToString();
//var order = OrderList.FirstOrDefault(o => o.Id == orderId); var editAfterSaleOrderSku = new EditAfterSaleOrderSku(afterSaleOrder);
//var sku = order.ItemList.FirstOrDefault(s => s.Id == skuId); editAfterSaleOrderSku.Closed += EditAfterSaleOrderSku_Closed;
editAfterSaleOrderSku.ShowDialog();
//var afterSaleOrderSku = order.AfterSaleOrderList.FirstOrDefault(aso => aso.OrderId == orderId && aso.SkuId == skuId);
//if (afterSaleOrderSku == null)
//{
// afterSaleOrderSku = new AfterSaleOrder()
// {
// Id = 0,
// SkuId = skuId,
// OrderId = orderId,
// ProductId = sku.ProductId,
// ShopId = globalContext.User.Shop.ShopId
// };
//}
//var editAfterSaleOrderSku = new EditAfterSaleOrderSku(afterSaleOrderSku);
//editAfterSaleOrderSku.Closed += EditAfterSaleOrderSku_Closed;
//editAfterSaleOrderSku.ShowDialog();
} }
private void EditAfterSaleOrderSku_Closed(object sender, EventArgs e) private void EditAfterSaleOrderSku_Closed(object sender, EventArgs e)
@ -825,18 +807,18 @@ namespace BBWY.Client.ViewModels
return; return;
var afterSaleOrder = editAfterSaleOrderSku.SaleOrder; var afterSaleOrder = editAfterSaleOrderSku.SaleOrder;
IsLoading = true; //IsLoading = true;
Task.Factory.StartNew(() => orderService.EditAfterSaleOrderSku(afterSaleOrder)).ContinueWith(t => //Task.Factory.StartNew(() => orderService.EditAfterSaleOrderSku(afterSaleOrder)).ContinueWith(t =>
{ //{
var response = t.Result; // var response = t.Result;
if (!response.Success) // if (!response.Success)
{ // {
IsLoading = false; // IsLoading = false;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "修改售后")); // App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "修改售后"));
return; // return;
} // }
RefreshOrder(afterSaleOrder.OrderId); // RefreshOrder(afterSaleOrder.OrderId);
}); //});
} }
} }
} }

34
BBWY.Client/Views/Order/EditAfterSaleOrderSku.xaml

@ -11,7 +11,7 @@
Style="{StaticResource bwstyle}" Style="{StaticResource bwstyle}"
MinButtonVisibility="Collapsed" MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed" MaxButtonVisibility="Collapsed"
Title="EditAfterSaleOrderSku" Height="300" Width="300"> Title="EditAfterSaleOrderSku" Height="400" Width="300">
<c:BWindow.Resources> <c:BWindow.Resources>
<ObjectDataProvider x:Key="ServiceResultProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}"> <ObjectDataProvider x:Key="ServiceResultProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters> <ObjectDataProvider.MethodParameters>
@ -23,6 +23,11 @@
<x:Type TypeName="cmodel:ProductResult"/> <x:Type TypeName="cmodel:ProductResult"/>
</ObjectDataProvider.MethodParameters> </ObjectDataProvider.MethodParameters>
</ObjectDataProvider> </ObjectDataProvider>
<ObjectDataProvider x:Key="ProductHealthProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:ProductHealth"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</c:BWindow.Resources> </c:BWindow.Resources>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@ -49,6 +54,7 @@
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition Height="30"/> <RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition/> <RowDefinition/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="处理结果" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1"/> <TextBlock Text="处理结果" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1"/>
@ -71,17 +77,29 @@
HorizontalAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center"
VerticalContentAlignment="Center" Margin="5,0,0,0"/> VerticalContentAlignment="Center" Margin="5,0,0,0"/>
<TextBlock Text="补发快递成本" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="4"/> <TextBlock Text="商品情况" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="4"/>
<c:BTextBox Grid.Column="1" Grid.Row="4" Height="25" Margin="5,0" <ComboBox Grid.Column="1" Grid.Row="4"
Text="{Binding SaleOrder.ReissueFreight,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/> ItemsSource="{Binding Source={StaticResource ProductHealthProvider}}"
SelectedItem="{Binding SaleOrder.ProductHealth}"
SelectedIndex="0" Height="25" Width="100"
HorizontalAlignment="Left" VerticalAlignment="Center"
VerticalContentAlignment="Center" Margin="5,0,0,0"/>
<TextBlock Text="补发货款成本" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="5"/> <TextBlock Text="售后补偿" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="5"/>
<c:BTextBox Grid.Column="1" Grid.Row="5" Height="25" Margin="5,0" <c:BTextBox Grid.Column="1" Grid.Row="5" Height="25" Margin="5,0"
Text="{Binding SaleOrder.ReissueProductAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/> Text="{Binding SaleOrder.ReissueAfterSaleAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="售后补偿成本" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="6"/> <TextBlock x:Name="txt_ReissueProductAmount" Text="补发货款" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="6"
Visibility="{Binding SaleOrder.SerivceResult,ConverterParameter=维修|商品补发|线下换新:Visible:Collapsed}"/>
<c:BTextBox Grid.Column="1" Grid.Row="6" Height="25" Margin="5,0" <c:BTextBox Grid.Column="1" Grid.Row="6" Height="25" Margin="5,0"
Text="{Binding SaleOrder.ReissueAfterSaleAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/> Text="{Binding SaleOrder.ReissueProductAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Visibility,ElementName=txt_ReissueProductAmount}"/>
<TextBlock x:Name="txt_ReissueFreight" Text="补发快递" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="7"
Visibility="{Binding Visibility,ElementName=txt_ReissueProductAmount}"/>
<c:BTextBox Grid.Column="1" Grid.Row="7" Height="25" Margin="5,0"
Text="{Binding SaleOrder.ReissueFreight,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Visibility,ElementName=txt_ReissueProductAmount}"/>
</Grid> </Grid>

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

@ -462,7 +462,7 @@
</TextBlock.ToolTip> </TextBlock.ToolTip>
<Run Text="买家备注:" /> <Run Text="买家备注:" />
<Run Text="{Binding BuyerRemark}"/> <Run Text="{Binding BuyerRemark}"/>
</TextBlock> </TextBlock>
<Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1" HorizontalAlignment="Left" Padding="5,2" <Border BorderBrush="{StaticResource Text.Pink}" BorderThickness="1" HorizontalAlignment="Left" Padding="5,2"
Visibility="{Binding IsRefund,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}"> Visibility="{Binding IsRefund,ConverterParameter=true:Visible:Collapsed,Converter={StaticResource objConverter}}">
<TextBlock Text="售后" Foreground="{StaticResource Text.Pink}"/> <TextBlock Text="售后" Foreground="{StaticResource Text.Pink}"/>
@ -973,7 +973,7 @@
Foreground="{StaticResource Text.Pink}" Foreground="{StaticResource Text.Pink}"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
</Border> </Border>
<TextBlock Text="{Binding ApplyTime,StringFormat=yyyy-MM-dd HH:mm:ss}" VerticalAlignment="Center" Margin="5,0,0,0"/> <TextBlock Text="{Binding ApplyTime,StringFormat=yyyy-MM-dd HH:mm:ss}" VerticalAlignment="Center" Margin="5,0,0,0"/>
<Border Width="1" Margin="5,5,0,5" Background="{StaticResource Border.Brush}"/> <Border Width="1" Margin="5,5,0,5" Background="{StaticResource Border.Brush}"/>
@ -1064,25 +1064,145 @@
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="1" HorizontalAlignment="Right"/> <Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="1" HorizontalAlignment="Right"/>
<StackPanel Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal"> <StackPanel Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock > <TextBlock>
<Run Text="售后成本"/> <Run Text="售后成本"/>
<Run Text="{Binding AfterTotalCost}"/> <Run Text="{Binding AfterTotalCost}"/>
</TextBlock> </TextBlock>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0"> <Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip> <Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}"> <ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid Width="700" Height="120">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1">
<Border.Resources>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Border.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<!--Row 1-->
<Grid Grid.ColumnSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="商品成本"/>
</Grid>
<Grid Grid.Column="2" Grid.ColumnSpan="5" Background="{StaticResource Border.Background}">
<TextBlock Text="期间成本"/>
</Grid>
<Grid Grid.Column="7" Grid.ColumnSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="售后损耗"/>
</Grid>
<Grid Grid.Column="9" Grid.RowSpan="2" Background="{StaticResource Border.Background}">
<TextBlock Text="退款采购成本"/>
</Grid>
<!--Row 2-->
<Grid Grid.Row="1" Background="{StaticResource Border.Background}">
<TextBlock Text="商品成本"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="1" Background="{StaticResource Border.Background}">
<TextBlock Text="采购运费"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="2" Background="{StaticResource Border.Background}">
<TextBlock Text="头程费"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="3" Background="{StaticResource Border.Background}">
<TextBlock Text="打包耗材"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="4" Background="{StaticResource Border.Background}">
<TextBlock Text="快递费"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="5" Background="{StaticResource Border.Background}">
<TextBlock Text="入库操作费"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="6" Background="{StaticResource Border.Background}">
<TextBlock Text="出库操作费"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="7" Background="{StaticResource Border.Background}">
<TextBlock Text="退货入库"/>
</Grid>
<Grid Grid.Row="1" Grid.Column="8" Background="{StaticResource Border.Background}">
<TextBlock Text="售后补偿"/>
</Grid>
<!--Row 3-->
<TextBlock Grid.Row="2" Text="{Binding ReissueProductAmount}"
Visibility="{Binding ReissueProductAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ReissueFreight}"
Visibility="{Binding ReissueFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="2" Text="{Binding FirstFreight}"
Visibility="{Binding FirstFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="3" Text="{Binding ConsumableAmount}"
Visibility="{Binding ConsumableAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="4" Text="{Binding DeliveryExpressFreight}"
Visibility="{Binding DeliveryExpressFreight,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="5" Text="{Binding InStorageAmount}"
Visibility="{Binding InStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="6" Text="{Binding OutStorageAmount}"
Visibility="{Binding OutStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="7" Text="{Binding RefundInStorageAmount}"
Visibility="{Binding RefundInStorageAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="8" Text="{Binding ReissueAfterSaleAmount}"
Visibility="{Binding ReissueAfterSaleAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<TextBlock Grid.Row="2" Grid.Column="9" Text="{Binding RefundPurchaseAmount}"
Visibility="{Binding RefundPurchaseAmount,ConverterParameter=0|0.00:Collapsed:Visible,Converter={StaticResource objConverter}}"/>
<!--Line-->
<Border Width="1" Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="6" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="8" Grid.RowSpan="3" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="3" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="4" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="5" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" Grid.Column="7" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="9" Background="{StaticResource Border.Brush}"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.Row="1" Grid.ColumnSpan="10" Background="{StaticResource Border.Brush}"/>
</Grid>
</Border>
<TextBlock Grid.Row="1" VerticalAlignment="Center" Margin="0,5">
<Run Text="*售后成本不含退采购退款成本" />
<LineBreak/>
<Run Text="*由于退款采购成本存在一定延迟性,在未得到退款采购金额之前,订单利润计算可能不准确" Foreground="Red"/>
</TextBlock>
</Grid>
</ToolTip> </ToolTip>
</Path.ToolTip> </Path.ToolTip>
</Path> </Path>
</StackPanel> </StackPanel>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Column="2" VerticalAlignment="Bottom" Margin="0,0,0,30"/> <Border Height="1" Background="{StaticResource Border.Brush}" Grid.Column="2" VerticalAlignment="Bottom" Margin="0,0,0,30"/>
<c:BButton Content="修改" VerticalAlignment="Bottom" <c:BButton Content="修改" VerticalAlignment="Bottom"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Background="Transparent" Background="Transparent"
Foreground="{StaticResource Text.Color}" Foreground="{StaticResource Text.Color}"
Grid.Column="2"/> Grid.Column="2"
Command="{Binding DataContext.EditAfterSaleOrderCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="2" HorizontalAlignment="Right"/> <Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="2" HorizontalAlignment="Right"/>
<TextBlock Text="{Binding ProductResult}" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/> <TextBlock Text="{Binding ProductResult}" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>

2
BBWY.Server.Business/AfterSaleOrder/AfterSaleOrderBusiness.cs

@ -53,6 +53,8 @@ namespace BBWY.Server.Business
RefundPurchaseAmount = aso.RefundPurchaseAmount, RefundPurchaseAmount = aso.RefundPurchaseAmount,
RefundTime = aso.RefundTime, RefundTime = aso.RefundTime,
ReissueAfterSaleAmount = aso.ReissueAfterSaleAmount, ReissueAfterSaleAmount = aso.ReissueAfterSaleAmount,
ReissueFreight = aso.ReissueFreight,
ReissueProductAmount = aso.ReissueProductAmount,
ServiceId = aso.ServiceId, ServiceId = aso.ServiceId,
ServiceResult = aso.ServiceResult, ServiceResult = aso.ServiceResult,
ShopId = aso.ShopId, ShopId = aso.ShopId,

12
BBWY.Server.Model/Db/Order/AfterSaleOrder.cs

@ -50,6 +50,18 @@ namespace BBWY.Server.Model.Db
[Column(DbType = "decimal(20,2)")] [Column(DbType = "decimal(20,2)")]
public decimal? ReissueAfterSaleAmount { get; set; } = 0.00M; 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> /// <summary>
/// 服务单处理结果 /// 服务单处理结果
/// </summary> /// </summary>

Loading…
Cancel
Save