138 lines
4.8 KiB
JavaScript
138 lines
4.8 KiB
JavaScript
import * as api from '../api/api.js';
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
snackbar: { state: false, color: 'error', message: "" },
|
|
userinfo: {},
|
|
filterpay: {
|
|
startdate: moment(new Date()).format('YYYY-MM-DD'),
|
|
enddate: moment(new Date()).format('YYYY-MM-DD'),
|
|
status: "All",
|
|
search: ""
|
|
},
|
|
list_status: ['All', 'Draft', 'Verified', 'Approved', 'Rejected', 'Completed'],
|
|
list_payment: { records: [], total: 1 },
|
|
currentpage: 1,
|
|
|
|
selected_payment: {},
|
|
payment_items: {},
|
|
dialog_detail: false,
|
|
operation_mode: 'view',
|
|
operation_loading: false
|
|
},
|
|
mutations: {
|
|
update_userinfo(state, val) {
|
|
state.userinfo = val
|
|
},
|
|
update_snackbar(state, val) {
|
|
state.snackbar = val
|
|
},
|
|
update_filterpay(state, val) {
|
|
state.filterpay = val
|
|
},
|
|
update_list_status(state, val) {
|
|
state.list_status = val
|
|
},
|
|
update_list_payment(state, val) {
|
|
state.list_payment = val
|
|
},
|
|
update_currentpage(state, val) {
|
|
state.currentpage = val
|
|
},
|
|
update_selected_payment(state, val) {
|
|
state.selected_payment = val
|
|
},
|
|
update_payment_items(state, val) {
|
|
state.payment_items = val
|
|
},
|
|
update_dialog_detail(state, val) {
|
|
state.dialog_detail = val
|
|
},
|
|
update_operation_mode(state, val) {
|
|
state.operation_mode = val
|
|
},
|
|
update_operation_loading(state, val) {
|
|
state.operation_loading = val
|
|
}
|
|
},
|
|
actions: {
|
|
async lookupUserApproveLevel(context) {
|
|
try {
|
|
const resp = await api.getUserApproveLevel({token: one_token()});
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
} else {
|
|
context.commit('update_userinfo', resp.data);
|
|
}
|
|
} catch (error) {
|
|
const snack = { state: true, color: 'error', message: error.message }
|
|
context.commit("update_snackbar", snack)
|
|
}
|
|
},
|
|
|
|
async lookupPayment(context) {
|
|
try {
|
|
let param = {
|
|
...context.state.filterpay,
|
|
currentpage: context.state.currentpage,
|
|
token: one_token()
|
|
}
|
|
const resp = await api.search(param)
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
} else {
|
|
context.commit("update_list_payment", resp.data)
|
|
}
|
|
} catch (error) {
|
|
const snack = { state: true, color: 'error', message: error.message }
|
|
context.commit("update_snackbar", snack)
|
|
}
|
|
},
|
|
|
|
async lookupPaymentItem(context) {
|
|
try {
|
|
let param = {
|
|
token: one_token(),
|
|
paymentID: context.state.selected_payment.SupplierPaymentID
|
|
};
|
|
|
|
const resp = await api.searchDetail(param);
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
} else {
|
|
context.commit("update_payment_items", resp.data);
|
|
}
|
|
} catch (error) {
|
|
const snack = { state: true, color: 'error', message: error.message }
|
|
context.commit("update_snackbar", snack)
|
|
}
|
|
},
|
|
|
|
async updateStatus(context) {
|
|
try {
|
|
context.state.operation_loading = true
|
|
let param = {
|
|
token: one_token(),
|
|
userlevel: context.state.userinfo.level ?? "0",
|
|
paymentID: context.state.selected_payment.SupplierPaymentID
|
|
}
|
|
|
|
const resp = await api.updateStatusPayment(param)
|
|
if (resp.status != 'OK') {
|
|
throw new Error(resp.message);
|
|
} else {
|
|
const snack = { state: true, color: 'success', message: resp.data }
|
|
context.commit("update_snackbar", snack)
|
|
|
|
context.dispatch("lookupPayment")
|
|
context.state.operation_loading = false
|
|
context.state.dialog_detail = false
|
|
}
|
|
} catch (error) {
|
|
const snack = { state: true, color: 'error', message: error.message }
|
|
context.commit("update_snackbar", snack)
|
|
}
|
|
}
|
|
}
|
|
} |