Commit e2508ec5 by Matteo

Aggiunta condivisione allegati Pareri e Gestione Fatture per struttura

parent 3162141f
...@@ -2,5 +2,6 @@ import { Pair } from './pair'; ...@@ -2,5 +2,6 @@ import { Pair } from './pair';
export interface FattureRequest { export interface FattureRequest {
cliente: number; cliente: number;
limite: number; limite: number;
struttura: number;
filtri: Pair[]; filtri: Pair[];
} }
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<p>{{parereAttivo.testo}}</p> <p>{{parereAttivo.testo}}</p>
<div class="download-doc" *ngIf="parereAttivo.nomeFile != null"> <div class="download-doc" *ngIf="parereAttivo.nomeFile != null">
<div class="image" title="Scarica allegato"> <div class="image" title="Scarica allegato">
<a *ngIf="!platform.is('desktop')" (click)="getFile(parereAttivo.idRichiesta, parereAttivo.nomeFile, true);" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#e5e5ea'"></ion-icon></a> <a *ngIf="!platform.is('desktop')" (click)="getFile(parereAttivo.idRichiesta, parereAttivo.nomeFile, true);" target="_blank" download><ion-icon name="share-alt" [style.color]="'#e5e5ea'"></ion-icon></a>
<a *ngIf="platform.is('desktop')" href="{{parereAttivo.url}}" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#e5e5ea'"></ion-icon></a> <a *ngIf="platform.is('desktop')" href="{{parereAttivo.url}}" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#e5e5ea'"></ion-icon></a>
</div> </div>
<div class="filename">{{parereAttivo.nomeFile}}</div> <div class="filename">{{parereAttivo.nomeFile}}</div>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
<p>{{parereAttivo.interventi[0].testo}}</p> <p>{{parereAttivo.interventi[0].testo}}</p>
<div *ngIf="parereAttivo.interventi[0].nomeFile != null" class="download-doc"> <div *ngIf="parereAttivo.interventi[0].nomeFile != null" class="download-doc">
<div class="image" title="Scarica allegato"> <div class="image" title="Scarica allegato">
<a *ngIf="!platform.is('desktop')" (click)="getFile(parereAttivo.interventi[0].idIntervento, parereAttivo.interventi[0].nomeFile, false);" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#2b94d1'"></ion-icon></a> <a *ngIf="!platform.is('desktop')" (click)="getFile(parereAttivo.interventi[0].idIntervento, parereAttivo.interventi[0].nomeFile, false);" target="_blank" download><ion-icon name="share-alt" [style.color]="'#2b94d1'"></ion-icon></a>
<a *ngIf="platform.is('desktop')" href="{{parereAttivo.interventi[0].url}}" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#2b94d1'"></ion-icon></a> <a *ngIf="platform.is('desktop')" href="{{parereAttivo.interventi[0].url}}" target="_blank" download><ion-icon name="cloud-download" [style.color]="'#2b94d1'"></ion-icon></a>
</div> </div>
<div class="filename">{{parereAttivo.interventi[0].nomeFile}}</div> <div class="filename">{{parereAttivo.interventi[0].nomeFile}}</div>
......
...@@ -78,7 +78,7 @@ export class ParerePage implements OnInit { ...@@ -78,7 +78,7 @@ export class ParerePage implements OnInit {
getFile(id, nomeFile, richiesta) getFile(id, nomeFile, richiesta)
{ {
var fileUrl = this.httpClientDataService.BASE_ADDRESS+"/intranet/richiesta.do?idcliente="+this.idCliente+"&idrichiesta="+id+"&isrichiesta="+richiesta; var fileUrl = this.httpClientDataService.BASE_ADDRESS+"/intranet/richiesta.do?idcliente="+this.idCliente+"&idrichiesta="+id+"&isrichiesta="+richiesta;
this.utilService.downloadDocumento(fileUrl, nomeFile); this.utilService.shareDocumento(fileUrl, nomeFile);
} }
async loadPareri(fase) async loadPareri(fase)
......
...@@ -26,6 +26,18 @@ ...@@ -26,6 +26,18 @@
</div>--> </div>-->
<div [ngSwitch]="segreteria" ngDefaultControl> <div [ngSwitch]="segreteria" ngDefaultControl>
<ion-item class="selection item-no-border" no-margin no-padding>
<ion-label>Seleziona la struttura</ion-label>
<ion-select value="clienteSel" [(ngModel)]="idStrutturaSel" (ionChange)="cambiaStruttura()" no-scroll title="Seleziona una struttura">
<ion-icon name="arrow-forward"></ion-icon>
<ion-select-option *ngFor="let struttura of strutture;" value="{{struttura.id}}">{{struttura.denominazione}}</ion-select-option>
</ion-select>
</ion-item>
<ion-text class="selection-done margin-top">
La struttura che hai selezionato è </ion-text>
<ion-text class="grigio selection-done" text-wrap> <br/><strong>{{strutturaSel.denominazione}}</strong>
</ion-text>
<ion-list *ngSwitchCase="'fatture'" ngDefaultControl> <ion-list *ngSwitchCase="'fatture'" ngDefaultControl>
<ion-grid> <ion-grid>
<ion-row class="search-date"> <ion-row class="search-date">
...@@ -104,23 +116,7 @@ ...@@ -104,23 +116,7 @@
<div class="title-infra"> <div class="title-infra">
Estratto conto Estratto conto
</div> </div>
<ion-item class="selection item-no-border" no-margin no-padding>
<ion-label>Seleziona la struttura</ion-label>
<ion-select value="clienteSel" [(ngModel)]="idStrutturaSel" (ionChange)="cambiaStruttura()" no-scroll title="Seleziona una struttura">
<ion-icon name="arrow-forward"></ion-icon>
<ion-select-option *ngFor="let struttura of strutture;" value="{{struttura.id}}">{{struttura.denominazione}}</ion-select-option>
</ion-select>
</ion-item>
<ion-text class="selection-done margin-top">
La struttura che hai selezionato è </ion-text>
<div class="download item-no-border">
<a *ngIf="!platform.is('desktop')" (click)="getEstrattoConto(idCliente, 'EstrattoConto.pdf', strutturaSel.id);" target="_blank" download tappable>
<ion-icon name="cloud-download" class="download-icon"></ion-icon></a>
<a *ngIf="platform.is('desktop')" href="http://localhost:8080/stman/intranet/estrattoconto.do?idcliente={{idCliente}}&idstruttura={{strutturaSel.id}}" target="_blank" download tappable>
<ion-icon name="cloud-download" class="download-icon" title="Scarica estratto conto"></ion-icon></a>
</div>
<ion-text class="grigio selection-done" text-wrap> <br/><strong>{{strutturaSel.denominazione}}</strong>
</ion-text>
</ion-list> </ion-list>
<ion-list *ngSwitchCase="'solleciti'" ngDefaultControl> <ion-list *ngSwitchCase="'solleciti'" ngDefaultControl>
...@@ -147,7 +143,7 @@ ...@@ -147,7 +143,7 @@
<ion-icon src="assets/icon/fatture-progetti-bianco.svg" id="icon-fatture" class="icon-footer"></ion-icon> <ion-icon src="assets/icon/fatture-progetti-bianco.svg" id="icon-fatture" class="icon-footer"></ion-icon>
<ion-label id="label-fatture" style="color: white;">Fatture e Progetti</ion-label> <ion-label id="label-fatture" style="color: white;">Fatture e Progetti</ion-label>
</ion-tab-button> </ion-tab-button>
<ion-tab-button value="estratto" (click)="changeSel('estratto')"> <ion-tab-button value="estratto" (click)="downloadEstrattoConto('estratto')">
<ion-icon src="assets/icon/estratto-conto-grigio.svg" id="icon-estratto" class="icon-footer"></ion-icon> <ion-icon src="assets/icon/estratto-conto-grigio.svg" id="icon-estratto" class="icon-footer"></ion-icon>
<ion-label id="label-estratto">Estratto Conto</ion-label> <ion-label id="label-estratto">Estratto Conto</ion-label>
</ion-tab-button> </ion-tab-button>
......
...@@ -35,15 +35,18 @@ export class SegreteriaPage implements OnInit { ...@@ -35,15 +35,18 @@ export class SegreteriaPage implements OnInit {
this.initPage(); this.initPage();
if(AuthService.clienteSelezionato.id != null) if(AuthService.clienteSelezionato.id != null)
{ {
this.loadStrutture(); this.loadData();
this.loadFatture('initial');
} }
this.events.subscribe('functionCall:clienteCambiato', eventData => { this.events.subscribe('functionCall:clienteCambiato', eventData => {
this.loadStrutture(); this.loadData();
this.loadFatture('initial');
}); });
} }
loadData()
{
this.loadStrutture();
}
segreteria: string; segreteria: string;
fatture: Fattura[]; fatture: Fattura[];
idCliente; idCliente;
...@@ -222,6 +225,16 @@ export class SegreteriaPage implements OnInit { ...@@ -222,6 +225,16 @@ export class SegreteriaPage implements OnInit {
this.utilService.shareDocumento(fileUrl, nomeFile); this.utilService.shareDocumento(fileUrl, nomeFile);
} }
downloadEstrattoConto()
{
if(this.platform.is("desktop"))
{
var url = "http://localhost:8080/stman/intranet/estrattoconto.do?idcliente="+this.idCliente+"&idstruttura="+this.strutturaSel.id;
window.open(url, "_system");
}
else this.getEstrattoConto(this.idCliente, 'EstrattoConto.pdf', this.strutturaSel.id);
}
async redirectTo2p2() async redirectTo2p2()
{ {
var id = await this.authService.getId(); var id = await this.authService.getId();
...@@ -245,6 +258,7 @@ export class SegreteriaPage implements OnInit { ...@@ -245,6 +258,7 @@ export class SegreteriaPage implements OnInit {
if(this.idStrutturaSel == this.strutture[i].id) if(this.idStrutturaSel == this.strutture[i].id)
this.strutturaSel = this.strutture[i]; this.strutturaSel = this.strutture[i];
} }
this.loadFatture('initial');
} }
loadStrutture() loadStrutture()
...@@ -253,7 +267,12 @@ export class SegreteriaPage implements OnInit { ...@@ -253,7 +267,12 @@ export class SegreteriaPage implements OnInit {
this.segreteriaService.getStrutture(AuthService.clienteSelezionato.id).subscribe((res: StruttureResponse)=>{ this.segreteriaService.getStrutture(AuthService.clienteSelezionato.id).subscribe((res: StruttureResponse)=>{
//this.utilService.closeLoading(); //this.utilService.closeLoading();
this.strutture = res.strutture; this.strutture = res.strutture;
if(this.strutture.length > 0) this.strutturaSel = this.strutture[0]; if(this.strutture.length > 0)
{
this.strutturaSel = this.strutture[0];
this.loadFatture('initial');
}
}, },
(error: ErrorResponse) => { (error: ErrorResponse) => {
//this.utilService.closeLoading(); //this.utilService.closeLoading();
...@@ -281,8 +300,8 @@ export class SegreteriaPage implements OnInit { ...@@ -281,8 +300,8 @@ export class SegreteriaPage implements OnInit {
if(this.date2 != null && this.date2 != "") dataA = this.utilService.dateFormatConvert(this.date2); if(this.date2 != null && this.date2 != "") dataA = this.utilService.dateFormatConvert(this.date2);
var request: FattureRequest; var request: FattureRequest;
this.idCliente = AuthService.clienteSelezionato.id; this.idCliente = AuthService.clienteSelezionato.id;
if(fase == "initial") request = this.segreteriaService.createFatturaRequest(this.idCliente, 10, null, null, numeroP, numeroN); if(fase == "initial") request = this.segreteriaService.createFatturaRequest(this.idCliente, 10, null, null, numeroP, numeroN, this.strutturaSel.id);
else request = this.segreteriaService.createFatturaRequest(this.idCliente,null, dataDa, dataA, numeroP, numeroN); else request = this.segreteriaService.createFatturaRequest(this.idCliente,null, dataDa, dataA, numeroP, numeroN, this.strutturaSel.id);
this.segreteriaService.getFatture(request).subscribe((res: FattureResponse)=>{ this.segreteriaService.getFatture(request).subscribe((res: FattureResponse)=>{
this.utilService.closeLoading(); this.utilService.closeLoading();
if(res.error){ if(res.error){
......
...@@ -30,7 +30,7 @@ export class SegreteriaService { ...@@ -30,7 +30,7 @@ export class SegreteriaService {
errorRespose: ErrorResponse; errorRespose: ErrorResponse;
createFatturaRequest(id, limite, daData, aData, nProgNotula, nNotula) createFatturaRequest(id, limite, daData, aData, nProgNotula, nNotula, struttura)
{ {
var request: FattureRequest; var request: FattureRequest;
var pair:Pair; var pair:Pair;
...@@ -78,6 +78,7 @@ export class SegreteriaService { ...@@ -78,6 +78,7 @@ export class SegreteriaService {
request = { request = {
cliente: id, cliente: id,
limite: limite, limite: limite,
struttura: struttura,
filtri: pairs filtri: pairs
}; };
return request; return request;
...@@ -147,7 +148,7 @@ export class SegreteriaService { ...@@ -147,7 +148,7 @@ export class SegreteriaService {
encodeBody(params) encodeBody(params)
{ {
var request = "{\"cliente\" : "+params.cliente+",\"limite\" : "+params.limite+",\"filtri\" : {"; var request = "{\"cliente\" : "+params.cliente+",\"limite\" : "+params.limite+",\"struttura\" : "+params.struttura+",\"filtri\" : {";
var filtro; var filtro;
var first = true; var first = true;
var i; var i;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment