feat(DiaryDateActivity): enhance group activity management with duration and order features
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 43s

- Added `duration`, `durationText`, and `orderId` fields to the GroupActivity model to support detailed activity tracking.
- Updated `addGroupActivity` and `updateGroupActivity` methods in the DiaryDateActivityService to handle new fields, improving activity management capabilities.
- Enhanced the DiaryView component to allow users to input and display duration and duration text for group activities, improving user experience and data clarity.
This commit is contained in:
Torsten Schulz (local)
2026-05-08 11:28:22 +02:00
parent 25c3b90972
commit 940f77e29b
5 changed files with 106 additions and 12 deletions

View File

@@ -471,7 +471,23 @@
</select>
</div>
</td>
<td></td>
<td>
<div style="display:flex; gap:0.35rem; align-items:center;">
<input
type="text"
v-model="newPlanItem.durationText"
@input="calculateDuration"
:placeholder="$t('diary.durationExampleLong')"
style="width: 120px;"
/>
<input
type="number"
v-model="newPlanItem.duration"
:placeholder="$t('diary.minutes')"
style="width: 72px;"
/>
</div>
</td>
<td>
<span class="add-plan-item" @click="addPlanItem">+</span>
<span class="cancel" @click="cancelAddItem">X</span>
@@ -479,7 +495,12 @@
</tr>
<template v-for="groupItem in item.groupActivities">
<tr class="plan-group-activity-row">
<td></td>
<td>
<span class="clickable" @click="startGroupActivityEdit(groupItem)">
{{ groupItem.duration || '' }}<span
v-if="groupItem.durationText && groupItem.durationText.trim() !== ''"> ({{ groupItem.durationText }})</span>
</span>
</td>
<td></td>
<td>
<div class="plan-group-activity-cell">
@@ -2120,6 +2141,8 @@ export default {
predefinedActivityId: this.newPlanItem.predefinedActivityId,
groupId: Number(this.newPlanItem.groupId),
timeblockId: this.selectedTimeblockId,
duration: this.newPlanItem.duration || null,
durationText: this.newPlanItem.durationText || null
});
}
this.addNewTimeblock = false;