Files
FE_CPONE/test/vuex/one-sample-storage-destroy/modules/form.js
2026-04-27 10:13:31 +07:00

427 lines
16 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:'',
picname:'',
details:[],
detailnonsamples:[],
samples:[],
nonsamples:[],
selected_detail:{},
selected_detail_nonsample:{},
almaries:[],
racks:[],
staffs:[],
selected_almari:{},
selected_rack:{},
selected_staff:{},
get_data_status:0,
open_almari:false,
open_rack:false,
rack_contents:[],
dialog_search_sample:false,
dialog_search_nonsample:false,
lookup_sample_status:0,
dialog_search_rack:false,
errors:[],
dialog_add_vendor:false,
success_add_vendor:false,
autocomplete_status:0,
porter:'',
success_add_item:false,
sample_weight:0,
sample_racks:[]
},
mutations: {
update_sample_racks(state, val) {
state.sample_racks = val
},
update_dialog_search_rack(state, val) {
state.dialog_search_rack = val
},
update_autocomplete_status(state, val) {
state.autocomplete_status = val
},
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_picname(state, val) {
state.picname = val
},
update_details(state, val) {
state.details = val
},
update_detailnonsamples(state, val) {
state.detailnonsamples = val
},
update_samples(state, val) {
state.samples = val
},
update_nonsamples(state, val) {
state.nonsamples = val
},
update_selected_detail(state, val) {
state.selected_detail = val
console.log(val)
},
update_selected_detail_nonsample(state, val) {
state.selected_detail_nonsample = val
console.log(val)
},
update_almaries(state, val) {
state.almaries = val
},
update_racks(state, val) {
state.racks = val
},
update_staffs(state, val) {
state.staffs = val
},
update_selected_staff(state, val) {
state.selected_staff = 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_dialog_search_nonsample(state, val) {
state.dialog_search_nonsample = val
},
update_lookup_sample_status(state, val) {
state.lookup_sample_status = val
},
update_errors(state, val) {
state.errors = val
},
update_dialog_add_vendor(state, val) {
state.dialog_add_vendor = val
},
update_success_add_vendor(state, val) {
state.success_add_vendor = val
},
update_success_add_item(state, val) {
state.success_add_item = val
},
update_porter(state, val) {
state.porter= val
},
update_sample_weight(state, val) {
state.sample_weight = 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['almaries'])
}
} 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_selected_vendor",{})
context.commit("update_picname","")
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("update_sample_weight",0)
context.commit("update_detailnonsamples",[])
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)
}
},
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)
}
},
async lookupracks(context, prm) {
context.commit("update_lookup_sample_status", 1)
try {
prm.token = one_token()
let resp = await api.lookupracks(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_sample_racks", data.records)
context.commit("update_dialog_search_rack",true)
}
} catch (e) {
context.commit("update_lookup_sample_status", 3)
console.log(e)
}
},
async lookupnonsamples(context, prm) {
context.commit("update_lookup_sample_status", 1)
try {
prm.token = one_token()
let resp = await api.lookupnonsamples(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_nonsamples", data.records)
context.commit("update_dialog_search_nonsample",true)
}
} catch (e) {
context.commit("update_lookup_sample_status", 3)
console.log(e)
}
},
async deletenonsample(context, prm) {
context.commit("update_lookup_sample_status", 1)
try {
prm.token = one_token()
let resp = await api.deletenonsample(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
}
var xnonsamples = context.state.nonsamples
var rest = _.reject(xnonsamples, { id: prm.id })
context.commit("update_nonsamples",rest)
}
} catch (e) {
context.commit("update_lookup_sample_status", 3)
console.log(e)
}
},
async savenewvendor(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.savenewvendor(prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
} else {
context.commit("update_save_status", 2)
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_success_add_vendor", true)
context.commit("update_dialog_add_vendor", false)
setTimeout(function(){ context.commit("update_success_add_vendor", false) }, 3000);
}
} catch (e) {
context.commit("update_save_status", 3)
console.log(e)
}
},
async savenewitem(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.savenewitem(prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
} else {
context.commit("update_save_status", 2)
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_nonsamples", data.records)
context.commit("update_success_add_item", true)
setTimeout(function(){ context.commit("update_success_add_item", false) }, 3000);
}
} catch (e) {
context.commit("update_save_status", 3)
console.log(e)
}
},
async searchstaff(context,prm) {
context.commit("update_autocomplete_status",1)
try {
let resp= await api.searchstaff(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_staffs",resp.data.records)
}
} catch(e) {
context.commit("update_autocomplete_status",3)
}
},
}
}