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

104 lines
3.6 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/listclose.js"
export default {
namespaced: true,
state: {
search_close: 0,
search_error_message: '',
start_date:moment(new Date()).format('YYYY-MM-DD'),
end_date:moment(new Date()).format('YYYY-MM-DD'),
search:'',
closes: [],
total_close: 0,
selected_close: {totalbill:0},
save_error_message: '',
statuses:[{name:'Belum Diterima',value:'N'},{name:'Sudah Diterima',value:'Y'}],
selected_status:{name:'Belum Diterima',value:'N'},
open_alert_no_pay: false,
msg_alert_no_pay: "Loh ... Gak jadi bayar dong ?",
current_page:1,
total_page:0
},
mutations: {
update_total_page(state, val) {
state.total_page = val
},
update_current_page(state, val) {
state.current_page = val
},
update_search_error_message(state, close) {
state.search_error_message = close
},
update_search_close(state, close) {
state.search_close = close
},
update_closes(state, data) {
state.closes = data.records
state.total_close = data.total
state.total_page = data.total
},
update_selected_close(state, val) {
state.selected_close = 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_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
}
},
actions: {
async search(context, prm) {
context.commit("update_search_close", 1)
try {
prm.token = one_token()
let resp = await api.search(prm)
if (resp.status != "OK") {
context.commit("update_search_close", 3)
context.commit("update_search_error_message", resp.message)
} else {
context.commit("update_search_close", 2)
context.commit("update_search_error_message", "")
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_closes", data)
context.commit("update_total_page", data.total)
if(prm.lastidx === 0){
context.commit("update_selected_close", data.records[0])
if(!_.isEmpty(data.records[0]))
context.commit("payment/update_notes",data.records[0].notes,{root:true})
else
context.commit("payment/update_notes",[],{root:true})
}
else{
context.commit("update_selected_close", data.records[prm.lastidx])
context.commit("payment/update_notes",data.records[prm.lastidx].notes,{root:true})
}
}
} catch (e) {
context.commit("update_search_close", 3)
context.commit("update_search_error_message", e.message)
console.log(e)
}
}
}
}