0
0
Fork 0

fix: refs #7529 front

This commit is contained in:
Carlos Satorres 2024-10-29 14:00:04 +01:00
parent eea6276264
commit 8b2fbefc35
1 changed files with 197 additions and 88 deletions

View File

@ -1,21 +1,48 @@
<script setup>
import { ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
import VnInputDate from 'src/components/common/VnInputDate.vue';
import axios from 'axios';
import FetchData from 'components/FetchData.vue';
import FormModel from 'src/components/FormModel.vue';
import VnRow from 'components/ui/VnRow.vue';
import VnInput from 'src/components/common/VnInput.vue';
import VnSelect from 'src/components/common/VnSelect.vue';
import CrudModel from 'components/CrudModel.vue';
import VnTitle from 'src/components/common/VnTitle.vue';
import { useQuasar } from 'quasar';
import VnConfirm from 'components/ui/VnConfirm.vue';
import useNotify from 'src/composables/useNotify.js';
const { notify } = useNotify();
const route = useRoute();
const { t } = useI18n();
const router = useRouter();
const disabilityGradesOptions = ref();
const toCustomerAddressCreate = () => {
router.push({ name: 'CustomerAddressCreate' });
const workerPitCrudRef = ref({});
const insertTag = () => {
workerPitCrudRef.value.insert();
};
const quasar = useQuasar();
const deleteRelative = async (id) => {
await new Promise((resolve) => {
quasar
.dialog({
component: VnConfirm,
componentProps: {
title: t('Remove Relative'),
message: t('Do you want to remove this relative?'),
},
})
.onOk(() => {
resolve(true);
})
.onCancel(() => {
resolve(false);
});
});
await axios.delete(`WorkerRelatives/${id}`);
workerPitCrudRef.value.reload();
notify('Relative removed', 'positive');
};
</script>
@ -25,100 +52,170 @@ const toCustomerAddressCreate = () => {
@on-fetch="(data) => (disabilityGradesOptions = data)"
auto-load
/>
<FormModel
url="WorkerIrpfs"
:filter="{ where: { workerFk: route.params.id } }"
auto-load
model="WorkerIrpfs"
data-key="workerIrpfs"
>
<template #form="{ data }">
<VnRow>
<VnInput
:label="t('familySituation')"
clearable
v-model="data.familySituation"
/>
<VnInput :label="t('spouseNif')" clearable v-model="data.spouseNif" />
</VnRow>
<VnRow>
<VnSelect
:label="t('disabilityGrades')"
:options="disabilityGradesOptions"
hide-selected
option-label="description"
option-value="id"
v-model="data.disabilityGradeFk"
/>
<QCard class="q-px-lg q-py-lg">
<VnTitle :text="t('IRPF')" />
<VnRow>
<VnInput
:label="t('familySituation')"
clearable
v-model="data.familySituation"
/>
<VnInput :label="t('spouseNif')" clearable v-model="data.spouseNif" />
</VnRow>
<VnRow>
<VnSelect
:label="t('disabilityGrades')"
:options="disabilityGradesOptions"
option-label="description"
option-value="id"
v-model="data.disabilityGradeFk"
/>
<VnInputDate
:label="t('geographicMobilityDate')"
v-model="data.geographicMobilityDate"
/>
</VnRow>
<VnInputDate
:label="t('geographicMobilityDate')"
v-model="data.geographicMobilityDate"
/>
</VnRow>
<VnRow>
<VnInput
clearable
v-model="data.childPension"
:label="t(`childPension`)"
/>
<VnInput
clearable
v-model="data.spousePension"
:label="t(`spousePension`)"
/>
</VnRow>
<VnRow>
<QCheckbox v-model="data.isDependend" :label="t(`isDependend`)" />
<QCheckbox
v-model="data.hasHousingPaymentBefore"
:label="t(`hasHousingPaymentBefore`)"
/>
</VnRow>
<VnRow>
<QCheckbox
v-model="data.hasHousingPaymentAfter"
:label="t(`hasHousingPaymentAfter`)"
/>
<QCheckbox
v-model="data.hasExtendedWorking"
:label="t(`hasExtendedWorking`)"
/>
</VnRow>
</QCard>
<VnRow>
<VnInput
clearable
v-model="data.childPension"
:label="t(`childPension`)"
/>
<VnInput
clearable
v-model="data.spousePension"
:label="t(`spousePension`)"
/>
</VnRow>
<CrudModel
ref="workerPitCrudRef"
data-key="workerPit"
url="WorkerRelatives"
auto-load
:filter="{
where: { workerFk: route.params.id },
}"
:data-required="{ workerFk: route.params.id }"
:has-sub-toolbar="false"
>
<template #body="{ rows }">
<QCard class="q-px-lg q-py-lg" flat>
<div class="row no-wrap justify-between q-pb-md">
<VnTitle :text="t('Relatives')" />
<QBtnGroup push style="column-gap: 10px">
<QBtn
color="primary"
icon="restart_alt"
flat
@click="workerPitCrudRef.reset"
:disable="!workerPitCrudRef.hasChanges"
:title="t('globals.reset')"
/>
<QBtn
ref="saveButtonRef"
color="primary"
icon="save"
@click="workerPitCrudRef.onSubmit"
:disable="!workerPitCrudRef.hasChanges"
:title="t('globals.save')"
/>
</QBtnGroup>
</div>
<VnRow
v-for="(row, index) in rows"
:key="index"
class="row q-gutter-lg q-mb-lg"
padding="none"
>
<VnSelect
:options="[
{ id: 0, name: 'Ascendiente' },
{ id: 1, name: 'Descendiente' },
]"
:label="t('isDescendant')"
v-model="row.isDescendant"
/>
<VnSelect
:label="t('disabilityGrades')"
:options="disabilityGradesOptions"
option-label="description"
option-value="id"
v-model="row.disabilityGradeFk"
padding="none"
/>
<VnInput
type="number"
v-model="row.birthed"
:label="t(`birthed`)"
/>
<VnRow>
<QCheckbox
size="sm"
v-model="data.isDependend"
:label="t(`isDependend`)"
/>
<QCheckbox
size="sm"
v-model="data.hasHousingPaymentBefore"
:label="t(`hasHousingPaymentBefore`)"
/>
</VnRow>
<VnRow>
<QCheckbox
size="sm"
v-model="data.hasHousingPaymentAfter"
:label="t(`hasHousingPaymentAfter`)"
/>
<QCheckbox
size="sm"
v-model="data.hasExtendedWorking"
:label="t(`hasExtendedWorking`)"
/>
</VnRow>
<QSeparator class="q-mx-lg" vertical />
<VnInput
type="number"
v-model="row.adoptionYear"
:label="t(`adoptionYear`)"
/>
<QCheckbox
v-model="row.isDependend"
:label="t(`isDependend`)"
/>
<QCheckbox
v-model="row.isJointCustody"
:label="t(`isJointCustody`)"
size="xs"
/>
<QBtn
@click="deleteRelative(rows[0].id)"
class="cursor-pointer"
color="primary"
flat
icon="delete"
style="flex: 0"
/>
</VnRow>
<VnRow class="justify-left items-center">
<QBtn
@click="insertTag(rows)"
class="cursor-pointer"
color="primary"
flat
icon="add"
shortcut="+"
style="flex: 0"
/>
</VnRow>
</QCard>
</template>
</CrudModel>
</template>
</FormModel>
<CrudModel
ref="workerPitCrudRef"
data-key="workerPit"
url="WorkerRelatives"
auto-load
>
<template #body="{ rows }">
<QTable
:columns="columns"
:rows="rows"
row-key="$index"
selection="multiple"
v-model:selected="selected"
table-header-class="text-left"
></QTable>
</template>
<!-- <VnRow>
<VnInputDate size="sm" v-model="data.birthed" :label="t(`birthed`)" />
<VnInput size="sm" v-model="data.adoptionYear" :label="t(`adoptionYear`)" />
</VnRow> -->
</CrudModel>
</template>
<i18n>
@ -133,6 +230,12 @@ es:
hasHousingPaymentBefore: Pagos vivienda anterior 2011
hasHousingPaymentAfter: Pagos vivienda posterior 2011
hasExtendedWorking: Prolongación actividad laboral
isDescendant: Descen/Ascen
disabilityGradeFk: Discapacidad
birthed: Año nacimiento
adoptionYear: Año adopción
isJointCustody: Computo por entero
Relatives: Relacionados
en:
familySituation: Family Situation
disabilityGrades: Disability Grades
@ -144,4 +247,10 @@ en:
hasHousingPaymentBefore: Housing Payments Before 2011
hasHousingPaymentAfter: Housing Payments After 2011
hasExtendedWorking: Extended Work Activity
isDescendant: Descendant/Ascendant
disabilityGradeFk: Disability Grade
birthed: Birth Year
adoptionYear: Adoption Year
isJointCustody: Joint custody
Relatives: Relatives
</i18n>