diff --git a/src/App.vue b/src/App.vue index eb39c73..958449e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,61 +6,36 @@ import TicketApi from "@/services/TicketApi.js"; const filter = ref('ALL'); -const apiUrl = computed(() => { - return '/App/api.php?prj=pharmamp' + ((filter.value !== 'ALL') ? '&filter=' + filter.value : '') -}) - const tickets = ref({}); const newTickets = computed(() => { - return tickets.value.hasOwnProperty('new_tickets') ? mapListOfTickets(tickets.value.new_tickets.list) : [] + return tickets.value.hasOwnProperty('new_tickets') ? mapListOfTickets(tickets.value.new_tickets.list, filter.value) : [] }) const pendingTickets = computed(() => { - return tickets.value.hasOwnProperty('pending_tickets') ? mapListOfTickets(tickets.value.pending_tickets.list) : [] + return tickets.value.hasOwnProperty('pending_tickets') ? mapListOfTickets(tickets.value.pending_tickets.list, filter.value) : [] }) const myTickets = computed(() => { - return tickets.value.hasOwnProperty('my_tickets') ? mapListOfTickets(tickets.value.my_tickets.list) : [] + return tickets.value.hasOwnProperty('my_tickets') ? mapListOfTickets(tickets.value.my_tickets.list, filter.value) : [] }) -const mapListOfTickets = (tickets) => { - return tickets.map(ticket => - [ticket.code, ticket.datetime, ticket.filter1, ticket.filter2, ticket, ticket.advisor, ticket.datetime, ticket.first_name + ' ' + ticket.last_name, ticket.is_customer]); +const mapListOfTickets = (tickets, originFilter) => { + return tickets.filter(ticket => ((originFilter !== 'ALL') ? ticket.origin === originFilter : true)).map(ticket => + [ticket.code, ticket.datetime, ticket.filter1, ticket.filter2, ticket, ticket.advisor, ticket.datetime, ticket.state2, ticket.first_name + ' ' + ticket.last_name, ticket.is_customer]); } -const getTickets = async () => { - - if (import.meta.env.DEV) { - console.log(apiUrl.value) - } - - const response = await fetch(apiUrl.value) - - if (import.meta.env.DEV) { - console.log(response.clone().text()) - } - - return response.json(); -} onMounted(async () => { - tickets.value = await getTickets() + tickets.value = await TicketApi.getTickets() const myInterval = setInterval(async function () { - tickets.value = await getTickets() - }.bind(apiUrl), 180000); + tickets.value = await TicketApi.getTickets() + }, 180000); }) -watch(filter, async (to, from) => { - if (to !== from) { - tickets.value = await getTickets() - } -}); - -