Files
FE_CPONE/test/vuex/one-queue-fo-v2/modules/queue.js
2026-04-27 10:13:31 +07:00

243 lines
7.8 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/queue.js?x=1";
window.api = api;
export default {
namespaced: true,
state: {
fo_url: "/one-ui/test/vuex/one-fo-registration-v22/",
load_queue: 0,
load_service: 0,
load_error_message: "",
queues: [],
total_queue: 0,
selected_queue: {},
info: false,
msg_info: "",
services: [],
selected_service: {
serviceID: 0,
serviceName: "All Service",
serviceDoctorName: "",
},
arrServiceID: [],
},
mutations: {
update_fo_url(state, status) {
state.fo_url = status;
},
update_load_queue(state, status) {
state.load_queue = status;
},
update_load_error_message(state, val) {
state.load_error_message = val;
},
update_queues(state, data) {
state.queues = data.records;
state.total_queue = data.total;
},
update_info(state, val) {
state.info = val;
},
update_msg_info(state, val) {
state.msg_info = val;
},
update_load_service(state, status) {
state.load_service = status;
},
update_services(state, data) {
state.services = data.records;
},
update_selected_service(state, val) {
state.selected_service = val;
},
update_arrServiceID(state, val) {
state.arrServiceID = val;
},
},
actions: {
async fo_url(context) {
try {
let resp = await api.fo_url();
if (resp.data.length > 0) {
context.commit("update_fo_url", resp.data[0]["S_MenuUrl"]);
}
} catch (e) {
console.log("Error fo url action", e);
}
},
async loadx(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.loadx(prm.serviceid);
//console.log(resp)
if (resp.statusText != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", resp.message);
} else {
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
//console.log(resp)
let data = {
records: resp.data,
total: resp.length,
};
context.commit("update_queues", data);
context.dispatch("summary/loadx", {}, { root: true });
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async loadservice(context) {
context.commit("update_load_service", 1);
try {
let resp = await api.loadservice();
//console.log(resp)
if (resp.statusText != "OK") {
context.commit("update_load_service", 3);
context.commit("update_load_error_message", resp.message);
} else {
context.commit("update_load_service", 2);
context.commit("update_load_error_message", "");
//console.log(resp)
let data = {
records: resp.data,
total: resp.length,
};
let arr = [];
resp.data.forEach((element) => {
arr.push(parseInt(element.serviceID));
});
context.commit("update_arrServiceID", arr);
context.commit("update_services", data);
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async docall(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.docall(prm.number);
// console.log(resp)
if (resp.data.status != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_info", true);
context.commit("update_msg_info", resp.data.message);
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
} else {
// console.log(resp.data.status)
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async dorecall(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.dorecall(prm.number, prm.queueID);
//console.log(resp)
if (resp.data.status != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_info", true);
context.commit("update_msg_info", resp.data.message);
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
} else {
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async doserve(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.doserve(prm.number, prm.queueID);
if (resp.data.status != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_info", true);
context.commit("update_msg_info", resp.data.message);
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
} else {
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async dodone(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.dodone(prm.number, prm.queueID);
if (resp.data.status != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_info", true);
context.commit("update_msg_info", resp.data.message);
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
} else {
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
async doskip(context, prm) {
context.commit("update_load_queue", 1);
try {
let resp = await api.doskip(prm.number, prm.queueID);
if (resp.data.status != "OK") {
context.commit("update_load_queue", 3);
context.commit("update_info", true);
context.commit("update_msg_info", resp.data.message);
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
} else {
context.commit("update_load_queue", 2);
context.commit("update_load_error_message", "");
context.dispatch("loadx", {
serviceid: context.state.selected_service.serviceID,
});
}
} catch (e) {
context.commit("update_load_queue", 3);
context.commit("update_load_error_message", e.message);
}
},
},
};