231 lines
7.9 KiB
JavaScript
231 lines
7.9 KiB
JavaScript
import * as api from '../api/api.js';
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
/* utility */
|
|
snackbar: {
|
|
color: 'success',
|
|
msg: '',
|
|
state: false
|
|
},
|
|
|
|
filterjasa: {
|
|
startdate: moment(new Date()).format('YYYY-MM-DD'),
|
|
enddate: moment(new Date()).format('YYYY-MM-DD'),
|
|
status: "All",
|
|
search: ""
|
|
},
|
|
liststatus: ['All', 'Draft', 'Pending', 'Approved', 'Rejected', 'Completed'],
|
|
list_pojasa: {
|
|
records: [],
|
|
total: 0
|
|
},
|
|
currpage: 1,
|
|
loading_process: false,
|
|
list_supplier: [],
|
|
list_branch: [],
|
|
userinfo: {},
|
|
|
|
/* dialog konfirmasi */
|
|
dialog_confirm: false,
|
|
detail_view: false,
|
|
selected_pojasa: {
|
|
summary: {
|
|
subtotal: 0.00,
|
|
diskon: 0.00,
|
|
pajak: 0.00,
|
|
total: 0.00
|
|
}
|
|
},
|
|
|
|
/* dialog attachment */
|
|
dialog_attachment: false,
|
|
prview_attachment: []
|
|
},
|
|
mutations: {
|
|
update_snackbar(state, val) {
|
|
state.snackbar = val
|
|
},
|
|
update_filterjasa(state, val) {
|
|
state.filterjasa = val
|
|
},
|
|
update_liststatus(state, val) {
|
|
state.liststatus = val
|
|
},
|
|
update_list_pojasa(state, val) {
|
|
state.list_pojasa = val
|
|
},
|
|
update_currpage(state, val) {
|
|
state.currpage = val
|
|
},
|
|
update_loading_process(state, val) {
|
|
state.loading_process = val
|
|
},
|
|
update_list_supplier(state, val) {
|
|
state.list_supplier = val
|
|
},
|
|
update_list_branch(state, val) {
|
|
state.list_branch = val
|
|
},
|
|
update_userinfo(state, val) {
|
|
state.userinfo = val
|
|
},
|
|
update_dialog_confirm(state, val) {
|
|
state.dialog_confirm = val
|
|
},
|
|
update_detail_view(state, val) {
|
|
state.detail_view = val
|
|
},
|
|
update_selected_pojasa(state, val) {
|
|
state.selected_pojasa = val
|
|
},
|
|
update_dialog_attachment(state, val) {
|
|
state.dialog_attachment = val
|
|
},
|
|
update_prview_attachment(state, val) {
|
|
state.prview_attachment = val
|
|
}
|
|
},
|
|
actions: {
|
|
async lookupCabang(context) {
|
|
try {
|
|
const resp = await api.getDaftarCabang({token: one_token()})
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit("update_list_branch", resp.data)
|
|
}
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async lookupVendor(context) {
|
|
try {
|
|
const resp = await api.getDaftarSupplier({token: one_token()})
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit("update_list_supplier", resp.data)
|
|
}
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async lookupPOJasa(context) {
|
|
try {
|
|
let param = {
|
|
token: one_token(),
|
|
currpage: context.state.currpage,
|
|
...context.state.filterjasa
|
|
}
|
|
|
|
const resp = await api.getDaftarPOJasa(param)
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit('update_list_pojasa', resp.data)
|
|
}
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async lookupDetailPO(context, poid) {
|
|
try {
|
|
let param = {
|
|
token: one_token(),
|
|
poID: poid
|
|
}
|
|
|
|
const resp = await api.getDataKontrakPOJasa(param)
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit("update_selected_pojasa", resp.data)
|
|
}
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async lookupUserApproveLevel(context) {
|
|
try {
|
|
const resp = await api.getUserApproveLevel({token: one_token()})
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit("update_userinfo", resp.data)
|
|
}
|
|
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async lookupAttachment(context, param) {
|
|
try {
|
|
param.token = one_token()
|
|
const resp = await api.getDaftarAttachment(param)
|
|
if (resp.status != 'OK') {
|
|
let snac = {color: 'error', msg: resp.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
} else {
|
|
context.commit('update_prview_attachment', resp.data)
|
|
}
|
|
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true}
|
|
context.commit('update_snackbar', snac)
|
|
}
|
|
},
|
|
|
|
async updateApprovePO(context) {
|
|
try {
|
|
context.state.loading_process = true;
|
|
|
|
const jasa = context.state.selected_pojasa;
|
|
const param = {
|
|
token: one_token(),
|
|
approvelevel: context.state.userinfo.M_UserM_ApproveLevelID,
|
|
poID: jasa.PurchaseOrderID,
|
|
kontrakid: jasa.T_KontrakJasaID
|
|
};
|
|
|
|
const resp = await api.updateApprovalPO(param);
|
|
if (resp.status !== 'OK') {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
if (param.approvelevel === '2') {
|
|
const generate = await api.generatePOItemReceive(param);
|
|
if (generate.status !== 'OK') {
|
|
throw new Error(generate.message);
|
|
}
|
|
}
|
|
|
|
let snac = {color: 'success', msg: resp.data, state: true};
|
|
context.commit('update_snackbar', snac);
|
|
context.dispatch('lookupPOJasa');
|
|
context.state.dialog_confirm = false
|
|
} catch (error) {
|
|
let snac = {color: 'error', msg: error.message, state: true};
|
|
context.commit('update_snackbar', snac);
|
|
} finally {
|
|
context.state.loading_process = false;
|
|
}
|
|
}
|
|
}
|
|
} |