15 changed files with 1508 additions and 5 deletions
@ -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); |
|||
|
|||
} |
|||
|
|||
|
|||
} |
|||
} |
@ -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; } |
|||
} |
|||
} |
@ -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; } |
|||
} |
|||
} |
@ -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.需要;
|
|||
} |
|||
} |
|||
|
|||
} |
|||
} |
@ -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
|
|||
} |
|||
} |
@ -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> |
@ -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; } |
|||
} |
|||
} |
@ -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> |
@ -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(); |
|||
} |
|||
} |
|||
} |
@ -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> |
@ -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…
Reference in new issue