Files
FE_CPONE/test/vuex/one-bill-payment/modules/bill.js
2026-04-27 10:13:31 +07:00

183 lines
6.7 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'),
search: '',
scompany: '',
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'
},
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: ''
},
mutations: {
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_scompany(state, val) {
state.scompany = 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("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
})
}
} 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[prm.lastidx])
context.commit("paymentnew/update_notes", data.records[prm.lastidx].notes, {
root: true
})
context.commit("paymentmanual/update_notes", data.records[prm.lastidx].notes, {
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
})
}
} 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
})
}
}
} catch (e) {
context.commit("update_search_bill", 3)
context.commit("update_search_error_message", e.message)
console.log(e)
}
}
}
}