// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/sample.js" export default { namespaced: true, state: { last_id:-1, spilih:'N', smultiruleid:0, last_saved_id:-1, x_addr_id:0, act:'new', act_addr:'new', get_data_status:0, search_trx: 0, search_status: 0, search_error_message: '', start_date:moment(new Date()).format('YYYY-MM-DD'), end_date:moment(new Date()).format('YYYY-MM-DD'), total_transaction: 0, transactions:[], details:[], selected_detail:{}, stations:[{id:"NEW",name:"BARU"},{id:"VAL1",name:"VALIDASI 1"},{id:"VAL1",name:"VALIDASI 2"}], selected_station:{id:"NEW",name:"BARU"}, selected_transaction: {}, save_status: 0, search:'', btn_save_seen: true, pgrs_save: false, save_error_message: '', no_save: 0, open_alert_confirmation:false, alert_success: false, msg_success: "", dialog_success: false, dialog_confirmation_delete: false, msg_confirmation_delete: "", autocomplete_status:0, dialog_form_address: false, errors:[], open_dialog_info:false, msg_info:'', dialog_action:false, msg_action:'', current_status:null, uploaded_files:[], uploaded_error:null, photos:[], selected_photo:{}, dialog_image:false, image:'', doctors:[], selected_doctor:{}, doctor_address:[], selected_doctor_address:{}, trx_date:moment(new Date()).format('YYYY-MM-DD'), couriers:[], selected_courier:{}, trx_note:'', item_groups:[{fulltitle:''}], selected_item_group:{fulltitle:''}, item_subgroups:[{fulltitle:''}], selected_item_subgroup:{fulltitle:''}, selected_itemgroupname:'', selected_itemsubgroupname:'', langs:[], dialog_normal_value:false, filter_methodes:[{id:'1',name:'Default'},{id:'2',name:'Other'}], selected_filter_methode:{id:'1',name:'Default'}, normal_values:[], total_normal_values:0, criterias:[], selected_criteria:{}, lookup_detail: 0, multirulename: '', valuexs:[], valuex:{}, dialog_form_multirule: false, dialog_form_multiruledetail: false, get_data_status:0, get_data_error_message:'', tests: [], test: {} }, mutations: { update_x_addr_id(state, val) { state.x_addr_id = val }, update_last_id(state, val) { state.last_id = val }, update_spilih(state, val) { state.spilih = val }, update_smultiruleid(state, val) { state.smultiruleid = val }, update_last_saved_id(state, val) { state.last_saved_id = val }, update_act(state, val) { state.act = val }, update_start_date(state, val) { state.start_date = val }, update_end_date(state, val) { state.end_date = val }, update_search(state, val) { state.search = val }, update_stations(state, val) { state.stations = val }, update_selected_station(state, val) { state.selected_station = val }, update_act_addr(state, val) { state.act_addr = val }, update_get_data_status(state, val) { state.get_data_status = val }, update_search_error_message(state, patient) { state.search_error_message = patient }, update_search_transaction(state, val) { state.search_transaction = val }, update_transactions(state, data) { state.transactions = data }, update_selected_transaction(state, val) { state.selected_transaction = val }, update_details(state, data) { state.details = data }, update_selected_detail(state, val) { state.selected_detail = val }, update_save_status(state, val) { state.save_status = val }, update_btn_save_seen(state, val) { state.btn_save_seen = val }, update_pgrs_save(state, val) { state.pgrs_save = val }, update_save_error_message(state, msg) { state.save_error_message = '' }, update_no_save(state, val) { state.no_save = val }, update_open_alert_confirmation(state, val) { state.open_alert_confirmation = val }, update_alert_success(state, val) { state.alert_success = val }, update_msg_success(state, val) { state.msg_success = val }, update_dialog_success(state, val) { state.dialog_success = val }, update_dialog_confirmation_delete(state, val) { state.dialog_confirmation_delete = val }, update_msg_confirmation_delete(state, val) { state.msg_confirmation_delete = val }, update_search_status(state, val) { state.search_status = val }, update_errors(state, val) { state.errors = val }, update_total_transactions(state, val) { state.total_transactions = val }, update_open_dialog_info(state, val) { state.open_dialog_info = val }, update_msg_info(state, val) { state.msg_info = val }, update_dialog_action(state, val) { state.dialog_action = val }, update_msg_action(state, val) { state.msg_action = val }, update_current_status(state, val) { state.current_status = val }, update_uploaded_files(state, val) { state.uploaded_files = val }, update_uploaded_error(state, val) { state.uploaded_error = val }, update_photos(state, val) { state.photos = val }, update_selected_photo(state, val) { state.selected_photo = val }, update_dialog_image(state, val) { state.dialog_image = val }, update_image(state, val) { state.image = val }, update_doctors(state, val) { state.doctors = val }, update_selected_doctor(state, val) { state.selected_doctor = val }, update_doctor_address(state, val) { state.doctor_address = val }, update_selected_doctor_address(state, val) { state.selected_doctor_address = val }, update_trx_date(state, val) { state.trx_date = val }, update_couriers(state, val) { state.couriers = val }, update_selected_courier(state, val) { state.selected_courier = val }, update_trx_note(state, val) { state.trx_note = val }, update_item_groups(state, val) { state.item_groups = val }, update_select_item_group(state, val) { state.select_item_group = val }, update_item_subgroups(state, val) { state.item_subgroups = val }, update_select_item_subgroup(state, val) { state.select_item_subgroup = val }, update_selected_itemgroupname(state, val) { state.selected_itemgroupname = val }, update_selected_itemsubgroupname(state, val) { state.selected_itemsubgroupname = val }, update_item_langs(state, val) { state.langs = val }, update_dialog_normal_value(state, val) { state.dialog_normal_value = val }, update_filter_methodes(state, val) { state.filter_methodes = val }, update_selected_filter_methode(state, val) { state.selected_filter_methode = val }, update_normal_values(state, val) { state.normal_values = val }, update_total_normal_values(state, val) { state.total_normal_values = val }, update_criterias(state, data) { state.criterias = data }, update_selected_criteria(state, val) { state.selected_criteria = val }, update_lookup_detail(state, val) { state.lookup_detail = val }, update_multirulename(state, val) { state.multirulename = val }, update_valuexs(state,data){ state.valuexs = data }, update_valuex(state,val){ state.valuex = val }, update_dialog_form_multirule(state, data) { state.dialog_form_multirule = data }, update_dialog_form_multiruledetail(state, data) { state.dialog_form_multiruledetail = data }, update_get_data_status(state,val){ state.get_data_status = val }, update_get_data_error_message(state,val){ state.get_data_error_message = val }, update_tests(state, val) { state.tests = val }, update_test(state, val) { state.test = val }, update_autocomplete_status(state, val) { state.autocomplete_status = val }, }, actions: { async search(context, prm) { context.commit("update_search_transaction", 1) try { prm.token = one_token() let resp = await api.search(prm) if (resp.status != "OK") { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_transaction", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } if (prm.lastid === -1) { context.commit("update_transactions", data.records) context.commit("update_selected_transaction", data.records[0]) context.commit("update_details", data.records[0].details) context.commit("update_criterias", data.records[0].criterias) context.dispatch("lookup", { id: context.state.smultiruleid }) } else{ context.commit("update_transactions", data.records) context.commit("update_selected_transaction", data.records[prm.lastid]) context.commit("update_details", data.records[prm.lastid].details) context.commit("update_criterias", data.records[prm.lastid].criterias) context.dispatch("lookup", { id: context.state.smultiruleid }) } } } catch (e) { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async searchedit(context, prm) { context.commit("update_search_transaction", 1) try { prm.token = one_token() let resp = await api.search(prm) if (resp.status != "OK") { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_transaction", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } context.commit("update_transactions", data.records) context.commit("update_selected_transaction", data.records[prm.lastid]) context.commit("update_details", data.records[prm.lastid].details) context.commit("update_criterias", data.records[prm.lastid].criterias) context.dispatch("lookup", { id: prm.multiruleid }) } } catch (e) { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async getdoctorcouriers(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getdoctorcouriers(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_doctors",data.records['doctors']) context.commit("update_couriers",data.records['couriers']) context.dispatch("search",prm) } } catch(e) { context.commit("update_get_data_status",3) } }, async getgroups(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getgroups(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } var groups = data.records['groups'] var langs = data.records['langs'] context.commit("update_item_langs",langs) context.commit("update_item_groups",groups) context.commit("update_select_item_group",groups[0]) context.commit("update_selected_itemgroupname",groups[0].fulltitle) context.commit("update_item_subgroups",groups[0].childrens) context.commit("update_select_item_subgroup",groups[0].childrens[0]) context.commit("update_selected_itemsubgroupname",groups[0].childrens[0].fulltitle) prm.groupid = groups[0].id prm.subgroupid = groups[0].childrens[0].id context.dispatch("search",prm) } } catch(e) { context.commit("update_get_data_status",3) } }, async upload(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.upload(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total, error:resp.data.errors.error } context.commit("update_uploaded_files",data.records) var msg = "Photo telah berhasil diupload" if(data.error){ msg = data.error context.commit("update_current_status",'STATUS_FAILED') } else{ context.commit("update_current_status",'STATUS_SUCCESS') } context.commit("update_msg_info",msg) context.commit("update_open_dialog_info",true) } } catch(e) { context.commit("update_get_data_status",3) } }, async doaction(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.doaction(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_dialog_action",false) context.dispatch("search",prm) } } catch(e) { context.commit("update_save_status",3) } }, async deletephoto(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.deletephoto(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_act",'-') context.commit("update_dialog_confirmation_delete",false) context.commit("update_selected_photo",{}) context.dispatch("search",prm) } } catch(e) { context.commit("update_save_status",3) } }, async getdoctoraddress(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getdoctoraddress(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_doctor_address",data.records) context.commit("update_selected_doctor_address",{}) } } catch(e) { context.commit("update_save_status",3) } }, async getordersamples(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getordersamples(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_details",data.records) context.commit("update_selected_detail",{}) } } catch(e) { context.commit("update_get_data_status",3) } }, async save(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.save(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_selected_transaction",{}) context.commit("update_details",[]) context.commit("update_selected_detail",{}) context.commit("update_selected_doctor",{}) context.commit("update_selected_doctor_address",{}) context.commit("update_selected_courier",{}) context.commit("update_trx_date",moment(new Date()).format('YYYY-MM-DD')) context.commit("update_trx_note",'') context.commit("update_act",'new') context.commit("update_dialog_success", true) context.commit("update_last_id", resp.data.id) var msg = "Transaksi penyimpanan " + resp.data.numbering + " berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async deletetrx(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.deletetrx(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_selected_transaction",{}) context.commit("update_details",[]) context.commit("update_selected_detail",{}) context.commit("update_selected_doctor",{}) context.commit("update_selected_doctor_address",{}) context.commit("update_selected_courier",{}) context.commit("update_trx_date",moment(new Date()).format('YYYY-MM-DD')) context.commit("update_trx_note",'') context.commit("update_act",'new') context.commit("update_dialog_confirmation_delete",false) context.commit("update_dialog_success", true) var msg = "Transaksi hapus " + prm.trx_numbering + " berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async getnormalvalue(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getnormalvalue(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_normal_values",data.records) context.commit("update_total_normal_values",data.total) } } catch(e) { context.commit("update_get_data_status",3) } }, async lookup(context, prm) { context.commit("update_lookup_detail", 1) try { let resp = await api.lookup(one_token(),prm.id) if (resp.status != "OK") { context.commit("update_lookup_detail", 3) } else { context.commit("update_lookup_detail", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_criterias", data.records) } } catch (e) { context.commit("update_lookup_detail", 3) } }, async selectvaluex(context) { context.commit("update_get_data_status", 1) try { let resp = await api.selectvaluex(one_token()) if (resp.status != "OK") { context.commit("update_get_data_status", 3) context.commit("update_get_data_error_message", resp.message) } else { context.commit("update_get_data_status", 2) context.commit("update_get_data_error_message", "") context.commit("update_valuexs", resp.data.records.valuexs) } } catch (e) { context.commit("update_get_data_status", 3) context.commit("update_get_data_error_message", e.message) console.log(e) } }, async savemultirule(context, prm) { context.commit("update_save_status", 1) try { let resp = await api.savemultirule(one_token(),prm.testid,prm.multirulename, prm.valueid) if (resp.status != "OK") { context.commit("update_save_status", 3) context.commit("update_save_error_message", resp.message) } else { context.commit("update_save_status", 2) context.commit("update_save_error_message", resp.message) context.commit("update_last_id", prm.testid) context.commit("update_dialog_success", true) var msg = "Data sudah tersimpan" context.commit("update_msg_success", msg) context.commit("update_dialog_form_multirule", false) } } catch (e) { context.commit("update_save_status", 3) context.commit("update_save_error_message", e.message) console.log(e) } }, async savemultiruledetail(context, prm) { context.commit("update_save_status", 1) try { let resp = await api.savemultiruledetail(one_token(),prm.testid,prm.multiruleid, prm.valueid, prm.mastertest) if (resp.status != "OK") { context.commit("update_save_status", 3) context.commit("update_save_error_message", resp.message) } else { context.commit("update_save_status", 2) context.commit("update_save_error_message", resp.message) context.commit("update_last_id", prm.mastertest) context.commit("update_spilih", 'Y') context.commit("update_smultiruleid", prm.multiruleid) context.commit("update_dialog_success", true) var msg = "Data sudah tersimpan" context.commit("update_msg_success", msg) context.commit("update_dialog_form_multiruledetail", false) } } catch (e) { context.commit("update_save_status", 3) context.commit("update_save_error_message", e.message) console.log(e) } }, async searchtest(context, prm) { context.commit("update_autocomplete_status", 1) try { let resp = await api.searchtest(one_token(), prm) if (resp.status != "OK") { context.commit("update_autocomplete_status", 3) } else { context.commit("update_autocomplete_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_tests", resp.data.records) } } catch (e) { context.commit("update_autocomplete_status", 3) } } } }