Files
exisisting-master-ticket-su…/one-new-ticket-support-v3/modules/ticket.js
2024-08-01 17:02:23 +07:00

194 lines
5.6 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/ticket.js";
export default {
namespaced: true,
state: {
clients: [],
branchs: [],
selected_clients: {
clientId: null, // atau nilai default yang sesuai
clientName: null,
},
selected_branch: {},
loading: false,
loading_client: false,
error: "",
save_status: 2,
error_message: "",
loading_save: false,
alert_error: false,
dialog_error: false,
msg_success: "",
alert_success: false,
errors: [],
show_progrees_upload: false,
images: [],
lastInsertId: "",
ticket_number: "",
dialog_is_active: false,
},
mutations: {
update_branchs(state, val) {
state.branchs = val;
},
update_clients(state, val) {
state.clients = val;
},
update_selected_branch(state, val) {
state.selected_branch = val;
},
update_selected_clients(state, val) {
state.selected_clients = val;
},
update_loading(state, val) {
state.loading = val;
},
update_loading_client(state, val) {
state.loading_client = val;
},
update_error(state, val) {
state.error = val;
},
update_save_status(state, val) {
state.save_status = val;
},
update_error_message(state, val) {
state.error_message = val;
},
update_loading_save(state, val) {
state.loading_save = val;
},
update_alert_error(state, val) {
state.alert_error = val;
},
update_dialog_error(state, val) {
state.dialog_error = val;
},
update_msg_success(state, val) {
state.msg_success = val;
},
update_alert_success(state, val) {
state.alert_success = val;
},
update_errors(state, val) {
state.errors = val;
},
update_show_progrees_upload(state, val) {
state.show_progrees_upload = val;
},
update_images(state, val) {
state.images = val;
},
update_lastInsertId(state, id) {
state.lastInsertId = id;
},
update_ticket_number(state, val) {
state.ticket_number = val;
},
update_dialog_is_active(state, val) {
state.dialog_is_active = val;
},
},
actions: {
async search_branch(context, { search, client_id }) {
context.commit("update_loading", true);
try {
let resp = await api.search_branch(search, client_id);
if (resp.status != "OK") {
context.commit("update_loading", false);
context.commit("update_error", resp.message);
} else {
context.commit("update_loading", false);
context.commit("update_error", "");
let data = {
records: resp.data.records,
total: resp.data.total,
};
context.commit("update_branchs", resp.data.records);
}
} catch (e) {
context.commit("update_loading", false);
context.commit("update_error", e.message);
}
},
async search_client(context, { search }) {
context.commit("update_loading", true);
try {
let resp = await api.search_client(search);
if (resp.status != "OK") {
context.commit("update_loading", false);
context.commit("update_error", resp.message);
} else {
context.commit("update_loading", false);
context.commit("update_error", "");
context.commit("update_clients", resp.data.data);
}
} catch (e) {
context.commit("update_loading", false);
context.commit("update_error", e.message);
}
},
async new_ticket(context, prm) {
context.commit("update_save_status", 1);
try {
// prm.token = one_token()
let resp = await api.new_ticket(prm);
if (resp.status != "OK") {
context.commit("update_save_status", 3);
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
context.commit("update_dialog_error", true);
} else {
var data = {
status: resp.status,
};
if (data.status == "OK") {
context.commit("update_save_status", 2);
context.commit("update_error_message", "");
context.commit("update_dialog_error", false);
let msg = "Data berhasil disimpan";
context.commit("update_msg_success", resp.msg);
context.commit("update_alert_success", true);
context.commit("update_lastInsertId", resp.data.id);
context.commit("update_ticket_number", resp.data.number);
context.commit("update_dialog_is_active", true);
console.log(resp.data.id);
} else {
context.commit("update_errors", resp.errors);
}
}
} catch (e) {
context.commit("update_save_status", 3);
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async uploadimage(context, prm) {
context.commit("update_save_status", 1);
try {
let resp = await api.uploadimage(prm);
if (resp.status != "OK") {
context.commit("update_show_progrees_upload", false);
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_show_progrees_upload", false);
context.commit("update_images", data.records);
}
} catch (e) {
context.commit("update_show_progrees_upload", false);
context.commit("update_save_status", 3);
}
},
},
};