Browse Source

货源管理-新增采购sku筛选

订单管理-新增sku图片点击跳转京东详情
qianyi
shanji 2 years ago
parent
commit
d058d286a2
  1. 20
      BBWY.Client/Models/Product/PurchaseSchemeProduct.cs
  2. 30
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  3. 30
      BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs
  4. 17
      BBWY.Client/Views/Order/OrderListControl.xaml
  5. 29
      BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml

20
BBWY.Client/Models/Product/PurchaseSchemeProduct.cs

@ -15,6 +15,7 @@ namespace BBWY.Client.Models
private string purchaseUrl;
private string purchaseProductId;
private bool isEditing;
private string searchPurchaseSkuName;
/// <summary>
/// 采购商品和采购方案的关系Id
@ -28,10 +29,20 @@ namespace BBWY.Client.Models
public string PurchaseUrl { get => purchaseUrl; set { Set(ref purchaseUrl, value); } }
public string PurchaseProductId { get => purchaseProductId; set => purchaseProductId = value; }
public bool IsEditing { get => isEditing; set { Set(ref isEditing, value); } }
public bool IsEditing
{
get => isEditing;
set
{
SearchPurchaseSkuName = string.Empty;
Set(ref isEditing, value);
}
}
public IList<PurchaseSchemeProductSku> SkuList { get; set; }
public IList<PurchaseSchemeProductSku> SearchSkuList { get; set; }
public IList<PurchaseSchemeProductSku> PurchaseSchemeProductSkuList { get; set; }
public List<string> SelectedSkuIdList { get; set; }
@ -41,9 +52,16 @@ namespace BBWY.Client.Models
get { return SelectedSkuIdList.Count(); }
}
public string SearchPurchaseSkuName
{
get => searchPurchaseSkuName;
set { Set(ref searchPurchaseSkuName, value); }
}
public PurchaseSchemeProduct()
{
SkuList = new ObservableCollection<PurchaseSchemeProductSku>();
SearchSkuList = new ObservableCollection<PurchaseSchemeProductSku>();
PurchaseSchemeProductSkuList = new ObservableCollection<PurchaseSchemeProductSku>();
SelectedSkuIdList = new List<string>();
}

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

@ -135,6 +135,8 @@ namespace BBWY.Client.ViewModels
public ICommand SetIncludeExceptionOrderCommand { get; set; }
public ICommand OpenSkuDetailCommand { get; set; }
/// <summary>
/// 当前条件利润汇总
/// </summary>
@ -155,8 +157,6 @@ namespace BBWY.Client.ViewModels
/// </summary>
public bool IsSDGroup { get => isSDGroup; set { Set(ref isSDGroup, value); } }
public OrderListViewModel(OrderService orderService, StatisticsService statisticsService, AfterOrderService afterOrderService, GlobalContext globalContext, ChoosePurchaseSchemeViewModel choosePurchaseSchemeViewModel)
{
IsSDGroup = globalContext.User.TeamName == "刷单组";
@ -227,6 +227,7 @@ namespace BBWY.Client.ViewModels
EditAfterSaleOrderCommand = new RelayCommand<AfterSaleOrder>(EditAfterSaleOrder);
EditAfterSaleOrderRefundPurchaseAmountCommand = new RelayCommand<AfterSaleOrder>(EditAfterSaleOrderRefundPurchaseAmount);
FindAfterSaleOrderCommand = new RelayCommand<object>(FindAfterSaleOrder);
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SearchOrderCommand.Execute(null);
}
@ -1070,5 +1071,30 @@ namespace BBWY.Client.ViewModels
var endDate = DateTime.Now.Date;
SetIncludeAfterOrder(orderId, skuId, startDate, endDate);
}
private void OpenSkuDetail(object param)
{
var paramList = (object[])param;
var orderId = paramList[0].ToString();
var skuId = paramList[1].ToString();
var order = OrderList.FirstOrDefault(o => o.Id == orderId);
if (order.Platform == Platform.)
{
var url = $"https://item.jd.com/{skuId}.html";
try
{
System.Diagnostics.Process.Start("explorer.exe", url);
}
catch (Exception ex)
{
Clipboard.SetText(url);
MessageBox.Show($"{ex.Message}\r\n调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示");
}
}
else
{
}
}
}
}

30
BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs

@ -51,6 +51,10 @@ namespace BBWY.Client.ViewModels
public ICommand EditPurchaseProductCommand { get; set; }
public ICommand SavePurchaseSchemeCommand { get; set; }
public ICommand SearchPurchaseSkuNameCommand { get; set; }
public ICommand ClearPurchaseSkuNameCommand { get; set; }
#endregion
#region Methods
@ -67,6 +71,8 @@ namespace BBWY.Client.ViewModels
ConfirmPurchaseProductCommand = new RelayCommand<PurchaseSchemeProduct>(ConfirmPurchaseProduct);
EditPurchaseProductCommand = new RelayCommand<PurchaseSchemeProduct>(EditPurchaseProduct);
SavePurchaseSchemeCommand = new RelayCommand(SavePurchaseScheme);
SearchPurchaseSkuNameCommand = new RelayCommand<PurchaseSchemeProduct>(SearchPurchaseSkuName);
ClearPurchaseSkuNameCommand = new RelayCommand<PurchaseSchemeProduct>(ClearPurchaseSkuName);
}
public void SetData(IList<ProductSku> productSkuList, string purchaserId, string purchaserName)
@ -132,6 +138,7 @@ namespace BBWY.Client.ViewModels
errorMsg = string.Empty;
App.Current.Dispatcher.Invoke(() =>
{
purchaseSchemeProduct.SearchSkuList.Clear();
purchaseSchemeProduct.SkuList.Clear();
purchaseSchemeProduct.PurchaseSchemeProductSkuList.Clear();
});
@ -166,6 +173,7 @@ namespace BBWY.Client.ViewModels
{
foreach (var sku in data.Value.purchaseSchemeProductSkus)
{
purchaseSchemeProduct.SearchSkuList.Add(sku);
purchaseSchemeProduct.SkuList.Add(sku);
if (purchaseSchemeProduct.SelectedSkuIdList.Any(s => s == sku.PurchaseSkuId))
{
@ -454,6 +462,28 @@ namespace BBWY.Client.ViewModels
}
}
}
private void SearchPurchaseSkuName(PurchaseSchemeProduct purchaseSchemeProduct)
{
purchaseSchemeProduct.SearchSkuList.Clear();
if (string.IsNullOrEmpty(purchaseSchemeProduct.SearchPurchaseSkuName))
{
foreach (var sku in purchaseSchemeProduct.SkuList)
purchaseSchemeProduct.SearchSkuList.Add(sku);
}
else
{
var searchList = purchaseSchemeProduct.SkuList.Where(s => s.Title.Contains(purchaseSchemeProduct.SearchPurchaseSkuName));
foreach (var sku in searchList)
purchaseSchemeProduct.SearchSkuList.Add(sku);
}
}
private void ClearPurchaseSkuName(PurchaseSchemeProduct purchaseSchemeProduct)
{
purchaseSchemeProduct.SearchPurchaseSkuName = string.Empty;
SearchPurchaseSkuName(purchaseSchemeProduct);
}
#endregion
}
}

17
BBWY.Client/Views/Order/OrderListControl.xaml

@ -9,6 +9,7 @@
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:local="clr-namespace:BBWY.Client.Views.Order"
DataContext="{Binding OrderList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
@ -126,7 +127,21 @@
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="0,5,0,0"/>
VerticalAlignment="Top" Margin="0,5,0,0"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="DataContext.Id" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1}"/>
<Binding Path="Id"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="0,5,0,5">
<TextBlock TextTrimming="CharacterEllipsis">

29
BBWY.Client/Views/Ware/BindingPurchaseProduct.xaml

@ -73,7 +73,7 @@
Padding="5,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
@ -85,6 +85,10 @@
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<TextBlock Text="商品链接:" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,5,0"/>
<c:BTextBox Text="{Binding PurchaseUrl}" Grid.Column="1"
IsEnabled="{Binding IsEditing}"
@ -100,11 +104,32 @@
<c:BButton Content="删除" Grid.Column="4" Width="80" Background="#EC808D"
Command="{Binding DataContext.RemovePurchaseSchemeProductCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type c:BWindow}}}"
CommandParameter="{Binding }"/>
<TextBlock x:Name="lbl_purchaseSkuName"
VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,5,0"
Grid.Row="1" TextBlock.TextAlignment="Right"
Visibility="{Binding IsEditing,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<Run Text="采购SKU"/>
<LineBreak/>
<Run Text="名称:"/>
</TextBlock>
<c:BTextBox Text="{Binding SearchPurchaseSkuName}" Grid.Column="1"
Grid.Row="1"
Visibility="{Binding Visibility,ElementName=lbl_purchaseSkuName}"/>
<c:BButton Content="筛选" Grid.Column="2" Grid.Row="1" Width="80"
Visibility="{Binding Visibility,ElementName=lbl_purchaseSkuName}"
Command="{Binding DataContext.SearchPurchaseSkuNameCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}" CommandParameter="{Binding }"/>
<c:BButton Content="清空" Grid.Column="4" Grid.Row="1" Width="80"
Background="#AAAAAA"
Visibility="{Binding Visibility,ElementName=lbl_purchaseSkuName}"
Command="{Binding DataContext.ClearPurchaseSkuNameCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}" CommandParameter="{Binding }"/>
</Grid>
<ListBox x:Name="listbox_purchaseProductSkuList"
Grid.Row="1"
ItemsSource="{Binding SkuList}"
ItemsSource="{Binding SearchSkuList}"
SelectionMode="Multiple"
Visibility="{Binding IsEditing,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}"
Style="{StaticResource NoScrollViewListBoxStyle}">

Loading…
Cancel
Save