fixed last features missing

This commit is contained in:
Luca Haid
2025-06-30 11:24:08 +02:00
parent ce3fa62ec6
commit adcedc4a75
2 changed files with 26 additions and 6 deletions

View File

@@ -51,7 +51,7 @@ Vue.component('asset-management', {
<template v-slot:currentuser="{ row }">
<asset-borrow-return-widget
:row-data="row"
@update="$refs.table.$refs.table.refreshTable()"/>
@update="updateTableWithoutModalsOpening"/>
</template>
<!-- Column 3: Journal Button -->
@@ -91,6 +91,13 @@ Vue.component('asset-management', {
isDatePast(timestamp) {
if (!timestamp) return false;
return window.moment.unix(timestamp).isBefore(window.moment(), 'day');
},
async updateTableWithoutModalsOpening() {
if (this.$refs.table && this.$refs.table.$refs.table) {
this.$refs.table.$refs.table.$set(this.$refs.table.$refs.table, 'rows', []);
await this.$nextTick();
await this.$refs.table.$refs.table.refreshTable();
}
}
}
});
@@ -144,15 +151,25 @@ Vue.component('asset-borrow-return-widget', {
text="Zurückgeben"
@click="showReturnModal = true"
additional-class="btn-success mt-2"/>
<hr>
<div v-if="activeReservation" class="text-danger small">
<i class="fas fa-clock"></i> Dauerhaft Reserviert für {{ activeReservation.userName }}
</div>
<div v-if="nextReservation" class="text-warning small">
<i class="fas fa-calendar-alt"></i> Nächste Reservierung: {{ formatDate(nextReservation.startDate, 'DD.MM.YYYY') }}
<span v-if="nextReservation.endDate"> bis {{ formatDate(nextReservation.endDate, 'DD.MM.YYYY') }}</span>
<span v-if="nextReservation.notes"><br> ({{ nextReservation.notes }})</span>
<span v-if="nextReservation.userName"><br> für {{ nextReservation.userName }}</span>
</div>
</div>
<!-- Case 2: Asset is Available -->
<div v-else>
<div class="text-success">Verfügbar</div>
<div v-if="activeReservation" class="text-warning small">
<i class="fas fa-clock"></i> Reserviert für {{ activeReservation.userName }}
<div v-if="activeReservation" class="text-danger small">
<i class="fas fa-clock"></i> Dauerhaft Reserviert für {{ activeReservation.userName }}
</div>
<div v-if="nextReservation" class="text-danger small">
<div v-if="nextReservation" class="text-warning small">
<i class="fas fa-calendar-alt"></i> Nächste Reservierung: {{ formatDate(nextReservation.startDate, 'DD.MM.YYYY') }}
<span v-if="nextReservation.endDate"> bis {{ formatDate(nextReservation.endDate, 'DD.MM.YYYY') }}</span>
<span v-if="nextReservation.notes"><br> ({{ nextReservation.notes }})</span>
@@ -464,7 +481,7 @@ Vue.component('asset-reservation-modal', {
<h5 class="card-title">Neue Reservierung</h5>
<tt-autocomplete label="Mitarbeiter" :api-url="userAutoCompleteUrl" v-model="newReservation.userId" sm row/>
<tt-date-picker label="Startdatum" v-model="newReservation.startDate" :date-range="false" sm row/>
<tt-date-picker label="Enddatum" v-model="newReservation.endDate" :date-range="false" :disabled="isPermanent" sm row/>
<tt-date-picker label="Enddatum" v-model="newReservation.endDate" :date-range="false" :disabled="isPermanent === 1" sm row/>
<tt-checkbox label="Dauerhaft" v-model="isPermanent" sm row/>
<tt-textarea label="Notizen" v-model="newReservation.notes" sm row/>
<tt-button text="Reservierung speichern" @click="saveReservation" additional-class="btn-primary float-right"/>
@@ -509,6 +526,9 @@ Vue.component('asset-reservation-modal', {
isPermanent(val) {
if (val) {
this.newReservation.endDate = null;
if (!this.newReservation.startDate) {
this.newReservation.startDate = window.moment().startOf('day').unix();
}
}
}
},

View File

@@ -28,7 +28,7 @@ Vue.component('tt-date-picker', {
:disabled="disabled"
v-bind="additionalProps"
ref="input"
style="cursor: pointer; background-color: #ffffff;"
style="cursor: pointer;"
>
<small v-if="hint" class="form-text text-muted">{{ hint }}</small>
</div>