Browse Source

添加超时赔付

AddValidOverTime
506583276@qq.com 1 year ago
parent
commit
76f36566db
  1. 16
      BBWY.Client/APIServices/QiKu/PackTaskService.cs
  2. 8
      BBWY.Client/APIServices/QiKu/PackUserService.cs
  3. 4
      BBWY.Client/APIServices/QiKu/PackagingTaskService.cs
  4. 2
      BBWY.Client/App.xaml.cs
  5. 17
      BBWY.Client/GlobalContext.cs
  6. 11
      BBWY.Client/Models/APIModel/Response/PackTask/FeesItemResponse.cs
  7. 20
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs
  8. 22
      BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs
  9. 16
      BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs
  10. 19
      BBWY.Client/Models/PackTask/PackTaskModel.cs
  11. 11
      BBWY.Client/Models/PackTask/ShopTotal.cs
  12. 18
      BBWY.Client/Models/PackUser/PackagingStile.cs
  13. 14
      BBWY.Client/Models/PackUser/PackerTaskModel.cs
  14. 8
      BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs
  15. 49
      BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
  16. 53
      BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
  17. 15
      BBWY.Client/ViewModels/PackerTask/PackerSalaryViewModel.cs
  18. 39
      BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs
  19. 4
      BBWY.Client/ViewModels/TotalPackTask/PackUserSalaryViewModel.cs
  20. 8
      BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs
  21. 53
      BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs
  22. 2
      BBWY.Client/Views/PackTask/PackDetailWindow.xaml
  23. 51
      BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml
  24. 51
      BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml
  25. 34
      BBWY.Client/Views/PackerTask/PackerPackCompletedControl.xaml
  26. 54
      BBWY.Client/Views/PackerTask/PackerSalaryControl.xaml
  27. 36
      BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml
  28. 2
      BBWY.Client/Views/TotalPackTask/PackUserSalaryControl.xaml.cs

16
BBWY.Client/APIServices/QiKu/PackTaskService.cs

@ -25,7 +25,7 @@ namespace BBWY.Client.APIServices
public ApiResponse<SearchTaskListResponse> SearchTaskList(string skuId = null, string taskId = null
public ApiResponse<SearchTaskListResponse> SearchTaskListV2(string skuId = null, string taskId = null
, string spuId = null, string orderSn = null,
TaskState? TaskState = null,
int pageIndex = 1,
@ -35,7 +35,7 @@ namespace BBWY.Client.APIServices
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskListV2", new
{
orderSn,
@ -49,7 +49,7 @@ namespace BBWY.Client.APIServices
}, null, HttpMethod.Post);
}
public ApiResponse<SearchTaskListResponse> SearchTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchTaskListResponse> SearchTaskListV2(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
string spuId = null, string orderSn = null,
TaskState? TaskState = null,
string ShopName = null,
@ -61,7 +61,7 @@ namespace BBWY.Client.APIServices
)
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskListV2", new
{
SkuTitle,
SpuTitle,
@ -212,7 +212,7 @@ namespace BBWY.Client.APIServices
//}
public ApiResponse<ShopTotalResponse> ShopTotalV2(string skuId,
public ApiResponse<ShopTotalResponse> ShopTotalV3(string skuId,
string taskId,
string shopId,
DateTime? startTime,
@ -223,7 +223,7 @@ namespace BBWY.Client.APIServices
int pageSize = 10
)
{
return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotalV2", new
return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotalV3", new
{
shopId,
skuId,
@ -273,10 +273,10 @@ namespace BBWY.Client.APIServices
/// </summary>
/// <param name="orderId"></param>
/// <returns></returns>
public ApiResponse<TotalPackUserSalaryResponse> TotalPackUserSalary(string PackUserName = null, DateTime? StartTime = null, DateTime? EndTime = null, int PageIndex = 1
public ApiResponse<TotalPackUserSalaryResponse> TotalPackUserSalaryV1(string PackUserName = null, DateTime? StartTime = null, DateTime? EndTime = null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<TotalPackUserSalaryResponse>(globalContext.QKApiHost, "api/PackTask/TotalPackUserSalary", new
return SendRequest<TotalPackUserSalaryResponse>(globalContext.QKApiHost, "api/PackTask/TotalPackUserSalaryV1", new
{
PackUserName,
StartTime,

8
BBWY.Client/APIServices/QiKu/PackUserService.cs

@ -18,7 +18,7 @@ namespace BBWY.Client.APIServices.QiKu
}
public ApiResponse<SearchPackerTaskResponse> SearchPackerTask(PackTaskState? PackTaskState, string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchPackerTaskResponse> SearchPackerTaskV2(PackTaskState? PackTaskState, string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
string spuId = null, string orderSn = null,
string ShopName = null,
@ -29,7 +29,7 @@ namespace BBWY.Client.APIServices.QiKu
PackagingTaskExceptionState? PackagingTaskExceptionState =null
)
{
return SendRequest<SearchPackerTaskResponse>(globalContext.QKApiHost, $"api/PackUser/SearchPackerTask",
return SendRequest<SearchPackerTaskResponse>(globalContext.QKApiHost, $"api/PackUser/SearchPackerTaskV2",
new
{
PackTaskState,
@ -64,10 +64,10 @@ namespace BBWY.Client.APIServices.QiKu
}
public ApiResponse<SearchPackerSalaryResponse> SearchPackerSalary(DateTime? StartTime, DateTime? EndTime, int pageIndex = 1,
public ApiResponse<SearchPackerSalaryResponse> SearchPackerSalaryV2(DateTime? StartTime, DateTime? EndTime, int pageIndex = 1,
int pageSize = 10)
{
return SendRequest<SearchPackerSalaryResponse>(globalContext.QKApiHost, $"api/PackUser/SearchPackerSalary",
return SendRequest<SearchPackerSalaryResponse>(globalContext.QKApiHost, $"api/PackUser/SearchPackerSalaryV2",
new
{
UserId = globalContext.User.Id.ToString(),

4
BBWY.Client/APIServices/QiKu/PackagingTaskService.cs

@ -16,7 +16,7 @@ namespace BBWY.Client.APIServices.QiKu
}
public ApiResponse<SearchPackagingTaskListResponse> SearchPackagingTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
public ApiResponse<SearchPackagingTaskListResponse> SearchPackagingTaskListV2(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
string spuId = null, string orderSn = null,
PackagingTaskExceptionState? PackagingTaskExceptionState = null,
string ShopName = null,
@ -29,7 +29,7 @@ namespace BBWY.Client.APIServices.QiKu
)
{
return SendRequest<SearchPackagingTaskListResponse>(globalContext.QKApiHost, "api/PackagingTask/SearchPackagingTaskList", new
return SendRequest<SearchPackagingTaskListResponse>(globalContext.QKApiHost, "api/PackagingTask/SearchPackagingTaskListV2", new
{
SkuTitle,
SpuTitle,

2
BBWY.Client/App.xaml.cs

@ -75,7 +75,7 @@ namespace BBWY.Client
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U";
//齐越季夏
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY";
//userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY";
//店铺自打包
// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNzE5Nzc5OTU4MTYwNjI1NjY0IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4IiwiZXhwIjoxNzMxNzI1NDA2fQ.VV6k8nDqTtQOY6_ma6QcX6geMU_kaswl16BGXF89so8";

17
BBWY.Client/GlobalContext.cs

@ -1,4 +1,5 @@
using BBWY.Client.Models;
using BBWY.Client.Models.PackUser;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Runtime.InteropServices;
@ -19,13 +20,13 @@ namespace BBWY.Client
private string title;
public string Title { get=> title; set { Set(ref title, value); } }
public string Title { get => title; set { Set(ref title, value); } }
private User user;
public User User { get => user; set { Set(ref user, value); } }
@ -44,6 +45,18 @@ namespace BBWY.Client
/// </summary>
public List<string> ExpressNameList { get; set; }
/// <summary>
/// 打包赔付系数列表
/// </summary>
public List<PackagingStile> PackagingStileList { get; set; } = new List<PackagingStile>() {
new PackagingStile(){ MinNumber=0,MaxNumber=4,DisCount=0.1M},// 0<x<=4
new PackagingStile(){ MinNumber=4,MaxNumber=24,DisCount=0.15M},// 4<x<=8
new PackagingStile(){ MinNumber=24,MaxNumber=48,DisCount=0.2M},
new PackagingStile(){ MinNumber=48,MaxNumber=72,DisCount=0.3M},
new PackagingStile(){ MinNumber=72,MaxNumber=2147483647,DisCount=0.5M},
};
/// <summary>
/// JD客户端
/// </summary>

11
BBWY.Client/Models/APIModel/Response/PackTask/FeesItemResponse.cs

@ -139,6 +139,17 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask
/// 工序套餐任务量
/// </summary>
public int ProcessComboTaskCount { get; set; }
/// <summary>
/// 赔付费用
/// </summary>
public decimal? CompensateFees { get; set; }
/// <summary>
/// 实际打包费用
/// </summary>
public decimal? ActualPackFees { get; set; }
}
public class PackItemResponse

20
BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs

@ -65,6 +65,16 @@ namespace BBWY.Client.Models.APIModel
/// 当日总日新
/// </summary>
public decimal DaySalary { get; set; }
/// <summary>
/// 超时赔付金额
/// </summary>
public decimal DayOverTimeCompensateFees { get; set; }
/// <summary>
/// 实际收益
/// </summary>
public decimal DayActualSalary { get; set; }
/// <summary>
/// 当日任务量
/// </summary>
@ -95,5 +105,15 @@ namespace BBWY.Client.Models.APIModel
/// 任务件数
/// </summary>
public int TaskSkuItemCount { get; set; }
/// <summary>
/// 超时赔付金额
/// </summary>
public decimal OverTimeCompensateFees { get; set; }
/// <summary>
/// 实际收益
/// </summary>
public decimal ActualSalary { get; set; }
}
}

22
BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs

@ -179,6 +179,28 @@ namespace BBWY.Client.Models.APIModel
/// </summary>
public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; }
/// <summary>
/// 包装是否超时
/// </summary>
public bool IsPackOverTime { get; set; }
/// <summary>
/// 实际收益
/// </summary>
public decimal ActualIncome { get; set; }
/// <summary>
/// 赔付金额
/// </summary>
public string CompensationFee { get; set; }
/// <summary>
/// 打包任务耗时时长
/// </summary>
public string PackTaskDurationTime { get; set; }
}
public class MarkMessageModel

16
BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs

@ -249,5 +249,21 @@ namespace BBWY.Client.Models.APIModel
public string AbortRemark { get; set; }
public string OrderId { get; set; }
/// <summary>
/// 实际收益
/// </summary>
public decimal ActualIncome { get; set; }
/// <summary>
/// 赔付金额
/// </summary>
public string CompensationFee { get; set; }
/// <summary>
/// 是否打包超时
/// </summary>
public bool IsPackOverTime { get; set; }
}
}

19
BBWY.Client/Models/PackTask/PackTaskModel.cs

@ -560,10 +560,12 @@ namespace BBWY.Client.Models
public decimal ConsumableFees { get; set; }
private decimal packTotalFees;
/// <summary>
/// 总计
/// </summary>
public decimal PackTotalFees { get; set; }
public decimal PackTotalFees { get => packTotalFees; set { Set(ref packTotalFees, value); } }
@ -602,6 +604,21 @@ namespace BBWY.Client.Models
/// </summary>
public string PackRemainTime { get => packRemainTime; set { Set(ref packRemainTime, value); } }
private decimal actualIncome;
/// <summary>
/// 预估收益
/// </summary>
public decimal ActualIncome { get => actualIncome; set { Set(ref actualIncome, value); } }
private string compensationFee;
/// <summary>
/// 赔付金额
/// </summary>
public string CompensationFee { get => compensationFee; set { Set(ref compensationFee, value); } }
/// <summary>
/// 打包完成时间(超时时间)
/// </summary>

11
BBWY.Client/Models/PackTask/ShopTotal.cs

@ -75,6 +75,17 @@ namespace BBWY.Client.Models.PackTask
/// 打包费用折扣价
/// </summary>
public decimal? PackDisCountFees { get; set; }
/// <summary>
/// 赔付费用
/// </summary>
public decimal? CompensateFees { get; set; }
/// <summary>
/// 实际打包费用
/// </summary>
public decimal? ActualPackFees { get; set; }
///// <summary>
///// 折扣类型
///// </summary>

18
BBWY.Client/Models/PackUser/PackagingStile.cs

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Client.Models.PackUser
{
/// <summary>
/// 打包超时赔付系数
/// </summary>
public class PackagingStile
{
public int MinNumber { get; set; }
public int MaxNumber { get; set; }
public decimal DisCount { get; set; }
}
}

14
BBWY.Client/Models/PackUser/PackerTaskModel.cs

@ -46,7 +46,19 @@ namespace BBWY.Client.Models.PackUser
private decimal actualIncome ;
/// <summary>
/// 实际收益
/// </summary>
public decimal ActualIncome { get => actualIncome; set { Set(ref actualIncome, value); } }
private string compensationFee;
/// <summary>
/// 赔付金额
/// </summary>
public string CompensationFee { get => compensationFee; set { Set(ref compensationFee, value); } }
}
}

8
BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs

@ -143,7 +143,7 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
var res = packTaskService.ShopTotalV3(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
SearchDepartment, 0, 0);//获取全部数据
if (res.Success)
{
@ -219,7 +219,7 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
var res = packTaskService.ShopTotalV3(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName,
SearchDepartment, PageIndex, PageSize);
if (res != null && res.Success)
{
@ -241,7 +241,9 @@ namespace BBWY.Client.ViewModels.PackTask
ConsumableList = shopTotal.ConsumableList,
ProcessComboPrice = shopTotal.ProcessComboPrice,
ProcessComboTaskCount = shopTotal.ProcessComboTaskCount,
DiscountFoctor = shopTotal.DiscountFactor
DiscountFoctor = shopTotal.DiscountFactor,
ActualPackFees=shopTotal.ActualPackFees,
CompensateFees=shopTotal.CompensateFees,
};
App.Current.Dispatcher.Invoke(() =>

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

@ -974,7 +974,7 @@ namespace BBWY.Client.ViewModels.PackTask
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.QualityCompletionOverTime.Value);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsQualityOverTime = false;
@ -1012,7 +1012,7 @@ namespace BBWY.Client.ViewModels.PackTask
//TimeSpan datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.QualityCompletionOverTime.Value);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsQualityOverTime = false;
@ -1072,7 +1072,7 @@ namespace BBWY.Client.ViewModels.PackTask
else if (TaskState == Models.TaskState.)
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packagingTaskService.SearchPackagingTaskList(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(),
var datas = packagingTaskService.SearchPackagingTaskListV2(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(),
pageIndex: PageIndex, pageSize: PageSize);
@ -1145,7 +1145,7 @@ namespace BBWY.Client.ViewModels.PackTask
//var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -1154,6 +1154,20 @@ namespace BBWY.Client.ViewModels.PackTask
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
//获取 datetime 的小时数 的绝对值
var hours = Math.Abs(datetime.TotalHours);
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
var discount = packagingStile?.DisCount ?? 0;
//赔付费用
var compensationFee = Math.Round(item.PackageFees * discount, 2);
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}";
//实际收益
item.ActualIncome = item.PackageFees - compensationFee;
item.PackTotalFees = item.ActualIncome + item.ConsumableFees;
}
}
@ -1184,7 +1198,7 @@ namespace BBWY.Client.ViewModels.PackTask
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.PackCompletionOverTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsPackOverTime = false;
@ -1192,6 +1206,20 @@ namespace BBWY.Client.ViewModels.PackTask
else
{
item.IsPackOverTime = true;
//获取 datetime 的小时数 的绝对值
var hours = Math.Abs(datetime.TotalHours);
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
var discount = packagingStile?.DisCount ?? 0;
//赔付费用
var compensationFee = Math.Round(item.PackageFees * discount, 2);
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}";
//实际收益
item.ActualIncome = item.PackageFees - compensationFee;
item.PackTotalFees = item.ActualIncome + item.ConsumableFees;
}
}
@ -1218,6 +1246,7 @@ namespace BBWY.Client.ViewModels.PackTask
});
item.ExpressOrderList = expressData.Data;
}));
@ -1239,7 +1268,7 @@ namespace BBWY.Client.ViewModels.PackTask
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState,
var datas = packTaskService.SearchTaskListV2(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState,
PageIndex, PageSize);
if (datas != null && datas.Data != null && datas.Success)
{
@ -1335,7 +1364,7 @@ namespace BBWY.Client.ViewModels.PackTask
//var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsScheduleOverTime = false;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -1488,7 +1517,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value);
//var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsSealBoxOverTime = false;
item.SealBoxRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
@ -1576,7 +1605,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
//var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SetPurchaseOrderOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsFallWareOverTime = false;
item.FallWareRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分";
@ -1740,7 +1769,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
// var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.TransportOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsWaitTransportOverTime = false;
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);

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

@ -2101,7 +2101,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
// var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.TransportOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsWaitTransportOverTime = false;
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -2191,7 +2191,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
// var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SetWaybillNoOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsSetWaybillNoOverTime = false;
item.SetWaybillNoRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -2269,7 +2269,7 @@ namespace BBWY.Client.ViewModels.PackTask
//var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsSealBoxOverTime = false;
item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -2436,7 +2436,7 @@ namespace BBWY.Client.ViewModels.PackTask
//else
// datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now);
//item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
//if (datetime.TotalMilliseconds > 0)
//if (datetime.TotalMilliseconds >= 0)
//{
// item.IsQualityOverTime = false;
@ -2449,7 +2449,7 @@ namespace BBWY.Client.ViewModels.PackTask
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.QualityCompletionOverTime.Value);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsQualityOverTime = false;
@ -2488,7 +2488,7 @@ namespace BBWY.Client.ViewModels.PackTask
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.QualityCompletionOverTime.Value);
//datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsQualityOverTime = false;
@ -2549,7 +2549,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packagingTaskService.SearchPackagingTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName,
var datas = packagingTaskService.SearchPackagingTaskListV2(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName,
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName);
if (datas != null && datas.Data != null && datas.Success)
@ -2594,6 +2594,8 @@ namespace BBWY.Client.ViewModels.PackTask
data.PackUser = string.Join("\r\n", item.PackUserName);
}
App.Current.Dispatcher.Invoke(new Action(() =>
{
PackTaskList.Add(data);
@ -2620,7 +2622,7 @@ namespace BBWY.Client.ViewModels.PackTask
//var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
@ -2629,6 +2631,21 @@ namespace BBWY.Client.ViewModels.PackTask
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
//获取 datetime 的小时数 的绝对值
var hours = Math.Abs(datetime.TotalHours);
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
var discount = packagingStile?.DisCount ?? 0;
//赔付费用
var compensationFee = Math.Round(item.PackageFees * discount, 2);
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}";
//实际收益
item.ActualIncome = item.PackageFees - compensationFee;
item.PackTotalFees = item.ActualIncome + item.ConsumableFees;
}
}
@ -2659,7 +2676,7 @@ namespace BBWY.Client.ViewModels.PackTask
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.PackCompletionOverTime.Value);
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsPackOverTime = false;
@ -2667,6 +2684,20 @@ namespace BBWY.Client.ViewModels.PackTask
else
{
item.IsPackOverTime = true;
//获取 datetime 的小时数 的绝对值
var hours = Math.Abs(datetime.TotalHours);
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
var discount = packagingStile?.DisCount ?? 0;
//赔付费用
var compensationFee = Math.Round(item.PackageFees * discount, 2);
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}";
//实际收益
item.ActualIncome = item.PackageFees - compensationFee;
item.PackTotalFees = item.ActualIncome + item.ConsumableFees;
}
}
@ -2719,7 +2750,7 @@ namespace BBWY.Client.ViewModels.PackTask
else
{
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName,
var datas = packTaskService.SearchTaskListV2(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName,
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName);
if (datas != null && datas.Data != null && datas.Success)
@ -2801,7 +2832,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
//var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value);
if (datetime.TotalMilliseconds > 0)
if (datetime.TotalMilliseconds >= 0)
{
item.IsScheduleOverTime = false;
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime);

15
BBWY.Client/ViewModels/PackerTask/PackerSalaryViewModel.cs

@ -56,6 +56,15 @@ namespace BBWY.Client.ViewModels.PackerTask
public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } }
//统计开始日期
public DateTime totalStartDate;
public DateTime TotalStartDate { get => totalStartDate; set { Set(ref totalStartDate, value); } }
//统计结束日期
public DateTime totalEndDate;
public DateTime TotalEndDate { get => totalEndDate; set { Set(ref totalEndDate, value); } }
public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } }
public int PageSize { get => pageSize; set { Set(ref pageSize, value); } }
@ -109,13 +118,15 @@ namespace BBWY.Client.ViewModels.PackerTask
IsLoading = true;
try
{
var res = packUserService.SearchPackerSalary(StartTime.Date, EndTime.Date, PageIndex, PageSize);
var res = packUserService.SearchPackerSalaryV2(StartTime.Date, EndTime.Date, PageIndex, PageSize);
if (res != null && res.Success)
{
OrderCount = res.Data.TotalCount;
TotalSalary = res.Data.TotalSalary;
TotalSkuItemCount = res.Data.TotalSkuItemCount;
TotalTaskCount = res.Data.TotalTaskCount;
TotalEndDate = EndTime.Date;
TotalStartDate = StartTime.Date;
App.Current.Dispatcher.Invoke(() =>
{
PackUserSalaryList = res.Data.PackerDaySalaries;
@ -169,7 +180,7 @@ namespace BBWY.Client.ViewModels.PackerTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.TotalPackUserSalary(SearchUserName, StartTime, EndTime, 0, 0);//获取全部数据
var res = packTaskService.TotalPackUserSalaryV1(SearchUserName, StartTime, EndTime, 0, 0);//获取全部数据
if (res.Success)
{
//string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注";

39
BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs

@ -644,7 +644,7 @@ namespace BBWY.Client.ViewModels.PackerTask
Task.Factory.StartNew(() =>
{
var res = packUserService.SearchPackerTask(PackTaskState: PackTaskState, WayBillNo: SearchWayBillNo, SourceExpressName: SearchExpressName,
var res = packUserService.SearchPackerTaskV2(PackTaskState: PackTaskState, WayBillNo: SearchWayBillNo, SourceExpressName: SearchExpressName,
departmentName: SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, SearchShopName, PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle,
PackagingTaskExceptionState
);
@ -663,16 +663,15 @@ namespace BBWY.Client.ViewModels.PackerTask
if (PackTaskState == Models.PackTaskState.)
{
if (item.PackCompletionOverTime < item.PackCompletionTime)//超时
{
data.IsPackOverTime = true;
data.PackRemainTime = OverTimeHelper.GetTimeString(item.PackCompletionTime.Value.Subtract(item.PackCompletionOverTime.Value));
data.PackRemainTime = OverTimeHelper.GetTimeString(PackTaskTimerHelper.AccountEffectiveRemainDuration(item.PackCompletionOverTime.Value, item.PackCompletionTime.Value));
}
else
{
data.IsPackOverTime = false;
data.PackRemainTime = OverTimeHelper.GetTimeString(item.PackCompletionTime.Value.Subtract(item.SetPackUserTaskTime.Value));
data.PackRemainTime = data.PackTaskDurationTime;// OverTimeHelper.GetTimeString(PackTaskTimerHelper.AccountEffectiveRemainDuration(item.SetPackUserTaskTime.Value, item.PackCompletionTime.Value));
}
}
@ -690,11 +689,6 @@ namespace BBWY.Client.ViewModels.PackerTask
if (PackTaskState == Models.PackTaskState.)
{
if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.)
{
var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState. && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList();
@ -710,16 +704,37 @@ namespace BBWY.Client.ViewModels.PackerTask
{
foreach (var item in packCompletedTasks)
{
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
if (datetime.TotalMilliseconds > 0)
var datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value);
if (datetime.TotalMilliseconds >= 0)
{
item.IsPackOverTime = false;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
//todo:超时赔付 包装超时赔付系数
}
else
{
item.IsPackOverTime = true;
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
//获取 datetime 的小时数 的绝对值
var hours = Math.Abs(datetime.TotalHours);
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
var discount = packagingStile?.DisCount ?? 0;
//赔付费用
var compensationFee = Math.Round( item.PackerFee * discount,2);
item.CompensationFee = $"{Math.Round(item.PackerFee, 2)}*{discount}={compensationFee}";
//实际收益
item.ActualIncome = item.PackerFee - compensationFee;
}
}

4
BBWY.Client/ViewModels/TotalPackTask/PackUserSalaryViewModel.cs

@ -92,7 +92,7 @@ namespace BBWY.Client.ViewModels.TotalPackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.TotalPackUserSalary(searchUserName, StartTime, EndTime, PageIndex, PageSize);
var res = packTaskService.TotalPackUserSalaryV1(searchUserName, StartTime, EndTime, PageIndex, PageSize);
if (res != null && res.Success)
{
OrderCount = res.Data.TotalCount;
@ -142,7 +142,7 @@ namespace BBWY.Client.ViewModels.TotalPackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.TotalPackUserSalary(SearchUserName, StartTime, EndTime, 0, 0);//获取全部数据
var res = packTaskService.TotalPackUserSalaryV1(SearchUserName, StartTime, EndTime, 0, 0);//获取全部数据
if (res.Success)
{
//string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注";

8
BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs

@ -129,7 +129,7 @@ namespace BBWY.Client.ViewModels.TotalPackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
var res = packTaskService.ShopTotalV3(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
null, 0, 0);//获取全部数据
if (res.Success)
{
@ -154,7 +154,7 @@ namespace BBWY.Client.ViewModels.TotalPackTask
Task.Factory.StartNew(() =>
{
IsLoading = true;
var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
var res = packTaskService.ShopTotalV3(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null,
null, PageIndex, PageSize);
if (res != null && res.Success)
{
@ -176,7 +176,9 @@ namespace BBWY.Client.ViewModels.TotalPackTask
ConsumableList = shopTotal.ConsumableList,
ProcessComboPrice = shopTotal.ProcessComboPrice,
ProcessComboTaskCount = shopTotal.ProcessComboTaskCount,
DiscountFoctor = shopTotal.DiscountFactor
DiscountFoctor = shopTotal.DiscountFactor,
ActualPackFees = shopTotal.ActualPackFees,
CompensateFees = shopTotal.CompensateFees,
};
App.Current.Dispatcher.Invoke(() =>

53
BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs

@ -76,6 +76,12 @@ namespace BBWY.Client.Views.PackTask
string xaml = @" <Grid xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
<Grid.ColumnDefinitions >
<ColumnDefinition [:IsShopTotal:] />
<ColumnDefinition Width=""120""/>
<ColumnDefinition Width=""120""/>
<ColumnDefinition Width=""120""/>
<ColumnDefinition Width=""120""/>
<ColumnDefinition Width=""120""/>
<ColumnDefinition Width=""120""/>
[:Columns:]
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@ -145,13 +151,33 @@ namespace BBWY.Client.Views.PackTask
<RowDefinition Height=""*""/>
</Grid.RowDefinitions>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.RowSpan=""2"" BorderThickness=""0,0,1,0""/>
<TextBlock Text="""" Grid.Row=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text="""" Grid.Row=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text=""[:PackFees:]"" Grid.Row=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
</Grid>";
//赔付金额
string compensationFeesStr = @" <Grid Grid.Column=""5"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
<Grid.RowDefinitions>
<RowDefinition Height=""2*""/>
<RowDefinition Height=""*""/>
</Grid.RowDefinitions>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.RowSpan=""2"" BorderThickness=""0,0,1,0""/>
<TextBlock Text="""" Grid.Row=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text=""[:CompensationFees:]"" Grid.Row=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
</Grid>";
//实际收益
string actualIncomeStr = @" <Grid Grid.Column=""6"" MinWidth=""84"" Grid.Row=""1"" Grid.RowSpan=""3"" >
<Grid.RowDefinitions>
<RowDefinition Height=""2*""/>
<RowDefinition Height=""*""/>
</Grid.RowDefinitions>
<Border Width=""1"" HorizontalAlignment=""Left"" BorderBrush=""#D7D7D7"" Grid.RowSpan=""2"" BorderThickness=""0,0,1,0""/>
<TextBlock Text="""" Grid.Row=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
<TextBlock Text=""[:ActualIncome:]"" Grid.Row=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Center""/>
</Grid>";
string columnStr = "<ColumnDefinition Width=\"[:Width:]\"/>";
string workProcess = "<TextBlock Text=\"包装服务\" Grid.Column=\"1\" Grid.ColumnSpan=\"[:ProcessCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+ProcessCount:]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
string workProcess = "<TextBlock Text=\"包装服务\" Grid.Column=\"1\" Grid.ColumnSpan=\"[:ProcessCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+ProcessCount:]\" Grid.Row=\"0\" Grid.RowSpan=\"6\" BorderThickness=\"1,0,0,0\"/>\r\n ";
string consumableService = "<TextBlock Text=\"包装耗材\" Grid.Column=\"[:1+ProcessCount:]\" Grid.ColumnSpan=\"[:ConsumableCount:]\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"/>\r\n <Border Width=\"1\" HorizontalAlignment=\"Left\" BorderBrush=\"#D7D7D7\" Grid.Column=\"[:1+ProcessCount:+ConsumableCount]\" Grid.Row=\"0\" Grid.RowSpan=\"4\" BorderThickness=\"1,0,0,0\"/>\r\n ";
@ -197,20 +223,32 @@ namespace BBWY.Client.Views.PackTask
var consumableList = FeesItem.ConsumableList;
var processCount = 4;
var processCount = 6;
var consumableCount = consumableList.Count();
if (consumableCount > 0)
{
consumableCount++;
}
columnStr = columnStr.Replace("[:Width:]", "*");
var columnCount = consumableCount + processCount + 2;
var columnCount = consumableCount + 2;
StringBuilder columns = new StringBuilder();
for (int i = 1; i < columnCount; i++)
{
columns.AppendLine(columnStr);
}
columnCount += processCount;
StringBuilder serviceData = new StringBuilder();
int allCount = consumableCount + processCount;
@ -226,8 +264,13 @@ namespace BBWY.Client.Views.PackTask
serviceData.AppendLine(discountFactorStr.Replace("[:DiscountFactor:]", FeesItem.DiscountFoctor?.ToString()));
serviceData.AppendLine(processFeesStr.Replace("[:PackFees:]", FeesItem.PackFees.ToString("0.00")));
//赔付金额
serviceData.AppendLine(compensationFeesStr.Replace("[:CompensationFees:]", FeesItem.CompensateFees?.ToString("0.00")));
//实际收益
serviceData.AppendLine(actualIncomeStr.Replace("[:ActualIncome:]", FeesItem.ActualPackFees?.ToString("0.00")));
int rowIndex = 4;
int rowIndex = 6;
if (consumableList.Count > 0)
{

2
BBWY.Client/Views/PackTask/PackDetailWindow.xaml

@ -612,7 +612,7 @@
<ColumnDefinition/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0 0 0 0" FontSize="15" FontWeight="Bold">
<TextBlock Margin="0 0 0 0" FontSize="15" FontWeight="Bold" TextWrapping="Wrap">
<Run Text="包装员:"/>
<Run Text="{Binding PackUserName}"/>
</TextBlock>

51
BBWY.Client/Views/PackagingTask/ShopWaitPackingTaskControl.xaml

@ -391,10 +391,53 @@
</Grid>
<StackPanel Orientation="Vertical" Grid.Column="8" VerticalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
<StackPanel Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
</StackPanel>
<StackPanel Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}" Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding ActualIncome,StringFormat=0.00}"/>
</TextBlock>
<Path x:Name="path_fees_name"
Style="{StaticResource path_question}"
Width="14" Margin="0,0,0,0" Fill="{StaticResource Text.Pink}"
ToolTipService.InitialShowDelay="0" ToolTipService.ShowDuration="20000"
>
<!--Visibility="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible }"-->
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="原收益:"/>
<TextBlock Text="{Binding PackageFees,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="超时赔付:"/>
<TextBlock Text="{Binding CompensationFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="预估收益:"/>
<TextBlock Text="{Binding ActualIncome,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
</Grid>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 8 0 8">
<Run Text="耗材:"/>
<Run Text="{Binding ConsumableFees,StringFormat=0.00}"/>

51
BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml

@ -425,10 +425,53 @@ Command="{Binding DataContext. UpdateShelvesNumberCommand,RelativeSource={Relati
</Grid>
<StackPanel Orientation="Vertical" Grid.Column="8" VerticalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
<StackPanel Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding PackageFees,StringFormat=0.00}"/>
</TextBlock>
</StackPanel>
<StackPanel Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}" Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Style="{StaticResource middleTextBlock}">
<Run Text="人工:"/>
<Run Text="{Binding ActualIncome,StringFormat=0.00}"/>
</TextBlock>
<Path x:Name="path_fees_name"
Style="{StaticResource path_question}"
Width="14" Margin="0,0,0,0" Fill="{StaticResource Text.Pink}"
ToolTipService.InitialShowDelay="0" ToolTipService.ShowDuration="20000"
>
<!--Visibility="{Binding FeesItemResponse,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible }"-->
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<Grid>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="原收益:"/>
<TextBlock Text="{Binding PackageFees,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="超时赔付:"/>
<TextBlock Text="{Binding CompensationFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="预估收益:"/>
<TextBlock Text="{Binding ActualIncome,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
</Grid>
</ToolTip>
</Path.ToolTip>
</Path>
</StackPanel>
<TextBlock Style="{StaticResource middleTextBlock}" Margin="0 8 0 8">
<Run Text="耗材:"/>
<Run Text="{Binding ConsumableFees,StringFormat=0.00}"/>

34
BBWY.Client/Views/PackerTask/PackerPackCompletedControl.xaml

@ -170,7 +170,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="100"/>
@ -228,7 +228,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition MinWidth="100"/>
<ColumnDefinition MinWidth="200"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition MinWidth="200"/>
<ColumnDefinition Width="0"/>
@ -259,7 +259,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="100"/>
@ -373,10 +373,30 @@
</Grid>
<Grid Grid.Column="3" >
<TextBlock Style="{StaticResource middleTextBlock}"
Text="{Binding PackerFee,StringFormat=0.00}"
TextWrapping="Wrap"
/>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="实际收益:"/>
<TextBlock Text="{Binding PackerFee,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="原收益:"/>
<TextBlock Text="{Binding PackerFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="超时赔付:"/>
<TextBlock Text="{Binding CompensationFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="实际收益:"/>
<TextBlock Text="{Binding ActualIncome,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >

54
BBWY.Client/Views/PackerTask/PackerSalaryControl.xaml

@ -113,9 +113,9 @@
</StackPanel>
<TextBlock HorizontalAlignment="Left" Foreground="White" Grid.Row="1" Grid.ColumnSpan="3" Margin="20 0 0 0">
<Run Text="统计区间:"/>
<Run Text="{Binding StartTime,StringFormat=yyyy-MM-dd}"/>
<Run Text="{Binding TotalStartDate,StringFormat=yyyy-MM-dd}"/>
<Run Text="至"/>
<Run Text="{Binding EndTime,StringFormat=yyyy-MM-dd}"/>
<Run Text="{Binding TotalEndDate,StringFormat=yyyy-MM-dd}"/>
</TextBlock>
</Grid>
@ -125,7 +125,7 @@
<Grid Grid.Row="1" Width="555" HorizontalAlignment="Left">
<Grid Grid.Row="1" Width="770" HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="35"/>
<RowDefinition Height="*"/>
@ -139,14 +139,18 @@
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<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}"/>
<TextBlock Text="原收益" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="超时赔付金额" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="实际收益" Grid.Column="5" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="任务数" Grid.Column="6" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="件数" Grid.Column="7" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="0" />
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="1" />
@ -154,8 +158,9 @@
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="3" />
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="4" />
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="5" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5" />
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="6" />
<Border Width="1" HorizontalAlignment="Left" Background="{StaticResource Border.Brush}" Grid.Column="7" />
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7" />
<Border Height="1" VerticalAlignment="Top" Grid.ColumnSpan="18" Background="{StaticResource Border.Brush}" Grid.Row="0"/>
<Border Height="1" VerticalAlignment="Bottom" Grid.ColumnSpan="18" Background="{StaticResource Border.Brush}" Grid.Row="0"/>
</Grid>
@ -184,25 +189,33 @@
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<c:BButton Grid.Column="0" Panel.ZIndex="100" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Grid.ColumnSpan="6" Command="{Binding HideCommand}" CommandParameter="{Binding}"/>
<c:BButton Grid.Column="0" Panel.ZIndex="100" Background="Transparent" HorizontalAlignment="Stretch" BorderThickness="0" Grid.ColumnSpan="8" Command="{Binding HideCommand}" CommandParameter="{Binding}"/>
<Border Margin="8" Grid.Row="1" BorderBrush="{StaticResource Border.Brush}" BorderThickness="1" >
<c:BButton HorizontalAlignment="Center" Grid.Column="0" Content="{Binding IsHide ,Converter={StaticResource objConverter},ConverterParameter=True:+:-}" Style="{StaticResource LinkButton}" Foreground="{StaticResource Border.Brush}" HorizontalContentAlignment="Center" />
</Border>
<TextBlock Text="{Binding Date,StringFormat=yyyy-MM-dd}" Grid.Column="1" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding UserName}" Grid.Column="2" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DaySalary}" Grid.Column="3" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayTaskCount}" Grid.Column="4" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayTaskSkuItemCount}" Grid.Column="5" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DaySalary,StringFormat=0.00}" Grid.Column="3" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayOverTimeCompensateFees,StringFormat=0.00}" Grid.Column="4" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayActualSalary,StringFormat=0.00}" Grid.Column="5" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayTaskCount}" Grid.Column="6" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding DayTaskSkuItemCount}" Grid.Column="7" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="0" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="7" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="8" Grid.Row="0"/>
</Grid>
<Border Height="1" VerticalAlignment="Bottom" Background="{StaticResource Border.Brush}" Grid.Column="4" Grid.Row="0"/>
<Border Height="1" VerticalAlignment="Bottom" Background="{StaticResource Border.Brush}" Grid.Column="6" Grid.Row="0"/>
<ListBox Name="listbox_orerSku" Grid.Row="1" Visibility="{Binding IsHide ,Converter={StaticResource objConverter},ConverterParameter=True:Collapsed:Visible}"
ItemsSource="{Binding PackerTaskSalaries}"
@ -222,6 +235,8 @@ Foreground="{StaticResource Text.Color}"
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
@ -229,12 +244,15 @@ Foreground="{StaticResource Text.Color}"
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="3" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="4" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="5" Grid.Row="0"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="6" Grid.Row="0"/>
<TextBlock Text="{Binding TaskSalary,StringFormat=0.00}" Grid.Column="3" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding OverTimeCompensateFees,StringFormat=0.00}" Grid.Column="4" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding ActualSalary,StringFormat=0.00}" Grid.Column="5" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskSalary}" Grid.Column="3" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<StackPanel Orientation="Horizontal" Grid.Column="4" Grid.Row="1" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" Grid.Column="6" Grid.Row="1" HorizontalAlignment="Center">
<TextBlock VerticalAlignment="Center" Text="ID:" Margin="16,0,0,0" />
<c:BButton Content="{Binding TaskIdRemark}" Style="{StaticResource LinkButton}" HorizontalAlignment="Left" VerticalAlignment="Center"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
@ -243,7 +261,7 @@ Foreground="{StaticResource Text.Color}"
</StackPanel>
<TextBlock Text="{Binding TaskSkuItemCount}" Grid.Column="5" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding TaskSkuItemCount}" Grid.Column="7" Grid.Row="1" Style="{StaticResource middleTextBlock}"/>
</Grid>

36
BBWY.Client/Views/PackerTask/PackerWaitPackageControl.xaml

@ -171,7 +171,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="100"/>
@ -229,7 +229,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="100"/>
@ -261,7 +261,7 @@
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="90"/>
<ColumnDefinition Width="140"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="200"/>
<ColumnDefinition MinWidth="100"/>
@ -379,10 +379,30 @@
</Grid>
<Grid Grid.Column="3" >
<TextBlock Style="{StaticResource middleTextBlock}"
Text="{Binding PackerFee,StringFormat=0.00}"
TextWrapping="Wrap"
/>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="预估收益:"/>
<TextBlock Text="{Binding PackerFee,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left" Visibility="{Binding IsPackOverTime,Converter={StaticResource objConverter},ConverterParameter=true:Visible:Collapsed}">
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="原收益:"/>
<TextBlock Text="{Binding PackerFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="超时赔付:"/>
<TextBlock Text="{Binding CompensationFee,StringFormat=0.00}"/>
</StackPanel>
<StackPanel Margin="20,5" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" >
<TextBlock Text="预估收益:"/>
<TextBlock Text="{Binding ActualIncome,StringFormat=0.00}"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid Grid.Column="4" >
@ -619,7 +639,7 @@ Foreground="{StaticResource Text.Color}">
<c:BButton Grid.Column="10" Content="提交备注" Width="80" Command="{Binding DataContext.AppendMarkMessageCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding TaskId}"/>
</Grid>
<Border Grid.Row="1" VerticalAlignment="Top" Height="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="100"/>

2
BBWY.Client/Views/TotalPackTask/PackUserSalaryControl.xaml.cs

@ -186,7 +186,7 @@ namespace BBWY.Client.Views.TotalPackTask
for (int j = 0; j < PackUserSalaries[i].IncomeItems.Count; j++)
{
var columnIndex = 4 + j;//[:HeaderPriceList:]
headerPriceListSB.AppendLine(serviceText.Replace("[:ServicePrice:]", PackUserSalaries[i].IncomeItems[j].TotalPrice.ToString())
headerPriceListSB.AppendLine(serviceText.Replace("[:ServicePrice:]", PackUserSalaries[i].IncomeItems[j].TotalPrice.ToString("0.00"))
.Replace("[:ColumnIndex:]", columnIndex.ToString())
.Replace("[:RowIndex:]", rowIndex.ToString()));

Loading…
Cancel
Save