Merge branch 'dev' into 7055-testFilterItemForm
gitea/salix-front/pipeline/pr-dev This commit looks good Details

This commit is contained in:
PAU ROVIRA ROSALENY 2025-01-10 13:54:08 +00:00
commit 6a01c9b746
13 changed files with 42 additions and 73 deletions

View File

@ -198,6 +198,7 @@ async function fetch() {
} catch (e) {
state.set(modelValue, {});
originalData.value = {};
throw e;
}
}

View File

@ -104,12 +104,14 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
store.hasMoreData = limit && response.data.length >= limit;
processData(response.data, { map: !!store.mapKey, append });
if (!append && !isDialogOpened()) updateRouter && updateStateParams();
if (!append && !isDialogOpened() && updateRouter) {
if (updateStateParams(response.data)?.redirect) return;
}
store.isLoading = false;
canceller = null;
processData(response.data, { map: !!store.mapKey, append });
return response;
}
@ -239,7 +241,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
if (Object.values(store.userParams).length) await fetch({});
}
function updateStateParams() {
function updateStateParams(data) {
if (!route?.path) return;
const newUrl = { path: route.path, query: { ...(route.query ?? {}) } };
if (store?.searchUrl)
@ -256,15 +258,15 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
const { path } = matches.at(-1);
const to =
store?.data?.length === 1
? path.replace(/\/(list|:id)|-list/, `/${store.data[0].id}`)
data?.length === 1
? path.replace(/\/(list|:id)|-list/, `/${data[0].id}`)
: path.replace(/:id.*/, '');
if (route.path != to) {
const pushUrl = { path: to };
if (to.endsWith('/list') || to.endsWith('/'))
pushUrl.query = newUrl.query;
return router.push(pushUrl);
return router.push(pushUrl) && { redirect: true };
}
}

View File

@ -1,5 +1,6 @@
export default function toDateHourMin(date) {
const dateHour = new Date(date).toLocaleDateString('es-ES', {
if (!date) return date;
return new Date(date).toLocaleDateString('es-ES', {
timeZone: 'Europe/Madrid',
year: 'numeric',
month: '2-digit',
@ -7,5 +8,4 @@ export default function toDateHourMin(date) {
hour: '2-digit',
minute: '2-digit',
});
return dateHour;
}

View File

@ -1,5 +1,6 @@
export default function toDateHourMinSec(date) {
const dateHour = new Date(date).toLocaleDateString('es-ES', {
if (!date) return date;
return new Date(date).toLocaleDateString('es-ES', {
timeZone: 'Europe/Madrid',
year: 'numeric',
month: '2-digit',
@ -8,5 +9,4 @@ export default function toDateHourMinSec(date) {
minute: '2-digit',
second: '2-digit',
});
return dateHour;
}

View File

@ -44,7 +44,10 @@ InvoiceIn:
country: Country
params:
search: Id or supplier name
account: Ledger account
correctingFk: Rectificative
correctedFk: Corrected
isBooked: Is booked
invoicein:
params:
account: Ledger account
correctingFk: Rectificative

View File

@ -42,6 +42,9 @@ InvoiceIn:
country: País
params:
search: Id o nombre proveedor
correctedFk: Rectificada
invoicein:
params:
account: Cuenta contable
correctingFk: Rectificativa
correctedFk: Rectificada

View File

@ -39,6 +39,7 @@ const getUrl = (section) => `#/supplier/${entityId.value}/${section}`;
:url="`Suppliers/${entityId}/getSummary`"
@on-fetch="(data) => setData(data)"
data-key="SupplierSummary"
module-name="Supplier"
>
<template #header>
<span>{{ supplier.id }} - {{ supplier.name }}</span>

View File

@ -201,7 +201,7 @@ const getExpeditionState = async (expedition) => {
const openGrafana = (expeditionFk) => {
useOpenURL(
`https://grafana.verdnatura.es/d/d552ab74-85b4-4e7f-a279-fab7cd9c6124/control-de-expediciones?orgId=1&var-expeditionFk=${expeditionFk}`
`https://grafana.verdnatura.es/d/de1njb6p5answd/control-de-expediciones?orgId=1&var-expeditionFk=${expeditionFk}`
);
};

View File

@ -597,7 +597,7 @@ const getColor = (percentage) => {
v-if="entry.isCustomInspectionRequired"
name="warning"
color="negative"
size="xs"
size="md"
:title="t('requiresInspection')"
>
</QIcon>
@ -627,7 +627,7 @@ const getColor = (percentage) => {
<QBtn
v-if="entry.evaNotes"
icon="comment"
size="sm"
size="md"
flat
color="primary"
>

View File

@ -1,68 +1,28 @@
src/pages/Worker/Card/WorkerPBX.vue
<script setup>
import { watch, ref } from 'vue';
import { useI18n } from 'vue-i18n';
import { useRoute } from 'vue-router';
import { useState } from 'src/composables/useState';
import FormModel from 'src/components/FormModel.vue';
import VnRow from 'components/ui/VnRow.vue';
import VnInput from 'src/components/common/VnInput.vue';
const { t } = useI18n();
const state = useState();
const route = useRoute();
const workerPBXForm = ref();
const extension = ref(null);
const filter = {
include: [
{
relation: 'sip',
},
],
};
watch(
() => route.params.id,
() => state.set('extension', null)
);
const onFetch = (data) => {
state.set('extension', data?.sip?.extension);
extension.value = state.get('extension');
};
const updateModelValue = (data) => {
state.set('extension', data);
workerPBXForm.value.hasChanges = true;
};
</script>
<template>
<FormModel
ref="workerPBXForm"
:filter="filter"
:url="`Workers/${route.params.id}`"
model="WorkerPbx"
:url="`Workers/${$route.params.id}/sip`"
url-update="Sips"
auto-load
:mapper="
() => ({
userFk: +route.params.id,
({ userFk, extension }) => ({
userFk,
extension,
})
"
model="DeviceProductionUser"
@on-fetch="onFetch"
auto-load
>
<template #form="{}">
<VnRow>
<VnInput
:label="t('worker.summary.sipExtension')"
v-model="extension"
@update:model-value="updateModelValue"
/>
</VnRow>
<template #form="{ data }">
<VnInput
:label="$t('worker.summary.sipExtension')"
v-model="data.extension"
/>
</template>
</FormModel>
</template>

View File

@ -345,7 +345,7 @@ const getMailStates = async (date) => {
const prevMonth = month == 1 ? 12 : month - 1;
const params = {
month,
year: selectedDateYear.value,
year: date.getFullYear(),
};
const curMonthStates = (await axios.get(url, { params })).data;

View File

@ -102,8 +102,7 @@ const getWorkWeekElements = () => {
};
const paintWorkWeeks = async () => {
for (var i = 0; i < workWeeksElements.value.length; i++) {
const element = workWeeksElements.value[i];
for (const element of workWeeksElements.value) {
const week = Number(element.innerHTML);
const weekState = workerTimeControlMailsMap.value.get(week);
const { className, title } = stateClasses[weekState] || {};

View File

@ -4,7 +4,7 @@ import WorkerDepartmentTree from './WorkerDepartmentTree.vue';
</script>
<template>
<VnSection data-key="WorkerDepartment">
<VnSection data-key="WorkerDepartment" :search-bar="false">
<template #body>
<div class="flex flex-center q-pa-md">
<WorkerDepartmentTree />