This commit is contained in:
parent
51fb940adb
commit
0b9788d38b
|
@ -83,7 +83,7 @@ const saveButtonRef = ref(null);
|
||||||
const watchChanges = ref();
|
const watchChanges = ref();
|
||||||
const formUrl = computed(() => $props.url);
|
const formUrl = computed(() => $props.url);
|
||||||
|
|
||||||
const emit = defineEmits(['onFetch', 'update:selected', 'saveChanges']);
|
const emit = defineEmits(['onFetch', 'update:selected', 'saveChanges', 'dataError']);
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
reload,
|
reload,
|
||||||
|
@ -161,11 +161,7 @@ async function onSubmit() {
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
await saveChanges($props.saveFn ? formData.value : null);
|
await saveChanges($props.saveFn ? formData.value : null);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const errMessage = e?.response?.data?.error?.message;
|
emit('dataError', e);
|
||||||
quasar.notify({
|
|
||||||
type: 'negative',
|
|
||||||
message: t(`${errMessage}`),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import FetchData from 'components/FetchData.vue';
|
import FetchData from 'components/FetchData.vue';
|
||||||
import VnSelect from 'src/components/common/VnSelect.vue';
|
import VnSelect from 'src/components/common/VnSelect.vue';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import { useQuasar } from 'quasar';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
@ -16,7 +17,7 @@ const { t } = useI18n();
|
||||||
const itemTagsRef = ref(null);
|
const itemTagsRef = ref(null);
|
||||||
const tagOptions = ref([]);
|
const tagOptions = ref([]);
|
||||||
const valueOptionsMap = ref(new Map());
|
const valueOptionsMap = ref(new Map());
|
||||||
|
const quasar = useQuasar();
|
||||||
const getSelectedTagValues = async (tag) => {
|
const getSelectedTagValues = async (tag) => {
|
||||||
if (!tag.tagFk && tag.tag.isFree) return;
|
if (!tag.tagFk && tag.tag.isFree) return;
|
||||||
const filter = {
|
const filter = {
|
||||||
|
@ -63,6 +64,15 @@ const insertTag = (rows) => {
|
||||||
const submitTags = async (data) => {
|
const submitTags = async (data) => {
|
||||||
itemTagsRef.value.onSubmit(data);
|
itemTagsRef.value.onSubmit(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const errMessage = ref();
|
||||||
|
function showError(error) {
|
||||||
|
errMessage.value = error?.response?.data?.error?.message;
|
||||||
|
quasar.notify({
|
||||||
|
type: 'negative',
|
||||||
|
message: t(`${errMessage.value}`),
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -105,6 +115,7 @@ const submitTags = async (data) => {
|
||||||
order="priority"
|
order="priority"
|
||||||
auto-load
|
auto-load
|
||||||
@on-fetch="onItemTagsFetched"
|
@on-fetch="onItemTagsFetched"
|
||||||
|
@data-error="(val) => showError(val)"
|
||||||
>
|
>
|
||||||
<template #body="{ rows, validate }">
|
<template #body="{ rows, validate }">
|
||||||
<QCard class="q-px-lg q-pt-md q-pb-sm" data-cy="itemTags">
|
<QCard class="q-px-lg q-pt-md q-pb-sm" data-cy="itemTags">
|
||||||
|
@ -197,4 +208,5 @@ const submitTags = async (data) => {
|
||||||
<i18n>
|
<i18n>
|
||||||
es:
|
es:
|
||||||
Tags can not be repeated: Las etiquetas no pueden repetirse
|
Tags can not be repeated: Las etiquetas no pueden repetirse
|
||||||
|
The value must be a number or a range of numbers: El valor debe ser un número o un rango de números
|
||||||
</i18n>
|
</i18n>
|
||||||
|
|
Loading…
Reference in New Issue