148 lines
7.0 KiB
JavaScript
148 lines
7.0 KiB
JavaScript
import * as api from '../api/api.js';
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
form_kontrak: {
|
|
nama_kontrak: '',
|
|
tanggal_kontrak: moment(new Date()).format('YYYY-MM-DD'),
|
|
tanggalAwal_kontrak: moment(new Date()).format('YYYY-MM-DD'),
|
|
tanggalAkhir_kontrak: moment(new Date()).format('YYYY-MM-DD'),
|
|
durasi_cicilan: 1,
|
|
jumlah_cicilan: 1,
|
|
tanggalBayar_cicilan: 1,
|
|
besarNilai_cicilan: 0,
|
|
type_downpayment: 'percent',
|
|
besarNilai_downpayment: 0
|
|
}
|
|
},
|
|
mutations: {
|
|
update_form_kontrak(state, val) {
|
|
state.form_kontrak = val
|
|
}
|
|
},
|
|
actions: {
|
|
async saveOrderAsset(context, params) {
|
|
try {
|
|
context.commit("common/update_loading_process", true, { root: true });
|
|
params.token = one_token();
|
|
const resp = await api.createPoAsset(params);
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
}
|
|
const snac = { color: 'success', msg: resp.data, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
context.commit("orderAsset/update_dialog_create_order", false, { root: true });
|
|
context.dispatch('common/getListingPOAsset', {}, { root: true });
|
|
} catch (error) {
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
const snac = { color: 'error', msg: error.message, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
}
|
|
},
|
|
async editOrderAsset(context, params) {
|
|
try {
|
|
context.commit("common/update_loading_process", true, { root: true });
|
|
params.token = one_token();
|
|
const resp = await api.editPoAsset(params);
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
}
|
|
const snac = { color: 'success', msg: resp.data, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
context.commit("orderAsset/update_dialog_create_order", false, { root: true });
|
|
context.dispatch('common/getListingPOAsset', {}, { root: true });
|
|
} catch (error) {
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
const snac = { color: 'error', msg: error.message, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
}
|
|
},
|
|
async sendRequestPO(context, poID) {
|
|
try {
|
|
context.commit("common/update_loading_process", true, { root: true });
|
|
let params = {
|
|
token: one_token(),
|
|
approvelevel: "0",
|
|
poID: poID,
|
|
}
|
|
const resp = await api.updateApprovalPO(params);
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
}
|
|
const snac = { color: 'success', msg: resp.data, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
context.commit("orderAsset/update_dialog_create_order", false, { root: true });
|
|
context.dispatch('common/getListingPOAsset', {}, { root: true });
|
|
} catch (error) {
|
|
context.commit("common/update_loading_process", false, { root: true });
|
|
const snac = { color: 'error', msg: error.message, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
}
|
|
},
|
|
async getDetailDataPO(context, poID) {
|
|
try {
|
|
let params = {
|
|
token: one_token(),
|
|
poID: poID,
|
|
}
|
|
const resp = await api.getDataKontrakPoAset(params);
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
let formOrder = {
|
|
podate: resp.data.podate,
|
|
supplierID: resp.data.supplierID,
|
|
reference: resp.data.reference,
|
|
branchID: resp.data.branchID,
|
|
gudangID: resp.data.gudangID,
|
|
typepajak: resp.data.typepajak,
|
|
valuepajak: parseFloat(resp.data.valuepajak),
|
|
typediskon: resp.data.typediskon,
|
|
valuediskon: parseFloat(resp.data.valuediskon),
|
|
catatan: resp.data.catatan
|
|
};
|
|
let formKontrak = {
|
|
nama_kontrak: resp.data.contractName,
|
|
tanggal_kontrak: resp.data.contractDate,
|
|
tanggalAwal_kontrak: resp.data.contractStart,
|
|
tanggalAkhir_kontrak: resp.data.contractEnd,
|
|
durasi_cicilan: resp.data.contractDuration,
|
|
jumlah_cicilan: resp.data.installmentNumber,
|
|
tanggalBayar_cicilan: resp.data.installmentDate,
|
|
besarNilai_cicilan: parseFloat(resp.data.installmentPayAmount),
|
|
type_downpayment: resp.data.installmentDownPaymentType,
|
|
besarNilai_downpayment: parseFloat(resp.data.installmentDownPayment),
|
|
};
|
|
let summary = resp.data.summary;
|
|
let selected_request = resp.data.detail;
|
|
selected_request.forEach(item => {
|
|
item.SupplierPrice = parseFloat(item.SupplierPrice)
|
|
item.DiskonAmount = parseFloat(item.DiskonAmount)
|
|
});
|
|
|
|
context.dispatch('orderAsset/listingGudang', resp.data.branchID, { root: true });
|
|
|
|
context.commit('update_form_kontrak', formKontrak);
|
|
context.commit('orderAsset/update_form_order_asset', formOrder, { root: true });
|
|
context.commit('orderAsset/update_selected_request_asset', selected_request, { root: true });
|
|
context.commit('orderAsset/update_summary_order', summary, { root: true });
|
|
context.commit('common/update_selected_orderaset', resp.data, { root: true });
|
|
|
|
context.dispatch('orderAsset/recalculateOrderSummary', {}, { root: true });
|
|
context.commit('orderAsset/update_dialog_create_order', true, { root: true });
|
|
} catch (error) {
|
|
const snac = { color: 'error', msg: error.message, state: true };
|
|
context.commit("common/update_snackbar", snac, { root: true });
|
|
}
|
|
}
|
|
}
|
|
}
|