alert-setting.component.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. import { Component, OnInit } from '@angular/core';
  2. import {NzTableQueryParams} from "ng-zorro-antd/table";
  3. import {ActivatedRoute, Router} from "@angular/router";
  4. import {NzModalService} from "ng-zorro-antd/modal";
  5. import {NzNotificationService} from "ng-zorro-antd/notification";
  6. import {NzMessageService} from "ng-zorro-antd/message";
  7. import {AlertDefineService} from "../../../service/alert-define.service";
  8. import {AlertDefine} from "../../../pojo/AlertDefine";
  9. @Component({
  10. selector: 'app-alert-setting',
  11. templateUrl: './alert-setting.component.html',
  12. styles: [
  13. ]
  14. })
  15. export class AlertSettingComponent implements OnInit {
  16. constructor(private route: ActivatedRoute,
  17. private router: Router,
  18. private modal: NzModalService,
  19. private notifySvc: NzNotificationService,
  20. private msg: NzMessageService,
  21. private alertDefineSvc: AlertDefineService) { }
  22. pageIndex: number = 1;
  23. pageSize: number = 8;
  24. total: number = 0;
  25. defines!: AlertDefine[];
  26. tableLoading: boolean = true;
  27. checkedDefineIds = new Set<number>();
  28. ngOnInit(): void {
  29. this.loadAlertDefineTable();
  30. }
  31. loadAlertDefineTable() {
  32. this.tableLoading = true;
  33. let alertDefineInit$ = this.alertDefineSvc.getAlertDefines(this.pageIndex - 1, this.pageSize)
  34. .subscribe(message => {
  35. this.tableLoading = false;
  36. this.checkedAll = false;
  37. this.checkedDefineIds.clear();
  38. if (message.code === 0) {
  39. let page = message.data;
  40. this.defines = page.content;
  41. this.pageIndex = page.number + 1;
  42. this.total = page.totalElements;
  43. } else {
  44. console.warn(message.msg);
  45. }
  46. alertDefineInit$.unsubscribe();
  47. }, error => {
  48. this.tableLoading = false;
  49. alertDefineInit$.unsubscribe();
  50. });
  51. }
  52. onNewAlertDefine() {
  53. }
  54. onEditAlertDefine() {
  55. }
  56. onDeleteAlertDefines() {
  57. if (this.checkedDefineIds == null || this.checkedDefineIds.size === 0) {
  58. this.notifySvc.warning("未选中任何待删除项!","");
  59. return;
  60. }
  61. this.modal.confirm({
  62. nzTitle: '请确认是否批量删除!',
  63. nzOkText: '确定',
  64. nzCancelText: '取消',
  65. nzOkDanger: true,
  66. nzOkType: "primary",
  67. nzOnOk: () => this.deleteAlertDefines(this.checkedDefineIds)
  68. });
  69. }
  70. onDeleteOneAlertDefine(alertDefineId: number) {
  71. let defineIds = new Set<number>();
  72. defineIds.add(alertDefineId);
  73. this.modal.confirm({
  74. nzTitle: '请确认是否删除!',
  75. nzOkText: '确定',
  76. nzCancelText: '取消',
  77. nzOkDanger: true,
  78. nzOkType: "primary",
  79. nzOnOk: () => this.deleteAlertDefines(defineIds)
  80. });
  81. }
  82. onEditOneAlertDefine(alertDefineId: number) {
  83. }
  84. deleteAlertDefines(defineIds: Set<number>) {
  85. if (defineIds == null || defineIds.size == 0) {
  86. this.notifySvc.warning("未选中任何待删除项!","");
  87. return;
  88. }
  89. this.tableLoading = true;
  90. const deleteDefines$ = this.alertDefineSvc.deleteAlertDefines(defineIds)
  91. .subscribe(message => {
  92. deleteDefines$.unsubscribe();
  93. if (message.code === 0) {
  94. this.notifySvc.success("删除成功!", "");
  95. this.loadAlertDefineTable();
  96. } else {
  97. this.tableLoading = false;
  98. this.notifySvc.error("删除失败!", message.msg);
  99. }
  100. }, error => {
  101. this.tableLoading = false;
  102. deleteDefines$.unsubscribe();
  103. this.notifySvc.error("删除失败!", error.msg)
  104. })
  105. }
  106. // begin: 列表多选逻辑
  107. checkedAll: boolean = false;
  108. onAllChecked(checked: boolean) {
  109. if (checked) {
  110. this.defines.forEach(monitor => this.checkedDefineIds.add(monitor.id));
  111. } else {
  112. this.checkedDefineIds.clear();
  113. }
  114. }
  115. onItemChecked(monitorId: number, checked: boolean) {
  116. if (checked) {
  117. this.checkedDefineIds.add(monitorId);
  118. } else {
  119. this.checkedDefineIds.delete(monitorId);
  120. }
  121. }
  122. // end: 列表多选逻辑
  123. /**
  124. * 分页回调
  125. * @param params 页码信息
  126. */
  127. onTablePageChange(params: NzTableQueryParams) {
  128. const { pageSize, pageIndex, sort, filter } = params;
  129. this.pageIndex = pageIndex;
  130. this.pageSize = pageSize;
  131. // this.loadMonitorTable();
  132. }
  133. }