Files
fe-accone/test/vuex/acc-one-jurnal/modules/jurnalgaji.js

841 lines
32 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/jurnalgaji.js"
export default {
namespaced: true,
state: {
last_id: -1,
loading: false,
dialogForm: false,
dialogType: 'N',
startDate: moment(new Date()).format('YYYY-MM-DD'),
endDate: moment(new Date()).format('YYYY-MM-DD'),
selectedDate: moment(new Date()).format('YYYY-MM-DD'),
user: one_user(),
jurnalTypeList: [],
selectedJurnalType: {},
balance: {
debet: 0,
kredit: 0,
balance: 0,
},
balanceRegional: {
debet: 0,
kredit: 0,
balance: 0,
},
defaultJurnalType: {},
loading: false,
periodeList: [],
searchPeriode: '',
selectedPeriode: {},
loadingAutocomplete: false,
title: '',
coaList: [],
searchCoa: '',
selectedCoa: {},
sallary: 0,
description: '',
branchPercentList: [],
selectedBranchPercent: {},
defaultBranch: [],
detailJurnalGaji: [],
detailJurnalGajiRegional: [],
dialogAddDetail: false,
coaListDetail: [],
selectedCoaDetail: {},
searchCoaDetail: '',
coaListKas: [],
selectedCoaKas: {},
searchCoaKas: '',
coaListReg: [],
selectedCoaReg: {},
searchCoaReg: '',
selectedBranchDetail: {},
kreditDetail: 0,
snackbar: {
state: false,
color: 'success',
msg: ''
},
idEdit: 0,
},
mutations: {
update_dialogType(state, val) {
state.dialogType = val
},
update_idEdit(state, val) {
state.idEdit = val
},
update_balance(state, val) {
state.balance = val
},
update_balanceRegional(state, val) {
state.balanceRegional = val
},
update_snackbar(state, val) {
state.snackbar = val
},
update_kreditDetail(state, val) {
state.kreditDetail = val
},
update_selectedBranchDetail(state, val) {
state.selectedBranchDetail = val
},
update_coaListKas(state, val) {
state.coaListKas = val
},
update_searchCoaKas(state, val) {
state.searchCoaKas = val
},
update_coaListReg(state, val) {
state.coaListReg = val
},
update_searchCoaReg(state, val) {
state.searchCoaReg = val
},
update_selectedCoaReg(state, val) {
state.selectedCoaReg = val
},
update_selectedCoaKas(state, val) {
state.selectedCoaKas = val
},
update_coaListDetail(state, val) {
state.coaListDetail = val
},
update_searchCoaDetail(state, val) {
state.searchCoaDetail = val
},
update_selectedCoaDetail(state, val) {
state.selectedCoaDetail = val
},
update_detailJurnalGaji(state, val) {
state.detailJurnalGaji = val
},
update_detailJurnalGajiRegional(state, val) {
state.detailJurnalGajiRegional = val
},
update_dialogAddDetail(state, val) {
state.dialogAddDetail = val
},
update_title(state, val) {
state.title = val
},
update_defaultBranch(state, val) {
state.defaultBranch = val
},
update_branchPercentList(state, val) {
state.branchPercentList = val
},
update_selectedBranchPercent(state, val) {
state.selectedBranchPercent = val
},
update_selectedDate(state, val) {
state.selectedDate = val
},
update_loadingAutocomplete(state, val) {
state.loadingAutocomplete = val
},
update_coaList(state, val) {
state.coaList = val
},
update_searchCoa(state, val) {
state.searchCoa = val
},
update_selectedCoa(state, val) {
state.selectedCoa = val
},
update_selectedPeriode(state, val) {
state.selectedPeriode = val
},
update_searchPeriode(state, val) {
state.searchPeriode = val
},
update_periodeList(state, val) {
state.periodeList = val
},
update_loading(state, val) {
state.loading = val
},
update_defaultJurnalType(state, val) {
state.defaultJurnalType = val
},
update_selectedJurnalType(state, val) {
state.selectedJurnalType = val
},
update_jurnalTypeList(state, val) {
state.jurnalTypeList = val
},
update_dialogForm(state, val) {
state.dialogForm = val
},
update_startDate(state, val) {
state.startDate = val
},
update_endDate(state, val) {
state.endDate = val
},
update_sallary(state, val) {
state.sallary = val
},
update_description(state, val) {
state.description = val
},
},
actions: {
countSummary(context) {
let kredit = 0;
let debet = 0;
context.state.detailJurnalGaji.forEach((e) => {
if (e.type === "D") {
debet = parseFloat(e.debet) + debet;
}
if (e.type === "K") {
kredit = parseFloat(e.kredit) + kredit;
}
});
let total = debet - kredit;
let summary = {
debet: debet,
kredit: kredit,
balance: total,
};
context.commit("update_balance", summary)
// this.balance = summary;
},
countSummaryRegional(context) {
let kredit = 0;
let debet = 0;
context.state.detailJurnalGajiRegional.forEach((e) => {
if (e.type === "D") {
debet = parseFloat(e.debet) + debet;
}
if (e.type === "K") {
kredit = parseFloat(e.kredit) + kredit;
}
});
let total = debet - kredit;
let summary = {
debet: debet,
kredit: kredit,
balance: total,
};
context.commit("update_balanceRegional", summary)
},
async getDetail(context, prm) {
context.commit("update_loading", true)
try {
prm.token = one_token()
let resp = await api.getDetail(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
} else {
console.log(resp.data);
// setTimeout(() => {
// // Tambahkan logika yang ingin dijalankan setelah 3 detik di sini
// console.log("Timer selesai, menjalankan sesuatu setelah 3 detik");
// context.commit("update_loading", false)
// }, 3000);
context.commit("update_selectedPeriode", resp.data.periode)
context.commit("update_searchPeriode", resp.data.periode.display)
context.commit("update_title", resp.data.title)
context.commit("update_selectedDate", resp.data.date)
context.commit("update_selectedCoa", resp.data.coa)
context.commit("update_searchCoa", resp.data.coa.display)
context.commit("update_selectedCoaKas", resp.data.coaKas)
context.commit("update_searchCoaKas", resp.data.coaKas.display ?? '')
context.commit("update_selectedCoaReg", resp.data.coaReg)
context.commit("update_searchCoaReg", resp.data.coaReg.display ?? '')
context.commit("update_sallary", resp.data.sallary)
context.commit("update_description", resp.data.description)
context.commit("update_detailJurnalGaji", resp.data.jurnalDetail)
context.commit("update_detailJurnalGajiRegional", resp.data.jurnalDetailRegional)
context.commit("update_dialogType", resp.data.type)
context.commit("update_selectedBranchPercent", resp.data.branchPrecent)
context.dispatch("countSummary")
context.dispatch("countSummaryRegional")
context.commit("update_loading", false)
// let snackbar = {
// state: true,
// color: 'success',
// msg: 'Berhasil tambah jurnal gaji regional'
// }
// context.commit("update_snackbar", snackbar)
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
let snackbar = {
state: true,
color: 'error',
msg: e.message
}
context.commit("update_snackbar", snackbar)
}
},
async saveJurnalGaji(context, prm) {
context.commit("update_loading", true)
try {
prm.token = one_token()
let resp = await api.saveJurnalGaji(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
} else {
console.log(resp);
context.commit("update_loading", false)
let snackbar = {
state: true,
color: 'success',
msg: 'Berhasil tambah jurnal gaji regional'
}
context.commit("update_snackbar", snackbar)
context.commit("update_selectedPeriode", {})
context.commit("update_selectedCoa", {})
context.commit("update_coaList", [])
context.commit("update_coaListKas", [])
context.commit("update_selectedCoaKas", {})
context.commit("update_selectedBranchPercent", {})
context.commit("update_detailJurnalGaji", [])
context.commit("update_detailJurnalGajiRegional", [])
let blc = {
debet: 0,
kredit: 0,
balance: 0,
};
context.commit("update_balance", blc)
context.commit("update_balanceRegional", blc)
context.commit("update_sallary", 0)
context.commit("update_searchCoa", '')
context.commit("update_searchCoaKas", '')
context.commit("update_searchCoaReg", '')
context.commit("update_title", '')
context.commit("update_description", '')
context.commit("update_dialogForm", false)
context.commit("jurnalumum/update_x_drop_tipe_jurnal", {}, {root: true});
const jurnalumumState = context.rootState.jurnalumum;
// console.log("Data Jurnal Umum:", jurnalumumState);
// this.$store.dispatch("jurnalumum/search", {
// regionalid: this.$store.state.jurnalumum.user.S_RegionalID,
// branchid: this.$store.state.jurnalumum.user.M_BranchID,
// current_page: this.$store.state.jurnalumum.current_page,
// search: this.$store.state.jurnalumum.x_search,
// startdate: this.$store.state.jurnalumum.start_date,
// enddate: this.$store.state.jurnalumum.end_date,
// last_id: -1,
// });
context.dispatch("jurnalumum/search", {
regionalid: jurnalumumState.user.S_RegionalID,
branchid: jurnalumumState.user.M_BranchID,
current_page: jurnalumumState.current_page,
search: jurnalumumState.x_search,
startdate: jurnalumumState.start_date,
enddate: jurnalumumState.end_date,
last_id: -1,
}, { root: true });
// this.sallary = 0;
// this.searchCoa = "";
// this.searchCoaKas = "";
// this.title = "";
// this.description = "";
// console.log("close dialogs");
// this.$emit("update:show", false);
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
let snackbar = {
state: true,
color: 'error',
msg: e.message
}
context.commit("update_snackbar", snackbar)
}
},
async deleteJurnalgaji(context, prm) {
context.commit("update_loading", true)
try {
prm.token = one_token()
let resp = await api.deleteJurnalgaji(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
} else {
console.log(resp);
context.commit("update_loading", false)
let snackbar = {
state: true,
color: 'success',
msg: 'Berhasil delete jurnal gaji regional'
}
context.commit("update_snackbar", snackbar)
context.commit("update_selectedPeriode", {})
context.commit("update_selectedCoa", {})
context.commit("update_coaList", [])
context.commit("update_coaListKas", [])
context.commit("update_selectedCoaKas", {})
context.commit("update_selectedBranchPercent", {})
context.commit("update_detailJurnalGaji", [])
context.commit("update_detailJurnalGajiRegional", [])
let blc = {
debet: 0,
kredit: 0,
balance: 0,
};
const jurnalumumState = context.rootState.jurnalumum;
context.dispatch("jurnalumum/search", {
regionalid: jurnalumumState.user.S_RegionalID,
branchid: jurnalumumState.user.M_BranchID,
current_page: jurnalumumState.current_page,
search: jurnalumumState.x_search,
startdate: jurnalumumState.start_date,
enddate: jurnalumumState.end_date,
last_id: -1,
}, { root: true });
// this.sallary = 0;
// this.searchCoa = "";
// this.searchCoaKas = "";
// this.title = "";
// this.description = "";
// console.log("close dialogs");
// this.$emit("update:show", false);
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
let snackbar = {
state: true,
color: 'error',
msg: e.message
}
context.commit("update_snackbar", snackbar)
}
},
async getJurnalType(context) {
context.commit("update_loading", true)
try {
let prm = {};
prm.token = one_token()
let resp = await api.getJurnalType(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loading", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_jurnalTypeList", resp.data.records)
context.commit("update_selectedJurnalType", resp.data.default)
context.commit("update_defaultJurnalType", resp.data.default)
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
}
},
async getDefaultBranch(context) {
context.commit("update_loading", true)
try {
let prm = {};
prm.token = one_token()
prm.company = context.state.user.M_BranchCompanyID
prm.regional = context.state.user.S_RegionalID
let resp = await api.getDefaultBranch(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loading", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_defaultBranch", resp.data)
// context.commit("update_selectedJurnalType", resp.data.default)
// context.commit("update_defaultJurnalType", resp.data.default)
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
}
},
async getBranchpercent(context) {
context.commit("update_loading", true)
try {
let prm = {};
prm.token = one_token()
prm.regional = context.state.user.S_RegionalID
let resp = await api.searchBranchPercent(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loading", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_branchPercentList", resp.data)
// context.commit("update_selectedJurnalType", resp.data.default)
// context.commit("update_defaultJurnalType", resp.data.default)
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
}
},
async getPeriode(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchPeriode;
prm.token = one_token()
let resp = await api.searchPeriode(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_periodeList", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async getCoa(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchCoa;
prm.company = context.state.user.M_BranchCompanyID
prm.regional = context.state.user.S_RegionalID
prm.token = one_token()
let resp = await api.searchCoa(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_coaList", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async getCoaKas(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchCoaKas;
prm.company = context.state.user.M_BranchCompanyID
prm.regional = context.state.user.S_RegionalID
prm.token = one_token()
let resp = await api.searchCoa(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_coaListKas", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async getCoaReg(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchCoaReg;
prm.company = context.state.user.M_BranchCompanyID
prm.regional = context.state.user.S_RegionalID
prm.token = one_token()
let resp = await api.searchCoa(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_coaListReg", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async getCoaDetail(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchCoaDetail;
prm.company = context.state.user.M_BranchCompanyID
prm.regional = context.state.user.S_RegionalID
prm.branch = context.state.selectedBranchDetail.branchID
prm.token = one_token()
let resp = await api.searchCoaDetail(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_coaListDetail", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async searchKredit(context) {
context.commit("update_loadingAutocomplete", true)
try {
let prm = {};
prm.search = context.state.searchKredit;
prm.token = one_token()
let resp = await api.searchkredit(prm)
if (resp.status != "OK") {
context.commit("update_loadingAutocomplete", false)
console.log(resp);
} else {
console.log(resp);
context.commit("update_loadingAutocomplete", false)
// let cek = 0;
// if (parseInt(resp.data) > 0) {
// cek = true
// }
context.commit("update_kreditList", resp.data)
}
} catch (e) {
context.commit("update_loadingAutocomplete", false)
console.log(e)
}
},
async search(context) {
context.commit("update_loading", true)
try {
let prm = {}
prm.search = context.state.searchTemplate
prm.page = context.state.page
prm.token = one_token()
let resp = await api.search(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
} else {
context.commit("update_loading", false)
context.commit("update_templateList", resp.data.records)
context.commit("update_total", resp.data.total)
console.log(resp.data);
}
} catch (e) {
context.commit("update_loading", false)
console.log(e)
}
},
async insertTemplate(context, prm) {
context.commit("update_loadingSave", true)
try {
prm.token = one_token()
let resp = await api.insertTemplate(prm)
if (resp.status != "OK") {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
console.log(resp)
} else {
context.dispatch("search");
context.commit("update_dialogForm", false)
let snackbar = {
state: true,
color: 'success',
msg: 'Berhasil tambah data'
}
context.commit("update_snackbar", snackbar)
context.commit("update_loadingSave", false)
console.log(resp.data);
}
} catch (e) {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: 'Error add data'
}
context.commit("update_snackbar", snackbar)
console.log('error add data')
}
},
async updateTemplate(context, prm) {
context.commit("update_loadingSave", true)
try {
prm.token = one_token()
let resp = await api.updateTemplate(prm)
if (resp.status != "OK") {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
console.log(resp)
} else {
context.dispatch("search");
context.commit("update_dialogForm", false)
let snackbar = {
state: true,
color: 'success',
msg: 'Berhasil edit data'
}
context.commit("update_snackbar", snackbar)
context.commit("update_loadingSave", false)
console.log(resp.data);
}
} catch (e) {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: 'Error edit data'
}
context.commit("update_snackbar", snackbar)
console.log('error edit data')
}
},
async deleteTemplate(context, prm) {
context.commit("update_loadingSave", true)
try {
prm.token = one_token()
let resp = await api.deleteTemplate(prm)
if (resp.status != "OK") {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: resp.message
}
context.commit("update_snackbar", snackbar)
console.log(resp)
} else {
context.dispatch("search");
context.commit("update_dialogAlert", false)
let snackbar = {
state: true,
color: 'success',
msg: 'Berhasil delete data'
}
context.commit("update_snackbar", snackbar)
context.commit("update_loadingSave", false)
console.log(resp.data);
}
} catch (e) {
context.commit("update_loadingSave", false)
let snackbar = {
state: true,
color: 'error',
msg: 'Error edit data'
}
context.commit("update_snackbar", snackbar)
console.log('error delete data')
}
},
}
}