404 lines
15 KiB
JavaScript
404 lines
15 KiB
JavaScript
import * as api from "../api/pengeluaranbarang.js";
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
search_status: 0,
|
|
insert_status: 0,
|
|
insert_error: '',
|
|
current_page: 1,
|
|
|
|
user: one_user(),
|
|
keluar_barang_dialog: false,
|
|
selected_jurnal_type: {},
|
|
periode_start_date: moment(new Date()).format('YYYY-MM-DD'),
|
|
periode_end_date: moment(new Date()).format('YYYY-MM-DD'),
|
|
|
|
input_company: one_user().M_BranchCompanyName,
|
|
input_regional: one_user().S_RegionalName,
|
|
input_cabang: one_user().M_BranchName,
|
|
input_date: moment(new Date()).format('YYYY-MM-DD'),
|
|
input_title: "",
|
|
input_description: "",
|
|
list_periode: [],
|
|
selected_periode: {},
|
|
|
|
|
|
detail_dialog: false,
|
|
table_detail: [],
|
|
list_coa: [],
|
|
selected_coa: {},
|
|
input_detail_debet: 0,
|
|
input_detail_kredit: 0,
|
|
summary_detail: {
|
|
total_debet: 0,
|
|
total_kredit: 0,
|
|
total_balance: 0
|
|
},
|
|
|
|
opp_type: "add",
|
|
crud_jurnal_status: 0,
|
|
crud_jurnal: {
|
|
state: false,
|
|
msg: "",
|
|
color: "error"
|
|
},
|
|
|
|
current_jurnal: {}
|
|
},
|
|
mutations: {
|
|
update_search_status(state, val) {
|
|
state.search_status = val
|
|
},
|
|
update_insert_status(state, val) {
|
|
state.insert_status = val
|
|
},
|
|
update_insert_error(state, val) {
|
|
state.insert_error = val
|
|
},
|
|
update_current_page(state, val) {
|
|
state.current_page = val
|
|
},
|
|
update_user(state, val) {
|
|
state.user = val
|
|
},
|
|
update_pengeluaran_barang_dialog(state, val) {
|
|
state.keluar_barang_dialog = val
|
|
},
|
|
update_selected_jurnal_type(state, val) {
|
|
state.selected_jurnal_type = val
|
|
},
|
|
update_periode_start_date(state, val) {
|
|
state.periode_start_date = val
|
|
},
|
|
update_periode_end_date(state, val) {
|
|
state.periode_end_date = val
|
|
},
|
|
update_input_company(state, val) {
|
|
state.input_company = val
|
|
},
|
|
update_input_regional(state, val) {
|
|
state.input_regional = val
|
|
},
|
|
update_input_cabang(state, val) {
|
|
state.input_cabang = val
|
|
},
|
|
update_input_date(state, val) {
|
|
state.input_date = val
|
|
},
|
|
update_input_title(state, val) {
|
|
state.input_title = val
|
|
},
|
|
update_input_description(state, val) {
|
|
state.input_description = val
|
|
},
|
|
update_list_periode(state, val) {
|
|
state.list_periode = val
|
|
},
|
|
update_selected_periode(state, val) {
|
|
state.selected_periode = val
|
|
},
|
|
update_list_coa(state, val) {
|
|
state.list_coa = val
|
|
},
|
|
update_selected_coa(state, val) {
|
|
state.selected_coa = val
|
|
},
|
|
update_detail_dialog(state, val) {
|
|
state.detail_dialog = val
|
|
},
|
|
update_table_detail(state, val) {
|
|
state.table_detail = val
|
|
},
|
|
update_summary_detail(state, val) {
|
|
state.summary_detail = val
|
|
},
|
|
update_input_detail_debet(state, val) {
|
|
state.input_detail_debet = val
|
|
},
|
|
update_input_detail_kredit(state, val) {
|
|
state.input_detail_kredit = val
|
|
},
|
|
update_crud_jurnal_status(state, val) {
|
|
state.crud_jurnal_status = val
|
|
},
|
|
update_crud_jurnal(state, val) {
|
|
state.crud_jurnal = val
|
|
},
|
|
update_opp_type(state, val) {
|
|
state.opp_type = val
|
|
},
|
|
update_current_jurnal(state, val) {
|
|
state.current_jurnal = val
|
|
}
|
|
},
|
|
actions: {
|
|
async getperiode(context, params) {
|
|
context.commit("update_search_status", 1)
|
|
try {
|
|
params.token = one_token()
|
|
let resp = await api.get_periode(params)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_search_status", 3)
|
|
} else {
|
|
context.commit("update_list_periode", resp.data.records)
|
|
context.commit("update_search_status", 2)
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_search_status", 3)
|
|
}
|
|
},
|
|
async getcoa(context, params) {
|
|
context.commit("update_search_status", 1)
|
|
try {
|
|
params.token = one_token()
|
|
let resp = await api.get_coa(params)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_search_status", 3)
|
|
} else {
|
|
context.commit("update_list_coa", resp.data.records)
|
|
context.commit("update_search_status", 2)
|
|
}
|
|
} catch (error) {
|
|
context.commit("update_search_status", 3)
|
|
}
|
|
},
|
|
async add_detail_table(context, params) {
|
|
context.commit("update_insert_status", 1)
|
|
try {
|
|
let curr_detail = context.state.table_detail
|
|
curr_detail.push(params)
|
|
|
|
let k = 0
|
|
let d = 0
|
|
curr_detail.forEach(item => {
|
|
d += parseFloat(Number(item.debet).toFixed(2))
|
|
k += parseFloat(Number(item.kredit).toFixed(2))
|
|
});
|
|
|
|
let summary = {
|
|
total_kredit: k,
|
|
total_debet: d,
|
|
total_balance: (d - k)
|
|
}
|
|
|
|
|
|
context.commit("update_table_detail", curr_detail)
|
|
context.commit("update_summary_detail", summary)
|
|
context.commit("update_insert_status", 2)
|
|
} catch (error) {
|
|
context.commit("update_insert_error", "error insert detail jurnal")
|
|
context.commit("update_insert_status", 3)
|
|
}
|
|
},
|
|
async del_detail_table(context, params) {
|
|
context.commit("update_insert_status", 1)
|
|
try {
|
|
let curr_detail = context.state.table_detail
|
|
if (params > -1) {
|
|
curr_detail.splice(params, 1)
|
|
}
|
|
|
|
let k = 0
|
|
let d = 0
|
|
if (Object.keys(curr_detail).length > 0) {
|
|
curr_detail.forEach(item => {
|
|
d += parseFloat(Number(item.debet).toFixed(2))
|
|
k += parseFloat(Number(item.kredit).toFixed(2))
|
|
})
|
|
}
|
|
|
|
let summary = {
|
|
total_kredit: k,
|
|
total_debet: d,
|
|
total_balance: (d - k)
|
|
}
|
|
|
|
context.commit("update_table_detail", curr_detail)
|
|
context.commit("update_summary_detail", summary)
|
|
context.commit("update_insert_status", 2)
|
|
} catch (error) {
|
|
context.commit("update_insert_error", "error delete detail jurnal")
|
|
context.commit("update_insert_status", 3)
|
|
}
|
|
},
|
|
async simpan_jurnal(context, params) {
|
|
context.commit("update_crud_jurnal_status", 1)
|
|
try {
|
|
params.token = one_token()
|
|
let resp = await api.simpanjurnal(params)
|
|
if (resp.status != "OK") {
|
|
let a = {
|
|
state: true,
|
|
msg: resp.message,
|
|
color: "error"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 3)
|
|
} else {
|
|
let a = {
|
|
state: true,
|
|
msg: "Sukses",
|
|
color: "success"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 2)
|
|
context.commit("update_pengeluaran_barang_dialog", false)
|
|
|
|
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 })
|
|
}
|
|
} catch (error) {
|
|
let a = {
|
|
state: true,
|
|
msg: error.message,
|
|
color: "error"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 3)
|
|
}
|
|
},
|
|
async load_jurnal(context, params) {
|
|
try {
|
|
params.token = one_token()
|
|
let resp = await api.getdetailjurnal(params)
|
|
if (resp.status != "OK") {
|
|
|
|
} else {
|
|
let sel_jurnal = {
|
|
JurnalTypeID: resp.data.jurnal.JurnalTypeID,
|
|
JurnalTypeCode: resp.data.jurnal.JurnalTypeCode,
|
|
JurnalTypeName: resp.data.jurnal.JurnalTypeName,
|
|
JurnalTypeAccesRight: resp.data.jurnal.JurnalTypeAccesRight,
|
|
JurnalTypeIsActive: resp.data.jurnal.JurnalTypeIsActive
|
|
}
|
|
context.commit("update_selected_jurnal_type", sel_jurnal)
|
|
|
|
let sel_periode = resp.data.periode
|
|
context.commit("update_selected_periode", sel_periode)
|
|
|
|
let in_title = resp.data.jurnal.jurnalTitle
|
|
context.commit("update_input_title", in_title)
|
|
let in_desc = resp.data.jurnal.jurnalDescription
|
|
context.commit("update_input_description", in_desc)
|
|
let in_date = resp.data.jurnal.jurnalDate
|
|
context.commit("update_input_date", in_date)
|
|
|
|
let j_detail = resp.data.jurnaldetail
|
|
context.commit("update_table_detail", j_detail)
|
|
|
|
let k = 0
|
|
let d = 0
|
|
j_detail.forEach(item => {
|
|
d += parseFloat(Number(item.debet).toFixed(2))
|
|
k += parseFloat(Number(item.kredit).toFixed(2))
|
|
})
|
|
|
|
let summary = {
|
|
total_kredit: k,
|
|
total_debet: d,
|
|
total_balance: (d - k)
|
|
}
|
|
context.commit("update_summary_detail", summary)
|
|
context.commit("update_current_jurnal", resp.data.jurnal)
|
|
}
|
|
} catch (error) {
|
|
let a = {
|
|
state: true,
|
|
msg: error.message,
|
|
color: "error"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 3)
|
|
}
|
|
},
|
|
async edit_jurnal(context, params) {
|
|
try {
|
|
context.commit("update_opp_type", "edit")
|
|
context.dispatch("load_jurnal", params)
|
|
context.commit("update_pengeluaran_barang_dialog", true)
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
},
|
|
async simpan_edit_jurnal(context, params) {
|
|
context.commit("update_crud_jurnal_status", 1)
|
|
try {
|
|
params.token = one_token()
|
|
let resp = await api.editdetailjurnal(params)
|
|
if (resp.status != "OK") {
|
|
let a = {
|
|
state: true,
|
|
msg: resp.message,
|
|
color: "error"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 3)
|
|
} else {
|
|
let a = {
|
|
state: true,
|
|
msg: "Sukses",
|
|
color: "success"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 2)
|
|
context.commit("update_pengeluaran_barang_dialog", false)
|
|
|
|
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 })
|
|
}
|
|
} catch (error) {
|
|
let a = {
|
|
state: true,
|
|
msg: error.message,
|
|
color: "error"
|
|
}
|
|
context.commit("update_crud_jurnal", a)
|
|
context.commit("update_crud_jurnal_status", 3)
|
|
}
|
|
},
|
|
async add_jurnal(context) {
|
|
try {
|
|
context.commit("update_opp_type", "add")
|
|
|
|
context.commit("update_input_company", context.state.user.M_BranchCompanyName)
|
|
context.commit("update_input_regional", context.state.user.S_RegionalName)
|
|
context.commit("update_input_cabang", context.state.user.M_BranchName)
|
|
context.commit("update_selected_jurnal_type", context.rootState.jurnalumum.x_drop_tipe_jurnal)
|
|
|
|
context.commit("update_selected_periode", {})
|
|
context.commit("update_input_date", moment(new Date()).format('YYYY-MM-DD'))
|
|
context.commit("update_input_title", "")
|
|
context.commit("update_input_description", "")
|
|
|
|
context.commit("update_table_detail", [])
|
|
context.commit("update_selected_coa", {})
|
|
context.commit("update_input_detail_debet", 0)
|
|
context.commit("update_input_detail_kredit", 0)
|
|
let summary = {
|
|
total_kredit: 0,
|
|
total_debet: 0,
|
|
total_balance: 0
|
|
}
|
|
context.commit("update_summary_detail", summary)
|
|
context.commit("update_pengeluaran_barang_dialog", true)
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
}
|
|
}
|
|
}; |