// 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:[], selected_detail:{}, almaries:[], racks:[], selected_almari:{}, selected_rack:{}, get_data_status:0, open_almari:false, open_rack:false, rack_contents:[], errors:[] }, 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_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_errors(state, val) { state.errors = 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) console.log("dhjahda") console.log(data.records) context.commit("samplestorage/update_placed_almaries",data.records,{root:true}) } } catch(e) { context.commit("update_get_data_status",3) } }, 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) console.log("dhjahda") console.log(data.records) context.commit("samplestorage/update_placed_almaries",data.records,{root:true}) } } catch(e) { context.commit("update_get_data_status",3) } }, async getracks(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getracks(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_racks",data.records) } } catch(e) { context.commit("update_get_data_status",3) } }, async getrackbyalmari(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getracks(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("samplestorage/update_placed_rack",data.records,{root:true}) context.commit("samplestorage/update_selected_placed_rack",{},{root:true}) } } 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) } }, } }