Browse Source

1

AddValidOverTime
506583276@qq.com 3 years ago
parent
commit
05125d3cb9
  1. 7
      BBWY.Client/APIServices/PackPurchaseTaskService.cs
  2. 2
      BBWY.Client/App.xaml.cs
  3. 97
      BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs
  4. 6
      BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs
  5. 183
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  6. 71
      BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml
  7. 4
      BBWY.Client/Views/PackTask/PrintWindow.xaml.cs
  8. 3
      BBWY.Client/Views/PackTask/SetBarCode.xaml
  9. 18
      BBWY.Client/Views/PackTask/SetCerControl.xaml
  10. 75
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml
  11. 205
      BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs
  12. 164
      BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml
  13. 52
      BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml.cs
  14. 11
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml
  15. 23
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  16. 133
      BBWY.Client/Views/QualityTask/QualityWindow.xaml

7
BBWY.Client/APIServices/PackPurchaseTaskService.cs

@ -96,5 +96,12 @@ namespace BBWY.Client.APIServices
return SendRequest<QualityTaskResponse>(globalContext.QKApiHost, $"api/PackPurchaseTask/GetQualityTask?taskId={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<bool> CompeteQualityTask(QualityTaskRequest competeQualityTask)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/CompeteQualityTask", competeQualityTask, null, HttpMethod.Post);
}
}
}

2
BBWY.Client/App.xaml.cs

@ -6,8 +6,10 @@ using BBWY.Common.Http;
using BBWY.Common.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using QuanTan.SDK.Client;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.IO.MemoryMappedFiles;

97
BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs

@ -0,0 +1,97 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Request
{
public class QualityTaskRequest
{
/// <summary>
/// 任务id
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuid
/// </summary>
public string SkuId { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 增量1()
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get; set; }
/// <summary>
/// 货号品名(手写上传)
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get; set; }
/// <summary>
/// 合格证id
/// </summary>
public string CerId { get; set; }
/// <summary>
/// 显示的条码Id
/// </summary>
public long? BarcodeId { get; set; }
//public BarCodeDTO BarCodeDTO { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool IsNeedCer { get; set; }
///// <summary>
///// 配件列表
///// </summary>
//public PurchaseSku[] PurchaseSkus { get; set; }
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get; set; }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get; set; }
/// <summary>
/// 预计完成时间
/// </summary>
public DateTime? PreCompeteTime { get; set; }
}
}

6
BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs

@ -97,7 +97,13 @@ namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask
public class WareHourseDTO
{
/// <summary>
/// 序号
/// </summary>
public int Index { get; set; }
/// <summary>
/// 仓库id
/// </summary>
public string WareId { get; set; }
/// <summary>
/// 仓库名称

183
BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs

@ -15,7 +15,11 @@ using BBWY.Client.Models.QualityTask;
using BBWY.Client.Views.QualityTask;
using BBWY.Client.Models.APIModel.Response.PackPurchaseTask;
using NPOI.Util.ArrayExtensions;
using static Org.BouncyCastle.Math.EC.ECCurve;
using System.Threading.Tasks;
using Org.BouncyCastle.Asn1.Crmf;
using System.Runtime.InteropServices.WindowsRuntime;
using NPOI.Util;
using BBWY.Controls;
namespace BBWY.Client.ViewModels
{
@ -23,6 +27,25 @@ namespace BBWY.Client.ViewModels
{
#region 属性
public int goodProductQuantity;
public int arrivalQuantity;
/// <summary>
/// 到货数量
/// </summary>
public int ArrivalQuantity { get => arrivalQuantity; set { Set(ref arrivalQuantity, value); } }
/// <summary>
/// 良品数量
/// </summary>
public int GoodProductQuantity { get => goodProductQuantity; set { Set(ref goodProductQuantity, value); } }
/// <summary>
/// 预计完成时间
/// </summary>
public DateTime? PreCompeteTime { get; set; }
private ObservableCollection<PurchaseSku> purchaseSkuList;
public ObservableCollection<PurchaseSku> PurchaseSkuList { get => purchaseSkuList; set { Set(ref purchaseSkuList, value); } }
@ -78,17 +101,23 @@ namespace BBWY.Client.ViewModels
public ObservableCollection<string> PreCompeteTimeDayList { get => preCompeteTimeDayList; set { Set(ref preCompeteTimeDayList, value); } }
private ObservableCollection<int> preCompeteTimeHourList = new ObservableCollection<int> {
12,18,21
private ObservableCollection<string> preCompeteTimeHourList = new ObservableCollection<string> {
"12点前","18点前","21点前"
};
public ObservableCollection<int> PreCompeteTimeHourList { get => preCompeteTimeHourList; set { Set(ref preCompeteTimeHourList, value); } }
public ObservableCollection<string> PreCompeteTimeHourList { get => preCompeteTimeHourList; set { Set(ref preCompeteTimeHourList, value); } }
public string preCompeteTimeHour;
public string PreCompeteTimeHour { get => preCompeteTimeHour; set { Set(ref preCompeteTimeHour, value); } }
private ObservableCollection<WareHourseDTO> wareHourseList = new ObservableCollection<WareHourseDTO> { };
public ObservableCollection<WareHourseDTO> WareHourseList { get => wareHourseList; set { Set(ref wareHourseList, value); } }
private int wareHourseCount;
public int WareHourseCount { get => wareHourseCount; set { Set(ref wareHourseCount, value); } }
public int WareHourseCount { get; set; }
private int skuCount;
/// <summary>
@ -308,6 +337,23 @@ namespace BBWY.Client.ViewModels
GlobalContext globalContext;
private bool isLoading = false;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
PurchaseService purchaseService;
public string OriginShopName { get; set; }
public string SkuPurchaseSchemeId { get; set; }
public Platform Platform { get; set; }
public string ShopId { get; set; }
public long TaskId { get; set; }
public string UserName { get; set; }
public ICommand SetBarCodeCommand { get; set; }
public ICommand SetCertificateCommand { get; set; }
public ICommand LookBarCommand { get; set; }
public ICommand LookCerCommand { get; set; }
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand CompeteQualityTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
#endregion
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService)
@ -322,6 +368,7 @@ namespace BBWY.Client.ViewModels
LookBarCommand = new RelayCommand(LookBar);
LookCerCommand = new RelayCommand<string>(LookCer);
//SearchSkuCommand = new RelayCommand<object>(SearchSku);
CompeteQualityTaskCommand = new RelayCommand<object>(CompeteQualityTask);
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
@ -339,22 +386,103 @@ namespace BBWY.Client.ViewModels
//Test();
#endif
}
PurchaseService purchaseService;
public string OriginShopName { get; set; }
public string SkuPurchaseSchemeId { get; set; }
public Platform Platform { get; set; }
public string ShopId { get; set; }
public string UserName { get; set; }
#region 方法
public ICommand SetBarCodeCommand { get; set; }
public ICommand SetCertificateCommand { get; set; }
public ICommand LookBarCommand { get; set; }
public ICommand LookCerCommand { get; set; }
private void CompeteQualityTask(object obj)
{
if (GoodProductQuantity > ArrivalQuantity)
{
MessageBox.Show($"良品数量:{GoodProductQuantity}不能大于到货数量:{ArrivalQuantity}");
return;
}
if (ArrivalQuantity == 0)
{
MessageBox.Show($"到货数量不能:{ArrivalQuantity}!");
return;
}
var request = new Models.APIModel.Request.QualityTaskRequest
{
BasicPack = BasicPack,
ArrivalQuantity = ArrivalQuantity,
GoodProductQuantity = GoodProductQuantity,
Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)),
BrandName = BrandName,
CertificatePosition = CertificatePosition,
MarkMessage = MarkMessage,
OrderId = OrderId,
PackType = PackType,
GoodsNumber = GoodsNumber,
SkuGoodsTitle = SkuTitle,
SkuId = SkuId,
IsNeedBar = IsNeedBarCode == Need.,
IsNeedCer = IsNeedCertificateModel == Need.,
TaskId = TaskId
};
if (IsNeedBarCode == Need.)
{
if (BarCodeModel.Id <= 0)
{
MessageBox.Show("条形码不能为空");
return;
}
request.BarcodeId = BarCodeModel.Id;
}
if (IsNeedCertificateModel == Need.)
{
if (PurchaseSkuList == null && PurchaseSkuList.Count <= 0)
{
MessageBox.Show("无可用的合格证打印!");
return;
}
if (PurchaseSkuList.Where(p => p.IsSetCertificate).Count() > 0)
{
MessageBox.Show("存在未确认的合格证,请先完成确认!");
return;
}
if (PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Count() <= 0)
{
MessageBox.Show("无可选的合格证打印!");
return;
}
request.CerId = string.Join(",", PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO.Id));
}
int hour = Convert.ToInt32(PreCompeteTimeHour.Replace("点前", ""));
request.PreCompeteTime = DateTime.Now.Date.AddHours(hour);
var competeRes = packPurchaseTaskService.CompeteQualityTask(request);
if (competeRes == null)
{
MessageBox.Show("网络异常");
return;
}
if (!competeRes.Success)
{
MessageBox.Show(competeRes.Msg);
return;
}
BatchPrintWindow batchPrint = new BatchPrintWindow();
batchPrint.SetData(GoodProductQuantity,
PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray()
, BarCodeModel);
batchPrint.ShowDialog();
var window = obj as BWindow;
window.Close();
}
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand CreateTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
private void SetBarCode()
{
@ -447,11 +575,11 @@ namespace BBWY.Client.ViewModels
public void SearchSku(PackTaskModel model)
{
InitData();
TaskId = model.TaskId;
SkuId = model.SkuId;
SkuName = model.ItemList[0].SkuName;
Logo = model.ItemList[0].Logo.Replace("80x80", "200x200");
Logo = model.ItemList[0].Logo.Replace("80x80", "200x200").Replace("200x200", "150x150");
BrandName = model.ItemList[0].BrandName;
SkuCount = model.SkuCount;
@ -462,7 +590,7 @@ namespace BBWY.Client.ViewModels
GoodsNumber = model.GoodsNumber;
SkuTitle = model.SkuTitle;
BasicPack = model.BasicPack;
CertificatePosition = model.CertificatePosition ;
CertificatePosition = model.CertificatePosition;
string[] increateDatas = model.Increment1?.Split(',');
@ -496,15 +624,17 @@ namespace BBWY.Client.ViewModels
{
WareHourseList.Add(w);
});
WareHourseCount = WareHourseList.Count();
if (packTaskRes.Data.PurchaseSkus != null)
{
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
foreach (var item in packTaskRes.Data.PurchaseSkus)
{
item.IsSetCertificate = true;
if (string.IsNullOrEmpty(item.PurchaseProductId))
{
PurchaseSkuList.Add(item);continue;
PurchaseSkuList.Add(item); continue;
}
var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId);
@ -523,10 +653,10 @@ namespace BBWY.Client.ViewModels
IsNeedCer = item.IsNeedCer,
PurchaseSkuId = item.PurchaseSkuId,
CerDTO = item.CerDTO,
IsSetCertificate = item.CerDTO == null ? true : false,
IsSetCertificate = item.IsSetCertificate,
});
}));
PurchaseSkuList.Add(item);
//PurchaseSkuList.Add(item);
}
}
@ -541,7 +671,8 @@ namespace BBWY.Client.ViewModels
public Action ReflashWindow { get; set; }
public void InitData()
{
PurchaseSkuList = new ObservableCollection<PurchaseSku>();
WareHourseList = new ObservableCollection<WareHourseDTO>();
IsSetBarCode = true;
SkuTitle = "";
BrandName = "";

71
BBWY.Client/Views/PackTask/LookBarCodeWindow.xaml

@ -31,79 +31,8 @@
</Border>
<local:BarcodeControl Grid.Row="1" model="{Binding BarCodeModel, Mode=TwoWay}"/>
<!--<DockPanel Grid.Row="1">
<Border Name="jingjian" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=精简模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,25,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,25,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
<Border Name="biaozhun" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=标准模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="型号:"/>
<Run Text="{Binding ProductNo}"/>
</TextBlock>
<TextBlock Margin="10,10,10,0" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
<Border Name="wuxinghao" Visibility="{Binding LabelModel,Converter={StaticResource objConverter},ConverterParameter=无型号模板:Visible:Collapsed}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="220" Margin="1">
<StackPanel Orientation="Vertical" >
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品牌:"/>
<Run Text="{Binding Brand}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
<TextBlock Margin="10,10,10,5" FontSize="15" FontWeight="Black" >
<Run Text="规格:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock>
<Image Source="/resources/images/barcode.png" Margin="10,10,10,0"/>
<TextBlock Text="POP" HorizontalAlignment="Center" Margin="10,0,10,0" FontSize="15" FontWeight="Black" >
<Run Text="{Binding SkuId}"/>
</TextBlock>
</StackPanel>
</Border>
</DockPanel>-->
</Grid>
</c:BWindow>

4
BBWY.Client/Views/PackTask/PrintWindow.xaml.cs

@ -133,11 +133,7 @@ namespace BBWY.Client.Views.PackTask
PrintData(printCount, printName,null,cer);
System.Threading.Thread.Sleep(100);
}
}
});
}

3
BBWY.Client/Views/PackTask/SetBarCode.xaml

@ -1,5 +1,5 @@
<c:BWindow x:Class="BBWY.Client.Views.PackTask.SetBarCodeWindow"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
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"
@ -7,6 +7,7 @@
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="651" Width="577"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"

18
BBWY.Client/Views/PackTask/SetCerControl.xaml

@ -176,23 +176,7 @@
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
<!--<Grid>
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Left" Text="合格证" FontSize="18" Margin="157,12" />
<TextBlock Text="品牌:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,70" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,NotifyOnTargetUpdated=True,UpdateSourceTrigger=PropertyChanged}" Width="111" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,65,0,0"/>
<TextBlock Text="品名:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="203,70,0,0" />
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,65,0,0"/>
<TextBlock Text="材质:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,114,0,0" />
<c:BTextBox Height="26" Text="{Binding model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="111" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,108,0,0"/>
<TextBlock Text="适用年龄:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="179,114,0,0" />
<c:BTextBox Height="25" Text="{Binding model.ApplyAge,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="124" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="233,108,0,0"/>
<TextBlock Text="执行标准:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="9,166,0,0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,161,0,0"/>
<TextBlock Text="生产商:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="19,206,0,0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,NotifyOnTargetUpdated=True,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,201,0,0"/>
<TextBlock Text="地址:" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="33,242,0,0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="63,241,0,0"/>
</Grid>-->
</Border>
</Grid>
</Grid>

75
BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml

@ -0,0 +1,75 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.BatchPrintWindow"
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"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
mc:Ignorable="d"
Style="{StaticResource bwstyle}"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Height="300" Width="300"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0">
<!-- DataContext="{Binding CreateSetBarCodeView,Source={StaticResource Locator}}"-->
<Window.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>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="打印" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Row="1" Orientation="Vertical" >
<StackPanel Orientation="Horizontal" Margin=" 50 50 0 0" HorizontalAlignment="Left">
<TextBlock Margin="0 0 5 0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="打印机:"/>
<Border BorderBrush="{StaticResource Border.Brush}" VerticalAlignment="Center" BorderThickness="1">
<ComboBox x:Name="cbPrints" BorderThickness="0" Height="30" Width="150" VerticalAlignment="Center" HorizontalAlignment="Left" />
</Border>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin=" 50 10 0 0" HorizontalAlignment="Left">
<TextBlock HorizontalAlignment="Left" Text="良品数量:" Margin="0 0 5 0" />
<TextBlock Name="goodProductQuantity" HorizontalAlignment="Left" Margin="0 0 5 0" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<TextBlock Text="条形码数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="barNumber" Width="100" WaterRemark="条形码数量"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="50 10 0 0">
<TextBlock Text="合格证数量:" VerticalAlignment="Center" Margin="0 0 5 0" />
<c:BTextBox Name="cerNumber" Width="100" WaterRemark="合格证数量"/>
</StackPanel>
</StackPanel>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton Background="{StaticResource Button.Background}" Grid.Row="2" Content="打印" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch" Click="BButton_Click"
/>
</Grid>
</c:BWindow>

205
BBWY.Client/Views/QualityTask/BatchPrintWindow.xaml.cs

@ -0,0 +1,205 @@
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// BatchPrintWindow.xaml 的交互逻辑
/// </summary>
public partial class BatchPrintWindow : BWindow
{
public BatchPrintWindow()
{
InitializeComponent();
this.Loaded += BatchPrintWindow_Loaded;
}
public void SetData(int GoodProductQuantity, CertificateModel[] CertificateModel, BarCodeModel BarCodeModel)
{
this.BarCodeModel = BarCodeModel;
this.GoodProductQuantity = GoodProductQuantity;
goodProductQuantity.Text = GoodProductQuantity.ToString();
this.CertificateModel = CertificateModel;
this.DataContext = this;
}
public CertificateModel[] CertificateModel { get; set; }
public BarCodeModel BarCodeModel { get; set; }
public int GoodProductQuantity { get; set; }
private void BatchPrintWindow_Loaded(object sender, RoutedEventArgs e)
{
LoadPrints();
}
/// <summary>
/// 获取打印机名称
/// </summary>
private void LoadPrints()
{
var printingNames = PrinterSettings.InstalledPrinters;//获取本机的打印机数据
int index = -1;
int selectIndex = 0;
foreach (string name in printingNames)
{
if (name == "Microsoft XPS Document Writer" || name == "Microsoft Print to PDF" || name == "Fax")
{
continue;
}
index++;
if (name.Contains("Deli"))
{
selectIndex = index;
}
cbPrints.Items.Add(name);
}
if (cbPrints.Items.Count > selectIndex)
{
cbPrints.SelectedIndex = selectIndex;
}
}
private void PrintData(int printCount, string printName, BarCodeModel barCode = null, CertificateModel certificateModel = null)
{
try
{
PrintDocument document = new PrintDocument();
document.PrinterSettings.PrinterName = printName;//使用打印机名称,指定特定的打印机进行打印。
//设置打印页面
//document.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 236, 157);
document.PrintPage += (s, a) =>
{
Font font = new Font("宋体", 6, System.Drawing.FontStyle.Regular);
if (barCode != null)
{
MyPrintHelper.PrintBarcode(ref a, barCode, font);
}
if (certificateModel != null)
{
MyPrintHelper.PrintCertificate(ref a, certificateModel, font);
}
};
document.PrinterSettings.Copies = (short)printCount;//打印份数
document.Print();
}
catch (Exception ex)
{
App.Current.Dispatcher.Invoke(() =>
{
new TipsWindow($"打印失败,{ex.Message}").Show();
});
}
}
private void Document_PrintPage(object sender, PrintPageEventArgs args)
{
Font font = new Font("宋体", 6, System.Drawing.FontStyle.Regular);
if (BarCodeModel != null)
{
MyPrintHelper.PrintBarcode(ref args, BarCodeModel, font);
}
if (CertificateModel != null)
{
foreach (var cer in CertificateModel)
{
MyPrintHelper.PrintCertificate(ref args, cer, font);
}
}
}
private void BButton_Click(object sender, RoutedEventArgs e)
{
int cerNum = 0, barNum = 0;
if (!string.IsNullOrEmpty(cerNumber.Text))
try
{
cerNum = Convert.ToInt32(cerNumber.Text);
}
catch
{
MessageBox.Show("请输入数字");
return;
}
if (!string.IsNullOrEmpty(barNumber.Text))
try
{
cerNum = Convert.ToInt32(barNumber.Text);
}
catch
{
MessageBox.Show("请输入数字");
return;
}
if (barNum > 0)
{
if (BarCodeModel == null)
{
MessageBox.Show("未设置条形码模板");
return;
}
}
if (cerNum > 0)
{
if (CertificateModel == null || CertificateModel.Count() <= 0)
{
MessageBox.Show("未设置合格证模板");
return;
}
}
string printName = cbPrints.Text;
Task.Factory.StartNew(() =>
{
if (barNum > 0)
{
if (BarCodeModel != null)
PrintData(barNum, printName, BarCodeModel);
}
if (cerNum > 0)
{
if (CertificateModel != null && CertificateModel.Count() > 0)
foreach (var cer in CertificateModel)
PrintData(cerNum, printName, null, cer);
}
});
}
}
}

164
BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml

@ -0,0 +1,164 @@
<UserControl x:Class="BBWY.Client.Views.QualityTask.QualitySetCerControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.QualityTask"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
d:DesignHeight="300" d:DesignWidth="382">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:QualitySetCerControl}}}">
<DockPanel Grid.Row="1">
<Border Visibility="{Binding model.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=无型号:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding model.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Name="shiyongnianling" Visibility="{Binding model.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=适用年龄:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<TextBlock Text="适用年龄:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.ApplyAge,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="124" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding model.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding model.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准无3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="0 10 0 25" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.Shader,Mode=TwoWay}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding model.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="{Binding model.LabelModel,Converter={StaticResource objConverter}, ConverterParameter=标准有3c:Visible:Collapsed}" BorderBrush="Black" BorderThickness="1" Width="380" Height="298" Margin="1" VerticalAlignment="Top" HorizontalAlignment="Left">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal" >
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="合格证" FontSize="18" Margin="157 0 70 0" />
<Image Source="pack://siteoforigin:,,,/Resources/Images/3c.png" Width="54" Height="40" VerticalAlignment="Top" Margin="0 5 0 0" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 2 0 5">
<TextBlock Text="工厂编号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="203,0,0,0" />
<c:BTextBox Text="{Binding model.FactoryNumber,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Height="25" Width="100" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="品牌:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0" />
<c:BTextBox Height="25" Text="{Binding model.Brand,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="型号:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.ProductNo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="品名:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.BrandName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="材质:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30,0,0,0"/>
<c:BTextBox Height="25" Text="{Binding model.Shader,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="126" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="执行标准:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="如多个标准请使用逗号分隔" Height="25" Text="{Binding model.ExcuteStander,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 10 0 10">
<TextBlock Text="生产日期:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6 0 0 0" />
<c:BTextBox WaterRemark="不填则不打印" Height="25" Text="{Binding model.ProduceDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="生产商:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18 0 0 0" />
<c:BTextBox Height="25" Text="{Binding model.ProductShop,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 5 0 0">
<TextBlock Text="地址:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="30 0 0 0" />
<c:BTextBox TextWrapping ="Wrap" AcceptsReturn="True" Height="44" Text="{Binding model.ProductAdress,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="296" VerticalAlignment="Top" HorizontalAlignment="Left" />
</StackPanel>
</StackPanel>
</Border>
</DockPanel>
</Grid>
</UserControl>

52
BBWY.Client/Views/QualityTask/QualitySetCerControl.xaml.cs

@ -0,0 +1,52 @@
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using System;
using System.Collections.Generic;
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.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualitySetCerControl.xaml 的交互逻辑
/// </summary>
public partial class QualitySetCerControl : UserControl
{
public QualitySetCerControl()
{
InitializeComponent();
}
/// <summary>
///
/// </summary>
public CertificateModel model
{
get { return (CertificateModel)GetValue(modelProperty); }
set
{
SetValue(modelProperty, value);
}
}
public static readonly DependencyProperty modelProperty =
DependencyProperty.Register("model", typeof(CertificateModel), typeof(QualitySetCerControl), new PropertyMetadata(ChangedProperty));
private static void ChangedProperty(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//var control = d as CerControl;
//var data = e.NewValue as CertificateModel;
//if (data != null)
//{
// control.SetData(data);
//}
}
}
}

11
BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml

@ -3,16 +3,17 @@
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"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
xmlns:local ="clr-namespace:BBWY.Client.Views.QualityTask"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
mc:Ignorable="d"
xmlns:c ="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed" Height="480" Width="383"
RightButtonGroupMargin="0,5,5,0">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SetCerWindow}}}">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:QualitySetCerWindow}}}">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
@ -41,12 +42,12 @@
</StackPanel>
<Grid Grid.Row="1" Visibility="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:Visible:Collapsed}">
<local:SetCerControl model="{Binding CertificateModel,Mode=TwoWay}"/>
<local:QualitySetCerControl model="{Binding CertificateModel,Mode=TwoWay}"/>
</Grid>
</Grid>
<Border Grid.Row="2" Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Background}" BorderThickness="1"/>
<c:BButton x:Name="save_btn" Background="{StaticResource Button.Selected.Background}" Grid.Row="2" Content="保存" HorizontalAlignment="Right" Width="100" VerticalAlignment="Stretch"
<c:BButton x:Name="save_btn" Background="{StaticResource Button.Selected.Background}" Grid.Row="2" Content="确认" HorizontalAlignment="Right" Margin="0 0 5 0" Width="100" VerticalAlignment="Stretch"
Click="save_btn_Click" />
</Grid>
</c:BWindow>

23
BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs

@ -44,7 +44,6 @@ namespace BBWY.Client.Views.QualityTask
}
public ICommand SetPackCerStateCommand { get; set; }
//public PackCerState PackCerState { get; set; }
public PackCerState PackCerState
@ -63,7 +62,7 @@ namespace BBWY.Client.Views.QualityTask
public static readonly DependencyProperty PackCerStateProperty =
DependencyProperty.Register("PackCerState", typeof(PackCerState), typeof(SetCerWindow));
DependencyProperty.Register("PackCerState", typeof(PackCerState), typeof(QualitySetCerWindow));
public bool IsSetSpuCertificate { get; set; }
public PackPurchaseTaskService packTaskService { get; set; }
@ -83,8 +82,28 @@ namespace BBWY.Client.Views.QualityTask
|| string.IsNullOrEmpty(CertificateModel.ProductAdress))
{
//new TipsWindow("参数出错!请重新填写!").Show();
MessageBox.Show("有未填写的参数");
return;
}
if((CertificateModel.LabelModel== CertificateLabelModel.3c|| CertificateModel.LabelModel == CertificateLabelModel.3c) && string.IsNullOrEmpty( CertificateModel.ProductNo))
{
MessageBox.Show("型号不能为空");
return;
}
if ( CertificateModel.LabelModel == CertificateLabelModel.3c && string.IsNullOrEmpty(CertificateModel.FactoryNumber))
{
MessageBox.Show("工厂编号不能为空");
return;
}
if (CertificateModel.LabelModel == CertificateLabelModel. && string.IsNullOrEmpty(CertificateModel.ApplyAge))
{
MessageBox.Show("适用年龄不能为空");
return;
}
var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
var resData = packTaskService.SaveCer(new CerRequest

133
BBWY.Client/Views/QualityTask/QualityWindow.xaml

@ -13,7 +13,7 @@
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Height="700" Width="1305">
Height="666" Width="1200">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@ -46,6 +46,7 @@
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<StackPanel Orientation="Vertical" HorizontalAlignment="Center">
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="0 10 0 0"
@ -62,6 +63,8 @@
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Orientation="Vertical" Width="170">
<TextBlock Margin="10 10 0 0" TextTrimming="CharacterEllipsis">
@ -128,24 +131,23 @@
</UniformGrid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 30 0 0">
<TextBlock VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" Margin="0 30 0 0" >
<TextBlock VerticalAlignment="Center" Visibility="{Binding WareHourseCount,Mode=TwoWay,Converter={StaticResource objConverter}, ConverterParameter=0:Collapsed:Visible}" >
<Run Text="份数:"/>
<Run Text="{Binding WareHourseCount}"/>
<Run Text="{Binding WareHourseCount,Mode=TwoWay}"/>
</TextBlock>
<UniformGrid Columns="3" Margin="45 0 0 0" Height="30">
<TextBlock Text="预计完成时间: " VerticalAlignment="Center"/>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" BorderThickness="1">
<hc:ComboBox BorderThickness="0" Text="{Binding PreCompeteTimeDayList}"
>
<hc:ComboBox BorderThickness="0">
<ComboBoxItem IsSelected="True" Content="今天" />
</hc:ComboBox>
</Border>
<Border BorderBrush="{StaticResource Border.Brush}" Height="30" Margin="10 0 0 0" BorderThickness="1">
<hc:ComboBox BorderThickness="0" Text="{Binding PreCompeteTimeHourList}">
<ComboBoxItem IsSelected="True" Content="12点前" />
<hc:ComboBox BorderThickness="0" ItemsSource="{Binding PreCompeteTimeHourList}" SelectedIndex="0" Text="{Binding PreCompeteTimeHour}">
<!--<ComboBoxItem IsSelected="True" Content="12点前" />
<ComboBoxItem IsSelected="True" Content="18点前" />
<ComboBoxItem IsSelected="True" Content="21点前" />
<ComboBoxItem IsSelected="True" Content="21点前" />-->
</hc:ComboBox>
</Border>
</UniformGrid>
@ -153,7 +155,7 @@
</StackPanel>
</StackPanel>
<c:BTextBox WaterRemark="打包备注" Grid.Column="1" Margin="0 5 10 5" Height="80"/>
<c:BTextBox WaterRemark="打包备注" Text="{Binding MarkMessage,Mode=TwoWay}" Grid.Column="1" Margin="0 5 10 5" Height="80"/>
</Grid>
<ListBox Grid.Row="2" Grid.ColumnSpan="2"
@ -162,7 +164,7 @@
BorderBrush="{StaticResource Border.Brush}"
ItemsSource="{Binding WareHourseList}"
Width="Auto"
Margin="5,0,0,6"
Margin="20,0,0,10"
HorizontalAlignment="Left"
>
<ListBox.ItemsPanel>
@ -179,8 +181,8 @@
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Index,StringFormat=第\{0\}份}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding Count,StringFormat=第\{0\}份}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="2" Style="{StaticResource middleTextBlock}">
<TextBlock Grid.Row="1" Text="{Binding Count}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Grid.Row="2" Style="{StaticResource middleTextBlock}" Margin="5 0 5 0 ">
<Run Text="{Binding WareName}"/>
</TextBlock>
@ -195,7 +197,7 @@
</ListBox.ItemTemplate>
</ListBox>
<Grid Height="90" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="20 10 0 0">
<!--<Grid Height="90" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="20 10 0 0">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
@ -212,18 +214,18 @@
<TextBlock Grid.Row="0" Text="第1份" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" Text="10" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Grid.Row="2" Margin="10 0 10 0" Text="京东仓1111111111111111111111111111" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Grid>-->
<TextBlock Text="配件商品信息" Margin="20 10 0 0" FontSize="13" FontWeight="Bold" VerticalAlignment="Top" HorizontalAlignment="Left" />
<TextBlock Text="配件商品信息" Margin="20 10 0 10" FontSize="13" FontWeight="Bold" VerticalAlignment="Top" HorizontalAlignment="Left" />
<Grid >
<ListBox x:Name="listbox_order" HorizontalAlignment="Left"
Height="155" Width="900" Margin="0" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
BorderThickness="0" Visibility="{Binding OrderId,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
@ -234,10 +236,10 @@
<DataTemplate>
<Grid
MinHeight="100">
<StackPanel Orientation="Horizontal">
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="25 0 0 0"
<StackPanel Orientation="Horizontal" Height="150">
<c:BAsyncImage UrlSource="{Binding Logo}" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1"
Height="150" Width="150" Stretch="Fill"
VerticalAlignment="Top" Margin="20 0 0 0"
Cursor="Hand">
<!--<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
@ -273,13 +275,13 @@
</TextBlock >
<StackPanel Margin="10 0 0 5" Height="25" VerticalAlignment="Bottom" DockPanel.Dock="Bottom" Orientation="Horizontal">
<StackPanel Margin="10 0 0 0" Height="25" VerticalAlignment="Bottom" DockPanel.Dock="Bottom" Orientation="Horizontal">
<TextBlock Text="合格证:" VerticalAlignment="Center"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<c:BButton Content="待设置" Style="{StaticResource LinkButton}" Width="35" Height="15"
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"/>
@ -298,30 +300,97 @@
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
<!--<c:BButton Content="" Style="{StaticResource LinkButton}" Width="35" Height="15"
</StackPanel>
</DockPanel>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox HorizontalAlignment="Left"
Height="155" Width="900" Margin="0" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0" Visibility="{Binding OrderId,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid
MinHeight="100">
<StackPanel Orientation="Horizontal" Height="150">
<Border Margin="20 0 0 0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="150" Width="150">
<StackPanel Orientation="Vertical">
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" Height="30 " Margin="20 50 20 30">
<TextBlock Text="配件1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Margin="20 0 0 0" Height="25" VerticalAlignment="Bottom" Orientation="Horizontal">
<TextBlock Text="合格证: " VerticalAlignment="Center"/>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }">
<c:BButton Content="待确认" Style="{StaticResource LinkButton}" Width="35" Height="15"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"/>-->
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="无需设置" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
<c:BButton Content="查看" Style="{StaticResource LinkButton}" Width="35" Height="15"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
Visibility="{Binding IsSetCertificate, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }">
<c:BButton Content="无需合格证" Style="{StaticResource LinkButton}" Height="15" Margin="5 0 0 0"
CommandParameter="{Binding PurchaseSkuId}"
Command="{Binding DataContext. LookCerCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" CommandParameter="{Binding }"
Command="{Binding DataContext.SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
/>
</StackPanel >
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
</DockPanel>
</StackPanel>
</Grid>
</DataTemplate>
@ -329,7 +398,7 @@
</ListBox>
</Grid>
<TextBlock Text="打包配置" FontWeight="Bold" FontSize="13" Margin="20 23 " HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBlock Text="打包配置" FontWeight="Bold" FontSize="13" Margin="20 23 0 0" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid Height="70" Margin="20 20 20 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="77"/>
@ -423,14 +492,16 @@
</StackPanel>
</Grid>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" />
</Grid>
<Grid Grid.Row="2">
<c:BButton Content="完成质检" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,19,2"
Command="{Binding CreateTaskCommand}"
Command="{Binding CompeteQualityTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Row="1" VerticalAlignment="Bottom"/>
</Grid>
</c:BWindow>
Loading…
Cancel
Save