32 changed files with 1747 additions and 278 deletions
@ -0,0 +1,37 @@ |
|||
using BBWY.Client.Models.APIModel; |
|||
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.QiKu |
|||
{ |
|||
public class MarkMessageService : BaseApiService, IDenpendency |
|||
{ |
|||
public MarkMessageService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) |
|||
{ |
|||
} |
|||
|
|||
public ApiResponse<bool> AppendMarkMessage(long TaskId, string MarkMessage, string UserName) |
|||
{ |
|||
return SendRequest<bool>(globalContext.QKApiHost, $"api/MarkMessage/AppendMarkMessage", |
|||
new |
|||
{ |
|||
TaskId, |
|||
MarkMessage, |
|||
UserName |
|||
} |
|||
, null, HttpMethod.Post); |
|||
} |
|||
|
|||
public ApiResponse<ShowTaskMarkMessageResponse[]> ShowTaskMarkMessage(long TaskId) |
|||
{ |
|||
return SendRequest<ShowTaskMarkMessageResponse[]>(globalContext.QKApiHost, $"api/MarkMessage/ShowTaskMarkMessage?TaskId={TaskId}", |
|||
null |
|||
, null, HttpMethod.Get); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace BBWY.Client.Models.APIModel |
|||
{ |
|||
public class ShowTaskMarkMessageResponse |
|||
{ |
|||
/// <summary>
|
|||
/// 备注消息
|
|||
/// </summary>
|
|||
public string MarkMessage { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 备注人
|
|||
/// </summary>
|
|||
public string UserName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 备注时间
|
|||
/// </summary>
|
|||
public DateTime? CreateTime { get; set; } |
|||
|
|||
|
|||
public override string ToString() |
|||
{ |
|||
return $"{CreateTime?.ToString("yyyy-MM-dd")} {UserName}:{MarkMessage}"; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,807 @@ |
|||
using BBWY.Client.APIServices.QiKu; |
|||
using BBWY.Client.APIServices; |
|||
using BBWY.Client.Models.APIModel.Request; |
|||
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.Views.QualityTask; |
|||
using BBWY.Client.Models.QualityTask; |
|||
|
|||
namespace BBWY.Client.ViewModels.PackTask |
|||
{ |
|||
public class UpdatePurchaseTaskViewModel : BaseVM |
|||
{ |
|||
|
|||
#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 Availability availability; |
|||
/// <summary>
|
|||
/// 到货情况(待收货=0,部分收货=1,已到货=2)
|
|||
/// </summary>
|
|||
public Availability 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>
|
|||
/// spuid
|
|||
/// </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 long taskId; |
|||
public long TaskId { get => taskId; set { Set(ref taskId, value); } } |
|||
|
|||
private string showMarkMessage; |
|||
/// <summary>
|
|||
/// 显示备注列表(对接备注)
|
|||
/// </summary>
|
|||
public string ShowMarkMessage { get => showMarkMessage; set { Set(ref showMarkMessage, 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; |
|||
PackTaskService packTaskService; |
|||
ProductService productService; |
|||
GlobalContext globalContext; |
|||
private bool isLoading = false; |
|||
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } |
|||
#endregion
|
|||
|
|||
public UpdatePurchaseTaskViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, MarkMessageService markMessageService, PackTaskService packTaskService) |
|||
{ |
|||
this.packPurchaseTaskService = packPurchaseTaskService; |
|||
this.productService = productService; |
|||
this.globalContext = globalContext; |
|||
CreateTaskCommand = new RelayCommand<object>(CreateTask); |
|||
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail); |
|||
SetBarCodeCommand = new RelayCommand(SetBarCode); |
|||
SetCertificateCommand = new RelayCommand<PurchaseSku>(SetCertificate); |
|||
LookBarCommand = new RelayCommand(LookBar); |
|||
LookCerCommand = new RelayCommand<string>(LookCer); |
|||
|
|||
IncreateList = new ObservableCollection<IncreateModel>(); |
|||
foreach (var item in increates) |
|||
{ |
|||
IncreateList.Add(new IncreateModel |
|||
{ |
|||
IncreateName = item, |
|||
IsSelected = false |
|||
}); |
|||
} |
|||
|
|||
this.purchaseService = purchaseService; |
|||
|
|||
AppendMarkMessageCommand = new RelayCommand(AppendMarkMessage); |
|||
this.markMessageService = markMessageService; |
|||
this.packTaskService = packTaskService; |
|||
} |
|||
|
|||
|
|||
MarkMessageService markMessageService; |
|||
|
|||
private void AppendMarkMessage() |
|||
{ |
|||
var res = markMessageService.AppendMarkMessage(TaskId, MarkMessage, globalContext.User.Name); |
|||
if (res == null) |
|||
{ |
|||
|
|||
return; |
|||
} |
|||
if (!res.Success) |
|||
{ |
|||
MessageBox.Show(res.Msg); |
|||
return; |
|||
} |
|||
|
|||
MarkMessage = string.Empty; |
|||
|
|||
var resShow = markMessageService.ShowTaskMarkMessage(TaskId); |
|||
if (resShow != null && resShow.Success && resShow.Data != null) |
|||
{ |
|||
ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); |
|||
} |
|||
|
|||
} |
|||
|
|||
PurchaseService purchaseService; |
|||
public string OriginShopName { get; set; } |
|||
public string SkuPurchaseSchemeId { get; set; } |
|||
public Platform Platform { get; set; } |
|||
|
|||
|
|||
|
|||
|
|||
public SaveType SaveType { get; set; } |
|||
|
|||
#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; } |
|||
|
|||
public ICommand AppendMarkMessageCommand { 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, packTaskService); |
|||
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, SaveType); |
|||
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) |
|||
{ |
|||
QualityLookCerWindow lookCerWindow = new QualityLookCerWindow(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 bool SearchSku(PackTaskModel obj) |
|||
{ |
|||
//InitData();
|
|||
TaskId = obj.TaskId; |
|||
SaveType = SaveType.B端; |
|||
var resShow = markMessageService.ShowTaskMarkMessage(TaskId); |
|||
if (resShow != null && resShow.Success && resShow.Data != null) |
|||
{ |
|||
ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); |
|||
} |
|||
|
|||
|
|||
//SkuPurchaseSchemeId = "416647656341573";
|
|||
OriginShopName = obj.ShopName; |
|||
|
|||
|
|||
SkuId =obj.SkuId; |
|||
OrderId = obj.OrderId; |
|||
|
|||
var shopList = globalContext.User.ShopList; |
|||
var shop = shopList.SingleOrDefault(s => s.ShopName == OriginShopName); |
|||
Logo = obj.ItemList[0].Logo; |
|||
SkuName = obj.ItemList[0].SkuName; |
|||
if (string.IsNullOrEmpty(SkuId)) |
|||
return false; |
|||
|
|||
ApiResponse<ProductListResponse> productApiResponse = null; |
|||
var skuResponse = productService.GetProductSkuList(string.Empty, SkuId, shop.Platform, shop.AppKey, shop.AppSecret, shop.AppToken); |
|||
if (skuResponse.Success) |
|||
{ |
|||
if (skuResponse.Data.Count() == 0) |
|||
{ |
|||
return false; |
|||
} |
|||
Logo = skuResponse.Data[0].Logo.Replace("80x80", "200x200"); |
|||
SkuName = skuResponse.Data[0].Title; |
|||
|
|||
SpuId = skuResponse.Data[0].ProductId; |
|||
|
|||
productApiResponse = productService.GetProductList(skuResponse.Data[0].ProductId, string.Empty, string.Empty, 1, |
|||
shop.Platform, shop.AppKey, shop.AppSecret, shop.AppToken); |
|||
|
|||
if (productApiResponse.Success) |
|||
{ |
|||
if (productApiResponse.Data.Count == 0) |
|||
{ |
|||
|
|||
return false; |
|||
} |
|||
|
|||
ProductNo = productApiResponse.Data.Items[0].ProductItemNum; |
|||
Brand = productApiResponse.Data.Items[0].BrandName; |
|||
|
|||
} |
|||
var productSku = packPurchaseTaskService.GetConfigPack(SkuId, "", OrderId); |
|||
|
|||
if (productSku == null || !productSku.Success || productSku.Data == null) |
|||
{ |
|||
MessageBox.Show(productSku.Msg); |
|||
return false; |
|||
} |
|||
|
|||
|
|||
SkuPurchaseSchemeId = productSku.Data.SkuPurchaseSchemeId; |
|||
BarCodeModel = productSku.Data.BarCode; |
|||
if (BarCodeModel == null) |
|||
{ |
|||
BarCodeModel = new BarCodeModel(); |
|||
|
|||
} |
|||
if (!string.IsNullOrEmpty(Brand)) |
|||
BarCodeModel.Brand = Brand; |
|||
if (!string.IsNullOrEmpty(BrandName)) |
|||
BarCodeModel.BrandName = BrandName; |
|||
BarCodeModel.ProductNo = ProductNo; |
|||
BarCodeModel.SkuId = SkuId; |
|||
BarCodeModel.SkuName = SkuName; |
|||
PurchaseSkuList = new ObservableCollection<PurchaseSku>(); |
|||
foreach (var item in productSku.Data.PurchaseSkus) |
|||
{ |
|||
var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId); |
|||
if (list == null) continue; |
|||
var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId); |
|||
if (skuItem == null) |
|||
{ |
|||
MessageBox.Show($"{item.PurchaseProductId}采购商品列表不存在skuid:{item.PurchaseSkuId},sku商品可能被下架了."); |
|||
//return false;
|
|||
} |
|||
App.Current.Dispatcher.Invoke(new Action(() => |
|||
{ |
|||
PurchaseSkuList.Add(new PurchaseSku |
|||
{ |
|||
Logo = skuItem?.Logo, |
|||
Title = skuItem?.Title, |
|||
IsNeedCer = item.IsNeedCer, |
|||
PurchaseSkuId = item.PurchaseSkuId, |
|||
CerDTO = item.CerDTO, |
|||
IsSetCertificate = item.CerDTO == null ? true : false, |
|||
}); |
|||
})); |
|||
} |
|||
|
|||
IsNeedBarCode = Need.需要; |
|||
IsSetBarCode = true; |
|||
IsSetCertificate = true; |
|||
if (productSku.Data.PackConfig != null) |
|||
{ |
|||
var config = productSku.Data.PackConfig; |
|||
SkuTitle = config.SkuGoodsTitle; |
|||
BrandName = config.BrandName; |
|||
GoodsNumber = config.GoodsNumber; |
|||
PackType = (PackType)config.PackType; |
|||
BasicPack = (BasicPack)config.BasicPack; |
|||
//MarkMessage = config.MarkMessage;
|
|||
CertificatePosition = config.CertificatePosition == null ? CertificatePosition.无需合格证 : (CertificatePosition)config.CertificatePosition.Value; |
|||
// Increment1 = config.Increment1;
|
|||
|
|||
IsNeedBarCode = config.NeedBar ? Need.需要 : Need.不需要; |
|||
IsNeedCertificateModel = config.NeedCer ? Need.需要 : Need.不需要; |
|||
|
|||
IsSetBarCode = !config.NeedBar; |
|||
IsSetCertificate = !config.NeedCer; |
|||
|
|||
string[] increateDatas = config.Increment1?.Split(','); |
|||
bool isSelected = false; |
|||
|
|||
IncreateList = new ObservableCollection<IncreateModel>(); |
|||
foreach (var item in increates) |
|||
{ |
|||
isSelected = false; |
|||
if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item)) |
|||
{ |
|||
isSelected = true; |
|||
} |
|||
App.Current.Dispatcher.Invoke(() => |
|||
{ |
|||
IncreateList.Add(new IncreateModel |
|||
{ |
|||
IncreateName = item, |
|||
IsSelected = isSelected |
|||
}); |
|||
}); |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
return true; |
|||
} |
|||
else |
|||
{ |
|||
|
|||
App.Current.Dispatcher.Invoke(() => MessageBox.Show(skuResponse.Msg, "加载sku")); |
|||
return false; |
|||
} |
|||
return true; |
|||
//加载配置文件
|
|||
} |
|||
|
|||
//public void SearSpuCer()
|
|||
//{
|
|||
// if (string.IsNullOrEmpty(SpuId))
|
|||
// {
|
|||
// SearchSku(SkuId);
|
|||
// return;
|
|||
// }
|
|||
// SpuId = SpuId.Trim();//去掉空格 避免数据异常
|
|||
|
|||
|
|||
// var productSku = packPurchaseTaskService.GetSpuCer(SpuId);
|
|||
// if (productSku == null || !productSku.Success)
|
|||
// {
|
|||
// IsSetSpuCertificate = true;
|
|||
|
|||
// return;
|
|||
// }
|
|||
// SpuCertificateModel = productSku.Data;
|
|||
// IsSetSpuCertificate = false;
|
|||
// if (SpuCertificateModel == null)
|
|||
// {
|
|||
// SpuCertificateModel = new CertificateModel();
|
|||
// IsSetSpuCertificate = true;
|
|||
// SpuCertificateModel.Brand = Brand;
|
|||
// SpuCertificateModel.BrandName = BrandName;
|
|||
// SpuCertificateModel.ProductNo = ProductNo;
|
|||
// SpuCertificateModel.SpuId = SpuId;
|
|||
|
|||
// }
|
|||
|
|||
|
|||
//}
|
|||
|
|||
public Action ReflashWindow { get; set; } |
|||
public void InitData() |
|||
{ |
|||
PurchaseSkuList = new ObservableCollection<PurchaseSku>(); |
|||
IsSetBarCode = true; |
|||
SkuTitle = ""; |
|||
BrandName = ""; |
|||
GoodsNumber = 0; |
|||
PackType = PackType.单件; |
|||
BasicPack = BasicPack.快递袋; |
|||
SkuPurchaseSchemeId = ""; |
|||
SkuTitle = ""; |
|||
BarCodeModel = null; |
|||
OriginShopName = ""; |
|||
|
|||
// Availability = (TaskState.)config.Availability;
|
|||
MarkMessage = ""; |
|||
CertificatePosition = CertificatePosition.产品包装; |
|||
// Increment1 = config.Increment1;
|
|||
|
|||
IsNeedBarCode = Need.需要; |
|||
IsNeedCertificateModel = Need.不需要; |
|||
|
|||
|
|||
bool isSelected; |
|||
IncreateList = new ObservableCollection<IncreateModel>(); |
|||
foreach (var item in increates) |
|||
{ |
|||
isSelected = false; |
|||
App.Current.Dispatcher.Invoke(() => |
|||
{ |
|||
IncreateList.Add(new IncreateModel |
|||
{ |
|||
IncreateName = item, |
|||
IsSelected = isSelected |
|||
}); |
|||
}); |
|||
} |
|||
} |
|||
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调用浏览器失败,网页链接已复制到剪切板,请手动打开浏览器访问", "提示"); |
|||
} |
|||
|
|||
} |
|||
private void CreateTask(object obj) |
|||
{ |
|||
|
|||
string increateStr = ""; |
|||
var increates = IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName); |
|||
if (increates != null && increates.Count() > 0) |
|||
{ |
|||
increateStr = string.Join(",", increates); |
|||
} |
|||
var createTaskModel = new UpdatePurchaseTaskRequest |
|||
{ |
|||
ProductNo = ProductNo, |
|||
Logo = Logo.Replace("200x200", "80x80"), |
|||
SkuName = SkuName, |
|||
OrderId = OrderId, |
|||
BrandName = BrandName, |
|||
Availability = (int)Availability, |
|||
BasicPack = (int)BasicPack, |
|||
SkuId = SkuId, |
|||
Increment1 = increateStr, |
|||
|
|||
CertificatePosition = (int)CertificatePosition, |
|||
PackType = (int)PackType, |
|||
MarkMessage = MarkMessage, |
|||
PositionType = (int)PositionType, |
|||
GoodsNumber = GoodsNumber, |
|||
SkuGoodsTitle = SkuTitle, |
|||
SkuCount = SkuCount, |
|||
NeedBar = IsNeedBarCode == Need.需要, |
|||
NeedCer = IsNeedCertificateModel == Need.需要, |
|||
SkuPurchaseSchemeId = SkuPurchaseSchemeId, |
|||
Brand = Brand, |
|||
PurchaseSkuSpecs = PurchaseSkuList.Select(p => new PurchaseSkuSpec |
|||
{ |
|||
IsNeedCer = p.IsNeedCer, |
|||
PurchaseSkuId = p.PurchaseSkuId, |
|||
}).ToArray() |
|||
|
|||
//IsWorry = IsWorry
|
|||
}; |
|||
if (IsNeedBarCode == Need.需要) |
|||
{ |
|||
if (BarCodeModel == null || IsSetBarCode || BarCodeModel.Id <= 0) |
|||
{ |
|||
MessageBox.Show("请设置条形码模板"); |
|||
//new TipsWindow("请设置条形码模板").Show();
|
|||
return; |
|||
} |
|||
createTaskModel.BarCodeId = BarCodeModel.Id; |
|||
} |
|||
if (IsNeedCertificateModel == Need.需要) |
|||
{ |
|||
|
|||
if (purchaseSkuList.Any(p => p.IsNeedCer && p.CerDTO == null)) |
|||
{ |
|||
MessageBox.Show("有未设置的合格证,请设置完所有的合格证再保存"); |
|||
return; |
|||
} |
|||
|
|||
var cerList = purchaseSkuList.Where(p => p.IsNeedCer).Select(p => p.CerDTO).Select(c => c.Id).Where(c => c > 0).ToList(); |
|||
if (purchaseSkuList.Count() <= 0 || cerList.Count <= 0) |
|||
{ |
|||
MessageBox.Show("请设置合格证模板"); |
|||
return; |
|||
} |
|||
createTaskModel.CerId = string.Join(",", cerList);//
|
|||
} |
|||
ApiResponse<long> res = null; |
|||
|
|||
res = packPurchaseTaskService.UpdatePurchaseTask(createTaskModel); |
|||
|
|||
if (res.Success) |
|||
{ |
|||
if (ReflashWindow != null) ReflashWindow();//刷新主界面
|
|||
|
|||
var win = obj as System.Windows.Window; |
|||
win.Close(); |
|||
return; |
|||
} |
|||
|
|||
MessageBox.Show(res.Msg); |
|||
} |
|||
#endregion
|
|||
} |
|||
} |
@ -0,0 +1,384 @@ |
|||
<c:BWindow x:Class="BBWY.Client.Views.PackTask.UpdatePurchaseTaskWindow" |
|||
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" |
|||
mc:Ignorable="d" |
|||
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls" |
|||
xmlns:b="http://schemas.microsoft.com/xaml/behaviors" |
|||
xmlns:ctr="clr-namespace:BBWY.Client.Converters" |
|||
xmlns:cmodel="clr-namespace:BBWY.Client.Models" |
|||
xmlns:hc="https://handyorg.github.io/handycontrol" |
|||
xmlns:sys="clr-namespace:System;assembly=mscorlib" |
|||
CloseButtonVisibility="Visible" |
|||
CloseButtonColor="{StaticResource WindowButtonColor}" |
|||
DataContext="{Binding UpdatePurchaseTask,Source={StaticResource Locator}}" |
|||
MinButtonVisibility="Collapsed" |
|||
MaxButtonVisibility="Collapsed" |
|||
RightButtonGroupMargin="0,5,5,0" |
|||
Height="680" 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> |
|||
<!--<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}"> |
|||
<ObjectDataProvider.MethodParameters> |
|||
<x:Type TypeName="cmodel:StorageType"/> |
|||
</ObjectDataProvider.MethodParameters> |
|||
</ObjectDataProvider>--> |
|||
</ResourceDictionary> |
|||
|
|||
</Window.Resources> |
|||
|
|||
<Grid> |
|||
<Grid.RowDefinitions> |
|||
<RowDefinition Height="40"/> |
|||
<RowDefinition Height="60"/> |
|||
<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" VerticalAlignment="Center"> |
|||
<Grid.ColumnDefinitions> |
|||
<ColumnDefinition Width="370"/> |
|||
<ColumnDefinition/> |
|||
</Grid.ColumnDefinitions> |
|||
<TextBlock Text="下单店铺商品信息" FontWeight="Bold" FontSize="13" Height="20" Width="110" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="19 0 0 0" /> |
|||
<TextBlock Grid.Column="1" Text="配件商品信息" FontWeight="Bold" FontSize="13" Height="20" Width="110" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="19 0 0 0" /> |
|||
|
|||
</Grid> |
|||
<Grid Grid.Row="2" > |
|||
<Grid.RowDefinitions> |
|||
<RowDefinition Height="200" /> |
|||
<RowDefinition/> |
|||
</Grid.RowDefinitions> |
|||
|
|||
|
|||
<Grid Grid.Row="0" VerticalAlignment="Center" Height="150"> |
|||
<Grid.ColumnDefinitions> |
|||
<ColumnDefinition Width="370"/> |
|||
<ColumnDefinition Width="auto"/> |
|||
</Grid.ColumnDefinitions> |
|||
|
|||
<StackPanel Orientation="Horizontal"> |
|||
<c:BAsyncImage UrlSource="{Binding Logo}" |
|||
Width="150" Height="150" Stretch="Fill" |
|||
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> |
|||
<StackPanel Orientation="Vertical" Width="190"> |
|||
|
|||
<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 0 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 0 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="140" 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.Column="1"> |
|||
<ListBox x:Name="listbox_order" HorizontalAlignment="Left" |
|||
Height="150" Width="900" Margin="0" ScrollViewer.HorizontalScrollBarVisibility="Visible" |
|||
|
|||
ScrollViewer.VerticalScrollBarVisibility="Visible" |
|||
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" |
|||
ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}" |
|||
BorderBrush="{StaticResource Border.Brush}" |
|||
BorderThickness="0" |
|||
Foreground="{StaticResource Text.Color}"> |
|||
<ListBox.ItemsPanel> |
|||
<ItemsPanelTemplate> |
|||
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" /> |
|||
</ItemsPanelTemplate> |
|||
</ListBox.ItemsPanel> |
|||
|
|||
|
|||
<ListBox.ItemTemplate> |
|||
<DataTemplate> |
|||
<Grid |
|||
MinHeight="150"> |
|||
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" > |
|||
<c:BAsyncImage UrlSource="{Binding Logo}" |
|||
Height="150" Width="150" Stretch="Fill" |
|||
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" |
|||
> |
|||
<TextBlock Text="无需合格证" Height="15" Margin="5 0 0 0" |
|||
/> |
|||
|
|||
<!--<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> |
|||
</Grid> |
|||
<Grid Grid.Row="1"> |
|||
<Grid.RowDefinitions> |
|||
<RowDefinition Height="40"/> |
|||
<RowDefinition Height="80"/> |
|||
<RowDefinition MinHeight="70"/> |
|||
<RowDefinition Height="40"/> |
|||
</Grid.RowDefinitions> |
|||
<TextBlock Text="打包配置" FontWeight="Bold" FontSize="13" Margin="19 0 0 0 " HorizontalAlignment="Left" VerticalAlignment="Center"/> |
|||
<Grid Height="70" Grid.Row="1" Margin="20 0 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> |
|||
|
|||
|
|||
|
|||
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" CornerRadius="0" Grid.Row="2" Margin="20"> |
|||
<TextBox Text="{Binding ShowMarkMessage}" HorizontalAlignment="Stretch" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Visible" |
|||
AcceptsReturn="True" TextWrapping="Wrap" IsReadOnly="True" BorderThickness="0"/> |
|||
</Border> |
|||
|
|||
|
|||
<Grid Grid.Row="3" Margin="20 0 0 0"> |
|||
<Grid.ColumnDefinitions> |
|||
<ColumnDefinition/> |
|||
<ColumnDefinition Width="120"/> |
|||
</Grid.ColumnDefinitions> |
|||
<c:BTextBox WaterRemark="添加备注" Height="30" HorizontalAlignment="Stretch" Text="{Binding MarkMessage}" /> |
|||
<c:BButton Grid.Column="1" Content="提交备注" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,5,2" |
|||
Command="{Binding AppendMarkMessageCommand}" |
|||
CommandParameter="{Binding MarkMessage}" |
|||
Visibility="{Binding TaskId,Converter={StaticResource objConverter},ConverterParameter=0:Collapsed:Visible}" |
|||
Background="{StaticResource Button.Background}" BorderThickness="0" Foreground="White"/> |
|||
</Grid> |
|||
<!--<c:BTextBox Grid.Row="3" Text="{Binding MarkMessage,Mode=TwoWay}" WaterRemark="打包备注" AcceptsReturn="True" TextWrapping="Wrap" Grid.ColumnSpan="2" Margin="20 0 20 0" Height="60"/>--> |
|||
|
|||
|
|||
</Grid> |
|||
|
|||
</Grid> |
|||
<Grid Grid.Row="3"> |
|||
|
|||
<c:BButton Content="保存" Width="100" HorizontalAlignment="Right" VerticalAlignment="Stretch" Margin="0,2,5,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,35 @@ |
|||
using BBWY.Client.Models; |
|||
using BBWY.Client.ViewModels.PackTask; |
|||
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.PackTask |
|||
{ |
|||
/// <summary>
|
|||
/// UpdatePurchaseTaskWindow.xaml 的交互逻辑
|
|||
/// </summary>
|
|||
public partial class UpdatePurchaseTaskWindow : BWindow |
|||
{ |
|||
public UpdatePurchaseTaskWindow(PackTaskModel obj, Action ReflashWindow = null) |
|||
{ |
|||
InitializeComponent(); |
|||
var updatePackTask = (this.DataContext as UpdatePurchaseTaskViewModel); |
|||
var show = updatePackTask.SearchSku(obj); |
|||
if (!show) { this.Close(); IsClosed = true; } |
|||
|
|||
if (ReflashWindow != null) |
|||
updatePackTask.ReflashWindow = ReflashWindow; |
|||
} |
|||
public bool IsClosed { get; set; } = false; |
|||
} |
|||
} |
Loading…
Reference in new issue