blob: bebf72d3a815cbaf81066c91f0a149272c5289f5 [file] [log] [blame]
<!--
/********************************************************************************
* Copyright © 2018 Mettenmeier GmbH.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/
-->
<div class="sticky-top-querysection border-bottom">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 border-bottom">
<h1 class="h2" id="listHeader">Aktuelle Bereitschaft abfragen</h1>
<div class="btn-toolbar mb-2 mb-md-0">
<div class="btn-group">
</div>
</div>
</div>
</div>
</div>
<div class="row pb-2">
<div class="col-md-12">
<form class="mt-3" [formGroup]="form" novalidate>
<div class="row">
<div class="col-sm-12 col-xl-6">
<div class="form-group row d-flex align-items-center h-100">
<label class="form-check-label col-form-label col-md-3">
Abfragezeit
</label>
<div class="input-group col-md-5" formGroupName="date">
<input class="form-control" placeholder="von" name="dp" ngbDatepicker #dateIndex="ngbDatepicker"
formControlName="dateIndex" required id="validityDateFromInput">
<div class="input-group-append">
<button class="btn btn-outline-secondary" (click)="dateIndex.toggle()" type="button" id="validityDateFromPicker">
<i class="fa fa-calendar" aria-hidden="true"></i>
</button>
</div>
<div class="input-group-append">
<button class="btn btn-outline-secondary" (click)="setDefaultDate('dateIndex')" type="button" id="validityDateFromDefault"
data-toggle="tooltip" data-placement="bottom" title="Auf Standardwert setzen">
<i class="fa fa-clock-o" aria-hidden="true"></i>
</button>
</div>
<ok-error [control]="form.get('date').get('dateIndex')" class="w-100"></ok-error>
</div>
<div class="col-md-3">
<ngb-timepicker formControlName="timeIndex" id="moveTimePickerFrom"></ngb-timepicker>
<ok-error [control]="form.controls['timeIndex']"></ok-error>
</div>
</div>
</div>
<div class="col-md-12 col-sm-12 col-xl-6">
<div class="form-group row">
<label for="city" class="col-md-3 col-form-label">Ort</label>
<div class="col-md-9">
<p-dropdown [options]="searchList" formControlName="locationId" placeholder="Ort auswählen" [style]="{'width':'100%'}"
filter="true" [showClear]="true">
<ng-template let-item pTemplate="selectedItem">
<span style="vertical-align:middle; margin-left: .5em">{{item.label}}</span>
</ng-template>
</p-dropdown>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label">Sparten</label>
<div class="col-md-9">
<label class="col-form-label" *ngIf="branches.length === 0">Außerhalb des Netzgebietes!</label>
<p-multiSelect *ngIf="branches.length > 0" formControlName="lsBranchSelected" [options]="branches"
selectedItemsLabel="{0} Sparten ausgewählt" defaultLabel="Sparten eingrenzen" [panelStyle]="{minWidth:'12em'}"></p-multiSelect>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label">Bereitschaftsliste</label>
<div class="col-md-9">
<select class="form-control" id="standbyListId" formControlName="listId">
<option value=""></option>
<option *ngFor="let standbylist of standbylistSelectionData" [value]="standbylist.id">{{standbylist.title}}</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-1 col-md-2 col-sm-12">
<button class="btn btn-primary btn-block" (click)="search()" id="btnSearch">suchen</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row mt-3" *ngIf="rowData">
<div class="col-md-12">
<table class="table stick-table-top">
<thead>
<tr>
<th></th>
<th>Bereitschaftsgruppe</th>
<th>Org. Einheit</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Wohnort</th>
<th>Strasse</th>
<th>Telefon-Nr. dienstl. / Hotline</th>
<th>Telefon-Nr. privat</th>
<th>Mobiltelefon dienstl.</th>
<th>Mobiltelefon privat</th>
<th>Funk-Nr.</th>
<th>Strecke Privat</th>
<th>Strecke Geschäftl.</th>
<th>von</th>
<th>bis</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let row of rowData">
<tr>
<td><button class="btn btn-primary btn-sm" (click)="row.isCollapsed = !row.isCollapsed" title="Details anzeigen">
<i class="fa fa-eye" aria-hidden="true"></i>
</button></td>
<td scope="row">{{row.standbyGroup?.title}}</td>
<td scope="row">{{row.user?.organisation?.orgaName}}</td>
<td scope="row">{{row.user?.firstname}}</td>
<td scope="row">{{row.user?.lastname}}</td>
<td scope="row">{{row.user?.privateAddress?.community}}</td>
<td scope="row">{{row.user?.privateAddress?.street}}</td>
<td scope="row">{{row.user?.businessContactData?.phone}}</td>
<td scope="row">{{row.user?.privateContactData?.phone}}</td>
<td scope="row">{{row.user?.businessContactData?.cellphone}}</td>
<td scope="row">{{row.user?.privateContactData?.cellphone}}</td>
<td scope="row">{{row.user?.businessContactData?.radiocomm}}</td>
<td scope="row">{{row.privateDistance}}</td>
<td scope="row">{{row.organisationDistance}}</td>
<td scope="row">{{(row.validFrom | date:'HH:mm')}} Uhr</td>
<td scope="row">{{(row.validTo | date:'HH:mm')}} Uhr</td>
</tr>
<tr [ngbCollapse]="row.isCollapsed" *ngFor="let groupUser of row.lsUserInStandbyGroup">
<td></td>
<td scope="row">{{groupUser.standbyGroup?.title}}</td>
<td scope="row">{{groupUser.user?.organisation?.orgaName}}</td>
<td scope="row">{{groupUser.user?.firstname}}</td>
<td scope="row">{{groupUser.user?.lastname}}</td>
<td scope="row">{{groupUser.user?.privateAddress?.community}}</td>
<td scope="row">{{groupUser.user?.privateAddress?.street}}</td>
<td scope="row">{{groupUser.user?.businessContactData?.phone}}</td>
<td scope="row">{{groupUser.user?.privateContactData?.phone}}</td>
<td scope="row">{{groupUser.user?.businessContactData?.cellphone}}</td>
<td scope="row">{{groupUser.user?.privateContactData?.cellphone}}</td>
<td scope="row">{{groupUser.user?.businessContactData?.radiocomm}}</td>
<td scope="row">{{groupUser.privateDistance}}</td>
<td scope="row">{{groupUser.organisationDistance}}</td>
<td scope="row"></td>
<td scope="row"></td>
</tr>
</ng-container>
</tbody>
</table>
<div class="w-100" *ngIf="rowData.length === 0">
<p class="text-center font-italic">Keine Daten vorhanden</p>
</div>
</div>
</div>
</div>