MyProject.razor 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. @page "/Project/MyProjects"
  2. @attribute [Authorize]
  3. <PageContainer>
  4. <Breadcrumb>
  5. <Breadcrumb>
  6. <BreadcrumbItem>
  7. <a href="/Home"><Icon Type="home"></Icon></a>
  8. </BreadcrumbItem>
  9. <BreadcrumbItem>
  10. <span>我的专案</span>
  11. </BreadcrumbItem>
  12. </Breadcrumb>
  13. </Breadcrumb>
  14. <Content>
  15. <Button Type="primary" Icon="plus" OnClick="AddNew" Style="float:right">添加工作内容</Button>
  16. </Content>
  17. <ChildContent>
  18. @if (ProjectInfos == null)
  19. {
  20. <center><Spin /></center>
  21. }
  22. else
  23. {
  24. <AntDesign.Table @bind-PageIndex="_pageIndex" @bind-PageSize="_pageSize"
  25. Total="@_total"
  26. TItem="ProjectContentRecord"
  27. Loading="_loading"
  28. DataSource="@ProjectInfos"
  29. Bordered=@true
  30. Size=@TableSize.Middle>
  31. <RowTemplate>
  32. @*<Selection Key="@(context.ProjectNo)" />*@
  33. <AntDesign.Column Title="序号" TData="int" Width="60">
  34. @serialNumber(_pageIndex, _pageSize, context)
  35. </AntDesign.Column>
  36. <AntDesign.Column Title="我方文号" @bind-Field="@context.ProjectNo" Sortable Filterable />
  37. <AntDesign.Column Title="案件名称" DataIndex="Project.CaseName" TData="string" Sortable Filterable />
  38. <AntDesign.Column Title="案件类型" DataIndex="Project.CaseType" TData="string" Sortable Filterable />
  39. <AntDesign.Column Title="客户" DataIndex="Project.Customer.Name" TData="string" Sortable Filterable />
  40. <AntDesign.Column Title="绩效月份" TData="string" Sortable Filterable>
  41. @if (context.CalMonth != null)
  42. {
  43. @($"{context.CalMonth.Year}年{context.CalMonth.Month}月")
  44. }
  45. </AntDesign.Column>
  46. <AntDesign.Column Title="最终绩效" TData="string">
  47. @FininalJX(context)
  48. </AntDesign.Column>
  49. <AntDesign.Column Title="业务类型" DataIndex="Project.BusinessType" TData="string" Sortable Filterable />
  50. <AntDesign.Column Title="状态" TData="string">
  51. @getStatus(context.State)
  52. </AntDesign.Column>
  53. <ActionColumn>
  54. <Space>
  55. @if (context.State == 0)
  56. {
  57. <SpaceItem><Button Danger OnClick="() => Edit(context)">修改</Button></SpaceItem>
  58. <SpaceItem><Button Danger OnClick="() => Submit(context)">提交审核</Button></SpaceItem>
  59. }
  60. </Space>
  61. </ActionColumn>
  62. </RowTemplate>
  63. <ExpandTemplate>
  64. <Table DataSource="context.Data.ProjectWorkContents" Context="pp">
  65. <ChildContent>
  66. <AntDesign.Column Title="工作内容" TData="string">
  67. @pp.Content
  68. </AntDesign.Column>
  69. <AntDesign.Column Title="工作日期" TData="string">
  70. @pp.WorkDate.ToString("yyyy-MM-dd")
  71. </AntDesign.Column>
  72. <AntDesign.Column Title="时间跨度" TData="string">
  73. @pp.TimeSpan 天
  74. </AntDesign.Column>
  75. <AntDesign.Column Title="耗时" TData="string">
  76. @pp.TakeTime 小时
  77. </AntDesign.Column>
  78. <AntDesign.Column Title="工作难度系数" TData="string">
  79. @pp.DifficultFactor
  80. </AntDesign.Column>
  81. <AntDesign.Column Title="实际绩效" TData="string">
  82. @pp.ActualPerformance
  83. </AntDesign.Column>
  84. <AntDesign.Column Title="最终绩效" TData="string">
  85. @pp.FinalPerformance
  86. </AntDesign.Column>
  87. </ChildContent>
  88. </Table>
  89. </ExpandTemplate>
  90. <PaginationTemplate>
  91. <div style="display: flex; align-items: center">
  92. <Pagination Class="my-custom-pagination"
  93. Total="@_total"
  94. PageSize="@_pageSize"
  95. Current="@_pageIndex"
  96. ShowSizeChanger="@true"
  97. OnChange="HandlePageChange" />
  98. </div>
  99. </PaginationTemplate>
  100. </AntDesign.Table>
  101. }
  102. </ChildContent>
  103. </PageContainer>
  104. <style>
  105. .my-custom-pagination {
  106. margin: 15px 0;
  107. }
  108. .my-custom-pagination .ant-pagination-item,
  109. .my-custom-pagination .ant-pagination-item-link {
  110. border-radius: 100%;
  111. }
  112. </style>