mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
1 line
71 KiB
JSON
1 line
71 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./create-process.page.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./create-process.page.scss?ngResource\";\nimport { Component } from '@angular/core';\nimport { ModalController, NavParams } from '@ionic/angular';\nimport { Despacho } from 'src/app/models/despacho.model';\nimport { ProcessesService } from 'src/app/services/processes.service';\nimport { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';\nimport { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';\nimport { SearchPage } from 'src/app/pages/search/search.page';\nimport { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page';\nimport { ToastService } from 'src/app/services/toast.service';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';\nimport { PermissionService } from 'src/app/services/permission.service';\nimport { DespachoService } from 'src/app/Rules/despacho.service';\nimport { PedidoService } from 'src/app/Rules/pedido.service';\nimport { ThemeService } from 'src/app/services/theme.service';\nimport { SessionStore } from 'src/app/store/session.service';\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\nconst CUSTOM_DATE_FORMATS = {\n parse: {\n dateInput: \"YYYY-MMMM-DD HH:mm\"\n },\n display: {\n dateInput: \"DD MMM YYYY H:mm\",\n monthYearLabel: \"MMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n }\n};\nlet CreateProcessPage = class CreateProcessPage {\n constructor(modalController, processes, navParams, toastService, p, despachoService, pedidoService, ThemeService, httpsErrorHanlde) {\n this.modalController = modalController;\n this.processes = processes;\n this.navParams = navParams;\n this.toastService = toastService;\n this.p = p;\n this.despachoService = despachoService;\n this.pedidoService = pedidoService;\n this.ThemeService = ThemeService;\n this.httpsErrorHanlde = httpsErrorHanlde;\n this.modalTitle = ['Efectuar Despacho', 'Solicitar Parecer', 'Solicitar Deferimento'];\n this.taskParticipants = [];\n this.taskParticipantsCc = [];\n this.selectedTypes = [];\n this.contacts = [];\n // trigger hide and show for attendee component\n this.showAttendees = false;\n this.adding = \"intervenient\";\n this.validateFrom = false;\n this.validateField = false;\n this.emptyTextDescription = \"Sem intervenientes selecionados\";\n this.showEmptyContainer = true;\n this.documents = [];\n this.toppings = new UntypedFormControl();\n this.toppingList = ['Economia', 'Saúde', 'Educação', 'Finanças', 'Agricultura'];\n this.loggeduser = SessionStore.user;\n this.task = this.navParams.get('task');\n this.fulltask = this.navParams.get('fulltask');\n if (this.task.SerialNumber) {\n this.task.serialNumber = this.task.SerialNumber;\n }\n this.taskType = this.navParams.get('taskAction');\n this.postData = new Despacho();\n this.participants = this.participants = new Array();\n //Initialize SubjectTypes Array with the value \"Indefinido\"\n this.selectedTypes = ['99999850'];\n let NumberPDPP;\n if (this.fulltask) {\n if (this.fulltask.workflowInstanceDataFields) {\n NumberPDPP = this.fulltask.workflowInstanceDataFields.DispatchNumber;\n }\n }\n let SourceId;\n let SourceType;\n let SourceSecFsId;\n const taskId = this.task.workflowInstanceDataFields?.FolderID || this.task?.FolderId || this.task?.FolderID;\n if (taskId) {\n SourceId = taskId;\n SourceType = 'FOLDER';\n SourceSecFsId = 361;\n } else {\n SourceId = this.task.workflowInstanceDataFields.SourceID;\n SourceType = 'DOC';\n SourceSecFsId = 8;\n }\n this.dispatchFolder = {\n Nad: 30,\n Subject: '',\n Message: '',\n SourceSecFsId: SourceSecFsId,\n SourceType: SourceType,\n SourceId: SourceId,\n DeadlineType: '',\n SubjectTypes: this.selectedTypes,\n NumberPDPP: this.task?.workflowInstanceDataFields?.DispatchNumber || NumberPDPP || this.fulltask?.workflowInstanceDataFields?.DispatchNumber\n };\n this.postData.DispatchFolder = this.dispatchFolder;\n this.postData.UsersSelected = this.participants;\n /* By Default TypeDeadline should be 'Normal' */\n this.postData.Priority = '99999861';\n /* Initialize 'Subject' with the title of the expedient */\n this.postData.DispatchFolder.Subject = this.task?.workflowInstanceDataFields?.Subject || this.fulltask?.workflowInstanceDataFields?.Subject;\n this.profile = this.navParams.get('profile');\n }\n setAdding(type) {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.adding = type;\n })();\n }\n ngOnInit() {\n this.getSubjectType();\n setTimeout(() => {\n this.selectedTypes = ['99999850'];\n }, 500);\n this.taskDate = new Date(this.task.taskStartDate);\n }\n onSelectedTypesChanged(ev) {\n if (ev.length > 1) {\n this.selectedTypes = ev.filter(data => data != '99999850');\n }\n if (ev.length == 0) {\n this.selectedTypes = [\"99999850\"];\n }\n }\n close() {\n this.modalController.dismiss(null);\n }\n getSubjectType() {\n this.processes.GetSubjectType().subscribe(res => {\n this.subjectTypes = res;\n });\n }\n cancelTask() {\n this.modalController.dismiss(null);\n }\n runValidation() {\n this.validateFrom = true;\n }\n defaultParticipants() {\n if (this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {\n return ['MDGPR'];\n }\n return null;\n }\n injectValidation() {\n this.Form = new UntypedFormGroup({\n Subject: new UntypedFormControl(this.postData.DispatchFolder.Subject, [Validators.required\n // Validators.minLength(4)\n ]),\n\n Message: new UntypedFormControl(this.postData.DispatchFolder.Message, [Validators.required]),\n Priority: new UntypedFormControl(this.postData.Priority, [Validators.required]),\n participantes: new UntypedFormControl(this.defaultParticipants() || this.taskParticipants, [Validators.required]),\n selectedTypes: new UntypedFormControl(this.selectedTypes, [Validators.required])\n });\n }\n saveTask() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n if (!_this2.p.userRole(['PR'])) {\n _this2.injectValidation();\n _this2.runValidation();\n if (_this2.Form.invalid) return false;\n }\n if (_this2.postData.Priority == '99999861') {\n _this2.dispatchFolder.DeadlineType = 'Normal';\n } else if (_this2.postData.Priority == '99999862') {\n _this2.dispatchFolder.DeadlineType = 'Urgente';\n } else if (_this2.postData.Priority == '99999863') {\n _this2.dispatchFolder.DeadlineType = 'Muito Urgente';\n } else if (_this2.postData.Priority == '99999864') {\n _this2.dispatchFolder.DeadlineType = 'Urgentíssimo';\n }\n let attendees = _this2.taskParticipants.concat(_this2.taskParticipantsCc);\n attendees = attendees.map(function (val) {\n return {\n UserEmail: val.EmailAddress,\n UserType: val.IsRequired ? \"I\" : \"CC\"\n };\n });\n let docs = {\n ProcessInstanceID: \"\",\n Attachments: []\n };\n const DocumentToSave = _this2.documents.map(e => {\n return {\n ApplicationId: e.ApplicationType,\n SourceId: e.Id\n };\n });\n docs.Attachments = DocumentToSave;\n _this2.dispatchFolder.SubjectTypes = _this2.selectedTypes;\n const loader = _this2.toastService.loading();\n if (_this2.fulltask.activityInstanceName == \"Assinar Diploma\") {\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n // await this.processes.postDespatcho(this.postData).toPromise();\n yield _this2.despachoService.createDespacho(_this2.postData).toPromise();\n _this2.executado(_this2.dispatchFolder.Message, docs.Attachments);\n _this2.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho');\n loader.remove();\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n loader.remove();\n }\n } else {\n if (_this2.loggeduser.Profile != 'PR') {\n switch (_this2.taskType) {\n case '0':\n // Despacho\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n yield _this2.processes.postDespatcho(_this2.postData).toPromise();\n yield _this2.despachoService.EfectuarDespacho({\n note: _this2.dispatchFolder.Message,\n serialnumber: _this2.task.serialNumber,\n activityInstanceName: _this2.task.activityInstanceName\n }).toPromise();\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n break;\n case '1':\n // pedido de Parecer\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n if (_this2.task.activityInstanceName == 'Tarefa de Despacho' || _this2.task.activityInstanceName == 'Reexecutar Despacho') {\n yield _this2.despachoService.createParecer(_this2.postData).toPromise();\n yield _this2.despachoService.solicitarParecer({\n note: _this2.postData.DispatchFolder.Message,\n serialnumber: _this2.task.serialNumber,\n activityInstanceName: _this2.task.activityInstanceName\n }).toPromise();\n } else {\n yield _this2.pedidoService.createParecer(_this2.postData).toPromise();\n yield _this2.pedidoService.taskCompleteParecer({\n serialNumber: _this2.task.serialNumber,\n note: _this2.postData.DispatchFolder.Message\n }).toPromise();\n }\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n break;\n case '2':\n // Pedido de Deferimento\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n yield _this2.pedidoService.createDeferimento(_this2.postData).toPromise();\n yield _this2.pedidoService.taskCompleteDeferimento({\n note: _this2.postData.DispatchFolder.Message,\n serialNumber: _this2.task.serialNumber\n }).toPromise();\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n break;\n }\n } else if (_this2.loggeduser.Profile == 'PR') {\n switch (_this2.taskType) {\n case '0':\n // Despacho PR\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n if (_this2.postData.DispatchFolder.Message) {\n try {\n yield _this2.despachoService.createDespacho(_this2.postData).toPromise();\n yield _this2.despachoService.CompleteTask({\n serialNumber: _this2.task.serialNumber,\n note: _this2.dispatchFolder.Message\n }).toPromise();\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n } else {\n _this2.validateField = true;\n _this2.toastService._badRequest('Por favor adicione uma descrição');\n }\n loader.remove();\n break;\n case '1':\n // Pedido de Parecer\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n if (_this2.task.activityInstanceName == 'Tarefa de Despacho' || _this2.task.activityInstanceName == 'Reexecutar Despacho') {\n yield _this2.despachoService.createParecer(_this2.postData).toPromise();\n yield _this2.despachoService.solicitarParecer({\n note: _this2.postData.DispatchFolder.Message,\n serialnumber: _this2.task.serialNumber,\n activityInstanceName: _this2.task.activityInstanceName\n }).toPromise();\n } else {\n yield _this2.pedidoService.createParecer(_this2.postData).toPromise();\n yield _this2.pedidoService.taskCompleteParecer({\n serialNumber: _this2.task.serialNumber,\n note: _this2.postData.DispatchFolder.Message\n }).toPromise();\n }\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n break;\n case '2':\n // Pedido de Deferimento\n _this2.postData = {\n DistributionType: \"Paralelo\",\n CountryCode: 'AO',\n Priority: _this2.postData.Priority,\n UserEmail: _this2.loggeduser.Email,\n UsersSelected: attendees,\n DispatchFolder: _this2.dispatchFolder,\n AttachmentList: docs\n };\n try {\n yield _this2.pedidoService.createDeferimento(_this2.postData).toPromise();\n yield _this2.pedidoService.taskCompleteDeferimento({\n note: _this2.postData.DispatchFolder.Message,\n serialNumber: _this2.task.serialNumber\n }).toPromise();\n _this2.modalController.dismiss();\n _this2.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento');\n } catch (error) {\n _this2.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n break;\n }\n }\n }\n })();\n }\n executado(note, documents) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n let body = {\n \"serialNumber\": _this3.fulltask.serialNumber,\n \"action\": \"Conhecimento\",\n \"ActionTypeId\": 104,\n \"dataFields\": {\n \"ReviewUserComment\": note\n },\n \"AttachmentList\": documents\n };\n const loader = _this3.toastService.loading();\n try {\n yield _this3.processes.CompleteTask(body).toPromise();\n _this3.close();\n _this3.toastService._successMessage();\n } catch (error) {\n if (error.status == 0) {\n _this3.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão');\n } else {\n _this3.toastService._badRequest();\n }\n } finally {\n loader.remove();\n }\n })();\n }\n FinalizarDespacho(loader, message) {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n let body;\n if (_this4.task.activityInstanceName == 'Tarefa de Despacho' || _this4.task.activityInstanceName == 'Reexecutar Despacho') {\n body = {\n \"serialNumber\": _this4.task.serialNumber,\n \"action\": \"Conhecimento\",\n \"ActionTypeId\": 104,\n \"dataFields\": {\n \"ReviewUserComment\": ''\n },\n \"AttachmentList\": null\n };\n } else if (_this4.task.activityInstanceName == 'Concluir Despacho' || _this4.task.activityInstanceName == 'Concluir Parecer' || _this4.task.activityInstanceName == 'Concluir Deferimento' || _this4.task.activityInstanceName == 'Reapreciar Deferimento' || _this4.task.activityInstanceName == 'Tarefa de Deferimento') {\n body = {\n \"serialNumber\": _this4.task.serialNumber,\n \"action\": \"Despacho\",\n \"ActionTypeId\": 94,\n \"dataFields\": {\n \"ReviewUserComment\": ''\n },\n \"AttachmentList\": null\n };\n } else {}\n try {\n yield _this4.processes.CompleteTask(body).toPromise();\n _this4.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho');\n } catch (error) {\n _this4.httpsErrorHanlde.httpStatusHandle(error);\n } finally {\n loader.remove();\n }\n })();\n }\n addParticipants() {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n _this5.adding = \"intervenient\";\n _this5.contacts = _this5.taskParticipants;\n if (window.innerWidth <= 800) {\n _this5.showAttendees = false;\n const modal = yield _this5.modalController.create({\n component: AttendeesPageModal,\n componentProps: {\n adding: _this5.adding,\n taskParticipants: _this5.taskParticipants,\n taskParticipantsCc: _this5.taskParticipantsCc\n },\n cssClass: 'modal attendee modal-desktop',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss().then(data => {\n if (data) {\n data = data['data'];\n const newAttendees = data['taskParticipants'];\n const newAttendeesCC = data['taskParticipantsCc'];\n _this5.setIntervenient(newAttendees);\n _this5.setIntervenientCC(newAttendeesCC);\n }\n });\n } else {\n _this5.showAttendees = true;\n }\n })();\n }\n addParticipantsCc() {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n _this6.adding = \"CC\";\n _this6.contacts = _this6.taskParticipantsCc;\n if (window.innerWidth <= 800) {\n _this6.showAttendees = false;\n const modal = yield _this6.modalController.create({\n component: AttendeesPageModal,\n componentProps: {\n adding: _this6.adding,\n taskParticipants: _this6.taskParticipants,\n taskParticipantsCc: _this6.taskParticipantsCc\n },\n cssClass: 'attendee modal-desktop',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss().then(data => {\n if (data) {\n data = data['data'];\n const newAttendees = data['taskParticipants'];\n const newAttendeesCC = data['taskParticipantsCc'];\n _this6.setIntervenient(newAttendees);\n _this6.setIntervenientCC(newAttendeesCC);\n }\n });\n } else {\n _this6.showAttendees = true;\n }\n })();\n }\n distartExpedientModal() {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n const modal = yield _this7.modalController.create({\n component: DiscartExpedientModalPage,\n componentProps: {\n serialNumber: _this7.task.serialNumber,\n folderId: _this7.task.workflowInstanceDataFields.FolderID,\n action: 'complete'\n },\n cssClass: 'discart-expedient-modal',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss().then(res => {\n if (res['data'] == 'close') {\n _this7.modalController.dismiss(res['data']);\n }\n });\n })();\n }\n setContact(data) {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n if (_this8.adding == \"intervenient\") {\n _this8.taskParticipants = data;\n } else if (_this8.adding == \"CC\") {\n _this8.taskParticipantsCc = data;\n }\n })();\n }\n dynamicSetIntervenient({\n taskParticipants,\n taskParticipantsCc\n }) {\n this.taskParticipants = taskParticipants;\n this.taskParticipantsCc = taskParticipantsCc;\n }\n setIntervenient(data) {\n var _this9 = this;\n return _asyncToGenerator(function* () {\n _this9.taskParticipants = data;\n })();\n }\n setIntervenientCC(data) {\n var _this10 = this;\n return _asyncToGenerator(function* () {\n _this10.taskParticipantsCc = data;\n })();\n }\n closeComponent() {\n var _this11 = this;\n return _asyncToGenerator(function* () {\n _this11.showAttendees = false;\n })();\n }\n viewExpedientDetail() {\n var _this12 = this;\n return _asyncToGenerator(function* () {\n let classs;\n if (window.innerWidth <= 800) {\n classs = 'modal modal-desktop';\n } else {\n classs = 'modal modal-desktop showAsideOptions';\n }\n const modal = yield _this12.modalController.create({\n component: ExpedienteDetailPage,\n componentProps: {\n serialNumber: _this12.task.serialNumber,\n profile: _this12.profile\n },\n cssClass: classs,\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss().then(res => {});\n })();\n }\n removeAttachment(index) {\n this.documents = this.documents.filter((e, i) => index != i);\n }\n getDoc() {\n var _this13 = this;\n return _asyncToGenerator(function* () {\n const modal = yield _this13.modalController.create({\n component: SearchPage,\n cssClass: 'modal-width-100-width-background modal',\n componentProps: {\n type: 'AccoesPresidenciais & ArquivoDespachoElect',\n showSearchInput: true,\n select: true\n }\n });\n yield modal.present();\n modal.onDidDismiss().then(res => {\n if (res) {\n const data = res.data;\n _this13.documents.push(data.selected);\n }\n });\n })();\n }\n};\nCreateProcessPage.ctorParameters = () => [{\n type: ModalController\n}, {\n type: ProcessesService\n}, {\n type: NavParams\n}, {\n type: ToastService\n}, {\n type: PermissionService\n}, {\n type: DespachoService\n}, {\n type: PedidoService\n}, {\n type: ThemeService\n}, {\n type: HttpErrorHandle\n}];\nCreateProcessPage = __decorate([Component({\n selector: 'app-create-process',\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: NGX_MAT_DATE_FORMATS,\n useValue: CUSTOM_DATE_FORMATS\n }],\n styles: [__NG_CLI_RESOURCE__1]\n})], CreateProcessPage);\nexport { CreateProcessPage };","map":{"version":3,"mappings":"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","names":["Component","ModalController","NavParams","Despacho","ProcessesService","DiscartExpedientModalPage","ExpedienteDetailPage","SearchPage","AttendeesPageModal","ToastService","UntypedFormControl","UntypedFormGroup","Validators","NGX_MAT_DATE_FORMATS","PermissionService","DespachoService","PedidoService","ThemeService","SessionStore","HttpErrorHandle","CUSTOM_DATE_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","CreateProcessPage","constructor","modalController","processes","navParams","toastService","p","despachoService","pedidoService","httpsErrorHanlde","loggeduser","user","task","get","fulltask","SerialNumber","serialNumber","taskType","postData","participants","Array","selectedTypes","NumberPDPP","workflowInstanceDataFields","DispatchNumber","SourceId","SourceType","SourceSecFsId","taskId","FolderID","FolderId","SourceID","dispatchFolder","Nad","Subject","Message","DeadlineType","SubjectTypes","DispatchFolder","UsersSelected","Priority","profile","setAdding","type","_this","adding","ngOnInit","getSubjectType","setTimeout","taskDate","Date","taskStartDate","onSelectedTypesChanged","ev","length","filter","data","close","dismiss","GetSubjectType","subscribe","res","subjectTypes","cancelTask","runValidation","validateFrom","defaultParticipants","userPermission","permissionList","Gabinete","pr_tasks","injectValidation","Form","required","participantes","taskParticipants","saveTask","_this2","userRole","invalid","attendees","concat","taskParticipantsCc","map","val","UserEmail","EmailAddress","UserType","IsRequired","docs","ProcessInstanceID","Attachments","DocumentToSave","documents","e","ApplicationId","ApplicationType","Id","loader","loading","activityInstanceName","DistributionType","CountryCode","Email","AttachmentList","createDespacho","toPromise","executado","httpsSucessMessagge","remove","error","httpStatusHandle","Profile","postDespatcho","EfectuarDespacho","note","serialnumber","createParecer","solicitarParecer","taskCompleteParecer","createDeferimento","taskCompleteDeferimento","CompleteTask","validateField","_badRequest","body","_this3","_successMessage","status","FinalizarDespacho","message","_this4","addParticipants","_this5","contacts","window","innerWidth","showAttendees","modal","create","component","componentProps","cssClass","backdropDismiss","present","onDidDismiss","then","newAttendees","newAttendeesCC","setIntervenient","setIntervenientCC","addParticipantsCc","_this6","distartExpedientModal","_this7","folderId","action","setContact","_this8","dynamicSetIntervenient","_this9","_this10","closeComponent","_this11","viewExpedientDetail","classs","_this12","removeAttachment","index","i","getDoc","_this13","showSearchInput","select","push","selected","selector","template","providers","provide","useValue"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\modals\\create-process\\create-process.page.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { ModalController, NavParams } from '@ionic/angular';\r\nimport { Despacho } from 'src/app/models/despacho.model';\r\nimport { EventPerson } from 'src/app/models/eventperson.model';\r\nimport { Participant } from 'src/app/models/participant.model';\r\nimport { Folder } from 'src/app/models/folder.model';\r\nimport { ProcessesService } from 'src/app/services/processes.service';\r\nimport { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page';\r\nimport { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';\r\nimport { SearchList } from 'src/app/models/search-document';\r\nimport { SearchPage } from 'src/app/pages/search/search.page';\r\nimport { LoginUserRespose } from 'src/app/models/user.model';\r\nimport { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { NgxMatDateFormats } from '@angular-material-components/datetime-picker';\r\nimport { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';\r\nimport { PermissionService } from 'src/app/services/permission.service';\r\nimport { DespachoService } from 'src/app/Rules/despacho.service';\r\nimport { PedidoService } from 'src/app/Rules/pedido.service'\r\nimport { fullTask } from 'src/app/models/dailyworktask.model';\r\nimport { ThemeService } from 'src/app/services/theme.service'\r\nimport { SessionStore } from 'src/app/store/session.service';\r\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\r\n\r\n\r\nconst CUSTOM_DATE_FORMATS: NgxMatDateFormats = {\r\n parse: {\r\n dateInput: \"YYYY-MMMM-DD HH:mm\"\r\n },\r\n display: {\r\n dateInput: \"DD MMM YYYY H:mm\",\r\n monthYearLabel: \"MMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-create-process',\r\n templateUrl: './create-process.page.html',\r\n styleUrls: ['./create-process.page.scss'],\r\n providers: [\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n ]\r\n})\r\nexport class CreateProcessPage implements OnInit {\r\n modalTitle: string[] = [\r\n 'Efectuar Despacho',\r\n 'Solicitar Parecer',\r\n 'Solicitar Deferimento'\r\n ];\r\n taskType: string;\r\n task: any;\r\n fulltask: fullTask;\r\n\r\n taskParticipants: any = [];\r\n taskParticipantsCc: any = [];\r\n\r\n taskDate: Date;\r\n taskDescription: string;\r\n loadedAttachments: any;\r\n subjectTypes: any;\r\n selectedTypes: string[] = [];\r\n\r\n postData: Despacho;\r\n dispatchFolder: Folder;\r\n participants: Participant[];\r\n\r\n contacts = [];\r\n // trigger hide and show for attendee component\r\n showAttendees = false;\r\n\r\n adding: \"intervenient\" | \"CC\" = \"intervenient\";\r\n profile: string;\r\n\r\n Form: UntypedFormGroup;\r\n validateFrom = false;\r\n validateField = false;\r\n\r\n emptyTextDescription = \"Sem intervenientes selecionados\";\r\n showEmptyContainer = true;\r\n\r\n documents: SearchList[] = [];\r\n\r\n loggeduser: LoginUserRespose;\r\n\r\n toppings = new UntypedFormControl();\r\n\r\n toppingList: string[] = ['Economia', 'Saúde', 'Educação', 'Finanças', 'Agricultura'];\r\n\r\n constructor(\r\n private modalController: ModalController,\r\n private processes: ProcessesService,\r\n private navParams: NavParams,\r\n private toastService: ToastService,\r\n public p: PermissionService,\r\n private despachoService: DespachoService,\r\n private pedidoService: PedidoService,\r\n public ThemeService: ThemeService,\r\n private httpsErrorHanlde: HttpErrorHandle\r\n ) {\r\n this.loggeduser = SessionStore.user;\r\n this.task = this.navParams.get('task');\r\n this.fulltask = this.navParams.get('fulltask');\r\n\r\n if (this.task.SerialNumber) {\r\n this.task.serialNumber = this.task.SerialNumber\r\n }\r\n\r\n\r\n this.taskType = this.navParams.get('taskAction');\r\n\r\n this.postData = new Despacho();\r\n this.participants = this.participants = new Array();\r\n //Initialize SubjectTypes Array with the value \"Indefinido\"\r\n this.selectedTypes = ['99999850'];\r\n\r\n let NumberPDPP;\r\n\r\n if (this.fulltask) {\r\n if (this.fulltask.workflowInstanceDataFields) {\r\n NumberPDPP = this.fulltask.workflowInstanceDataFields.DispatchNumber\r\n }\r\n }\r\n\r\n let SourceId;\r\n let SourceType;\r\n let SourceSecFsId;\r\n const taskId = this.task.workflowInstanceDataFields?.FolderID || this.task?.FolderId || this.task?.FolderID\r\n\r\n if (taskId) {\r\n SourceId = taskId\r\n SourceType = 'FOLDER'\r\n SourceSecFsId = 361\r\n } else {\r\n SourceId = this.task.workflowInstanceDataFields.SourceID\r\n SourceType = 'DOC'\r\n SourceSecFsId = 8\r\n }\r\n\r\n this.dispatchFolder = {\r\n Nad: 30,\r\n Subject: '',\r\n Message: '',\r\n SourceSecFsId: SourceSecFsId, //361\r\n SourceType: SourceType, //FOLDER\r\n SourceId: SourceId,\r\n DeadlineType: '',\r\n SubjectTypes: this.selectedTypes,\r\n NumberPDPP: this.task?.workflowInstanceDataFields?.DispatchNumber || NumberPDPP || this.fulltask?.workflowInstanceDataFields?.DispatchNumber\r\n };\r\n\r\n this.postData.DispatchFolder = this.dispatchFolder;\r\n this.postData.UsersSelected = this.participants;\r\n /* By Default TypeDeadline should be 'Normal' */\r\n this.postData.Priority = '99999861';\r\n /* Initialize 'Subject' with the title of the expedient */\r\n\r\n this.postData.DispatchFolder.Subject = this.task?.workflowInstanceDataFields?.Subject || this.fulltask?.workflowInstanceDataFields?.Subject;\r\n this.profile = this.navParams.get('profile');\r\n }\r\n\r\n async setAdding(type: \"intervenient\" | \"CC\") {\r\n this.adding = type;\r\n }\r\n\r\n ngOnInit() {\r\n this.getSubjectType();\r\n setTimeout(() => {\r\n this.selectedTypes = ['99999850'];\r\n }, 500);\r\n\r\n\r\n this.taskDate = new Date(this.task.taskStartDate);\r\n }\r\n\r\n onSelectedTypesChanged(ev: any) {\r\n if (ev.length > 1) {\r\n this.selectedTypes = ev.filter(data => data != '99999850');\r\n }\r\n if (ev.length == 0) {\r\n this.selectedTypes = [\"99999850\"];\r\n }\r\n }\r\n\r\n close() {\r\n this.modalController.dismiss(null);\r\n }\r\n\r\n getSubjectType() {\r\n this.processes.GetSubjectType().subscribe(res => {\r\n this.subjectTypes = res;\r\n });\r\n }\r\n\r\n cancelTask() {\r\n this.modalController.dismiss(null);\r\n }\r\n\r\n runValidation() {\r\n this.validateFrom = true\r\n }\r\n\r\n defaultParticipants() {\r\n if (this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {\r\n return ['MDGPR']\r\n }\r\n\r\n return null\r\n }\r\n injectValidation() {\r\n\r\n this.Form = new UntypedFormGroup({\r\n Subject: new UntypedFormControl(this.postData.DispatchFolder.Subject, [\r\n Validators.required,\r\n // Validators.minLength(4)\r\n ]),\r\n Message: new UntypedFormControl(this.postData.DispatchFolder.Message, [\r\n Validators.required,\r\n ]),\r\n Priority: new UntypedFormControl(this.postData.Priority, [\r\n Validators.required,\r\n ]),\r\n participantes: new UntypedFormControl(this.defaultParticipants() || this.taskParticipants, [\r\n Validators.required\r\n ]),\r\n selectedTypes: new UntypedFormControl(this.selectedTypes, [\r\n Validators.required,\r\n ]),\r\n\r\n })\r\n }\r\n\r\n async saveTask() {\r\n\r\n if (!this.p.userRole(['PR'])) {\r\n this.injectValidation()\r\n this.runValidation()\r\n if (this.Form.invalid) return false\r\n }\r\n\r\n\r\n if (this.postData.Priority == '99999861') {\r\n this.dispatchFolder.DeadlineType = 'Normal';\r\n }\r\n else if (this.postData.Priority == '99999862') {\r\n this.dispatchFolder.DeadlineType = 'Urgente';\r\n }\r\n else if (this.postData.Priority == '99999863') {\r\n this.dispatchFolder.DeadlineType = 'Muito Urgente';\r\n }\r\n else if (this.postData.Priority == '99999864') {\r\n this.dispatchFolder.DeadlineType = 'Urgentíssimo';\r\n }\r\n\r\n let attendees = this.taskParticipants.concat(this.taskParticipantsCc);\r\n\r\n attendees = attendees.map(function (val) {\r\n return {\r\n UserEmail: val.EmailAddress,\r\n UserType: val.IsRequired ? \"I\" : \"CC\"\r\n };\r\n });\r\n\r\n\r\n let docs = {\r\n ProcessInstanceID: \"\",\r\n Attachments: []\r\n }\r\n\r\n const DocumentToSave = this.documents.map((e) => {\r\n return {\r\n ApplicationId: e.ApplicationType,\r\n SourceId: e.Id\r\n }\r\n });\r\n\r\n docs.Attachments = DocumentToSave;\r\n\r\n this.dispatchFolder.SubjectTypes = this.selectedTypes;\r\n const loader = this.toastService.loading()\r\n\r\n if (this.fulltask.activityInstanceName == \"Assinar Diploma\") {\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n // await this.processes.postDespatcho(this.postData).toPromise();\r\n await this.despachoService.createDespacho(this.postData).toPromise();\r\n this.executado(this.dispatchFolder.Message, docs.Attachments)\r\n this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')\r\n loader.remove();\r\n } catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n loader.remove()\r\n }\r\n\r\n } else {\r\n\r\n if (this.loggeduser.Profile != 'PR') {\r\n switch (this.taskType) {\r\n case '0': // Despacho\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n await this.processes.postDespatcho(this.postData).toPromise();\r\n await this.despachoService.EfectuarDespacho({ note: this.dispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')\r\n } catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n break;\r\n case '1': // pedido de Parecer\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n if (this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {\r\n await this.despachoService.createParecer(this.postData).toPromise();\r\n await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();\r\n } else {\r\n\r\n await this.pedidoService.createParecer(this.postData).toPromise();\r\n await this.pedidoService.taskCompleteParecer({ serialNumber: this.task.serialNumber, note: this.postData.DispatchFolder.Message }).toPromise();\r\n }\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')\r\n }\r\n catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n break;\r\n case '2': // Pedido de Deferimento\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n await this.pedidoService.createDeferimento(this.postData).toPromise();\r\n await this.pedidoService.taskCompleteDeferimento({ note: this.postData.DispatchFolder.Message, serialNumber: this.task.serialNumber }).toPromise();\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento')\r\n }\r\n catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n }\r\n finally {\r\n loader.remove()\r\n }\r\n break;\r\n }\r\n } else if (this.loggeduser.Profile == 'PR') {\r\n switch (this.taskType) {\r\n case '0': // Despacho PR\r\n\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n if (this.postData.DispatchFolder.Message) {\r\n try {\r\n await this.despachoService.createDespacho(this.postData).toPromise();\r\n await this.despachoService.CompleteTask({ serialNumber: this.task.serialNumber, note: this.dispatchFolder.Message }).toPromise();\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')\r\n } catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n } finally {\r\n loader.remove();\r\n }\r\n }\r\n else {\r\n this.validateField = true;\r\n this.toastService._badRequest('Por favor adicione uma descrição');\r\n }\r\n loader.remove();\r\n break;\r\n case '1': // Pedido de Parecer\r\n\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n\r\n if (this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {\r\n await this.despachoService.createParecer(this.postData).toPromise();\r\n await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();\r\n } else {\r\n await this.pedidoService.createParecer(this.postData).toPromise();\r\n await this.pedidoService.taskCompleteParecer({ serialNumber: this.task.serialNumber, note: this.postData.DispatchFolder.Message }).toPromise();\r\n }\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')\r\n }\r\n catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n break;\r\n case '2': // Pedido de Deferimento\r\n\r\n this.postData = {\r\n DistributionType: \"Paralelo\",\r\n CountryCode: 'AO',\r\n Priority: this.postData.Priority,\r\n UserEmail: this.loggeduser.Email,\r\n UsersSelected: attendees,\r\n DispatchFolder: this.dispatchFolder,\r\n AttachmentList: docs\r\n }\r\n\r\n try {\r\n await this.pedidoService.createDeferimento(this.postData).toPromise();\r\n await this.pedidoService.taskCompleteDeferimento({ note: this.postData.DispatchFolder.Message, serialNumber: this.task.serialNumber }).toPromise();\r\n\r\n this.modalController.dismiss();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento')\r\n }\r\n catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n async executado(note: string, documents: any) {\r\n let body = {\r\n \"serialNumber\": this.fulltask.serialNumber,\r\n \"action\": \"Conhecimento\",\r\n \"ActionTypeId\": 104,\r\n \"dataFields\": {\r\n \"ReviewUserComment\": note,\r\n },\r\n \"AttachmentList\": documents,\r\n }\r\n\r\n const loader = this.toastService.loading()\r\n\r\n try {\r\n await this.processes.CompleteTask(body).toPromise()\r\n this.close();\r\n this.toastService._successMessage()\r\n } catch (error) {\r\n if (error.status == 0) {\r\n this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')\r\n } else {\r\n\r\n this.toastService._badRequest()\r\n }\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n }\r\n\r\n\r\n async FinalizarDespacho(loader: HTMLDivElement, message?) {\r\n\r\n let body;\r\n\r\n if (this.task.activityInstanceName == 'Tarefa de Despacho' ||\r\n this.task.activityInstanceName == 'Reexecutar Despacho') {\r\n\r\n body = {\r\n \"serialNumber\": this.task.serialNumber,\r\n \"action\": \"Conhecimento\",\r\n \"ActionTypeId\": 104,\r\n \"dataFields\": {\r\n \"ReviewUserComment\": '',\r\n },\r\n \"AttachmentList\": null,\r\n }\r\n }\r\n else if (this.task.activityInstanceName == 'Concluir Despacho' ||\r\n this.task.activityInstanceName == 'Concluir Parecer' ||\r\n this.task.activityInstanceName == 'Concluir Deferimento' ||\r\n this.task.activityInstanceName == 'Reapreciar Deferimento' ||\r\n this.task.activityInstanceName == 'Tarefa de Deferimento'\r\n ) {\r\n\r\n body = {\r\n \"serialNumber\": this.task.serialNumber,\r\n \"action\": \"Despacho\",\r\n \"ActionTypeId\": 94,\r\n \"dataFields\": {\r\n \"ReviewUserComment\": '',\r\n },\r\n \"AttachmentList\": null,\r\n }\r\n\r\n } else {\r\n\r\n }\r\n\r\n\r\n try {\r\n await this.processes.CompleteTask(body).toPromise();\r\n this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')\r\n } catch (error) {\r\n this.httpsErrorHanlde.httpStatusHandle(error)\r\n } finally {\r\n loader.remove()\r\n }\r\n\r\n }\r\n\r\n async addParticipants() {\r\n\r\n this.adding = \"intervenient\";\r\n this.contacts = this.taskParticipants;\r\n\r\n if (window.innerWidth <= 800) {\r\n\r\n this.showAttendees = false;\r\n\r\n const modal = await this.modalController.create({\r\n component: AttendeesPageModal,\r\n componentProps: {\r\n adding: this.adding,\r\n taskParticipants: this.taskParticipants,\r\n taskParticipantsCc: this.taskParticipantsCc\r\n },\r\n cssClass: 'modal attendee modal-desktop',\r\n backdropDismiss: false\r\n });\r\n\r\n await modal.present();\r\n\r\n modal.onDidDismiss().then((data) => {\r\n\r\n if (data) {\r\n data = data['data'];\r\n\r\n const newAttendees: EventPerson[] = data['taskParticipants'];\r\n const newAttendeesCC: EventPerson[] = data['taskParticipantsCc'];\r\n\r\n this.setIntervenient(newAttendees);\r\n this.setIntervenientCC(newAttendeesCC);\r\n }\r\n });\r\n } else {\r\n this.showAttendees = true\r\n }\r\n }\r\n\r\n async addParticipantsCc() {\r\n\r\n this.adding = \"CC\";\r\n this.contacts = this.taskParticipantsCc;\r\n\r\n if (window.innerWidth <= 800) {\r\n this.showAttendees = false;\r\n\r\n const modal = await this.modalController.create({\r\n component: AttendeesPageModal,\r\n componentProps: {\r\n adding: this.adding,\r\n taskParticipants: this.taskParticipants,\r\n taskParticipantsCc: this.taskParticipantsCc\r\n },\r\n cssClass: 'attendee modal-desktop',\r\n backdropDismiss: false\r\n });\r\n\r\n await modal.present();\r\n\r\n modal.onDidDismiss().then((data) => {\r\n\r\n if (data) {\r\n data = data['data'];\r\n\r\n const newAttendees: EventPerson[] = data['taskParticipants'];\r\n const newAttendeesCC: EventPerson[] = data['taskParticipantsCc'];\r\n\r\n this.setIntervenient(newAttendees);\r\n this.setIntervenientCC(newAttendeesCC);\r\n }\r\n });\r\n\r\n } else {\r\n this.showAttendees = true\r\n }\r\n\r\n }\r\n\r\n async distartExpedientModal() {\r\n const modal = await this.modalController.create({\r\n component: DiscartExpedientModalPage,\r\n componentProps: {\r\n serialNumber: this.task.serialNumber,\r\n folderId: this.task.workflowInstanceDataFields.FolderID,\r\n action: 'complete',\r\n },\r\n cssClass: 'discart-expedient-modal',\r\n backdropDismiss: false\r\n });\r\n\r\n await modal.present();\r\n modal.onDidDismiss().then(res => {\r\n if (res['data'] == 'close') {\r\n this.modalController.dismiss(res['data'])\r\n }\r\n\r\n });\r\n }\r\n\r\n async setContact(data: EventPerson[]) {\r\n\r\n if (this.adding == \"intervenient\") {\r\n this.taskParticipants = data;\r\n } else if (this.adding == \"CC\") {\r\n\r\n this.taskParticipantsCc = data;\r\n }\r\n\r\n }\r\n\r\n dynamicSetIntervenient({ taskParticipants, taskParticipantsCc }) {\r\n this.taskParticipants = taskParticipants;\r\n this.taskParticipantsCc = taskParticipantsCc;\r\n }\r\n\r\n async setIntervenient(data) {\r\n this.taskParticipants = data;\r\n }\r\n\r\n async setIntervenientCC(data) {\r\n this.taskParticipantsCc = data;\r\n }\r\n\r\n async closeComponent() {\r\n this.showAttendees = false;\r\n }\r\n\r\n async viewExpedientDetail() {\r\n\r\n let classs;\r\n if (window.innerWidth <= 800) {\r\n classs = 'modal modal-desktop'\r\n } else {\r\n classs = 'modal modal-desktop showAsideOptions'\r\n }\r\n\r\n const modal = await this.modalController.create({\r\n component: ExpedienteDetailPage,\r\n componentProps: {\r\n serialNumber: this.task.serialNumber,\r\n profile: this.profile,\r\n },\r\n cssClass: classs,\r\n backdropDismiss: false\r\n });\r\n await modal.present();\r\n modal.onDidDismiss().then((res) => {\r\n\r\n });\r\n }\r\n\r\n\r\n removeAttachment(index: number) {\r\n\r\n this.documents = this.documents.filter((e, i) => index != i);\r\n\r\n }\r\n\r\n\r\n async getDoc() {\r\n const modal = await this.modalController.create({\r\n component: SearchPage,\r\n cssClass: 'modal-width-100-width-background modal',\r\n componentProps: {\r\n type: 'AccoesPresidenciais & ArquivoDespachoElect',\r\n showSearchInput: true,\r\n select: true\r\n }\r\n });\r\n await modal.present();\r\n modal.onDidDismiss().then((res) => {\r\n if (res) {\r\n const data = res.data;\r\n this.documents.push(data.selected);\r\n }\r\n });\r\n }\r\n\r\n}\r\n"]},"metadata":{},"sourceType":"module"} |