MyProject.razor 4.8 KB

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