// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/price.js" export default { namespaced: true, state: { search_status: 0, search_error_message: '', query_company: '', companies: [], selected_company: {}, total_company: 0, default_company: {}, query_mou: '', mous: [], selected_mou: null, total_mou: 0, default_mou: {}, dialog_copy: false, target_disc: 0, jpagroups:[], selected_jpagroup:{}, selected_transaction:{}, open_dialog_info:false, msg_info:'', copyall:'N' }, mutations: { update_copyall(state, value){ state.copyall = value }, update_open_dialog_info(state, value){ state.open_dialog_info = value }, update_msg_info(state, value){ state.msg_info = value }, update_selected_transaction(state, value){ state.selected_transaction = value }, update_jpagroups(state, value) { state.jpagroups = value }, update_selected_jpagroup(state, value) { state.selected_jpagroup = value }, update_search_error_message(state, patient) { state.search_error_message = patient }, // MOU update_query_mou(state, q) { state.query_mou = q }, update_mous(state, d) { state.mous = d.records state.total_mou = d.total }, update_selected_mou(state, d) { state.selected_mou = d }, // COMPANY update_query_company(state, q) { state.query_company = q }, update_companies(state, d) { state.companies = d.records state.total_company = d.total }, update_selected_company(state, d) { state.selected_company = d // update mous if (d) { state.mous = d.mou state.selected_mou = {} state.total_mou = d.mou.length } else { state.mous = [] state.selected_mou = {} state.total_mou = 0 } }, update_search_status(state, val) { state.search_status = val }, update_errors(state, val) { state.errors = val }, update_dialog_copy(state, val) { state.dialog_copy = val }, update_target_disc(state, val) { state.target_disc = val } }, actions: { async search_company(context,prm) { try { prm.token = one_token() prm.query = context.state.query_company let resp = await api.search_company_2(prm) 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_mou(context) { try { let resp = await api.search_mou(one_token(), context.state.selected_company.M_CompanyID, context.state.query_mou) 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_mous", data) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async search_price(context) { try { let resp = await api.search_price(one_token(), context.state.selected_mou.M_MouID, context.rootState.packet.selected_price.T_priceType, context.state.query_price, true) 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_prices", data) // Auto selected after save if (context.state.auto_selected_price_id) { for(let i in data.records) if (data.records[i].T_priceID == context.state.auto_selected_price_id) context.commit('update_selected_price', data.records[i]) } } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async save_copy(context,prm) { try { prm.company_target_id = context.rootState.price.selected_company.M_CompanyID prm.target_id = context.rootState.price.selected_mou.M_MouID prm.source_id = context.state.selected_mou.M_MouID prm.token = one_token() let resp = await api.copy_price(prm) 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('price/search_price', null, {root:true}) context.commit('update_dialog_copy', false) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, async getjpagroups(context) { try { let resp = await api.getjpagroups(one_token()) 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_jpagroups", data.records) context.commit("update_selected_jpagroup", data.records[0]) } } catch (e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message) } }, } }