feat: refs #8443 added select in form for vehicle state
gitea/salix-front/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Pau Rovira 2025-02-13 07:49:12 +01:00
parent 30f42cbde7
commit 398f76c6e7
2 changed files with 12 additions and 52 deletions

View File

@ -11,6 +11,7 @@ import VnInput from 'src/components/common/VnInput.vue';
import { useArrayData } from 'src/composables/useArrayData'; import { useArrayData } from 'src/composables/useArrayData';
import { useVnConfirm } from 'composables/useVnConfirm'; import { useVnConfirm } from 'composables/useVnConfirm';
import axios from 'axios'; import axios from 'axios';
import VnSelect from 'src/components/common/VnSelect.vue';
const props = defineProps({ const props = defineProps({
event: { event: {
@ -47,12 +48,13 @@ const arrayData = useArrayData('VehicleEvents');
const createVehicleEvent = async () => { const createVehicleEvent = async () => {
vehicleFormData.value.vehicleFk = route.params.id; vehicleFormData.value.vehicleFk = route.params.id;
vehicleFormData.value.userFk = 3;
if (isNew.value) { if (isNew.value) {
await axios.post(`Vehicles/${route.params.id}/event`, vehicleFormData.value); await axios.post(`Vehicles/${route.params.id}/event`, vehicleFormData.value);
} else { } else {
await axios.put( await axios.put(
`Vehicles/${route.params.id}/event/${props.event?.id}`, `Vehicles/${route.params.id}/event/${props.event?.id}`,
vehicleFormData.value vehicleFormData.value,
); );
} }
@ -90,42 +92,22 @@ onMounted(() => {
:default-submit-button="false" :default-submit-button="false"
> >
<template #form-inputs> <template #form-inputs>
<VnRow> <VnRow class="row q-gutter-md q-mb-md">
<VnInputDate <VnInputDate :label="t('Started')" v-model="vehicleFormData.started" />
:label="t('Started')" <VnInputDate :label="t('Finished')" v-model="vehicleFormData.finished" />
v-model="vehicleFormData.started"
class="full-width"
/>
<VnInputDate
:label="t('Finished')"
v-model="vehicleFormData.finished"
class="full-width"
/>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
v-model="vehicleFormData.description" v-model="vehicleFormData.description"
:label="t('globals.description')" :label="t('globals.description')"
type="text" type="text"
class="full-width"
/> />
</VnRow> <VnSelect
<VnRow> url="VehicleStates"
<VnInput
v-model="vehicleFormData.vehicleStateFk" v-model="vehicleFormData.vehicleStateFk"
:label="t('globals.state')" :label="t('globals.state')"
type="number" option-value="id"
min="0" option-label="state"
class="full-width"
/>
</VnRow>
<VnRow>
<VnInput
v-model="vehicleFormData.userFk"
:label="t('globals.user')"
type="number"
min="0"
class="full-width"
/> />
</VnRow> </VnRow>
</template> </template>
@ -147,7 +129,7 @@ onMounted(() => {
openConfirmationModal( openConfirmationModal(
t('vehicleForm.deleteTitle'), t('vehicleForm.deleteTitle'),
t('vehicleForm.deleteSubtitle'), t('vehicleForm.deleteSubtitle'),
() => deleteVehicleEvent() () => deleteVehicleEvent(),
) )
" "
/> />
@ -166,4 +148,4 @@ onMounted(() => {
Finished: Fin Finished: Fin
Add vehicle event: Agregar evento Add vehicle event: Agregar evento
Edit vehicle event: Editar evento Edit vehicle event: Editar evento
</i18n> </i18n>

View File

@ -38,24 +38,10 @@ const fetchVehicleState = async () => {
vehicleStates.value = vehicles.data; vehicleStates.value = vehicles.data;
}; };
const fetchUser = async (userId) => {
console.log(userId);
if (!userId || users.value[userId]) return;
const usersData = await axios.get(`Accounts/2/user`);
users.value[userId] = usersData.data;
console.log(users.value[userId]);
};
const getVehicleStateName = (id) => { const getVehicleStateName = (id) => {
return vehicleStates.value[id - 1] ?? dashIfEmpty(id - 1); return vehicleStates.value[id - 1] ?? dashIfEmpty(id - 1);
}; };
const getUserName = (id) => {
console.log(users.value?.nickname);
return users.value?.nickname ?? dashIfEmpty(id - 1);
};
const params = computed(() => ({ const params = computed(() => ({
vehicleFk: route.params.id, vehicleFk: route.params.id,
started: props.firstDay, started: props.firstDay,
@ -101,10 +87,6 @@ const openInclusionForm = (event) => {
onMounted(async () => { onMounted(async () => {
weekdayStore.initStore(); weekdayStore.initStore();
await fetchVehicleState(); await fetchVehicleState();
for (let event of props.events) {
await fetchUser(event.userFk);
}
}); });
</script> </script>
@ -135,10 +117,6 @@ onMounted(async () => {
getVehicleStateName(event.vehicleStateFk).state getVehicleStateName(event.vehicleStateFk).state
}}</span> }}</span>
</span> </span>
<span class="color-vn-label"
>{{ t('globals.user') }}:
<span class="color-vn-text">{{ getUserName(event.userFk) }}</span>
</span>
</QItemSection> </QItemSection>
<QItemSection side @click="openInclusionForm(event)"> <QItemSection side @click="openInclusionForm(event)">
<QBtn <QBtn