salix-front/src/components/RegularizeStockForm.vue

82 lines
2.0 KiB
Vue
Raw Normal View History

<script setup>
import { reactive, ref } from 'vue';
import { useI18n } from 'vue-i18n';
2024-04-23 11:03:32 +00:00
import VnSelect from 'src/components/common/VnSelect.vue';
import FetchData from 'components/FetchData.vue';
import VnRow from 'components/ui/VnRow.vue';
import FormModelPopup from './FormModelPopup.vue';
const emit = defineEmits(['onDataSaved']);
const props = defineProps({
itemFk: {
type: Number,
default: null,
},
warehouseFk: {
2024-07-26 10:37:53 +00:00
type: Number,
default: null,
},
});
const { t } = useI18n();
const regularizeFormData = reactive({
2024-07-26 10:37:53 +00:00
itemFk: Number(props.itemFk),
warehouseFk: props.warehouseFk,
quantity: null,
});
const warehousesOptions = ref([]);
const onDataSaved = (data) => {
emit('onDataSaved', data);
};
</script>
<template>
<FetchData
url="Warehouses"
@on-fetch="(data) => (warehousesOptions = data)"
auto-load
/>
<FormModelPopup
url-create="Items/regularize"
model="Items"
:title="t('Regularize stock')"
:form-initial-data="regularizeFormData"
@on-data-saved="onDataSaved($event)"
>
<template #form-inputs="{ data }">
2024-07-26 07:27:38 +00:00
<VnRow>
<QInput
:label="t('Type the visible quantity')"
v-model.number="data.quantity"
2024-07-26 10:37:53 +00:00
type="number"
2024-04-26 07:47:44 +00:00
autofocus
/>
</VnRow>
2024-07-26 07:27:38 +00:00
<VnRow>
<div class="col">
2024-04-23 11:03:32 +00:00
<VnSelect
:label="t('Warehouse')"
2024-07-26 10:37:53 +00:00
v-model.number="data.warehouseFk"
:options="warehousesOptions"
option-value="id"
option-label="name"
hide-selected
/>
</div>
</VnRow>
</template>
</FormModelPopup>
</template>
<i18n>
es:
Warehouse: Almacén
Type the visible quantity: Introduce la cantidad visible
Regularize stock: Regularizar stock
</i18n>