160 lines
5.8 KiB
JavaScript
160 lines
5.8 KiB
JavaScript
// 1 => LOADING
|
|
// 2 => DONE
|
|
// 3 => ERROR
|
|
import * as api from "../api/api-periode.js"
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
periode: [],
|
|
total_list: 0,
|
|
status_get: 0,
|
|
selected: {},
|
|
snackbar: false,
|
|
message_snack: ""
|
|
},
|
|
mutations: {
|
|
update_selected(state, data) {
|
|
state.selected = data
|
|
},
|
|
update_total_list(state, data) {
|
|
state.total_list = data
|
|
},
|
|
update_list(state, data) {
|
|
state.periode = data
|
|
},
|
|
update_status_get(state, data) {
|
|
state.status_get = data
|
|
},
|
|
open_snackbar(state, bool) {
|
|
state.snackbar = bool
|
|
},
|
|
update_message_snack(state, data) {
|
|
state.message_snack = data
|
|
}
|
|
},
|
|
actions: {
|
|
async getList(context) {
|
|
context.commit("update_status_get", 1);
|
|
try {
|
|
var params = {token: one_token()};
|
|
let resp = await api.getListing(params);
|
|
if (resp.status != "OK") {
|
|
context.commit("update_status_get", 3);
|
|
context.commit("update_message_snack", resp.message);
|
|
context.commit("open_snackbar", true);
|
|
} else {
|
|
context.commit("update_status_get", 2);
|
|
let data = {
|
|
records: resp.data.records,
|
|
total: resp.data.total
|
|
}
|
|
// console.log(data.total);
|
|
// console.log(data.records);
|
|
context.commit("update_list", data.records);
|
|
context.commit("update_total_list", data.total);
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_status_get", 3);
|
|
context.commit("update_message_snack", error.message);
|
|
context.commit("open_snackbar", true);
|
|
}
|
|
},
|
|
|
|
async deletePeriode(context) {
|
|
try {
|
|
var params = {
|
|
token: one_token(),
|
|
id: context.state.selected.periodeID
|
|
}
|
|
console.log(params);
|
|
let resp = await api.p_delete(params);
|
|
if (resp.status != "OK") {
|
|
// console.log(resp.message);
|
|
context.commit("open_snackbar", true);
|
|
context.commit("update_message_snack", resp.message);
|
|
} else {
|
|
context.commit("open_snackbar", true);
|
|
var msg = "Berhasil menghapus data periode";
|
|
context.commit("update_message_snack", msg);
|
|
context.commit("update_selected", {});
|
|
context.dispatch("getList");
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_message_snack", error.message);
|
|
context.commit("open_snackbar", true);
|
|
}
|
|
},
|
|
|
|
async addPeriode(context) {
|
|
try {
|
|
var params = {
|
|
token: one_token(),
|
|
...context.state.selected
|
|
};
|
|
console.log(params);
|
|
let resp = await api.p_add(params);
|
|
if (resp.status != "OK") {
|
|
context.commit("open_snackbar", true);
|
|
context.commit("update_message_snack", resp.message);
|
|
} else {
|
|
context.commit("open_snackbar", true);
|
|
var msg = "Berhasil menyimpan data periode";
|
|
context.commit("update_message_snack", msg);
|
|
context.commit("update_selected", {});
|
|
context.dispatch("getList");
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_message_snack", error.message);
|
|
context.commit("open_snackbar", true);
|
|
}
|
|
},
|
|
|
|
async editPeriode(context) {
|
|
try {
|
|
var params = {
|
|
token: one_token(),
|
|
...context.state.selected
|
|
};
|
|
console.log(params);
|
|
let resp = await api.p_edit(params);
|
|
if (resp.status != "OK") {
|
|
context.commit("open_snackbar", true);
|
|
context.commit("update_message_snack", resp.message);
|
|
} else {
|
|
context.commit("open_snackbar", true);
|
|
var msg = "Berhasil menyimpan data periode";
|
|
context.commit("update_message_snack", msg);
|
|
context.commit("update_selected", {});
|
|
context.dispatch("getList");
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_message_snack", error.message);
|
|
context.commit("open_snackbar", true);
|
|
}
|
|
},
|
|
|
|
async checkNewOrEdit(context) {
|
|
if (!checkIsEmpty(context.state.selected)) {
|
|
var msg = "Form masih ada yang kosong";
|
|
context.commit("update_message_snack", msg);
|
|
context.commit("open_snackbar", true);
|
|
return;
|
|
}
|
|
|
|
if (!context.state.selected.periodeID) {
|
|
context.dispatch("addPeriode");
|
|
} else {
|
|
context.dispatch("editPeriode");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
function checkIsEmpty(obj) {
|
|
if (Object.keys(obj).length === 0) {
|
|
return false;
|
|
}
|
|
|
|
return obj.periodeYear && obj.periodeMonth && obj.periodeName && obj.periodeStartDate && obj.periodeEndDate;
|
|
} |