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. 122
      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);
ExportCommand = new RelayCommand(Export);
SetIncludeAfterOrderCommand = new RelayCommand(SetIncludeAfterOrder);
EditAfterSaleOrderCommand = new RelayCommand<object>(EditAfterSaleOrder);
EditAfterSaleOrderCommand = new RelayCommand<AfterSaleOrder>(EditAfterSaleOrder);
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 sku = order.ItemList.FirstOrDefault(s => s.Id == skuId);
//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();
var editAfterSaleOrderSku = new EditAfterSaleOrderSku(afterSaleOrder);
editAfterSaleOrderSku.Closed += EditAfterSaleOrderSku_Closed;
editAfterSaleOrderSku.ShowDialog();
}
private void EditAfterSaleOrderSku_Closed(object sender, EventArgs e)
@ -825,18 +807,18 @@ namespace BBWY.Client.ViewModels
return;
var afterSaleOrder = editAfterSaleOrderSku.SaleOrder;
IsLoading = true;
Task.Factory.StartNew(() => orderService.EditAfterSaleOrderSku(afterSaleOrder)).ContinueWith(t =>
{
var response = t.Result;
if (!response.Success)
{
IsLoading = false;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "修改售后"));
return;
}
RefreshOrder(afterSaleOrder.OrderId);
});
//IsLoading = true;
//Task.Factory.StartNew(() => orderService.EditAfterSaleOrderSku(afterSaleOrder)).ContinueWith(t =>
//{
// var response = t.Result;
// if (!response.Success)
// {
// IsLoading = false;
// App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "修改售后"));
// return;
// }
// RefreshOrder(afterSaleOrder.OrderId);
//});
}
}
}

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

@ -11,7 +11,7 @@
Style="{StaticResource bwstyle}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Title="EditAfterSaleOrderSku" Height="300" Width="300">
Title="EditAfterSaleOrderSku" Height="400" Width="300">
<c:BWindow.Resources>
<ObjectDataProvider x:Key="ServiceResultProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
@ -23,6 +23,11 @@
<x:Type TypeName="cmodel:ProductResult"/>
</ObjectDataProvider.MethodParameters>
</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>
<Grid>
<Grid.RowDefinitions>
@ -49,6 +54,7 @@
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="处理结果" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1"/>
@ -71,17 +77,29 @@
HorizontalAlignment="Left" VerticalAlignment="Center"
VerticalContentAlignment="Center" Margin="5,0,0,0"/>
<TextBlock Text="补发快递成本" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="4"/>
<c:BTextBox Grid.Column="1" Grid.Row="4" Height="25" Margin="5,0"
Text="{Binding SaleOrder.ReissueFreight,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="商品情况" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="4"/>
<ComboBox Grid.Column="1" Grid.Row="4"
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"
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"
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>

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

@ -1071,7 +1071,125 @@
<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}">
<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>
</Path.ToolTip>
</Path>
@ -1082,7 +1200,9 @@
HorizontalAlignment="Stretch"
Background="Transparent"
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"/>
<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,
RefundTime = aso.RefundTime,
ReissueAfterSaleAmount = aso.ReissueAfterSaleAmount,
ReissueFreight = aso.ReissueFreight,
ReissueProductAmount = aso.ReissueProductAmount,
ServiceId = aso.ServiceId,
ServiceResult = aso.ServiceResult,
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)")]
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>

Loading…
Cancel
Save