// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/service.js"; export default { namespaced: true, state: { service: [], total: 0, total_filter: 0, x_search: "", sorting: { sortBy: "serviceCode", type: "asc", }, selected_item: {}, lookup_service: 2, search_status: false, current_page: 1, dialog_form: false, save_status: false, error_message: "", snackbar: false, success_message: "", selected_item: {}, alert_error: false, }, mutations: { update_service(state, val) { state.service = val.records; state.total = val.total; state.total_filter = val.total_filter; }, update_selected_item(state, val) { state.selected_item = val; }, update_x_search(state, val) { state.x_search = val; state.current_page = 1; }, update_sorting(state, val) { state.sorting = val; }, update_search_status(state, val) { state.search_status = val; }, update_lookup_service(state, val) { state.lookup_service = val; }, update_current_page(state, val) { state.current_page = val; }, update_total_page(state, val) { state.total = val; }, update_dialog_form(state, val) { state.dialog_form = val; }, update_save_status(state, val) { state.save_status = val; }, update_error_message(state, val) { state.error_message = val; }, update_snackbar(state, val) { state.snackbar = val; }, update_success_message(state, val) { state.success_message = val; }, update_selected_item(state, val) { state.selected_item = val; }, update_alert_error(state, val) { state.alert_error = val; }, }, actions: { async lookup(context) { context.commit("update_lookup_service", 1); context.commit("update_search_status", true); try { var tkn = { token: one_token(), page: context.state.current_page, search: context.state.x_search, order_by: context.state.sorting.sortBy, order: context.state.sorting.type, }; let resp = await api.lookup(tkn); if (resp.status != "OK") { context.commit("update_search_status", false); context.commit("update_lookup_service", 3); console.log(resp.message); } else { context.commit("update_search_status", false); context.commit("update_lookup_service", 2); let data = resp.data; // if (context.state.last_id == -1 && resp.data.records.length >= 1) { // context.commit("update_selected_item", resp.data.records[0]); // } else { // let idx = _.findIndex(resp.data.records, function (o) { // return o.id == context.state.last_id; // }); // if (resp.data.records[idx] != undefined) { // context.commit("update_selected_item", resp.data.records[idx]); // } else { // context.commit("update_selected_item", resp.data.records[0]); // } // } // if (resp.data.records.length < 1) { // context.commit("update_selected_item", { // id: "", // name: "", // internal: "", // staff: [], // }); // } context.commit("update_service", data); } } catch (e) { context.commit("update_search_status", false); context.commit("update_lookup_service", 3); // context.commit("update_lookup_error_message", e.message); console.log(e); } }, async addData(context, prm) { context.commit("update_save_status", true); try { prm.token = one_token(); let resp = await api.addData(prm); if (resp.status != "OK") { context.commit("update_save_status", false); context.commit("update_error_message", resp.message); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); console.log(resp.message); } else { context.commit("update_error_message", ""); context.commit("update_save_status", false); let data = resp.data; context.dispatch("lookup"); var msg = "Layanan " + prm.name + " sudah tersimpan"; context.commit("update_success_message", msg); context.commit("update_snackbar", true); context.commit("update_dialog_form", false); } } catch (e) { context.commit("update_save_status", false); context.commit("update_error_message", e); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); context.commit("update_lookup_service", 3); console.log(e); } }, async editData(context, prm) { context.commit("update_save_status", true); try { prm.token = one_token(); let resp = await api.editData(prm); if (resp.status != "OK") { context.commit("update_save_status", false); context.commit("update_error_message", resp.message); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); console.log(resp.message); } else { context.commit("update_error_message", ""); context.commit("update_save_status", false); let data = resp.data; context.dispatch("lookup"); var msg = "Layanan " + prm.name + " sudah tersimpan"; context.commit("update_success_message", msg); context.commit("update_snackbar", true); context.commit("update_dialog_form", false); } } catch (e) { context.commit("update_save_status", false); context.commit("update_error_message", e); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); context.commit("update_lookup_service", 3); console.log(e); } }, async deleteData(context, prm) { context.commit("update_save_status", true); try { prm.token = one_token(); let resp = await api.deleteData(prm); if (resp.status != "OK") { context.commit("update_save_status", false); context.commit("update_error_message", resp.message); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); console.log(resp.message); } else { context.commit("update_error_message", ""); context.commit("update_save_status", false); let data = resp.data; context.dispatch("lookup"); var msg = "Layanan " + prm.name + " sudah terhapus"; context.commit("update_success_message", msg); context.commit("update_snackbar", true); context.commit("update_dialog_form", false); } } catch (e) { context.commit("update_save_status", false); context.commit("update_error_message", e); context.commit("update_dialog_form", false); context.commit("update_alert_error", true); context.commit("update_lookup_service", 3); console.log(e); } }, }, };