2023-12-20 15:23:42 +00:00
|
|
|
<script setup>
|
|
|
|
import { reactive, ref } from 'vue';
|
|
|
|
import { useI18n } from 'vue-i18n';
|
|
|
|
|
|
|
|
import FetchData from 'components/FetchData.vue';
|
|
|
|
import VnRow from 'components/ui/VnRow.vue';
|
2024-07-29 13:03:21 +00:00
|
|
|
import VnSelectProvince from 'components/VnSelectProvince.vue';
|
|
|
|
import VnInput from 'components/common/VnInput.vue';
|
2024-01-02 15:57:13 +00:00
|
|
|
import FormModelPopup from './FormModelPopup.vue';
|
2023-12-20 15:23:42 +00:00
|
|
|
|
|
|
|
const emit = defineEmits(['onDataSaved']);
|
|
|
|
|
|
|
|
const { t } = useI18n();
|
|
|
|
|
|
|
|
const cityFormData = reactive({
|
|
|
|
name: null,
|
|
|
|
provinceFk: null,
|
|
|
|
});
|
|
|
|
|
|
|
|
const provincesOptions = ref([]);
|
|
|
|
|
2024-07-31 12:57:25 +00:00
|
|
|
const onDataSaved = (...args) => {
|
|
|
|
emit('onDataSaved', ...args);
|
2023-12-20 15:23:42 +00:00
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<FetchData
|
|
|
|
@on-fetch="(data) => (provincesOptions = data)"
|
|
|
|
auto-load
|
|
|
|
url="Provinces"
|
|
|
|
/>
|
2024-01-02 15:57:13 +00:00
|
|
|
<FormModelPopup
|
|
|
|
:title="t('New city')"
|
|
|
|
:subtitle="t('Please, ensure you put the correct data!')"
|
2023-12-20 15:23:42 +00:00
|
|
|
:form-initial-data="cityFormData"
|
|
|
|
url-create="towns"
|
|
|
|
model="city"
|
2024-07-31 12:57:25 +00:00
|
|
|
@on-data-saved="onDataSaved"
|
2023-12-20 15:23:42 +00:00
|
|
|
>
|
2024-01-02 15:57:13 +00:00
|
|
|
<template #form-inputs="{ data, validate }">
|
2024-07-26 07:27:38 +00:00
|
|
|
<VnRow>
|
2024-04-17 11:26:08 +00:00
|
|
|
<VnInput
|
|
|
|
:label="t('Name')"
|
|
|
|
v-model="data.name"
|
|
|
|
:rules="validate('city.name')"
|
|
|
|
/>
|
2024-07-29 13:03:21 +00:00
|
|
|
<VnSelectProvince v-model="data.provinceFk" />
|
2023-12-20 15:23:42 +00:00
|
|
|
</VnRow>
|
|
|
|
</template>
|
2024-01-02 15:57:13 +00:00
|
|
|
</FormModelPopup>
|
2023-12-20 15:23:42 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<i18n>
|
|
|
|
es:
|
|
|
|
New city: Nueva ciudad
|
|
|
|
Please, ensure you put the correct data!: ¡Por favor, asegúrese de poner los datos correctos!
|
|
|
|
Name: Nombre
|
|
|
|
Province: Provincia
|
|
|
|
</i18n>
|