224 lines
8.7 KiB
JavaScript
224 lines
8.7 KiB
JavaScript
// 1 => LOADING
|
|
// 2 => DONE
|
|
// 3 => ERROR
|
|
import * as api from "../api/location.js"
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
location: [],
|
|
search_status: 0,
|
|
selected_location: {},
|
|
last_id: -1,
|
|
current_page: 1,
|
|
x_search: "",
|
|
total_locations: 0,
|
|
pagination:{
|
|
descending:'asc',
|
|
sortBy:'locationCode'
|
|
},
|
|
dialog_form: false,
|
|
loading_save: false,
|
|
msg_success: "",
|
|
act: "add",
|
|
save_status: 0,
|
|
alert_success: false,
|
|
save_error_message: "",
|
|
error_message: "",
|
|
alert_error: false,
|
|
},
|
|
mutations: {
|
|
update_location(state, data){
|
|
state.location = data
|
|
},
|
|
update_search_status(state, status){
|
|
state.search_status = status
|
|
},
|
|
update_selected_location(state, val){
|
|
state.selected_location = val
|
|
},
|
|
update_last_id(state, val) {
|
|
state.last_id = val
|
|
},
|
|
update_current_page(state, val) {
|
|
state.current_page = val
|
|
},
|
|
update_total_locations(state, val) {
|
|
state.total_locations = val
|
|
},
|
|
update_pagination(state,val) {
|
|
state.pagination = val
|
|
},
|
|
update_x_search(state, val) {
|
|
state.x_search = val
|
|
},
|
|
update_dialog_form(state, val) {
|
|
state.dialog_form = val
|
|
},
|
|
update_msg_success(state, val) {
|
|
state.msg_success = val
|
|
},
|
|
update_loading_save(state, data) {
|
|
state.loading_save = data
|
|
},
|
|
update_act(state, val) {
|
|
state.act = val
|
|
},
|
|
update_save_status(state, val) {
|
|
state.save_status = val
|
|
},
|
|
update_error_message(state, data) {
|
|
state.error_message = data
|
|
},
|
|
update_alert_success(state, val) {
|
|
state.alert_success = val;
|
|
},
|
|
update_save_error_message(state, val) {
|
|
state.save_error_message = val
|
|
},
|
|
update_dialog_error(state, data) {
|
|
state.dialog_error = data
|
|
},
|
|
update_alert_error(state, val) {
|
|
state.alert_error = val;
|
|
}
|
|
},
|
|
actions: {
|
|
async search(context) {
|
|
context.commit("update_search_status", 1)
|
|
|
|
try {
|
|
var prm = {
|
|
token: one_token(),
|
|
search: context.state.x_search,
|
|
sortBy: context.state.pagination.sortBy,
|
|
sortStatus: context.state.pagination.descending,
|
|
current_page: context.state.current_page
|
|
}
|
|
|
|
let resp = await api.search(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_search_status", false)
|
|
context.commit("update_dialog_error", true)
|
|
} else {
|
|
context.commit("update_search_status", false)
|
|
context.commit("update_dialog_error", false)
|
|
context.commit("update_error_message", "")
|
|
let data = {
|
|
records: resp.data.records,
|
|
total: resp.data.total,
|
|
total_filter: resp.data.total_filter
|
|
}
|
|
context.commit("update_location", data.records)
|
|
context.commit("update_total_locations", data.total)
|
|
if (context.state.last_id == -1){
|
|
if (resp.data && resp.data.records.length > 0){
|
|
context.commit("update_selected_location", resp.data.records[0])
|
|
}
|
|
|
|
}
|
|
else{
|
|
if (resp.data && resp.data.records.length > 0){
|
|
let idx = _.findIndex(resp.data.records, function(o) { return o.id == context.state.last_id})
|
|
context.commit("update_selected_location", resp.data.records[idx])
|
|
}
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_search_status", false)
|
|
context.commit("update_dialog_error", true)
|
|
console.log(e)
|
|
}
|
|
},
|
|
async save(context, prm) {
|
|
context.commit("update_save_status", 1)
|
|
try {
|
|
context.commit("update_loading_save", true)
|
|
prm.token = one_token()
|
|
let resp = await api.saveAdd(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_alert_error", true)
|
|
} else {
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_dialog_error", false)
|
|
context.commit("update_save_error_message", "")
|
|
let data = resp.data
|
|
context.commit("update_dialog_form", false)
|
|
var msg = "Lokasi " + prm.name + " sudah tersimpan"
|
|
context.commit("update_msg_success", msg)
|
|
context.commit("update_alert_success", true);
|
|
context.dispatch("search")
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_alert_error", true)
|
|
console.log(e)
|
|
}
|
|
},
|
|
async edit(context, prm) {
|
|
context.commit("update_save_status", 1)
|
|
try {
|
|
context.commit("update_loading_save", true)
|
|
prm.token = one_token()
|
|
let resp = await api.saveEdit(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_alert_error", true)
|
|
} else {
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_dialog_form", false)
|
|
context.commit("update_dialog_error", false)
|
|
context.commit("update_save_error_message", "")
|
|
var msg = "Lokasi " + prm.name + " sudah terupdate"
|
|
context.commit("update_msg_success", msg)
|
|
context.commit("update_alert_success", true);
|
|
context.dispatch("search")
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_alert_error", true)
|
|
console.log(e)
|
|
}
|
|
},
|
|
async delete(context, prm) {
|
|
context.commit("update_save_status", 1)
|
|
try {
|
|
context.commit("update_loading_save", true)
|
|
prm.token = one_token()
|
|
let resp = await api.xdelete(prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_alert_error", true)
|
|
} else {
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_dialog_form", false)
|
|
context.commit("update_dialog_error", false)
|
|
context.commit("update_save_error_message", "")
|
|
var msg = "Alasan sudah dihapus"
|
|
context.commit("update_msg_success", msg)
|
|
context.commit("update_alert_success", true);
|
|
context.dispatch("search")
|
|
}
|
|
} catch (e) {
|
|
context.commit("update_error_message", resp.message)
|
|
context.commit("update_dialog_error", true)
|
|
context.commit("update_loading_save", false)
|
|
context.commit("update_alert_error", true)
|
|
console.log(e)
|
|
}
|
|
}
|
|
}
|
|
} |