feat: refs #8115 created new function for adding new parkings massively
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Pau Rovira 2025-02-24 10:47:50 +01:00
parent 669257e98d
commit e2fbfdc8c7
7 changed files with 124 additions and 2 deletions

View File

@ -338,6 +338,7 @@ globals:
operator: Operator
parking: Parking
vehicleList: Vehicles
parkingCreate: New parking
vehicle: Vehicle
unsavedPopup:
title: Unsaved changes will be lost

View File

@ -342,6 +342,7 @@ globals:
parking: Parking
vehicleList: Vehículos
vehicle: Vehículo
parkingCreate: Nuevo parking
unsavedPopup:
title: Los cambios que no haya guardado se perderán
subtitle: ¿Seguro que quiere salir sin guardar?

View File

@ -0,0 +1,92 @@
<script setup>
import { computed, ref, onMounted } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import VnRow from 'components/ui/VnRow.vue';
import FormModel from 'components/FormModel.vue';
import VnInput from 'src/components/common/VnInput.vue';
import VnSelect from 'src/components/common/VnSelect.vue';
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
import axios from 'axios';
const route = useRoute();
const router = useRouter();
const entityId = computed(() => route.params.id ?? null);
const isNew = Boolean(!entityId.value);
const sectors = ref([]);
const defaultInitialData = {
sector: null,
block: null,
streetFrom: null,
streetTo: null,
numberFrom: null,
numberTo: null,
};
const onSave = (parking, newParking) => {
if (isNew) {
router.push({ name: 'ParkingSummary', params: { id: newParking?.id } });
}
};
</script>
<template>
<VnSubToolbar v-if="isNew" />
<FormModel
:url-create="isNew ? 'Parkings/multipleParkings' : null"
:filter="filter"
model="Parking"
:auto-load="!isNew"
:form-initial-data="isNew ? defaultInitialData : null"
>
<template #form="{ data, validate }">
<VnRow>
<VnSelect
v-model="data.sector"
url="Sectors"
option-value="id"
option-label="description"
:filter-options="['id', 'description']"
:fields="['id', 'description']"
:label="$t('parking.sector')"
/>
</VnRow>
<VnRow>
<VnInput
v-model="data.block"
:label="$t('parking.block')"
:rules="validate('Parking.block')"
/>
</VnRow>
<VnRow>
<VnInput
v-model.number="data.streetFrom"
type="number"
:label="$t('parking.streetFrom')"
:rules="validate('Parking.streetFrom')"
/>
<VnInput
v-model.number="data.streetTo"
type="number"
:label="$t('parking.streetTo')"
:rules="validate('Parking.streetTo')"
/>
</VnRow>
<VnRow>
<VnInput
v-model.number="data.numberFrom"
type="number"
:label="$t('parking.numberFrom')"
:rules="validate('Parking.numberFrom')"
/>
<VnInput
v-model.number="data.numberTo"
type="number"
:label="$t('parking.numberTo')"
:rules="validate('Parking.numberTo')"
/>
</VnRow>
</template>
</FormModel>
</template>

View File

@ -77,4 +77,12 @@ const filter = {
</QPage>
</template>
</VnSection>
<QPageSticky :offset="[20, 20]">
<RouterLink :to="{ name: 'ParkingCreate' }">
<QBtn fab icon="add" color="primary" v-shortcut="'+'" />
<QTooltip>
{{ $t('shelving.list.newShelving') }}
</QTooltip>
</RouterLink>
</QPageSticky>
</template>

View File

@ -2,4 +2,9 @@ parking:
pickingOrder: Picking order
sector: Sector
search: Search parking
searchInfo: You can search by parking code
searchInfo: You can search by parking code
block: Block
streetFrom: Street from
streetTo: Street to
numberFrom: Number from
numberTo: Number to

View File

@ -2,4 +2,9 @@ parking:
pickingOrder: Orden de recogida
sector: Sector
search: Buscar parking
searchInfo: Puedes buscar por código de parking
searchInfo: Puedes buscar por código de parking
block: Bloque
streetFrom: Calle desde
streetTo: Calle hasta
numberFrom: Número desde
numberTo: Número hasta

View File

@ -137,6 +137,16 @@ export default {
parkingCard,
],
},
{
path: 'parking/create',
name: 'ParkingCreate',
meta: {
title: 'parkingCreate',
icon: 'add',
},
component: () => import('src/pages/Shelving/Parking/ParkingCreate.vue'),
},
],
},
],