diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderCostResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderCostResponse.cs
index 2f0142b..be7896b 100644
--- a/BBWYB.Client/Models/APIModel/Response/Order/OrderCostResponse.cs
+++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderCostResponse.cs
@@ -22,7 +22,7 @@ namespace BBWYB.Client.Models
- public DateTime CreateTime { get; set; }
+ public DateTime? CreateTime { get; set; }
///
/// 发货快递费
@@ -32,7 +32,7 @@ namespace BBWYB.Client.Models
///
/// 是否手动编辑过成本
///
- public bool IsManualEdited { get; set; } = false;
+ public bool? IsManualEdited { get; set; } = false;
///
/// 平台扣点金额
diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs
new file mode 100644
index 0000000..328dbf7
--- /dev/null
+++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs
@@ -0,0 +1,23 @@
+using System;
+
+namespace BBWYB.Client.Models
+{
+ public partial class OrderPurchaseInfoResponse
+ {
+ public DateTime? CreateTime { get; set; }
+
+ public string PurchaseAccountId { get; set; }
+
+ public string PurchaseAccountName { get; set; }
+
+ public PurchaseMethod? PurchaseMethod { get; set; }
+
+
+ public string PurchaseOrderId { get; set; }
+
+ public Platform? PurchasePlatform { get; set; }
+
+ public string PurchaserName { get; set; }
+
+ }
+}
diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
index 990cd64..463c3bd 100644
--- a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
+++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
@@ -136,6 +136,9 @@ namespace BBWYB.Client.Models
/// 订单成本
///
public OrderCostResponse OrderCost { get; set; }
+
+ public OrderPurchaseInfoResponse OrderPurchaseInfo { get; set; }
+
///
/// 订单成本明细列表
///
diff --git a/BBWYB.Client/Models/MappingProfile.cs b/BBWYB.Client/Models/MappingProfile.cs
index 942d611..a23e4de 100644
--- a/BBWYB.Client/Models/MappingProfile.cs
+++ b/BBWYB.Client/Models/MappingProfile.cs
@@ -6,7 +6,7 @@ namespace BBWYB.Client.Models
{
public MappingProfile()
{
-
+
CreateMap().ForMember(t => t.TeamId, opt => opt.MapFrom(f => f.DepartmentId))
.ForMember(t => t.TeamName, opt => opt.MapFrom(f => f.DepartmentName))
.ForMember(t => t.Name, opt => opt.MapFrom(f => f.UserName));
@@ -22,6 +22,7 @@ namespace BBWYB.Client.Models
CreateMap();
CreateMap();
CreateMap();
+ CreateMap();
}
}
}
diff --git a/BBWYB.Client/Models/Order/Order.cs b/BBWYB.Client/Models/Order/Order.cs
index 751ba61..fcc5c68 100644
--- a/BBWYB.Client/Models/Order/Order.cs
+++ b/BBWYB.Client/Models/Order/Order.cs
@@ -148,6 +148,8 @@ namespace BBWYB.Client.Models
///
public OrderCost OrderCost { get; set; }
+ public OrderPurchaseInfo OrderPurchaseInfo { get; set; }
+
public IList ItemList { get; set; }
///
diff --git a/BBWYB.Client/Models/Order/OrderPurchaseInfo.cs b/BBWYB.Client/Models/Order/OrderPurchaseInfo.cs
new file mode 100644
index 0000000..7b7ca63
--- /dev/null
+++ b/BBWYB.Client/Models/Order/OrderPurchaseInfo.cs
@@ -0,0 +1,6 @@
+namespace BBWYB.Client.Models
+{
+ public class OrderPurchaseInfo : OrderPurchaseInfoResponse
+ {
+ }
+}
diff --git a/BBWYB.Client/ViewModels/BaseVM.cs b/BBWYB.Client/ViewModels/BaseVM.cs
index 36dfb03..4a36021 100644
--- a/BBWYB.Client/ViewModels/BaseVM.cs
+++ b/BBWYB.Client/ViewModels/BaseVM.cs
@@ -1,6 +1,7 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System;
+using System.Windows;
using System.Windows.Input;
namespace BBWYB.Client.ViewModels
{
@@ -12,11 +13,26 @@ namespace BBWYB.Client.ViewModels
public ICommand UnloadCommand { get; set; }
+ public ICommand CopyTextCommand { get; set; }
+
public BaseVM()
{
VMId = Guid.NewGuid();
LoadCommand = new RelayCommand(Load);
UnloadCommand = new RelayCommand(Unload);
+ CopyTextCommand = new RelayCommand(s =>
+ {
+ try
+ {
+ Clipboard.SetText(s);
+ }
+ catch (Exception ex)
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
+ Console.WriteLine(ex);
+ Console.ResetColor();
+ }
+ });
}
public virtual void Refresh()
diff --git a/BBWYB.Client/ViewModels/Order/ChoosePurchaseSchemeViewModel.cs b/BBWYB.Client/ViewModels/Order/ChoosePurchaseSchemeViewModel.cs
new file mode 100644
index 0000000..d982d2d
--- /dev/null
+++ b/BBWYB.Client/ViewModels/Order/ChoosePurchaseSchemeViewModel.cs
@@ -0,0 +1,93 @@
+using BBWYB.Client.APIServices;
+using BBWYB.Client.Models;
+using BBWYB.Common.Models;
+using CommunityToolkit.Mvvm.Input;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Input;
+
+namespace BBWYB.Client.ViewModels
+{
+ public class ChoosePurchaseSchemeViewModel : BaseVM, IDenpendency
+ {
+ private PurchaseService purchaseService;
+ private GlobalContext globalContext;
+ private Order order;
+ private bool noPurchaser;
+
+ public IList PurchaserList { get; set; }
+ public bool NoPurchaser { get => noPurchaser; set { SetProperty(ref noPurchaser, value); } }
+
+ //public ICommand DeleteCommand { get; set; }
+ //public ICommand EditCommand { get; set; }
+ public ICommand PreviewPurchaseCommand { get; set; }
+
+
+
+ public ChoosePurchaseSchemeViewModel(PurchaseService purchaseService, GlobalContext globalContext)
+ {
+ this.purchaseService = purchaseService;
+ this.globalContext = globalContext;
+ this.PurchaserList = new ObservableCollection();
+ //DeleteCommand = new RelayCommand(Delete);
+ //EditCommand = new RelayCommand(Edit);
+ PreviewPurchaseCommand = new RelayCommand(PreviewPurchase);
+ }
+
+ protected override void Load()
+ {
+ PurchaserList.Clear();
+ Task.Factory.StartNew(() => LoadPurchaser());
+ }
+
+ protected override void Unload()
+ {
+ this.order = null;
+ this.NoPurchaser = false;
+ PurchaserList.Clear();
+ }
+
+ public void SetData(Order order)
+ {
+ this.order = order;
+ }
+
+ public void LoadPurchaser()
+ {
+ var skuIdList = order.ItemList.Select(osku => osku.SkuId).ToList();
+ var purchaserResponse = purchaseService.GetSharePurchaser(skuIdList, globalContext.User.Shop.ShopId);
+ if (!purchaserResponse.Success)
+ {
+ App.Current.Dispatcher.Invoke(() => MessageBox.Show(purchaserResponse.Msg, "获取采购商"));
+ return;
+ }
+ NoPurchaser = (purchaserResponse.Data?.Count() ?? 0) == 0;
+ if (purchaserResponse.Data != null && purchaserResponse.Data.Count() > 0)
+ {
+ App.Current.Dispatcher.Invoke(() =>
+ {
+ foreach (var p in purchaserResponse.Data) PurchaserList.Add(p);
+ });
+ }
+
+ }
+
+ public void PreviewPurchase(Purchaser purchaser)
+ {
+ var purchaseAccount = globalContext.User.Shop.PurchaseAccountList.FirstOrDefault(pa => pa.PurchasePlatformId == purchaser.Platform);
+ if (purchaseAccount == null)
+ {
+ MessageBox.Show($"缺少{purchaser.Platform}的采购账号", "提示");
+ return;
+ }
+
+ var p = new _1688Purchase(order, purchaser, purchaseAccount);
+ p.ShowDialog();
+ GalaSoft.MvvmLight.Messaging.Messenger.Default.Send
public string OrderId { get; set; }
+
+ public string PurchaseAccountId { get; set; }
+
+ public string PurchaseAccountName { get; set; }
+
+ public string PurchaserName { get; set; }
}
}
diff --git a/BBWYB.Server.Model/Dto/Response/Order/OrderPurchaseInfoResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/OrderPurchaseInfoResponse.cs
new file mode 100644
index 0000000..0e2ffa0
--- /dev/null
+++ b/BBWYB.Server.Model/Dto/Response/Order/OrderPurchaseInfoResponse.cs
@@ -0,0 +1,8 @@
+using BBWYB.Server.Model.Db;
+
+namespace BBWYB.Server.Model.Dto
+{
+ public class OrderPurchaseInfoResponse : OrderPurchaseInfo
+ {
+ }
+}
diff --git a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
index 04d9ea1..fa0f9bc 100644
--- a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
+++ b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
@@ -133,6 +133,12 @@
/// 订单成本
///
public OrderCostResponse OrderCost { get; set; }
+
+ ///
+ /// 订单采购信息
+ ///
+ public OrderPurchaseInfoResponse OrderPurchaseInfo { get; set; }
+
///
/// 订单成本明细列表
///
diff --git a/BBWYB.Server.Model/MappingProfiles.cs b/BBWYB.Server.Model/MappingProfiles.cs
index 9d95b86..c3f6dfb 100644
--- a/BBWYB.Server.Model/MappingProfiles.cs
+++ b/BBWYB.Server.Model/MappingProfiles.cs
@@ -45,7 +45,13 @@ namespace BBWYB.Server.Model
.ForPath(t => t.OrderCost.PlatformCommissionAmount, opt => opt.MapFrom(f => f.PlatformCommissionAmount ?? 0))
.ForPath(t => t.OrderCost.PlatformCommissionRatio, opt => opt.MapFrom(f => f.PlatformCommissionRatio ?? 0))
.ForPath(t => t.OrderCost.PreferentialAmount, opt => opt.MapFrom(f => f.PreferentialAmount))
- .ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited));
+ .ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited))
+ .ForPath(t => t.OrderPurchaseInfo.PurchasePlatform, opt => opt.MapFrom(f => f.PurchasePlatform))
+ .ForPath(t => t.OrderPurchaseInfo.PurchaserName, opt => opt.MapFrom(f => f.PurchaserName))
+ .ForPath(t => t.OrderPurchaseInfo.PurchaseAccountName, opt => opt.MapFrom(f => f.PurchaseAccountName))
+ .ForPath(t => t.OrderPurchaseInfo.PurchaseAccountId, opt => opt.MapFrom(f => f.PurchaseAccountId))
+ .ForPath(t => t.OrderPurchaseInfo.PurchaseMethod, opt => opt.MapFrom(f => f.PurchaseMethod))
+ .ForPath(t => t.OrderPurchaseInfo.PurchaseOrderId, opt => opt.MapFrom(f => f.PurchaseOrderId));
//CreateMap();