Files
FE_CPONE/test/vuex/one-result-kurir-spk/modules/form.js
2026-04-27 10:13:31 +07:00

368 lines
14 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/samplestorage.js"
export default {
namespaced: true,
state: {
trx_id:0,
save_status: 0,
transaction_number:'',
transaction_date:moment(new Date()).format('DD-MM-YYYY'),
transaction_time:moment(new Date()).format("HH:mm"),
xfilterdate:moment(new Date()).format('DD-MM-YYYY'),
transaction_note:'',
details:[],
total_details:0,
samples:[],
selected_detail:{},
almaries:[],
couriers:[],
selected_courier:{},
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,
kecamatans:[],
selected_kecamatan:{},
types:[],
selected_type:{},
errors:[],
current_page_search:1,
total_page_search:1,
bar_chx_all:false,
bar_chx_allx:false,
selected_transaction:{},
deleted_details:[],
show_delete:false
},
mutations: {
update_show_delete(state, val) {
state.show_delete = val
},
update_deleted_details(state, val) {
state.deleted_details = val
},
update_bar_chx_allx(state, val) {
state.bar_chx_allx = val
},
update_selected_transaction(state, val) {
state.selected_transaction = val
},
update_bar_chx_all(state, val) {
state.bar_chx_all = val
},
update_current_page_search(state, val) {
state.current_page_search = val
},
update_total_page_search(state, val) {
state.total_page_search = val
},
update_errors(state, val) {
state.errors = val
},
update_trx_id(state, val) {
state.trx_id = val
},
update_xfilterdate(state, val) {
state.xfilterdate = val
},
update_kecamatans(state, val) {
state.kecamatans = val
},
update_selected_kecamatan(state, val) {
state.selected_kecamatan = val
},
update_types(state, val) {
state.types = val
},
update_selected_type(state, val) {
state.selected_type = val
},
update_couriers(state, val) {
state.couriers = val
},
update_selected_courier(state, val) {
state.selected_courier = 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_details(state, val) {
state.details = val
},
update_total_details(state, val) {
state.total_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 getcourier(context) {
context.commit("update_get_data_status",1)
try {
let resp= await api.getcourier(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_couriers",data.records)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async deleteAll(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.deleteall(prm)
if (resp.status != "OK") {
context.commit("update_get_data_status",3)
} else {
context.commit("update_get_data_status",2)
context.commit("samplestorage/update_current_page",1,{root:true})
var xprm = {
startdate:context.rootState.samplestorage.start_date,
enddate: context.rootState.samplestorage.end_date,
status:context.rootState.samplestorage.selected_status.id,
current_page:context.rootState.samplestorage.current_page,
lastid:-1
}
context.commit("update_details",[])
context.dispatch("samplestorage/search",xprm,{root:true})
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async getkecamatan(context,prm){
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.getkecamatan(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_kecamatans",data.records['kecamatan'])
context.commit("update_selected_kecamatan",{id:0,name:'Semua Kecamatan'})
context.commit("update_types",data.records['type'])
context.commit("update_selected_type",{id:0,name:'Semua Pengantaran'})
var xprm = prm
xprm.kecamatan = context.state.selected_kecamatan
xprm.type = context.state.selected_type
context.dispatch("searchall",xprm)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async getdetails(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.getdetails(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)
}
} 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_courier",{})
context.commit("update_details",[])
context.commit("samplestorage/update_last_id", resp.data.id,{root:true})
var msg = "Transaksi " + resp.data.numbering + " berhasil dong ..."
context.commit("samplestorage/update_msg_success", msg,{root:true})
context.commit("samplestorage/update_dialog_success", true,{root:true})
context.commit("update_details",[])
}
} 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 searchall(context, prm) {
context.commit("update_get_data_status", 1)
try {
prm.token = one_token()
let resp = await api.searchall(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_samples", data.records)
context.commit("update_dialog_search_sample",true)
context.commit("update_total_page_search", data.total)
//context.commit("update_total_details", data.total)
}
} catch (e) {
context.commit("update_get_data_status", 3)
console.log(e)
}
}
}
}