feature: po pay downpayment

This commit is contained in:
2026-07-20 13:14:28 +07:00
parent dd5f0b6ab4
commit d92fb57751
64 changed files with 6166 additions and 1739 deletions

View File

@@ -0,0 +1,216 @@
import * as api from '../api/api.js';
export default {
namespaced: true,
state: {
snackbar: {
color: 'success',
msg: '',
state: false
},
user: {},
loading_process: false,
filter: {
startdate: moment(new Date()).format('YYYY-MM-DD'),
enddate: moment(new Date()).format('YYYY-MM-DD'),
status: "All",
search: ""
},
list_status: ['All', 'Draft', 'Pending', 'Approved', 'Rejected', 'Completed'],
list_order: {
records: [],
total: 0
},
currpage: 1,
list_cabang: [],
list_gudang: [],
list_supplier: [],
/* dialog confirm order */
dialog_confirm_order: false,
selected_order: {},
view_detail_mode: false,
dialog_attachment: false,
list_attachment: []
},
mutations: {
update_snackbar(state, val) {
state.snackbar = val
},
update_user(state, val) {
state.user = val
},
update_loading_process(state, val) {
state.loading_process = val
},
update_filter(state, val) {
state.filter = val
},
update_list_status(state, val) {
state.list_status = val
},
update_list_order(state, val) {
state.list_order = val
},
update_currpage(state, val) {
state.currpage = val
},
update_list_cabang(state, val) {
state.list_cabang = val
},
update_list_gudang(state, val) {
state.list_gudang = val
},
update_list_supplier(state, val) {
state.list_supplier = val
},
update_dialog_confirm_order(state, val) {
state.dialog_confirm_order = val
},
update_selected_order(state, val) {
state.selected_order = val
},
update_view_detail_mode(state, val) {
state.view_detail_mode = val
},
update_dialog_attachment(state, val) {
state.dialog_attachment = val
},
update_list_attachment(state, val) {
state.list_attachment = val
}
},
actions: {
async listingCabang(context) {
try {
let param = { token: one_token() }
const resp = await api.getListCabang(param);
if (resp.status != "OK") {
throw new Error(resp.message);
}
context.commit('update_list_cabang', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("common/update_snackbar", snac, { root: true });
}
},
async listingGudang(context, branchID) {
try {
let param = {
token: one_token(),
M_BranchID: branchID
}
const resp = await api.getListGudang(param);
if (resp.status != "OK") {
throw new Error(resp.message);
}
context.commit('update_list_gudang', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("common/update_snackbar", snac, { root: true });
}
},
async listingSupplier(context) {
try {
const params = { token: one_token() };
const resp = await api.getListSupplier(params);
if (resp.status != 'OK') {
throw new Error(resp.message);
}
context.commit('update_list_supplier', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("update_snackbar", snac, { root: true });
}
},
async getListingPOAsset(context) {
try {
const params = {
token: one_token(),
currpage: context.state.currpage,
...context.state.filter
};
const resp = await api.getDaftarPoAset(params);
if (resp.status != 'OK') {
throw new Error(resp.message);
}
context.commit('update_list_order', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("update_snackbar", snac);
}
},
async getUserApproveLevel(context) {
try {
const params = { token: one_token() };
const resp = await api.getUserApproveLevel(params);
if (resp.status != 'OK') {
throw new Error(resp.message);
}
context.commit('update_user', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("update_snackbar", snac);
}
},
async getAssetAttachment(context, param) {
try {
const params = {
token: one_token(),
contractID: param.contractID,
poID: param.poID
};
const resp = await api.getDaftarAttachment(params);
if (resp.status != 'OK') {
throw new Error(resp.message);
}
context.commit('update_list_attachment', resp.data);
} catch (e) {
const snac = { color: 'error', msg: e.message, state: true };
context.commit("update_snackbar", snac);
}
},
async confirmOrderAsset(context, poID) {
try {
context.state.loading_process = true;
const userlvl = context.state.user.M_UserM_ApproveLevelID
const params = {
token: one_token(),
approvelevel: userlvl,
poID: poID,
};
const resp = await api.updateApprovalPO(params);
if (resp.status != 'OK') {
throw new Error(resp.message);
}
if (userlvl == '2') {
const generate = await api.generatePOItemReceive(params);
if (generate.status !== 'OK') {
throw new Error(generate.message);
}
}
context.dispatch("getListingPOAsset");
context.state.loading_process = false;
context.state.view_detail_mode = false;
context.state.dialog_confirm_order = false;
} catch (e) {
context.state.loading_process = false;
const snac = { color: 'error', msg: e.message, state: true };
context.commit("update_snackbar", snac);
}
},
}
}