From f230fcbca2a1ca7cc3e0ea145f5533468afa438f Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 17 Oct 2023 17:32:47 +0200 Subject: [PATCH] refs #6157 claimAction --- src/components/common/VnSelectFilter.vue | 2 +- src/components/ui/CardDescriptor.vue | 13 +- src/i18n/en/index.js | 1 + src/i18n/es/index.js | 1 + src/pages/Claim/Card/ClaimAction.vue | 454 +++++++++++++++++++++++ src/pages/Claim/Card/ClaimCard.vue | 59 ++- src/pages/Ticket/TicketList.vue | 2 +- src/router/modules/claim.js | 10 + 8 files changed, 526 insertions(+), 16 deletions(-) create mode 100644 src/pages/Claim/Card/ClaimAction.vue diff --git a/src/components/common/VnSelectFilter.vue b/src/components/common/VnSelectFilter.vue index 55395f260..d3c073c6e 100644 --- a/src/components/common/VnSelectFilter.vue +++ b/src/components/common/VnSelectFilter.vue @@ -4,7 +4,7 @@ const emit = defineEmits(['update:modelValue', 'update:options']); const $props = defineProps({ modelValue: { - type: [String, Number], + type: [String, Number, Object], default: null, }, options: { diff --git a/src/components/ui/CardDescriptor.vue b/src/components/ui/CardDescriptor.vue index f63b75de6..2dd531f20 100644 --- a/src/components/ui/CardDescriptor.vue +++ b/src/components/ui/CardDescriptor.vue @@ -2,6 +2,7 @@ import { onMounted, useSlots, ref, watch } from 'vue'; import { useI18n } from 'vue-i18n'; import axios from 'axios'; +import { useArrayData } from 'src/composables/useArrayData'; import SkeletonDescriptor from 'components/ui/SkeletonDescriptor.vue'; const $props = defineProps({ @@ -26,18 +27,21 @@ const $props = defineProps({ default: 0, }, }); - +const arrayData = useArrayData('claimData'); +const store = arrayData.store; +console.log('eee', store.data); const slots = useSlots(); const { t } = useI18n(); -const entity = ref(); +const entity = ref(null); +let lastUrl = ref(null); onMounted(async () => { - await fetch(); + entity.value = await store.data; }); const emit = defineEmits(['onFetch']); - async function fetch() { + lastUrl.value = $props.url; const params = {}; if ($props.filter) params.filter = JSON.stringify($props.filter); @@ -49,6 +53,7 @@ async function fetch() { } watch($props, async () => { + if (lastUrl.value == $props.url) return; entity.value = null; await fetch(); }); diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js index cfd20716b..e6d071c73 100644 --- a/src/i18n/en/index.js +++ b/src/i18n/en/index.js @@ -269,6 +269,7 @@ export default { development: 'Development', log: 'Audit logs', notes: 'Notes', + action: 'Action', }, list: { customer: 'Customer', diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js index 532c1bb3b..c171d6456 100644 --- a/src/i18n/es/index.js +++ b/src/i18n/es/index.js @@ -268,6 +268,7 @@ export default { photos: 'Fotos', log: 'Registros de auditoría', notes: 'Notas', + action: 'Action', }, list: { customer: 'Cliente', diff --git a/src/pages/Claim/Card/ClaimAction.vue b/src/pages/Claim/Card/ClaimAction.vue new file mode 100644 index 000000000..77f1dab40 --- /dev/null +++ b/src/pages/Claim/Card/ClaimAction.vue @@ -0,0 +1,454 @@ + + + + + +en: + mana: Is paid with mana + dialog title: Change destination to all selected rows +es: + mana: Cargado al maná + Delivered: Descripción + Quantity: Cantidad + Claimed: Rec + Description: Description + Price: Precio + Discount: Dto. + Destination: Destino + Landed: F.entrega + Remove line: Eliminar línea + Total claimed: Total reclamado + Regularize: Regularizar + Change destination: Cambiar destino + Import claim: Importar reclamación + dialog title: Cambiar destino en todas las filas seleccionadas + Remove: Eliminar + diff --git a/src/pages/Claim/Card/ClaimCard.vue b/src/pages/Claim/Card/ClaimCard.vue index 03b9889f0..40a3bcd7a 100644 --- a/src/pages/Claim/Card/ClaimCard.vue +++ b/src/pages/Claim/Card/ClaimCard.vue @@ -1,17 +1,58 @@ - + diff --git a/src/router/modules/claim.js b/src/router/modules/claim.js index 9df1dd64e..1dfd75cff 100644 --- a/src/router/modules/claim.js +++ b/src/router/modules/claim.js @@ -19,6 +19,7 @@ export default { 'ClaimLog', 'ClaimNotes', 'ClaimDevelopment', + 'ClaimAction', ], }, children: [ @@ -130,6 +131,15 @@ export default { }, component: () => import('src/pages/Claim/Card/ClaimNotes.vue'), }, + { + name: 'ClaimAction', + path: 'action', + meta: { + title: 'action', + icon: 'vn:actions', + }, + component: () => import('src/pages/Claim/Card/ClaimAction.vue'), + }, ], }, ],