123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- import { Component, OnInit, Input } from "@angular/core";
- import { ActivatedRoute } from "@angular/router";
- import { Subject } from 'rxjs';
- import { debounceTime } from 'rxjs/operators';
- import { MainService } from "../../../services/main.service";
- import { Validators, FormGroup, FormBuilder } from '@angular/forms';
- import { ToolService } from 'src/app/services/tool.service';
- import { NzMessageService } from 'ng-zorro-antd';
- @Component({
- selector: "app-configuration-voluntarilyBuild",
- templateUrl: "./configuration-voluntarilyBuild.component.html",
- styleUrls: ["./configuration-voluntarilyBuild.component.less"],
- })
- export class ConfigurationVoluntarilyBuildComponent implements OnInit {
- constructor(
- private route: ActivatedRoute,
- private mainService: MainService,
- private fb: FormBuilder,
- private tool: ToolService,
- private message: NzMessageService,
- ) {}
- @Input() voluntarilyTabList: any[] = [];
- coopData: any = {}; //当前操作列
- hosId:any;
- hospitals:any = [];
- isDeptLoading: boolean = false;
- currentHospital:any;
- malfunctionData:any = [];
- allUserGroup:any = [];
- userData:any = [];
- changeCommonInpSubject = new Subject();
-
- ngOnInit() {
- this.activeDictionaryKey = this.voluntarilyTabList[0];
- this.changeCommonInpSubject.pipe(debounceTime(500)).subscribe((v) => {
- if(v[0] === 'category'){
- this.searchApplicationCategory(v[1]);
- }
- });
- // 优先级
- setTimeout(() => {
- this.tablePriorityHeight = document.querySelector('#priorityTable').clientHeight - document.querySelector('#priorityTable .list-template__top').clientHeight - 8 - document.querySelector('#priorityTable .thead').clientHeight;
- }, 100)
- this.hosId = this.tool.getCurrentHospital().id;
- this.currentHospital = this.tool.getCurrentHospital();
- this.getCommonFaultsList();
- this.searchApplicationCategory()
- this.getEmergencyDic();
- this.getGroupList();
- }
-
- activeDictionaryKey:any;
- clickDictionaryKey(item){
- this.activeDictionaryKey = item;
- if(item.key=='alarmConfig'){
- this.getCommonFaultsList();
- }
- }
-
- // 获取处理组
- groupList:any = [];
- getGroupList() {
- let data = {
- idx: 0,
- sum: 99999,
- group2: {
- statisticalHosId: this.hosId
- }
- };
- this.mainService
- .getFetchDataList("simple/data", "group2", data)
- .subscribe((data) => {
- this.groupList = data.list || [];
- });
- }
-
- // 选择处理组
- changeGroup(e){
- this.validatePriorityForm.controls.userId.setValue(null);
- this.getUserList();
- }
-
- // 获取处理人
- userList:any = [];
- getUserList() {
- let data = {
- idx: 0,
- sum: 99999,
- user: {
- groupdata: {
- id: this.validatePriorityForm.value.groupId
- }
- }
- };
- this.mainService
- .getFetchDataList("data", "user", data)
- .subscribe((data) => {
- this.userList = data.list || [];
- });
- }
-
- // 获取告警优先级
- emergencyData:any = [];
- getEmergencyDic() {
- this.mainService.getDictionary("list", "alarm_urgency").subscribe((data) => {
- this.emergencyData = data || [];
- });
- }
-
- // 新增优先级弹框
- modelName = ""; //模态框名称
- modalPriority: boolean = false; //新增/编辑模态框
- add: boolean; //true:新增;false:编辑
- addPriorityModal() {
- this.modelName = "新增";
- this.add = true; //新增
- this.modalPriority = true;
- this.initForm();
- }
- //关闭新增/编辑弹框
- hidePriorityModal() {
- this.modalPriority = false;
- }
- changeCommonInp(type, e) {
- this.changeCommonInpSubject.next([type, e]);
- }
- // 获取故障现象数据
- isLoading:boolean = false;
- searchApplicationCategory(keyWord?){
- let postData = {
- category: {
- category: keyWord,
- selectType: "mutlQuery",
- hierarchy: 3,
- },
- };
- this.isLoading = true;
- this.mainService.incidentPost("listIncidentCategory", postData).subscribe(data => {
- this.isLoading = false;
- if (data.status == 200) {
- this.malfunctionData = data.data || [];
- }
- })
- }
- // 编辑
- editPriority(data) {
- console.log(data);
- this.modelName = "编辑";
- this.add = false;
- this.modalPriority = true;
- this.initForm();
- this.coopData = data;
- this.validatePriorityForm.controls.alarmUrgency.setValue(data.alarmUrgency.id);
- this.validatePriorityForm.controls.keywords.setValue(data.keywords?data.keywords:null);
- this.validatePriorityForm.controls.categoryId.setValue(data.categoryDTO?data.categoryDTO.id:null);
- this.validatePriorityForm.controls.groupId.setValue(data.groupDTO.id);
- if(data.groupDTO.id){
- this.getUserList()
- this.validatePriorityForm.controls.userId.setValue(data.userDTO?data.userDTO.id:null);
- }
- this.validatePriorityForm.controls.flag.setValue(data.flag);
- }
- // 新增/编辑表单提交
- btnLoading: boolean = false; //提交按钮loading状态
- submitPriorityForm(): void {
- for (const i in this.validatePriorityForm.controls) {
- this.validatePriorityForm.controls[i].markAsDirty();
- this.validatePriorityForm.controls[i].updateValueAndValidity();
- }
- if (this.validatePriorityForm.invalid) {
- return;
- }
- console.log(this.validatePriorityForm.value);
- this.btnLoading = true;
- let postData:any = {};
- if (this.add) {
- //增加
- postData = {
- alarmUrgency: {
- id: this.validatePriorityForm.value.alarmUrgency
- },
- keywords: this.validatePriorityForm.value.keywords || undefined,
- categoryId: this.validatePriorityForm.value.categoryId,
- groupId: this.validatePriorityForm.value.groupId,
- userId: this.validatePriorityForm.value.userId || undefined,
- flag: this.validatePriorityForm.value.flag,
- };
- } else {
- //编辑
- postData = {
- ...this.coopData,
- alarmUrgency: {
- id: this.validatePriorityForm.value.alarmUrgency
- },
- keywords: this.validatePriorityForm.value.keywords || undefined,
- categoryId: this.validatePriorityForm.value.categoryId,
- groupId: this.validatePriorityForm.value.groupId,
- userId: this.validatePriorityForm.value.userId || undefined,
- flag: this.validatePriorityForm.value.flag,
- };
- }
- this.mainService
- .simplePost(this.add ? "addData": "upData", "alarmConfig", postData)
- .subscribe((result) => {
- this.btnLoading = false;
- this.hidePriorityModal();
- let msg = "";
- if (this.add) {
- msg = "新增";
- } else {
- msg = "修改";
- }
- if (result.status == 200) {
- this.showPromptModal(msg, true, '');
- } else {
- this.showPromptModal(msg, false, result.msg);
- }
- });
- }
- // 初始化新增form表单
- validatePriorityForm: FormGroup; //新增/编辑表单
- initForm() {
- this.validatePriorityForm = this.fb.group({
- alarmUrgency: [null, [Validators.required]],
- keywords: [null, []],
- categoryId: [null, [Validators.required]],
- groupId: [null, [Validators.required]],
- userId: [null, []],
- flag: [null, [Validators.required]],
- });
- console.log(this.validatePriorityForm.controls)
- }
- // 获取列表
- loading1:boolean = false;
- commonFaultsList: any[] = []; //表格数据
- tablePriorityHeight:number = 0;
- getCommonFaultsList() {
- let data = {
- idx: 0,
- sum: 99999,
- alarmConfig: {
- hosId: this.hosId
- },
- };
- this.loading1 = true;
- this.mainService
- .getFetchDataList("simple/data", "alarmConfig", data)
- .subscribe((data) => {
- this.loading1 = false;
- this.commonFaultsList = data.list || [];
- });
- }
- delModal: boolean = false; //删除模态框
- tipsMsg1: string; //提示框信息
- tipsMsg2: string; //操作后信息
- confirmDelType: string; //确认的类型(启用/停用,删除)
- showDelModal(
- data,
- tipsMsg1: string,
- tipsMsg2: string,
- type: string,
- ) {
- this.confirmDelType = type;
- this.delModal = true;
- this.coopData = data;
- console.log(this.coopData);
- this.tipsMsg1 = tipsMsg1;
- this.tipsMsg2 = tipsMsg2;
- }
- // 隐藏删除框
- hideDelModal() {
- this.delModal = false;
- }
- // 确认删除
- confirmDel() {
- this.btnLoading = true;
- this.mainService
- .simplePost("rmvData", "alarmConfig", [this.coopData.id])
- .subscribe((data) => {
- this.btnLoading = false;
- this.delModal = false;
- if (data.status == 200) {
- this.showPromptModal(this.tipsMsg2, true, "");
- } else {
- this.showPromptModal(this.tipsMsg2, false, data.msg);
- }
- });
- }
- // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
- promptContent: string; //操作提示框提示信息
- ifSuccess: boolean; //操作成功/失败
- promptInfo: string; //操作结果提示信息
- promptModalShow: boolean; //操作提示框是否展示
- showPromptModal(con, success, promptInfo?) {
- this.promptModalShow = false;
- this.promptContent = con;
- this.ifSuccess = success;
- this.promptInfo = promptInfo;
- setTimeout(() => {
- this.promptModalShow = true;
- }, 100);
- this.getCommonFaultsList();
- }
- }
|