Browse Source

1

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
8562c08ce8
  1. 94
      BBWY.Client/APIServices/PackPurchaseTaskService.cs
  2. 139
      BBWY.Client/Models/APIModel/Request/UpdatePurchaseTaskRequest.cs
  3. 62
      BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs
  4. 4
      BBWY.Client/Models/Enums.cs
  5. 8
      BBWY.Client/Models/PackTask/CertificateModel.cs
  6. 66
      BBWY.Client/Models/QualityTask/PurchaseSku.cs
  7. 5
      BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs
  8. 476
      BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs
  9. 10
      BBWY.Client/ViewModels/ViewModelLocator.cs
  10. 26
      BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml
  11. 31
      BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml.cs
  12. 52
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml
  13. 122
      BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs
  14. 400
      BBWY.Client/Views/QualityTask/QualityWindow.xaml
  15. 16
      BBWY.Client/Views/QualityTask/QualityWindow.xaml.cs

94
BBWY.Client/APIServices/PackPurchaseTaskService.cs

@ -0,0 +1,94 @@
using BBWY.Client.Models.APIModel;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
namespace BBWY.Client.APIServices
{
public class PackPurchaseTaskService : BaseApiService, IDenpendency
{
public PackPurchaseTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
public ApiResponse<long> UpdatePurchaseTask(UpdatePurchaseTaskRequest updatePurchaseTaskRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", updatePurchaseTaskRequest, null, HttpMethod.Post);
}
public ApiResponse<ConfigPackResponse> GetConfigPack(string skuId, string skuPurchaseSchemeId, string orderId)
{
return SendRequest<ConfigPackResponse>(globalContext.QKApiHost, "api/PackPurchaseTask/GetConfigPack", new
{
skuId,
skuPurchaseSchemeId,
orderId
}
, null, HttpMethod.Post);
}
/// <summary>
///
/// </summary>
/// <param name="orderId"></param>
/// <param name="skuId"></param>
/// <param name="availability">到货情况(物流状态)(已到货 = 0,部分到货 = 1,未到货 = 2)</param>
/// <returns></returns>
public ApiResponse<long> UpdateAvailabilityState(string orderId, string skuId, int availability)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", new
{
orderId,
skuId,
availability
}, null, HttpMethod.Post);
}
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel
, null, HttpMethod.Post);
}
public ApiResponse<long> SaveCer(CerRequest cerRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/Certificate/CommitSkuCer", cerRequest
, null, HttpMethod.Post);
}
public ApiResponse<ProductSkuResponse> GetProductSku(string skuId)
{
return SendRequest<ProductSkuResponse>(globalContext.QKApiHost, $"api/PackTask/SearchProduct?skuId={skuId}&ShopId={globalContext.User.Shop.ShopId}", null, null, HttpMethod.Get);
}
public ApiResponse<bool> UpdateOrderPackState(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/UpdateOrderPackState", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
public ApiResponse<bool> IsExitQikuTask(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/IsExitQikuTask", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
}
}

139
BBWY.Client/Models/APIModel/Request/UpdatePurchaseTaskRequest.cs

@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel.Request
{
/// <summary>
/// 修改采购单任务
/// </summary>
public class UpdatePurchaseTaskRequest
{
/// <summary>
/// sku数量
/// </summary>
public int SkuCount { get; set; }
/// <summary>
/// 到货情况(已到货 = 0,部分到货 = 1,未到货 = 2)
/// </summary>
public int Availability { get; set; }
/// <summary>
/// 落仓(本地仓=0,齐越仓=1,京东仓=2)
/// </summary>
public int PositionType { get; set; }
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public int PackType { get; set; }
/// <summary>
/// 配件数量
/// </summary>
public int GoodsNumber { get; set; }
/// <summary>
/// sku配件名称
/// </summary>
public string SkuGoodsTitle { get; set; }
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public int BasicPack { get; set; }
/// <summary>
/// 增量耗材
/// </summary>
public string Increment1 { get; set; }
/// <summary>
/// 注意事项
/// </summary>
public string MarkMessage { get; set; }
/// <summary>
///条形码Id
/// </summary>
public long? BarCodeId { get; set; }
/// <summary>
/// 合格证Id 格式: id,id 186,187
/// </summary>
public string CerId { get; set; }
/// <summary>
/// 是否需要条形码
/// </summary>
public bool? NeedBar { get; set; }
/// <summary>
/// 是否需要合格证
/// </summary>
public bool? NeedCer { get; set; }
/// <summary>
/// 合格证位置
/// </summary>
public int? CertificatePosition { get; set; }
/// <summary>
/// 加急
/// </summary>
public int IsWorry { get; set; }
/// <summary>
/// 拳探订单id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// skuId
/// </summary>
public string SkuId { get; set; }
#region 更新数据
/// <summary>
/// 品名
/// </summary>
public string BrandName { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get; set; }
/// <summary>
/// 图
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 名称
/// </summary>
public string SkuName { get; set; }
/// <summary>
/// 品牌
/// </summary>
public string Brand { get; set; }
#endregion
/// <summary>
/// 采购方案id
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 保存 配置商品合格证状态配置信息
/// </summary>
public PurchaseSkuSpec[] PurchaseSkuSpecs { get; set; }
}
/// <summary>
/// 配置商品合格证状态
/// </summary>
public class PurchaseSkuSpec
{
/// <summary>
/// 商品配件id
/// </summary>
public string PurchaseSkuId { get; set; }
/// <summary>
/// 合格证配置状态
/// </summary>
public bool IsNeedCer { get; set; }
}
}

62
BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs

@ -0,0 +1,62 @@
using BBWY.Client.Models.APIModel.Response.PackTask;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.APIModel
{
/// <summary>
/// 配置打包信息数据
/// </summary>
public class ConfigPackResponse
{
/// <summary>
/// 配件列表
/// </summary>
public PurchaseSku[] PurchaseSkus { get; set; }
/// <summary>
/// 采购方案id
/// </summary>
public string SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 条形码
/// </summary>
public BarCodeModel BarCode { get; set; }
public PackConfig PackConfig { get; set; }
}
/// <summary>
/// 配件sku
/// </summary>
public class PurchaseSku
{
/// <summary>
/// 配件图
/// </summary>
public string Logo { get; set; }
/// <summary>
/// 配件商品Id
/// </summary>
public string PurchaseSkuId { get; set; }
/// <summary>
/// 配件商品spuId
/// </summary>
public string PurchaseProductId { get; set; }
/// <summary>
/// 配件名称
/// </summary>
public string Title { get; set; }
/// <summary>
/// 是否需要配置合格证
/// </summary>
public bool IsNeedCer { get; set; }
/// <summary>
/// 合格证配置信息
/// </summary>
public CertificateModel CerDTO { get; set; }
}
}

4
BBWY.Client/Models/Enums.cs

@ -402,4 +402,8 @@
= 2,
= 3
}
public enum PackCerState
{
= 0, = 1
}
}

8
BBWY.Client/Models/PackTask/CertificateModel.cs

@ -23,7 +23,7 @@ namespace BBWY.Client.Models
private string spuId;
/// <summary>
/// 品牌
/// spu
/// </summary>
public string SpuId { get => spuId; set { Set(ref spuId, value); } }
@ -142,7 +142,7 @@ namespace BBWY.Client.Models
private int goodsNumber =1;
private int goodsNumber = 1;
/// <summary>
/// 配件序号
/// </summary>
@ -154,5 +154,9 @@ namespace BBWY.Client.Models
/// </summary>
public string ProduceDate { get => produceDate; set { Set(ref produceDate, value); } }
/// <summary>
/// 配件商品Id
/// </summary>
public string PurchaseSkuId { get; set; }
}
}

66
BBWY.Client/Models/QualityTask/PurchaseSku.cs

@ -0,0 +1,66 @@
using GalaSoft.MvvmLight;
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.QualityTask
{
/// <summary>
/// 配件sku
/// </summary>
public class PurchaseSku : NotifyObject
{
/// <summary>
/// 配件图
/// </summary>
private string logo;
/// <summary>
/// 配件商品Id
/// </summary>
private string purchaseSkuId;
/// <summary>
/// 配件名称
/// </summary>
private string title;
/// <summary>
/// 是否需要配置合格证
/// </summary>
private bool isNeedCer;
/// <summary>
/// 配件图
/// </summary>
public string Logo { get => logo; set { Set(ref logo, value); } }
/// <summary>
/// 配件商品Id
/// </summary>
public string PurchaseSkuId { get => purchaseSkuId; set { Set(ref purchaseSkuId, value); } }
/// <summary>
/// 配件名称
/// </summary>
public string Title { get => title; set { Set(ref title, value); } }
/// <summary>
/// 是否需要配置合格证
/// </summary>
public bool IsNeedCer { get => isNeedCer; set { Set(ref isNeedCer, value); } }
/// <summary>
/// 合格证配置信息
/// </summary>
public CertificateModel CerDTO { get; set; }
private bool isSetCertificate;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public bool IsSetCertificate
{
get => isSetCertificate; set
{
Set(ref isSetCertificate, value);
//IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要;
}
}
}
}

5
BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs

@ -631,13 +631,14 @@ namespace BBWY.Client.ViewModels.PackTask
IsNeedCertificateModel = model.CertificateModel == null ? Need. : Need.;
CertificatePosition = model.CertificatePosition;
TaskId = model.TaskId;
string[] increateDatas = model.Increment1.Split(',');
string[] increateDatas = model.Increment1?.Split(',');
bool isTrue = false;
foreach (var item in increates)
{
isTrue = false;
if (increateDatas.Contains(item))
if (increateDatas!=null&& increateDatas .Count()>0&& increateDatas.Contains(item))
{
isTrue = true;
}

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

@ -0,0 +1,476 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models.PackTask;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using BBWY.Common.Models;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Windows;
using BBWY.Client.Models.QualityTask;
using BBWY.Client.Views.QualityTask;
namespace BBWY.Client.ViewModels
{
public class QualityViewModel:BaseVM,IDenpendency
{
#region 属性
private ObservableCollection<PurchaseSku> purchaseSkuList;
public ObservableCollection<PurchaseSku> PurchaseSkuList { get => purchaseSkuList; set { Set(ref purchaseSkuList, value); } }
private string searchSkuId;
public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } }
// public long TaskId { get; set; }
//private bool isSelected;
//public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } }
private ObservableCollection<string> worryList = new ObservableCollection<string> {
"否","是"
};
public ObservableCollection<string> WorryList { get => worryList; set { Set(ref worryList, value); } }
private ObservableCollection<string> positionTypeList = new ObservableCollection<string> {
"商家仓","齐越仓", "京东仓","聚水潭仓"};
public ObservableCollection<string> PositionTypeList { get => positionTypeList; set { Set(ref positionTypeList, value); } }
private ObservableCollection<string> packTypeList = new ObservableCollection<string> {
"单件","多件"
};
public ObservableCollection<string> PackTypeList { get => packTypeList; set { Set(ref packTypeList, value); } }
private ObservableCollection<string> basicPackList = new ObservableCollection<string> {
"快递袋","纸箱","麻袋"
};
public ObservableCollection<string> BasicPackList { get => basicPackList; set { Set(ref basicPackList, value); } }
private ObservableCollection<string> isNeedBarCodeList = new ObservableCollection<string> {
"需要", "不需要" };
public ObservableCollection<string> IsNeedBarCodeList { get => isNeedBarCodeList; set { Set(ref isNeedBarCodeList, value); } }
private ObservableCollection<string> isNeedCerList = new ObservableCollection<string> {
"需要", "不需要" };
public ObservableCollection<string> IsNeedCerList { get => isNeedCerList; set { Set(ref isNeedCerList, value); } }
private ObservableCollection<string> certificatePositionList = new ObservableCollection<string> {
"无","外部包装","产品包装"
};
public ObservableCollection<string> CertificatePositionList { get => certificatePositionList; set { Set(ref certificatePositionList, value); } }
private ObservableCollection<string> availabilityList = new ObservableCollection<string> {
"已到货","部分到货","未到货"
};
public ObservableCollection<string> AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } }
private int skuCount;
/// <summary>
/// Sku任务数
/// </summary>
public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } }
private string skuId;
/// <summary>
/// Sku
/// </summary>
public string SkuId { get => skuId; set { Set(ref skuId, value); } }
public string OrderId { get; set; }
private string logo;
/// <summary>
/// 店铺Sku图链接
/// </summary>
public string Logo { get => logo; set { Set(ref logo, value); } }
private string skuName;
/// <summary>
/// 采购Sku名称
/// </summary>
public string SkuName { get => skuName; set { Set(ref skuName, value); } }
private string brand;
/// <summary>
/// 品牌
/// </summary>
public string Brand { get => brand; set { Set(ref brand, value); } }
private string productNo;
/// <summary>
/// 货号
/// </summary>
public string ProductNo { get => productNo; set { Set(ref productNo, value); } }
private string brandName;
/// <summary>
/// 品名(手写上传)
/// </summary>
public string BrandName { get => brandName; set { Set(ref brandName, value); } }
private int goodsNumber;
/// <summary>
/// 配件数
/// </summary>
public int GoodsNumber { get => goodsNumber; set { Set(ref goodsNumber, value); } }
private Worry isWorry;
/// <summary>
/// 是否加急
/// </summary>
public Worry IsWorry { get => isWorry; set { Set(ref isWorry, value); } }
private TaskState availability;
/// <summary>
/// 到货情况(待收货=0,部分收货=1,已到货=2)
/// </summary>
public TaskState Availability { get => availability; set { Set(ref availability, value); } }
private PackType packType;
/// <summary>
/// 打包类型(单件=0,多件=1)
/// </summary>
public PackType PackType { get => packType; set { Set(ref packType, value); } }
private BasicPack basicPack;
/// <summary>
/// 基础包装(快递袋=0,纸箱=1,麻袋=2)
/// </summary>
public BasicPack BasicPack { get => basicPack; set { Set(ref basicPack, value); } }
private PositionType positionType;
/// <summary>
/// 落仓(商家仓=0,齐越仓=1,京东仓=2,聚水潭仓=3)
/// </summary>
public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } }
private string skuTitle;
/// <summary>
/// sku配件商品名称
/// </summary>
public string SkuTitle { get => skuTitle; set { Set(ref skuTitle, value); } }
private Need isNeedBarCode;
/// <summary>
/// 是否需要合格证
/// </summary>
public Need IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } }
private Need isNeedCertificateModel;
/// <summary>
/// 是否需要条形码
/// </summary>
public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } }
private BarCodeModel barCodeModel;
/// <summary>
/// 条形码
/// </summary>
public BarCodeModel BarCodeModel { get => barCodeModel; set { Set(ref barCodeModel, value); } }
private bool isSetBarCode;
/// <summary>
/// 设置显示(条形码)
/// </summary>
public bool IsSetBarCode
{
get => isSetBarCode;
set
{
Set(ref isSetBarCode, value);
// IsNeedBarCode = IsSetBarCode ? Need.不需要 : Need.需要;
}
}
private bool isSetCertificate;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public bool IsSetCertificate
{
get => isSetCertificate; set
{
Set(ref isSetCertificate, value);
//IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要;
}
}
private string setSpuCerStatus;
public string SetSpuCerStatus { get => setSpuCerStatus; set { Set(ref setSpuCerStatus, value); } }
private bool isSetSpuCertificate = true;
/// <summary>
/// 设置spu显示(合格证)
/// </summary>
public bool IsSetSpuCertificate
{
get => isSetSpuCertificate; set
{
Set(ref isSetSpuCertificate, value);
SetSpuCerStatus = IsSetSpuCertificate ? "设置spu模板" : "修改spu模板";
}
}
private string saveTask;
/// <summary>
/// 设置显示(合格证)
/// </summary>
public string SaveTask { get => saveTask; set { Set(ref saveTask, value); } }
private string spuId;
/// <summary>
/// 合格证
/// </summary>
public string SpuId { get => spuId; set { Set(ref spuId, value); } }
private CertificateModel spuCertificateModel;
/// <summary>
/// spu合格证
/// </summary>
public CertificateModel SpuCertificateModel { get => spuCertificateModel; set { Set(ref spuCertificateModel, value); } }
private CertificateModel certificateModel;
/// <summary>
/// 合格证
/// </summary>
public CertificateModel CertificateModel { get => certificateModel; set { Set(ref certificateModel, value); } }
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
private CertificatePosition certificatePosition;
/// <summary>
/// 合格证位置(外部包装=0,产品包装=1)
/// </summary>
public CertificatePosition CertificatePosition { get => certificatePosition; set { Set(ref certificatePosition, value); } }
/// <summary>
/// 注意事项(对接备注)
/// </summary>
private string markMessage;
/// <summary>
/// 注意事项(对接备注)
/// </summary>
public string MarkMessage { get => markMessage; set { Set(ref markMessage, value); } }
private ObservableCollection<IncreateModel> increateList;
/// <summary>
/// 增量耗材查询关键字
/// </summary>
public ObservableCollection<IncreateModel> IncreateList { get => increateList; set { Set(ref increateList, value); } }
string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" };
PackPurchaseTaskService packPurchaseTaskService;
ProductService productService;
GlobalContext globalContext;
private bool isLoading = false;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
#endregion
public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService)
{
this.packPurchaseTaskService = packPurchaseTaskService;
this.productService = productService;
this.globalContext = globalContext;
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
SetBarCodeCommand = new RelayCommand(SetBarCode);
SetCertificateCommand = new RelayCommand<PurchaseSku>(SetCertificate);
LookBarCommand = new RelayCommand(LookBar);
LookCerCommand = new RelayCommand<string>(LookCer);
SearchSkuCommand = new RelayCommand<object>(SearchSku);
IncreateList = new ObservableCollection<IncreateModel>();
foreach (var item in increates)
{
IncreateList.Add(new IncreateModel
{
IncreateName = item,
IsSelected = false
});
}
this.purchaseService = purchaseService;
#if DEBUG
//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; }
public void Test(OrderSku order)
{
SearchSku(order);
}
#region 方法
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 CreateTaskCommand { get; set; }
public ICommand SearchSkuCommand { get; set; }
private void SetBarCode()
{
if (string.IsNullOrEmpty(SkuId))
{
return;
}
//if (TaskId > 0 && string.IsNullOrEmpty(SpuId))//修改界面刷新配置数据
//{
// SearchSku(SkuId);
//}
if (BarCodeModel == null)
{
BarCodeModel = new BarCodeModel();
BarCodeModel.ProductNo = ProductNo;
BarCodeModel.Brand = Brand;
BarCodeModel.SkuId = SkuId;
BarCodeModel.SkuName = SkuName;
}
if (!string.IsNullOrEmpty(BrandName))
BarCodeModel.BrandName = BrandName;
SetBarCodeWindow setBarCodeWindow = new SetBarCodeWindow();
setBarCodeWindow.LoadData(BarCodeModel, packPurchaseTaskService);
setBarCodeWindow.SaveResult = b =>
{
BarCodeModel = b;
IsSetBarCode = false;
IsNeedBarCode = Need.;
};
setBarCodeWindow.Show();
}
/// <summary>
/// 设置合格证
/// </summary>
private void SetCertificate(PurchaseSku model)
{
if (model.CerDTO == null)
{
model.CerDTO = new CertificateModel
{
ProductNo = ProductNo,
Brand = Brand,
SkuId = SkuId,
PurchaseSkuId = model.PurchaseSkuId
};
}
if (!string.IsNullOrEmpty(BrandName))
model.CerDTO.BrandName = BrandName;
QualitySetCerWindow setCerWindow = new QualitySetCerWindow();
setCerWindow.LoadData(model.IsNeedCer, model.CerDTO, packPurchaseTaskService, spuCertificateModel, IsSetSpuCertificate);
setCerWindow.SaveResult = (s, PackCerState) =>
{
var skus = PurchaseSkuList.SingleOrDefault(p => p.PurchaseSkuId == s.PurchaseSkuId);
skus.CerDTO = s;
skus.IsSetCertificate = false;
skus.IsNeedCer = PackCerState == PackCerState.;
IsNeedCertificateModel = Need.;
};
setCerWindow.Show();
}
/// <summary>
/// 查看合格证
/// </summary>
private void LookCer(string id)
{
LookCerWindow lookCerWindow = new LookCerWindow(PurchaseSkuList.SingleOrDefault(p => p.PurchaseSkuId == id).CerDTO);
lookCerWindow.Show();
}
/// <summary>
/// 查看条形码
/// </summary>
private void LookBar()
{
LookBarCodeWindow look = new LookBarCodeWindow();
look.SetData(BarCodeModel);
look.Show();
}
/// <summary>
/// 搜索 skuId(todo:)
/// </summary>
public void SearchSku(object obj)
{
InitData();
}
public Action ReflashWindow { get; set; }
public void InitData()
{
IsSetBarCode = true;
SkuTitle = "";
BrandName = "";
GoodsNumber = 0;
PackType = PackType.;
BasicPack = BasicPack.;
// Availability = (TaskState.)config.Availability;
//MarkMessage = config.MarkMessage;
CertificatePosition = CertificatePosition.;
// Increment1 = config.Increment1;
IsNeedBarCode = Need.;
IsNeedCertificateModel = Need.;
}
private void OpenSkuDetail(object param)
{
var paramList = (object[])param;
// var orderId = paramList[0].ToString();
var skuId = paramList[0].ToString();
var url = $"https://item.jd.com/{skuId}.html";
try
{
System.Diagnostics.Process.Start("explorer.exe", url);
}
catch (Exception ex)
{
Clipboard.SetText(url);
MessageBox.Show($"{ex.Message}\r\n调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示");
}
}
#endregion
}
}

10
BBWY.Client/ViewModels/ViewModelLocator.cs

@ -294,5 +294,15 @@ namespace BBWY.Client.ViewModels
return s.ServiceProvider.GetRequiredService<PublishTaskViewModel>();
}
}
public QualityViewModel QualityTask
{
get
{
using var s = sp.CreateScope();
return s.ServiceProvider.GetRequiredService<QualityViewModel>();
}
}
}
}

26
BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml

@ -0,0 +1,26 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualityLookCerWindow"
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.PackTask"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
mc:Ignorable="d"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Title="QualityLookCerWindow" Height="373" Width="386" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="查看合格证" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<local:CerControl Grid.Row="1" model="{Binding CertificateModel,Mode=TwoWay}"/>
</Grid>
</c:BWindow>

31
BBWY.Client/Views/QualityTask/QualityLookCerWindow.xaml.cs

@ -0,0 +1,31 @@
using BBWY.Client.Extensions;
using BBWY.Client.Models;
using BBWY.Controls;
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.Shapes;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualityLookCerWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityLookCerWindow : BWindow
{
public QualityLookCerWindow(CertificateModel certificate)
{
CertificateModel = certificate.Copy();
InitializeComponent();
this.DataContext = this;
}
public CertificateModel CertificateModel { get; set; }
}
}

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

@ -0,0 +1,52 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualitySetCerWindow"
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.PackTask"
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"
RightButtonGroupMargin="0,5,5,0">
<Grid DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SetCerWindow}}}">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<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>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" Margin="20 10 0 0">
<c:BButton Content="合格证信息" Width="100"
Background="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:#8080FF:#F2F2F2}"
Foreground="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:White:#4A4A4A}"
Command="{Binding SetPackCerStateCommand}" CommandParameter="{x:Static cmodel:PackCerState.合格证信息}"/>
<c:BButton Content="无需合格证" Width="100"
Background="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=无需合格证:#8080FF:#F2F2F2}"
Foreground="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=无需合格证:White:#4A4A4A}"
Command="{Binding SetPackCerStateCommand}" CommandParameter="{x:Static cmodel:PackCerState.无需合格证}"/>
</StackPanel>
<Grid Grid.Row="1" Visibility="{Binding PackCerState,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=合格证信息:Visible:Collapsed}">
<local:SetCerControl 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"
Click="save_btn_Click" />
</Grid>
</c:BWindow>

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

@ -0,0 +1,122 @@
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models;
using BBWY.Client.Views.PackTask;
using GalaSoft.MvvmLight.Command;
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.Shapes;
using BBWY.Client.Extensions;
using BBWY.Client.APIServices;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualitySetCerWindow.xaml 的交互逻辑
/// </summary>
public partial class QualitySetCerWindow : Window
{
public QualitySetCerWindow()
{
InitializeComponent();
SetPackCerStateCommand = new RelayCommand<PackCerState>(SetPackCerState);
}
private void SetPackCerState(PackCerState obj)
{
PackCerState = obj;
}
public void LoadData(bool isNeedCer, CertificateModel CertificateModel, PackPurchaseTaskService packTaskService, CertificateModel SpuCertificateModel, bool IsSetSpuCertificate)
{
this.CertificateModel = CertificateModel.Copy();
this.packTaskService = packTaskService;
PackCerState = isNeedCer ? PackCerState. : PackCerState.;
this.DataContext = this;
}
public ICommand SetPackCerStateCommand { get; set; }
//public PackCerState PackCerState { get; set; }
public PackCerState PackCerState
{
get
{
return (PackCerState)GetValue(PackCerStateProperty);
}
set
{
SetValue(PackCerStateProperty, value);
}
}
public static readonly DependencyProperty PackCerStateProperty =
DependencyProperty.Register("PackCerState", typeof(PackCerState), typeof(SetCerWindow));
public bool IsSetSpuCertificate { get; set; }
public PackPurchaseTaskService packTaskService { get; set; }
public CertificateModel CertificateModel { get; set; }
public CertificateModel SpuCertificateModel { get; set; }
public Action<CertificateModel, PackCerState> SaveResult { get; set; }
private void save_btn_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(CertificateModel.ExcuteStander)
|| string.IsNullOrEmpty(CertificateModel.Shader) || string.IsNullOrEmpty(CertificateModel.BrandName)
|| string.IsNullOrEmpty(CertificateModel.Brand) || string.IsNullOrEmpty(CertificateModel.ProductShop)
|| string.IsNullOrEmpty(CertificateModel.ProductAdress))
{
//new TipsWindow("参数出错!请重新填写!").Show();
return;
}
var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries);
var resData = packTaskService.SaveCer(new CerRequest
{
Brand = CertificateModel.Brand,
BrandName = CertificateModel.BrandName,
ProductNo = CertificateModel.ProductNo,
SkuId = CertificateModel.SkuId,
ExcuteStander = CertificateModel.ExcuteStander,
LabelModel = (int)CertificateModel.LabelModel,
FactoryNumber = CertificateModel.FactoryNumber,
IsLogo = CertificateModel.IsLogo,
ProductAdress = CertificateModel.ProductAdress,
ProductShop = CertificateModel.ProductShop,
Shader = CertificateModel.Shader,
ApplyAge = CertificateModel.ApplyAge,
GoodsNumber = CertificateModel.GoodsNumber,
ProduceDate = CertificateModel.ProduceDate,
PurchaseSkuId = CertificateModel.PurchaseSkuId
});
if (resData == null || !resData.Success)
{
return;
}
CertificateModel.Id = resData.Data;
if (SaveResult != null) SaveResult(CertificateModel, PackCerState);
this.Close();
}
}
}

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

@ -0,0 +1,400 @@
<c:BWindow x:Class="BBWY.Client.Views.QualityTask.QualityWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
CloseButtonVisibility="Visible"
CloseButtonColor="{StaticResource WindowButtonColor}"
DataContext="{Binding QualityTask,Source={StaticResource Locator}}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
RightButtonGroupMargin="0,5,5,0"
Height="450" Width="1305">
<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="40"/>
<RowDefinition/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<c:RoundWaitProgress Play="{Binding IsLoading}" Panel.ZIndex="999"/>
<Grid Background="{StaticResource Border.Background}">
<TextBlock Text="质检打包信息" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="190"/>
<ColumnDefinition/>
</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"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Orientation="Vertical" Width="170">
<TextBlock Margin="10 10 0 0" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuId}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU:"/>
<Run Text="{Binding SkuId}"/>
</TextBlock >
<TextBlock Margin="10 10 10 10" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuName}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="名称:"/>
<Run Text="{Binding SkuName}"/>
</TextBlock >
<TextBlock Margin="10 0 10 10">
<Run Text="货号:"/>
<Run Text="{Binding ProductNo}"/>
</TextBlock>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="10 0 0 10" Height="30">
<TextBlock Text="品名:" VerticalAlignment="Center"/>
<c:BTextBox Text="{Binding BrandName}" Height="30" Width="120" WaterRemark="请输入品名"/>
</StackPanel>
<StackPanel Margin="10 0 0 10" Orientation="Horizontal">
<TextBlock Text="条形码:"/>
<c:BButton Content="待设置" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding SetBarCodeCommand}"
Visibility="{Binding IsSetBarCode, Converter={StaticResource objConverter}, ConverterParameter=true:Visible:Collapsed }"
/>
<StackPanel Visibility="{Binding IsSetBarCode, Converter={StaticResource objConverter}, ConverterParameter=false:Visible:Collapsed }" Orientation="Horizontal" HorizontalAlignment="Center" >
<c:BButton Content="查看" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding LookBarCommand}"/>
<c:BButton Content="修改" Style="{StaticResource LinkButton}" Width="35" Height="15" Command="{Binding SetBarCodeCommand}"/>
</StackPanel >
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="1">
<StackPanel Orientation="Vertical">
<TextBlock Text="任务信息" Margin="20 10" FontSize="13" FontWeight="Bold" HorizontalAlignment="Left" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="465"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Margin="20 10 " HorizontalAlignment="Left">
<StackPanel Orientation="Horizontal" Height="30">
<TextBlock VerticalAlignment="Center">
<Run Text="采购数量:"/>
<Run Text="10"/>
</TextBlock>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="到货数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Height="30"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="30 0 0 0">
<TextBlock Text="良品数量: " VerticalAlignment="Center"/>
<c:BTextBox WaterRemark="数量" Height="30"/>
</UniformGrid>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0 30 0 0">
<TextBlock VerticalAlignment="Center">
<Run Text="份数:"/>
<Run Text="10"/>
</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"
>
<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" >
<ComboBoxItem IsSelected="True" Content="12点前" />
<ComboBoxItem IsSelected="True" Content="18点前" />
<ComboBoxItem IsSelected="True" Content="21点前" />
</hc:ComboBox>
</Border>
</UniformGrid>
</StackPanel>
</StackPanel>
<c:BTextBox WaterRemark="打包备注" Grid.Column="1" Margin="0 5 10 5" Height="80"/>
</Grid>
<Grid Width="auto" Height="90" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="20 10 0 0">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Brush}" Grid.Row="0"/>
<Border Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Brush}" Grid.Row="1"/>
<Border Height="1" VerticalAlignment="Top" BorderBrush="{StaticResource Border.Brush}" Grid.Row="2"/>
<Border Height="1" VerticalAlignment="Bottom" BorderBrush="{StaticResource Border.Brush}" Grid.Row="2"/>
<Border Width="1" HorizontalAlignment="Left" BorderBrush="{StaticResource Border.Brush}" Grid.RowSpan="3"/>
<Border Width="1" HorizontalAlignment="Right" BorderBrush="{StaticResource Border.Brush}" Grid.RowSpan="3"/>
<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>
<TextBlock Text="配件商品信息" Margin="20 10 0 0" 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"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid
MinHeight="100">
<StackPanel Orientation="Horizontal">
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="150" Height="150"
VerticalAlignment="Top" Margin="25 0 0 0"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<DockPanel VerticalAlignment="Top" Width="190" Height="150">
<TextBlock Margin="10 10 0 0" DockPanel.Dock="Top" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding PurchaseSkuId}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="配件商品ID:"/>
<Run Text="{Binding PurchaseSkuId}"/>
</TextBlock >
<TextBlock Margin="10 10 0 10" DockPanel.Dock="Top" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding Title}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding Title}"/>
</TextBlock >
<StackPanel Margin="10 0 0 5" 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"
Command="{Binding DataContext. SetCertificateCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding }"
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}" 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 Orientation="Horizontal"
Visibility="{Binding IsNeedCer, Converter={StaticResource objConverter}, ConverterParameter=true:Collapsed:Visible }">
<!--<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 }"/>-->
<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>
</DockPanel>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<TextBlock Text="打包配置" FontWeight="Bold" FontSize="13" Margin="20 23 " HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Grid Height="70" Margin="20 54 20 0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="77"/>
<ColumnDefinition Width="77"/>
<ColumnDefinition MinWidth="77"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="86"/>
<ColumnDefinition Width="86"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.ColumnSpan="8" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="0" Grid.ColumnSpan="8" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.Row="1" Grid.ColumnSpan="8" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Left" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="0" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="1" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="2" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="3" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="4" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="5" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="6" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<Border Grid.RowSpan="2" Grid.Column="7" HorizontalAlignment="Right" Width="1" Background="{StaticResource Border.Brush}"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="0" Text="组合类型"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="1" Text="配件数量"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="2" Text="SKU配件商品"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="3" Text="基础包装"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="4" Text="增量耗材"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="5" Text="条码标签"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="6" Text="合格证"/>
<TextBlock Grid.Row="0" Style="{StaticResource middleTextBlock}" Grid.Column="7" Text="合格证位置"/>
<Grid Grid.Row="1" Grid.Column="0" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding PackTypeList}" Text="{Binding PackType}" >
</ComboBox>
</Grid>
<c:BTextBox BorderBrush="Transparent" Grid.Row="1" Grid.Column="1" Height="30" Margin="5" Text="{Binding GoodsNumber,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<c:BTextBox BorderBrush="Transparent" Grid.Row="1" Grid.Column="2" Height="30" Margin="5" Text="{Binding SkuTitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<Grid Grid.Row="1" Grid.Column="3" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding BasicPackList}" Text="{Binding BasicPack}" >
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="4">
<Grid.Resources>
</Grid.Resources>
<hc:CheckComboBox BorderThickness="0" IsTextSearchEnabled="True" ItemsSource="{Binding IncreateList}"
ShowClearButton="True"
MinWidth="90"
Height="25"
Margin="5,0,5,0">
<hc:CheckComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="5,2.5">
<CheckBox Content="{Binding IncreateName}" IsChecked="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</DataTemplate>
</hc:CheckComboBox.ItemTemplate>
<hc:CheckComboBox.ItemContainerStyle>
<Style TargetType="{x:Type hc:CheckComboBoxItem}" BasedOn="{StaticResource NoBgListBoxItemStyle}">
<Setter Property="IsSelected" Value="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Style>
</hc:CheckComboBox.ItemContainerStyle>
</hc:CheckComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="5" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding IsNeedBarCodeList}" Text="{Binding IsNeedBarCode,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="6" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding IsNeedCerList}" Text="{Binding IsNeedCertificateModel,Mode=TwoWay}">
</ComboBox>
</Grid>
<Grid Grid.Row="1" Grid.Column="7" >
<ComboBox VerticalContentAlignment="Center" BorderThickness="0" Margin="1" ItemsSource="{Binding CertificatePositionList}" Text="{Binding CertificatePosition}">
</ComboBox>
</Grid>
</Grid>
</StackPanel>
</Grid>
</Grid>
<Grid Grid.Row="2">
<c:BButton Content="保存" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,19,2"
Command="{Binding CreateTaskCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type c:BWindow}}}"
Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/>
</Grid>
</Grid>
</c:BWindow>

16
BBWY.Client/Views/QualityTask/QualityWindow.xaml.cs

@ -0,0 +1,16 @@
using BBWY.Controls;
namespace BBWY.Client.Views.QualityTask
{
/// <summary>
/// QualityWindow.xaml 的交互逻辑
/// </summary>
public partial class QualityWindow : BWindow
{
public QualityWindow()
{
InitializeComponent();
}
}
}
Loading…
Cancel
Save