13 Commits

Author SHA1 Message Date
9f0a7e9c1b fix mieter overview 2021-02-05 13:37:44 +01:00
eaabf522ee saldo 2021-02-05 12:53:48 +01:00
193142d6ec saldo 2021-02-05 12:23:59 +01:00
e644150be1 use real service, fix 2021-02-05 12:00:41 +01:00
fe0597376f use real service, fix 2021-02-05 11:56:30 +01:00
05db934464 use real service, fi 2021-02-05 11:50:01 +01:00
3a713c929d use real service 2021-02-05 11:44:53 +01:00
7baee4d5f0 add saldo to mieter, fix 2021-02-05 11:36:22 +01:00
555626936a add saldo to mieter 2021-02-05 11:30:49 +01:00
19b9439891 prod setup 2021-01-26 13:42:37 +01:00
cbc7b52f96 change address of service 2021-01-24 16:43:39 +01:00
a0230690af fix 2021-01-21 16:51:40 +01:00
aed0759eab nginx config 2021-01-21 16:47:03 +01:00
7 changed files with 85 additions and 12 deletions

View File

@ -1,3 +1,4 @@
FROM nginx:stable
COPY default.conf /etc/nginx/conf.d/
COPY dist/hv-ui/* /usr/share/nginx/html/

9
default.conf Normal file
View File

@ -0,0 +1,9 @@
server {
listen 80;
server_name hv-ui;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
}

View File

@ -1 +1 @@
export const serviceBaseUrl = "http://172.16.3.32:5000";
export const serviceBaseUrl = "http://172.16.10.29:5000";

View File

@ -13,4 +13,5 @@ export interface Mieter {
telefon: string;
einzug: string;
auszug: string;
saldo: number;
}

View File

@ -0,0 +1,3 @@
table {
width: 75%;
}

View File

@ -1,9 +1,36 @@
<section class="mat-typography">
<h2>Meine Mieter</h2>
<ul>
<li *ngFor="let mieter of mieters"
routerLink="/mieter/{{mieter.id}}">
<span>{{mieter.vorname}} {{mieter.nachname}}</span>
</li>
</ul>
<mat-card class="defaultCard">
<mat-card-header>
<mat-card-title>
Meine Mieter
</mat-card-title>
</mat-card-header>
<mat-card-content>
<div>
<table mat-table [dataSource]="dataSource" #zftable>
<ng-container matColumnDef="nachname">
<th mat-header-cell *matHeaderCellDef>Nachname</th>
<td mat-cell *matCellDef="let element" routerLink="/mieter/{{element.id}}">
{{element.nachname}}
</td>
</ng-container>
<ng-container matColumnDef="vorname">
<th mat-header-cell *matHeaderCellDef>Vorname</th>
<td mat-cell *matCellDef="let element">{{element.vorname}}</td>
</ng-container>
<ng-container matColumnDef="saldo">
<th mat-header-cell *matHeaderCellDef>Saldo</th>
<td mat-cell *matCellDef="let element">{{element.saldo}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
</div>
</mat-card-content>
</mat-card>
</section>

View File

@ -3,6 +3,11 @@ import { Component, OnInit } from '@angular/core';
import { Mieter } from '../mieter';
import { MieterService } from '../mieter.service';
import { MessageService } from '../message.service';
import { ZahlungForderungService} from '../zahlung-forderung.service'
import { Saldo } from '../zahlung-forderung'
import { MatTableDataSource } from '@angular/material/table'
@Component({
@ -12,21 +17,48 @@ import { MessageService } from '../message.service';
})
export class MietersComponent implements OnInit {
mieters: Mieter[];
mieters: Mieter[]
year: string
selectedMieter : Mieter
selectedMieter : Mieter;
displayedColumns: string[] = ["nachname", "vorname", "saldo"]
dataSource: MatTableDataSource<Mieter>
constructor(private mieterService: MieterService, private messageService: MessageService) { }
constructor(
private mieterService: MieterService,
private zahlungForderungService: ZahlungForderungService,
private messageService: MessageService) {
}
async getMieters() {
try {
this.mieters = await this.mieterService.getMieters();
this.mieters = await this.mieterService.getMieters();
this.mieters.sort((a, b) => (a.nachname < b.nachname ? -1 : 1))
this.messageService.add("Mieters loaded")
this.loadSaldos();
this.messageService.add("Saldos loaded")
this.dataSource = new MatTableDataSource<Mieter>(this.mieters)
} catch (err) {
this.messageService.add(JSON.stringify(err, undefined, 4))
}
}
async loadSaldos() {
try {
this.mieters.forEach(async (m:Mieter) => {
this.messageService.add(`Loading saldo for mieter ${m.id}`)
let saldo: Saldo = await this.zahlungForderungService.getSaldoByMieterAndYear(m.id, +this.year)
m.saldo = saldo.saldo
})
} catch (err) {
this.messageService.add(JSON.stringify(err, undefined, 4))
}
}
ngOnInit(): void {
this.year = new Date().getFullYear().toString()
this.getMieters();
}
}