mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
pr eftu<r despachp
This commit is contained in:
@@ -193,6 +193,9 @@ export class HomePage implements OnInit {
|
||||
if (this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks]) && SessionStore.user.RoleID != this.RoleIdService.PRES) {
|
||||
throw ('User has PRES permission but not roleId');
|
||||
}
|
||||
if (!this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks]) && SessionStore.user.RoleID == this.RoleIdService.PRES) {
|
||||
throw ('User has PRES permission but not roleId');
|
||||
}
|
||||
}, 1000)
|
||||
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ export class CreateProcessPage implements OnInit {
|
||||
'Solicitar Parecer',
|
||||
'Solicitar Deferimento'
|
||||
];
|
||||
taskType:string;
|
||||
taskType: string;
|
||||
task: any;
|
||||
fulltask: fullTask;
|
||||
|
||||
@@ -60,17 +60,17 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
taskDate: Date;
|
||||
taskDescription: string;
|
||||
loadedAttachments:any;
|
||||
subjectTypes:any;
|
||||
selectedTypes: string[]=[];
|
||||
loadedAttachments: any;
|
||||
subjectTypes: any;
|
||||
selectedTypes: string[] = [];
|
||||
|
||||
postData: Despacho;
|
||||
dispatchFolder: Folder;
|
||||
participants: Participant[];
|
||||
|
||||
contacts= [];
|
||||
contacts = [];
|
||||
// trigger hide and show for attendee component
|
||||
showAttendees= false;
|
||||
showAttendees = false;
|
||||
|
||||
adding: "intervenient" | "CC" = "intervenient";
|
||||
profile: string;
|
||||
@@ -82,7 +82,7 @@ export class CreateProcessPage implements OnInit {
|
||||
emptyTextDescription = "Sem intervenientes selecionados";
|
||||
showEmptyContainer = true;
|
||||
|
||||
documents:SearchList[] = [];
|
||||
documents: SearchList[] = [];
|
||||
|
||||
loggeduser: LoginUserRespose;
|
||||
|
||||
@@ -92,7 +92,7 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
private processes:ProcessesService,
|
||||
private processes: ProcessesService,
|
||||
private navParams: NavParams,
|
||||
private toastService: ToastService,
|
||||
public p: PermissionService,
|
||||
@@ -100,69 +100,69 @@ export class CreateProcessPage implements OnInit {
|
||||
private pedidoService: PedidoService,
|
||||
public ThemeService: ThemeService,
|
||||
private httpsErrorHanlde: HttpErrorHandle
|
||||
) {
|
||||
this.loggeduser = SessionStore.user;
|
||||
this.task = this.navParams.get('task');
|
||||
this.fulltask = this.navParams.get('fulltask');
|
||||
console.log(this.task)
|
||||
if (this.task.SerialNumber) {
|
||||
this.task.serialNumber = this.task.SerialNumber
|
||||
) {
|
||||
this.loggeduser = SessionStore.user;
|
||||
this.task = this.navParams.get('task');
|
||||
this.fulltask = this.navParams.get('fulltask');
|
||||
console.log(this.task)
|
||||
if (this.task.SerialNumber) {
|
||||
this.task.serialNumber = this.task.SerialNumber
|
||||
}
|
||||
|
||||
|
||||
this.taskType = this.navParams.get('taskAction');
|
||||
|
||||
this.postData = new Despacho();
|
||||
this.participants = this.participants = new Array();
|
||||
//Initialize SubjectTypes Array with the value "Indefinido"
|
||||
this.selectedTypes = ['99999850'];
|
||||
|
||||
let NumberPDPP;
|
||||
|
||||
if (this.fulltask) {
|
||||
if (this.fulltask.workflowInstanceDataFields) {
|
||||
NumberPDPP = this.fulltask.workflowInstanceDataFields.DispatchNumber
|
||||
}
|
||||
}
|
||||
|
||||
let SourceId;
|
||||
let SourceType;
|
||||
let SourceSecFsId;
|
||||
const taskId = this.task.workflowInstanceDataFields?.FolderID || this.task?.FolderId || this.task?.FolderID
|
||||
|
||||
this.taskType = this.navParams.get('taskAction');
|
||||
if (taskId) {
|
||||
SourceId = taskId
|
||||
SourceType = 'FOLDER'
|
||||
SourceSecFsId = 361
|
||||
} else {
|
||||
SourceId = this.task.workflowInstanceDataFields.SourceID
|
||||
SourceType = 'DOC'
|
||||
SourceSecFsId = 8
|
||||
}
|
||||
|
||||
this.postData = new Despacho();
|
||||
this.participants = this.participants = new Array();
|
||||
//Initialize SubjectTypes Array with the value "Indefinido"
|
||||
this.selectedTypes = ['99999850'];
|
||||
this.dispatchFolder = {
|
||||
Nad: 30,
|
||||
Subject: '',
|
||||
Message: '',
|
||||
SourceSecFsId: SourceSecFsId, //361
|
||||
SourceType: SourceType, //FOLDER
|
||||
SourceId: SourceId,
|
||||
DeadlineType: '',
|
||||
SubjectTypes: this.selectedTypes,
|
||||
NumberPDPP: this.task?.workflowInstanceDataFields?.DispatchNumber || NumberPDPP || this.fulltask?.workflowInstanceDataFields?.DispatchNumber
|
||||
};
|
||||
|
||||
let NumberPDPP;
|
||||
|
||||
if(this.fulltask) {
|
||||
if(this.fulltask.workflowInstanceDataFields) {
|
||||
NumberPDPP = this.fulltask.workflowInstanceDataFields.DispatchNumber
|
||||
}
|
||||
}
|
||||
|
||||
let SourceId;
|
||||
let SourceType;
|
||||
let SourceSecFsId;
|
||||
const taskId = this.task.workflowInstanceDataFields?.FolderID || this.task?.FolderId || this.task?.FolderID
|
||||
|
||||
if(taskId) {
|
||||
SourceId = taskId
|
||||
SourceType = 'FOLDER'
|
||||
SourceSecFsId = 361
|
||||
} else {
|
||||
SourceId = this.task.workflowInstanceDataFields.SourceID
|
||||
SourceType = 'DOC'
|
||||
SourceSecFsId = 8
|
||||
}
|
||||
|
||||
this.dispatchFolder = {
|
||||
Nad: 30,
|
||||
Subject: '',
|
||||
Message: '',
|
||||
SourceSecFsId: SourceSecFsId, //361
|
||||
SourceType: SourceType, //FOLDER
|
||||
SourceId: SourceId,
|
||||
DeadlineType: '',
|
||||
SubjectTypes: this.selectedTypes,
|
||||
NumberPDPP: this.task?.workflowInstanceDataFields?.DispatchNumber || NumberPDPP || this.fulltask?.workflowInstanceDataFields?.DispatchNumber
|
||||
};
|
||||
|
||||
this.postData.DispatchFolder = this.dispatchFolder;
|
||||
this.postData.UsersSelected = this.participants;
|
||||
/* By Default TypeDeadline should be 'Normal' */
|
||||
this.postData.Priority = '99999861';
|
||||
/* Initialize 'Subject' with the title of the expedient */
|
||||
console.log('Subject',this.fulltask)
|
||||
this.postData.DispatchFolder.Subject = this.task?.workflowInstanceDataFields?.Subject || this.fulltask?.workflowInstanceDataFields?.Subject;
|
||||
this.profile = this.navParams.get('profile');
|
||||
this.postData.DispatchFolder = this.dispatchFolder;
|
||||
this.postData.UsersSelected = this.participants;
|
||||
/* By Default TypeDeadline should be 'Normal' */
|
||||
this.postData.Priority = '99999861';
|
||||
/* Initialize 'Subject' with the title of the expedient */
|
||||
console.log('Subject', this.fulltask)
|
||||
this.postData.DispatchFolder.Subject = this.task?.workflowInstanceDataFields?.Subject || this.fulltask?.workflowInstanceDataFields?.Subject;
|
||||
this.profile = this.navParams.get('profile');
|
||||
}
|
||||
|
||||
async setAdding(type: "intervenient" | "CC"){
|
||||
async setAdding(type: "intervenient" | "CC") {
|
||||
this.adding = type;
|
||||
}
|
||||
|
||||
@@ -176,11 +176,11 @@ export class CreateProcessPage implements OnInit {
|
||||
this.taskDate = new Date(this.task.taskStartDate);
|
||||
}
|
||||
|
||||
onSelectedTypesChanged(ev:any){
|
||||
if(ev.length > 1){
|
||||
onSelectedTypesChanged(ev: any) {
|
||||
if (ev.length > 1) {
|
||||
this.selectedTypes = ev.filter(data => data != '99999850');
|
||||
}
|
||||
if(ev.length == 0){
|
||||
if (ev.length == 0) {
|
||||
this.selectedTypes = ["99999850"];
|
||||
}
|
||||
}
|
||||
@@ -191,7 +191,7 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
|
||||
getSubjectType() {
|
||||
this.processes.GetSubjectType().subscribe(res=>{
|
||||
this.processes.GetSubjectType().subscribe(res => {
|
||||
this.subjectTypes = res;
|
||||
});
|
||||
}
|
||||
@@ -201,11 +201,11 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
|
||||
runValidation() {
|
||||
this.validateFrom = true
|
||||
this.validateFrom = true
|
||||
}
|
||||
|
||||
defaultParticipants () {
|
||||
if(this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
|
||||
defaultParticipants() {
|
||||
if (this.p.userPermission([this.p.permissionList.Gabinete.pr_tasks])) {
|
||||
return ['MDGPR']
|
||||
}
|
||||
|
||||
@@ -236,32 +236,32 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
async saveTask() {
|
||||
|
||||
if(!this.p.userRole(['PR'])) {
|
||||
if (!this.p.userRole(['PR'])) {
|
||||
this.injectValidation()
|
||||
this.runValidation()
|
||||
if(this.Form.invalid) return false
|
||||
if (this.Form.invalid) return false
|
||||
}
|
||||
|
||||
|
||||
if(this.postData.Priority=='99999861') {
|
||||
if (this.postData.Priority == '99999861') {
|
||||
this.dispatchFolder.DeadlineType = 'Normal';
|
||||
}
|
||||
else if(this.postData.Priority=='99999862') {
|
||||
else if (this.postData.Priority == '99999862') {
|
||||
this.dispatchFolder.DeadlineType = 'Urgente';
|
||||
}
|
||||
else if(this.postData.Priority=='99999863') {
|
||||
else if (this.postData.Priority == '99999863') {
|
||||
this.dispatchFolder.DeadlineType = 'Muito Urgente';
|
||||
}
|
||||
else if(this.postData.Priority=='99999864') {
|
||||
else if (this.postData.Priority == '99999864') {
|
||||
this.dispatchFolder.DeadlineType = 'Urgentíssimo';
|
||||
}
|
||||
|
||||
let attendees = this.taskParticipants.concat(this.taskParticipantsCc);
|
||||
|
||||
attendees = attendees.map(function(val) {
|
||||
attendees = attendees.map(function (val) {
|
||||
return {
|
||||
UserEmail: val.EmailAddress,
|
||||
UserType: val.IsRequired?"I": "CC"
|
||||
UserType: val.IsRequired ? "I" : "CC"
|
||||
};
|
||||
});
|
||||
|
||||
@@ -284,154 +284,88 @@ export class CreateProcessPage implements OnInit {
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
|
||||
if(this.loggeduser.Profile != 'PR') {
|
||||
switch (this.taskType) {
|
||||
case '0': // Despacho
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
if (this.fulltask.activityInstanceName == "Assinar Diploma") {
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
await this.processes.postDespatcho(this.postData).toPromise();
|
||||
await this.despachoService.EfectuarDespacho({note: this.dispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise();
|
||||
try {
|
||||
// await this.processes.postDespatcho(this.postData).toPromise();
|
||||
await this.despachoService.createDespacho(this.postData).toPromise();
|
||||
this.executado(this.dispatchFolder.Message, docs.Attachments)
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')
|
||||
loader.remove();
|
||||
} catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')
|
||||
} catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
break;
|
||||
case '1': // pedido de Parecer
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {
|
||||
await this.despachoService.createParecer(this.postData).toPromise();
|
||||
await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise();
|
||||
} else {
|
||||
|
||||
await this.pedidoService.createParecer(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber, note: this.postData.DispatchFolder.Message}).toPromise();
|
||||
} else {
|
||||
if (this.loggeduser.Profile != 'PR') {
|
||||
switch (this.taskType) {
|
||||
case '0': // Despacho
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
break;
|
||||
case '2': // Pedido de Deferimento
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
await this.pedidoService.createDeferimento(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteDeferimento({note: this.postData.DispatchFolder.Message,serialNumber:this.task.serialNumber}).toPromise();
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (this.loggeduser.Profile == 'PR') {
|
||||
switch (this.taskType) {
|
||||
case '0': // Despacho PR
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
if(this.postData.DispatchFolder.Message){
|
||||
try {
|
||||
await this.despachoService.createDespacho(this.postData).toPromise();
|
||||
await this.despachoService.CompleteTask({serialNumber: this.task.serialNumber, note: this.dispatchFolder.Message}).toPromise();
|
||||
await this.processes.postDespatcho(this.postData).toPromise();
|
||||
await this.despachoService.EfectuarDespacho({ note: this.dispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')
|
||||
} catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
|
||||
} finally {
|
||||
loader.remove();
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.validateField = true;
|
||||
this.toastService._badRequest('Por favor adicione uma descrição');
|
||||
}
|
||||
loader.remove();
|
||||
break;
|
||||
case '1': // Pedido de Parecer
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {
|
||||
await this.despachoService.createParecer(this.postData).toPromise();
|
||||
await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise();
|
||||
} else {
|
||||
await this.pedidoService.createParecer(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber, note: this.postData.DispatchFolder.Message}).toPromise();
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
break;
|
||||
case '1': // pedido de Parecer
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
break;
|
||||
case '2': // Pedido de Deferimento
|
||||
try {
|
||||
if (this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {
|
||||
await this.despachoService.createParecer(this.postData).toPromise();
|
||||
await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();
|
||||
} else {
|
||||
|
||||
await this.pedidoService.createParecer(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteParecer({ serialNumber: this.task.serialNumber, note: this.postData.DispatchFolder.Message }).toPromise();
|
||||
}
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
break;
|
||||
case '2': // Pedido de Deferimento
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
@@ -444,7 +378,96 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
try {
|
||||
await this.pedidoService.createDeferimento(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteDeferimento({note: this.postData.DispatchFolder.Message, serialNumber:this.task.serialNumber}).toPromise();
|
||||
await this.pedidoService.taskCompleteDeferimento({ note: this.postData.DispatchFolder.Message, serialNumber: this.task.serialNumber }).toPromise();
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
}
|
||||
finally {
|
||||
loader.remove()
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (this.loggeduser.Profile == 'PR') {
|
||||
switch (this.taskType) {
|
||||
case '0': // Despacho PR
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
if (this.postData.DispatchFolder.Message) {
|
||||
try {
|
||||
await this.despachoService.createDespacho(this.postData).toPromise();
|
||||
await this.despachoService.CompleteTask({ serialNumber: this.task.serialNumber, note: this.dispatchFolder.Message }).toPromise();
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Efetuar Despacho')
|
||||
} catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
} finally {
|
||||
loader.remove();
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.validateField = true;
|
||||
this.toastService._badRequest('Por favor adicione uma descrição');
|
||||
}
|
||||
loader.remove();
|
||||
break;
|
||||
case '1': // Pedido de Parecer
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
if (this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') {
|
||||
await this.despachoService.createParecer(this.postData).toPromise();
|
||||
await this.despachoService.solicitarParecer({ note: this.postData.DispatchFolder.Message, serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName }).toPromise();
|
||||
} else {
|
||||
await this.pedidoService.createParecer(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteParecer({ serialNumber: this.task.serialNumber, note: this.postData.DispatchFolder.Message }).toPromise();
|
||||
}
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Solicitar Parecer')
|
||||
}
|
||||
catch (error) {
|
||||
this.httpsErrorHanlde.httpStatusHandle(error)
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
break;
|
||||
case '2': // Pedido de Deferimento
|
||||
this.postData = {
|
||||
DistributionType: "Paralelo",
|
||||
CountryCode: 'AO',
|
||||
Priority: this.postData.Priority,
|
||||
UserEmail: this.loggeduser.Email,
|
||||
UsersSelected: attendees,
|
||||
DispatchFolder: this.dispatchFolder,
|
||||
AttachmentList: docs
|
||||
}
|
||||
|
||||
try {
|
||||
await this.pedidoService.createDeferimento(this.postData).toPromise();
|
||||
await this.pedidoService.taskCompleteDeferimento({ note: this.postData.DispatchFolder.Message, serialNumber: this.task.serialNumber }).toPromise();
|
||||
|
||||
this.modalController.dismiss();
|
||||
this.httpsErrorHanlde.httpsSucessMessagge('Pedido de Deferimento')
|
||||
@@ -456,9 +479,41 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
async executado(note: string, documents: any) {
|
||||
let body = {
|
||||
"serialNumber": this.fulltask.serialNumber,
|
||||
"action": "Conhecimento",
|
||||
"ActionTypeId": 104,
|
||||
"dataFields": {
|
||||
"ReviewUserComment": note,
|
||||
},
|
||||
"AttachmentList": documents,
|
||||
}
|
||||
|
||||
const loader = this.toastService.loading()
|
||||
|
||||
try {
|
||||
await this.processes.CompleteTask(body).toPromise()
|
||||
this.close();
|
||||
this.toastService._successMessage()
|
||||
} catch (error) {
|
||||
if (error.status == 0) {
|
||||
this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão')
|
||||
} else {
|
||||
|
||||
this.toastService._badRequest()
|
||||
}
|
||||
} finally {
|
||||
loader.remove()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -466,8 +521,8 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
let body;
|
||||
|
||||
if(this.task.activityInstanceName =='Tarefa de Despacho' ||
|
||||
this.task.activityInstanceName =='Reexecutar Despacho') {
|
||||
if (this.task.activityInstanceName == 'Tarefa de Despacho' ||
|
||||
this.task.activityInstanceName == 'Reexecutar Despacho') {
|
||||
|
||||
body = {
|
||||
"serialNumber": this.task.serialNumber,
|
||||
@@ -476,13 +531,13 @@ export class CreateProcessPage implements OnInit {
|
||||
"dataFields": {
|
||||
"ReviewUserComment": '',
|
||||
},
|
||||
"AttachmentList" :null,
|
||||
"AttachmentList": null,
|
||||
}
|
||||
}
|
||||
else if(this.task.activityInstanceName =='Concluir Despacho' ||
|
||||
else if (this.task.activityInstanceName == 'Concluir Despacho' ||
|
||||
this.task.activityInstanceName == 'Concluir Parecer' ||
|
||||
this.task.activityInstanceName =='Concluir Deferimento' ||
|
||||
this.task.activityInstanceName =='Reapreciar Deferimento' ||
|
||||
this.task.activityInstanceName == 'Concluir Deferimento' ||
|
||||
this.task.activityInstanceName == 'Reapreciar Deferimento' ||
|
||||
this.task.activityInstanceName == 'Tarefa de Deferimento'
|
||||
) {
|
||||
|
||||
@@ -493,7 +548,7 @@ export class CreateProcessPage implements OnInit {
|
||||
"dataFields": {
|
||||
"ReviewUserComment": '',
|
||||
},
|
||||
"AttachmentList" :null,
|
||||
"AttachmentList": null,
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -515,15 +570,15 @@ export class CreateProcessPage implements OnInit {
|
||||
async addParticipants() {
|
||||
|
||||
this.adding = "intervenient";
|
||||
this.contacts = this.taskParticipants;
|
||||
this.contacts = this.taskParticipants;
|
||||
|
||||
if(window.innerWidth <=800) {
|
||||
if (window.innerWidth <= 800) {
|
||||
|
||||
this.showAttendees=false;
|
||||
this.showAttendees = false;
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: AttendeesPageModal,
|
||||
componentProps: {
|
||||
componentProps: {
|
||||
adding: this.adding,
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
@@ -536,7 +591,7 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
|
||||
if(data) {
|
||||
if (data) {
|
||||
data = data['data'];
|
||||
|
||||
const newAttendees: EventPerson[] = data['taskParticipants'];
|
||||
@@ -547,7 +602,7 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.showAttendees=true
|
||||
this.showAttendees = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -556,12 +611,12 @@ export class CreateProcessPage implements OnInit {
|
||||
this.adding = "CC";
|
||||
this.contacts = this.taskParticipantsCc;
|
||||
|
||||
if(window.innerWidth <=800){
|
||||
this.showAttendees=false;
|
||||
if (window.innerWidth <= 800) {
|
||||
this.showAttendees = false;
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: AttendeesPageModal,
|
||||
componentProps: {
|
||||
componentProps: {
|
||||
adding: this.adding,
|
||||
taskParticipants: this.taskParticipants,
|
||||
taskParticipantsCc: this.taskParticipantsCc
|
||||
@@ -574,7 +629,7 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
|
||||
if(data) {
|
||||
if (data) {
|
||||
data = data['data'];
|
||||
|
||||
const newAttendees: EventPerson[] = data['taskParticipants'];
|
||||
@@ -586,7 +641,7 @@ export class CreateProcessPage implements OnInit {
|
||||
});
|
||||
|
||||
} else {
|
||||
this.showAttendees=true
|
||||
this.showAttendees = true
|
||||
}
|
||||
|
||||
}
|
||||
@@ -594,7 +649,7 @@ export class CreateProcessPage implements OnInit {
|
||||
async distartExpedientModal() {
|
||||
const modal = await this.modalController.create({
|
||||
component: DiscartExpedientModalPage,
|
||||
componentProps: {
|
||||
componentProps: {
|
||||
serialNumber: this.task.serialNumber,
|
||||
folderId: this.task.workflowInstanceDataFields.FolderID,
|
||||
action: 'complete',
|
||||
@@ -604,17 +659,17 @@ export class CreateProcessPage implements OnInit {
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then(res=>{
|
||||
if(res['data']=='close'){
|
||||
modal.onDidDismiss().then(res => {
|
||||
if (res['data'] == 'close') {
|
||||
this.modalController.dismiss(res['data'])
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
async setContact(data:EventPerson[]) {
|
||||
async setContact(data: EventPerson[]) {
|
||||
|
||||
if(this.adding == "intervenient"){
|
||||
if (this.adding == "intervenient") {
|
||||
this.taskParticipants = data;
|
||||
} else if (this.adding == "CC") {
|
||||
|
||||
@@ -623,7 +678,7 @@ export class CreateProcessPage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
dynamicSetIntervenient({taskParticipants, taskParticipantsCc}){
|
||||
dynamicSetIntervenient({ taskParticipants, taskParticipantsCc }) {
|
||||
this.taskParticipants = taskParticipants;
|
||||
this.taskParticipantsCc = taskParticipantsCc;
|
||||
}
|
||||
@@ -643,15 +698,15 @@ export class CreateProcessPage implements OnInit {
|
||||
async viewExpedientDetail() {
|
||||
|
||||
let classs;
|
||||
if( window.innerWidth <= 800){
|
||||
if (window.innerWidth <= 800) {
|
||||
classs = 'modal modal-desktop'
|
||||
} else {
|
||||
} else {
|
||||
classs = 'modal modal-desktop showAsideOptions'
|
||||
}
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: ExpedienteDetailPage,
|
||||
componentProps:{
|
||||
componentProps: {
|
||||
serialNumber: this.task.serialNumber,
|
||||
profile: this.profile,
|
||||
},
|
||||
@@ -659,20 +714,20 @@ export class CreateProcessPage implements OnInit {
|
||||
backdropDismiss: false
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then((res)=>{
|
||||
/* console.log('!refresh list'); */
|
||||
modal.onDidDismiss().then((res) => {
|
||||
/* console.log('!refresh list'); */
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
removeAttachment(index: number){
|
||||
removeAttachment(index: number) {
|
||||
|
||||
this.documents = this.documents.filter( (e, i) => index != i);
|
||||
this.documents = this.documents.filter((e, i) => index != i);
|
||||
|
||||
}
|
||||
|
||||
|
||||
async getDoc(){
|
||||
async getDoc() {
|
||||
const modal = await this.modalController.create({
|
||||
component: SearchPage,
|
||||
cssClass: 'modal-width-100-width-background modal',
|
||||
@@ -683,11 +738,11 @@ export class CreateProcessPage implements OnInit {
|
||||
}
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then((res)=>{
|
||||
if(res){
|
||||
const data = res.data;
|
||||
this.documents.push(data.selected);
|
||||
}
|
||||
modal.onDidDismiss().then((res) => {
|
||||
if (res) {
|
||||
const data = res.data;
|
||||
this.documents.push(data.selected);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,4 +16,12 @@
|
||||
background-repeat: no-repeat;
|
||||
background-position-x: center;
|
||||
background-position-y: center;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 650px) {
|
||||
|
||||
.container-img {
|
||||
background-size: 25%;
|
||||
}
|
||||
}
|
||||
@@ -1333,7 +1333,7 @@ export class AgendaPage implements OnInit {
|
||||
async viewEventsToApprove() {
|
||||
await this.cloneAllmobileComponent();
|
||||
|
||||
if (window.innerWidth <= 801) {
|
||||
if (window.innerWidth <= 1023) {
|
||||
this.router.navigate(['/home/agenda/event-list']);
|
||||
} else {
|
||||
// hide all components
|
||||
|
||||
@@ -171,7 +171,7 @@ export class EventListPage implements OnInit {
|
||||
this.color = 'mdgpr'
|
||||
}
|
||||
|
||||
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
|
||||
let genericEvents = await this.processes.eventsToApprove(SessionStore.user.UserId,'mobile agenda').toPromise()
|
||||
try {
|
||||
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
|
||||
} catch (error) {
|
||||
|
||||
@@ -79,14 +79,14 @@ export class PublicationsPage implements OnInit {
|
||||
ngOnInit() {
|
||||
|
||||
const pathname = window.location.pathname
|
||||
this.getActions();
|
||||
|
||||
this.router.events.forEach((event) => {
|
||||
if (event instanceof NavigationEnd && event.url == pathname) {
|
||||
this.getActions();
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
this.hideRefreshButton();
|
||||
this.getFromDB()
|
||||
|
||||
@@ -141,42 +141,39 @@ export class PublicationsPage implements OnInit {
|
||||
|
||||
|
||||
getActions() {
|
||||
if(this.showLoader == false) {
|
||||
this.showLoader = true;
|
||||
this.publications.GetPublicationFolderList().subscribe(async res => {
|
||||
this.showLoader = true
|
||||
|
||||
const folders: PublicationFolder[] = this.getPublicationFolderMap(res)
|
||||
this.publications.GetPublicationFolderList().subscribe(async res => {
|
||||
this.showLoader = false;
|
||||
const folders: PublicationFolder[] = this.getPublicationFolderMap(res)
|
||||
|
||||
this.publicationsEventFolderList = folders.filter((e)=>e.ActionType == 'Evento')
|
||||
this.publicationsTravelFolderList = folders.filter((e)=>e.ActionType != 'Evento')
|
||||
|
||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
await this.storage.set('actionsEvents', this.publicationsEventFolderList);
|
||||
await this.storage.set('actionsViagens', this.publicationsTravelFolderList);
|
||||
} else {
|
||||
folders.forEach((folder)=> {
|
||||
this.addActionToDB(folder);
|
||||
})
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
}, (error) => {
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
this.publicationsEventFolderList = folders.filter((e)=>e.ActionType == 'Evento')
|
||||
this.publicationsTravelFolderList = folders.filter((e)=>e.ActionType != 'Evento')
|
||||
|
||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
await this.storage.set('actionsEvents', this.publicationsEventFolderList);
|
||||
await this.storage.set('actionsViagens', this.publicationsTravelFolderList);
|
||||
} else {
|
||||
folders.forEach((folder)=> {
|
||||
this.addActionToDB(folder);
|
||||
})
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
}, (error) => {
|
||||
this.showLoader = false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
addActionToStorage(events, viagens) {
|
||||
// addActionToStorage(events, viagens) {
|
||||
|
||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
this.storage.set('actionsEvents', events);
|
||||
this.storage.set('actionsViagens', viagens);
|
||||
}
|
||||
}
|
||||
// if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||
// this.storage.set('actionsEvents', events);
|
||||
// this.storage.set('actionsViagens', viagens);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
addActionToDB(folder) {
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " src="assets/images/theme/doneIt/icons-calendar-arrow-left.svg"></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-calendar-arrow-left.svg'></ion-icon>
|
||||
</div>
|
||||
<div class="div-title flex-grow-1">
|
||||
<ion-label class="title">{{item.Description}}</ion-label>
|
||||
<p class="item-content-detail">{{item.Detail}}</p>
|
||||
<p class="item-content-date">{{item.DateBegin | date: 'dd-MM-yy HH:mm'}}</p>
|
||||
<div *ngIf="publicationItem[folderId]" class="div-title flex-grow-1">
|
||||
<ion-label class="title">{{publicationItem[folderId].Description}}</ion-label>
|
||||
<p class="item-content-detail">{{publicationItem[folderId].Detail}}</p>
|
||||
<p class="item-content-date">{{publicationItem[folderId].DateBegin | date: 'dd-MM-yy HH:mm'}}</p>
|
||||
</div>
|
||||
<div *ngIf="p.userPermission([p.permissionList.Actions.createPost])" class="actions-icon cursor-pointer" (click)="AddPublication('2',item.ProcessId)">
|
||||
<div *ngIf="p.userPermission([p.permissionList.Actions.createPost]) && publicationItem[folderId]" class="actions-icon cursor-pointer" (click)="AddPublication('2',publicationItem[folderId].ProcessId)">
|
||||
<!-- <ion-icon (click)="AddPublication('1',item.ProcessId)" slot="end" src='assets/images/icons-add-photo.svg'></ion-icon> -->
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src='assets/images/icons-add.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src='assets/images/theme/gov/icons-add.svg'></ion-icon>
|
||||
@@ -27,14 +27,14 @@
|
||||
</ion-header>
|
||||
|
||||
<ion-content class="background-white">
|
||||
<!-- <ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher> -->
|
||||
</ion-refresher>
|
||||
<div class="main-container background-white height-100 overflow-y-auto">
|
||||
<ion-content>
|
||||
<ion-card *ngFor="let publication of getpublication let i = index"
|
||||
<ion-content *ngIf="publicationItem[folderId]">
|
||||
<ion-card *ngFor="let publication of publicationList[folderId] let i = index"
|
||||
(click)="goToPublicationDetail(publication.DocumentId)"
|
||||
>
|
||||
<ion-card-content>
|
||||
|
||||
@@ -14,6 +14,7 @@ import { forkJoin } from 'rxjs';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { PermissionService } from 'src/app/services/permission.service';
|
||||
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
|
||||
import { Storage } from '@ionic/storage';
|
||||
|
||||
@Component({
|
||||
selector: 'app-view-publications',
|
||||
@@ -24,8 +25,9 @@ export class ViewPublicationsPage implements OnInit {
|
||||
showLoader = true;
|
||||
loading: any;
|
||||
|
||||
publicationList: Publication[] = new Array();
|
||||
item: PublicationFolder;
|
||||
publicationList: {[key: string]: Publication[] } = {};
|
||||
publicationItem: {[key: string]: PublicationFolder } = {};
|
||||
|
||||
defaultImage = "/assets/icon/icon-no-image.svg";
|
||||
folderId: string;
|
||||
id: string;
|
||||
@@ -46,9 +48,16 @@ export class ViewPublicationsPage implements OnInit {
|
||||
public ThemeService: ThemeService,
|
||||
private toastService: ToastService,
|
||||
public p: PermissionService,
|
||||
private httpErroHandle: HttpErrorHandle) {
|
||||
private httpErroHandle: HttpErrorHandle,
|
||||
private storage: Storage,) {
|
||||
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
|
||||
this.getFromDB();
|
||||
|
||||
this.item = new PublicationFolder();
|
||||
this.activatedRoute.paramMap.subscribe(params => {
|
||||
|
||||
|
||||
@@ -66,6 +75,14 @@ export class ViewPublicationsPage implements OnInit {
|
||||
if (typeof (this.folderId) == 'object') {
|
||||
this.folderId = this.folderId['ProcessId']
|
||||
}
|
||||
|
||||
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
|
||||
this.getFromDB();
|
||||
//this.testForkJoin()
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
@@ -87,22 +104,22 @@ export class ViewPublicationsPage implements OnInit {
|
||||
this.folderId = this.folderId['ProcessId']
|
||||
}
|
||||
|
||||
// if (typeof (this.id == 'object') {
|
||||
// this.id = this.id['ProcessId']
|
||||
// }
|
||||
//this.testForkJoin()
|
||||
//this.getPublicationDetail();
|
||||
// this.getPublications();
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
|
||||
this.getFromDB();
|
||||
}
|
||||
|
||||
doRefresh = (event) => {
|
||||
//setTimeout(() => {
|
||||
//this.testForkJoin()
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
try {
|
||||
event?.target?.complete();
|
||||
} catch(error) {}
|
||||
//this.testForkJoin()
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
try {
|
||||
event?.target?.complete();
|
||||
} catch(error) {}
|
||||
//}, 3000);
|
||||
|
||||
}
|
||||
@@ -117,146 +134,52 @@ export class ViewPublicationsPage implements OnInit {
|
||||
}
|
||||
|
||||
getPublicationDetail() {
|
||||
this.publications.GetPresidentialAction(this.folderId).subscribe(res => {
|
||||
|
||||
this.item = res;
|
||||
this.sqliteservice.updatePublicationsDetails(this.folderId, JSON.stringify(res));
|
||||
}, (error) => {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
});
|
||||
}
|
||||
|
||||
// goes to fork
|
||||
// getPublicationsIds() {
|
||||
|
||||
// this.showLoader = true;
|
||||
// const folderId = this.folderId
|
||||
|
||||
// this.publications.GetIdsPublicationsImages(this.id).subscribe(res => {
|
||||
|
||||
//
|
||||
|
||||
// this.publicationList = new Array();
|
||||
|
||||
getPublicationsIds() {
|
||||
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
this.publications.GetPublicationsImages(this.folderId).subscribe(res => {
|
||||
|
||||
|
||||
this.publicationList = new Array();
|
||||
|
||||
res.forEach(element => {
|
||||
|
||||
this.publications.GetPublicationById(element).subscribe(ress => {
|
||||
|
||||
let item: Publication = this.publicationPipe.itemList(ress)
|
||||
|
||||
this.publicationList.push(item);
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
|
||||
|
||||
|
||||
this.getpublication = this.publicationList;
|
||||
this.publications.GetPresidentialAction(folderId).subscribe(res=>{
|
||||
this.showLoader = false;
|
||||
|
||||
this.publicationItem[folderId] = res
|
||||
this.storage.set(folderId+"name", res)
|
||||
}, (error) => {
|
||||
if(error.status == 0) {
|
||||
this.getFromDB()
|
||||
} else {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
getPublications() {
|
||||
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
this.getFromDB();
|
||||
this.publications.GetPublications(this.folderId).subscribe(res => {
|
||||
|
||||
|
||||
|
||||
this.publicationList = new Array();
|
||||
|
||||
res.forEach(element => {
|
||||
|
||||
let item: Publication = this.publicationPipe.itemList(element)
|
||||
this.publicationList.push(item);
|
||||
|
||||
|
||||
});
|
||||
this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
|
||||
|
||||
this.getpublication = this.publicationList;
|
||||
|
||||
this.showLoader = false;
|
||||
}, (error) => {
|
||||
|
||||
if (error.status == '0') {
|
||||
this.getFromDB();
|
||||
}
|
||||
if (error.status == '404') {
|
||||
this.error = 'Sem publicações disponíveis!';
|
||||
this.publicationList = [];
|
||||
} else {
|
||||
this.httpErroHandle.httpStatusHandle(error)
|
||||
}
|
||||
this.showLoader = false;
|
||||
// this.httpErroHandle.httpStatusHandle(error)
|
||||
});
|
||||
}
|
||||
|
||||
testForkJoin() {
|
||||
forkJoin([
|
||||
this.getPublicationsIds(),
|
||||
this.getPublications(),
|
||||
|
||||
|
||||
]).subscribe(allResults => {
|
||||
this.publicationList = allResults[2]
|
||||
})
|
||||
}
|
||||
|
||||
getFromDB() {
|
||||
|
||||
this.sqliteservice.getActionById(this.folderId).then((publications) => {
|
||||
|
||||
this.item = this.isJson(publications[0].publicationsDetails);
|
||||
|
||||
let publicationArray = [];
|
||||
this.isJson(publications[0].publications).forEach(element => {
|
||||
let publicationlis = {
|
||||
DateIndex: element.DateIndex,
|
||||
DatePublication: element.DatePublication,
|
||||
DocumentId: element.DocumentId,
|
||||
FileBase64: element.FileBase64,
|
||||
FileExtension: element.FileExtension,
|
||||
Message: element.Message,
|
||||
OrganicEntityId: element.OrganicEntityId,
|
||||
OriginalFileName: element.OriginalFileName,
|
||||
ProcessId: element.ProcessId
|
||||
}
|
||||
publicationArray.push(publicationlis);
|
||||
|
||||
});
|
||||
|
||||
this.publicationList = publicationArray;
|
||||
const folderId = this.folderId
|
||||
this.storage.get(folderId).then((viewPublications) => {
|
||||
this.publicationList[folderId] = viewPublications
|
||||
})
|
||||
this.storage.get(folderId+"name").then((viewPublications) => {
|
||||
this.publicationItem[folderId] = viewPublications
|
||||
})
|
||||
}
|
||||
|
||||
isJson(str) {
|
||||
async getPublicationsIds() {
|
||||
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
|
||||
try {
|
||||
JSON.parse(str);
|
||||
} catch (e) {
|
||||
return str;
|
||||
const res = await this.publications.GetPublicationsImages(folderId).toPromise();
|
||||
let publicationList = []
|
||||
|
||||
for (let element of res) {
|
||||
let ress = await this.publications.GetPublicationById(element).toPromise();
|
||||
let item: Publication = this.publicationPipe.itemList(ress)
|
||||
publicationList.push(item);
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
this.publicationList[folderId] = publicationList
|
||||
this.storage.set(folderId, publicationList);
|
||||
this.getpublication = publicationList;
|
||||
} catch(error) {
|
||||
this.showLoader = false;
|
||||
}
|
||||
return JSON.parse(str);
|
||||
|
||||
}
|
||||
|
||||
async AddPublication(publicationType: any, folderId: any) {
|
||||
|
||||
@@ -91,7 +91,7 @@ export class EventListPage implements OnInit {
|
||||
this.color = 'mdgpr'
|
||||
}
|
||||
|
||||
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
|
||||
let genericEvents = await this.processes.eventsToApprove(SessionStore.user.UserId,'mobile agenda').toPromise()
|
||||
try {
|
||||
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
|
||||
} catch (error) {
|
||||
|
||||
@@ -197,9 +197,7 @@ ion-content{
|
||||
left: 0 !important;
|
||||
bottom: 0 !important;
|
||||
right: 0 !important;
|
||||
top: calc(100% - 160px) !important;
|
||||
max-height: 160px;
|
||||
min-height: 160px;
|
||||
bottom: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ export class EventsToApprovePage implements OnInit {
|
||||
this.color = 'mdgpr'
|
||||
}
|
||||
|
||||
let genericEvents = await this.processes.GetTasksList('Agendar Evento', false).toPromise();
|
||||
let genericEvents = await this.processes.eventsToApprove(SessionStore.user.UserId,'mobile agenda').toPromise()
|
||||
try {
|
||||
this.eventsList = this.sortService.sortArrayByDate(genericEvents).reverse();
|
||||
} catch (error) {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="buttons">
|
||||
<button class="btn-cancel" shape="round" >Adicionar</button>
|
||||
<button (click)="leaveGroup()" class="btn-cancel" shape="round" >Sair do Grupo</button>
|
||||
<button *ngIf="isAdmin" (click)="openChangeGroupName()" class="btn-cancel" shape="round" >Alterar nome do grupo</button>
|
||||
<button *ngIf="isAdmin" (click)="openChangeGroupName()" class="btn-cancel btn-cancel mt-10" shape="round" >Alterar nome do grupo</button>
|
||||
<div class="solid"></div>
|
||||
<button (click)="close('cancel')" full class="btn-cancel mobile-only" shape="round" >Cancelar</button>
|
||||
<button *ngIf="isAdmin" (click)="deleteGroup()" class="btn-delete" shape="round">Apagar grupo</button>
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<div class="main-header">
|
||||
<div class="title-content">
|
||||
<div *ngIf="item" class="div-title width-100 flex-grow-1">
|
||||
<div *ngIf="publicationItem[folderId]" class="div-title width-100 flex-grow-1">
|
||||
<div class="title">
|
||||
<ion-label>{{item.Description}}</ion-label>
|
||||
<ion-label>{{publicationItem[folderId].Description}}</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="actions-icon">
|
||||
<!-- <ion-icon (click)="AddPublication('1',item.ProcessId)" slot="end" src='assets/images/icons-add-photo.svg'></ion-icon> -->
|
||||
<button *ngIf="p.userPermission([p.permissionList.Actions.editPost])" class="btn-no-color" (click)="openEditPublication(item.ProcessId)">
|
||||
<button *ngIf="p.userPermission([p.permissionList.Actions.editPost])" class="btn-no-color" (click)="openEditPublication(publicationItem[folderId].ProcessId)">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " class="edit" slot="end" src="assets/images/icons-edit.svg" ></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " class="edit" slot="end" src="assets/images/theme/gov/icons-edit.svg" ></ion-icon>
|
||||
</button>
|
||||
<button *ngIf="p.userPermission([p.permissionList.Actions.deletePost])" class="btn-no-color" (click)="deletePublication(item.ProcessId)">
|
||||
<button *ngIf="p.userPermission([p.permissionList.Actions.deletePost])" class="btn-no-color" (click)="deletePublication(publicationItem[folderId].ProcessId)">
|
||||
<ion-icon class="delete" src='assets/images/theme/gov/icons-delete.svg'></ion-icon>
|
||||
</button>
|
||||
<button class="btn-no-color cursor-pointer" (click)="doRefresh($event)">
|
||||
@@ -21,8 +21,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="div-body width-100">
|
||||
<p class="item-content-detail">{{item.Detail}}</p>
|
||||
<p class="item-content-date">{{ item.DateBegin | date: 'dd-MM-yy HH:mm'}}</p>
|
||||
<p class="item-content-detail">{{publicationItem[folderId].Detail}}</p>
|
||||
<p class="item-content-date">{{ publicationItem[folderId].DateBegin | date: 'dd-MM-yy HH:mm'}}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -35,8 +35,8 @@
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
<div class="main-container px-20">
|
||||
<ion-card *ngFor="let publication of publicationList let i = index"
|
||||
<div class="main-container px-20" *ngIf="publicationItem[folderId]">
|
||||
<ion-card *ngFor="let publication of publicationList[folderId] let i = index"
|
||||
(click)="viewPublicationDetail(publication.DocumentId)">
|
||||
<ion-card-content>
|
||||
<div class="post-img">
|
||||
@@ -84,8 +84,8 @@
|
||||
</ion-list> -->
|
||||
</div>
|
||||
<!-- fab placed to the bottom end -->
|
||||
<ion-fab *ngIf="p.userPermission([p.permissionList.Actions.create])" vertical="bottom" horizontal="end">
|
||||
<ion-fab-button title="Nova Publicação" (click)="AddPublication('2',item.ProcessId)">
|
||||
<ion-fab *ngIf="p.userPermission([p.permissionList.Actions.create]) && publicationItem[folderId]" vertical="bottom" horizontal="end">
|
||||
<ion-fab-button title="Nova Publicação" (click)="AddPublication('2',publicationItem[folderId].ProcessId)">
|
||||
<ion-icon name="add"></ion-icon>
|
||||
</ion-fab-button>
|
||||
</ion-fab>
|
||||
|
||||
@@ -22,8 +22,8 @@ export class ViewPublicationsPage implements OnInit {
|
||||
showLoader: boolean;
|
||||
loading: any;
|
||||
|
||||
publicationList: Publication[];
|
||||
item: PublicationFolder;
|
||||
publicationList: {[key: string]: Publication[] } = {};
|
||||
publicationItem: {[key: string]: PublicationFolder } = {};
|
||||
getpublication = [];
|
||||
error: any;
|
||||
|
||||
@@ -47,7 +47,10 @@ export class ViewPublicationsPage implements OnInit {
|
||||
public p:PermissionService,
|
||||
private httpErrorHandle: HttpErrorHandle
|
||||
) {
|
||||
this.item = new PublicationFolder();
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -55,10 +58,14 @@ export class ViewPublicationsPage implements OnInit {
|
||||
this.folderId = this.folderId['ProcessId']
|
||||
}
|
||||
|
||||
//this.getPublicationsIds();
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
|
||||
window['app-view-publications-page-doRefresh'] = this.doRefresh
|
||||
this.getPublicationDetail();
|
||||
|
||||
this.getFromDB();
|
||||
}
|
||||
|
||||
ngOnChanges(changes: any): void {
|
||||
@@ -66,23 +73,24 @@ export class ViewPublicationsPage implements OnInit {
|
||||
if(typeof(this.folderId) == 'object') {
|
||||
this.folderId = this.folderId['ProcessId']
|
||||
}
|
||||
|
||||
|
||||
//setTimeout(()=>{
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
if(!this.publicationList[this.folderId]) {
|
||||
this.publicationList[this.folderId] = []
|
||||
this.publicationItem[this.folderId] = new PublicationFolder();
|
||||
}
|
||||
|
||||
//}, 100)
|
||||
this.getFromDB();
|
||||
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
|
||||
|
||||
}
|
||||
|
||||
doRefresh =(event) => {
|
||||
this.getPublicationsIds();
|
||||
|
||||
setTimeout(() => {
|
||||
this.getPublicationDetail();
|
||||
}, 3000);
|
||||
this.getPublicationDetail();
|
||||
this.getPublicationsIds();
|
||||
}
|
||||
|
||||
close() {
|
||||
@@ -90,88 +98,84 @@ export class ViewPublicationsPage implements OnInit {
|
||||
}
|
||||
|
||||
getPublicationDetail() {
|
||||
this.publications.GetPresidentialAction(this.folderId).subscribe(res=>{
|
||||
|
||||
this.item = res;
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
this.publications.GetPresidentialAction(folderId).subscribe(res=>{
|
||||
this.showLoader = false;
|
||||
this.publicationItem[folderId] = res
|
||||
this.storage.set(folderId+"name", res)
|
||||
}, (error) => {
|
||||
this.showLoader = false;
|
||||
// this.httpErroHandle.httpStatusHandle(error)
|
||||
});
|
||||
}
|
||||
|
||||
getPublicationsIds() {
|
||||
async getPublicationsIds() {
|
||||
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
//this.getFromDB()
|
||||
this.publications.GetPublicationsImages(this.folderId).subscribe(res => {
|
||||
|
||||
|
||||
this.publicationList = new Array();
|
||||
|
||||
/* for(let i = 0; i < res.length; i++) {
|
||||
this.publications.GetPublicationById(res[i]).subscribe(ress => {
|
||||
|
||||
let item: Publication = this.publicationPipe.itemList(ress)
|
||||
|
||||
this.publicationList.push(item);
|
||||
})
|
||||
} */
|
||||
|
||||
res.forEach(element => {
|
||||
|
||||
this.publications.GetPublicationById(element).subscribe(ress => {
|
||||
|
||||
let item: Publication = this.publicationPipe.itemList(ress)
|
||||
|
||||
this.publicationList.push(item);
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
this.storage.remove('view_publications');
|
||||
this.storage.set('view_publications', this.publicationList);
|
||||
|
||||
|
||||
this.getpublication = this.publicationList;
|
||||
try {
|
||||
const res = await this.publications.GetPublicationsImages(folderId).toPromise();
|
||||
let publicationList = []
|
||||
|
||||
for (let element of res) {
|
||||
let ress = await this.publications.GetPublicationById(element).toPromise();
|
||||
let item: Publication = this.publicationPipe.itemList(ress)
|
||||
publicationList.push(item);
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
},() => {
|
||||
this.getFromDB();
|
||||
});
|
||||
|
||||
this.publicationList[folderId] = publicationList
|
||||
this.storage.set(folderId, publicationList);
|
||||
this.getpublication = publicationList;
|
||||
} catch(error) {
|
||||
this.showLoader = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
getFromDB() {
|
||||
this.storage.get('view_publications').then((viewPublications) => {
|
||||
this.publicationList = viewPublications;
|
||||
})
|
||||
}
|
||||
|
||||
getPublications() {
|
||||
this.showLoader = true;
|
||||
const folderId = this.folderId
|
||||
this.publicationList = new Array();
|
||||
//this.getFromDB();
|
||||
this.publications.GetPublications(folderId).subscribe(async res=> {
|
||||
|
||||
res.forEach(element => {
|
||||
let item: Publication = this.publicationPipe.itemList(element)
|
||||
this.publicationList.push(item);
|
||||
});
|
||||
|
||||
await this.storage.remove('view_publications');
|
||||
await this.storage.set('view_publications', this.publicationList);
|
||||
//this.getFromDB();
|
||||
this.showLoader = false;
|
||||
},
|
||||
(error)=>{
|
||||
if(error.status == '404') {
|
||||
this.error = 'Sem publicações disponíveis!';
|
||||
this.publicationList= [];
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
|
||||
this.storage.get(folderId).then((viewPublications) => {
|
||||
this.publicationList[folderId] = viewPublications
|
||||
})
|
||||
this.storage.get(folderId+"name").then((viewPublications) => {
|
||||
this.publicationItem[folderId] = viewPublications
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
// getPublications() {
|
||||
// this.showLoader = true;
|
||||
// const folderId = this.folderId
|
||||
// this.publicationList = new Array();
|
||||
// this.publications.GetPublications(folderId).subscribe(async res=> {
|
||||
|
||||
// res.forEach(element => {
|
||||
// let item: Publication = this.publicationPipe.itemList(element)
|
||||
// this.publicationList.push(item);
|
||||
// });
|
||||
|
||||
// this.showLoader = false;
|
||||
// await this.storage.remove(folderId);
|
||||
// await this.storage.set(folderId, this.publicationList);
|
||||
// //this.getFromDB();
|
||||
|
||||
// },
|
||||
// (error)=>{
|
||||
// if(error.status == '404') {
|
||||
// this.error = 'Sem publicações disponíveis!';
|
||||
// this.publicationList= [];
|
||||
// }
|
||||
|
||||
// this.showLoader = false;
|
||||
|
||||
// })
|
||||
|
||||
// }
|
||||
|
||||
async AddPublication(publicationType:any, folderId:any) {
|
||||
|
||||
if( window.innerWidth < 701) {
|
||||
|
||||
+1
-3
@@ -843,9 +843,7 @@ ion-content {
|
||||
left: 0 !important;
|
||||
bottom: 0 !important;
|
||||
right: 0 !important;
|
||||
top: calc(100% - 160px) !important;
|
||||
max-height: 160px;
|
||||
min-height: 160px;
|
||||
bottom: 0px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
export let versionData = {
|
||||
"shortSHA": "75e6a6269",
|
||||
"SHA": "75e6a62695abe44be50786e4cde227eec3b2a93c",
|
||||
"shortSHA": "c037078ca",
|
||||
"SHA": "c037078ca77a5a2eb316af91a9ec76493f0b908e",
|
||||
"branch": "no_bug_movemente",
|
||||
"lastCommitAuthor": "'Peter Maquiran'",
|
||||
"lastCommitTime": "'Mon Feb 27 18:38:55 2023 +0100'",
|
||||
"lastCommitMessage": "remove",
|
||||
"lastCommitNumber": "4840",
|
||||
"lastCommitAuthor": "'Eudes Inácio'",
|
||||
"lastCommitTime": "'Mon Feb 27 22:16:15 2023 +0100'",
|
||||
"lastCommitMessage": "Saidas testastas",
|
||||
"lastCommitNumber": "4841",
|
||||
"change": "",
|
||||
"changeStatus": "On branch no_bug_movemente\nYour branch is up to date with 'origin/no_bug_movemente'.\n\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/modals/add-note/add-note.page.html\n\tmodified: src/app/modals/create-process/create-process.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/shared/popover/deploma-options/deploma-options.page.html\n\tmodified: src/app/shared/popover/deploma-options/deploma-options.page.ts",
|
||||
"changeStatus": "On branch no_bug_movemente\nYour branch and 'origin/no_bug_movemente' have diverged,\nand have 1 and 5 different commits each, respectively.\n (use \"git pull\" to merge the remote branch into yours)\n\nAll conflicts fixed but you are still merging.\n (use \"git commit\" to conclude merge)\n\nChanges to be committed:\n\tmodified: src/app/home/home.page.ts\n\tmodified: src/app/modals/create-process/create-process.page.ts\n\tmodified: src/app/modals/view-document/view-document.page.scss\n\tmodified: src/app/pages/agenda/agenda.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/event-list.page.ts\n\tmodified: src/app/pages/publications/publications.page.ts\n\tmodified: src/app/pages/publications/view-publications/view-publications.page.html\n\tmodified: src/app/pages/publications/view-publications/view-publications.page.ts\n\tmodified: src/app/shared/agenda/event-list/event-list.page.ts\n\tmodified: src/app/shared/agenda/view-event/view-event.page.scss\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts\n\tmodified: src/app/shared/popover/chat-popover/chat-popover.page.html\n\tmodified: src/app/shared/publication/view-publications/view-publications.page.html\n\tmodified: src/app/shared/publication/view-publications/view-publications.page.ts\n\tmodified: src/global.scss",
|
||||
"changeAuthor": "eudes.inacio"
|
||||
}
|
||||
Reference in New Issue
Block a user