365 lines
15 KiB
JavaScript
365 lines
15 KiB
JavaScript
// 1 => LOADING
|
|
// 2 => DONE
|
|
// 3 => ERROR
|
|
import * as api from "../api/bill.js"
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
search_bill: 0,
|
|
search_error_message: '',
|
|
start_date: moment(new Date()).format('YYYY-MM-DD'),
|
|
end_date: moment(new Date()).format('YYYY-MM-DD'),
|
|
init_sdate: moment(new Date()).format('YYYY-MM-DD'),
|
|
init_edate: moment(new Date()).format('YYYY-MM-DD'),
|
|
search: '',
|
|
ssupplier: '',
|
|
isauto:'N',
|
|
bills: [],
|
|
total_bill: 0,
|
|
selected_bill: {
|
|
totalbill: 0,
|
|
mindp_percent: 0
|
|
},
|
|
save_error_message: '',
|
|
statuses: [{
|
|
name: 'Belum Lunas',
|
|
value: 'N'
|
|
}, {
|
|
name: 'Lunas',
|
|
value: 'Y'
|
|
}],
|
|
selected_status: {
|
|
name: 'Belum Lunas',
|
|
value: 'N'
|
|
},
|
|
selected_multibill: [],
|
|
open_alert_no_pay: false,
|
|
msg_alert_no_pay: "Loh ... Gak jadi bayar dong ?",
|
|
current_page: 1,
|
|
total_page: 0,
|
|
pay_disabled: 'Y',
|
|
get_data_status: 0,
|
|
get_data_error_message: '',
|
|
total_payment : 0,
|
|
xdialogmulti: false,
|
|
xrounding: 0,
|
|
paymenttypes: [],
|
|
paymenttype: {},
|
|
xtanggalbayar: '',
|
|
a_coa_search: '',
|
|
a_loading_coa: false,
|
|
in_saving: false,
|
|
dialog_pay_success: false,
|
|
paynumber: '',
|
|
bar_chx_all: false,
|
|
indeterminatex: false
|
|
},
|
|
mutations: {
|
|
update_bar_chx_all(state, val) {
|
|
state.bar_chx_all = val
|
|
},
|
|
update_indeterminatex(state, val) {
|
|
state.indeterminatex = val
|
|
},
|
|
update_paynumber(state, val) {
|
|
state.paynumber = val
|
|
},
|
|
update_dialog_pay_success(state, val) {
|
|
state.dialog_pay_success = val
|
|
},
|
|
update_in_saving(state, val) {
|
|
state.in_saving = val
|
|
},
|
|
update_a_loading_coa(state, val) {
|
|
state.a_loading_coa = val
|
|
},
|
|
update_a_coa_search(state, val) {
|
|
state.a_coa_search = val
|
|
},
|
|
update_xtanggalbayar(state, val) {
|
|
state.xtanggalbayar = val
|
|
},
|
|
update_paymenttypes(state, data) {
|
|
state.paymenttypes = data
|
|
},
|
|
update_paymenttype(state, val) {
|
|
state.paymenttype = val
|
|
},
|
|
update_xrounding(state, val) {
|
|
state.xrounding = val
|
|
},
|
|
update_xdialogmulti(state, val) {
|
|
state.xdialogmulti = val
|
|
},
|
|
update_total_payment(state, val) {
|
|
state.total_payment = val
|
|
},
|
|
update_selected_multibill(state, val) {
|
|
state.selected_multibill = val
|
|
},
|
|
update_init_sdate(state, val) {
|
|
state.init_sdate = val
|
|
},
|
|
update_init_edate(state, val) {
|
|
state.init_edate = val
|
|
},
|
|
update_pay_disabled(state, val) {
|
|
state.pay_disabled = val
|
|
},
|
|
update_total_page(state, val) {
|
|
state.total_page = val
|
|
},
|
|
update_current_page(state, val) {
|
|
state.current_page = val
|
|
},
|
|
update_search_error_message(state, bill) {
|
|
state.search_error_message = bill
|
|
},
|
|
update_search_bill(state, bill) {
|
|
state.search_bill = bill
|
|
},
|
|
update_bills(state, data) {
|
|
state.bills = data.records
|
|
state.total_bill = data.total
|
|
state.total_page = data.total
|
|
},
|
|
update_selected_bill(state, val) {
|
|
state.selected_bill = val
|
|
},
|
|
update_start_date(state, val) {
|
|
state.start_date = val
|
|
},
|
|
update_end_date(state, val) {
|
|
state.end_date = val
|
|
},
|
|
update_search(state, val) {
|
|
state.search = val
|
|
},
|
|
update_ssupplier(state, val) {
|
|
state.ssupplier = val
|
|
},
|
|
update_selected_status(state, val) {
|
|
state.selected_status = val
|
|
},
|
|
update_open_alert_no_pay(state, val) {
|
|
state.open_alert_no_pay = val
|
|
},
|
|
update_msg_alert_no_pay(state, val) {
|
|
state.msg_alert_no_pay = val
|
|
},
|
|
update_isauto(state, val) {
|
|
state.isauto = val
|
|
},
|
|
update_get_data_status(state, val) {
|
|
state.get_data_status = val
|
|
},
|
|
update_get_data_error_message(state, val) {
|
|
state.get_data_error_message = val
|
|
}
|
|
},
|
|
actions: {
|
|
async search(context, prm) {
|
|
context.commit("update_search_bill", 1)
|
|
try {
|
|
prm.token = one_token()
|
|
let resp = await api.search(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_search_bill", 3)
|
|
context.commit("update_search_error_message", resp.message)
|
|
} else {
|
|
context.commit("update_search_bill", 2)
|
|
context.commit("update_search_error_message", "")
|
|
let data = {
|
|
records: resp.data.records,
|
|
total: resp.data.total
|
|
}
|
|
context.commit("update_bills", data)
|
|
context.commit("update_total_page", data.total)
|
|
if (prm.lastidx === 0 && data.total > 0) {
|
|
context.commit("update_selected_bill", data.records[0])
|
|
if (!_.isEmpty(data.records[0])) {
|
|
context.commit("paymentmanual/update_xbayar", data.records[0].totalbill, {root: true})
|
|
context.commit("paymentmanual/update_xtanggalbayar", data.records[0].SupplierInvoiceDraftPaymentDate, {root: true})
|
|
context.commit("paymentnew/update_notes", data.records[0].notes, {root: true})
|
|
context.commit("paymentmanual/update_notes", data.records[0].notes, {root: true})
|
|
|
|
if (data.records[0].flaglunas === 'N') {
|
|
context.commit("paymentmanual/update_tagihans", data.records[0].tagihans, {
|
|
root: true
|
|
})
|
|
} else {
|
|
context.commit("paymentmanual/update_tagihans", [], {
|
|
root: true
|
|
})
|
|
}
|
|
|
|
var arr = context.rootState.paymentmanual.tagihans
|
|
var value = true
|
|
context.commit("paymentmanual/update_indeterminatex", false, {root: true})
|
|
context.commit("paymentmanual/update_bar_chx_all", value, {root: true})
|
|
|
|
arr.forEach((el) => {
|
|
el.chex = value
|
|
el.tagihan_bayar = value == true ? el.tagihan_tagihan : 0
|
|
})
|
|
|
|
var selected = _.filter(arr, function (o) {
|
|
return o.chex;
|
|
})
|
|
context.commit("paymentmanual/update_selected_tagihan", selected, {
|
|
root: true
|
|
})
|
|
|
|
var xval = context.rootState.paymentmanual.selected_tagihan
|
|
var valx = 0
|
|
xval.forEach(function (obj) {
|
|
valx += parseInt(obj.tagihan_bayar)
|
|
})
|
|
let totpaid = valx
|
|
context.commit("paymentmanual/update_total_payment", totpaid, {root: true})
|
|
} else {
|
|
context.commit("paymentnew/update_notes", [], {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_notes", [], {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_tagihans", [], {
|
|
root: true
|
|
})
|
|
|
|
}
|
|
} else if (prm.lastidx > 0 && data.total > 0) {
|
|
context.commit("update_selected_bill", data.records[0])
|
|
context.commit("paymentmanual/update_xbayar", data.records[0].totalbill, {
|
|
root: true
|
|
})
|
|
context.commit("paymentnew/update_notes", data.records[prm.lastidx].notes, {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_notes", data.records[prm.lastidx].notes, {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_xtanggalbayar", data.records[prm.lastidx].SupplierInvoiceDraftPaymentDate, {
|
|
root: true
|
|
})
|
|
if (data.records[prm.lastidx].flaglunas === 'N') {
|
|
context.commit("paymentmanual/update_tagihans", data.records[prm.lastidx].tagihans, {
|
|
root: true
|
|
})
|
|
} else {
|
|
context.commit("paymentmanual/update_tagihans", [], {
|
|
root: true
|
|
})
|
|
}
|
|
var arr = context.rootState.paymentmanual.tagihans
|
|
var value = true
|
|
context.commit("paymentmanual/update_indeterminatex", false, {root: true})
|
|
context.commit("paymentmanual/update_bar_chx_all", value, {root: true})
|
|
|
|
arr.forEach((el) => {
|
|
el.chex = value
|
|
el.tagihan_bayar = value == true ? el.tagihan_tagihan : 0
|
|
})
|
|
|
|
var selected = _.filter(arr, function (o) {
|
|
return o.chex;
|
|
})
|
|
context.commit("paymentmanual/update_selected_tagihan", selected, {
|
|
root: true
|
|
})
|
|
|
|
var xval = context.rootState.paymentmanual.selected_tagihan
|
|
var valx = 0
|
|
xval.forEach(function (obj) {
|
|
valx += parseInt(obj.tagihan_bayar)
|
|
})
|
|
let totpaid = valx
|
|
context.commit("paymentmanual/update_total_payment", totpaid, {root: true})
|
|
|
|
} else {
|
|
context.commit("update_selected_bill", '')
|
|
context.commit("paymentnew/update_notes", [], {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_notes", [], {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_tagihans", [], {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_xtanggalbayar", '', {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_xbayar", 0, {
|
|
root: true
|
|
})
|
|
context.commit("paymentmanual/update_total_payment", 0, {root: true})
|
|
context.commit("paymentmanual/update_bar_chx_all", false, {root: true})
|
|
}
|
|
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_search_bill", 3)
|
|
context.commit("update_search_error_message", e.message)
|
|
console.log(e)
|
|
}
|
|
},
|
|
async selectpaymenttype(context,payload) {
|
|
context.commit("update_get_data_status", 1)
|
|
try {
|
|
let prm = {};
|
|
prm.token = one_token()
|
|
prm.search = payload.search
|
|
let resp = await api.selectpaymenttype(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_get_data_status", 3)
|
|
context.commit("update_get_data_error_message", resp.message)
|
|
} else {
|
|
context.commit("update_get_data_status", 2)
|
|
context.commit("update_get_data_error_message", "")
|
|
context.commit("update_paymenttypes", resp.data.records.paymenttypes)
|
|
context.commit("update_paymenttypes_edit", resp.data.records.paymenttypes)
|
|
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_get_data_status", 3)
|
|
context.commit("update_get_data_error_message", e.message)
|
|
console.log(e)
|
|
}
|
|
},
|
|
async pay(context, prm) {
|
|
context.commit("paymentmanual/update_lookup_status", 1, {root: true})
|
|
try {
|
|
prm.token = one_token()
|
|
let resp = await api.pay(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("paymentmanual/update_lookup_status", 3, {root: true})
|
|
context.commit("paymentmanual/update_lookup_error_message", resp.message, {root: true})
|
|
} else {
|
|
context.commit("paymentmanual/update_lookup_status", 2, {root: true})
|
|
context.commit("paymentmanual/update_lookup_error_message", "", {root: true})
|
|
context.commit("update_paynumber", "Pembayaran multi telah berhasil")
|
|
context.commit("update_dialog_pay_success", true)
|
|
context.commit("update_in_saving", false)
|
|
context.commit("update_xdialogmulti", false)
|
|
console.log('berhasil bayar')
|
|
context.dispatch("search", {
|
|
supplier: context.state.ssupplier,
|
|
search: context.state.search,
|
|
status: context.state.selected_status.value,
|
|
current_page: 1,
|
|
startdate: context.state.init_sdate,
|
|
enddate: context.state.init_edate,
|
|
lastidx: 0
|
|
})
|
|
}
|
|
} catch (e) {
|
|
context.commit("paymentmanual/update_lookup_status", 3, {root: true})
|
|
context.commit("paymentmanual/update_lookup_error_message", e.message, {root: true})
|
|
}
|
|
},
|
|
}
|
|
}
|