// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/process_patient.js" window.api = api export default { namespaced: true, state: { nolab:'', search: '', search_status:0, search_error_message:'', search_dialog_is_active: false, patients: [], sent_patients: [], total_patient: 0, sent_total_patient: 0, selected_patient: { }, selected_sent: {}, ids : [] }, mutations: { update_search_dialog_is_active(state,status) { state.search_dialog_is_active = status }, update_search_error_message(state,status) { state.search_error_message = status }, update_noreg(state,val) { state.noreg=val }, update_search(state,val) { state.search=val }, update_search_status(state,status) { state.search_status = status }, update_patients(state, data) { state.patients= data.records state.total_patient = data.total }, update_selected_patient(state,val) { state.selected_patient=val }, update_nolab(state, val) { state.nolab = val }, update_sent_patients(state, data) { state.sent_patients= data.records state.sent_total_patient = data.total }, update_ids(state, ids) { state.ids = ids }, update_selected_sent(state, item) { state.selected_sent = item } }, actions: { async search(context) { context.commit("update_search_status", 1) try { let resp= await api.search(context.state.nolab, context.state.search) if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message",resp.message) } else { context.commit("update_search_status",2) context.commit("update_search_error_message","") let data = { records : resp.data.records, total: resp.data.total } context.commit("update_patients", data) context.dispatch('search_sent') } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async search_sent(context) { context.commit("update_search_status", 1) try { let resp= await api.search_sent() if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_status",2) context.commit("update_search_error_message","") let data = { records : resp.data.records, total: resp.data.total } context.commit("update_sent_patients", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async send(context) { context.commit("update_search_status", 1) try { let resp= await api.send(context.state.ids.join(',')) if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message",resp.message) } else { context.commit("update_search_status",2) context.commit("update_search_error_message","") context.dispatch('process_patient/search', null, {root:true}) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async remove(context) { context.commit("update_search_status", 1) try { let resp = await api.remove(context.state.selected_sent.id) if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message",resp.message) } else { context.commit("update_search_status",2) context.commit("update_search_error_message","") context.dispatch('process_patient/search', null, {root:true}) } } catch(e) { console.log(e.message) context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } } } }