Browse Source

待封箱添加商品

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
e873b2dc6f
  1. 12
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  2. 15
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  3. 101
      BBWY.Client/Views/SealBox/AddProductWindow.xaml
  4. 94
      BBWY.Client/Views/SealBox/AddProductWindow.xaml.cs
  5. 5
      BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml
  6. 7
      BBWY.Client/Views/SealBox/ShopSealBoxListControl.xaml

12
BBWY.Client/APIServices/QiKu/PackTaskService.cs

@ -396,7 +396,17 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
public ApiResponse<object> AddSealBoxProduct(string skuId, PositionType positionType, int count)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/AddSealBoxProduct", new
{
skuId,
positionType,
SkuCount = count,
ShopId = globalContext.User.Shop.ShopId.ToString(),
UserId = globalContext.User.Id.ToString()
}, null, HttpMethod.Post);
}
}
public class CompeteSealBox

15
BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs

@ -245,7 +245,7 @@ namespace BBWY.Client.ViewModels.PackTask
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService)
public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService)
{
this.globalContext = globalContext;
@ -288,6 +288,15 @@ namespace BBWY.Client.ViewModels.PackTask
SetFallWareConfiguredCommand = new RelayCommand<object>(SetFallWareConfigured);
SubmitOverTimeMarkMsgCommand = new RelayCommand<object>(SubmitOverTimeMarkMsg);
AddSealBoxProductCommand = new RelayCommand(AddSealBoxProduct);
this.productService = productService;
}
ProductService productService;
private void AddSealBoxProduct()
{
AddProductWindow addProductWindow = new AddProductWindow(packTaskService, productService);
addProductWindow.ShowDialog();
}
private void SubmitOverTimeMarkMsg(object param)
@ -439,6 +448,10 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 添加封箱商品
/// </summary>
public ICommand AddSealBoxProductCommand { get; set; }
/// <summary>
/// 提交过期时间数据
/// </summary>

101
BBWY.Client/Views/SealBox/AddProductWindow.xaml

@ -0,0 +1,101 @@
<c:BWindow x:Class="BBWY.Client.Views.SealBox.AddProductWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
WindowStartupLocation="CenterScreen"
CloseButtonVisibility="Visible"
xmlns:hc="https://handyorg.github.io/handycontrol"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
Width="450" Height="400"
RightButtonGroupMargin="0,5,5,0">
<!--CloseButtonColor="{StaticResource WindowButtonColor}" ResizeMode="NoResize" -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="39"/>
<RowDefinition/>
<RowDefinition Height="36"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="添加商品" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="20 20 20 20">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid >
<c:BTextBox Height="35" Text="{Binding SkuId}" WaterRemark="请输入SKU" HorizontalAlignment="Stretch" />
<c:BButton Height="35" Content="查询" HorizontalAlignment="Right" Width="120" Click="BButton_Click_1"/>
</Grid>
<Grid Grid.Row="1"
Visibility="{Binding Logo,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<c:BAsyncImage Height="150" Width="150" UrlSource="{Binding Logo}"
/>
<UniformGrid Grid.Column="1" Rows="3" Height="150" Margin="20 0 0 0" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="名称:" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuTitle}" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Grid>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="数量:" Style="{StaticResource middleTextBlock}"/>
<c:BTextBox WaterRemark="数量" Text="{Binding Count,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" HorizontalAlignment="Stretch" />
</Grid>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="仓库:" Style="{StaticResource middleTextBlock}"/>
<Grid Grid.Column="1" Height="30">
<Rectangle Height="30" Stroke="{StaticResource Border.Brush}" StrokeThickness="1"/>
<ComboBox Height="30" ItemsSource="{Binding PositionTypes}" Text="{Binding PositionType}" BorderThickness="0" Margin="1" >
<ComboBox.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
<ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ComboBox.Resources>
</ComboBox>
</Grid>
</Grid>
</UniformGrid>
</Grid>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="2" VerticalAlignment="Top"/>
<c:BButton Grid.Row="2" Content="保存" HorizontalAlignment="Right" Width="105" VerticalAlignment="Center" Height="40" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

94
BBWY.Client/Views/SealBox/AddProductWindow.xaml.cs

@ -0,0 +1,94 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using WebSocketSharp;
namespace BBWY.Client.Views.SealBox
{
/// <summary>
/// AddProductWindow.xaml 的交互逻辑
/// </summary>
public partial class AddProductWindow : BWindow
{
public AddProductWindow(PackTaskService packTaskService, ProductService productService)
{
this. packTaskService = packTaskService;
this. productService = productService;
InitializeComponent();
this.DataContext = this;
}
ProductService productService;
PackTaskService packTaskService;
private int count;
public int Count { get => count; set { Set(ref count, value); } }
private string skuId;
public string SkuId { get=>skuId; set { Set(ref skuId, value); } }
private string logo;
public string Logo { get => logo; set { Set(ref logo, value); } }
private string skuTitle;
public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } }
public ObservableCollection<PositionType> PositionTypes { get; set; }=new ObservableCollection<PositionType>() {
PositionType., PositionType., PositionType., PositionType.
};
private PositionType positionType;
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
private void BButton_Click(object sender, RoutedEventArgs e)
{
if (Count<=0)
{
MessageBox.Show("请输入任务数"); return;
}
var res = packTaskService.AddSealBoxProduct(SkuId, PositionType, Count);
if (res == null || !res.Success)
{
MessageBox.Show(res?.Msg); return;
}
this.Close();
}
private void BButton_Click_1(object sender, RoutedEventArgs e)
{
if (SkuId.IsNullOrEmpty())
{
MessageBox.Show("请输入SkuId"); return;
}
SkuId = SkuId.Trim();
var res = productService.GetProductSkuList(null, SkuId);
if (res==null||!res.Success)
{
MessageBox.Show(res?.Msg);return;
}
var productSku = res.Data.SingleOrDefault(d => d.Id == SkuId);
if (productSku==null)
{
MessageBox.Show("不存在对应的sku商品数据."); return;
}
SkuTitle = productSku.Title;
Logo= productSku.Logo.Replace("80x80","150x150");
}
}
}

5
BBWY.Client/Views/SealBox/SealBoxWaitConfigureControl.xaml

@ -154,7 +154,10 @@
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待排单|待打包:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="落仓:"/>
<Run Text="{Binding WareType}"/>
</TextBlock>
</StackPanel>
</Grid>

7
BBWY.Client/Views/SealBox/ShopSealBoxListControl.xaml

@ -72,9 +72,14 @@
<RadioButton Content="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:待同步采购单:待配置}" Height="35" Width="130" Tag="{Binding SealBoxWaitConfigureCount,Mode=TwoWay}" IsChecked="{Binding SealBoxConfigureType,Converter={StaticResource objConverter},ConverterParameter=待配置:True:False}"
Command="{Binding SetSealBoxConfigureTypeCommand}" CommandParameter="{x:Static cmodel:SealBoxConfigureType.待配置}"
/>
<c:BButton Content="配置封箱策略" Width="130" Height="35" Margin="40 0 0 0" Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
<c:BButton Content="配置封箱策略" Width="130" Height="35" Margin="40 0 0 0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
Command="{Binding ConfiguredSealBoxCommand}"
/>
<c:BButton Content="添加封箱商品" Width="130" Height="35" Margin="40 0 0 0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"
Command="{Binding AddSealBoxProductCommand}"
/>
</StackPanel>
<Grid Grid.Row="1"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱:Visible:Collapsed}"

Loading…
Cancel
Save