Files
FE_CPONE/test/vuex/one-md-ticket-dispenser/modules/ticketdispenser.js
2026-04-27 10:13:31 +07:00

284 lines
8.9 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/ticketdispenser.js";
export default {
namespaced: true,
state: {
lookup_error_message: "",
lookup_bloodrequest: 0,
ticketdispensers: [],
total_ticketdispensers: 0,
total_filter_ticketdispensers: 0,
current_page: 1,
x_search: "",
autocomplete_status: 0,
pagination: {
descending: "asc",
sortBy: "ticketBoothCode",
},
search_status: false,
dialog_form_ticket_dispenser: false,
alert_success: false,
msg_success: "",
show_all: "N",
errors: [],
act: "new",
selected_ticketdispenser: {
name: "",
},
save_status: 0,
save_error_message: "",
show_hide_table: false,
snackbar: false,
success_message: "",
},
mutations: {
// jika tidak ada data
update_show_hide_table(state, val) {
state.show_hide_table = val;
},
update_lookup_error_message(state, status) {
state.lookup_error_message = status;
},
update_lookup_ticket_dispenser(state, status) {
state.lookup_bloodrequest = status;
},
update_ticketdispensers(state, data) {
state.ticketdispensers = data.records;
state.total_ticketdispensers = data.total;
state.total_filter_ticketdispensers = data.total_filter;
},
update_current_page(state, val) {
state.current_page = val;
},
update_autocomplete_status(state, val) {
state.autocomplete_status = val;
},
update_last_id(state, val) {
state.last_id = val;
},
update_pagination(state, val) {
state.pagination = val;
},
update_dialog_form_ticket_dispenser(state, val) {
// console.log(state, val);
state.dialog_form_ticket_dispenser = val;
},
update_alert_success(state, val) {
state.alert_success = val;
},
update_msg_success(state, val) {
state.msg_success = val;
},
update_errors(state, val) {
state.errors = val;
},
update_save_status(state, val) {
state.save_status = val;
},
update_save_error_message(state, val) {
state.save_error_message = val;
},
update_act(state, val) {
state.act = val;
},
update_search_status(state, val) {
state.search_status = val;
},
update_selected_ticketdispenser(state, val) {
state.selected_ticketdispenser = val;
},
update_x_search(state, val) {
state.x_search = val;
},
update_snackbar(state, val) {
state.snackbar = val;
},
update_success_message(state, val) {
state.success_message = val;
},
},
actions: {
// add data
async add(context, prm) {
context.commit("update_save_status", 1);
try {
prm.token = one_token();
let resp = await api.add(prm);
if (resp.status != "OK") {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", resp.message);
} else {
context.commit("update_save_status", 2);
context.commit("update_save_error_message", resp.message);
context.commit("update_save_error_message", resp.message);
var data = {
records: resp.data.records,
total: resp.data.total,
};
if (data.total !== -1) {
context.commit("update_errors", []);
context.commit("update_alert_success", true);
context.commit("update_dialog_form_ticket_dispenser", false);
var msg = "Ticket booth sudah tersimpan dong ...";
context.commit("update_msg_success", msg);
context.commit("update_success_message", msg);
context.commit("update_snackbar", true);
context.dispatch("lookupbyname");
} else {
context.commit("update_errors", resp.data.errors);
}
}
} catch (e) {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", e.message);
console.log(e);
}
},
// load data dan search
async lookupbyname(context, prm) {
context.commit("update_lookup_ticket_dispenser", 1);
context.commit("update_search_status", true);
try {
// prm.token = one_token()
var prm = {
query: context.state.xsearch,
current_page: context.state.current_page,
last_id: context.state.last_id,
search: context.state.x_search,
sortBy: context.state.pagination.sortBy,
sortStatus: context.state.pagination.descending,
// start_date:context.state.start_date_filter,
// end_date:context.state.end_date_filter,
token: one_token(),
};
// console.log(prm);
let resp = await api.lookupbyname(prm);
if (resp.status != "OK") {
context.commit("update_search_status", false);
context.commit("update_lookup_ticket_dispenser", 3);
context.commit("update_lookup_error_message", resp.message);
} else {
context.commit("update_search_status", false);
context.commit("update_lookup_ticket_dispenser", 2);
context.commit("update_lookup_error_message", "");
if (resp.data.records.length > 0) {
let data = {
records: resp.data.records,
total: resp.data.total,
total_filter: resp.data.total_filter,
};
context.commit("ticketdispenser/update_show_hide_table", false, {
root: true,
});
context.commit("update_ticketdispensers", data);
} else {
// console.log('kosong');
let data = {
records: resp.data.records,
total: resp.data.total,
total_filter: resp.data.total_filter,
};
context.commit("update_ticketdispensers", data);
context.commit("ticketdispenser/update_show_hide_table", true, {
root: true,
});
}
}
} catch (e) {
context.commit("update_search_status", false);
context.commit("update_lookup_ticket_dispenser", 3);
context.commit("update_lookup_error_message", e.message);
}
},
// hapus
async delete(context, prm) {
// console.log(prm)
context.commit("update_save_status", 1);
try {
// console.log(prm);
// console.log(prm.id);
let resp = await api.xdelete(one_token(), prm.id);
if (resp.status != "OK") {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", resp.message);
} else {
context.commit("update_save_status", 2);
context.commit("update_save_error_message", resp.message);
context.commit("update_alert_success", true);
var msg = "Ticket booth sudah dihapus dong";
context.commit("update_msg_success", msg);
context.commit("update_alert_success", true);
context.commit("update_success_message", msg);
context.commit("update_snackbar", true);
context.commit("update_selected_ticketdispenser", {});
context.dispatch("lookupbyname");
}
} catch (e) {
context.commit("update_save_status", 3);
console.log(e);
}
},
// edit
async edit(context, prm) {
context.commit("update_save_status", 1);
try {
prm.token = one_token();
let resp = await api.edit(prm);
if (resp.status != "OK") {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", resp.message);
} else {
context.commit("update_save_status", 2);
context.commit("update_save_error_message", resp.message);
context.commit("update_save_error_message", resp.message);
let data = {
records: resp.data.records,
total: resp.data.total,
};
if (data.total !== -1) {
context.commit("update_alert_success", true);
context.commit("update_dialog_form_ticket_dispenser", false);
var msg = " Ticket booth sudah terupdate dong ...";
context.commit("update_msg_success", msg);
context.dispatch("lookupbyname");
context.commit("update_success_message", msg);
context.commit("update_snackbar", true);
} else {
context.commit("update_errors", resp.data.errors);
}
}
} catch (e) {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", e.message);
console.log(e);
}
},
},
};