Schedule UX tweaks

This commit is contained in:
2023-12-01 22:20:23 -05:00
parent 8600000e24
commit 9d1d7398b9
3 changed files with 36 additions and 37 deletions

View File

@@ -56,9 +56,10 @@
:model-resources="boatStore.boats"
resource-key="id"
resource-label="name"
:interval-start="6"
:interval-count="18"
cell-width="64"
:interval-start="12"
:interval-count="36"
:interval-minutes="30"
cell-width="48"
resource-min-height="40"
animated
bordered
@@ -96,15 +97,6 @@
stack-label
><template v-slot:append><q-icon name="timelapse" /></template></q-select
></q-card-section>
<q-card-section>
<q-btn
color="primary"
class="full-width"
icon="keyboard_arrow_down"
icon-right="keyboard_arrow_down"
label="Next: Crew & Passengers"
@click="onCloseSection"
/></q-card-section>
</template>
<script setup lang="ts">
@@ -200,7 +192,7 @@ function getStyle(event: {
};
}
const emit = defineEmits(['onClickTime', 'onCloseSection', 'onUpdateDuration']);
const emit = defineEmits(['onClickTime', 'onUpdateDuration']);
function onPrev() {
calendar.value.prev();
@@ -215,9 +207,6 @@ function onClickTime(data) {
// TODO: Add a duration picker, here.
emit('onClickTime', data);
}
function onCloseSection() {
emit('onCloseSection');
}
function onUpdateDuration(value) {
emit('onUpdateDuration', value);
}

View File

@@ -23,14 +23,12 @@
<q-separator />
<resource-schedule-viewer-component
@on-click-time="onClickTime"
@on-close-section="() => (resourceView = !resourceView)"
@on-update-duration="
(value) => {
bookingForm.duration = value;
}
"
/></q-expansion-item>
/>
<q-banner
rounded
class="bg-warning text-grey-10"
@@ -39,7 +37,7 @@
<template v-slot:avatar>
<q-icon name="warning" color="grey-10" />
</template>
This boat currently has the following notices:
{{ bookingForm.boat.name }} currently has the following notices:
<ol>
<li
v-for="defect in bookingForm.boat.defects"
@@ -49,6 +47,16 @@
</li>
</ol>
</q-banner>
<q-card-section>
<q-btn
color="primary"
class="full-width"
icon="keyboard_arrow_down"
icon-right="keyboard_arrow_down"
label="Next: Crew & Passengers"
@click="resourceView = false"
/></q-card-section>
</q-expansion-item>
<q-expansion-item
expand-separator
icon="people"

View File

@@ -97,6 +97,7 @@ export const useScheduleStore = defineStore('schedule', () => {
return (
(x.start.getDate() == curDate.getDate() ||
x.end.getDate() == curDate.getDate()) &&
x.resource != undefined &&
(typeof boat == 'number'
? x.resource.id == boat
: x.resource.name == boat)
@@ -107,6 +108,7 @@ export const useScheduleStore = defineStore('schedule', () => {
const isOverlapped = (res: Reservation) => {
const lapped = reservations.value.filter(
(entry: Reservation) =>
entry.id != res.id &&
entry.resource == res.resource &&
((entry.start <= res.start && entry.end > res.start) ||
(entry.end >= res.end && entry.start <= res.end))