Files
2026-04-27 10:13:31 +07:00

242 lines
9.6 KiB
JavaScript

// 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 <span style='font-weight:900'>"+prm.barcode+"</span> 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)
}
},
}
}