Files
fe-accone/test/vuex/acc-one-payment-voucher/modules/voucher.js

629 lines
21 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/voucher.js";
export default {
namespaced: true,
state: {
dialog_voucher: false,
status_options: [
{ val: 0, text: 'All' }, { val: 1, text: 'Draft' },
{ val: 2, text: 'Paid' }, { val: 3, text: 'Realitation' }
],
selected_status: { val: 1, text: 'Draft' },
menuStartDate: false,
menuEndDate: false,
dStartDate: new Date().toISOString().substring(0, 10),
dEndDate: new Date().toISOString().substring(0, 10),
xStartDate: moment(new Date()).format('YYYY-MM-DD'),
xEndDate: moment(new Date()).format('YYYY-MM-DD'),
// listing
currentPage: 1,
search_status: 0,
search_error_message: "",
voucherList: [],
selected_voucher: {},
total_page_voucher: 0,
xsearch: "",
act: "new",
// form
load_status_branch: 0,
error_message: "",
alert_error: false,
branchList: [],
selected_branch: {},
search_branch: "",
accountDanaList: [],
selected_accountDana: {},
search_accountDana: "",
load_status_accDana: 0,
accountBiayaList: [],
selected_accountBiaya: {},
search_accountBiaya: "",
load_status_accBiaya: 0,
accountTempList: [],
selected_accountTemp: {},
search_accountTemp: "",
load_status_accTemp: 0,
load_status: 0,
purchaseList: [],
selected_purchase: [],
resume_total: {"totalRealitation": 0},
errors: [],
alert_error: false,
alert_success: false,
success_message: "",
totalApproved: 0,
// detail
search_status_detail: 0,
details: [],
// add coa per item
dialog_account_item: false,
list_voucher_detail: [],
list_accitem: []
},
mutations: {
update_dialog_voucher(state, val) {
state.dialog_voucher = val;
},
update_status_options(state, val) {
state.status_options = val;
},
update_selected_status(state, val) {
state.selected_status = val;
},
update_menuStartDate(state, val) {
state.menuStartDate = val;
},
update_menuEndDate(state, val) {
state.menuEndDate = val;
},
update_dStartDate(state, val) {
state.dStartDate = val;
},
update_dEndDate(state, val) {
state.dEndDate = val;
},
update_xStartDate(state, val) {
state.xStartDate = val;
},
update_xEndDate(state, val) {
state.xEndDate = val;
},
update_currentPage(state, val) {
state.currentPage = val;
},
update_search_status(state, val) {
state.search_status = val;
},
update_search_error_message(state, val) {
state.search_error_message = val;
},
update_voucherList(state, val) {
state.voucherList = val;
},
update_selected_voucher(state, val) {
state.selected_voucher = val;
},
update_total_page_voucher(state, val) {
state.total_page_voucher = val;
},
update_xsearch(state, val) {
state.xsearch = val;
state.currentPage = 1;
},
update_act(state, val) {
state.act = val
},
update_load_status_branch(state, val) {
state.load_status_branch = val;
},
update_error_message(state, val) {
state.error_message = val;
},
update_alert_error(state, val) {
state.alert_error = val;
},
update_branchList(state, val) {
state.branchList = val;
},
update_selected_branch(state, val) {
state.selected_branch = val;
},
update_search_branch(state, val) {
state.search_branch = val;
},
update_accountDanaList(state, val) {
state.accountDanaList = val;
},
update_selected_accountDana(state, val) {
state.selected_accountDana = val;
},
update_search_accountDana(state, val) {
state.search_accountDana = val;
},
update_load_status_accDana(state, val) {
state.load_status_accDana = val;
},
update_accountBiayaList(state, val) {
state.accountBiayaList = val;
},
update_selected_accountBiaya(state, val) {
state.selected_accountBiaya = val;
},
update_search_accountBiaya(state, val) {
state.search_accountBiaya = val;
},
update_load_status_accBiaya(state, val) {
state.load_status_accBiaya = val;
},
update_accountTempList(state, val) {
state.accountTempList = val;
},
update_selected_accountTemp(state, val) {
state.selected_accountTemp = val;
},
update_search_accountTemp(state, val) {
state.search_accountTemp = val;
},
update_load_status_accTemp(state, val) {
state.load_status_accTemp = val;
},
update_load_status(state, val) {
state.load_status = val;
},
update_purchaseList(state, val) {
state.purchaseList = val;
},
update_selected_purchase(state, val) {
state.selected_purchase = val;
},
update_resume_total(state, val) {
state.resume_total = val;
},
update_errors(state, val) {
state.errors = val;
},
update_alert_error(state, val) {
state.alert_error = val;
},
update_alert_success(state, val) {
state.alert_success = val;
},
update_success_message(state, val) {
state.success_message = val;
},
update_totalApproved(state, val) {
state.totalApproved = val
},
update_search_status_detail(state, val) {
state.search_status_detail = val;
},
update_details(state, val) {
state.details = val
},
update_dialog_account_item(state, val) {
state.dialog_account_item = val
},
update_list_voucher_detail(state, val) {
state.list_voucher_detail = val
},
update_list_accitem(state, val) {
state.list_accitem = val
}
},
actions: {
async search(context) {
context.commit("update_search_status", 1);
try {
var prm = {
token: one_token(),
currentPage: context.state.currentPage,
status: context.state.selected_status.text,
search: context.state.xsearch,
startdate: context.state.xStartDate,
enddate: context.state.xEndDate,
lastId: -1,
};
let resp = await api.search(prm);
if (resp.status != "OK") {
context.commit("update_search_status", 3);
context.commit("update_search_error_message", resp.message);
} else {
context.commit("update_search_status", 2);
context.commit("update_search_error_message", "");
let data = {
records: resp.data.records,
total: resp.data.total,
};
context.commit("update_voucherList", data.records);
context.commit("update_total_page_voucher", data.total);
}
} catch (e) {
context.commit("update_search_status", 3);
context.commit("update_search_error_message", e.message);
}
},
async searchBranch(context, prm) {
context.commit("update_load_status_branch", 1)
try {
let resp = await api.searchBranch(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status_branch", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status_branch", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_branchList", data.records)
}
} catch (e) {
context.commit("update_load_status_branch", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async searchAccDana(context, prm) {
context.commit("update_load_status_accDana", 1)
try {
let resp = await api.searchAccDana(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status_accDana", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status_accDana", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_accountDanaList", data.records)
}
} catch (e) {
context.commit("update_load_status_accDana", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async searchAccBiaya(context, prm) {
context.commit("update_load_status_accBiaya", 1)
try {
let resp = await api.searchAccBiaya(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status_accBiaya", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status_accBiaya", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_accountBiayaList", data.records)
}
} catch (e) {
context.commit("update_load_status_accBiaya", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async searchAccTemp(context, prm) {
context.commit("update_load_status_accTemp", 1)
try {
let resp = await api.searchAccTemp(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status_accTemp", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status_accTemp", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_accountTempList", data.records)
}
} catch (e) {
context.commit("update_load_status_accTemp", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async getPurchase(context, prm) {
context.commit("update_load_status", 1)
try {
let resp = await api.getPurchase(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_purchaseList", data.records)
}
} catch (e) {
context.commit("update_load_status", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async searchdetail(context, prm) {
context.commit("update_search_status_detail", 1)
try {
let resp = await api.searchdetail(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_search_status_detail", 3)
context.commit("update_search_error_message", resp.message);
} else {
context.commit("update_search_status_detail", 2)
context.commit("update_search_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_details", data.records)
}
} catch (e) {
context.commit("update_search_status_detail", 3)
context.commit("update_search_error_message", e.message);
}
},
async save(context, prm) {
context.commit("update_search_status_detail", 1)
try {
let resp = await api.saveDetail(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_search_status_detail", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_search_status_detail", 2)
context.commit("update_error_message", resp.message);
let data = {
records: resp.data.records
}
context.commit("update_alert_success", true);
context.commit("update_dialog_voucher", false);
var msg = `Sukses menyimpan data baru dengan kode ${data.records[0].PaymentVoucherNumber}`;
context.commit("update_success_message", msg);
context.commit("update_selected_voucher", data.records[0]);
context.dispatch("search");
context.dispatch("searchdetail", data.records[0].PaymentVoucherID);
}
} catch (e) {
context.commit("update_search_status_detail", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async getTotalApproved(context, prm) {
context.commit("update_search_status", 1)
try {
let resp = await api.getTotalApproved(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_search_status", 3)
context.commit("update_error_message", resp.message);
} else {
context.commit("update_search_status", 2)
context.commit("update_error_message", "");
let data = {
total: resp.data.total
}
context.commit("update_totalApproved", data.total)
}
} catch (e) {
context.commit("update_search_status", 3)
context.commit("update_error_message", e.message);
}
},
async delete(context, prm) {
context.commit("update_search_status", 1)
try {
let resp = await api.deleteVoucher(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_search_status", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_search_status", 2)
context.commit("update_error_message", resp.message);
let data = {
records: resp.data.records
}
context.commit("update_alert_success", true);
context.commit("update_dialog_voucher", false);
var msg = `Sukses menghapus data dengan kode ` + prm.PVNumber;
context.commit("update_success_message", msg);
// context.commit("update_selected_voucher", data.records[0]);
context.dispatch("search");
context.dispatch("searchdetail", "");
}
} catch (e) {
context.commit("update_search_status", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async update(context, prm) {
context.commit("update_search_status_detail", 1)
try {
let resp = await api.editVoucher(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_search_status_detail", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_search_status_detail", 2)
context.commit("update_error_message", resp.message);
let data = {
records: resp.data.records
}
context.commit("update_alert_success", true);
context.commit("update_dialog_voucher", false);
var msg = `Sukses edit data dengan kode ${data.records[0].PaymentVoucherNumber}`;
context.commit("update_success_message", msg);
context.commit("update_selected_voucher", data.records[0]);
context.dispatch("search");
context.dispatch("searchdetail", data.records[0].PaymentVoucherID);
}
} catch (e) {
context.commit("update_search_status_detail", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async getPurchaseUpdateNew(context, prm) {
context.commit("update_load_status", 1)
try {
let resp = await api.getPurchaseUpdateNew(one_token(), prm)
if (resp.status != "OK") {
context.commit("update_load_status", 3)
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_load_status", 2)
context.commit("update_error_message", "");
let data = {
records: resp.data.records
}
context.commit("update_purchaseList", data.records)
}
} catch (e) {
context.commit("update_load_status", 3)
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async getVoucherDetailItem(context, param) {
try {
param.token = one_token()
let resp = await api.getVoucherDetailItem(param)
if (resp.status != 'OK') {
context.commit("update_error_message", resp.message)
context.commit("update_alert_error", true)
} else {
context.commit("update_list_voucher_detail", resp.data)
}
} catch (error) {
context.commit("update_error_message", error.message)
context.commit("update_alert_error", true)
}
},
async searchAccountItem(context, prm) {
try {
prm.token = one_token()
let resp = await api.searchAccBiaya(prm)
if (resp.status != "OK") {
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_error_message", "");
context.commit("update_list_accitem", resp.data.records);
}
} catch (e) {
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async saveAccountItem(context, headerID) {
try {
let prm = {
token: one_token(),
PRDID: headerID,
detail: context.state.list_voucher_detail
}
let resp = await api.saveAccountItem(prm)
if (resp.status != "OK") {
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
context.commit("update_alert_success", true);
context.commit("update_success_message", "Success");
let ID = context.state.selected_voucher.PaymentVoucherID
context.dispatch("searchdetail", ID)
context.commit("update_list_voucher_detail", []);
context.commit("update_dialog_account_item", false);
}
} catch (e) {
context.commit("update_error_message", e.message);
context.commit("update_alert_error", true);
}
},
async moveTokasir(context) {
try {
let prm = {
token: one_token(),
ID: context.state.selected_voucher.PaymentVoucherID
}
let resp = await api.moveToKasir(prm)
if (resp.status != 'OK') {
context.commit("update_error_message", resp.message);
context.commit("update_alert_error", true);
} else {
let ID = context.state.selected_voucher.PaymentVoucherID
context.dispatch("searchdetail", ID)
context.commit("update_alert_success", true);
context.commit("update_success_message", "Success");
}
} catch (error) {
context.commit("update_error_message", error.message);
context.commit("update_alert_error", true);
}
}
}
};