Site.razor 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. @page "/site/list"
  2. @using AI.Platform.Core.Entity.Site
  3. @using AI.Platform.Page.Pages.Site.Model
  4. @attribute [ReuseTabsPage(Title = "创建站点")]
  5. <Spin Spinning="Loading">
  6. <div class="filter_box">
  7. <div class="filter_row" style="justify-content:start;margin-top:-3%;">
  8. <div class="filter_row" style="width:50%">
  9. <span>站名</span><Input Placeholder="请输入要查找的站名" @bind-Value="filterData.siteName" Style="width:75%" />
  10. </div>
  11. </div>
  12. <div class="filter_row" style="justify-content:start">
  13. <Button Icon="search" OnClick="Query" Style="margin-right:2%;background:#1890ff;color:#FFFFFF">查询</Button>
  14. <Button Icon="reload" OnClick="HandleReset" Style="margin-right:2%">重置</Button>
  15. <Button Icon="upload" OnClick="@(() => ShowDialog(1, null))" Style="background:#52c41a;color:#FFFFFF">新增</Button>
  16. </div>
  17. </div>
  18. <UpdateSiteDialog onCallback="OnDialogCallback" onVisibleCallback="OnDialogVisibleCallback" @bind-IsVisible="isOpen" @bind-model="model" />
  19. <Table class="compact-table" @ref="_Table" TItem="SiteOutput" DataSource="_DataSource" PageSize="filterData.pageSize" Total="Total"
  20. OnChange="OnChange">
  21. <ColumnDefinitions Context="row">
  22. <PropertyColumn Property="c => c.Name" Title="站名" />
  23. <PropertyColumn Property="c => c.Address" Title="地址" />
  24. <PropertyColumn Property="c => c.ParentName" Title="归属集团" />
  25. <PropertyColumn Property="c => c.Contact" Title="联系方式" />
  26. <ActionColumn Width="180" Title="操作" Fixed="ColumnFixPlacement.Right">
  27. <Button Type="ButtonType.Primary" Color="Color.Blue6" OnClick="@(() => ShowDialog(2, row))">编辑</Button>
  28. <Button Type="ButtonType.Primary" Color="Color.Red6" OnClick="@(() => ShowDialog(3, row))">删除</Button>
  29. </ActionColumn>
  30. </ColumnDefinitions>
  31. <PaginationTemplate>
  32. <Pagination Class="@(context.PaginationClass + " my-custom-pagination")"
  33. Total="Total"
  34. PageSize="filterData.pageSize"
  35. Current="filterData.currentPage"
  36. ShowSizeChanger="true"
  37. ShowQuickJumper="true"
  38. OnChange="OnPageChange"
  39. ShowTotal="showTotal" />
  40. </PaginationTemplate>
  41. </Table>
  42. </Spin>
  43. <style>
  44. .filter_box{
  45. display:flex;
  46. flex-direction:column;
  47. align-items:center;
  48. background:#ffffff;
  49. }
  50. .filter_row{
  51. display:flex;
  52. flex-direction:row;
  53. justify-content:space-between;
  54. align-items:center;
  55. width:100%;
  56. }
  57. .compact-table {
  58. min-height:30vh;
  59. }
  60. .compact-table .ant-table-thead > tr > th,
  61. .compact-table .ant-table-tbody > tr > td {
  62. padding: 6px 8px;
  63. font-size: 12px;
  64. line-height: 1.2;
  65. }
  66. .compact-table .ant-btn {
  67. height: 24px;
  68. padding: 0 8px;
  69. font-size: 12px;
  70. }
  71. </style>