// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/patient.js" export default { namespaced: true, state: { last_id: -1, last_saved_id: -1, x_addr_id: 0, act: 'edit', act_addr: 'new', get_data_status: 0, search_patient: 0, search_status: 0, search_error_message: '', norm: '', patient_name: '', titles: [], selected_title: {}, dob: '', patients: [], total_patients: 0, patient_address: [], sexes: [], selected_sex: {}, religions: [], selected_religion: {}, phone: '', hp: '', email: '', pob: '', kartuidentitass: [], selected_kartuidentitas: {}, noidentitas: '', note: '', total_patient: 0, selected_patient: {}, save_status: 0, btn_save_seen: true, pgrs_save: false, save_error_message: '', no_save: 0, open_alert_confirmation: false, alert_success: false, msg_success: "", dialog_success: false, dialog_confirmation_delete: false, msg_confirmation_delete: "", dialog_confirmation_delete_addr: false, msg_confirmation_delete_addr: "", autocomplete_status: 0, dialog_form_address: false, label_address: '', addresses: [], cities: [], city_address: {}, districts: [], district_address: {}, kelurahans: [], kelurahan_address: {}, description_address: '', errors: [] }, mutations: { update_x_addr_id(state, val) { state.x_addr_id = val }, update_last_id(state, val) { state.last_id = val }, update_last_saved_id(state, val) { state.last_saved_id = val }, update_act(state, val) { state.act = val }, update_act_addr(state, val) { state.act_addr = val }, update_get_data_status(state, val) { state.get_data_status = val }, update_search_error_message(state, patient) { state.search_error_message = patient }, update_search_patient(state, patient) { state.search_patient = patient }, update_dob(state, val) { state.dob = val }, update_patient_name(state, val) { state.patient_name = val }, update_norm(state, val) { state.norm = val }, update_titles(state, val) { state.titles = val }, update_selected_title(state, val) { state.selected_title = val }, update_patients(state, data) { state.patients = data }, update_selected_patient(state, val) { state.selected_patient = val }, update_sexes(state, val) { state.sexes = val }, update_selected_sex(state, val) { state.selected_sex = val }, update_religions(state, val) { state.religions = val }, update_selected_religion(state, val) { state.selected_religion = val }, update_phone(state, val) { state.phone = val }, update_email(state, val) { state.email = val }, update_pob(state, val) { state.pob = val }, update_hp(state, val) { state.hp = val }, update_kartuidentitass(state, val) { state.kartuidentitass = val }, update_selected_kartuidentitas(state, val) { state.selected_kartuidentitas = val }, update_noidentitas(state, val) { state.noidentitas = val }, update_note(state, val) { state.note = val }, update_save_status(state, val) { state.save_status = val }, update_btn_save_seen(state, val) { state.btn_save_seen = val }, update_pgrs_save(state, val) { state.pgrs_save = val }, update_save_error_message(state, msg) { state.save_error_message = '' }, update_no_save(state, val) { state.no_save = val }, update_open_alert_confirmation(state, val) { state.open_alert_confirmation = val }, update_alert_success(state, val) { state.alert_success = val }, update_msg_success(state, val) { state.msg_success = val }, update_dialog_success(state, val) { state.dialog_success = val }, update_dialog_confirmation_delete(state, val) { state.dialog_confirmation_delete = val }, update_msg_confirmation_delete(state, val) { state.msg_confirmation_delete = val }, update_dialog_confirmation_delete_addr(state, val) { state.dialog_confirmation_delete_addr = val }, update_msg_confirmation_delete_addr(state, val) { state.msg_confirmation_delete_addr = val }, update_addresses(state, val) { state.addresses = val }, update_autocomplete_status(state, val) { state.autocomplete_status = val }, update_dialog_form_address(state, val) { state.dialog_form_address = val }, update_label_address(state, val) { state.label_address = val }, update_cities(state, val) { state.cities = val }, update_city_address(state, val) { state.city_address = val }, update_districts(state, val) { state.districts = val }, update_district_address(state, val) { state.district_address = val }, update_kelurahans(state, val) { state.kelurahans = val }, update_kelurahan_address(state, val) { state.kelurahan_address = val }, update_description_address(state, val) { state.description_address = val }, update_search_status(state, val) { state.search_status = val }, update_errors(state, val) { state.errors = val }, update_total_patients(state, val) { state.total_patients = val } }, actions: { async search(context, prm) { context.commit("update_search_patient", 1) try { let resp = await api.search(one_token(), prm.name, prm.snorm) if (resp.status != "OK") { context.commit("update_search_patient", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_patient", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } context.commit("update_patients", data.records) context.commit("update_total_patients", data.total) context.commit("update_no_save", 0) if (prm.lastid === -1) { context.commit("update_selected_patient", data.records[0]) var pat = data.records[0] //console.log(pat.M_PatientNoReg) context.commit("update_norm", pat.M_PatientNoReg) context.commit("update_patient_name", pat.M_PatientName) context.commit("update_selected_title", { M_TitleID: pat.M_PatientM_TitleID, M_TitleName: pat.M_TitleName }) context.commit("update_selected_sex", { M_SexID: pat.M_PatientM_SexID, m_sexname: pat.M_SexName }) context.commit("update_selected_religion", { M_ReligionID: pat.M_PatientM_ReligionID, M_ReligionName: pat.M_ReligionName }) context.commit("update_dob", pat.M_PatientDOB) context.commit("update_hp", pat.M_PatientHP) context.commit("update_phone", pat.M_PatientPhone) context.commit("update_email", pat.M_PatientEmail) context.commit("update_pob", pat.M_PatientPOB) context.commit("update_selected_kartuidentitas", { M_IdTypeID: pat.M_PatientM_IdTypeID, M_IdTypeName: pat.M_IdTypeName }) context.commit("update_noidentitas", pat.M_PatientIDNumber) context.commit("update_note", pat.M_PatientNote) context.dispatch("getaddress", { id: pat.M_PatientID }) } else { context.commit("update_selected_patient", data.records[prm.lastid]) var pat = data.records[prm.lastid] context.commit("update_norm", pat.M_PatientNoReg) context.commit("update_patient_name", pat.M_PatientName) context.commit("update_selected_title", { M_TitleID: pat.M_PatientM_TitleID, M_TitleName: pat.M_TitleName }) context.commit("update_selected_sex", { M_SexID: pat.M_PatientM_SexID, m_sexname: pat.M_SexName }) context.commit("update_selected_religion", { M_ReligionID: pat.M_PatientM_ReligionID, M_ReligionName: pat.M_ReligionName }) context.commit("update_dob", pat.M_PatientDOB) context.commit("update_hp", pat.M_PatientHP) context.commit("update_phone", pat.M_PatientPhone) context.commit("update_email", pat.M_PatientEmail) context.commit("update_pob", pat.M_PatientPOB) context.commit("update_selected_kartuidentitas", { M_IdTypeID: pat.M_PatientM_IdTypeID, M_IdTypeName: pat.M_IdTypeName }) context.commit("update_noidentitas", pat.M_PatientIDNumber) context.commit("update_note", pat.M_PatientNote) context.dispatch("getaddress", { id: pat.M_PatientID }) } } } catch (e) { context.commit("update_search_patient", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async getsexreg(context) { context.commit("update_get_data_status", 1) try { let resp = await api.getsexreg(one_token()) if (resp.status != "OK") { context.commit("update_get_data_status", 3) } else { context.commit("update_get_data_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_sexes", data.records.sexes) context.commit("update_religions", data.records.religions) context.commit("update_titles", data.records.titles) context.commit("update_kartuidentitass", data.records.kartuidentitass) } } catch (e) { context.commit("update_get_data_status", 3) } }, async save(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.save(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) context.commit("update_last_id", prm.M_PatientID) context.commit("update_dialog_success", true) var msg = "Data pasien " + prm.M_PatientName + " sudah terupdate dong ..." context.commit("update_msg_success", msg) } } catch (e) { context.commit("update_save_status", 3) } }, async newpatient(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.newpatient(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) console.log(resp.data.id) context.commit("update_last_id", resp.data.id) context.commit("update_dialog_success", true) var msg = "Data pasien " + prm.M_PatientName + " sudah tersimpan dong ..." context.commit("update_msg_success", msg) } } catch (e) { context.commit("update_save_status", 3) } }, async delete(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.xdelete(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) context.commit("update_last_id", 0) context.commit("update_dialog_confirmation_delete", false) context.commit("update_dialog_success", true) var msg = "Data pasien " + prm.M_PatientName + " sudah dihapus dong ..." context.commit("update_msg_success", msg) context.commit("update_normupdate_norm", '') context.commit("update_patient_name", '') context.commit("update_selected_title", {}) context.commit("update_selected_sex", {}) context.commit("update_selected_religion", {}) context.commit("update_dob", '') context.commit("update_hp", '') context.commit("update_phone", '') context.commit("update_email", '') context.commit("update_pob", '') context.commit("update_selected_kartuidentitas", {}) context.commit("update_noidentitas", '') context.commit("update_note", '') } } catch (e) { context.commit("update_save_status", 3) } }, async getaddress(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.getaddress(prm) if (resp.status != "OK") { 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_addresses", data.records) } } catch (e) { context.commit("update_save_status", 3) } }, async searchcity(context, prm) { context.commit("update_autocomplete_status", 1) try { let resp = await api.searchcity(one_token(), prm) if (resp.status != "OK") { context.commit("update_autocomplete_status", 3) } else { context.commit("update_autocomplete_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_cities", resp.data.records) } } catch (e) { context.commit("update_autocomplete_status", 3) } }, async getdistrict(context, prm) { context.commit("update_get_data_status", 1) try { let resp = await api.getdistrict(one_token(), prm) if (resp.status != "OK") { context.commit("update_get_data_status", 3) } else { context.commit("update_get_data_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_districts", resp.data.records) } } catch (e) { context.commit("update_get_data_status", 3) } }, async getkelurahan(context, prm) { context.commit("update_get_data_status", 1) try { let resp = await api.getkelurahan(one_token(), prm) if (resp.status != "OK") { context.commit("update_get_data_status", 3) } else { context.commit("update_get_data_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_kelurahans", resp.data.records) } } catch (e) { context.commit("update_get_data_status", 3) } }, async savenewaddress(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.savenewaddress(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) context.commit("update_dialog_form_address", false) context.commit("update_last_id", prm.M_PatientAddressM_PatientID) context.commit("update_dialog_success", true) var msg = "Penambahan data alamat pasien " + prm.M_PatientName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch (e) { context.commit("update_save_status", 3) } }, async saveeditaddress(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.saveeditaddress(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) context.commit("update_dialog_form_address", false) context.commit("update_last_id", prm.M_PatientAddressM_PatientID) context.commit("update_dialog_success", true) var msg = "Perubahan data alamat pasien " + prm.M_PatientName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch (e) { context.commit("update_save_status", 3) } }, async deleteaddress(context, prm) { context.commit("update_save_status", 1) try { prm.token = one_token() let resp = await api.deleteaddress(prm) if (resp.status != "OK") { context.commit("update_save_status", 3) } else { context.commit("update_save_status", 2) context.commit("update_dialog_confirmation_delete_addr", false) context.commit("update_last_id", prm.M_PatientAddressM_PatientID) context.commit("update_dialog_success", true) var msg = "Penghapusan data alamat " + prm.M_PatientAddressNote + " dari pasien " + prm.M_PatientName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch (e) { context.commit("update_save_status", 3) } } } }