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

1064 lines
44 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/samplecall.js"
export default {
namespaced: true,
state: {
last_id:-1,
last_saved_id:-1,
x_addr_id:0,
act:'edit',
act_addr:'new',
get_data_status:0,
search_patient: 0,
search_status: 0,
search_error_message: '',
preffix:'',
patient_name:'',
suffix:'',
patients: [],
selected_patient: {},
sampletypes:[],
selected_sampletype:{},
companies:[{id:0,name:'Semua'}],
selected_company:{id:0,name:'Semua'},
total_patients:0,
patient_address: [],
stations:[],
selected_station:{},
statuses:[],
selected_status:{},
transaction_date:moment(new Date()).format('DD-MM-YYYY'),
transaction_time:moment(new Date()).format("hh:mm"),
phone:'',
hp:'',
email:'',
pj:'N',
dpj:'N',
clinic:'N',
is_default:'N',
marketing_confirm:'N',
save_status: 0,
btn_save_seen: true,
pgrs_save: false,
save_error_message: '',
no_save: 0,
open_alert_confirmation:false,
alert_success: false,
msg_success: "",
dialog_success: false,
dialog_confirmation_delete: false,
msg_confirmation_delete: "",
dialog_confirmation_delete_addr: false,
msg_confirmation_delete_addr: "",
autocomplete_status:0,
dialog_form_address: false,
label_address:'',
addresses:[],
cities:[],
city_address:{},
districts:[],
district_address:{},
kelurahans:[],
kelurahan_address:{},
description_address:'',
errors:[],
dialog_action:false,
msg_action:'',
current_page:1,
total_page:1,
dialog_requirement:false,
requirements:[],
selected_sample:{},
open_dialog_info:false,
msg_info:'',
name:'',
nolab:'',
information_bahan:[],
staff:{id:0,code:'',name:'BELUM ADA STAF',code:'',userid:''},
dialog_note:false,
msg_note:'',
note_requirement:[],
dialog_form_note:'',
barcode_search_tube:false,
barcode_search:false,
barcode_search_string:'',
start_date:moment(new Date()).format('YYYY-MM-DD'),
},
mutations: {
update_start_date(state, val) {
state.start_date = val
},
update_barcode_search_string(state, val) {
state.barcode_search_string = val
},
update_barcode_search(state, val) {
state.barcode_search = val
},
update_barcode_search_tube(state, val) {
state.barcode_search_tube = val
},
update_dialog_form_note(state, val) {
state.dialog_form_note = val
},
update_note_requirement(state, val) {
state.note_requirement = val
},
update_dialog_note(state, val) {
state.dialog_note = val
},
update_msg_note(state, val) {
state.msg_note = val
},
update_companies(state, val) {
state.companies = val
},
update_selected_company(state, val) {
state.selected_company = val
},
update_staff(state, val) {
state.staff = val
},
update_information_bahan(state, val) {
state.information_bahan = val
},
update_name(state, val) {
state.name = val
},
update_nolab(state, val) {
state.nolab = val
},
update_open_dialog_info(state, val) {
state.open_dialog_info = val
},
update_msg_info(state, val) {
state.msg_info = val
},
update_selected_sample(state, val) {
state.selected_sample = val
},
update_requirements(state, val) {
state.requirements = val
},
update_dialog_requirement(state, val) {
state.dialog_requirement = val
},
update_total_page(state, val) {
state.total_page = val
},
update_current_page(state, val) {
state.current_page = val
},
update_x_addr_id(state, val) {
state.x_addr_id = val
},
update_last_id(state, val) {
state.last_id = val
},
update_last_saved_id(state, val) {
state.last_saved_id = val
},
update_act(state, val) {
state.act = val
},
update_act_addr(state, val) {
state.act_addr = val
},
update_get_data_status(state, val) {
state.get_data_status = val
},
update_search_error_message(state, patient) {
state.search_error_message = patient
},
update_search_patient(state, patient) {
state.search_patient = patient
},
update_preffix(state, val) {
state.preffix = val
},
update_patient_name(state, val) {
state.patient_name = val
},
update_suffix(state, val) {
state.suffix = val
},
update_patients(state, data) {
state.patients = data
},
update_selected_patient(state, val) {
state.selected_patient = val
},
update_sampletypes(state, data) {
state.sampletypes = data
},
update_selected_sampletype(state, val) {
state.selected_sampletype = val
},
update_stations(state, val) {
state.stations = val
},
update_selected_station(state, val) {
state.selected_station = val
},
update_statuses(state, val) {
state.statuses = val
},
update_selected_status(state, val) {
state.selected_status = val
},
update_phone(state, val) {
state.phone = val
},
update_email(state, val) {
state.email = val
},
update_hp(state, val) {
state.hp = val
},
update_pj(state, val) {
state.pj = val
},
update_dpj(state, val) {
state.dpj = val
},
update_clinic(state, val) {
state.clinic = val
},
update_marketing_confirm(state, val) {
state.marketing_confirm = val
},
update_is_default(state, val) {
state.is_default = val
},
update_save_status(state, val) {
state.save_status = val
},
update_btn_save_seen(state, val) {
state.btn_save_seen = val
},
update_pgrs_save(state, val) {
state.pgrs_save = val
},
update_save_error_message(state, msg) {
state.save_error_message = ''
},
update_no_save(state, val) {
state.no_save = val
},
update_open_alert_confirmation(state, val) {
state.open_alert_confirmation = val
},
update_alert_success(state, val) {
state.alert_success = val
},
update_msg_success(state, val) {
state.msg_success = val
},
update_dialog_success(state, val) {
state.dialog_success = val
},
update_dialog_confirmation_delete(state, val) {
state.dialog_confirmation_delete = val
},
update_msg_confirmation_delete(state, val) {
state.msg_confirmation_delete = val
},
update_dialog_confirmation_delete_addr(state, val) {
state.dialog_confirmation_delete_addr = val
},
update_msg_confirmation_delete_addr(state, val) {
state.msg_confirmation_delete_addr = val
},
update_addresses(state, val) {
state.addresses = val
},
update_autocomplete_status(state,val){
state.autocomplete_status = val
},
update_dialog_form_address(state, val) {
state.dialog_form_address = val
},
update_label_address(state, val) {
state.label_address = val
},
update_cities(state, val) {
state.cities = val
},
update_city_address(state, val) {
state.city_address = val
},
update_districts(state, val) {
state.districts = val
},
update_district_address(state, val) {
state.district_address = val
},
update_kelurahans(state, val) {
state.kelurahans = val
},
update_kelurahan_address(state, val) {
state.kelurahan_address = val
},
update_description_address(state, val) {
state.description_address = val
},
update_search_status(state, val) {
state.search_status = val
},
update_errors(state, val) {
state.errors = val
},
update_total_patients(state, val) {
state.total_patients = val
},
update_dialog_action(state, val) {
state.dialog_action = val
},
update_msg_action(state, val) {
state.msg_action = val
}
},
actions: {
async search(context, prm) {
context.commit("update_search_patient", 1)
window.key_enter = ''
try {
console.log(prm)
console.log('search')
prm.token = one_token()
console.log(prm)
let resp = await api.search(prm)
if (resp.status != "OK") {
context.commit("update_search_patient", 3)
context.commit("update_search_error_message", resp.message)
} else {
context.commit("update_search_patient", 2)
context.commit("update_search_error_message", "")
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_patients", data.records)
context.commit("update_total_patients", data.total)
//context.commit("update_total_page", data.total)
context.commit("update_no_save", 0)
//context.commit("update_barcode_search",false)
//context.commit("update_barcode_search_tube",false)
if(prm.lastid === -1){
var pat = data.records[0]
if(data.records.length === 0){
context.commit("update_selected_patient", {})
context.commit("update_sampletypes", {})
}else{
context.commit("update_selected_patient", data.records[0])
context.dispatch("getsampletypes",{
orderid:pat.T_OrderHeaderID,
stationid: pat.T_SampleStationID,
statusid: pat.statusid
})
}
}
else{
console.log("oyyeee")
context.commit("update_last_id", prm.lastid)
context.commit("update_selected_patient", data.records[prm.lastid])
var pat = data.records[prm.lastid]
context.dispatch("getsampletypes",{
orderid:pat.T_OrderHeaderID,
stationid: pat.T_SampleStationID,
statusid: pat.statusid
})
}
}
} catch (e) {
context.commit("update_search_patient", 3)
context.commit("update_search_error_message", e.message)
console.log(e)
}
},
async getstationstatus(context,prm) {
context.commit("update_get_data_status",1)
try {
let resp= await api.getstationstatus(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_stations",data.records.stations)
context.commit("update_selected_station",data.records.stations[0])
context.commit("update_statuses",data.records.statuses)
context.commit("update_selected_status",data.records.statuses[0])
prm.stationid = data.records.stations[0].id
prm.statusid = data.records.statuses[0].id
console.log(prm)
context.dispatch("search",prm)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async savenotesampling(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.savenotesampling(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_dialog_form_note",false)
console.log(prm)
context.dispatch("search",prm.search)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async getrequirements(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.getrequirements(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_requirements",data.records)
context.commit("update_dialog_requirement",true)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async getdatanoterequirement(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.getdatanoterequirement(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_note_requirement",data.records)
context.commit("update_dialog_note",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_last_id", prm.M_patientID)
context.commit("update_dialog_success", true)
var msg = "Data dokter " + prm.M_patientName + " sudah terupdate dong ..."
context.commit("update_msg_success", msg)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async receivesample(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.doaction(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_barcode_search",false)
context.commit("update_barcode_search_tube",false)
context.commit("update_barcode_search_string","")
let data = {
records : resp.data.records,
total: resp.data.total
}
//if(data.records.status === 'OK')
//prm.search.lastid = -1
if(data.records['status'] === 'PARTIAL'){
console.log("alooohaa")
//context.dispatch("search",prm)
var patients = context.state.patients
var idx = _.findIndex(patients, function(o) { return o.T_OrderHeaderID == prm.id })
context.commit("update_last_id",idx)
var xprm = {
orderid: patients[idx].T_OrderHeaderID,
stationid:patients[idx].T_SampleStationID,
statusid:patients[idx].statusid
}
console.log(xprm)
context.dispatch("getsampletypes",xprm)
}
else{
prm.search.lastid = -1
context.dispatch("search",prm.search)
}
//context.dispatch("search",prm.search)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async addnewlabel(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.addnewlabel(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_dialog_action",false)
/*let data = {
records : resp.data.records,
total: resp.data.total
}
if(data.records.status === 'OK')
prm.search.lastid = -1*/
console.log(prm)
console.log('beofre')
console.log(prm)
context.dispatch("search",prm)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async saverequirement(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.saverequirement(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_dialog_requirement", false)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async newpatient(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.newpatient(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
console.log(resp.data.id)
context.commit("update_last_id", resp.data.id)
context.commit("update_dialog_success", true)
var msg = "Data dokter " + prm.M_patientName + " sudah tersimpan dong ..."
context.commit("update_msg_success", msg)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async delete(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.xdelete(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_last_id", 0)
context.commit("update_dialog_confirmation_delete",false)
context.commit("update_dialog_success", true)
var msg = "Data dokter " + prm.M_patientName + " sudah dihapus dong ..."
context.commit("update_msg_success", msg)
context.commit("update_preffix",'')
context.commit("update_patient_name",'')
context.commit("update_suffix",'')
context.commit("update_selected_sex",{})
context.commit("update_selected_religion",{})
context.commit("update_phone",'')
context.commit("update_email",'')
context.commit("update_hp",'')
context.commit("update_pj",'N')
context.commit("update_dpj",'N')
context.commit("update_clinic",'N')
context.commit("update_marketing_confirm",'N')
context.commit("update_is_default",'N')
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async getaddress(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.getaddress(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_addresses",data.records)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async searchcity(context,prm) {
context.commit("update_autocomplete_status",1)
try {
let resp= await api.searchcity(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_cities",resp.data.records)
}
} catch(e) {
context.commit("update_autocomplete_status",3)
}
},
async getdistrict(context,prm) {
context.commit("update_get_data_status",1)
try {
let resp= await api.getdistrict(one_token(),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_districts",resp.data.records)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async search_staff(context,prm) {
context.commit("update_get_data_status",1)
try {
prm.token = one_token()
let resp= await api.search_staff(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)
context.commit("update_staff",resp.data.records)
else{
context.commit("update_staff",{id:0,code:'',name:'STAF TIDAK DITEMUKAN',code:'',userid:''})
}
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
search_patient_enter(context,prm) {
context.commit("update_get_data_status",1)
//console.log(prm)
//console.log(context.state.nolab)
window.key_enter = ''
if(context.state.nolab === ''){
// console.log(prm)
context.commit("update_barcode_search",false)
context.commit("update_barcode_search_tube",false)
var last_selected = context.state.selected_patient
var xsearch = prm.search
if(prm.search.length > 10){
xsearch = xsearch.substring(0,xsearch.length-2)
}
console.log(xsearch)
if(last_selected.T_OrderHeaderLabNumber === xsearch){
var act = 'call'
var status = 1
if(last_selected.status === 'Call'){
act = 'process'
status = 3
}
if(prm.search.length > 10){
context.commit("update_barcode_search",true)
context.commit("update_barcode_search_tube",true)
context.commit("update_barcode_search_string",prm.search)
}
var patients = context.state.patients
var patient = context.state.selected_patient
var lastid = _.findIndex(patients, function(o) { return o.T_OrderHeaderID == patient.T_OrderHeaderID })
if(last_selected.status !== 'Process'){
context.dispatch("doaction",{
act:act,
id:patient.T_OrderHeaderID,
xdate:context.state.start_date,
name:context.state.name,
nolab:context.state.nolab,
stationid: patient.T_SampleStationID,
statusid:context.state.selected_status.id,
statusnextid : status,
sample:{},
lastid:lastid,
companyid: context.state.selected_company.id,
staff:context.state.staff
})
}
console.log(context.state.barcode_search_tube)
console.log(last_selected.status)
if(context.state.barcode_search_tube && last_selected.status === 'Process'){
var xsearch = context.state.barcode_search_string
var sampletypes = context.state.sampletypes
console.log("start")
console.log(context.state.barcode_search_tube)
var search_minus_one = xsearch.substring(0,xsearch.length)
//console.log(search_minus_one)
var samples = _.filter(sampletypes, function(o) {
return o.T_BarcodeLabBarcode.substring(0,o.T_BarcodeLabBarcode.length-1) == search_minus_one
})
console.log(samples)
if(samples && samples.length != -1 && samples[0].status === 'P'){
//console.log("masuk")
samples.forEach((el)=>{el.requirement_status = "Y"})
_.forEach(samples, function(value,idxx) {
samples[idxx].requirements.forEach((el)=>{el.chex = "N"})
});
context.commit("update_sampletypes",sampletypes)
context.commit("update_act",'samplingdone')
var barcode_prm = patient
barcode_prm.id = patient.T_OrderHeaderID
barcode_prm.act = 'samplingdone'
barcode_prm.typeaction = 'multi'
barcode_prm.sample = samples
barcode_prm.staff = context.state.staff
barcode_prm.search = {
xdate:context.state.start_date,
name:context.state.name,
nolab:context.state.nolab,
stationid: context.state.selected_station.id,
statusid: context.state.selected_status.id,
companyid: context.state.selected_company.id,
lastid: context.state.last_id
}
context.dispatch("receivesample",barcode_prm)
}
}
}else{
window.key_enter = ''
var patients = context.state.patients
var idx = _.findIndex(patients, function(o) { return o.T_OrderHeaderLabNumber === xsearch })
console.log('idx : '+idx)
if(idx != -1){
context.commit("update_selected_patient",patients[idx])
var pat = context.state.selected_patient
context.dispatch("getsampletypes",{
orderid:pat.T_OrderHeaderID,
stationid: pat.T_SampleStationID,
statusid: pat.statusid
})
}
}
}else{
var param = {
xdate:context.state.start_date,
name:context.state.name,
nolab:context.state.nolab,
stationid: context.state.selected_station.id,
statusid: context.state.selected_status.id,
companyid:context.state.selected_company.id,
lastid: -1
}
context.dispatch('search',param)
}
},
search_patientx(context,prm) {
context.commit("update_get_data_status",1)
prm.token = one_token()
},
async getkelurahan(context,prm) {
context.commit("update_get_data_status",1)
try {
let resp= await api.getkelurahan(one_token(),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_kelurahans",resp.data.records)
}
} catch(e) {
context.commit("update_get_data_status",3)
}
},
async savenewaddress(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.savenewaddress(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_dialog_form_address",false)
context.commit("update_last_id", prm.M_patientAddressM_patientID)
context.commit("update_dialog_success", true)
var msg = "Penambahan data alamat dokter " + prm.M_patientName + " sudah berhasil dong ..."
context.commit("update_msg_success", msg)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async saveeditaddress(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.saveeditaddress(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_dialog_form_address",false)
context.commit("update_last_id", prm.M_patientAddressM_patientID)
context.commit("update_dialog_success", true)
var msg = "Perubahan data alamat dokter " + prm.M_patientName + " sudah berhasil dong ..."
context.commit("update_msg_success", msg)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async deleteaddress(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.deleteaddress(prm)
if (resp.status != "OK") {
context.commit("update_save_status",3)
} else {
context.commit("update_save_status",2)
context.commit("update_dialog_confirmation_delete_addr",false)
context.commit("update_last_id", prm.M_patientAddressM_patientID)
context.commit("update_dialog_success", true)
var msg = "Penghapusan data alamat "+prm.M_patientAddressNote+" dari dokter " + prm.M_patientName + " sudah berhasil dong ..."
context.commit("update_msg_success", msg)
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async getsampletypes(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.getsampletypes(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_sampletypes",data.records['sampletypes'])
context.commit("update_information_bahan",data.records['information_bahan'])
if(context.state.barcode_search){
var patients = context.state.patients
var selected_patient = context.state.selected_patient
var last_id = _.findIndex(patients, function(o) { return o.T_OrderHeaderID == selected_patient.T_OrderHeaderID })
context.commit("update_last_id",last_id)
//console.log("YIiiiiihaa")
//console.log(selected_patient.status)
//console.log(context.state.barcode_search_tube)
if(context.state.barcode_search_tube && selected_patient.status === "Process"){
var xsearch = context.state.barcode_search_string
var sampletypes = context.state.sampletypes
console.log("start")
console.log(context.state.barcode_search_tube)
var search_minus_one = xsearch.substring(0,xsearch.length)
//console.log(search_minus_one)
var samples = _.filter(sampletypes, function(o) {
return o.T_BarcodeLabBarcode.substring(0,o.T_BarcodeLabBarcode.length-1) == search_minus_one
})
//console.log(samples)
if(samples && samples.length != -1 && samples[0].status === 'P'){
//console.log("masuk")
samples.forEach((el)=>{el.requirement_status = "Y"})
_.forEach(samples, function(value,idxx) {
samples[idxx].requirements.forEach((el)=>{el.chex = "N"})
});
context.commit("update_sampletypes",sampletypes)
context.commit("update_act",'samplingdone')
var barcode_prm = selected_patient
barcode_prm.id = selected_patient.T_OrderHeaderID
barcode_prm.act = 'samplingdone'
barcode_prm.typeaction = 'multi'
barcode_prm.sample = samples
barcode_prm.staff = context.state.staff
barcode_prm.search = {
xdate:context.state.start_date,
name:context.state.name,
nolab:context.state.nolab,
stationid: context.state.selected_station.id,
statusid: context.state.selected_status.id,
companyid: context.state.selected_company.id,
lastid: context.state.last_id
}
context.dispatch("receivesample",barcode_prm)
}
else{
context.commit("update_msg_info","Tetap fokus, yang sudah biarlah sudah")
context.commit("update_open_dialog_info",true)
}
}else{
context.commit("update_barcode_search",false)
context.commit("update_barcode_search_tube",false)
context.commit("update_barcode_search_string","")
}
}
}
} catch(e) {
context.commit("update_save_status",3)
}
},
async searchcompany(context,prm) {
context.commit("update_autocomplete_status",1)
try {
let resp= await api.searchcompany(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_companies",resp.data.records)
}
} catch(e) {
context.commit("update_autocomplete_status",3)
}
},
async doaction(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.doaction(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_act",'-')
context.commit("update_dialog_action",false)
if(data.records['status'] === 'NOTCALL'){
var dt = data.records['data']
var msg = " Bagai pinang dibelah dua, pasiennya lagi dipanggil di "+dt.T_SampleStationName
context.commit("update_msg_info",msg)
context.commit("update_open_dialog_info",true)
}
//prm.lastid = -1
if(data.records['status'] === 'OK'){
//context.dispatch("search",prm)
var patients = context.state.patients
var idx = _.findIndex(patients, function(o) { return o.T_OrderHeaderID == prm.id })
//console.log(idx)
if(prm.act == 'call' || prm.act == 'skip' || prm.act == "process"){
patients[idx].statusid = prm.statusnextid.toString()
if(prm.act == 'call')
patients[idx].status = "Call"
if(prm.act == 'skip')
patients[idx].status = "NEW"
if(prm.act == 'process')
patients[idx].status = "Process"
//console.log(patients)
context.commit("update_patients",patients)
if(prm.act == 'process'){
context.commit("update_last_id",idx)
var xprm = {
orderid: patients[idx].T_OrderHeaderID,
stationid:patients[idx].T_SampleStationID,
statusid:patients[idx].statusid
}
console.log(xprm)
context.dispatch("getsampletypes",xprm)
}
}
if(resp.data.nextstatus === '5' || resp.data.nextstatus === 5){
context.dispatch("search",prm)
}
}
}
} catch(e) {
context.commit("update_save_status",3)
}
}
}
}