// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/samplecall.js" export default { namespaced: true, state: { last_id:-1, last_saved_id:-1, x_addr_id:0, btn_hide:false, act:'edit', act_addr:'new', get_data_status:0, search_patient: 0, search_status: 0, search_error_message: '', preffix:'', patient_name:'', suffix:'', patients: [], selected_patient: {}, save_status: 0, btn_save_seen: true, pgrs_save: false, save_error_message: '', no_save: 0, new_jpa:'', msg_snackbar:'', alert_success:false }, mutations: { update_alert_success(state,val){ state.alert_success = val }, update_msg_snackbar(state, val){ state.msg_snackbar = val }, update_new_jpa(state, val) { state.new_jpa = 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_patients(state, data) { state.patients = data }, update_selected_patient(state, val) { state.selected_patient = 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 }, }, actions: { async search(context, prm) { context.commit("update_search_patient", 1) try { prm.token = one_token() let resp = await api.search(prm) 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_no_save", 0) if(prm.lastid === -1){ var pat = data.records[0] if(data.records.length === 0){ context.commit("update_selected_patient", {}) context.dispatch("samplesend/update_patients", [],{root:true}) }else{ console.log('aye') context.commit("update_selected_patient", data.records[0]) context.dispatch("samplesend/search", data.records[0],{root:true}) } } else{ context.commit("update_selected_patient", data.records[prm.lastid]) context.dispatch("samplesend/search", data.records[prm.lastid],{root:true}) } } } catch (e) { context.commit("update_search_patient", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, 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_new_jpa",'') var msg = '' if(prm.id === 0) msg = "JPA "+prm.value+" berhasil ditambahkan" else{ if(prm.status === 'N') msg = "JPA "+prm.value+" berhasil dihapus" else msg = "JPA diubah menjadi "+prm.Nat_JpaName } context.commit("samplesend/update_msg_snackbar",msg,{root:true}) context.commit("samplesend/update_alert_success",true,{root:true}) setInterval(function(){ context.commit("update_alert_success",false) }, 5000) context.dispatch("search",{lastid:-1}) } } catch(e) { context.commit("update_save_status",3) } }, } }