using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using WalkingTec.Mvvm.Core;
|
using WalkingTec.Mvvm.Core.Extensions;
|
using Microsoft.EntityFrameworkCore;
|
using System.ComponentModel.DataAnnotations;
|
using cy_scdz.Model.Oder;
|
using cy_scdz.Model.Set;
|
using System.Text;
|
|
namespace cy_scdz.ViewModel.BidOrder.OrderInfoVMs
|
{
|
public partial class OrderInfoListVM : BasePagedListVM<OrderInfo_View, OrderInfoSearcher>
|
{
|
|
public override void AfterDoSearcher()
|
{
|
for (int i = 0; i < EntityList.Count; i++)
|
{
|
EntityList[i].Index = i+1;
|
}
|
base.AfterDoSearcher();
|
}
|
protected override List<GridAction> InitGridAction()
|
{
|
return new List<GridAction>
|
{
|
this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Create, Localizer["Sys.Create"],"BidOrder", dialogWidth: 1440),
|
this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Edit, Localizer["Sys.Edit"], "BidOrder", dialogWidth: 1440),
|
this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Delete, Localizer["Sys.Delete"], "BidOrder", dialogWidth: 800),
|
this.MakeStandardAction("OrderInfo", GridActionStandardTypesEnum.Details, Localizer["Sys.Details"], "BidOrder", dialogWidth: 800),
|
|
};
|
}
|
|
|
protected override IEnumerable<IGridColumn<OrderInfo_View>> InitGridHeader()
|
{
|
return new List<GridColumn<OrderInfo_View>>{
|
this.MakeGridHeader(x => x.Index).SetWidth(20).SetHeader(" "),
|
this.MakeGridHeader(x => x.Title),
|
|
this.MakeGridHeader(x => x.WinBidTime),
|
this.MakeGridHeader(x => x.Name_view),
|
this.MakeGridHeader(x => x.BidMoney),
|
this.MakeGridHeader(x => x.Name_view2),
|
this.MakeGridHeader(x => x.Name_view3),
|
this.MakeGridHeader(x => x.Productions).SetFormat(showProductions).SetHeader("剩余学期"),
|
this.MakeGridHeaderAction(width: 200)
|
};
|
}
|
private string showProductions(OrderInfo_View entity, object obj)
|
{
|
var list= entity.Productions.Where(x => x.IsOver == false).ToList();
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < list.Count; i++) {
|
sb.Append("<p>").Append(list[i].DeliveryTime.ToString("yyyy")+" "+ list[i].Chunqiuji.GetEnumDisplayName()+" "
|
+ UIService.MakeButton(ButtonTypesEnum.Link, "BidOrder/OrderInfo/CompleteProduction?id=" + list[i].ID.ToString(), "生产", 1440, null, title: "详情")
|
|
).Append("</p>");
|
}
|
return sb.ToString();
|
|
|
|
// return UIService.MakeButton(ButtonTypesEnum.Link, "user/FrameworkUser/Details?id=" + entity.ParentITCode.ID.ToString(), entity.ParentITCode.Name.ToString(), 1024, null, title: "详情", Toptitle: "查看详情");
|
}
|
public override IOrderedQueryable<OrderInfo_View> GetSearchQuery()
|
{
|
var query = DC.Set<OrderInfo>().Include(x=>x.Productions)
|
.CheckContain(Searcher.Title, x=>x.Title)
|
.CheckBetween(Searcher.WinBidTime?.GetStartTime(), Searcher.WinBidTime?.GetEndTime(), x => x.WinBidTime, includeMax: false)
|
.CheckEqual(Searcher.SupplierId, x=>x.SupplierId)
|
.CheckEqual(Searcher.BidTypeId, x=>x.BidTypeId)
|
.Select(x => new OrderInfo_View
|
{
|
ID = x.ID,
|
Title = x.Title,
|
WinBidTime = x.WinBidTime,
|
Name_view = x.Semester.Name,
|
BidMoney = x.BidMoney,
|
Productions=x.Productions,
|
Name_view2 = x.Supplier.Name,
|
Name_view3 = x.BidType.Name,
|
CreateTime=x.CreateTime
|
})
|
.OrderByDescending(x => x.CreateTime);
|
return query;
|
}
|
|
}
|
|
public class OrderInfo_View : OrderInfo{
|
/// <summary>
|
/// 序号
|
/// </summary>
|
[Display(Name = "序号")]
|
public int Index { get; set; }
|
/// <summary>
|
/// 供货学期
|
/// </summary>
|
[Display(Name = "供货学期")]
|
public String Name_view { get; set; }
|
/// <summary>
|
/// 中标供应商
|
/// </summary>
|
[Display(Name = "中标供应商")]
|
public String Name_view2 { get; set; }
|
/// <summary>
|
/// 订单类别
|
/// </summary>
|
[Display(Name = "订单类别")]
|
public String Name_view3 { get; set; }
|
|
}
|
}
|