Browse Source

增加售后单按钮

qianyi
shanji 3 years ago
parent
commit
1a29398f1e
  1. 3
      BBWY.Client/Converters/MultiObjectConverter.cs
  2. 2
      BBWY.Client/ViewModels/MainViewModel.cs
  3. 43
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  4. 25
      BBWY.Client/Views/Order/OrderList.xaml
  5. 9
      BBWY.Server.Business/Order/OrderBusiness.cs
  6. 11
      BBWY.Server.Model/Dto/Response/Order/AfterSaleOrderResponse.cs
  7. 5
      BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs

3
BBWY.Client/Converters/MultiObjectConverter.cs

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
namespace BBWY.Client.Converters
{
@ -60,6 +61,8 @@ namespace BBWY.Client.Converters
return result.Equals("collapsed") ? Visibility.Collapsed : Visibility.Visible;
if (convertResult == ConvertResult.)
return System.Convert.ToBoolean(result);
if (convertResult == ConvertResult.)
return new SolidColorBrush((Color)ColorConverter.ConvertFromString(result));
return null; //后续自行扩展
}

2
BBWY.Client/ViewModels/MainViewModel.cs

@ -105,7 +105,7 @@ 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/Order/OrderList.xaml" }
}
},
new MenuModel()

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

@ -42,8 +42,8 @@ namespace BBWY.Client.ViewModels
private bool excludeSD;
private bool excludeCanceled;
private Random random;
private GlobalContext globalContext;
private bool includeAfterOrder;
public IList<Order> OrderList { get; set; }
@ -72,6 +72,8 @@ namespace BBWY.Client.ViewModels
public bool ExcludeSD { get => excludeSD; set { Set(ref excludeSD, value); } }
public bool ExcludeCanceled { get => excludeCanceled; set { Set(ref excludeCanceled, value); } }
public bool IncludeAfterOrder { get => includeAfterOrder; set { Set(ref includeAfterOrder, value); } }
public ToDayOrderAchievement ToDayOrderAchievement { get; set; }
public ICommand SetOrderStateCommand { get; set; }
@ -100,6 +102,8 @@ namespace BBWY.Client.ViewModels
public ICommand EditVenderRemarkCommand { get; set; }
public ICommand SetIncludeAfterOrderCommand { get; set; }
public OrderListViewModel(OrderService orderService, StatisticsService statisticsService, GlobalContext globalContext, ChoosePurchaseSchemeViewModel choosePurchaseSchemeViewModel)
{
random = new Random();
@ -108,9 +112,11 @@ namespace BBWY.Client.ViewModels
this.statisticsService = statisticsService;
this.choosePurchaseSchemeViewModel = choosePurchaseSchemeViewModel;
OrderList = new ObservableCollection<Order>();
EndDate = DateTime.Now;
StartDate = DateTime.Now.Date.AddDays(-6);
//EndDate = DateTime.Now;
//StartDate = DateTime.Now.Date.AddDays(-6);
ToDayOrderAchievement = new ToDayOrderAchievement();
InitSearchParam();
SetOrderStateCommand = new RelayCommand<OrderState?>(SetOrderState);
SearchOrderCommand = new RelayCommand(() =>
{
@ -153,9 +159,24 @@ namespace BBWY.Client.ViewModels
OutStockCommand = new RelayCommand<Order>((o) => OutStock(o));
EditVenderRemarkCommand = new RelayCommand<Order>(EditVenderRemark);
ExportCommand = new RelayCommand(Export);
SetIncludeAfterOrderCommand = new RelayCommand(SetIncludeAfterOrder);
SearchOrderCommand.Execute(null);
}
private void InitSearchParam()
{
this.OrderState = null;
SearchOrderId = String.Empty;
SearchContactName = String.Empty;
SearchProductNo = String.Empty;
SearchSku = String.Empty;
SearchWaybill = String.Empty;
EndDate = DateTime.Now;
StartDate = DateTime.Now.Date.AddDays(-6);
PageIndex = 1;
IncludeAfterOrder = false;
}
public override void Refresh()
{
OrderList.Clear();
@ -175,15 +196,15 @@ namespace BBWY.Client.ViewModels
public void SetOrderState(OrderState? orderState)
{
InitSearchParam();
this.OrderState = orderState;
SearchOrderId = String.Empty;
SearchContactName = String.Empty;
SearchProductNo = String.Empty;
SearchSku = String.Empty;
SearchWaybill = String.Empty;
EndDate = DateTime.Now;
StartDate = DateTime.Now.Date.AddDays(-6);
PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单
}
public void SetIncludeAfterOrder()
{
InitSearchParam();
IncludeAfterOrder = true;
Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单
}

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

@ -54,10 +54,25 @@
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
<!--Background="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=#null:#8080FF:#F2F2F2}"
Foreground="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=#null:White:#4A4A4A}"-->
<c:BButton Content="近一个月订单" Width="100"
Background="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=#null:#8080FF:#F2F2F2}"
Foreground="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=#null:White:#4A4A4A}"
Command="{Binding SetOrderStateCommand}" CommandParameter="{x:Null}"/>
Command="{Binding SetOrderStateCommand}" CommandParameter="{x:Null}">
<c:BButton.Background>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter=";false:&amp;:#8080FF:#F2F2F2:6">
<Binding Path="OrderState"/>
<Binding Path="IncludeAfterOrder"/>
</MultiBinding>
</c:BButton.Background>
<c:BButton.Foreground>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter=";false:&amp;:#FFFFFF:#4A4A4A:6">
<Binding Path="OrderState"/>
<Binding Path="IncludeAfterOrder"/>
</MultiBinding>
</c:BButton.Foreground>
</c:BButton>
<c:BButton Content="等待采购" Width="100"
Background="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=等待采购:#8080FF:#F2F2F2}"
Foreground="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=等待采购:White:#4A4A4A}"
@ -86,6 +101,10 @@
Background="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=已取消:#8080FF:#F2F2F2}"
Foreground="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=已取消:White:#4A4A4A}"
Command="{Binding SetOrderStateCommand}" CommandParameter="{x:Static cmodel:OrderState.已取消}"/>
<c:BButton Content="售后单" Width="100"
Background="{Binding IncludeAfterOrder,Converter={StaticResource objConverter},ConverterParameter=true:#8080FF:#F2F2F2}"
Foreground="{Binding IncludeAfterOrder,Converter={StaticResource objConverter},ConverterParameter=true:White:#4A4A4A}"
Command="{Binding SetIncludeAfterOrderCommand}"/>
</StackPanel>
<Grid Grid.Row="2" Background="{StaticResource Border.Background}">

9
BBWY.Server.Business/Order/OrderBusiness.cs

@ -198,6 +198,15 @@ namespace BBWY.Server.Business
order.OrderCostDetailList = orderCostDetailList.Where(ocd => ocd.OrderId == order.Id).ToList();
#endregion
#region 处理售后信息
if (searchOrderRequest.IsContainsAfterSaleOrder)
{
var afterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => orderIdList.Contains(aso.OrderId)).ToList<AfterSaleOrderResponse>();
foreach (var order in orderList)
order.AfterSaleOrderList = afterSaleOrderList.Where(aso => aso.OrderId == order.Id).ToList();
}
#endregion
#region 翻译仓库Id
foreach (var order in orderList)
order.StoreName = globalConfig.Stores.FirstOrDefault(s => s.StoreId == order.StoreId)?.StoreName ?? order.StoreId;

11
BBWY.Server.Model/Dto/Response/Order/AfterSaleOrderResponse.cs

@ -0,0 +1,11 @@
using BBWY.Server.Model.Db;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{
public class AfterSaleOrderResponse : AfterSaleOrder
{
}
}

5
BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs

@ -184,6 +184,11 @@ namespace BBWY.Server.Model.Dto
/// 代发信息
/// </summary>
public IList<OrderDropShippingResponse> OrderDropShippingList { get; set; }
/// <summary>
/// 售后信息
/// </summary>
public IList<AfterSaleOrderResponse> AfterSaleOrderList { get; set; }
}
public class OrderListResponse

Loading…
Cancel
Save