// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/ticketdispenser.js"; export default { namespaced: true, state: { lookup_error_message: "", lookup_bloodrequest: 0, ticketdispensers: [], total_ticketdispensers: 0, total_filter_ticketdispensers: 0, current_page: 1, x_search: "", autocomplete_status: 0, pagination: { descending: "asc", sortBy: "ticketBoothCode", }, search_status: false, dialog_form_ticket_dispenser: false, alert_success: false, msg_success: "", show_all: "N", errors: [], act: "new", selected_ticketdispenser: { name: "", }, save_status: 0, save_error_message: "", show_hide_table: false, snackbar: false, success_message: "", }, mutations: { // jika tidak ada data update_show_hide_table(state, val) { state.show_hide_table = val; }, update_lookup_error_message(state, status) { state.lookup_error_message = status; }, update_lookup_ticket_dispenser(state, status) { state.lookup_bloodrequest = status; }, update_ticketdispensers(state, data) { state.ticketdispensers = data.records; state.total_ticketdispensers = data.total; state.total_filter_ticketdispensers = data.total_filter; }, update_current_page(state, val) { state.current_page = val; }, update_autocomplete_status(state, val) { state.autocomplete_status = val; }, update_last_id(state, val) { state.last_id = val; }, update_pagination(state, val) { state.pagination = val; }, update_dialog_form_ticket_dispenser(state, val) { // console.log(state, val); state.dialog_form_ticket_dispenser = val; }, update_alert_success(state, val) { state.alert_success = val; }, update_msg_success(state, val) { state.msg_success = val; }, update_errors(state, val) { state.errors = val; }, update_save_status(state, val) { state.save_status = val; }, update_save_error_message(state, val) { state.save_error_message = val; }, update_act(state, val) { state.act = val; }, update_search_status(state, val) { state.search_status = val; }, update_selected_ticketdispenser(state, val) { state.selected_ticketdispenser = val; }, update_x_search(state, val) { state.x_search = val; }, update_snackbar(state, val) { state.snackbar = val; }, update_success_message(state, val) { state.success_message = val; }, }, actions: { // add data async add(context, prm) { context.commit("update_save_status", 1); try { prm.token = one_token(); let resp = await api.add(prm); if (resp.status != "OK") { context.commit("update_save_status", 3); context.commit("update_save_error_message", resp.message); } else { context.commit("update_save_status", 2); context.commit("update_save_error_message", resp.message); context.commit("update_save_error_message", resp.message); var data = { records: resp.data.records, total: resp.data.total, }; if (data.total !== -1) { context.commit("update_errors", []); context.commit("update_alert_success", true); context.commit("update_dialog_form_ticket_dispenser", false); var msg = "Ticket booth sudah tersimpan dong ..."; context.commit("update_msg_success", msg); context.commit("update_success_message", msg); context.commit("update_snackbar", true); context.dispatch("lookupbyname"); } else { context.commit("update_errors", resp.data.errors); } } } catch (e) { context.commit("update_save_status", 3); context.commit("update_save_error_message", e.message); console.log(e); } }, // load data dan search async lookupbyname(context, prm) { context.commit("update_lookup_ticket_dispenser", 1); context.commit("update_search_status", true); try { // prm.token = one_token() var prm = { query: context.state.xsearch, current_page: context.state.current_page, last_id: context.state.last_id, search: context.state.x_search, sortBy: context.state.pagination.sortBy, sortStatus: context.state.pagination.descending, // start_date:context.state.start_date_filter, // end_date:context.state.end_date_filter, token: one_token(), }; // console.log(prm); let resp = await api.lookupbyname(prm); if (resp.status != "OK") { context.commit("update_search_status", false); context.commit("update_lookup_ticket_dispenser", 3); context.commit("update_lookup_error_message", resp.message); } else { context.commit("update_search_status", false); context.commit("update_lookup_ticket_dispenser", 2); context.commit("update_lookup_error_message", ""); if (resp.data.records.length > 0) { let data = { records: resp.data.records, total: resp.data.total, total_filter: resp.data.total_filter, }; context.commit("ticketdispenser/update_show_hide_table", false, { root: true, }); context.commit("update_ticketdispensers", data); } else { // console.log('kosong'); let data = { records: resp.data.records, total: resp.data.total, total_filter: resp.data.total_filter, }; context.commit("update_ticketdispensers", data); context.commit("ticketdispenser/update_show_hide_table", true, { root: true, }); } } } catch (e) { context.commit("update_search_status", false); context.commit("update_lookup_ticket_dispenser", 3); context.commit("update_lookup_error_message", e.message); } }, // hapus async delete(context, prm) { // console.log(prm) context.commit("update_save_status", 1); try { // console.log(prm); // console.log(prm.id); let resp = await api.xdelete(one_token(), prm.id); if (resp.status != "OK") { context.commit("update_save_status", 3); context.commit("update_save_error_message", resp.message); } else { context.commit("update_save_status", 2); context.commit("update_save_error_message", resp.message); context.commit("update_alert_success", true); var msg = "Ticket booth sudah dihapus dong"; context.commit("update_msg_success", msg); context.commit("update_alert_success", true); context.commit("update_success_message", msg); context.commit("update_snackbar", true); context.commit("update_selected_ticketdispenser", {}); context.dispatch("lookupbyname"); } } catch (e) { context.commit("update_save_status", 3); console.log(e); } }, // edit async edit(context, prm) { context.commit("update_save_status", 1); try { prm.token = one_token(); let resp = await api.edit(prm); if (resp.status != "OK") { context.commit("update_save_status", 3); context.commit("update_save_error_message", resp.message); } else { context.commit("update_save_status", 2); context.commit("update_save_error_message", resp.message); context.commit("update_save_error_message", resp.message); let data = { records: resp.data.records, total: resp.data.total, }; if (data.total !== -1) { context.commit("update_alert_success", true); context.commit("update_dialog_form_ticket_dispenser", false); var msg = " Ticket booth sudah terupdate dong ..."; context.commit("update_msg_success", msg); context.dispatch("lookupbyname"); context.commit("update_success_message", msg); context.commit("update_snackbar", true); } else { context.commit("update_errors", resp.data.errors); } } } catch (e) { context.commit("update_save_status", 3); context.commit("update_save_error_message", e.message); console.log(e); } }, }, };