// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/ticket.js"; export default { namespaced: true, state: { clients: [], branchs: [], selected_clients: { clientId: null, // atau nilai default yang sesuai clientName: null, }, selected_branch: {}, loading: false, loading_client: false, error: "", save_status: 2, error_message: "", loading_save: false, alert_error: false, dialog_error: false, msg_success: "", alert_success: false, errors: [], show_progrees_upload: false, images: [], lastInsertId: "", ticket_number: "", dialog_is_active: false, }, mutations: { update_branchs(state, val) { state.branchs = val; }, update_clients(state, val) { state.clients = val; }, update_selected_branch(state, val) { state.selected_branch = val; }, update_selected_clients(state, val) { state.selected_clients = val; }, update_loading(state, val) { state.loading = val; }, update_loading_client(state, val) { state.loading_client = val; }, update_error(state, val) { state.error = val; }, update_save_status(state, val) { state.save_status = val; }, update_error_message(state, val) { state.error_message = val; }, update_loading_save(state, val) { state.loading_save = val; }, update_alert_error(state, val) { state.alert_error = val; }, update_dialog_error(state, val) { state.dialog_error = val; }, update_msg_success(state, val) { state.msg_success = val; }, update_alert_success(state, val) { state.alert_success = val; }, update_errors(state, val) { state.errors = val; }, update_show_progrees_upload(state, val) { state.show_progrees_upload = val; }, update_images(state, val) { state.images = val; }, update_lastInsertId(state, id) { state.lastInsertId = id; }, update_ticket_number(state, val) { state.ticket_number = val; }, update_dialog_is_active(state, val) { state.dialog_is_active = val; }, }, actions: { async search_branch(context, { search, client_id }) { context.commit("update_loading", true); try { let resp = await api.search_branch(search, client_id); if (resp.status != "OK") { context.commit("update_loading", false); context.commit("update_error", resp.message); } else { context.commit("update_loading", false); context.commit("update_error", ""); let data = { records: resp.data.records, total: resp.data.total, }; context.commit("update_branchs", resp.data.records); } } catch (e) { context.commit("update_loading", false); context.commit("update_error", e.message); } }, async search_client(context, { search }) { context.commit("update_loading", true); try { let resp = await api.search_client(search); if (resp.status != "OK") { context.commit("update_loading", false); context.commit("update_error", resp.message); } else { context.commit("update_loading", false); context.commit("update_error", ""); context.commit("update_clients", resp.data.data); } } catch (e) { context.commit("update_loading", false); context.commit("update_error", e.message); } }, async new_ticket(context, prm) { context.commit("update_save_status", 1); try { // prm.token = one_token() let resp = await api.new_ticket(prm); if (resp.status != "OK") { context.commit("update_save_status", 3); context.commit("update_error_message", resp.message); context.commit("update_alert_error", true); context.commit("update_dialog_error", true); } else { var data = { status: resp.status, }; if (data.status == "OK") { context.commit("update_save_status", 2); context.commit("update_error_message", ""); context.commit("update_dialog_error", false); let msg = "Data berhasil disimpan"; context.commit("update_msg_success", resp.msg); context.commit("update_alert_success", true); context.commit("update_lastInsertId", resp.data.id); context.commit("update_ticket_number", resp.data.number); context.commit("update_dialog_is_active", true); console.log(resp.data.id); } else { context.commit("update_errors", resp.errors); } } } catch (e) { context.commit("update_save_status", 3); context.commit("update_error_message", e.message); context.commit("update_alert_error", true); } }, async uploadimage(context, prm) { context.commit("update_save_status", 1); try { let resp = await api.uploadimage(prm); if (resp.status != "OK") { context.commit("update_show_progrees_upload", false); context.commit("update_save_status", 3); } else { context.commit("update_save_status", 2); let data = { records: resp.data.records, total: resp.data.total, }; context.commit("update_show_progrees_upload", false); context.commit("update_images", data.records); } } catch (e) { context.commit("update_show_progrees_upload", false); context.commit("update_save_status", 3); } }, }, };