329 lines
12 KiB
JavaScript
329 lines
12 KiB
JavaScript
import * as api from "../api/sampling.js"
|
|
window.api = api
|
|
|
|
export default {
|
|
namespaced : true,
|
|
state : {
|
|
samples : [],
|
|
selected_sample : {},
|
|
snackbar : {
|
|
status : false,
|
|
text : 'Some text',
|
|
timeout : 3000
|
|
},
|
|
ver_photo : {
|
|
checked : false,
|
|
note : ""
|
|
},
|
|
|
|
note_sampling : '',
|
|
note_fo : '',
|
|
|
|
if_ver_photo : false,
|
|
supervisor_dialog_is_active : false,
|
|
note_supervisor : "",
|
|
|
|
// barcode
|
|
dialog_barcode: false,
|
|
selected_barcodes: [],
|
|
|
|
// requirement
|
|
dialog_requirement: false,
|
|
requirements: [],
|
|
selected_requirements: [],
|
|
reqstate: "Y"
|
|
},
|
|
|
|
mutations : {
|
|
update_samples(state, data) {
|
|
state.samples = []
|
|
setTimeout(function() { state.samples = data.records }, 100)
|
|
},
|
|
|
|
update_sample(state, data) {
|
|
let x = state.samples
|
|
let y = data.records
|
|
for (let i in x) {
|
|
if (x[i].order_id == y.order_id &&
|
|
x[i].sample_id == y.sample_id &&
|
|
x[i].barcode == y.barcode)
|
|
x[i] = y
|
|
}
|
|
state.samples = x
|
|
},
|
|
|
|
update_selected_sample(state, data) {
|
|
state.selected_sample = data
|
|
},
|
|
|
|
update_snackbar(state, data) {
|
|
state.snackbar = data
|
|
},
|
|
|
|
update_ver_photo(state, data) {
|
|
state.ver_photo = data
|
|
},
|
|
|
|
update_note_sampling(state, data) {
|
|
state.note_sampling = data
|
|
},
|
|
|
|
update_note_fo(state, data) {
|
|
state.note_fo = data
|
|
},
|
|
|
|
update_if_ver_photo(state, data) {
|
|
state.if_ver_photo = data
|
|
},
|
|
|
|
update_supervisor_dialog_is_active(state, data) {
|
|
state.supervisor_dialog_is_active = data
|
|
},
|
|
|
|
update_note_supervisor(state, data) {
|
|
state.note_supervisor = data
|
|
},
|
|
|
|
update_dialog_barcode(state, v) {
|
|
state.dialog_barcode = v
|
|
},
|
|
|
|
update_selected_barcodes(state, v) {
|
|
state.selected_barcodes = v
|
|
},
|
|
|
|
update_requirements(state, v) {
|
|
state.requirements = v
|
|
},
|
|
|
|
update_selected_requirements(state, v) {
|
|
state.selected_requirements = v
|
|
},
|
|
|
|
update_dialog_requirement(state, v) {
|
|
state.dialog_requirement = v
|
|
},
|
|
|
|
update_reqstate(state, v) {
|
|
state.reqstate = v
|
|
}
|
|
},
|
|
|
|
actions : {
|
|
async get_samples(context, prm) {
|
|
// context.commit("update_search_status", 1)
|
|
try {
|
|
let resp= await api.get_samples(prm.order_id, prm.station_id)
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
let data = {
|
|
records : resp.data.records
|
|
}
|
|
context.commit("update_samples", data)
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async get_sample(context, prm) {
|
|
// context.commit("update_search_status", 1)
|
|
try {
|
|
let resp= await api.get_sample(prm.order_id, prm.sample_id, prm.barcode)
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
let data = {
|
|
records : resp.data.records
|
|
}
|
|
context.commit("update_sample", data)
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async save(context) {
|
|
// context.commit("update_search_status", 1)
|
|
let sample = context.state.selected_sample
|
|
if (!sample.sampling_time.match(/(?:[01]\d|2[0123]):(?:[012345]\d)/g)) {
|
|
alert('Cek kembali isian Sampling Time')
|
|
return
|
|
}
|
|
|
|
let json_data = {
|
|
sampling_date : sample.sampling_date,
|
|
sampling_time : sample.sampling_time,
|
|
receive_date : sample.receive_date,
|
|
receive_time : sample.receive_time,
|
|
|
|
// verification photo
|
|
ver_photo : context.state.ver_photo.checked ? "Y" : "N",
|
|
ver_photo_note : context.state.ver_photo.note,
|
|
|
|
// note sampling
|
|
note_sampling : context.state.note_sampling,
|
|
|
|
// requirement
|
|
req_status : sample.req_status,
|
|
reqs : sample.req_status == "Y" ? [] : context.state.selected_requirements,
|
|
order_sample_id : sample.order_sample_id
|
|
}
|
|
|
|
try {
|
|
let resp= await api.save(one_token(), sample.order_id, sample.sample_id, sample.barcode, json_data)
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
|
|
// requirement
|
|
let req_status = context.rootState.patient.req_status
|
|
context.dispatch('save_requirement', req_status)
|
|
|
|
context.commit('update_snackbar', {status:true, text:'Data Sampling telah disimpan', timeout: 3000})
|
|
context.dispatch('get_sample', { order_id:context.state.selected_sample.order_id,
|
|
sample_id:context.state.selected_sample.sample_id,
|
|
barcode:context.state.selected_sample.barcode })
|
|
|
|
// UPDATE STATUSES
|
|
let x = context.rootState.patient.patients
|
|
let y = context.rootState.patient.total_patient
|
|
for (let i in x) {
|
|
if (x[i].T_OrderHeaderID == context.rootState.patient.selected_patient.order_id) {
|
|
x[i].call_status_id = resp.data.data.call_status_id
|
|
x[i].call_status_code = resp.data.data.call_status_code
|
|
x[i].status_code = resp.data.data.status_code
|
|
}
|
|
}
|
|
|
|
context.commit('queue/update_call_status', 'QUE.Sampling.Done', {root:true})
|
|
context.commit('patient/update_patients', {records:x, total:y}, {root:true})
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async save_note_supervisor(context) {
|
|
|
|
try {
|
|
let resp = await api.save_note_supervisor(context.rootState.patient.selected_patient.order_id, context.state.note_supervisor)
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
context.commit('update_supervisor_dialog_is_active', false)
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async barcode_add(context, data) {
|
|
|
|
try {
|
|
let resp = await api.barcode_add(one_token(), data.order_id, data.sample_id)
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
context.dispatch('get_samples',
|
|
{ order_id:data.order_id,
|
|
station_id:context.rootState.patient.selected_station.id
|
|
})
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async get_requirement(context) {
|
|
// context.commit("update_search_status", 1)
|
|
try {
|
|
let resp= await api.get_requirement()
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
|
|
context.commit("update_requirements", resp.data)
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
},
|
|
|
|
async save_requirement(context, status) {
|
|
// context.commit("update_search_status", 1)
|
|
try {
|
|
let resp= await api.save_requirement(one_token(), context.rootState.patient.selected_patient.order_id,
|
|
context.rootState.patient.selected_station.id,
|
|
status,
|
|
JSON.stringify(context.state.selected_requirements))
|
|
|
|
if (resp.status != "OK") {
|
|
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
// context.commit("update_search_status",2)
|
|
// context.commit("update_search_error_message","")
|
|
|
|
context.commit('update_dialog_requirement', false)
|
|
context.commit('patient/update_req',
|
|
{ req_status:status, reqs:context.state.selected_requirements}, {root:true})
|
|
|
|
let p = context.rootState.patient
|
|
let patients = {records:p.patients, total:p.total_patient}
|
|
for (let i in patients.records)
|
|
if (patients.records[i].T_OrderHeaderID == p.selected_patient.order_id)
|
|
{ patients.records[i].req_status = status; patients.records[i].reqs = context.state.selected_requirements; }
|
|
context.commit('patient/update_patients', patients, {root:true})
|
|
}
|
|
} catch(e) {
|
|
console.log(e)
|
|
// context.commit("update_search_status", 3)
|
|
// context.commit("update_search_error_message", e.message )
|
|
}
|
|
}
|
|
}
|
|
} |