// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/ro_master.js" window.api = api export default { namespaced: true, state: { search: '', search_company_id: 0, search_status:0, search_error_message:'', search_dialog_is_active: false, pxs: [], total_px: 0, total_px_page: 0, curr_px_page: 1, selected_px: { }, companies: [], total_company: 0, selected_company: {}, search_company: "", tests: [], total_test: 0, selected_test: {}, search_test: "", regionals: [], total_regional: 0, selected_regional: {}, branches: [], total_branch: 0, selected_branch: {}, dialog_main: false, add_is_internal: "N" }, mutations: { update_search_error_message(state,status) { state.search_error_message = status }, update_search(state,val) { state.search=val }, update_search_status(state,status) { state.search_status = status }, update_pxs(state, data) { state.pxs= data.records state.total_px = data.total state.total_px_page = data.total_page }, update_curr_px_page(state, data) { state.curr_px_page = data }, update_selected_px(state,val) { state.selected_px=val }, update_search_company_id(state, id) { state.search_company_id = id }, update_dialog_main(state, v) { state.dialog_main = v }, update_companies(state, data) { state.companies = data.records state.total_company = data.total }, update_selected_company(state, val) { state.selected_company = val }, update_search_company(state, val) { state.search_company = val }, update_tests(state, data) { state.tests = data.records state.total_test = data.total }, update_selected_test(state, val) { state.selected_test =val }, update_search_test(state, val) { state.search_test = val }, update_regionals(state, data) { state.regionals = data.records state.total_regional = data.total }, update_selected_regional(state, val) { state.selected_regional = val state.branches = val.branches state.selected_branch = {} }, update_branches(state, data) { state.branches = data.records state.total_branch = data.total }, update_selected_branch(state, val) { state.selected_branch =val }, update_add_is_internal(state, val) { state.add_is_internal = val } }, actions: { async search(context) { context.commit("update_search_status", 1) try { let resp= await api.search(one_token(), context.state.sdate, 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_pxs", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async search_company(context, prm) { context.commit("update_search_status",1) try { let resp= await api.search_company(context.state.search_company) 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_companies", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async search_test(context) { context.commit("update_search_status",1) try { let ids = [] for (let i in context.state.pxs) ids.push(context.state.pxs[i].T_TestID) let resp = await api.search_px(context.state.search_test, JSON.stringify(ids)) 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_tests", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) console.log(e) } }, async save(context) { context.commit("update_search_status",1) try { let data = [] for (let i in context.state.pxs) { data.push({ t_id:context.state.pxs[i].T_TestID, c_id:context.state.pxs[i].M_CompanyID, id:context.state.pxs[i].T_OrderRefMasterID, b_id:context.state.pxs[i].M_BranchID, g_id:context.state.pxs[i].S_RegionalID, is_int:context.state.pxs[i].is_internal }) } let resp= await api.save(JSON.stringify(data)) 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("search") context.commit('update_dialog_main', false) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) console.log(e) } }, async search_regional(context) { context.commit("update_search_status",1) try { let resp = await api.search_regional() 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_regionals", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } } } }