| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- import { Component, OnInit } from '@angular/core';
- import {NzNotificationService} from "ng-zorro-antd/notification";
- import {NoticeReceiverService} from "../../../service/notice-receiver.service";
- import {NoticeRuleService} from "../../../service/notice-rule.service";
- import {NoticeReceiver} from "../../../pojo/NoticeReceiver";
- import {finalize} from "rxjs/operators";
- import {NoticeRule} from "../../../pojo/NoticeRule";
- import {NzModalService} from "ng-zorro-antd/modal";
- @Component({
- selector: 'app-alert-notice',
- templateUrl: './alert-notice.component.html',
- styles: [
- ]
- })
- export class AlertNoticeComponent implements OnInit {
- constructor(private notifySvc: NzNotificationService,
- private noticeReceiverSvc: NoticeReceiverService,
- private modal: NzModalService,
- private noticeRuleSvc : NoticeRuleService) { }
- receivers!: NoticeReceiver[];
- receiverTableLoading: boolean = true;
- rules!: NoticeRule[];
- ruleTableLoading: boolean = true;
- ngOnInit(): void {
- this.loadReceiversTable();
- this.loadRulesTable();
- }
- syncReceiver() {
- this.loadReceiversTable();
- }
- syncRule() {
- this.loadRulesTable();
- }
- loadReceiversTable() {
- this.receiverTableLoading = true;
- let receiverInit$ = this.noticeReceiverSvc.getReceivers()
- .subscribe(message => {
- this.receiverTableLoading = false;
- if (message.code === 0) {
- this.receivers = message.data;
- } else {
- console.warn(message.msg);
- }
- receiverInit$.unsubscribe();
- }, error => {
- console.error(error.msg);
- this.receiverTableLoading = false;
- receiverInit$.unsubscribe();
- });
- }
- loadRulesTable() {
- this.ruleTableLoading = true;
- let rulesInit$ = this.noticeRuleSvc.getNoticeRules()
- .subscribe(message => {
- this.ruleTableLoading = false;
- if (message.code === 0) {
- this.rules = message.data;
- } else {
- console.warn(message.msg);
- }
- rulesInit$.unsubscribe();
- }, error => {
- console.error(error.msg);
- this.ruleTableLoading = false;
- rulesInit$.unsubscribe();
- });
- }
- onDeleteOneNoticeReceiver(receiveId : number) {
- this.modal.confirm({
- nzTitle: '请确认是否删除!',
- nzOkText: '确定',
- nzCancelText: '取消',
- nzOkDanger: true,
- nzOkType: "primary",
- nzOnOk: () => this.deleteOneNoticeReceiver(receiveId)
- });
- }
- deleteOneNoticeReceiver(receiveId : number) {
- const deleteReceiver$ = this.noticeReceiverSvc.deleteReceiver(receiveId)
- .pipe(finalize(() => {
- deleteReceiver$.unsubscribe();
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.notifySvc.success("删除成功!", "");
- this.loadReceiversTable();
- } else {
- this.notifySvc.error("删除失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("删除失败!", error.msg);
- })
- }
- onDeleteOneNoticeRule(ruleId : number) {
- this.modal.confirm({
- nzTitle: '请确认是否删除!',
- nzOkText: '确定',
- nzCancelText: '取消',
- nzOkDanger: true,
- nzOkType: "primary",
- nzOnOk: () => this.deleteOneNoticeRule(ruleId)
- });
- }
- deleteOneNoticeRule(ruleId : number) {
- const deleteRule$ = this.noticeRuleSvc.deleteNoticeRule(ruleId)
- .pipe(finalize(() => {
- deleteRule$.unsubscribe();
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.notifySvc.success("删除成功!", "");
- this.loadRulesTable();
- } else {
- this.notifySvc.error("删除失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("删除失败!", error.msg);
- })
- }
- // start 新增或修改通知接收人弹出框
- isManageReceiverModalVisible : boolean = false;
- isManageReceiverModalAdd: boolean = true;
- isManageReceiverModalOkLoading: boolean = false;
- receiver!: NoticeReceiver;
- onNewNoticeReceiver() {
- this.receiver = new NoticeReceiver();
- this.isManageReceiverModalVisible = true;
- this.isManageReceiverModalAdd = true;
- }
- onEditOneNoticeReceiver(receiver : NoticeReceiver) {
- this.receiver = receiver;
- this.isManageReceiverModalVisible = true;
- this.isManageReceiverModalAdd = false;
- }
- onManageReceiverModalCancel() {
- this.isManageReceiverModalVisible = false;
- }
- onManageReceiverModalOk() {
- this.isManageReceiverModalOkLoading = true;
- if (this.isManageReceiverModalAdd) {
- const modalOk$ = this.noticeReceiverSvc.newReceiver(this.receiver)
- .pipe(finalize(() => {
- modalOk$.unsubscribe();
- this.isManageReceiverModalOkLoading = false;
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.isManageReceiverModalVisible = false;
- this.notifySvc.success("新增成功!", "");
- this.loadReceiversTable();
- } else {
- this.notifySvc.error("新增失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("新增失败!", error.msg);
- })
- } else {
- const modalOk$ = this.noticeReceiverSvc.editReceiver(this.receiver)
- .pipe(finalize(() => {
- modalOk$.unsubscribe();
- this.isManageReceiverModalOkLoading = false;
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.isManageReceiverModalVisible = false;
- this.notifySvc.success("修改成功!", "");
- this.loadReceiversTable();
- } else {
- this.notifySvc.error("修改失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("修改失败!", error.msg);
- })
- }
- }
- // start 新增或修改通知策略弹出框
- isManageRuleModalVisible : boolean = false;
- isManageRuleModalAdd: boolean = true;
- isManageRuleModalOkLoading: boolean = false;
- rule!: NoticeRule;
- receiversOption: any[] = [];
- onNewNoticeRule() {
- this.rule = new NoticeRule();
- this.isManageRuleModalVisible = true;
- this.isManageRuleModalAdd = true;
- }
- onEditOneNoticeRule(rule : NoticeRule) {
- this.rule = rule;
- this.isManageRuleModalVisible = true;
- this.isManageRuleModalAdd = false;
- this.receiversOption.push({
- value: rule.receiverId,
- label: rule.receiverName
- })
- }
- loadReceiversOption() {
- let receiverOption$ = this.noticeReceiverSvc.getReceivers()
- .subscribe(message => {
- if (message.code === 0) {
- let data = message.data;
- this.receiversOption = [];
- data.forEach(item => {
- let label = item.name + '-';
- switch (item.type) {
- case 0: label = label + 'Phone';break;
- case 1: label = label + 'Email';break;
- case 2: label = label + 'WebHook';break;
- case 3: label = label + 'WeChat';break;
- }
- this.receiversOption.push({
- value: item.id,
- label: label
- });
- })
- } else {
- console.warn(message.msg);
- }
- receiverOption$.unsubscribe();
- }, error => {
- console.error(error.msg);
- receiverOption$.unsubscribe();
- });
- }
- onManageRuleModalCancel() {
- this.isManageRuleModalVisible = false;
- }
- onManageRuleModalOk() {
- this.receiversOption.forEach(option => {
- if (option.value == this.rule.receiverId) {
- this.rule.receiverName = option.label;
- }
- });
- this.isManageRuleModalOkLoading = true;
- if (this.isManageRuleModalAdd) {
- const modalOk$ = this.noticeRuleSvc.newNoticeRule(this.rule)
- .pipe(finalize(() => {
- modalOk$.unsubscribe();
- this.isManageRuleModalOkLoading = false;
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.isManageRuleModalVisible = false;
- this.notifySvc.success("新增成功!", "");
- this.loadRulesTable();
- } else {
- this.notifySvc.error("新增失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("新增失败!", error.msg);
- })
- } else {
- const modalOk$ = this.noticeRuleSvc.editNoticeRule(this.rule)
- .pipe(finalize(() => {
- modalOk$.unsubscribe();
- this.isManageRuleModalOkLoading = false;
- }))
- .subscribe(message => {
- if (message.code === 0) {
- this.isManageRuleModalVisible = false;
- this.notifySvc.success("修改成功!", "");
- this.loadRulesTable();
- } else {
- this.notifySvc.error("修改失败!", message.msg);
- }
- }, error => {
- this.notifySvc.error("修改失败!", error.msg);
- })
- }
- }
- }
|