Sin descripción
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

service-register-config.component.html 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <!-- 页面容器 - 采用与工作示例相同的布局结构 -->
  2. <div class="page-container">
  3. <!-- Sticky Header组件 -->
  4. <app-sticky-header [collapseThreshold]="50" [scrollContainer]="'#service-register-content'">
  5. <!-- 工具条区域 - 保持固定 -->
  6. <div toolbar class="page-toolbar">
  7. <div class="toolbar-content">
  8. <!-- 标题区域 -->
  9. <div class="title-section">
  10. <mat-icon class="title-icon">description</mat-icon>
  11. <h1 class="page-title">{{ title }}</h1>
  12. </div>
  13. </div>
  14. <!-- 按钮区域 -->
  15. <div class="button-section">
  16. <!-- 注册按钮 -->
  17. <button
  18. type="button"
  19. class="btn btn-primary"
  20. (click)="onRegister()"
  21. [disabled]="isRegistering"
  22. >
  23. @if (isRegistering) {
  24. <mat-icon class="mr-1">hourglass_empty</mat-icon>
  25. <span>处理中...</span>
  26. } @else {
  27. <mat-icon class="mr-1">add_circle</mat-icon>
  28. <span>注册</span>
  29. }
  30. </button>
  31. <!-- 刷新按钮 -->
  32. <button
  33. type="button"
  34. class="btn btn-secondary"
  35. (click)="refresh()"
  36. [disabled]="isRefreshing"
  37. >
  38. @if (isRefreshing) {
  39. <mat-icon class="mr-1 spin-icon">refresh</mat-icon>
  40. <span>刷新中...</span>
  41. } @else {
  42. <mat-icon class="mr-1">refresh</mat-icon>
  43. <span>刷新</span>
  44. }
  45. </button>
  46. </div>
  47. </div>
  48. <!-- 提示区域 - 可折叠 -->
  49. <div hint class="page-hint">
  50. <!-- 提示信息区域 -->
  51. <div class="hint-section">
  52. <div class="hint-content">
  53. <p>点击"注册"按钮将同步所有配置元信息到数据库,并显示配置列表。</p>
  54. </div>
  55. </div>
  56. <!-- 调试信息区域 -->
  57. <div class="debug-section">
  58. <div class="debug-item">
  59. <span class="debug-label">数据源:</span>
  60. <span class="debug-value">{{ config.useMockData ? '模拟数据' : 'API数据' }}</span>
  61. </div>
  62. <div class="debug-item">
  63. <span class="debug-label">记录条数:</span>
  64. <span class="debug-value">{{ recordCount }}</span>
  65. </div>
  66. <div class="debug-item">
  67. <span class="debug-label">更新时间:</span>
  68. <span class="debug-value">{{ currentTime | date:'yyyy-MM-dd HH:mm:ss' }}</span>
  69. </div>
  70. </div>
  71. </div>
  72. </app-sticky-header>
  73. <!-- 内容区域 - 内部滚动 -->
  74. <div id="service-register-content" class="content-area">
  75. <!-- Tabulator 表格组件 -->
  76. <app-tabulator-grid id="tabulator-table" #matCard
  77. [columns]="columns"
  78. [dataLoader]="dataLoader"
  79. [height]="'1000px'"
  80. [paginationSize]="100"
  81. [paginationSizeSelector]="[10, 20, 50, 100,200,500]"
  82. [showPagination]="true"
  83. [remoteSort]="true"
  84. [remoteFilter]="true"
  85. (dataLoaded)="onDataLoaded($event)"
  86. (ajaxError)="onAjaxError($event)"
  87. ></app-tabulator-grid>
  88. </div>
  89. </div>