// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/order.js" export default { namespaced: true, state: { lookup_order:0, lookup_error_message:'', order_dialog:false, alert_dialog:false, confirm_dialog:false, order_message:'', status_done:'N', save_status:0, save_error_message:'', autocomplete_status:0, doctors:[], doctor:{}, doctoraddresses:[], doctoraddress:{}, companies:[], company:{}, mous:[], mou:{}, test_registration:[], test_verification:[], test_out:[], langs:[], selected_lang:{}, selected_lang_2:{}, alias_doctor:'' }, mutations: { update_alias_doctor(state, val) { state.alias_doctor = val }, update_langs(state, val) { state.langs = val }, update_selected_lang(state, val) { state.selected_lang = val }, update_selected_lang_2(state, val) { state.selected_lang_2 = val }, update_lookup_order(state, val) { state.lookup_order = val }, update_lookup_error_message(state, val) { state.lookup_error_message = val }, update_order_dialog(state, val) { state.order_dialog = val }, update_alert_dialog(state, val) { state.alert_dialog = val }, update_confirm_dialog(state, val) { state.confirm_dialog = val }, update_order_message(state, val) { state.order_message = val }, update_status_done(state, val) { state.status_done = val }, update_save_status(state, val) { state.save_status = val }, update_save_error_message(state, val) { state.save_error_message = val }, update_save_message(state, val) { state.save_message = val }, update_autocomplete_status(state,val){ state.autocomplete_status = val }, update_doctors(state,val){ state.doctors = val }, update_doctor(state,val){ state.doctor = val }, update_doctoraddresses(state,val){ state.doctoraddresses = val }, update_doctoraddress(state,val){ state.doctoraddress = val }, update_companies(state,val){ state.companies = val }, update_company(state,val){ state.company = val }, update_mous(state,val){ state.mous = val }, update_mou(state,val){ state.mou = val }, update_test_registration(state,val){ state.test_registration = val }, update_test_verification(state,val){ state.test_verification = val }, update_test_out(state,val){ state.test_out = val } }, actions: { async lookup(context,prm) { context.commit("update_lookup_order",1) try { prm.token = one_token() let resp= await api.lookup(prm) if (resp.status != "OK") { context.commit("update_lookup_order",3) context.commit("update_lookup_error_message",resp.message) } else { context.commit("update_lookup_order",2) context.commit("update_lookup_error_message","") let data = { records : resp.data.records, total: resp.data.total } let rtn = data.records context.commit("update_doctors",rtn.doctors) context.commit("update_doctor",rtn.doctors[0]) context.commit("update_doctoraddresses",rtn.doctoraddresses) context.commit("update_doctoraddress",{id:rtn.M_DoctorAddressID,name:rtn.M_DoctorAddressDescription}) context.commit("update_companies",rtn.companies) context.commit("update_company",rtn.companies[0]) context.commit("update_mous",rtn.mous) var mou_idx = _.findIndex(rtn.mous, function(o) { return parseInt(o.M_MouID) == parseInt(rtn.M_MouID) }) context.commit("update_mou",{id:rtn.M_MouID,name:rtn.mouname}) context.commit("update_langs",rtn.langs) context.commit("update_selected_lang",rtn.selected_lang) } } catch(e) { context.commit("update_lookup_order",3) context.commit("update_lookup_error_message",e.message ) } }, async removealias(context,prm) { context.commit("supervisor/update_save_status", 1,{root:true}) try { prm.token = one_token() let resp= await api.removealias(prm) if (resp.status != "OK") { context.commit("supervisor/update_save_status", 3,{root:true}) } else { context.commit("supervisor/update_save_status", 2,{root:true}) context.dispatch("patient/getdataselected",prm,{root:true}) } } catch(e) { context.commit("supervisor/update_save_status", 3,{root:true}) } }, async searchdoctor(context,prm) { context.commit("update_autocomplete_status",1) try { var xpar = {} xpar.search = prm xpar.token = one_token() let resp= await api.searchdoctor(xpar) 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_doctors",resp.data.records) } } catch(e) { context.commit("update_autocomplete_status",3) } }, async searchcompany(context,prm) { context.commit("update_autocomplete_status",1) try { prm.token = one_token() let resp= await api.searchcompany(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_companies",resp.data.records) } } catch(e) { context.commit("update_autocomplete_status",3) } }, async getdoctoraddress(context,prm) { context.commit("update_lookup_order",1) try { var xprm = {} xprm.token = one_token() xprm.id = prm.id let resp= await api.getdoctoraddress(xprm) if (resp.status != "OK") { context.commit("update_lookup_order",3) } else { context.commit("update_lookup_order",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_doctoraddresses",resp.data.records) context.commit("update_doctoraddress",resp.data.records[0]) } } catch(e) { context.commit("update_lookup_order",3) } }, async getmou(context,prm) { context.commit("update_lookup_order",1) try { prm.token = one_token() let resp= await api.getmou(prm) if (resp.status != "OK") { context.commit("update_lookup_order",3) } else { context.commit("update_lookup_order",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_mous",resp.data.records) context.commit("update_mou",{}) } } catch(e) { context.commit("update_lookup_order",3) } }, async checkprice(context,prm) { context.commit("update_lookup_order",1) try { prm.token = one_token() let resp= await api.checkprice(prm) if (resp.status != "OK") { context.commit("update_lookup_order",3) } else { context.commit("update_lookup_order",2) let data = { records : resp.data.records, total: resp.data.total } let xstatus = data.records.status if(xstatus !== 'OK'){ context.commit("update_test_out",data.records.data) context.commit("update_alert_dialog",true) context.commit("update_mou",{}) } } } catch(e) { context.commit("update_save_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) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_confirm_dialog",false) context.commit("update_order_dialog",false) var snackbar = {value:true,text:"Data berhasil disimpan",timeout:4000} context.commit("patient/update_snackbar", snackbar,{root:true}) } } catch(e) { context.commit("update_save_status",3) } } } }