Files
FE_CPONE/test/vuex/cpone-sample-lab-mobile-v7/api/patient.js
2026-04-27 10:13:31 +07:00

254 lines
7.0 KiB
JavaScript

const URL = "/one-api/mockup/sampling-lab-mobile-cpone-v7/";
// Flag object untuk memonitor status request masing-masing fungsi
let isRequestingFlags = {
searchPatient: false,
scanPatient: false,
search: false,
searchCompany: false,
lookupStatuses: false,
getDataBarcodes: false,
serahkan: false,
getStations: false,
getLocation: false,
skipAction: false,
scanBarcode: false,
};
export async function search_patient(prm) {
if (isRequestingFlags.searchPatient) {
return { status: "ERR", message: "Request search patient in progress" };
}
isRequestingFlags.searchPatient = true;
try {
var resp = await axios.post(URL + 'patient/search_patient', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.searchPatient = false;
}
}
export async function scan_patient(prm) {
if (isRequestingFlags.scanPatient) {
return { status: "ERR", message: "Request scan in progress" };
}
isRequestingFlags.scanPatient = true;
try {
var resp = await axios.post(URL + 'patient/scan_patient', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.scanPatient = false;
}
}
export async function search(prm) {
if (isRequestingFlags.search) {
return { status: "ERR", message: "Request search in progress" };
}
isRequestingFlags.search = true;
try {
var resp = await axios.post(URL + 'patient/search', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.search = false;
}
}
export async function searchcompany(token, prm) {
if (isRequestingFlags.searchCompany) {
return { status: "ERR", message: "Request search company in progress" };
}
isRequestingFlags.searchCompany = true;
try {
var resp = await axios.post(URL + 'patient/searchcompany', { token: token, search: prm });
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.searchCompany = false;
}
}
export async function lookup_statuses(prm) {
if (isRequestingFlags.lookupStatuses) {
return { status: "ERR", message: "Request lookup_statuses in progress" };
}
isRequestingFlags.lookupStatuses = true;
try {
var resp = await axios.post(URL + 'patient/lookup_statuses', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.lookupStatuses = false;
}
}
export async function getdatabarcodes(prm) {
if (isRequestingFlags.getDataBarcodes) {
return { status: "ERR", message: "Request getdatabarcodes in progress" };
}
isRequestingFlags.getDataBarcodes = true;
try {
var resp = await axios.post(URL + 'patient/lookup_barcodes', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.getDataBarcodes = false;
}
}
export async function serahkan(prm) {
if (isRequestingFlags.serahkan) {
return { status: "ERR", message: "Request serahkan in progress" };
}
isRequestingFlags.serahkan = true;
try {
var resp = await axios.post(URL + 'patient/serahkan', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.serahkan = false;
}
}
export async function getstations(token) {
if (isRequestingFlags.getStations) {
return { status: "ERR", message: "Request getstations in progress" };
}
isRequestingFlags.getStations = true;
try {
let prm = { token: token };
var resp = await axios.post(URL + 'patient/getstations', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.getStations = false;
}
}
export async function getLocation(prm) {
if (isRequestingFlags.getLocation) {
return { status: "ERR", message: "Request getLocation in progress" };
}
isRequestingFlags.getLocation = true;
try {
var resp = await axios.post(URL + 'patient/getlocation', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.getLocation = false;
}
}
export async function skipaction(prm) {
if (isRequestingFlags.skipAction) {
return { status: "ERR", message: "Request skipaction in progress" };
}
isRequestingFlags.skipAction = true;
try {
var resp = await axios.post(URL + 'patient/skipaction', prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.skipAction = false;
}
}
export async function scanbarcode(prm) {
if (isRequestingFlags.scanBarcode) {
return { status: "ERR", message: "Request scanbarcode in progress" };
}
isRequestingFlags.scanBarcode = true;
try {
var url_now = 'patient/scanbarcode';
if (prm.station.isnonlab !== "") {
url_now = 'patient/scanbarcode_nonlab';
}
var resp = await axios.post(URL + url_now, prm);
if (resp.status != 200) {
return { status: "ERR", message: resp.statusText };
}
let data = resp.data;
return data;
} catch (e) {
return { status: "ERR", message: e.message };
} finally {
isRequestingFlags.scanBarcode = false;
}
}