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

187 lines
7.6 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/schedule.js"
export default {
namespaced: true,
state: {
act:'new',
lookup_schedule: 0,
lookup_error_message: '',
schedules: [],
total_schedules: 0,
total_filter_schedules: 0,
selected_schedule: { name: "[ Belum memilih Schedule ]" },
save_status: 0,
save_error_message: '',
dialog_form_schedule: false,
dialog_edit_form_schedule:false,
alert_success: false,
msg_success: "",
show_all:'N',
error_name:false
},
mutations: {
update_act(state, val) {
state.act = val
},
update_error_name(state, val) {
state.error_name = val
},
update_show_all(state, val) {
state.show_all = val
},
update_lookup_error_message(state, status) {
state.lookup_error_message = status
},
update_lookup_schedule(state, status) {
state.lookup_schedule = status
},
update_schedules(state, data) {
state.schedules = data.records
state.total_schedules = data.total
state.total_filter_schedules = data.total_filter
},
update_selected_schedule(state, val) {
state.selected_schedule = val
},
update_save_status(state, val) {
state.save_status = val
},
update_save_error_message(state, val) {
state.save_error_message = val
},
update_dialog_form_schedule(state, val) {
state.dialog_form_schedule = val
},
update_dialog_edit_form_schedule(state, val) {
state.dialog_edit_form_schedule = val
},
update_alert_success(state, val) {
state.alert_success = val
},
update_msg_success(state, val) {
state.msg_success = val
}
},
actions: {
async lookup(context, prm) {
context.commit("update_lookup_schedule", 1)
try {
let resp = await api.lookup(one_token(), prm.search, prm.all)
if (resp.status != "OK") {
context.commit("update_lookup_schedule", 3)
context.commit("update_lookup_error_message", resp.message)
} else {
context.commit("update_lookup_schedule", 2)
context.commit("update_lookup_error_message", "")
let data = {
records: resp.data.records,
total: resp.data.total,
total_filter: resp.data.total_filter
}
context.commit("update_schedules", data)
}
} catch (e) {
context.commit("update_lookup_schedule", 3)
context.commit("update_lookup_error_message", e.message)
}
},
async save(context, prm) {
context.commit("update_save_status", 1)
try {
let resp = await api.save(one_token(),prm.name,prm.flagpreschedule,prm.preschedulemaxhour)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_save_error_message", resp.message)
let data = {
records: resp.data.records,
total: resp.data.total
}
if(data.total !== -1){
context.commit("update_error_name", false)
context.commit("update_alert_success", true)
context.commit("update_dialog_form_schedule", false)
var msg = "Schedule " + prm.name + " sudah tersimpan dong ..."
context.commit("update_msg_success", msg)
context.dispatch("lookup", { search: "" , all:context.show_all})
}else{
context.commit("update_error_name", true)
}
}
} catch (e) {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", e.message)
console.log(e)
}
},
async update(context, prm) {
context.commit("update_save_status", 1)
try {
let resp = await api.update(one_token(),prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_save_error_message", resp.message)
let data = {
records: resp.data.records,
total: resp.data.total
}
if(data.total !== -1){
context.commit("update_error_name", false)
context.commit("update_alert_success", true)
context.commit("update_dialog_form_schedule", false)
var msg = "Schedule " + prm.name + " sudah terupdate dong ..."
context.commit("update_msg_success", msg)
context.dispatch("lookup", { search: "" , all:context.show_all})
}else{
context.commit("update_error_name", true)
}
}
} catch (e) {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", e.message)
console.log(e)
}
},
async delete(context, prm) {
context.commit("update_save_status", 1)
try {
let resp = await api.xdelete(one_token(),prm.scheduleid)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_alert_success", true)
//context.commit("update_dialog_form_schedule_promise", false)
var msg = "Schedule " + prm.schedulename + " sudah dihapus dong"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.commit("update_selected_schedule", {})
context.dispatch("lookup", { search: "" })
context.commit("scheduletest/update_schedule_test", [], { root: true })
context.commit("schedulepromise/update_schedule_promise", [], { root: true })
}
} catch (e) {
context.commit("update_save_status", 3)
console.log(e)
}
}
}
}