// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/doctor.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_doctor: 0, search_doctorconfirm: 0, search_status: 0, search_error_message: "", statuses: [ { label: "Pending", value: "Pending" }, { label: "Terkirim", value: "Terkirim" }, ], // selected_status:{label:'Terkirim', value:'Y'}, selected_status: { label: "Pending", value: "Pending" }, preffix: "", preffix2: "", doctor_name: "", suffix: "", suffix2: "", suffix3: "", doctors: [], total_doctors: 0, doctorsconfirm: [], total_doctorsconfirm: 0, doctor_address: [], sexes: [], selected_sex: {}, religions: [], selected_religion: {}, branchs: [], selected_branch: {}, phone: "", hp: "", note: "", email: "", is_default_email: "", pj: "N", dpj: "N", clinic: "N", is_default: "N", marketing_confirm: "N", total_doctor: 0, total_doctorconfirm: 0, total_filterdoctor: 0, selected_doctor: {}, 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: {}, jpas: [], jpa_address: {}, description_address: "", errors: [], current_page: 1, current_pageconfirm: 1, open_dialog_info: false, msg_info: "", selected_filter_branch: {}, startdate: moment(new Date()).format("YYYY-MM-DD"), dialog_form_doctor: false, newcode: "", in_saving: false, dialog_form_viewinfo: false, open_print_note: false, urlprintnote: "", }, mutations: { update_dialog_form_viewinfo(state, val) { state.dialog_form_viewinfo = val; }, update_in_saving(state, val) { state.in_saving = val; }, update_newcode(state, val) { state.newcode = val; }, update_dialog_form_doctor(state, val) { state.dialog_form_doctor = val; }, update_startdate(state, val) { state.startdate = val; }, update_selected_filter_branch(state, val) { state.selected_filter_branch = val; }, update_msg_info(state, val) { state.msg_info = val; }, update_open_dialog_info(state, val) { state.open_dialog_info = val; }, 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_doctor(state, doctor) { state.search_doctor = doctor; }, update_search_doctorconfirm(state, doctor) { state.search_doctorconfirm = doctor; }, update_preffix(state, val) { state.preffix = val; }, update_preffix2(state, val) { state.preffix2 = val; }, update_doctor_name(state, val) { state.doctor_name = val; }, update_suffix(state, val) { state.suffix = val; }, update_suffix2(state, val) { state.suffix2 = val; }, update_suffix3(state, val) { state.suffix3 = val; }, update_doctors(state, data) { state.doctors = data; }, update_doctorsconfirm(state, data) { state.doctorsconfirm = data; }, update_selected_status(state, val) { state.selected_status = val; }, update_selected_doctor(state, val) { state.selected_doctor = 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_branchs(state, val) { state.branchs = val; }, update_selected_branch(state, val) { state.selected_branch = val; }, update_phone(state, val) { state.phone = val; }, update_is_default_email(state, val) { state.is_default_email = val; }, update_email(state, val) { state.email = val; }, update_hp(state, val) { state.hp = val; }, update_note(state, val) { state.note = val; }, update_pj(state, val) { state.pj = val; }, update_dpj(state, val) { state.dpj = val; }, update_clinic(state, val) { state.clinic = val; }, update_marketing_confirm(state, val) { state.marketing_confirm = val; }, update_is_default(state, val) { state.is_default = 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_jpas(state, val) { state.jpas = val; }, update_jpa_address(state, val) { state.jpa_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_doctor(state, val) { state.total_doctor = val; }, update_total_filterdoctor(state, val) { state.total_filterdoctor = val; }, update_total_doctorconfirm(state, val) { state.total_doctorconfirm = val; }, update_current_page(state, val) { state.current_page = val; }, update_current_pageconfirm(state, val) { state.current_pageconfirm = val; }, update_open_print_note(state, val) { state.open_print_note = val; }, }, actions: { // Tambahan Hallosis async getDetail(context, prm) { try { prm.token = one_token(); let resp = await api.searchdetail(prm); if (resp.status != "OK") { return null; } else { return resp.data; } } catch (error) { console.log(error); return null; } }, async search(context, prm) { context.commit("update_search_doctor", 1); try { prm.token = one_token(); let resp = await api.search(prm); if (resp.status != "OK") { context.commit("update_search_doctor", 3); context.commit("update_search_error_message", resp.message); } else { context.commit("update_search_doctor", 2); context.commit("update_search_error_message", ""); let data = { records: resp.data.records, total: resp.data.total, total_filter: resp.data.total_filter, }; context.commit("update_doctors", data.records); console.log(data.total); context.commit("update_total_doctor", data.total); context.commit("update_total_filterdoctor", data.total_filter); context.commit("update_no_save", 0); //context.commit("update_selected_doctor",{}) if (data.records.length > 0) { var doc = {}; if (prm.lastid === -1) { console.log("minsatu"); context.commit("update_selected_doctor", data.records[0]); doc = data.records[0]; } else { context.commit( "update_selected_doctor", data.records[prm.lastid] ); doc = data.records[prm.lastid]; } context.commit("update_preffix", doc.M_DoctorPrefix); context.commit("update_preffix2", doc.M_DoctorPrefix2); context.commit("update_doctor_name", doc.M_DoctorName); context.commit("update_suffix", doc.M_DoctorSufix); context.commit("update_suffix2", doc.M_DoctorSufix2); context.commit("update_suffix3", doc.M_DoctorSufix3); context.commit("update_selected_sex", { M_SexID: doc.M_DoctorM_SexID, m_sexname: doc.M_SexName, }); context.commit("update_selected_branch", { M_BranchCode: doc.M_BranchCode, M_BranchName: doc.M_BranchName, }); context.commit("update_selected_religion", { M_ReligionID: doc.M_DoctorM_ReligionID, M_ReligionName: doc.M_ReligionName, }); context.commit("update_phone", doc.M_DoctorPhone); context.commit("update_email", doc.M_DoctorEmail); context.commit("update_hp", doc.M_DoctorHP); context.commit("update_pj", doc.M_DoctorIsPJ); context.commit("update_dpj", doc.M_DoctorIsDefaultPJ); context.commit("update_clinic", doc.M_DoctorIsClinic); context.commit( "update_marketing_confirm", doc.M_DoctorIsMarketingConfirm ); context.commit("update_is_default", doc.M_DoctorIsDefault); } else { context.commit("update_preffix", ""); context.commit("update_preffix2", ""); context.commit("update_doctor_name", ""); context.commit("update_suffix", ""); context.commit("update_suffix2", ""); context.commit("update_suffix3", ""); context.commit("update_selected_sex", {}); context.commit("update_selected_branch", {}); context.commit("update_selected_religion", {}); context.commit("update_phone", ""); context.commit("update_email", ""); context.commit("update_hp", ""); context.commit("update_pj", "N"); context.commit("update_dpj", "N"); context.commit("update_clinic", "N"); context.commit("update_marketing_confirm", "N"); context.commit("update_is_default", ""); context.commit("update_addresses", []); //context.dispatch("getaddress",{id:doc.M_DoctorID}) } } } catch (e) { context.commit("update_search_doctor", 3); context.commit("update_search_error_message", e.message); console.log(e); } }, async searchconfirm(context, prm) { context.commit("update_search_doctor", 1); try { prm.token = one_token(); let resp = await api.searchconfirm(prm); if (resp.status != "OK") { context.commit("update_search_doctor", 3); context.commit("update_search_error_message", resp.message); } else { context.commit("update_search_doctor", 2); context.commit("update_search_error_message", ""); let data = { records: resp.data.records, total: resp.data.total, }; context.commit("update_doctorsconfirm", data.records); console.log(data.total); context.commit("update_total_doctorconfirm", data.total); context.commit("update_no_save", 0); //context.commit("update_selected_doctor",{}) if (data.records.length > 0) { var doc = {}; if (prm.lastid === -1) { console.log("minsatu"); context.commit("update_selected_doctor", data.records[0]); doc = data.records[0]; } else { context.commit( "update_selected_doctor", data.records[prm.lastid] ); doc = data.records[prm.lastid]; } context.commit("update_preffix", doc.M_DoctorPrefix); context.commit("update_preffix2", doc.M_DoctorPrefix2); context.commit("update_doctor_name", doc.M_DoctorName); context.commit("update_suffix", doc.M_DoctorSufix); context.commit("update_suffix2", doc.M_DoctorSufix2); context.commit("update_suffix3", doc.M_DoctorSufix3); context.commit("update_selected_sex", { M_SexID: doc.M_DoctorM_SexID, m_sexname: doc.M_SexName, }); context.commit("update_selected_branch", { M_BranchCode: doc.M_BranchCode, M_BranchName: doc.M_BranchName, }); context.commit("update_selected_religion", { M_ReligionID: doc.M_DoctorM_ReligionID, M_ReligionName: doc.M_ReligionName, }); context.commit("update_phone", doc.M_DoctorPhone); context.commit("update_email", doc.M_DoctorEmail); context.commit("update_hp", doc.M_DoctorHP); context.commit("update_pj", doc.M_DoctorIsPJ); context.commit("update_dpj", doc.M_DoctorIsDefaultPJ); context.commit("update_clinic", doc.M_DoctorIsClinic); context.commit( "update_marketing_confirm", doc.M_DoctorIsMarketingConfirm ); context.commit("update_is_default", doc.M_DoctorIsDefault); } else { context.commit("update_preffix", ""); context.commit("update_preffix2", ""); context.commit("update_doctor_name", ""); context.commit("update_suffix", ""); context.commit("update_suffix2", ""); context.commit("update_suffix3", ""); context.commit("update_selected_sex", {}); context.commit("update_selected_branch", {}); context.commit("update_selected_religion", {}); context.commit("update_phone", ""); context.commit("update_email", ""); context.commit("update_hp", ""); context.commit("update_pj", "N"); context.commit("update_dpj", "N"); context.commit("update_clinic", "N"); context.commit("update_marketing_confirm", "N"); context.commit("update_is_default", ""); context.commit("update_addresses", []); //context.dispatch("getaddress",{id:doc.M_DoctorID}) } } } catch (e) { context.commit("update_search_doctor", 3); context.commit("update_search_error_message", e.message); console.log(e); } }, async getsexreg(context, prm) { 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_branchs", data.records.branchs); context.commit( "update_selected_filter_branch", data.records.branchs[0] ); context.commit("update_jpas", data.records.jpas); prm.branch = data.records.branchs[0].M_BranchCode; context.dispatch("search", prm); } } catch (e) { context.commit("update_get_data_status", 3); } }, async getnewcode(context, prm) { context.commit("update_get_data_status", 1); try { let resp = await api.getnewcode(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, newcode: resp.data.newcode, }; context.commit("update_newcode", data.newcode); } } 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_DoctorID); context.commit("update_dialog_success", true); var msg = "Telegram " + prm.thp + " atas nama " + prm.tname + " cabang " + prm.tbranch + " sudah diverifikasi "; context.commit("update_msg_success", msg); context.commit("update_dialog_form_doctor", false); context.commit("update_in_saving", false); context.dispatch("search", prm); } } catch (e) { context.commit("update_save_status", 3); } }, async newdoctor(context, prm) { context.commit("update_save_status", 1); try { prm.token = one_token(); let resp = await api.newdoctor(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 dokter " + prm.M_DoctorName + " 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 dokter " + prm.M_DoctorName + " sudah dihapus dong ..."; context.commit("update_msg_success", msg); context.commit("update_preffix", ""); context.commit("update_preffix2", ""); context.commit("update_doctor_name", ""); context.commit("update_suffix", ""); context.commit("update_suffix2", ""); context.commit("update_suffix3", ""); context.commit("update_selected_sex", {}); context.commit("update_selected_religion", {}); context.commit("update_selected_branch", {}); context.commit("update_phone", ""); context.commit("update_email", ""); context.commit("update_hp", ""); context.commit("update_note", ""); context.commit("update_pj", "N"); context.commit("update_dpj", "N"); context.commit("update_clinic", "N"); context.commit("update_marketing_confirm", "N"); context.commit("update_is_default", "N"); } } 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 getjpa(context) { context.commit("update_get_data_status", 1); try { let resp = await api.getjpa(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_jpas", 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_DoctorAddressM_DoctorID); context.commit("update_dialog_success", true); var msg = "Penambahan data alamat dokter " + prm.M_DoctorName + " 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_DoctorAddressM_DoctorID); context.commit("update_dialog_success", true); var msg = "Perubahan data alamat dokter " + prm.M_DoctorName + " 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_DoctorAddressM_DoctorID); context.commit("update_dialog_success", true); var msg = "Penghapusan data alamat " + prm.M_DoctorAddressNote + " dari dokter " + prm.M_DoctorName + " sudah berhasil dong ..."; context.commit("update_msg_success", msg); } } catch (e) { context.commit("update_save_status", 3); } }, async confirmHallosis(context, prm) { try { prm.token = one_token(); let resp = await api.confirmHallosis(prm); return resp; } catch (e) { return { status: "ERR", message: e.message }; } }, async confirmHallosisDetail(context, prm) { try { prm.token = one_token(); let resp = await api.confirmHallosisDetail(prm); return resp; } catch (e) { return { status: "ERR", message: e.message }; } }, }, };