From 1894fd35ab34b9c6c59842416e3f3b05753e73fe Mon Sep 17 00:00:00 2001 From: adriano Date: Wed, 20 Mar 2024 11:33:30 -0300 Subject: [PATCH] feat: modify reports page Details: - Added a new hidden column called "messages" to the tickets table. - Implemented search functionality based on ticket messages. --- frontend/src/pages/Report/index.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/Report/index.js b/frontend/src/pages/Report/index.js index d8b0ee1..9229285 100644 --- a/frontend/src/pages/Report/index.js +++ b/frontend/src/pages/Report/index.js @@ -235,19 +235,22 @@ let columnsData = [ { title: `${i18n.t("reports.listColumns.column1_7")}`, field: 'createdAt' }, { title: `${i18n.t("reports.listColumns.column1_8")}`, field: 'updatedAt' }, - { title: `${i18n.t("reports.listColumns.column1_9")}`, field: 'statusChatEnd' }] + { title: `${i18n.t("reports.listColumns.column1_9")}`, field: 'statusChatEnd' }, + { title: `Mensagens`, field: 'messagesToFilter', searchable: true, hidden: true }, +] let columnsDataSuper = [ { title: `${i18n.t("reports.listColumns.column1_1")}`, field: 'whatsapp.name' }, { title: `${i18n.t("reports.listColumns.column1_2")}`, field: 'user.name' }, { title: `${i18n.t("reports.listColumns.column0_3")}`, field: 'contact.name' }, { title: `${i18n.t("reports.listColumns.column1_5")}`, field: 'queue.name' }, - + { title: 'Status', field: 'status' }, - + { title: `${i18n.t("reports.listColumns.column1_7")}`, field: 'createdAt' }, { title: `${i18n.t("reports.listColumns.column1_8")}`, field: 'updatedAt' }, - { title: `${i18n.t("reports.listColumns.column1_9")}`, field: 'statusChatEnd' } + { title: `${i18n.t("reports.listColumns.column1_9")}`, field: 'statusChatEnd' }, + { title: `Mensagens`, field: 'messagesToFilter', searchable: true, hidden: true }, ] @@ -369,8 +372,12 @@ const Report = () => { filterQueuesTickets = ticketsQueue.filter(ticket => ticket?.queue?.name === userQueues[0]?.name) } data.tickets = filterQueuesTickets - dispatchQ({ type: "LOAD_QUERY", payload: data.tickets }) - + const tickets = data.tickets.map(ticket => ({ + ...ticket, + messagesToFilter: ticket.messages.map(message => message.body).join(' '), + })); + dispatchQ({ type: "LOAD_QUERY", payload: tickets }) + console.log(tickets); setHasMore(data.hasMore) setTotalCountTickets(data.count) setLoading(false)