8627-devToTest #1421

Merged
alexm merged 768 commits from 8627-devToTest into test 2025-02-18 12:37:37 +00:00
5 changed files with 24 additions and 14 deletions
Showing only changes of commit fceb5dd5fd - Show all commits

View File

@ -1,6 +1,6 @@
<script setup> <script setup>
import axios from 'axios'; import axios from 'axios';
import { ref, reactive } from 'vue'; import { ref, reactive, useAttrs } from 'vue';
import { onBeforeRouteLeave } from 'vue-router'; import { onBeforeRouteLeave } from 'vue-router';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
@ -18,6 +18,8 @@ import VnInput from 'components/common/VnInput.vue';
const emit = defineEmits(['onFetch']); const emit = defineEmits(['onFetch']);
const $attrs = useAttrs();
const $props = defineProps({ const $props = defineProps({
url: { type: String, default: null }, url: { type: String, default: null },
saveUrl: {type: String, default: null}, saveUrl: {type: String, default: null},
@ -26,7 +28,6 @@ const $props = defineProps({
addNote: { type: Boolean, default: false }, addNote: { type: Boolean, default: false },
selectType: { type: Boolean, default: false }, selectType: { type: Boolean, default: false },
justInput: { type: Boolean, default: false }, justInput: { type: Boolean, default: false },
required: { type: Boolean, default: false },
}); });
const { t } = useI18n(); const { t } = useI18n();
@ -64,7 +65,7 @@ function confirmAndUpdate() {
message: t('Are you sure remove this note?'), message: t('Are you sure remove this note?'),
}, },
}) })
.onOk(() => update()) .onOk(update)
.onCancel(() => { .onCancel(() => {
newNote.text = originalText; newNote.text = originalText;
}); });
@ -82,7 +83,7 @@ async function update() {
} }
onBeforeRouteLeave((to, from, next) => { onBeforeRouteLeave((to, from, next) => {
if ((newNote.text && !$props.justInput) || (newNote.text !== originalText) && $props.justInput ) if ((newNote.text && !$props.justInput) || (newNote.text !== originalText) && $props.justInput)
quasar.dialog({ quasar.dialog({
component: VnConfirm, component: VnConfirm,
componentProps: { componentProps: {
@ -93,6 +94,13 @@ onBeforeRouteLeave((to, from, next) => {
}); });
else next(); else next();
}); });
function fetchData([ data ]) {
newNote.text = data?.notes;
originalText = data?.notes;
emit('onFetch', data);
}
</script> </script>
<template> <template>
<FetchData <FetchData
@ -106,13 +114,13 @@ onBeforeRouteLeave((to, from, next) => {
v-if="justInput" v-if="justInput"
:url="url" :url="url"
:filter="filter" :filter="filter"
@on-fetch="(data) => (newNote.text = data[0]?.notes, originalText = data[0]?.notes, emit('onFetch', data))" @on-fetch="fetchData"
auto-load auto-load
/> />
<QCard <QCard
class="q-pa-xs q-mb-lg full-width" class="q-pa-xs q-mb-lg full-width"
:class="{ 'just-input': $props.justInput }"
v-if="$props.addNote || $props.justInput" v-if="$props.addNote || $props.justInput"
:style="$props.justInput ? 'padding-right: 18px; margin-bottom: 2px; box-shadow: none;' : ''"
> >
<QCardSection horizontal v-if="!$props.justInput"> <QCardSection horizontal v-if="!$props.justInput">
{{ t('New note') }} {{ t('New note') }}
@ -126,7 +134,7 @@ onBeforeRouteLeave((to, from, next) => {
v-model="newNote.observationTypeFk" v-model="newNote.observationTypeFk"
option-label="description" option-label="description"
style="flex: 0.15" style="flex: 0.15"
:required="$props.required" :required="$attrs.required"
@keyup.enter.stop="insert" @keyup.enter.stop="insert"
/> />
<VnInput <VnInput
@ -137,7 +145,7 @@ onBeforeRouteLeave((to, from, next) => {
size="lg" size="lg"
autogrow autogrow
@keyup.enter.stop="handleClick" @keyup.enter.stop="handleClick"
:required="$props.required" :required="$attrs.required"
clearable clearable
> >
<template #append> <template #append>
@ -250,6 +258,11 @@ onBeforeRouteLeave((to, from, next) => {
} }
} }
} }
.just-input {
padding-right: 18px;
margin-bottom: 2px;
box-shadow: none;
}
</style> </style>
<i18n> <i18n>
es: es:

View File

@ -26,9 +26,7 @@ onMounted(() => {
if (data.value) observer.observe(data.value, opts); if (data.value) observer.observe(data.value, opts);
}); });
const actionsChildCount = () => { const actionsChildCount = computed(() => !!actions.value?.childNodes?.length);
return !!actions.value?.childNodes?.length;
};
onBeforeUnmount(() => stateStore.toggleSubToolbar() && hasSubToolbar); onBeforeUnmount(() => stateStore.toggleSubToolbar() && hasSubToolbar);
</script> </script>

View File

@ -23,6 +23,6 @@ const noteFilter = computed(() => {
:body="{ clientFk: route.params.id }" :body="{ clientFk: route.params.id }"
style="overflow-y: auto" style="overflow-y: auto"
:select-type="true" :select-type="true"
:required="true" required
/> />
</template> </template>

View File

@ -205,7 +205,6 @@ watch([year, businessFk], () => refreshData());
} }
" "
:body="body" :body="body"
:required="false"
/> />
</Teleport> </Teleport>
<QPage class="column items-center"> <QPage class="column items-center">

View File

@ -221,7 +221,7 @@ const yearList = ref(generateYears());
> >
{{ type.name }} {{ type.name }}
</WorkerEventLabel> </WorkerEventLabel>
</QItem> </QItem>
</QList> </QList>
<QSeparator /> <QSeparator />
<QList dense class="list q-my-md no-pointer-events"> <QList dense class="list q-my-md no-pointer-events">