From b8a56391228a063af726c87c4313a28e1aab5909 Mon Sep 17 00:00:00 2001 From: carlosfonseca Date: Thu, 25 Jan 2024 17:29:24 -0500 Subject: [PATCH 1/3] Se crea tarjeta de historial --- src/pages/Customer/Card/CustomerBalance.vue | 3 +- src/pages/Customer/Card/CustomerLog.vue | 252 +++++++++++++++++- src/pages/Customer/Card/CustomerNotes.vue | 34 +++ .../Customer/Card/CustomerRecoveries.vue | 33 +++ 4 files changed, 319 insertions(+), 3 deletions(-) diff --git a/src/pages/Customer/Card/CustomerBalance.vue b/src/pages/Customer/Card/CustomerBalance.vue index 5d296881fb..65c260a028 100644 --- a/src/pages/Customer/Card/CustomerBalance.vue +++ b/src/pages/Customer/Card/CustomerBalance.vue @@ -146,6 +146,7 @@ onBeforeMount(() => { }); const getData = () => { + stateStore.rightDrawer = true; getReceipts(); getClientRisks(); }; @@ -158,7 +159,6 @@ const getReceipts = async () => { }; const { data } = await axios.get('Receipts/filter', { params }); rows.value = data; - stateStore.rightDrawer = true; }; const getClientRisks = async () => { @@ -170,7 +170,6 @@ const getClientRisks = async () => { params: { filter: JSON.stringify(filter) }, }); clientRisks.value = data; - console.log(clientRisks.value[0].amount); }; const showNewPaymentDialog = () => { diff --git a/src/pages/Customer/Card/CustomerLog.vue b/src/pages/Customer/Card/CustomerLog.vue index fe59bf2dc4..4d0a0c8389 100644 --- a/src/pages/Customer/Card/CustomerLog.vue +++ b/src/pages/Customer/Card/CustomerLog.vue @@ -1,3 +1,253 @@ + + + + +es: + Search: Buscar + Search by id or concept: xxx + Entity: Entidad + All: Todo + User: Usuario + System: Sistema + Changes: Cambios + Search by changes: xxx + Creates: Crea + Edits: Modifica + Deletes: Elimina + Accesses: Accede + Date: Fecha + To: Hasta + Quit filter: Quitar filtro + diff --git a/src/pages/Customer/Card/CustomerNotes.vue b/src/pages/Customer/Card/CustomerNotes.vue index 0909758f31..95c3befe87 100644 --- a/src/pages/Customer/Card/CustomerNotes.vue +++ b/src/pages/Customer/Card/CustomerNotes.vue @@ -6,6 +6,40 @@ import { date } from 'quasar'; import VnPaginate from 'src/components/ui/VnPaginate.vue'; +const response = { + fields: [ + 'id', + 'originFk', + 'userFk', + 'action', + 'changedModel', + 'oldInstance', + 'newInstance', + 'creationDate', + 'changedModel', + 'changedModelId', + 'changedModelValue', + 'description', + ], + include: [ + { + relation: 'user', + scope: { + fields: ['nickname', 'name', 'image'], + include: { relation: 'worker', scope: { fields: ['id'] } }, + }, + }, + ], + order: ['creationDate DESC', 'id DESC'], + limit: 20, + where: { + and: [ + { originFk: '1' }, + { userFk: { neq: null } }, + { action: { inq: ['insert', 'update', 'delete', 'select'] } }, + ], + }, +}; const { t } = useI18n(); const route = useRoute(); const router = useRouter(); diff --git a/src/pages/Customer/Card/CustomerRecoveries.vue b/src/pages/Customer/Card/CustomerRecoveries.vue index 7247145f2f..df5c7f6e27 100644 --- a/src/pages/Customer/Card/CustomerRecoveries.vue +++ b/src/pages/Customer/Card/CustomerRecoveries.vue @@ -11,6 +11,39 @@ import { toCurrency } from 'src/filters'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; +const response = { + fields: [ + 'id', + 'originFk', + 'userFk', + 'action', + 'changedModel', + 'oldInstance', + 'newInstance', + 'creationDate', + 'changedModel', + 'changedModelId', + 'changedModelValue', + 'description', + ], + include: [ + { + relation: 'user', + scope: { + fields: ['nickname', 'name', 'image'], + include: { relation: 'worker', scope: { fields: ['id'] } }, + }, + }, + ], + order: ['creationDate DESC', 'id DESC'], + limit: 20, + where: { + and: [ + { originFk: '1' }, + { action: { inq: ['insert', 'update', 'delete', 'select'] } }, + ], + }, +}; const { t } = useI18n(); const route = useRoute(); const router = useRouter(); From 41e5945021340a02f1dd45acd6b6c87f56d7e95f Mon Sep 17 00:00:00 2001 From: carlosfonseca Date: Fri, 26 Jan 2024 10:59:13 -0500 Subject: [PATCH 2/3] Correccion se elimina datos de prueba --- src/pages/Customer/Card/CustomerNotes.vue | 34 ------------------- .../Customer/Card/CustomerRecoveries.vue | 33 ------------------ 2 files changed, 67 deletions(-) diff --git a/src/pages/Customer/Card/CustomerNotes.vue b/src/pages/Customer/Card/CustomerNotes.vue index 95c3befe87..0909758f31 100644 --- a/src/pages/Customer/Card/CustomerNotes.vue +++ b/src/pages/Customer/Card/CustomerNotes.vue @@ -6,40 +6,6 @@ import { date } from 'quasar'; import VnPaginate from 'src/components/ui/VnPaginate.vue'; -const response = { - fields: [ - 'id', - 'originFk', - 'userFk', - 'action', - 'changedModel', - 'oldInstance', - 'newInstance', - 'creationDate', - 'changedModel', - 'changedModelId', - 'changedModelValue', - 'description', - ], - include: [ - { - relation: 'user', - scope: { - fields: ['nickname', 'name', 'image'], - include: { relation: 'worker', scope: { fields: ['id'] } }, - }, - }, - ], - order: ['creationDate DESC', 'id DESC'], - limit: 20, - where: { - and: [ - { originFk: '1' }, - { userFk: { neq: null } }, - { action: { inq: ['insert', 'update', 'delete', 'select'] } }, - ], - }, -}; const { t } = useI18n(); const route = useRoute(); const router = useRouter(); diff --git a/src/pages/Customer/Card/CustomerRecoveries.vue b/src/pages/Customer/Card/CustomerRecoveries.vue index df5c7f6e27..7247145f2f 100644 --- a/src/pages/Customer/Card/CustomerRecoveries.vue +++ b/src/pages/Customer/Card/CustomerRecoveries.vue @@ -11,39 +11,6 @@ import { toCurrency } from 'src/filters'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; -const response = { - fields: [ - 'id', - 'originFk', - 'userFk', - 'action', - 'changedModel', - 'oldInstance', - 'newInstance', - 'creationDate', - 'changedModel', - 'changedModelId', - 'changedModelValue', - 'description', - ], - include: [ - { - relation: 'user', - scope: { - fields: ['nickname', 'name', 'image'], - include: { relation: 'worker', scope: { fields: ['id'] } }, - }, - }, - ], - order: ['creationDate DESC', 'id DESC'], - limit: 20, - where: { - and: [ - { originFk: '1' }, - { action: { inq: ['insert', 'update', 'delete', 'select'] } }, - ], - }, -}; const { t } = useI18n(); const route = useRoute(); const router = useRouter(); From 9fcbd5bc402e33a09a0fcee4ee3fd0f134a59cf9 Mon Sep 17 00:00:00 2001 From: carlosfonseca Date: Sat, 27 Jan 2024 18:53:35 -0500 Subject: [PATCH 3/3] Se modifica las peticiones en el componente --- src/pages/Customer/Card/CustomerLog.vue | 123 +++++++++++++----------- 1 file changed, 66 insertions(+), 57 deletions(-) diff --git a/src/pages/Customer/Card/CustomerLog.vue b/src/pages/Customer/Card/CustomerLog.vue index 4d0a0c8389..36d79959d5 100644 --- a/src/pages/Customer/Card/CustomerLog.vue +++ b/src/pages/Customer/Card/CustomerLog.vue @@ -3,10 +3,9 @@ import { onBeforeMount, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; -import axios from 'axios'; - import { useStateStore } from 'stores/useStateStore'; +import FetchData from 'components/FetchData.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue'; import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; @@ -15,6 +14,9 @@ const { t } = useI18n(); const route = useRoute(); const stateStore = useStateStore(); +const clientLogs = ref(null); +const urlClientLogsEditors = ref(null); +const urlClientLogsModels = ref(null); const clientLogsModelsOptions = ref([]); const clientLogsOptions = ref([]); const clientLogsEditorsOptions = ref([]); @@ -23,77 +25,71 @@ const insert = ref(false); const update = ref(false); const deletes = ref(false); const select = ref(false); +const neq = ref(null); const inq = ref([]); +const filterClientLogs = { + fields: [ + 'id', + 'originFk', + 'userFk', + 'action', + 'changedModel', + 'oldInstance', + 'newInstance', + 'creationDate', + 'changedModel', + 'changedModelId', + 'changedModelValue', + 'description', + ], + include: [ + { + relation: 'user', + scope: { + fields: ['nickname', 'name', 'image'], + include: { relation: 'worker', scope: { fields: ['id'] } }, + }, + }, + ], + order: ['creationDate DESC', 'id DESC'], + limit: 20, +}; const filterClientLogsEditors = { fields: ['id', 'nickname', 'name', 'image'], order: 'nickname', limit: 30, }; +const filterClientLogsModels = { order: ['changedModel'] }; +const urlBase = `ClientLogs/${route.params.id}`; onBeforeMount(() => { - getData(); + stateStore.rightDrawer = true; + filterClientLogs.where = { + and: [ + { originFk: `${route.params.id}` }, + { userFk: { neq: radioButtonValue.value } }, + { action: { inq: inq.value } }, + ], + }; + urlClientLogsEditors.value = `${urlBase}/editors`; + urlClientLogsModels.value = `${urlBase}/models`; }); -const getData = () => { - stateStore.rightDrawer = true; - getClientLogsModels(); - getClientLogs(); -}; - -const getClientLogsModels = async () => { - const filter = { order: ['changedModel'] }; - const { data } = await axios.get(`ClientLogs/${route.params.id}/models`, { - params: { filter: JSON.stringify(filter) }, - }); - clientLogsModelsOptions.value = data; -}; - const getClientLogs = async (value, status) => { - let neq = 'all'; if (status === 'neq') { - neq = value; + neq.value = value; } else { setInq(value, status); } - const filter = { - fields: [ - 'id', - 'originFk', - 'userFk', - 'action', - 'changedModel', - 'oldInstance', - 'newInstance', - 'creationDate', - 'changedModel', - 'changedModelId', - 'changedModelValue', - 'description', + filterClientLogs.where = { + and: [ + { originFk: `${route.params.id}` }, + { userFk: { neq: neq.value } }, + { action: { inq: inq.value } }, ], - include: [ - { - relation: 'user', - scope: { - fields: ['nickname', 'name', 'image'], - include: { relation: 'worker', scope: { fields: ['id'] } }, - }, - }, - ], - order: ['creationDate DESC', 'id DESC'], - limit: 20, - where: { - and: [ - { originFk: `${route.params.id}` }, - { userFk: { neq } }, - { action: { inq: inq.value } }, - ], - }, }; - const { data } = await axios.get('ClientLogs', { - params: { filter: JSON.stringify(filter) }, - }); - clientLogsOptions.value = data; + clientLogs.value?.fetch(); }; const setInq = (value, status) => { @@ -108,11 +104,24 @@ const setInq = (value, status) => {