// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/template.js" window.api = api export default { namespaced: true, state: { is_edit: false, template_id:0, template_detail_id:0, search: '', search_px: '', search_status:0, search_error_message:'', templates: [], selected_template: {}, total_template: 0, dialog_new: false, template_new: {desc:'', is_test:'N'}, pos: [{code:"FC", label:"Anak Pertama Dari"}, {code:"LC", label:"Anak Terakhir Dari"}, {code:"AF", label:"Setelah"}, {code:"BF", label:"Sebelum"}], selected_pos: {}, av_descs: [], selected_av_desc: {}, pxs: [], selected_px: {}, total_px: 0 }, mutations: { update_is_edit(state, val) { state.is_edit = val }, update_search_error_message(state,status) { state.search_error_message = status }, update_search(state,val) { state.search=val }, update_search_px(state,val) { state.search_px=val }, update_search_status(state,status) { state.search_status = status }, update_templates(state, data) { state.templates= data.records state.total_template = data.total }, update_selected_template(state, val) { state.selected_template = val }, update_template_id(state, val) { state.template_id = val }, update_template_detail_id(state, val) { state.template_detail_id = val }, update_dialog_new(state, val) { state.dialog_new = val }, update_template_new(state, val) { state.template_new = val }, update_pxs(state, data) { state.pxs = data.records state.total_px = data.total }, update_selected_px(state, val) { state.selected_px = val }, update_selected_pos(state, val) { state.selected_pos = val }, update_selected_av_desc(state, val) { state.selected_av_desc = val } }, actions: { async search(context) { context.commit("update_search_status", 1) try { let resp= await api.search_detail(context.state.template_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","") let data = { records : resp.data.records, total: resp.data.total } context.commit("update_templates", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async search_px(context) { context.commit("update_search_status", 1) try { let resp= await api.search_px(context.state.search_px) 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_pxs", data) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async save(context) { context.commit("update_search_status", 1) try { let resp= await api.save_detail(one_token(), context.state.template_id, context.state.template_new.desc, context.state.template_new.is_test, context.state.selected_px.T_TestID, context.state.selected_pos.code, context.state.selected_av_desc.Mcu_ReportTemplateDetailID) 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_new", false) } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } } } }