// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/samplestorage.js" export default { namespaced: true, state: { save_status: 0, transaction_number:'', transaction_date:moment(new Date()).format('DD-MM-YYYY'), transaction_time:moment(new Date()).format("hh:mm"), transaction_note:'', details:[], samples:[], selected_detail:{}, almaries:[], racks:[], selected_almari:{}, selected_rack:{}, get_data_status:0, open_almari:false, open_rack:false, rack_contents:[], dialog_search_sample:false, lookup_sample_status:0 }, mutations: { update_save_status(state, val) { state.save_status = val }, update_transaction_number(state, val) { state.transaction_number = val }, update_transaction_date(state, val) { state.transaction_date = val }, update_transaction_time(state, val) { state.transaction_time = val }, update_transaction_note(state, val) { state.transaction_note = val }, update_details(state, val) { state.details = val }, update_samples(state, val) { state.samples = val }, update_selected_detail(state, val) { state.selected_detail = val console.log(val) }, update_almaries(state, val) { state.almaries = val }, update_racks(state, val) { state.racks = val }, update_selected_almari(state, val) { state.selected_almari = val }, update_selected_rack(state, val) { state.selected_rack = val }, update_get_data_status(state, val) { state.get_data_status = val }, update_open_almari(state, val) { state.open_almari = val }, update_open_rack(state, val) { state.open_rack = val }, update_rack_contents(state, val) { state.rack_contents = val }, update_dialog_search_sample(state, val) { state.dialog_search_sample = val }, update_lookup_sample_status(state, val) { state.lookup_sample_status = val }, }, actions: { async getalmaries(context) { context.commit("update_get_data_status",1) try { let resp= await api.getalmaries(one_token()) 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_almaries",data.records) } } catch(e) { context.commit("update_get_data_status",3) } }, async getrackcontent(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getrackcontent(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_rack_contents",data.records) } } 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_transaction_date",moment(new Date()).format('DD-MM-YYYY')) context.commit("update_transaction_time",moment(new Date()).format("hh:mm")) context.commit("update_transaction_note","") context.commit("update_selected_almari",{}) context.commit("update_racks",[]) context.commit("update_selected_rack",{}) context.commit("update_open_almari",false) context.commit("update_open_rack",false) context.commit("update_rack_contents",[]) context.commit("update_details",[]) context.commit("samplestorage/update_dialog_success", true,{root:true}) context.commit("samplestorage/update_last_id", resp.data.id,{root:true}) var msg = "Transaksi penyimpanan " + resp.data.numbering + " berhasil dong ..." context.commit("samplestorage/update_msg_success", msg,{root:true}) } } catch(e) { context.commit("update_save_status",3) } }, async checkbarcode(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.checkbarcode(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 } if(data.records){ var arr = prm.details let idx = _.findIndex(arr, { barcode : prm.barcode}) if(idx === -1 ){ var detail = { xid:0, barcode:prm.barcode, almari:{}, rack:{}, rackid:0, row:0, col:0, ordersampleid:data.records.T_OrderSampleID, patientname:data.records.patientname } arr.push(detail) context.commit("update_details",arr) let idx = _.findIndex(arr, function(o) { return o.barcode == detail.barcode }) context.commit("update_selected_detail",arr[idx]) }else{ var msg = "Sudah ada di list dong" context.commit("samplestorage/update_msg_info",msg,{root:true}) context.commit("samplestorage/update_open_dialog_info",true,{root:true}) } } else{ var msg = "Barcode "+prm.barcode+" tidak valid dong" context.commit("samplestorage/update_msg_info",msg,{root:true}) context.commit("samplestorage/update_open_dialog_info",true,{root:true}) } } } catch(e) { context.commit("update_get_data_status",3) } }, async lookupsamples(context, prm) { context.commit("update_lookup_sample_status", 1) try { prm.token = one_token() let resp = await api.lookupsamples(prm) if (resp.status != "OK") { context.commit("update_lookup_sample_status", 3) } else { context.commit("update_lookup_sample_status", 2) let data = { records: resp.data.records, total: resp.data.total } context.commit("update_samples", data.records) context.commit("update_dialog_search_sample",true) } } catch (e) { context.commit("update_lookup_sample_status", 3) console.log(e) } } } }