resources.component.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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: 24, lg: 24, xl: 48, xxl: 48 }">
  5. <div nz-col nzMd="10" nzSm="24">
  6. <nz-form-item>
  7. <nz-form-label nzFor="name">{{ 'mxk.resources.appName' | i18n }}</nz-form-label>
  8. <nz-form-control>
  9. <nz-input-group nzSearch [nzAddOnAfter]="suffixButton">
  10. <input nz-input [(ngModel)]="query.params.appName" [ngModelOptions]="{ standalone: true }" name="appName"
  11. readonly placeholder="" id="appName" />
  12. </nz-input-group>
  13. <ng-template #suffixButton>
  14. <button nz-button nzType="primary" (click)="onSelect($event)" nzSearch>{{ 'mxk.text.select' | i18n
  15. }}</button>
  16. </ng-template>
  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.name' | i18n }}</nz-form-label>
  23. <nz-form-control>
  24. <input nz-input [(ngModel)]="query.params.name" [ngModelOptions]="{ standalone: true }" name="name"
  25. placeholder="" id="name" />
  26. </nz-form-control>
  27. </nz-form-item>
  28. </div>
  29. <div nz-col [nzSpan]="query.expandForm ? 24 : 4" [class.text-right]="query.expandForm">
  30. <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="query.submitLoading">{{ 'mxk.text.query' |
  31. i18n }}</button>
  32. <button nz-button type="reset" (click)="onReset()" class="mx-sm" style="display: none">{{ 'mxk.text.reset' |
  33. i18n }}</button>
  34. <button nz-button (click)="query.expandForm = !query.expandForm" class="mx-sm" style="display: none">
  35. {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}</button>
  36. </div>
  37. </div>
  38. </form>
  39. </nz-card>
  40. <nz-card [nzBordered]="false">
  41. <div nz-row [nzGutter]="{ xs: 8, sm: 8, md: 8, lg: 24, xl: 48, xxl: 48 }">
  42. <div nz-col [nzSpan]="24" class="table-list-toolbar">
  43. <button nz-button type="button" [nzType]="'primary'" (click)="onAdd($event)">{{ 'mxk.text.add' | i18n }}</button>
  44. <button nz-button type="button" (click)="onBatchDelete($event)" [nzType]="'primary'" nzDanger class="mx-sm">{{
  45. 'mxk.text.delete' | i18n
  46. }}</button>
  47. </div>
  48. <div nz-col nzMd="6" nzSm="24" class="grid-border">
  49. <nz-tree nzShowLine="false" [nzCheckable]="treeNodes.checkable" nzBlockNode [nzData]="treeNodes.nodes"
  50. (nzClick)="activeNode($event)" (nzDblClick)="openFolder($event)" [nzTreeTemplate]="nzTreeTemplate"></nz-tree>
  51. <ng-template #nzTreeTemplate let-node let-origin="origin">
  52. <span class="custom-node">
  53. <span *ngIf="!node.isLeaf" (contextmenu)="contextMenu($event, menu)">
  54. <i nz-icon [nzType]="node.isExpanded ? 'folder-open' : 'folder'" (click)="openFolder(node)"></i>
  55. <span class="folder-name">{{ node.title }}</span>
  56. </span>
  57. <span *ngIf="node.isLeaf" (contextmenu)="contextMenu($event, menu)">
  58. <i nz-icon nzType="file"></i>
  59. <span class="file-name">{{ node.title }}</span>
  60. </span>
  61. </span>
  62. </ng-template>
  63. <nz-dropdown-menu #menu="nzDropdownMenu">
  64. <ul nz-menu>
  65. <li nz-menu-item (click)="selectDropdown()">Action 1</li>
  66. <li nz-menu-item (click)="selectDropdown()">Action 2</li>
  67. </ul>
  68. </nz-dropdown-menu>
  69. </div>
  70. <div nz-col nzMd="18" nzSm="24" class="grid-border">
  71. <nz-table #dynamicTable nzTableLayout="auto" nzBordered nzShowSizeChanger [nzData]="query.results.rows"
  72. [nzFrontPagination]="false" [nzTotal]="query.results.records" [nzPageSizeOptions]="query.params.pageSizeOptions"
  73. [nzPageSize]="query.params.pageSize" [nzPageIndex]="query.params.pageNumber"
  74. [nzLoading]="this.query.tableLoading" (nzQueryParams)="onQueryParamsChange($event)" nzWidth="100%">
  75. <thead>
  76. <tr>
  77. <th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate"
  78. (nzCheckedChange)="onTableAllChecked($event)"></th>
  79. <th nzAlign="center">{{ 'mxk.resources.appName' | i18n }}</th>
  80. <th nzAlign="center">{{ 'mxk.resources.name' | i18n }}</th>
  81. <th nzAlign="center">{{ 'mxk.resources.resourceType' | i18n }}</th>
  82. <th nzAlign="center">{{ 'mxk.text.sortIndex' | i18n }}</th>
  83. <th nzAlign="center">{{ 'mxk.text.status' | i18n }}</th>
  84. <th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
  85. </tr>
  86. </thead>
  87. <tbody>
  88. <tr *ngFor="let data of query.results.rows">
  89. <td [nzChecked]="query.tableCheckedId.has(data.id)" [nzDisabled]="data.disabled"
  90. (nzCheckedChange)="onTableItemChecked(data.id, $event)"></td>
  91. <td nzAlign="left">
  92. <span>{{ data.appName }}</span>
  93. </td>
  94. <td nzAlign="left"> {{ data.name }}</td>
  95. <td nzAlign="left"> {{ data.resourceType }}</td>
  96. <td nzAlign="center"> {{ data.sortIndex }}</td>
  97. <td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill"
  98. style="color: green"></i></td>
  99. <td nzAlign="left" nzBreakWord="false">
  100. <div nz-col>
  101. <button nz-button type="button" (click)="onEdit($event, data.id)" style="float: left">{{ 'mxk.text.edit'
  102. | i18n }}</button>
  103. <button nz-button type="button" (click)="onDelete($event, data.id)" nzDanger>{{ 'mxk.text.delete' | i18n
  104. }}</button>
  105. </div>
  106. </td>
  107. </tr>
  108. </tbody>
  109. </nz-table>
  110. </div>
  111. </div>
  112. </nz-card>