Browse Source

新服务单界面

qianyi
shanji 2 years ago
parent
commit
a19dacdc09
  1. 44
      BBWY.Client/APIServices/ServiceOrderService.cs
  2. 261
      BBWY.Client/Models/APIModel/Response/ServiceOrder/ServiceOrderItemResponse.cs
  3. 1
      BBWY.Client/Models/MappingProfile.cs
  4. 2
      BBWY.Client/Models/ServiceOrder/ServiceOrder.cs
  5. 99
      BBWY.Client/ViewModels/ServiceOrder/ServiceOrderViewModel.cs
  6. 189
      BBWY.Client/Views/ServiceOrder/ServiceOrderList.xaml
  7. 2
      BBWY.Server.API/Controllers/ServiceOrderController.cs
  8. 4
      BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs
  9. 2
      BBWY.Server.Model/Dto/Response/ServiceOrder/ServiceOrderItemResponse.cs

44
BBWY.Client/APIServices/ServiceOrderService.cs

@ -0,0 +1,44 @@
using BBWY.Client.Models;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Net.Http;
namespace BBWY.Client.APIServices
{
public class ServiceOrderService : BaseApiService, IDenpendency
{
public ServiceOrderService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<ServiceOrderResponse> GetList(string orderId,
string sku,
string spu,
string serviceId,
string shopId,
ServiceOrderState? serviceOrderState,
ReturnDirection? returnDirection,
int pageIndex,
int pageSize,
DateTime? startDate,
DateTime? endDate)
{
return SendRequest<ServiceOrderResponse>(globalContext.BBYWApiHost, "Api/ServiceOrder/GetList", new
{
orderId,
sku,
spu,
serviceId,
shopId,
serviceOrderState,
returnDirection,
pageIndex,
pageSize,
startDate,
endDate
}, null, HttpMethod.Post);
}
}
}

261
BBWY.Client/Models/APIModel/Response/ServiceOrder/ServiceOrderItemResponse.cs

@ -0,0 +1,261 @@
using System;
using System.Collections.Generic;
namespace BBWY.Client.Models
{
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 ProductAppearance? ProductAppearance { get; set; }
/// <summary>
/// 产品功能 (坏=0 好=1)
/// </summary>
public ProductFunction? ProductFunction { get; set; }
/// <summary>
/// 商品健康状态 (残次品=0 良品=1)
/// </summary>
public NewProductHealth? ProductHealth { get; set; }
public string ProductId { get; set; }
/// <summary>
/// 产品包装(无=0 非新=1 新=2)
/// </summary>
public ProductPackage? ProductPackage { get; set; }
/// <summary>
/// 采购方式
/// </summary>
public PurchaseMethod? PurchaseMethod { get; set; }
/// <summary>
/// 采购单号
/// </summary>
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购单主键
/// </summary>
public long? PurchaseOrderPKId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
public 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 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 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 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 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 ServiceOrderResponse
{
public IList<ServiceOrderItemResponse> Items { get; set; }
public long Count { get; set; }
}
}

1
BBWY.Client/Models/MappingProfile.cs

@ -30,6 +30,7 @@ namespace BBWY.Client.Models
CreateMap<ToDayOrderAchievementResponse, ToDayOrderAchievement>(); CreateMap<ToDayOrderAchievementResponse, ToDayOrderAchievement>();
CreateMap<SDGroupPersonStatisticsResponse, SDGroupPersonStatistics>(); CreateMap<SDGroupPersonStatisticsResponse, SDGroupPersonStatistics>();
CreateMap<BillCorrectionOrderResponse, BillCorrectionOrder>(); CreateMap<BillCorrectionOrderResponse, BillCorrectionOrder>();
CreateMap<ServiceOrderItemResponse, ServiceOrder>();
} }
} }
} }

2
BBWY.Client/Models/ServiceOrder/ServiceOrder.cs

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

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

@ -1,9 +1,13 @@
using BBWY.Client.Models; using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Common.Extensions;
using BBWY.Common.Models; using BBWY.Common.Models;
using GalaSoft.MvvmLight.Command; using GalaSoft.MvvmLight.Command;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
@ -11,12 +15,20 @@ namespace BBWY.Client.ViewModels
{ {
public class ServiceOrderViewModel : BaseVM, IDenpendency public class ServiceOrderViewModel : BaseVM, IDenpendency
{ {
private ServiceOrderService serviceOrderService;
private bool isLoading; private bool isLoading;
private ServiceOrderState? serviceOrderState; private ServiceOrderState? serviceOrderState;
private ReturnDirection? returnDirection; private ReturnDirection? returnDirection;
private int serviceOrderCount; private long serviceOrderCount;
private int pageIndex; private int pageIndex;
private int pageSize; private int pageSize;
private string orderId;
private string spu;
private string sku;
private string serviceId;
private DateTime? startDate;
private DateTime? endDate;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
@ -31,32 +43,111 @@ namespace BBWY.Client.ViewModels
public ICommand CopyTextCommand { get; set; } public ICommand CopyTextCommand { get; set; }
public ICommand SetSearchDateCommand { get; set; }
public ICommand SearchServiceOrderCommand { get; set; }
public IList<ServiceOrder> ServiceOrderList { get; set; } public IList<ServiceOrder> ServiceOrderList { get; set; }
public int ServiceOrderCount { get => serviceOrderCount; set { Set(ref serviceOrderCount, value); } } public long ServiceOrderCount { get => serviceOrderCount; set { Set(ref serviceOrderCount, value); } }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } } public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } } public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
public ServiceOrderViewModel() public string OrderId { get => orderId; set { Set(ref orderId, value); } }
public string Spu { get => spu; set { Set(ref spu, value); } }
public string Sku { get => sku; set { Set(ref sku, value); } }
public string ServiceId { get => serviceId; set { Set(ref serviceId, value); } }
public DateTime? StartDate { get => startDate; set { Set(ref startDate, value); } }
public DateTime? EndDate { get => endDate; set { Set(ref endDate, value); } }
public GlobalContext GlobalContext { get; set; }
public ServiceOrderViewModel(ServiceOrderService serviceOrderService, GlobalContext globalContext)
{ {
this.serviceOrderService = serviceOrderService;
SetServiceOrderStateCommand = new RelayCommand<ServiceOrderState?>(SetServiceOrderState); SetServiceOrderStateCommand = new RelayCommand<ServiceOrderState?>(SetServiceOrderState);
SetReturnDirectionCommand = new RelayCommand<ReturnDirection?>(SetReturnDirection); SetReturnDirectionCommand = new RelayCommand<ReturnDirection?>(SetReturnDirection);
CopyTextCommand = new RelayCommand<string>(s => { try { Clipboard.SetText(s); } catch (Exception ex) { } }); CopyTextCommand = new RelayCommand<string>(s => { try { Clipboard.SetText(s); } catch (Exception ex) { } });
SetSearchDateCommand = new RelayCommand<int>(SetSearchDate);
SearchServiceOrderCommand = new RelayCommand(SearchServiceOrder);
ServiceOrderList = new ObservableCollection<ServiceOrder>() { new ServiceOrder(), new ServiceOrder(), new ServiceOrder() }; ServiceOrderList = new ObservableCollection<ServiceOrder>() { new ServiceOrder(), new ServiceOrder(), new ServiceOrder() };
PageSize = 10;
GlobalContext = globalContext;
EndDate = DateTime.Now.Date;
StartDate = DateTime.Now.Date.AddDays(-15);
SearchServiceOrder();
}
private void SearchServiceOrder()
{
PageIndex = 1;
Task.Factory.StartNew(() => QueryServiceOrder(PageIndex));
}
private void SetSearchDate(int d)
{
EndDate = d == 1 ? DateTime.Now.Date.AddDays(-1) : DateTime.Now;
StartDate = DateTime.Now.Date.AddDays(d * -1);
SearchServiceOrder();
} }
private void SetServiceOrderState(ServiceOrderState? state) private void SetServiceOrderState(ServiceOrderState? state)
{ {
this.ServiceOrderState = state; this.ServiceOrderState = state;
//query //query
SearchServiceOrder();
} }
private void SetReturnDirection(ReturnDirection? returnDirection) private void SetReturnDirection(ReturnDirection? returnDirection)
{ {
this.ReturnDirection = returnDirection; this.ReturnDirection = returnDirection;
//query //query
SearchServiceOrder();
}
private void QueryServiceOrder(int pageIndex)
{
IsLoading = true;
App.Current.Dispatcher.Invoke(() =>
{
this.ServiceOrderList.Clear();
ServiceOrderCount = 0;
});
var response = serviceOrderService.GetList(OrderId, Sku, Spu, ServiceId, GlobalContext.User.Shop.ShopId.ToString(), ServiceOrderState, ReturnDirection, pageIndex, PageSize, StartDate, EndDate);
if (!response.Success)
{
IsLoading = false;
App.Current.Dispatcher.Invoke(() =>
{
MessageBox.Show(response.Msg, "提示");
return;
});
}
if (response.Data.Items == null || response.Data.Items.Count() == 0)
{
IsLoading = false;
return;
}
IsLoading = false;
ServiceOrderCount = response.Data.Count;
var list = response.Data.Items.Map<IList<ServiceOrder>>();
App.Current.Dispatcher.Invoke(() =>
{
foreach (var s in list)
{
//转换ImageName
ServiceOrderList.Add(s);
}
});
} }
} }
} }

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

@ -110,7 +110,7 @@
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Button Content="搜索" Width="50" VerticalAlignment="Stretch" Margin="5,0,0,0" Command="{Binding SearchOrderCommand}" <Button Content="搜索" Width="50" VerticalAlignment="Stretch" Margin="5,0,0,0" Command="{Binding SearchServiceOrderCommand}"
Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/> Grid.RowSpan="2" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
<Button Content="导出" Command="{Binding ExportCommand}" Width="50" Grid.Column="1" <Button Content="导出" Command="{Binding ExportCommand}" Width="50" Grid.Column="1"
Visibility="{Binding Visibility,ElementName=listbox_order}" Background="#1CC2A2" BorderThickness="0" Foreground="White"/> Visibility="{Binding Visibility,ElementName=listbox_order}" Background="#1CC2A2" BorderThickness="0" Foreground="White"/>
@ -169,13 +169,13 @@
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="360"/> <ColumnDefinition Width="360"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition Width="190"/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition Width="100"/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition Width="100"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/> <TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="退货去向" Grid.Column="1" Style="{StaticResource middleTextBlock}"/> <TextBlock Text="退货去向" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
@ -219,18 +219,18 @@
Padding="10,0" Padding="10,0"
Height="25" Height="25"
Margin="5,0,0,0"> Margin="5,0,0,0">
<TextBlock Text="待收货" <TextBlock Text="{Binding Status}"
Foreground="{StaticResource Text.Pink}" Foreground="{StaticResource Text.Pink}"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
</Border> </Border>
<TextBlock Text="2023-01-03 23:59:59" VerticalAlignment="Center" Margin="10,0,0,0"/> <TextBlock Text="{Binding ApplyTime}" VerticalAlignment="Center" Margin="10,0,0,0"/>
<TextBlock VerticalAlignment="Center" Margin="10,0,0,0"> <TextBlock VerticalAlignment="Center" Margin="10,0,0,0">
<Run Text="服务单类型:"/> <Run Text="服务单类型:"/>
<Run Text="退货" Foreground="{StaticResource Text.Pink}"/> <Run Text="{Binding ServiceResult}" Foreground="{StaticResource Text.Pink}"/>
</TextBlock> </TextBlock>
<TextBlock Text="服务单号:" Margin="10,0,0,0" VerticalAlignment="Center"/> <TextBlock Text="服务单号:" Margin="10,0,0,0" VerticalAlignment="Center"/>
<c:BButton Content="1234567" Style="{StaticResource LinkButton}" <c:BButton Content="{Binding ServiceId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}" Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding ServiceId}" Margin="3,0,0,0"/> CommandParameter="{Binding ServiceId}" Margin="3,0,0,0"/>
@ -239,10 +239,179 @@
<Run Text="代发" Foreground="{StaticResource Text.Pink}"/> <Run Text="代发" Foreground="{StaticResource Text.Pink}"/>
</TextBlock> </TextBlock>
<TextBlock Text="订单号:" Margin="10,0,0,0" VerticalAlignment="Center"/> <TextBlock Text="订单号:" Margin="10,0,0,0" VerticalAlignment="Center"/>
<c:BButton Content="1234567" Style="{StaticResource LinkButton}" <c:BButton Content="{Binding OrderId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}" Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding OrderId}" Margin="3,0,0,0"/> CommandParameter="{Binding OrderId}" Margin="3,0,0,0"/>
</StackPanel> </StackPanel>
<Border VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="360"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
<ColumnDefinition Width="190"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="0,5"/>
<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>
<StackPanel Orientation="Horizontal">
<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"/>
<TextBlock Text="SKU:" Margin="5,0,0,0"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,0"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock TextWrapping="Wrap">
<Run Text="单价:"/>
<Run Text="{Binding Price}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Margin="5,0,0,0">
<Run Text="数量:"/>
<Run Text="{Binding ItemTotal}"/>
</TextBlock>
</StackPanel>
</StackPanel>
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<TextBlock Text="{Binding ReturnDirection}" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,20"/>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Column="1" VerticalAlignment="Bottom" Margin="0,0,0,27"/>
<c:BButton Content="修改" VerticalAlignment="Bottom"
HorizontalAlignment="Stretch"
Background="Transparent"
Foreground="{StaticResource Text.Color}"
Grid.Column="1"
Command="{Binding DataContext.EditAfterSaleOrderCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding }"/>
<Border Grid.Column="1" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<TextBlock Text="{Binding WareHouseGrounpRemark}" Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center"
TextWrapping="Wrap"/>
<Border Grid.Column="2" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Grid Grid.Column="3">
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid Margin="5,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.55*"/>
<ColumnDefinition Width="0.45*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock>
<Run Text="商品状态:"/>
<Run Text="{Binding ProductHealth}" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
<TextBlock Grid.Column="1">
<Run Text="商品功能:"/>
<Run Text="{Binding ProductFunction}" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
<TextBlock Grid.Row="1">
<Run Text="商品外观:"/>
<Run Text="{Binding ProductAppearance}" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="1">
<Run Text="商品包装:"/>
<Run Text="{Binding ProductPackage}" Foreground="{StaticResource Text.Pink}"/>
</TextBlock>
</Grid>
</Grid>
<Border Grid.Column="3" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<StackPanel Grid.Column="4" VerticalAlignment="Center" Margin="5,0,0,0"
Visibility="{Binding PurchaseOrderId,ConverterParameter=#null:Collapsed:Visible,Converter={StaticResource objConverter}}">
<TextBlock>
<Run Text="采购平台:"/>
<Run Text="{Binding PurchasePlatform}"/>
</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 ListBox}}}"
CommandParameter="{Binding PurchaseOrderId}" Margin="3,0,0,0"/>
</StackPanel>
</StackPanel>
<Border Grid.Column="4" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<StackPanel Orientation="Horizontal" Grid.Column="5" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock>
<Run Text="总耗损"/>
<Run Text="{Binding AfterTotalCost}"/>
</TextBlock>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}">
</Path>
</StackPanel>
<Border Grid.Column="5" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<StackPanel Grid.Column="6" VerticalAlignment="Center" Margin="5,0,0,0"
Visibility="{Binding WayBillNo,ConverterParameter=#null:Collapsed:Visible,Converter={StaticResource objConverter}}">
<TextBlock>
<Run Text="物流状态:"/>
<Run Text="{Binding TransportDetails}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ExpressName,StringFormat=\{0\}:}"/>
<c:BButton Content="{Binding WayBillNo}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"
CommandParameter="{Binding WayBillNo}" Margin="3,0,0,0"/>
</StackPanel>
</StackPanel>
<Border Grid.Column="6" Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<StackPanel Orientation="Horizontal" Grid.Column="7" HorizontalAlignment="Center">
<c:BButton Style="{StaticResource LinkButton}" Content="查看详情"/>
</StackPanel>
</Grid> </Grid>
</Grid> </Grid>
</DataTemplate> </DataTemplate>

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

@ -20,7 +20,7 @@ namespace BBWY.Server.API.Controllers
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ServicOrderResponse GetList([FromBody] ClientQueryServiceOrderRequest request) public ServiceOrderResponse GetList([FromBody] ClientQueryServiceOrderRequest request)
{ {
return serviceOrderBusiness.GetList(request); return serviceOrderBusiness.GetList(request);
} }

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

@ -14,7 +14,7 @@ namespace BBWY.Server.Business
{ {
} }
public ServicOrderResponse GetList(ClientQueryServiceOrderRequest request) public ServiceOrderResponse GetList(ClientQueryServiceOrderRequest request)
{ {
var list = fsql.Select<ServiceOrder, OrderSku>().InnerJoin((s, osku) => s.OrderId == osku.OrderId && s.SkuId == osku.SkuId) var list = fsql.Select<ServiceOrder, OrderSku>().InnerJoin((s, osku) => s.OrderId == osku.OrderId && s.SkuId == osku.SkuId)
.Where((s, osku) => s.ShopId == request.ShopId) .Where((s, osku) => s.ShopId == request.ShopId)
@ -62,7 +62,7 @@ namespace BBWY.Server.Business
PurchaseOrderId = s.PurchaseOrderId, PurchaseOrderId = s.PurchaseOrderId,
PurchasePlatform = s.PurchasePlatform PurchasePlatform = s.PurchasePlatform
}); });
return new ServicOrderResponse() return new ServiceOrderResponse()
{ {
Count = total, Count = total,
Items = list Items = list

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

@ -253,7 +253,7 @@ namespace BBWY.Server.Model.Dto
#endregion #endregion
} }
public class ServicOrderResponse public class ServiceOrderResponse
{ {
public IList<ServiceOrderItemResponse> Items { get; set; } public IList<ServiceOrderItemResponse> Items { get; set; }

Loading…
Cancel
Save