privileges.component.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <page-header> </page-header>
  2. <nz-card [nzBordered]="false">
  3. <form nz-form [nzLayout]="'inline'" (ngSubmit)="onSearch()" class="search__form">
  4. <div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 8, lg: 24, xl: 48, xxl: 48 }">
  5. <div nz-col nzMd="10" nzSm="24">
  6. <nz-form-item>
  7. <nz-form-label nzFor="groupName">{{ 'mxk.roles.name' | i18n }}</nz-form-label>
  8. <nz-form-control>
  9. <input
  10. nz-input
  11. [(ngModel)]="query.params.groupName"
  12. [ngModelOptions]="{ standalone: true }"
  13. name="groupName"
  14. placeholder=""
  15. id="groupName"
  16. />
  17. </nz-form-control>
  18. </nz-form-item>
  19. </div>
  20. <div nz-col nzMd="10" nzSm="24">
  21. <nz-form-item>
  22. <nz-form-label nzFor="name">{{ 'mxk.resources.appName' | i18n }}</nz-form-label>
  23. <nz-form-control>
  24. <nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
  25. <input
  26. nz-input
  27. [(ngModel)]="query.params.appName"
  28. [ngModelOptions]="{ standalone: true }"
  29. name="appName"
  30. readonly
  31. placeholder=""
  32. id="appName"
  33. />
  34. </nz-input-group>
  35. <ng-template #suffixButton>
  36. <button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n }}</button>
  37. </ng-template>
  38. </nz-form-control>
  39. </nz-form-item>
  40. </div>
  41. <div nz-col [nzSpan]="query.expandForm ? 24 : 4" [class.text-right]="query.expandForm">
  42. <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' | i18n }}</button>
  43. <button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' | i18n }}</button>
  44. <button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
  45. {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button
  46. >
  47. </div>
  48. </div>
  49. </form>
  50. </nz-card>
  51. <nz-card>
  52. <div nz-col [nzSpan]="24" class="table-list-toolbar">
  53. <button nz-button type="button" [nzType]="'primary'" (click)="onSave($event)">{{ 'mxk.text.save' | i18n }}</button>
  54. </div>
  55. <div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 8, lg: 24, xl: 48, xxl: 48 }">
  56. <div nz-col [nzSpan]="10" class="grid-border">
  57. <nz-table
  58. #dynamicTable
  59. nzTableLayout="auto"
  60. nzSize="small"
  61. nzBordered
  62. nzShowSizeChanger
  63. [nzData]="query.results.rows"
  64. [nzFrontPagination]="false"
  65. [nzTotal]="query.results.records"
  66. [nzPageSizeOptions]="query.params.pageSizeOptions"
  67. [nzPageSize]="query.params.pageSize"
  68. [nzPageIndex]="query.params.pageNumber"
  69. [nzLoading]="this.query.tableLoading"
  70. (nzQueryParams)="onQueryParamsChange($event)"
  71. >
  72. <thead>
  73. <tr>
  74. <!--<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
  75. -->
  76. <th nzAlign="center"></th>
  77. <th nzAlign="center" style="display: none">Id</th>
  78. <th nzAlign="center">{{ 'mxk.groups.name' | i18n }}</th>
  79. <th nzAlign="center">{{ 'mxk.groups.category' | i18n }}</th>
  80. </tr>
  81. </thead>
  82. <tbody>
  83. <tr *ngFor="let data of query.results.rows">
  84. <td
  85. [nzChecked]="query.tableCheckedId.has(data.id)"
  86. [nzDisabled]="data.disabled"
  87. (nzCheckedChange)="onTableItemChecked(data.id, $event)"
  88. ></td>
  89. <td nzAlign="left" style="display: none">
  90. <span>{{ data.id }}</span>
  91. </td>
  92. <td nzAlign="left" nzBreakWord="false">{{ data.groupName }}</td>
  93. <td nzAlign="center" *ngIf="data.category == 'dynamic'"> {{ 'mxk.groups.category.dynamic' | i18n }}</td>
  94. <td nzAlign="center" *ngIf="data.category == 'static'"> {{ 'mxk.groups.category.static' | i18n }}</td>
  95. </tr>
  96. </tbody>
  97. </nz-table>
  98. </div>
  99. <div nz-col [nzSpan]="14" class="grid-border">
  100. <nz-tree
  101. #nzTreeComponent
  102. nzShowLine="false"
  103. [nzCheckable]="treeNodes.checkable"
  104. [nzCheckedKeys]="treeNodes.checkedKeys"
  105. nzBlockNode
  106. [nzData]="treeNodes.nodes"
  107. (nzDblClick)="openFolder($event)"
  108. [nzTreeTemplate]="nzTreeTemplate"
  109. ></nz-tree>
  110. <ng-template #nzTreeTemplate let-node let-origin="origin">
  111. <span class="custom-node">
  112. <span *ngIf="!node.isLeaf">
  113. <i nz-icon [nzType]="node.isExpanded ? 'folder-open' : 'folder'" (click)="openFolder(node)"></i>
  114. <span class="folder-name">{{ node.title }}</span>
  115. </span>
  116. <span *ngIf="node.isLeaf">
  117. <i nz-icon nzType="file"></i>
  118. <span class="file-name">{{ node.title }}</span>
  119. </span>
  120. </span>
  121. </ng-template>
  122. </div>
  123. </div>
  124. </nz-card>