382 lines
14 KiB
JavaScript
382 lines
14 KiB
JavaScript
// 1 => LOADING
|
|
// 2 => DONE
|
|
// 3 => ERROR
|
|
import * as api from "../api/terimaBarang.js"
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
user: one_user(),
|
|
dialogJurnalTerimaBarang: false,
|
|
selectedJurnalType: {},
|
|
jurnalTypeList: [],
|
|
defaultJurnalType: {},
|
|
selectedDate: moment(new Date()).format('YYYY-MM-DD'),
|
|
searchPeriode: '',
|
|
selectedPeriode: {},
|
|
periodeList: [],
|
|
loadingAutocomplete: false,
|
|
searchSupplier: '',
|
|
supplierList: [],
|
|
selectedSupplier: {},
|
|
jurnalTitle: '',
|
|
grniValue: '',
|
|
invoiceValue: '',
|
|
jurnalDescription: '',
|
|
searchCoa: '',
|
|
selectedCoa: {},
|
|
coaList: [],
|
|
kreditValue: 0,
|
|
debitValue: 0,
|
|
errorsAddDetail: [],
|
|
errorsAddJurnal: [],
|
|
detailsJurnalTerimaBarang: [],
|
|
detailSum: { debit: 0, credit: 0, balance: 0 },
|
|
loadingSave: false,
|
|
dialogForm: false,
|
|
snackbar: {
|
|
state: false,
|
|
color: 'success',
|
|
msg: ''
|
|
},
|
|
act: "",
|
|
// Untuk Edit Dialog
|
|
companyInfo: {},
|
|
isPosted: false,
|
|
selectedJurnal: {},
|
|
|
|
last_id: -1,
|
|
loading: false,
|
|
startDate: moment(new Date()).format('YYYY-MM-DD'),
|
|
endDate: moment(new Date()).format('YYYY-MM-DD'),
|
|
loading: false,
|
|
sallary: 0,
|
|
description: '',
|
|
branchPercentList: [],
|
|
selectedBranchPercent: {},
|
|
},
|
|
mutations: {
|
|
update_dialogJurnalTerimaBarang(state, val) {
|
|
state.dialogJurnalTerimaBarang = val
|
|
},
|
|
update_selectedJurnalType(state, val) {
|
|
state.selectedJurnalType = val
|
|
},
|
|
update_jurnalTypeList(state, val) {
|
|
state.jurnalTypeList = val
|
|
},
|
|
update_defaultJurnalType(state, val) {
|
|
state.defaultJurnalType = val
|
|
},
|
|
update_selectedDate(state, val) {
|
|
state.selectedDate = val
|
|
},
|
|
update_searchPeriode(state, val) {
|
|
state.searchPeriode = val
|
|
},
|
|
update_selectedPeriode(state, val) {
|
|
state.selectedPeriode = val
|
|
},
|
|
update_periodeList(state, val) {
|
|
state.periodeList = val
|
|
},
|
|
update_loadingAutocomplete(state, val) {
|
|
state.loadingAutocomplete = val
|
|
},
|
|
update_searchSupplier(state, val) {
|
|
state.searchSupplier = val
|
|
},
|
|
update_selectedSupplier(state, val) {
|
|
state.selectedSupplier = val
|
|
},
|
|
update_supplierList(state, val) {
|
|
state.supplierList = val
|
|
},
|
|
update_jurnalTitle(state, val) {
|
|
state.jurnalTitle = val
|
|
},
|
|
update_grniValue(state, val) {
|
|
state.grniValue = val
|
|
},
|
|
update_invoiceValue(state, val) {
|
|
state.invoiceValue = val
|
|
},
|
|
update_debitValue(state, val) {
|
|
state.debitValue = val
|
|
},
|
|
update_jurnalDescription(state, val) {
|
|
state.jurnalDescription = val
|
|
},
|
|
update_kreditValue(state, val) {
|
|
state.kreditValue = val
|
|
},
|
|
update_coaList(state, val) {
|
|
state.coaList = val
|
|
},
|
|
update_searchCoa(state, val) {
|
|
state.searchCoa = val
|
|
},
|
|
update_selectedCoa(state, val) {
|
|
state.selectedCoa = val
|
|
},
|
|
update_errorsAddDetail(state, val) {
|
|
state.errorsAddDetail = val
|
|
},
|
|
update_errorsAddJurnal(state, val) {
|
|
state.errorsAddJurnal = val
|
|
},
|
|
update_detailsJurnalTerimaBarang(state, val) {
|
|
state.detailsJurnalTerimaBarang = val
|
|
},
|
|
update_detailSum(state, val) {
|
|
state.detailSum = val
|
|
},
|
|
update_loadingSave(state, val) {
|
|
state.loadingSave = val
|
|
},
|
|
update_snackbar(state, val) {
|
|
state.snackbar = val
|
|
},
|
|
update_actForm(state, val) {
|
|
state.act = val
|
|
},
|
|
update_companyInfo(state, val) {
|
|
state.companyInfo = val
|
|
},
|
|
update_isPosted(state, val) {
|
|
state.isPosted = val
|
|
},
|
|
update_selectedJurnal(state, val) {
|
|
state.selectedJurnal = val
|
|
},
|
|
|
|
|
|
/* NOT USED YET */
|
|
update_defaultBranch(state, val) {
|
|
state.defaultBranch = val
|
|
},
|
|
update_branchPercentList(state, val) {
|
|
state.branchPercentList = val
|
|
},
|
|
update_selectedBranchPercent(state, val) {
|
|
state.selectedBranchPercent = val
|
|
},
|
|
update_loading(state, val) {
|
|
state.loading = 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
|
|
},
|
|
|
|
},
|
|
actions: {
|
|
async getJurnalType(context) {
|
|
context.commit("update_loadingAutocomplete", true)
|
|
try {
|
|
let prm = {};
|
|
prm.token = one_token()
|
|
let resp = await api.getJurnalType(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
} else {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
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_loadingAutocomplete", 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)
|
|
} else {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
context.commit("update_periodeList", resp.data)
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
console.log(e)
|
|
}
|
|
},
|
|
|
|
async getSupplier(context) {
|
|
context.commit("update_loadingAutocomplete", true)
|
|
try {
|
|
let prm = {};
|
|
prm.search = context.state.searchSupplier;
|
|
prm.token = one_token()
|
|
let resp = await api.searchSupplier(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
} else {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
context.commit("update_supplierList", 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.token = one_token()
|
|
let resp = await api.searchCoa(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
} else {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
context.commit("update_coaList", resp.data.records)
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_loadingAutocomplete", false)
|
|
console.log(e)
|
|
}
|
|
},
|
|
|
|
async saveJurnal(context, prm) {
|
|
context.commit("update_loadingSave", true)
|
|
try {
|
|
prm.token = one_token()
|
|
let resp = await api.saveJurnal(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_loadingSave", false)
|
|
context.commit("jurnalumum/update_save_error_message", resp.message, { root: true })
|
|
context.commit("jurnalumum/update_alert_error", true, { root: true })
|
|
console.log(resp);
|
|
} else {
|
|
context.commit("jurnalumum/update_alert_success", true, { root: true })
|
|
var msg = " Journal " + prm.jurnalTitle + " berhasil disimpan"
|
|
context.commit("jurnalumum/update_msg_success", msg, { root: true })
|
|
|
|
context.dispatch('jurnalumum/search', {
|
|
current_page: context.rootState.jurnalumum.current_page,
|
|
search: context.rootState.jurnalumum.x_search,
|
|
startdate: context.rootState.jurnalumum.start_date,
|
|
enddate: context.rootState.jurnalumum.end_date,
|
|
regionalid: context.rootState.jurnalumum.user.S_RegionalID,
|
|
branchid: context.rootState.jurnalumum.user.M_BranchID,
|
|
last_id: -1
|
|
}, { root: true })
|
|
|
|
context.commit("update_dialogForm", false)
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_loadingSave", false)
|
|
console.log(e)
|
|
}
|
|
},
|
|
|
|
async loadEditDialog(context, prm) {
|
|
context.commit("update_loadingSave", true)
|
|
try {
|
|
prm.token = one_token()
|
|
let resp = await api.loadEditDialog(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.commit("update_loadingSave", false)
|
|
|
|
context.commit("update_selectedJurnal", resp.data.jurnalHead)
|
|
context.commit("update_selectedJurnalType", {
|
|
JurnalTypeID: resp.data.jurnalHead.JurnalTypeID,
|
|
JurnalTypeName: resp.data.jurnalHead.JurnalTypeName
|
|
})
|
|
context.commit("update_selectedDate", resp.data.jurnalHead.jurnalDate)
|
|
context.commit("update_jurnalTitle", resp.data.jurnalHead.jurnalTitle)
|
|
context.commit("update_jurnalDescription", resp.data.jurnalHead.jurnalDescription)
|
|
context.commit("update_grniValue", resp.data.jurnalHead.GRNIGR ? resp.data.jurnalHead.GRNIGR : '')
|
|
context.commit("update_invoiceValue", resp.data.jurnalHead.INVGR ? resp.data.jurnalHead.INVGR : '')
|
|
context.commit("update_isPosted", resp.data.jurnalHead.jurnalIsPosted)
|
|
|
|
context.commit("update_selectedSupplier", resp.data.supplier)
|
|
context.commit("update_selectedPeriode", resp.data.periode)
|
|
context.commit("update_detailsJurnalTerimaBarang", resp.data.details)
|
|
|
|
// Hitung sum
|
|
let totalDebit = 0, totalCredit = 0
|
|
resp.data.details.forEach((item) => {
|
|
totalDebit += parseFloat(item.jurnalTxDebit)
|
|
totalCredit += parseFloat(item.jurnalTxCredit)
|
|
})
|
|
let totalBalance = totalDebit - totalCredit
|
|
context.commit("update_detailSum", {
|
|
debit: totalDebit,
|
|
credit: totalCredit,
|
|
balance: totalBalance
|
|
})
|
|
|
|
context.commit("update_dialogJurnalTerimaBarang", true)
|
|
context.commit("update_actForm", 'edit')
|
|
console.log(resp.data);
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_loadingSave", false)
|
|
console.log(e)
|
|
}
|
|
},
|
|
|
|
async updateJurnal(context, prm) {
|
|
context.commit("update_loadingSave", true)
|
|
try {
|
|
prm.token = one_token()
|
|
let resp = await api.updateJurnal(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_loadingSave", false)
|
|
context.commit("jurnalumum/update_save_error_message", resp.message, { root: true })
|
|
context.commit("jurnalumum/update_alert_error", true, { root: true })
|
|
console.log(resp)
|
|
} else {
|
|
context.commit("update_loadingSave", false)
|
|
context.commit("jurnalumum/update_alert_success", true, { root: true })
|
|
var msg = " Journal " + prm.jurnalTitle + " berhasil diupdate"
|
|
context.commit("jurnalumum/update_msg_success", msg, { root: true })
|
|
context.dispatch('jurnalumum/search', {
|
|
current_page: context.rootState.jurnalumum.current_page,
|
|
search: context.rootState.jurnalumum.x_search,
|
|
startdate: context.rootState.jurnalumum.start_date,
|
|
enddate: context.rootState.jurnalumum.end_date,
|
|
regionalid: context.rootState.jurnalumum.user.S_RegionalID,
|
|
branchid: context.rootState.jurnalumum.user.M_BranchID,
|
|
last_id: -1
|
|
}, { root: true })
|
|
console.log(resp)
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_loadingSave", false)
|
|
console.log(e)
|
|
}
|
|
},
|
|
|
|
|
|
}
|
|
} |