Browse Source

打印打包配置标签

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
fb7e3a8647
  1. 2
      BBWY.Client/BBWY.Client.csproj
  2. 2
      BBWY.Client/BBWYAppSettings.json
  3. 47
      BBWY.Client/Extensions/ImageExtensions.cs
  4. 181
      BBWY.Client/Helpers/MyPrintHelper.cs
  5. BIN
      BBWY.Client/Resources/Images/123.bmp
  6. 375
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  7. 181
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs
  8. 141
      BBWY.Client/Views/PackTask/PrintPackTaskDetail.xaml
  9. 83
      BBWY.Client/Views/PackTask/PrintPackTaskDetail.xaml.cs
  10. 2
      BBWY.Client/Views/PackTask/WareHouseListControl.xaml

2
BBWY.Client/BBWY.Client.csproj

@ -26,6 +26,7 @@
<ItemGroup>
<None Remove="BBWYAppSettings.json" />
<None Remove="Resources\Images\123.bmp" />
<None Remove="Resources\Images\barcode.png" />
<None Remove="Resources\Images\defaultItem.png" />
<None Remove="Resources\Images\jdwl.png" />
@ -35,6 +36,7 @@
<Content Include="BBWYAppSettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Resource Include="Resources\Images\123.bmp" />
<Resource Include="Resources\Images\barcode.png">
<CopyToOutputDirectory></CopyToOutputDirectory>
</Resource>

2
BBWY.Client/BBWYAppSettings.json

@ -5,5 +5,5 @@
"JOSApiHost": "",
"1688ApiHost": "",
"QKApiHost": "http://localhost:8080"
//"QKApiHost": "http://qiku.qiyue666.com"
// "QKApiHost": "http://qiku.qiyue666.com"
}

47
BBWY.Client/Extensions/ImageExtensions.cs

@ -0,0 +1,47 @@
using SixLabors.ImageSharp.Memory;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace BBWY.Client.Extensions
{
public static class ImageExtensions
{
public static BitmapImage ByteToBitmapImage(this byte[] imageData)
{
BitmapImage bitmapImage = new BitmapImage();
try
{
using (MemoryStream memoryStream = new MemoryStream(imageData))
{
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = memoryStream;
bitmapImage.EndInit();
bitmapImage.Freeze();
}
return bitmapImage;
}
catch (Exception ex)
{
Debug.Print($"转换图片失败:: {ex.Message}");
}
return bitmapImage;
}
public static Image ByteToImage(this byte[] imageData)
{
using MemoryStream ms = new MemoryStream(imageData);
Image image = System.Drawing.Image.FromStream(ms);
return image;
}
}
}

181
BBWY.Client/Helpers/MyPrintHelper.cs

@ -11,9 +11,11 @@ using System.Drawing.Imaging;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows;
using System.Windows.Media.Imaging;
using WebSocketSharp;
@ -40,11 +42,11 @@ namespace BBWY.Client.Helpers
//SetBarStander(barCode, ref args, font);
break;
case BarcodeLabelModel.:
//font = new Font("宋体", 10, System.Drawing.FontStyle.Regular);
////SetBar(barCode, ref args, font, 15);
//font = new Font("宋体", 10, System.Drawing.FontStyle.Regular);
////SetBar(barCode, ref args, font, 15);
//SetBarSimplify(barCode, ref args, font);
//break;
//SetBarSimplify(barCode, ref args, font);
//break;
case BarcodeLabelModel.:
font = new Font("宋体", 10, System.Drawing.FontStyle.Regular);
SetBar(barCode, ref args, font, 7);
@ -152,7 +154,7 @@ namespace BBWY.Client.Helpers
//args.Graphics.DrawString($"品名: {barCode.BrandName}", font, System.Drawing.Brushes.Black, new PointF(10, 10));
//args.Graphics.DrawString($"规格: {barCode.SkuName}", font, System.Drawing.Brushes.Black, new PointF(10, 40));
args.Graphics.DrawString($"规格: {barCode.SkuName}", font, System.Drawing.Brushes.Black, new PointF(10, 10));
args.Graphics.DrawString($"店铺: {barCode.ShopName}", font, System.Drawing.Brushes.Black, new PointF(10, 40));
// g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
@ -601,10 +603,19 @@ namespace BBWY.Client.Helpers
public static BitmapImage GetBarcodeImage(string printStr, int width, int height)
{
Bitmap image = new Bitmap(width, height);
Graphics graphics2 = Graphics.FromImage(image);
Barcode barcode = new Barcode();
System.Drawing.Image img = barcode.Encode(TYPE.CODE128, printStr, 500, 60);
graphics2.DrawImage(img, 0, 0, width, height);
try
{
Graphics graphics2 = Graphics.FromImage(image);
Barcode barcode = new Barcode();
System.Drawing.Image img = barcode.Encode(TYPE.CODE128, printStr, 500, 60);
graphics2.DrawImage(img, 0, 0, width, height);
}
catch
{
MessageBox.Show($"生成条码失败,不支持格式: {printStr}");
}
return bitmapToBitmapImage(image);
}
@ -618,10 +629,21 @@ namespace BBWY.Client.Helpers
public static BitmapImage GetBarcodeImageV2(string printStr, int width, int height)
{
Bitmap image = new Bitmap(width, height);
Graphics graphics2 = Graphics.FromImage(image);
Barcode barcode = new Barcode();
System.Drawing.Image img = barcode.Encode(TYPE.CODE128, printStr, width, height);
graphics2.DrawImage(img, 0, 0, width, height);
try
{
Graphics graphics2 = Graphics.FromImage(image);
Barcode barcode = new Barcode();
System.Drawing.Image img = barcode.Encode(TYPE.CODE128, printStr, width, height);
graphics2.DrawImage(img, 0, 0, width, height);
}
catch
{
MessageBox.Show($"生成条码失败,不支持格式: {printStr}");
}
return bitmapToBitmapImage(image);
}
@ -644,99 +666,12 @@ namespace BBWY.Client.Helpers
///// <summary>
///// 打印封箱
///// </summary>
///// <param name="sealBoxModel"></param>
///// <param name="printName"></param>
///// <param name="boxCount"></param>
///// <param name="printCount"></param>
//public static void PrintSealBoxData(SealBoxModel sealBoxModel, string printName, int boxCount, int printCount)
//{
// // 100*180
// UnitConverHelper unitConverHelper = new UnitConverHelper();
// var data = unitConverHelper.MmToPx(100, 180);
// var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
// string printNamePath = $"{applicationPath}/printSealName.init";
// if (File.Exists(printNamePath))
// {
// File.Delete(printNamePath);
// }
// File.WriteAllText(printNamePath, printName);
// var excel = $"{applicationPath}/Resources/ExccelModel/sealbox.xlsx";
// var newExccel = $"{applicationPath}/Resources/ExccelModel/newsealbox.xlsx";
// if (File.Exists(newExccel))
// {
// File.Delete(newExccel);
// }
// FileStream fs = new FileStream(excel, FileMode.Open, FileAccess.Read);
// XSSFWorkbook wb = new XSSFWorkbook(fs);
// var sheet = wb.GetSheetAt(0); // 得到第一个sheet
// var nameCell = sheet.GetRow(0).GetCell(0); // name列,第2行
// var ageCell = sheet.GetRow(3).GetCell(0); // age列,第2行
// XSSFWorkbook wb2 = new XSSFWorkbook();
// sheet.CopyTo(wb2, "Sheet1", true, false);
// var sheet2 = wb2.GetSheet("Sheet1");
// var nameCell2 = sheet2.GetRow(0).GetCell(1);
// nameCell2.SetCellValue(sealBoxModel.ShopName);
// sheet2.GetRow(3).GetCell(1).SetCellValue(sealBoxModel.WareName);
// StringBuilder sb = new StringBuilder();
// int totalCount = 0;
// for (int i = 0; i < sealBoxModel.SealBoxSkus.Count; i++)
// {
// var title = sealBoxModel.SealBoxSkus[i].SkuTitle;
// //if (title.Length>5)
// //{
// // title = title.Substring(0,5);
// //}
// totalCount += sealBoxModel.SealBoxSkus[i].WareHourseSkuCount;
// sheet2.GetRow(i + 6).GetCell(1).SetCellValue($"名称:{title}");
// sheet2.GetRow(i + 6).GetCell(2).SetCellValue($"SKU:{sealBoxModel.SealBoxSkus[i].SkuId}");
// sheet2.GetRow(i + 6).GetCell(3).SetCellValue($"数量:{sealBoxModel.SealBoxSkus[i].WareHourseSkuCount}");
// }
// sheet2.GetRow(25).GetCell(1).SetCellValue(totalCount);
// sheet2.GetRow(28).GetCell(1).SetCellValue(boxCount);
// FileStream fs1 = new FileStream(newExccel, FileMode.OpenOrCreate, FileAccess.ReadWrite);
// wb2.Write(fs1);
// fs1.Close();
// fs1.Dispose();
// Workbook workbook = new Workbook();
// workbook.LoadFromFile(newExccel);
// Worksheet wsheet = workbook.Worksheets[0];
// wsheet.PageSetup.PaperSize = PaperSizeType.PaperA4;
// wsheet.PageSetup.Orientation = PageOrientationType.Portrait;
// wsheet.PageSetup.PrintArea = "A1:D31";
// var print = workbook.PrintDocument;
// print.PrinterSettings.PrinterName = printName;
// print.PrinterSettings.Copies = (short)printCount;//打印份数
// print.Print();
//}
/// <summary>
/// 打印京东箱唛
/// </summary>
public static void PrintJDBoxWareData(JDWareBoxModel jDWareBoxModel,string printName)
public static void PrintJDBoxWareData(JDWareBoxModel jDWareBoxModel, string printName)
{
}
@ -749,6 +684,48 @@ namespace BBWY.Client.Helpers
SetDefaultPrinter(printName);
}
public static void PrintPackDetail(PackTaskModel model,ref PrintPageEventArgs args, Font font)
{
args.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
args.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
var sige = args.Graphics.VisibleClipBounds;// 宽:283 高:511 打印可视化区域
args.Graphics.TranslateTransform(0, 0);//设置起始位置
args.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
args.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
args.Graphics.DrawImage(LoadImage(model.ItemList[0].Logo.Replace("80x80","200x200")), 10, 20, 120, 120);
}
private static Image LoadImage(string imageUrl)
{
try
{
using (HttpClient client = new HttpClient())
{
// 发送 HTTP 请求并获取图片数据
var uri = new Uri(Uri.EscapeUriString(imageUrl));
byte[] imageData = client.GetByteArrayAsync(uri).Result;
return imageData.ByteToImage();
}
}
catch (Exception ex)
{
// 处理加载图片失败的异常
Console.WriteLine("加载图片失败:" + ex.Message);
}
return null;
}
/// <summary>
/// 调用win api将指定名称的打印机设置为默认打印机
/// </summary>

BIN
BBWY.Client/Resources/Images/123.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

375
BBWY.Client/Views/PackTask/PackDetailWindow.xaml

@ -539,295 +539,120 @@
<Grid Grid.Row="1" Grid.Column="1" Visibility="Hidden">
<StackPanel Orientation="Vertical" Name="printArea" Width="1065" Height="800">
<StackPanel Orientation="Horizontal">
<Grid Margin="20 5 0 0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="200">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Image Height="60" Width="200" Source="{Binding TaskImage}"/>
<TextBlock Grid.Row="1" FontSize="18" Style="{StaticResource middleTextBlock}" Text="{Binding TaskId}"/>
</Grid>
<TextBlock Text="摆放地托编号:" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="{Binding FloorDragNumber}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="包装员:" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="{Binding PackUserName}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="截止时间:" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
<TextBlock Text="{Binding PackTaskModel.PackCompletionOverTime,StringFormat=yyyy-MM-dd HH:mm}" FontSize="24" FontWeight="Bold" Style="{StaticResource middleTextBlock}" Margin="20 0 0 0"/>
</StackPanel>
<Grid Margin="20 5 20 5">
<Grid x:Name="print_box" Height="492" Width="272">
<Grid Margin="0 10 0 10" Width="272">
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition />
<RowDefinition Height="120"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="组合类型" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="SKU配件商品" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="打包需求" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="落仓" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="合格证位置" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="注意事项/对接备注" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Height="1" VerticalAlignment="Top " Background="{StaticResource Border.Brush}" Grid.ColumnSpan="9"/>
<Image Name="img_logo" Width="120"/>
<StackPanel VerticalAlignment="Top" Grid.Column="1" Margin="5">
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 10 0 0" FontSize="15" FontWeight="Bold">
<Run Text="任务ID:" />
<Run Text="{Binding PackTaskModel.TaskId}"/>
</TextBlock>
<TextBlock Margin="0 20 0 0" Text="{Binding PackTaskModel.PositionType}" TextWrapping="Wrap" HorizontalAlignment="Center" FontWeight="Bold" FontSize="40"/>
</StackPanel>
</Grid>
<StackPanel Orientation="Vertical" Grid.Row="1" Margin="0">
<StackPanel Orientation="Vertical" Margin="5">
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap">
<Run Text="店名:"/>
<Run Text="{Binding PackTaskModel.ShopName}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Grid.Column="1">
<Run Text="品牌:"/>
<Run Text="{Binding PackTaskModel.Brand}"/>
</TextBlock>
</Grid>
<!--ItemsSource="{Binding OrderList}"-->
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding PackTaskList}"
<TextBlock TextWrapping="Wrap">
<Run Text="SKU名称:"/>
<Run Text="{Binding PackTaskModel.ItemList[0].SkuName}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Margin="0 5 0 0">
<Run Text="品名:"/>
<Run Text="{Binding PackTaskModel.BrandName}"/>
</TextBlock>
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap">
<Run Text="任务量:"/>
<Run Text="{Binding PackTaskModel.FeesItemResponse.ProcessComboTaskCount}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Grid.Column="1">
<Run Text="配件数量:"/>
<Run Text="{Binding PackTaskModel.GoodsNumber}"/>
</TextBlock>
</Grid>
<TextBlock>
<Run Text="配件:"/>
<Run Text="{Binding PackTaskModel.SkuTitle }"/>
</TextBlock>
<Image Margin="5 10 5 0" Width="230" Stretch="Fill" Height="50" Source="{Binding BarcodeImage}"/>
<TextBlock Style="{StaticResource middleTextBlock}" >
<Run Text="POP"/>
<Run Text="{Binding PackTaskModel.ItemList[0].SkuId}"/>
</TextBlock>
</StackPanel>
<Border Height="2" BorderThickness="1" BorderBrush="Black"/>
<StackPanel Orientation="Vertical" Margin="5">
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0 0 0 0" FontSize="15" FontWeight="Bold">
<Run Text="包装员:"/>
<Run Text="{Binding PackTaskModel.PackUser}"/>
</TextBlock>
<TextBlock Margin="0 0 0 0" Style="{StaticResource middleTextBlock}" Grid.Column="1" FontWeight="Bold">
<Run Text="包装费:"/>
<Run Text="{Binding PackTaskModel.FeesItemResponse.PackFees,StringFormat='0.00'}"/>
</TextBlock>
</Grid>
<TextBlock Margin="0 0 0 0" FontSize="13" FontWeight="Bold">
<Run Text="截止时间:"/>
<Run Text="{Binding PackTaskModel.PackCompletionOverTime,StringFormat='d号 HH:mm'}"/>
</TextBlock>
<TextBlock Margin="0 5 0 5">
<Run Text="工序套餐:"/>
<Run Text="{Binding PackTaskModel.FeesItemResponse.ProcessComboName}"/>
</TextBlock>
<ListBox
ItemsSource="{Binding PackTaskModel.FeesItemResponse.ConsumableList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0,1,0,0"
BorderThickness="0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
MinHeight="100">
<Grid.RowDefinitions>
<RowDefinition MinHeight="90"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition MinWidth="100"/>
</Grid.ColumnDefinitions>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding ItemList[0].Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,9,0,10"
Cursor="Hand">
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,9,0,10">
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding ItemList[0].SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding ItemList[0].SkuName}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,11">
<Run Text="品名:"/>
<Run Text="{Binding ItemList[0].BrandName}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock Text="店铺:"/>
<c:BButton Content="{Binding ShopName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ShopName}"
Margin=" 5,0,7,0"/>
</StackPanel>
</StackPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="40">
<TextBlock Text="{Binding ItemName}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<Grid Grid.Column="1" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock x:Name="txt_storeName"
Text="{Binding SkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="2" >
<StackPanel VerticalAlignment="Center" >
<StackPanel Margin="5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="组合类型:"/>
<TextBlock Text="{Binding PackType}"/>
</StackPanel>
<StackPanel Margin="5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="配件数量:"/>
<TextBlock Text="{Binding GoodsNumber}"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
Text="{Binding SkuTitle}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<StackPanel Margin="5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="基础打包:"/>
<TextBlock Text="{Binding BasicPack}"/>
</StackPanel>
<Grid Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock TextWrapping="Wrap">
<Run Text="增量耗材:"/>
<Run Text="{Binding Increment1}"/>
</TextBlock>
</Grid>
</StackPanel>
</Grid>
<Grid Grid.Column="5" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
Text="{Binding PositionType}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="6" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
Text="{Binding CertificatePosition}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Grid Grid.Column="7" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5 0 5 0">
<TextBlock
Text="{Binding ShowMarkMessage}"
TextWrapping="Wrap"
HorizontalAlignment="Center"
/>
</StackPanel>
</Grid>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10" />
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Grid>
<local:MinFeesExcelV2Control Margin="20 0 20 0"
Visibility="{Binding PackTaskModel.IsShowFees,Converter={StaticResource objConverter},ConverterParameter=false:Collapsed:Visible}"
FeesItem="{Binding PackTaskModel.FeesItemResponse,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
/>
<StackPanel Orientation="Horizontal" Margin="20 0 0 0" Visibility="{Binding PackTaskModel.CertificateModel,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}">
<ListBox ItemsSource="{Binding PackTaskModel.CertificateModel,Mode=TwoWay}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<local:MinCerControl model="{Binding }"
Visibility="{Binding Id ,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}"
/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
<local:MinBarcodeControl Grid.Row="1" BarcodeImage="{Binding BarcodeImage,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" model="{Binding PackTaskModel.BarCodeModel, Mode=TwoWay}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20 0 0 0" Width="250" Height="190"
Visibility="{Binding PackTaskModel.BarCodeModel,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
/>
</StackPanel>
</Grid>
</Grid>

181
BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs

@ -1,13 +1,20 @@
using BBWY.Client.Helpers;
using BBWY.Client.Extensions;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.ViewModels.PackTask;
using BBWY.Controls;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Printing;
using System.Reflection;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@ -16,6 +23,7 @@ using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using WebSocketSharp;
namespace BBWY.Client.Views.PackTask
{
@ -24,20 +32,33 @@ namespace BBWY.Client.Views.PackTask
/// </summary>
public partial class PackDetailWindow : BWindow
{
public PackDetailWindow(PackTaskModel model, Action reflashWindow)
{
InitializeComponent();
var serviceViewModel = this.DataContext as PackDetailViewModel;
//加载数据
if (model.Brand.IsNullOrEmpty())
{
if (!model.BarCodeModel.Brand.IsNullOrEmpty())
model.Brand = model.BarCodeModel.Brand;
else if (model.CertificateModel != null && model.CertificateModel.Any(c => c.Brand != null))
model.Brand = model.CertificateModel.FirstOrDefault(c => c.Brand != null)?.Brand;
}
if (model.BrandName.IsNullOrEmpty())
{
if (!model.BarCodeModel.BrandName.IsNullOrEmpty())
model.BrandName = model.BarCodeModel.BrandName;
else if (model.CertificateModel != null && model.CertificateModel.Any(c => c.BrandName != null))
model.BrandName = model.CertificateModel.FirstOrDefault(c => c.BrandName != null)?.BrandName;
}
if (model.BarCodeModel != null)
{
model.BarCodeModel.ShopName = model.ShopName;
}
serviceViewModel.PackTaskModel = model;
serviceViewModel.PackTaskList = new System.Collections.ObjectModel.ObservableCollection<PackTaskModel> { model};
serviceViewModel.PackTaskList = new System.Collections.ObjectModel.ObservableCollection<PackTaskModel> { model };
serviceViewModel.FloorDragNumber = model.FloorDragNumber;
serviceViewModel.TaskCount = model.SkuCount;
serviceViewModel.TaskId = model.TaskId;
@ -47,61 +68,169 @@ namespace BBWY.Client.Views.PackTask
serviceViewModel.LoadPackDatas();
if (reflashWindow != null)
serviceViewModel.ReflashWindow = reflashWindow;
// DownloadImags(model.ItemList[0].Logo.Replace("80x80", "500x500"));
LoadImage(model.ItemList[0].Logo.Replace("80x80", "200x200"));
}
//PackTaskModel model = new PackTaskModel();
///// <summary>
///// 图片
///// </summary>
//public BitmapImage LogoImage { get; set; }
private void BButton_Click(object sender, RoutedEventArgs e)
{
//return;//禁用打印
var localPrintServer = new LocalPrintServer();
//PrintPackTaskDetail printWindow = new PrintPackTaskDetail(model);
//if (printWindow==null)
//{
// MessageBox.Show("页面加载中,请重试!");
// return;
//}
string printName = cbPrintName.Text.Trim();
PrintBox(printName);
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");
try
{
if (File.Exists(printNames))
{
File.Delete(printNames);
}
}
catch
{
}
File.WriteAllText(printNames, cbPrintName.Text);
return;
}
public void PrintBox(string printName)
{
//PrintData(1, printName, model);
//return;
var localPrintServer = new LocalPrintServer();
if (string.IsNullOrEmpty(printName))
{
System.Windows.MessageBox.Show("选择打印机");
return;
}
var printQueue = localPrintServer.GetPrintQueue(printName);
if (printQueue.IsInError)
{
System.Windows.MessageBox.Show("打印机处于错误状态");
return;
}
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
System.Windows.Controls.PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Landscape;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
//设置纸张大小
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
//设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
//printArea.Height = pageHeight;//833
//printArea.Width = pageWidth;//1123
this.printArea.Arrange(new Rect(new Point(0, 0), new Size(printArea.ActualWidth, printArea.ActualHeight)));
printDialog.PrintVisual(this.printArea, "打印任务");
print_box.Height = pageHeight;
print_box.Width = pageWidth;
this.print_box.Arrange(new Rect(new System.Windows.Point(0, 0), new System.Windows.Size(pageWidth, pageHeight)));
this.UpdateLayout(); //刷新界面
printDialog.PrintVisual(this.print_box, "打印任务");
this.Close();
}
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string printNames = System.IO.Path.Combine(applicationPath, "printName.init");
private async void LoadImage(string imageUrl)
{
try
{
if (File.Exists(printNames))
using (HttpClient client = new HttpClient())
{
File.Delete(printNames);
// 发送 HTTP 请求并获取图片数据
var uri = new Uri(Uri.EscapeUriString(imageUrl));
byte[] imageData = await client.GetByteArrayAsync(uri);
// 创建 BitmapImage 对象并设置图片数据
// 在 UI 线程上更新 Image 控件的 Source 属性
var LogoImage = imageData.ByteToBitmapImage();
img_logo.Source = LogoImage;
}
}
catch
catch (Exception ex)
{
// 处理加载图片失败的异常
Console.WriteLine("加载图片失败:" + ex.Message);
}
}
private void DownloadImags(string url)
{
var client = new HttpClient();
var uri = new Uri(Uri.EscapeUriString(url));
byte[] urlContents = client.GetByteArrayAsync(uri).Result;
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string imagePath = System.IO.Path.Combine(applicationPath, "123.bmp");
if (File.Exists(imagePath))
{
File.Delete(imagePath);
}
File.WriteAllText(printNames, cbPrintName.Text);
using (System.IO.FileStream fs = new System.IO.FileStream(imagePath, System.IO.FileMode.CreateNew))
{
fs.Write(urlContents, 0, urlContents.Length);
}
BitmapImage img = new BitmapImage(new Uri(imagePath));
img_logo.Source = img;
this.UpdateLayout(); //刷新界面
}
private void PrintData(int printCount, string printName, PackTaskModel model)
{
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);
MyPrintHelper.PrintPackDetail(model, ref a, font);
};
document.PrinterSettings.Copies = (short)printCount;//打印份数
document.Print();
}
catch (Exception ex)
{
App.Current.Dispatcher.Invoke(() =>
{
new TipsWindow($"打印失败,{ex.Message}").Show();
});
}
}
}
}

141
BBWY.Client/Views/PackTask/PrintPackTaskDetail.xaml

@ -5,11 +5,12 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.PackTask"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Title="PrintPackTaskDetail" Height="492" Width="272">
<Grid x:Name="print_box">
<Grid Margin="10">
<Grid Margin="0 10 0 10">
<Grid.RowDefinitions>
<RowDefinition Height="110"/>
<RowDefinition Height="120"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
@ -17,52 +18,114 @@
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Width="110" Stretch="Fill" Source="{Binding PurchaseOrderImage}"/>
<StackPanel VerticalAlignment="Top" Grid.Column="1">
<TextBlock Text="云仓" HorizontalAlignment="Center" FontWeight="Bold" FontSize="30"/>
<Image Height="40" Stretch="Fill" />
<TextBlock Style="{StaticResource middleTextBlock}" Text="10001"/>
<c:BAsyncImage UrlSource="{Binding PackTaskModel.ItemList[0].Logo}"
Width="100" DecodePixelWidth="100"
VerticalAlignment="Top" Margin="11,9,0,10"
Cursor="Hand">
</c:BAsyncImage>
<StackPanel VerticalAlignment="Top" Grid.Column="1" Margin="5">
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 0 0 0">
<Run Text="任务ID:"/>
<Run Text="{Binding PackTaskModel.TaskId}"/>
</TextBlock>
<TextBlock Margin="0 20 0 0" Text="云仓" HorizontalAlignment="Center" FontWeight="Bold" FontSize="45"/>
</StackPanel>
</Grid>
<StackPanel Orientation="Vertical" Grid.Row="1">
<TextBlock Margin="0 5 0 5">
<StackPanel Orientation="Vertical" Grid.Row="1" Margin="0">
<StackPanel Orientation="Vertical" Margin="5">
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap">
<Run Text="店名:"/>
<Run Text="{Binding PackTaskModel.ShopName}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Grid.Column="1">
<Run Text="品牌:"/>
<Run Text="{Binding PackTaskModel.Brand}"/>
</TextBlock>
</Grid>
<TextBlock TextWrapping="Wrap">
<Run Text="SKU名称:"/>
<Run Text="{Binding PackTaskModel.ItemList[0].SkuName}"/>
</TextBlock>
<TextBlock>
</TextBlock>
<TextBlock TextWrapping="Wrap" Margin="0 5 0 0">
<Run Text="品名:"/>
<Run Text="{Binding PackTaskModel.ItemList[0].BrandName}"/>
</TextBlock>
<TextBlock Margin="0 5 0 5">
</TextBlock>
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock TextWrapping="Wrap">
<Run Text="SKU数量:"/>
<Run Text="1234567"/>
</TextBlock>
<TextBlock>
<Run Text="SKU名称:"/>
<Run Text="1234567"/>
</TextBlock>
<TextBlock Margin="0 5 0 5">
<Run Text="SKU名称:"/>
<Run Text="1234567"/>
</TextBlock>
<Image Margin="10 10 10 0" Stretch="Fill" Source="/resources/images/barcode.png"/>
<TextBlock Margin="0 0 0 5" Style="{StaticResource middleTextBlock}" >
<Run Text="{Binding PackTaskModel.SkuCount}"/>
</TextBlock>
<TextBlock TextWrapping="Wrap" Grid.Column="1">
<Run Text="配件数量:"/>
<Run Text="{Binding PackTaskModel.GoodsNumber}"/>
</TextBlock>
</Grid>
<TextBlock>
<Run Text="配件:"/>
<Run Text="{Binding PackTaskModel.SkuTitle }"/>
</TextBlock>
<Image Margin="10 10 10 0" Stretch="Fill" Height="50" Source="{Binding BarcodeImage}"/>
<TextBlock Style="{StaticResource middleTextBlock}" >
<Run Text="POP"/>
<Run Text="123456789789"/>
</TextBlock>
<Run Text="{Binding PackTaskModel.ItemList[0].SkuId}"/>
</TextBlock>
</StackPanel>
<Border Height="2" BorderThickness="1" BorderBrush="Black"/>
<TextBlock Margin="0 5 0 5">
<Run Text="SKU名称:"/>
<Run Text="1234567"/>
</TextBlock>
<TextBlock>
<Run Text="SKU名称:"/>
<Run Text="1234567"/>
</TextBlock>
<TextBlock Margin="0 5 0 5">
<Run Text="SKU名称:"/>
<Run Text="1234567"/>
</TextBlock>
<StackPanel Orientation="Vertical" Margin="5">
<Grid Margin="0 5 0 5">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0 0 0 0" FontSize="15" FontWeight="Bold">
<Run Text="包装员:"/>
<Run Text="{Binding PackTaskModel.PackUser}"/>
</TextBlock>
<TextBlock Margin="0 0 0 0" Style="{StaticResource middleTextBlock}" Grid.Column="1" FontWeight="Bold">
<Run Text="包装费:"/>
<Run Text="{Binding PackTaskModel.FeesItemResponse PackFees}"/>
</TextBlock>
</Grid>
<TextBlock Margin="0 0 0 0" FontSize="13" FontWeight="Bold">
<Run Text="截止时间:"/>
<Run Text="{Binding PackTaskModel.PackCompletionOverTime}"/>
</TextBlock>
<TextBlock Margin="0 5 0 5">
<Run Text="工序套餐:"/>
<Run Text="{Binding PackTaskModel.FeesItemResponse.ProcessComboName}"/>
</TextBlock>
<ListBox
ItemsSource="{Binding PackTaskModel.FeesItemResponse.ConsumableList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="40">
<TextBlock Text="{Binding ItemName}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</StackPanel>
</Grid>
</Grid>

83
BBWY.Client/Views/PackTask/PrintPackTaskDetail.xaml.cs

@ -1,19 +1,19 @@
using BBWY.Client.Helpers;
using BBWY.Client.Extensions;
using BBWY.Client.Helpers;
using BBWY.Client.Models;
using BBWY.Client.Models.FallWare;
using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
using System.Net.Http;
using System.Printing;
using System.Reflection;
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;
namespace BBWY.Client.Views.PackTask
{
@ -25,8 +25,11 @@ namespace BBWY.Client.Views.PackTask
public PrintPackTaskDetail(PackTaskModel model)
{
InitializeComponent();
PackTaskModel = model;
PackTaskModel.ItemList[0].Logo = PackTaskModel.ItemList[0].Logo.Replace("80*80", "110*110");
//LoadImage(model.ItemList[0].Logo);
BarcodeImage = MyPrintHelper.GetBarcodeImage(model.SkuId, 300, 60);
this.DataContext = this;
this.UpdateLayout();//刷新UI
@ -34,7 +37,15 @@ namespace BBWY.Client.Views.PackTask
public PackTaskModel PackTaskModel { get; set; }
/// <summary>
/// skuid条形码
/// </summary>
public BitmapImage BarcodeImage { get; set; }
/// <summary>
/// 图片
/// </summary>
public BitmapImage LogoImage { get; set; }
public void PrintBox(string printName)
{
@ -53,14 +64,13 @@ namespace BBWY.Client.Views.PackTask
MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机
PrintDialog printDialog = new PrintDialog();
printDialog.PrintTicket.PageOrientation = PageOrientation.Landscape;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向
//设置纸张大小
var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth);
var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight);
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight);
this.Height = pageHeight + 39;//833
this.Width = pageWidth;//1123
this.FontSize = 30;
print_box.Height = pageHeight;
print_box.Width = pageWidth;
// box_margin.Margin = new Thickness(50, 50, 50, 50);
//box_margin.Margin = new Thickness(10);
//this.jd_box.Arrange(new Rect(new Point(0, 0), new Size(pageWidth, pageHeight)));
@ -77,5 +87,48 @@ namespace BBWY.Client.Views.PackTask
//System.IO.File.WriteAllText(printNames, printName);
this.Close();
}
private async void LoadImage(string imageUrl)
{
try
{
using (HttpClient client = new HttpClient())
{
// 发送 HTTP 请求并获取图片数据
byte[] imageData = await client.GetByteArrayAsync(imageUrl);
LogoImage= imageData.ByteToBitmapImage();
// 创建 BitmapImage 对象并设置图片数据
BitmapImage bitmapImage = new BitmapImage();
try
{
bitmapImage.BeginInit();
bitmapImage.StreamSource = new System.IO.MemoryStream(imageData);
bitmapImage.EndInit();
bitmapImage.Freeze();
}
catch (Exception ex)
{
}
// 在 UI 线程上更新 Image 控件的 Source 属性
Application.Current.Dispatcher.Invoke(() =>
{
LogoImage = bitmapImage;
});
}
}
catch (Exception ex)
{
// 处理加载图片失败的异常
Console.WriteLine("加载图片失败:" + ex.Message);
}
}
}
}

2
BBWY.Client/Views/PackTask/WareHouseListControl.xaml

@ -543,7 +543,7 @@
<c:BButton HorizontalAlignment="Center" Style="{StaticResource LinkButton}" Height="20" Margin="0 5 0 5 " VerticalAlignment="Center" Grid.Row="1" Content="商家自取"
CommandParameter="{Binding TaskId}"
Command="{Binding DataContext.StoreGetBySelfCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Page}}}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待打包:Visible:Collapsed}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单|待打包:Visible:Collapsed}"
/>

Loading…
Cancel
Save