// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/ro_patient.js" window.api = api export default { namespaced: true, state: { order_id:0, search: '', nolab: '', sdate: null, edate: null, search_status:0, search_error_message:'', search_dialog_is_active: false, patients: [], total_patient: 0, total_patient_page: 0, curr_patient_page: 1, selected_patient: { }, selected_patients: [], checked: [], // PX total_px: 0, pxs: [], // Print print_dialog: false, rpt_url: '' }, 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_search(state,val) { state.search=val }, update_nolab(state, val) { state.nolab = val }, update_search_status(state,status) { state.search_status = status }, update_patients(state, data) { state.patients= data.records state.total_patient = data.total state.total_patient_page = data.total_page let x = [] for (let i in data.records) x.push("N") state.checked = x }, update_curr_patient_page(state, data) { state.curr_patient_page = data }, update_selected_patient(state,val) { state.selected_patient=val }, update_id(state, id) { state.order_id = id }, update_sdate(state, date) { state.sdate = date }, update_edate(state, date) { state.edate = date }, update_print_dialog(state, v) { state.print_dialog = v }, update_rpt_url(state, v) { state.rpt_url = v }, update_checked(state, v) { let x = state.checked x[v.idx] = v.val // Update selected patients let y = [] for (let i in x) if (x[i] == "Y") y.push(state.patients[i]) state.selected_patients = y state.checked = x } }, actions: { async search(context) { context.commit("update_search_status", 1) try { let resp= await api.search(one_token(), context.state.sdate, context.state.edate, context.state.nolab, context.state.search, context.state.curr_patient_page) 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, total_page: resp.data.total_page } context.commit("update_patients", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } } } }