Browse Source

移除待完结,业务团队添加查看转运,仓库端完成封箱 钉钉提醒业务团队配置同步采购单

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
ac6e93db8d
  1. 9
      BBWY.Client/APIServices/QiKu/SealBoxService.cs
  2. 9
      BBWY.Client/APIServices/ShopService.cs
  3. 5
      BBWY.Client/App.xaml.cs
  4. 8
      BBWY.Client/BBWYAppSettings.json
  5. 2
      BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs
  6. 12
      BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs
  7. 12
      BBWY.Client/Models/Shop/Shop.cs
  8. 3
      BBWY.Client/ViewModels/MainViewModel.cs
  9. 176
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  10. 2
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  11. 27
      BBWY.Client/ViewModels/Setting/ShopSettingViewModel.cs
  12. 23
      BBWY.Client/Views/PackTask/TaskList.xaml
  13. 4
      BBWY.Client/Views/PackTask/WareHouseList.xaml
  14. 32
      BBWY.Client/Views/Setting/ShopSetting.xaml
  15. 348
      BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml
  16. 26
      BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml.cs
  17. 94
      BBWY.Client/Views/WaitTransport/TeamWaitTransportListControl.xaml
  18. 26
      BBWY.Client/Views/WaitTransport/TeamWaitTransportListControl.xaml.cs
  19. 12
      BBWY.Server.Business/Vender/VenderBusiness.cs
  20. 14
      BBWY.Server.Model/Db/Mds/Shops.cs
  21. 12
      BBWY.Server.Model/Dto/Request/Vender/ShopSettingRequest.cs
  22. 13
      BBWY.Server.Model/Dto/Response/Vender/ShopResponse.cs

9
BBWY.Client/APIServices/QiKu/SealBoxService.cs

@ -246,14 +246,15 @@ namespace BBWY.Client.APIServices
public ApiResponse<GetWareWaitTransportResponse> GetWareWaitTransportList(WareType WareType, int? PageSize, int? PageIndex)
public ApiResponse<GetWareWaitTransportResponse> GetWareWaitTransportList(WareType WareType, int? PageSize, int? PageIndex,string shopId=null)
{
return SendRequest<GetWareWaitTransportResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareWaitTransportList",
new
{
WareType,
PageSize,
PageIndex
PageIndex,
shopId
}
, null, HttpMethod.Post);
@ -266,9 +267,9 @@ namespace BBWY.Client.APIServices
}
public ApiResponse<GetWareTransportCountResponse> GetWareTransportCounts()
public ApiResponse<GetWareTransportCountResponse> GetWareTransportCounts(string shopId)
{
return SendRequest<GetWareTransportCountResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareTransportCounts",
return SendRequest<GetWareTransportCountResponse>(globalContext.QKApiHost, $"api/SealBox/GetWareTransportCounts?shopId={shopId}",
null, null, HttpMethod.Post);
}

9
BBWY.Client/APIServices/ShopService.cs

@ -21,7 +21,10 @@ namespace BBWY.Client.APIServices
int skuSafeTurnoverDays,
string siNanDingDingWebHook,
string siNanDingDingKey,
int siNanPolicyLevel)
int siNanPolicyLevel,
string qiKuDingDingWebHook,
string qiKuDingDingKey
)
{
return SendRequest<long>(globalContext.BBYWApiHost, "api/vender/SaveShopSetting", new
{
@ -39,7 +42,9 @@ namespace BBWY.Client.APIServices
skuSafeTurnoverDays,
siNanDingDingWebHook,
siNanDingDingKey,
siNanPolicyLevel
siNanPolicyLevel,
qiKuDingDingWebHook,
qiKuDingDingKey
}, null, HttpMethod.Post);
}

5
BBWY.Client/App.xaml.cs

@ -50,7 +50,7 @@ namespace BBWY.Client
#if DEBUG
//仓库组测试
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjM1OTMyMDAyMjcwMDU2NDQ4IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0IiwiZXhwIjoxNzEwNDk2NTQ1fQ.Sx2vGJcYGf98x99slQLU3vt7yWdjspptSpbUCcZgWek";
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjM1OTMyMDAyMjcwMDU2NDQ4IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0IiwiZXhwIjoxNzEwNDk2NTQ1fQ.Sx2vGJcYGf98x99slQLU3vt7yWdjspptSpbUCcZgWek";
//齐越梧桐
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY1ODk1OTgzMzc4MDc1NjQ4IiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MjQyOTE2MDZ9.NG6wDqHJ5ozmEDcAt2duJ50IcGarygrQ2bmiP4TGNRE";
@ -61,6 +61,9 @@ namespace BBWY.Client
//飞鱼
userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI3NDg2MDI0Mjk0NzMxNzc2IiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNTE2OTc0MjUwNTQyNTAxODg4IiwiZXhwIjoxNzI0NTY1ODU5fQ._ezJmsvaStab8nDPB7qeoc2aakWfhHbeqq_X_RQsc4s";
//小叶
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTA3NDY1MDMzNDIwODAwIiwidGVhbUlkIjoiMTQzNjI4ODUwMDIzNTI0MzUyMCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MjYyMTkyMDZ9.AYGBxDtX7PD8O6NOzUhRurOEJynSzoRzZpuK7RUKCKg";
//齐越陈默
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI0OTUxNjgzNTc2NTAwMjI0IiwidGVhbUlkIjoiMTYyMDM0MjAxNDcwNjk3ODgxNiIsInNvblRlYW1JZHMiOiIxNjIwMzQyMDE0NzA2OTc4ODE2LDE2MjAzNDQxNDA4NTAwMDgwNjQsMTQxMDk1NTYwNDYxMjA5MTkwNCIsImV4cCI6MTcyNDkxNDM5M30.tIgo70tzRxZyUQkX1Jsh9I4ySciX0VC9HMMOoTnwVtM";

8
BBWY.Client/BBWYAppSettings.json

@ -1,9 +1,9 @@
{
//"BBWYApiHost": "http://localhost:5000",
"BBWYApiHost": "http://bbwytest.qiyue666.com",
"BBWYApiHost": "http://localhost:5000",
// "BBWYApiHost": "http://bbwytest.qiyue666.com",
"MDSApiHost": "http://mdsapi.qiyue666.com",
"JOSApiHost": "",
"1688ApiHost": "",
//"QKApiHost": "http://localhost:8080"
"QKApiHost": "http://qiku.qiyue666.com"
"QKApiHost": "http://localhost:8080"
// "QKApiHost": "http://qiku.qiyue666.com"
}

2
BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs

@ -17,6 +17,8 @@ namespace BBWY.Client.Models.APIModel
}
public class WareWaitTransport : NotifyObject
{
private bool isHideSkuList = true;//默认隐藏
public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } }
private string transportOverTimeMarkMsg;
public string TransportOverTimeMarkMsg { get => transportOverTimeMarkMsg; set { Set(ref transportOverTimeMarkMsg, value); } }

12
BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs

@ -56,6 +56,18 @@ namespace BBWY.Client.Models
/// 司南钉钉密钥
/// </summary>
public string SiNanDingDingKey { get; set; }
/// <summary>
/// 齐库钉钉WebHook地址
/// </summary>
public string QiKuDingDingWebHook { get; set; }
/// <summary>
/// 齐库钉钉密钥
/// </summary>
public string QiKuDingDingKey { get; set; }
}
public class DepartmentResponse

12
BBWY.Client/Models/Shop/Shop.cs

@ -83,6 +83,18 @@ namespace BBWY.Client.Models
/// </summary>
public string SiNanDingDingKey { get; set; }
/// <summary>
/// 齐库钉钉WebHook地址
/// </summary>
public string QiKuDingDingWebHook { get; set; }
/// <summary>
/// 齐库钉钉密钥
/// </summary>
public string QiKuDingDingKey { get; set; }
public override string ToString()
{
return ShopName;

3
BBWY.Client/ViewModels/MainViewModel.cs

@ -267,7 +267,6 @@ namespace BBWY.Client.ViewModels
}));
}
App.Current.Dispatcher.Invoke(() =>
{
MenuList.Add(new MenuModel()
@ -375,6 +374,8 @@ namespace BBWY.Client.ViewModels
shop.AppKey2 = s2.AppKey2;
shop.AppSecret2 = s2.AppSecret2;
shop.AppToken2 = s2.AppToken2;
shop.QiKuDingDingWebHook = s2.QiKuDingDingWebHook;
shop.QiKuDingDingKey = s2.QiKuDingDingKey;
}
}
}

176
BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs

@ -44,6 +44,16 @@ namespace BBWY.Client.ViewModels.PackTask
#region 属性绑定
private string waitTransportJDWareCount;
public string WaitTransportJDWareCount { get => waitTransportJDWareCount; set { Set(ref waitTransportJDWareCount, value); } }
private string waitTransportCloudWareCount;
public string WaitTransportCloudWareCount { get => waitTransportCloudWareCount; set { Set(ref waitTransportCloudWareCount, value); } }
private string waitTransportJuShuiTanCount;
public string WaitTransportJuShuiTanCount { get => waitTransportJuShuiTanCount; set { Set(ref waitTransportJuShuiTanCount, value); } }
private string waitTransportStoreWareCount;
public string WaitTransportStoreWareCount { get => waitTransportStoreWareCount; set { Set(ref waitTransportStoreWareCount, value); } }
private ObservableCollection<WareWaitCompleted> waitCompletedList;
/// <summary>
@ -102,6 +112,14 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public ObservableCollection<FallWareConfiguredModel> FallWareConfiguredList { get => fallWareConfiguredList; set { Set(ref fallWareConfiguredList, value); } }
private ObservableCollection<WareWaitTransport> waitTransportList;
/// <summary>
/// 待转运列表
/// </summary>
public ObservableCollection<WareWaitTransport> WaitTransportList { get => waitTransportList; set { Set(ref waitTransportList, value); } }
public List<WareWaitTransport> WareWaitTransports { get; set; }
///// <summary>
///// 查询时间段
///// </summary>
@ -212,19 +230,28 @@ namespace BBWY.Client.ViewModels.PackTask
/// </summary>
public string WaitFallWareCount { get => waitFallWareCount; set { Set(ref waitFallWareCount, value); } }
private string waitOutbound;
//private string waitOutbound;
///// <summary>
///// 待出库任务数
///// </summary>
//public string WaitOutbound { get => waitOutbound; set { Set(ref waitOutbound, value); } }
private string waitTransportCount;
/// <summary>
/// 待出库任务数
/// 待转运
/// </summary>
public string WaitOutbound { get => waitOutbound; set { Set(ref waitOutbound, value); } }
public string WaitTransportCount { get => waitTransportCount; set { Set(ref waitTransportCount, value); } }
private string waitCompleted;
/// <summary>
/// 待完成任务数
/// </summary>
public string WaitCompleted { get => waitCompleted; set { Set(ref waitCompleted, value); } }
//private string waitCompleted;
///// <summary>
///// 待完成任务数
///// </summary>
//public string WaitCompleted { get => waitCompleted; set { Set(ref waitCompleted, value); } }
private WareType selectWareType;
public WareType SelectWareType { get => selectWareType; set { Set(ref selectWareType, value); } }
private SealBoxService sealBoxService;
@ -260,6 +287,7 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() => SearchTaskList());
});
CreateTaskCommand = new RelayCommand(CreateTask);
SearchTaskCommand = new RelayCommand(() =>
{
@ -280,6 +308,8 @@ namespace BBWY.Client.ViewModels.PackTask
//EndTime = DateTime.Now.Date;
IsLoading = false;
//加载数据
SelectWareType = WareType.;
SetTaskState(null);
this.sealBoxService = sealBoxService;
@ -295,6 +325,16 @@ namespace BBWY.Client.ViewModels.PackTask
this.productService = productService;
UpdateTaskStateCommand = new RelayCommand<object>(UpdateTaskState);
SetWareTypeCommand = new RelayCommand<WareType>(s =>
{
SelectWareType = s;
SearchTaskList();
});
}
private void UpdateTaskState(object obj)
{
@ -411,6 +451,11 @@ namespace BBWY.Client.ViewModels.PackTask
case Models.TaskState.:
break;
case Models.TaskState.:
if (obj is WareWaitTransport)
{
var data = obj as WareWaitTransport;
data.IsHideSkuList = !data.IsHideSkuList;
}
break;
case Models.TaskState.:
break;
@ -558,13 +603,16 @@ namespace BBWY.Client.ViewModels.PackTask
NoArrivedCount = packTaskResult.Data.NoArrivedCount.ToString();
SomeArrivedCount = packTaskResult.Data.SomeArrivedCount.ToString();
//WorryCount = packTaskResult.Data.WorryCount.ToString();
WaitOutbound = packTaskResult.Data.WaitOutbound?.ToString();
//WaitOutbound = packTaskResult.Data.WaitOutbound?.ToString();
WaitPackCount = packTaskResult.Data.WaitPackCount?.ToString();
WaitSealBoxCount = packTaskResult.Data.WaitSealBox?.ToString();
WaitFallWareCount = packTaskResult.Data.WaitFallWareCount?.ToString();
WaitCompleted = packTaskResult.Data.WaitCompleted?.ToString();
//WaitCompleted = packTaskResult.Data.WaitCompleted?.ToString();
WaitScheduleCount = packTaskResult.Data.WaitScheduleCount?.ToString();
}));
WaitTransportCount =packTaskResult.Data.WaitTransportCount?.ToString();
}));
}
}
@ -579,6 +627,12 @@ namespace BBWY.Client.ViewModels.PackTask
#region 事件绑定
/// <summary>
/// 设置仓库类型
/// </summary>
public ICommand SetWareTypeCommand { get; set; }
/// <summary>
/// 修改任务状态
/// </summary>
@ -657,7 +711,7 @@ namespace BBWY.Client.ViewModels.PackTask
}
private List<TaskState> waitSealBoxTaskStates = new List<TaskState> {
Models.TaskState., Models.TaskState., Models.TaskState., Models.TaskState.
Models.TaskState., Models.TaskState., Models.TaskState., Models.TaskState., Models.TaskState.
};//配置封箱的任务状态范围
@ -672,6 +726,7 @@ namespace BBWY.Client.ViewModels.PackTask
private Thread sealboxOverTimeThread = null;
private Thread fallwareOverTimeThread = null;
private Thread scheduleOverTimeThread = null;
private Thread waitTransportOverTimeThread = null;
/// <summary>
/// 搜索任务列表
/// </summary>
@ -1240,14 +1295,102 @@ namespace BBWY.Client.ViewModels.PackTask
});
}
}
if (TaskState == Models.TaskState.)
{
PageSize = 20;
WaitTransportList = new ObservableCollection<WareWaitTransport>();
var datas = sealBoxService.GetWareWaitTransportList(SelectWareType, PageSize, PageIndex,globalContext.User.Shop.ShopId.ToString());
if (datas != null && datas.Data != null && datas.Success)
{
var dataModel = datas.Data;
OrderCount = dataModel.TotalCount;
WareWaitTransports = dataModel.WareWaitTransports;
foreach (var item in dataModel.WareWaitTransports)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitTransportList.Add(item);
}));
}
var sealboxTasks = WaitTransportList.Where(p => p.TransportOverTime != null).ToList();
if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.)
{
waitTransportOverTimeThread = new Thread(() =>
{
IsStartThread = true;
while (IsStartThread)
{
App.Current.Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var item in sealboxTasks)
{
var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
{
item.IsWaitTransportOverTime = false;
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);
}
else
{
item.IsWaitTransportOverTime = true;
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);
}
}
}));
Thread.Sleep(1000);
}
});
//任务倒计时数据
waitTransportOverTimeThread.IsBackground = true;
waitTransportOverTimeThread.Start();
}
}
else
{
if (datas != null) System.Windows.MessageBox.Show(datas.Msg);
}
Task.Factory.StartNew(() =>
{
IsLoadWaitTransportCount();
});
IsLoading = false;
}
}
}
GlobalContext globalContext;
private void IsLoadWaitTransportCount()
{
var res = sealBoxService.GetWareTransportCounts(globalContext.User.Shop.ShopId.ToString());
if (res != null && res.Success && res.Data != null)
{
App.Current.Dispatcher.Invoke(new Action(() =>
{
WaitTransportCloudWareCount = res.Data.WaitTransportCloudWareCount;
WaitTransportJuShuiTanCount = res.Data.WaitTransportJuShuiTanCount;
WaitTransportStoreWareCount = res.Data.WaitTransportStoreWareCount;
WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount;
}));
}
}
private void IsLoadFallWareCount()
{
var res = sealBoxService.GetFallWareConfigureCounts(globalContext.User.Shop.ShopId.ToString());
@ -1318,12 +1461,5 @@ namespace BBWY.Client.ViewModels.PackTask
}
}
}

2
BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs

@ -2050,7 +2050,7 @@ namespace BBWY.Client.ViewModels.PackTask
private void IsLoadWaitTransportCount()
{
var res = sealBoxService.GetWareTransportCounts();
var res = sealBoxService.GetWareTransportCounts(null);
if (res != null && res.Success && res.Data != null)
{
App.Current.Dispatcher.Invoke(new Action(() =>

27
BBWY.Client/ViewModels/Setting/ShopSettingViewModel.cs

@ -27,6 +27,11 @@ namespace BBWY.Client.ViewModels
private string siNanDingDingWebHook;
private string siNanDingDingKey;
private string qiKuDingDingWebHook;
private string qiKuDingDingKey;
private SiNanPolicyLevel selectedSiNanPolicyLevel;
private Platform purchasePlatform;
@ -49,6 +54,12 @@ namespace BBWY.Client.ViewModels
public string DingDingWebHook { get => dingDingWebHook; set { Set(ref dingDingWebHook, value); } }
public string DingDingKey { get => dingDingKey; set { Set(ref dingDingKey, value); } }
public string QiKuDingDingWebHook { get => qiKuDingDingWebHook; set { Set(ref qiKuDingDingWebHook, value); } }
public string QiKuDingDingKey { get => qiKuDingDingKey; set { Set(ref qiKuDingDingKey, value); } }
public KVModel SelectedSkuSafeTurnoverDay { get => selectedSkuSafeTurnoverDay; set { Set(ref selectedSkuSafeTurnoverDay, value); } }
public string SiNanDingDingWebHook { get => siNanDingDingWebHook; set { Set(ref siNanDingDingWebHook, value); } }
@ -77,6 +88,12 @@ namespace BBWY.Client.ViewModels
SetPanelIndexCommand = new RelayCommand<int>(i =>
{
PanelIndex = i;
if (i==3)//获取齐库钉钉配置
{
}
});
SafeDayList = new List<KVModel>()
{
@ -127,6 +144,8 @@ namespace BBWY.Client.ViewModels
SiNanDingDingKey = globalContext.User.Shop.SiNanDingDingKey;
SiNanDingDingWebHook = globalContext.User.Shop.SiNanDingDingWebHook;
QiKuDingDingWebHook=globalContext.User.Shop.QiKuDingDingWebHook;
QiKuDingDingKey = globalContext.User.Shop.QiKuDingDingKey;
PurchasePlatform = Platform.;
}
@ -180,7 +199,10 @@ namespace BBWY.Client.ViewModels
int.Parse(SelectedSkuSafeTurnoverDay.Value),
SiNanDingDingWebHook,
SiNanDingDingKey,
(int)SelectedSiNanPolicyLevel)).ContinueWith(r =>
(int)SelectedSiNanPolicyLevel,
QiKuDingDingWebHook,
QiKuDingDingKey
)).ContinueWith(r =>
{
IsLoading = false;
var response = r.Result;
@ -199,6 +221,9 @@ namespace BBWY.Client.ViewModels
globalContext.User.Shop.SiNanDingDingKey = this.SiNanDingDingKey;
globalContext.User.Shop.SiNanDingDingWebHook = this.SiNanDingDingWebHook;
globalContext.User.Shop.QiKuDingDingWebHook = this.QiKuDingDingWebHook;
globalContext.User.Shop.QiKuDingDingKey = this.QiKuDingDingKey;
globalContext.User.Shop.SiNanPolicyLevel = (int)this.SelectedSiNanPolicyLevel;
});
}

23
BBWY.Client/Views/PackTask/TaskList.xaml

@ -8,6 +8,7 @@
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sealbox="clr-namespace:BBWY.Client.Views.SealBox"
xmlns:tran="clr-namespace:BBWY.Client.Views.WaitTransport"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
@ -65,8 +66,8 @@
<Grid Margin="5,5 5 5">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="50"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待出库:0:40}"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:0:50}"/>
<RowDefinition Height="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待转运:0:40}"/>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
<!---->
@ -107,10 +108,12 @@
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待落仓}" Content="待落仓" Tag="{Binding WaitFallWareCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待落仓:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待出库}" Content="待完结" Tag="{Binding WaitOutbound,Mode=TwoWay}"
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待转运}" Content="待转运" Tag="{Binding WaitTransportCount,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:True:False}"
/>
<!--<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待出库}" Content="待完结" Tag="{Binding WaitOutbound,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:True:False}"
/>
/>-->
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已完成}" Content="已完成"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已完成:True:False}"
@ -128,7 +131,9 @@
</StackPanel>
<Grid Background="{StaticResource Border.Background}" Grid.Row="1" HorizontalAlignment="Stretch" Panel.ZIndex="999" Margin="0,5,0,0" >
<Grid Background="{StaticResource Border.Background}" Grid.Row="1" HorizontalAlignment="Stretch" Panel.ZIndex="999" Margin="0,5,0,0"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:Collapsed:Visible}"
>
<StackPanel Orientation="Horizontal" Height="30" >
<StackPanel.Resources>
<Style TargetType="DatePickerTextBox">
@ -171,7 +176,7 @@
<Button Content="发布任务" Height="35" Width="120" Margin="0 0 0 0" HorizontalAlignment="Left"
Command="{Binding CreateTaskCommand}" Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓:Collapsed:Visible}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待转运:Collapsed:Visible}"
/>
</Grid>
<Border Grid.Row="3" Margin="0,5,0,0" BorderBrush="{StaticResource Border.Brush}" BorderThickness="0,1,0,0"
@ -184,7 +189,7 @@
<Grid Grid.Row="3" Margin="0,5,0,0">
<local:TaskListControl x:Name="listbox_task"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包装|待出库|待排单|商家自取:Collapsed:Visible}"
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓|待验收|待包装|待转运|待排单|商家自取:Collapsed:Visible}"
/>
<sealbox:ShopSealBoxListControl
Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待封箱|待落仓:Visible:Collapsed}"
@ -195,7 +200,7 @@
<local:ShopWaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待排单:Visible:Collapsed}" />
<local:ShopWaitPackageControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待包装:Visible:Collapsed}" />
<local:ShopWaitCompletedControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:Visible:Collapsed}" />
<tran:TeamWaitTransportListControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:Visible:Collapsed}" />
<store:ShopStorePickSelfControl Visibility="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=商家自取:Visible:Collapsed}" />
</Grid>

4
BBWY.Client/Views/PackTask/WareHouseList.xaml

@ -119,9 +119,9 @@
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待转运:True:False}"
/>
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待出库}" Content="待完结" Tag="{Binding WaitOutbound,Mode=TwoWay}"
<!--<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.待出库}" Content="待完结" Tag="{Binding WaitOutbound,Mode=TwoWay}"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待出库:True:False}"
/>
/>-->
<RadioButton Height="35" Width="126" VerticalAlignment="Center" Command="{Binding SetTaskStateCommand}" CommandParameter="{x:Static cmodel:TaskState.已完成}" Content="已完成"
IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=已完成:True:False}"

32
BBWY.Client/Views/Setting/ShopSetting.xaml

@ -16,6 +16,7 @@
<sys:Int32 x:Key="p0">0</sys:Int32>
<sys:Int32 x:Key="p1">1</sys:Int32>
<sys:Int32 x:Key="p2">2</sys:Int32>
<sys:Int32 x:Key="p3">3</sys:Int32>
<ObjectDataProvider x:Key="PlatformProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:Platform"/>
@ -86,6 +87,9 @@
<c:BButton Content="司南" Width="100" Command="{Binding SetPanelIndexCommand}" CommandParameter="{StaticResource p2}"
Background="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=2:#8080FF:#F2F2F2}"
Foreground="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=2:White:#4A4A4A}"/>
<c:BButton Content="齐库" Width="100" Command="{Binding SetPanelIndexCommand}" CommandParameter="{StaticResource p3}"
Background="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=3:#8080FF:#F2F2F2}"
Foreground="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=3:White:#4A4A4A}"/>
</StackPanel>
<StackPanel Grid.Row="2" Margin="20,0" Visibility="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=0:Visible:Collapsed}">
@ -370,6 +374,34 @@
</Grid>
</Grid>
<Grid Grid.Row="2" Margin="20,0" Visibility="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=3:Visible:Collapsed}">
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="通知设置" Style="{StaticResource textblockPropertyStyle}"/>
<TextBlock Text="密钥" Style="{StaticResource textblockPropertyStyle}" Grid.Row="1"/>
<c:BTextBox Grid.Column="1" Style="{StaticResource textboxValueStyle}" Grid.Row="1" Width="500"
Text="{Binding QiKuDingDingKey,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="WebHook" Style="{StaticResource textblockPropertyStyle}" Grid.Row="2"/>
<c:BTextBox Grid.Column="1" Style="{StaticResource textboxValueStyle}" Grid.Row="2" Width="500"
Text="{Binding QiKuDingDingWebHook,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<c:BButton Content="保存" Grid.Row="3" Width="80" HorizontalAlignment="Left"
Command="{Binding SaveCommand}" Margin="20,0,0,0"/>
</Grid>

348
BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml

@ -0,0 +1,348 @@
<UserControl x:Class="BBWY.Client.Views.WaitTransport.TeamWaitTransportControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.WaitTransport"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition />
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0"
Background="#F2F2F2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<!--<TextBlock Text="封箱数量" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>-->
<TextBlock Text="任务时间" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text=" " Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="操作" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<!--<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}"/>-->
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>-->
<!--<Border Height="1" VerticalAlignment="Top" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="6"/>-->
</Grid>
</Border>
<ListBox x:Name="listbox_order"
Grid.Row="7"
ItemsSource="{Binding WaitTransportList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0"
Foreground="{StaticResource Text.Color}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_order,Converter={StaticResource widthConverter},ConverterParameter=-0}"
>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="#F2F2F2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0">
<TextBlock VerticalAlignment="Center" Text="封箱ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding SealBoxId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SealBoxId}"
Margin=" 5,0,7,0"/>
<StackPanel Orientation="Horizontal" Grid.Column="1">
<TextBlock VerticalAlignment="Center" Text="仓库:" Margin="16,0,0,0" />
<c:BButton Content="{Binding WareName}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding WareName}"
Margin=" 5,0,7,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Column="3">
<TextBlock VerticalAlignment="Center" Text="对接人:" Margin="16,0,0,0" />
<TextBlock VerticalAlignment="Center" Text="{Binding AcceptUserNames}" Margin="5,0,0,0" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Column="3" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="4"
Visibility="{Binding WaitTransportRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
</StackPanel>
</StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="6" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1" Background="Transparent"
Command="{Binding DataContext.LoadSealBoxSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
</StackPanel>
<c:BButton Grid.Column="0" Grid.ColumnSpan="6" HorizontalAlignment="Stretch" BorderThickness="0" Panel.ZIndex="-1" Background="Transparent"
Command="{Binding DataContext.LoadSealBoxSkuDataCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
/>
<Grid Grid.Column="5" Panel.ZIndex="-2">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding WaitTransportSkus,Converter={StaticResource objConverter},ConverterParameter=#null:∧:∨}" FontWeight="Bold"
Foreground="{StaticResource Text.Link.Color}" FontSize="18"
/>
</Grid>
</Grid>
<Grid Grid.Row="1" Visibility="{Binding IsHideSkuList,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition MinWidth="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="listbox_orerSku" ItemsSource="{Binding WaitTransportSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_orerSku}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--{Binding Logo}-->
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80"
VerticalAlignment="Top" Margin="11,10,0,10"
Cursor="Hand">
<b:Interaction.Triggers>
<b:EventTrigger EventName="PreviewMouseLeftButtonDown">
<b:InvokeCommandAction Command="{Binding DataContext.OpenSkuDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}">
<b:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource mptConverter}">
<Binding Path="SkuId"/>
</MultiBinding>
</b:InvokeCommandAction.CommandParameter>
</b:InvokeCommandAction>
</b:EventTrigger>
</b:Interaction.Triggers>
</c:BAsyncImage>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="8,15,0,10">
<StackPanel Orientation="Horizontal" Margin="0 0 0 13">
<TextBlock Text="SKU:" Style="{StaticResource middleTextBlock}" />
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,0"/>
</StackPanel>
<TextBlock Foreground="{StaticResource Text.Gray}" TextTrimming="CharacterEllipsis">
<TextBlock.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<TextBlock Text="{Binding SkuTitle,Mode=TwoWay}"/>
</ToolTip>
</TextBlock.ToolTip>
<Run Text="SKU名称:"/>
<Run Text="{Binding SkuTitle}"/>
</TextBlock>
<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,13,0 0">
<Run Text="品名:"/>
<Run Text="{Binding BrandName}"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Column="2" Margin="20,15,0,10">
<!--<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="货号:" />
</TextBlock>
<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>
</StackPanel>-->
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="发布日期:" />
</TextBlock>
<TextBlock Text="{Binding CreateTime,StringFormat=yyyy-MM-dd }" VerticalAlignment="Center" Margin="5,0,0,0"/>
<!--<c:BButton Content="{Binding ProductNo}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ProductNo}"
Margin=" 5,0,0,0"/>-->
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="0,11,0,5">
<TextBlock Foreground="{StaticResource Text.Gray}">
<Run Text="任务ID:" />
</TextBlock>
<c:BButton Content="{Binding TaskId}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Top"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"
Margin=" 5,0,0,0"/>
</StackPanel>
<!--<TextBlock Foreground="{StaticResource Text.Gray}" TextWrapping="Wrap" Margin="0,10,0 0">
<Run Text="任务状态:"/>
<Run Foreground="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收|待包装:Red:black}" Text="{Binding TaskState}"/>
</TextBlock>-->
</StackPanel>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0"/>
<ListBox x:Name="listbox_skuCount" ItemsSource="{Binding WaitTransportSkus}"
Style="{StaticResource NoScrollViewListBoxStyle}" Grid.Column="1"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MinHeight="100" Width="{Binding ActualWidth,ElementName=listbox_skuCount}">
<Grid>
<TextBlock x:Name="txt_storeName"
Text="{Binding WareHourseSkuCount}"
TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center"
/>
</Grid>
<Border Grid.Row="0" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Column="2" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}" Text="{Binding SealBoxCount}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="3" >
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding WaitTransportRemainTime,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}"
>
<StackPanel Margin="10,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=false:Visible:Collapsed}"
>
<TextBlock Text="剩余: " />
<TextBlock Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="10,5" VerticalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding IsWaitTransportOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Orientation="Horizontal"
>
<TextBlock Foreground="Red" Text="超时: "/>
<TextBlock Foreground="Red" Text="{Binding WaitTransportRemainTime}"/>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" Margin="0 0 0 0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" Margin="0 0 2 0"/>
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>-->
<!--<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="9"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="10"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="11"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="12"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="13"/>-->
</Grid>
<Border Grid.Row="1" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</UserControl>

26
BBWY.Client/Views/WaitTransport/TeamWaitTransportControl.xaml.cs

@ -0,0 +1,26 @@
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.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.WaitTransport
{
/// <summary>
/// TeamWaitTransportControl.xaml 的交互逻辑
/// </summary>
public partial class TeamWaitTransportControl : UserControl
{
public TeamWaitTransportControl()
{
InitializeComponent();
}
}
}

94
BBWY.Client/Views/WaitTransport/TeamWaitTransportListControl.xaml

@ -0,0 +1,94 @@
<UserControl x:Class="BBWY.Client.Views.WaitTransport.TeamWaitTransportListControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:BBWY.Client.Views.WaitTransport"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:ctr="clr-namespace:BBWY.Client.Converters" Background="White"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:packtask ="clr-namespace:BBWY.Client.Views.PackTask"
xmlns:sealbox="clr-namespace:BBWY.Client.Views.SealBox"
xmlns:fallware="clr-namespace:BBWY.Client.Views.FallWare"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
DataContext="{Binding TaskList,Source={StaticResource Locator}}"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
d:DesignHeight="450" d:DesignWidth="1500">
<UserControl.Resources>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ctr:OrderStorageTypeOptionConverter x:Key="ostConverter"/>
<ctr:ProfitRatioConverter x:Key="profitRatioConverter"/>
<ctr:WaybillNoConverter x:Key="waybillConverter"/>
<ctr:MultiParameterTransferConverter x:Key="mptConverter"/>
<ctr:SaleGrossProfitConverter x:Key="sgpcConverter"/>
<Style TargetType="RadioButton">
<Setter Property="IsChecked" Value="False" />
<Setter Property="Background" Value="#8080FF" />
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Content" Value="{Binding ElementName=txt,Path=Text}"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="#F2F2F2" >
<Rectangle x:Name="_Rect" Fill="#F2F2F2" HorizontalAlignment="Center" Height="35" VerticalAlignment="Center" Width="{TemplateBinding Width}" RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Height="35">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Content}" />
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Tag}" Foreground="{StaticResource Text.Pink}" Margin="5 0 0 0" />
</StackPanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="_Rect" Property="Fill" Value="#8080FF" />
<Setter Property="Foreground" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<RadioButton Content="京仓" Height="35" Width="130" Tag="{Binding WaitTransportJDWareCount,Mode=TwoWay}" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter},ConverterParameter=京仓:True:False}"
Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.京仓}"
/>
<RadioButton Content="云仓" Height="35" Width="130" Tag="{Binding WaitTransportCloudWareCount,Mode=TwoWay}" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter},ConverterParameter=云仓:True:False}"
Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.云仓}"
/>
<RadioButton Content="聚水潭" Height="35" Width="130" Tag="{Binding WaitTransportJuShuiTanCount,Mode=TwoWay}" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter},ConverterParameter=聚水潭:True:False}"
Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.聚水潭}"
/>
<RadioButton Content="商家仓" Height="35" Width="130" Tag="{Binding WaitTransportStoreWareCount,Mode=TwoWay}" IsChecked="{Binding SelectWareType,Converter={StaticResource objConverter},ConverterParameter=商家仓:True:False}"
Command="{Binding SetWareTypeCommand}" CommandParameter="{x:Static cmodel:WareType.商家仓}"
/>
</StackPanel>
<Grid Grid.Row="1"
>
<local:TeamWaitTransportControl/>
</Grid>
</Grid>
</UserControl>

26
BBWY.Client/Views/WaitTransport/TeamWaitTransportListControl.xaml.cs

@ -0,0 +1,26 @@
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.Navigation;
using System.Windows.Shapes;
namespace BBWY.Client.Views.WaitTransport
{
/// <summary>
/// TeamWaitTransportListControl.xaml 的交互逻辑
/// </summary>
public partial class TeamWaitTransportListControl : UserControl
{
public TeamWaitTransportListControl()
{
InitializeComponent();
}
}
}

12
BBWY.Server.Business/Vender/VenderBusiness.cs

@ -154,6 +154,8 @@ namespace BBWY.Server.Business
.Set(s => s.SiNanDingDingKey, shopSettingRequest.SiNanDingDingKey)
.Set(s => s.SiNanDingDingWebHook, shopSettingRequest.SiNanDingDingWebHook)
.Set(s => s.SiNanPolicyLevel, shopSettingRequest.SiNanPolicyLevel)
.Set(s => s.QiKuDingDingKey, shopSettingRequest.QiKuDingDingKey)
.Set(s => s.QiKuDingDingWebHook, shopSettingRequest.QiKuDingDingWebHook)
.ExecuteAffrows();
});
}
@ -185,6 +187,8 @@ namespace BBWY.Server.Business
.Set(s => s.SiNanDingDingKey, shopSettingRequest.SiNanDingDingKey)
.Set(s => s.SiNanDingDingWebHook, shopSettingRequest.SiNanDingDingWebHook)
.Set(s => s.SiNanPolicyLevel, shopSettingRequest.SiNanPolicyLevel)
.Set(s => s.QiKuDingDingKey, shopSettingRequest.QiKuDingDingKey)
.Set(s => s.QiKuDingDingWebHook, shopSettingRequest.QiKuDingDingWebHook)
.ExecuteAffrows();
});
}
@ -221,7 +225,9 @@ namespace BBWY.Server.Business
s.SiNanDingDingWebHook,
s.SiNanPolicyLevel,
s.PJZSDingDingWebHook,
s.PJZSDingDingKey
s.PJZSDingDingKey,
s.QiKuDingDingKey,
s.QiKuDingDingWebHook
}).GroupBy(x => x.DepartmentId);
if (relationGroups.Count() == 0)
return null;
@ -256,7 +262,9 @@ namespace BBWY.Server.Business
SiNanDingDingWebHook = x.SiNanDingDingWebHook,
SiNanPolicyLevel = x.SiNanPolicyLevel,
PJZSDingDingKey = x.PJZSDingDingKey,
PJZSDingDingWebHook = x.PJZSDingDingWebHook
PJZSDingDingWebHook = x.PJZSDingDingWebHook,
QiKuDingDingKey=x.QiKuDingDingKey,
QiKuDingDingWebHook=x.QiKuDingDingWebHook
}).ToList()
};
departmentList.Add(department);

14
BBWY.Server.Model/Db/Mds/Shops.cs

@ -170,6 +170,20 @@ namespace BBWY.Server.Model.Db.Mds
/// </summary>
[Column(StringLength = 100)]
public string PJZSDingDingKey { get; set; }
/// <summary>
/// 齐库钉钉WebHook地址
/// </summary>
[Column(StringLength = 255)]
public string QiKuDingDingWebHook { get; set; }
/// <summary>
/// 齐库钉钉密钥
/// </summary>
[Column(StringLength = 100)]
public string QiKuDingDingKey { get; set; }
}
}

12
BBWY.Server.Model/Dto/Request/Vender/ShopSettingRequest.cs

@ -51,5 +51,17 @@ namespace BBWY.Server.Model.Dto
/// 司南钉钉密钥
/// </summary>
public string SiNanDingDingKey { get; set; }
/// <summary>
/// 齐库钉钉WebHook地址
/// </summary>
public string QiKuDingDingWebHook { get; set; }
/// <summary>
/// 齐库钉钉密钥
/// </summary>
public string QiKuDingDingKey { get; set; }
}
}

13
BBWY.Server.Model/Dto/Response/Vender/ShopResponse.cs

@ -1,4 +1,5 @@
using System;
using FreeSql.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Text;
@ -81,6 +82,16 @@ namespace BBWY.Server.Model.Dto
/// PJZS钉钉密钥
/// </summary>
public string PJZSDingDingKey { get; set; }
/// <summary>
/// 齐库钉钉WebHook地址
/// </summary>
public string QiKuDingDingWebHook { get; set; }
/// <summary>
/// 齐库钉钉密钥
/// </summary>
public string QiKuDingDingKey { get; set; }
}
public class PurchaseAccountResponse

Loading…
Cancel
Save