// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/testref.js" export default { namespaced: true, state: { search_status: 0, search_error_message: '', // cOMPANY companies: [], selected_company: {}, query_company: '', // BRANCH branches: [], selected_branch: {}, // SAMPLE TYPE sample_types: [], selected_sample_type: {}, // DATA is_internal: "N", dialog_new: false, edit: false }, mutations: { update_search_error_message(state, patient) { state.search_error_message = patient }, update_search_status(state, v) { state.search_status = v }, update_companies(state, d) { state.companies = d.records }, update_selected_company(state, d) { state.selected_company = d }, update_query_company(state, v) { state.query_company = v }, update_branches(state, d) { state.branches = d.records }, update_selected_branch(state, d) { state.selected_branch = d }, update_dialog_new(state, d) { state.dialog_new = d }, update_is_internal(state, d) { state.is_internal = d }, update_edit(state, d) { state.edit = d }, update_sample_types(state, d) { state.sample_types = d.records }, update_selected_sample_type(state, d) { state.selected_sample_type = d } }, actions: { async search_company(context) { try { let resp = await api.search_company_all(context.state.query_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 } context.commit("update_companies", data) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async search_branch(context) { try { let resp = await api.search_branch_all() 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 } context.commit("update_branches", data) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async save(context) { try { let data = { is_internal:context.state.is_internal, nattest_id:context.rootState.testref.selected_px.Nat_TestID, sampletype_id:context.state.selected_sample_type.T_SampleTypeID } if (data.is_internal == 'Y') data.branch_id = context.state.selected_branch.M_BranchID else data.company_id = context.state.selected_company.M_CompanyID // IF EDIT if (context.state.edit) { data.testref_id = context.rootState.testref.selected_px.T_TestRefID } let resp = await api.save(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.commit("update_dialog_new", false) context.dispatch('testref/search', null, {root:true}) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async search_sampletype(context) { try { let resp = await api.search_sampletype() 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 } context.commit("update_sample_types", data) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } } } }