Skip to content

Commit

Permalink
Samstag 17:30
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Hornburger committed Oct 26, 2024
1 parent 3a43486 commit 914971d
Show file tree
Hide file tree
Showing 15 changed files with 1,544 additions and 12 deletions.
4 changes: 4 additions & 0 deletions src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ const routes: Routes = [
path: 'FiMitarbeiterlistePage',
loadChildren: () => import('./pages/fi-mitarbeiterliste/fi-mitarbeiterliste.module').then(m => m.FIMitarbeiterlistePageModule),
},
{
path: 'PageNeu',
loadChildren: () => import('./pages/fi-mitarbeiterlisteneu/fi-mitarbeiterlisteneu.module').then(m => m.FIMitarbeiterlisteNeuPageModule),
},
{
path: '',
loadChildren: () => import('./pages/common-home/common-home.module').then(m => m.CommonHomePageModule),
Expand Down
3 changes: 2 additions & 1 deletion src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,8 @@ export class AppComponent implements OnInit, OnDestroy, AfterContentChecked {

if(this.Pool.Mitarbeiterdaten.Planeradministrator === true) {

Page = this.Pool.Appeinstellungen.AdminStartseite;
Page = 'PageNeu'; // this.Pool.Appeinstellungen.AdminStartseite;
// Page = this.Pool.Appeinstellungen.AdminStartseite;
}
else {

Expand Down
3 changes: 3 additions & 0 deletions src/app/dataclasses/mitarbeiterstruktur.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ export interface Mitarbeiterstruktur {
Homeofficefreigabestandorte: string[];
Urlaubsfreigabeorte: string[];

Urlaubsfreigeberliste: string[];
Homeofficefreigeberliste: string[];
Urlaubsfreigabeinfomailliste: string[];

Meintagliste: Meintagstruktur[];
Meinewocheliste: Meinewochestruktur[];
Expand Down
46 changes: 46 additions & 0 deletions src/app/pages/common-home/common-home.page.html
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,52 @@
</div>

</td>
<td>
<div class="trennerdiv" [style.background]="Basics.Farben.Grau"></div>
</td>
<td>

<div class="buttonclass"
(click)="MitarbeiterNeuButtonClicked()"
(mouseenter)="MitarbeiterMouseOver = true"
(mouseleave)="MitarbeiterMouseOver = false">

<table>
<tr>
<td align="center">

<div style="height: 90px; width: 100px; background: red; position: relative">
<div class="projektbuttoniconclass">
<ion-icon name="people-outline" [color]="MitarbeiterMouseOver ? Basics.Ionicfarben.BAEBlau : Basics.Ionicfarben.BurnicklGrau" style="font-size: 80px"></ion-icon>
</div>
<!--
*ngIf="Pool.Mitarbeiterdaten.Kuerzel === '' || Pool.Mitarbeiterdaten.StandortID === ''"
-->
<ng-container *ngIf="Pool.Mitarbeiterdaten !== null && CheckAllMitarbeiterdaten() === false">
<div class="projektbuttoniconerrorclass">
<img src="/assets/svgs/alert.svg" style="height: 44px"/>
</div>
</ng-container>
</div>

</td>
</tr>
<tr>
<td style="text-align: center;">
<table>
<tr>
<td style="text-align: center;">
<ion-text [color]="Basics.Ionicfarben.Grau" style="font-size: 22px">Neu</ion-text>
</td>
</tr>
</table>
</td>
</tr>
</table>

</div>

</td>

</tr>
</table>
Expand Down
12 changes: 12 additions & 0 deletions src/app/pages/common-home/common-home.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,18 @@ export class CommonHomePage implements OnInit, OnDestroy {
}
}

MitarbeiterNeuButtonClicked() {

try {

this.Tools.SetRootPage('PageNeu');

} catch (error) {

this.Debug.ShowErrorMessage(error.message, 'Home', 'MitarbeiterNeuButtonClicked', this.Debug.Typen.Page);
}
}

PlanerButtonClicked() {

try {
Expand Down
235 changes: 235 additions & 0 deletions src/app/pages/fi-mitarbeiterlisteneu/fi-mitarbeiterlisteneu.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
<ion-header class="ion-no-border">
<page-header>
<table>
<tr>
<td style="width: 10px"></td>
<ng-container *ngIf="Pool.Mitarbeiterdaten !== null && Pool.Mitarbeiterdaten.Planeradministrator">
<td>
<div class="menubuttonclass"
(mouseenter)="HomeMouseOver = true"
(mouseleave)="HomeMouseOver = false"
(click)="MainMenueButtonClicked(Menuservice.MainMenuebereiche.Home)">
<table class="paddingsmalltable">
<tr>
<td>
<ion-icon style="font-size: 16px" name="home-outline"
[color]="HomeMouseOver ? Basics.Ionicfarben.Schwarz : Basics.Ionicfarben.Weiss">
</ion-icon>
</td>
</tr>
</table>
</div>
</td>

<td align="center" class="trennertdclass">
<div class="trennerdivclass"></div>
</td>
<ng-container *ngFor="let Eintrag of Menueliste">
<td>
<div (click)="MenueButtonClicked(Eintrag.id)" class="butttonclass" [style.background]="CurrentMenueID === Eintrag.id ? '#7b6a58' : '#444444'">{{Eintrag.Titel}}</div>
</td>
<td style="width: 10px"></td>
</ng-container>
</ng-container>
</tr>
</table>

<ng-container *ngIf="CurrentStandort !== null">
<table class="nopaddingtable">
<tr>
<td style="width: 300px"></td>
<td *ngFor="let Freigeber of Freigeberliste" style="width: 300px">
<table>
<tr>
<td style="text-align: center;">
<div style="width: 300px; background: #444444">
<table>
<tr>
<td colspan="3" style="padding: 4px">{{Freigeber.Vorname}}</td>
</tr>
<tr>
<td colspan="3" style="padding: 4px">{{Freigeber.Name}}</td>
</tr>
<tr>
<td>
<div (click)="AllUrlaubClicked(Freigeber)" style="width: 100px; cursor:pointer; background: MediumSeaGreen; color: white; padding: 8px">Urlaub</div>
</td>
<td>
<div (click)="AllHomeofficeClicked(Freigeber)" style="width: 100px; cursor:pointer; background: DodgerBlue; color: white; padding: 8px">Homeoffice</div>
</td>
<td>
<div (click)="AllUrlaubfreigabeInfomailClicked(Freigeber)" style="width: 100px; cursor:pointer; background: Gray; color: white; padding: 8px">Infomail</div>
</td>
<td>

</td>
</tr>
</table>
</div>

</td>
</tr>
</table>
</td>
</tr>
</table>
</ng-container>
</page-header>

</ion-header>
<ion-content no-shadow no-border>
<ng-container *ngIf="Mitarbeiterliste && Mitarbeiterliste.length > 0">
<table>
<ng-container *ngFor="let Mitarbeiter of Mitarbeiterliste, let i = index" border="1">
<tr *ngIf="Mitarbeiterbuchstabenliste[i] !== ''">
<td>
<table class="paddingtable">
<tr>
<td>
<ion-text color="orange"><b>{{Mitarbeiterbuchstabenliste[i]}}</b></ion-text>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table style="width: 100%" border="1">
<tr>
<td style="width: 300px">
<div (click)="MitrabeiterButtonClicked(Mitarbeiter)">
<table *ngIf="Mitarbeiter !== null && Pool.Mitarbeiterdaten !== null" class="paddingtable">
<tr *ngIf="!Mitarbeiter.Filtered">
<td><div [style.background]="Mitarbeiter.Archiviert ? 'red' : 'green'" style="height: 20px; width: 20px; border-radius: 4px"></div></td>
<td style="width: 280px">
{{Mitarbeiter.Name}} {{Mitarbeiter.Vorname}} / {{Mitarbeiter.Kuerzel}}
</td>
</tr>
</table>
</div>
</td>
<ng-container *ngIf="CurrentMenueID !== 'Berechtigtenliste' && CurrentMenueID !== 'Archiviert' && CurrentMenueID !== 'Unbekannt'">
<td *ngFor="let Freigeber of Freigeberliste" style="width: 300px" valign="bottom">

<table style="width: 100%">
<tr>
<td colspan="3" style="height: 6px;"></td>
</tr>
<tr>
<td style="width: 33%" align="center"><div *ngIf="CanUrlaubsfreigabe(Freigeber)" class="checkboxdivclass" style="background: MediumSeaGreen;">
<checkbox-clon (CheckChanged)="UrlaufsfreigabeChanged($event, Freigeber, Mitarbeiter)" [Checked]="UrlaufsfreigabeIsSet(Freigeber, Mitarbeiter)"></checkbox-clon>
</div></td>
<td style="width: 33%" align="center"><div *ngIf="CanHomeofficefreigabe(Freigeber)" class="checkboxdivclass" style="background: DodgerBlue;">
<checkbox-clon (CheckChanged)="HomeofficefreigabeChanged($event, Freigeber, Mitarbeiter)" [Checked]="HomeofficefreigabeIsSet(Freigeber, Mitarbeiter)"></checkbox-clon>
</div></td>
<td style="width: 33%" align="center"><div class="checkboxdivclass" style="background: Gray;">
<checkbox-clon (CheckChanged)="UrlaufsfreigabeinfomailChanged($event, Freigeber, Mitarbeiter)" [Checked]="UrlaufsfreigabeinfomailIsSet(Freigeber, Mitarbeiter)"></checkbox-clon>
</div></td>
</tr>
<tr>
<td colspan="3" style="height: 6px;"></td>
</tr>
</table>
</td>
</ng-container>

<td *ngIf="CurrentMenueID === 'Berechtigtenliste'" align="right">
<table>
<tr>
<td style="width: 300px" valign="top">
<table *ngIf="Mitarbeiter.Planeradministrator" class="paddingsmalltable">
<tr>
<td><ion-icon name="shield-half-outline" color="rot" style="font-size: 20px"></ion-icon></td><td style="font-size: 90%; font-weight: bold;">Administrator</td>
</tr>
</table>
</td>
<td style="width: 300px" valign="top">
<table *ngIf="Mitarbeiter.Urlaubsfreigaben" class="paddingsmalltable">
<tr>
<td><ion-icon name="sunny" color="orange" style="font-size: 20px"></ion-icon></td><td style="font-size: 90%;font-weight: bold;">Urlaubsfreigaben</td>
</tr>
<tr>
<td></td>
<td style="font-size: 80%; color: #444444;">{{GetStandortliste(Mitarbeiter.Urlaubsfreigabeorte)}}</td>
</tr>
</table>
</td>
<td style="width: 300px" valign="top">
<table *ngIf="Mitarbeiter.Homeofficefreigaben" class="paddingsmalltable">
<tr>
<td><ion-icon name="home" color="blau" style="font-size: 20px"></ion-icon></td><td style="font-size: 90%;font-weight: bold;">Homeofficefreigaben</td>
</tr>
<tr>
<td></td>
<td style="font-size: 80%; color: #444444">{{GetStandortliste(Mitarbeiter.Homeofficefreigabestandorte)}}</td>
</tr>
</table>
</td>
<td style="width:10%"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</ng-container>
</table>

</ng-container>

<table *ngIf="Mitarbeiterliste.length === 0" class="paddingtable" width="100%">
<tr>
<td style="height: 80px; text-align: center; vertical-align: center">
keine Mitarbeiter vorhanden
</td>
</tr>
</table>

<abstand-element-fixed></abstand-element-fixed>

</ion-content>
<ion-footer>
<page-footer #PageFooter>

<table style="width: 100%">
<tr>
<td style="width: 50%">
{{Mitarbeiterliste.length}} Einträge
</td>
</tr>
</table>

</page-footer>
</ion-footer>

<fi-mitarbeiter-editor *ngIf="ShowEditor" [Dialogbreite]="1280" [Titel]="GetDialogTitel()" Iconname="people-outline"
(StandortClickedEvent)="StandortClickedHandler()"
(CancelClickedEvent)="ShowEditor = false"
(OkClickedEvent)="ShowEditor = false"
(ResturlaubEvent)="ResturlaubClicked()"
(AnredeClickedEvent)="AnredeClickedEventHandler()"
(PositionClickedEvent)="PositionClickedEventHandler()"
(UrlaubClickedEvent)="UrlaubClickedEventHandler()">
</fi-mitarbeiter-editor>

<auswahl-dialog *ngIf="ShowAuswahl" [Auswahlliste]="Auswahlliste" [Auswahlindex]="Auswahlindex"
[Dialogbreite]="300" [PositionY]="100"
[Titel]="Auswahltitel" [Iconname]="GetDialogTitelicon()"
(OkClickedEvent)="AuswahlOkButtonClicked($event)"
(CancelClickedEvent)="ShowAuswahl = false"></auswahl-dialog>

<alphabet #Alphabet (AlphabetClicked)="AlphabetClicked($event)"
[PageHeader]="PageHeader"
[PageFooter]="PageFooter"
[Breite]="Alphapetbreite"
[Buchstabenliste]="Mitarbeiteralphabet"
[Auswahl]="Mitarbeiteralphabetauswahl"></alphabet>

<!--
Aus hochwertigem synthetischem Garn 8125 von BCY.
Die 14 Strang sind eher für geringere Zuggewichte bis 35 Pfund ausgelegt.
Beiter Nocken mit Nockbett #1 passen bei dieser Sehne.
-->
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import {FiMitarbeiterlisteNeuPage} from './fi-mitarbeiterlisteneu';
import {PageHeaderModule} from "../../components/page-header/page-header.module";
import {AbstandElementFixedModule} from "../../components/abstand-element-fixed/abstand-element-fixed.module";
import {AlphabetModule} from "../../components/alphabet/alphabet.module";
import {PageFooterModule} from "../../components/page-footer/page-footer.module";
import {PageHeaderMenuModule} from "../../components/page-header-menu/page-header-menu.module";
import {FiMitarbeiterEditorModule} from "../../components-page/fi-mitarbeiter-editor/fi-mitarbeiter-editor.module";
import {AuswahlDialogModule} from "../../components/auswahl-dialog/auswahl-dialog.module";
import {CheckboxClonModule} from "../../components/checkbox-clon/checkbox-clon.module";

const routes: Routes = [
{
path: '',
component: FiMitarbeiterlisteNeuPage
}
];

@NgModule({
imports: [
CommonModule,
FormsModule,
ReactiveFormsModule,
IonicModule,
RouterModule.forChild(routes),
PageHeaderModule,
PageFooterModule,
AbstandElementFixedModule,
AlphabetModule,
PageHeaderMenuModule,
FiMitarbeiterEditorModule,
AuswahlDialogModule,
CheckboxClonModule,
],
declarations: [FiMitarbeiterlisteNeuPage]
})
export class FIMitarbeiterlisteNeuPageModule {}
Loading

0 comments on commit 914971d

Please sign in to comment.