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

165 lines
6.3 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/item.js"
export default {
namespaced: true,
state: {
act:'new',
lookup_item: 0,
lookup_error_message: '',
items: [],
total_items: 0,
total_filter_items: 0,
selected_item: {id:0, name: "[ Belum memilih Schedule ]" },
save_status: 0,
save_error_message: '',
dialog_form_item: false,
dialog_edit_form_item:false,
alert_success: false,
msg_success: "",
show_all:'N',
errors:[],
open_alert_confirmation:false
},
mutations: {
update_act(state, val) {
state.act = val
},
update_errors(state, val) {
state.errors = val
},
update_show_all(state, val) {
state.show_all = val
},
update_lookup_error_message(state, status) {
state.lookup_error_message = status
},
update_lookup_item(state, status) {
state.lookup_item = status
},
update_items(state, data) {
state.items = data.records
state.total_items = data.total
state.total_filter_items = data.total_filter
},
update_selected_item(state, val) {
state.selected_item = val
},
update_save_status(state, val) {
state.save_status = val
},
update_save_error_message(state, val) {
state.save_error_message = val
},
update_dialog_form_item(state, val) {
state.dialog_form_item = val
},
update_dialog_edit_form_item(state, val) {
state.dialog_edit_form_item = val
},
update_alert_success(state, val) {
state.alert_success = val
},
update_msg_success(state, val) {
state.msg_success = val
},
update_open_alert_confirmation(state, val) {
state.open_alert_confirmation = val
}
},
actions: {
async lookup(context, prm) {
context.commit("update_lookup_item", 1)
try {
let resp = await api.lookup(one_token(), prm.search, prm.all)
if (resp.status != "OK") {
context.commit("update_lookup_item", 3)
context.commit("update_lookup_error_message", resp.message)
} else {
context.commit("update_lookup_item", 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_items", data)
context.commit("update_selected_item", data.records[0])
context.dispatch("itemtest/lookup",{id:data.records[0].id},{root:true})
}
} catch (e) {
context.commit("update_lookup_item", 3)
context.commit("update_lookup_error_message", e.message)
}
},
async save(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.save(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_item", false)
if(prm.act === 'new'){
var msg = "Item " + prm.name + " sudah tersimpan dong ..."
}
else{
var msg = "Item " + prm.name + " sudah terupdate dong ..."
}
context.commit("update_msg_success", msg)
context.dispatch("lookup", { search: "" , all:context.show_all})
}else{
context.commit("update_errors",resp.data.errors)
}
}
} 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.itemid)
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)
var msg = "Item " + prm.itemname + " sudah dihapus dong"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.commit("update_selected_item", {})
context.dispatch("lookup", { search: "" })
//context.commit("itemtest/update_item_test", [], { root: true })
}
} catch (e) {
context.commit("update_save_status", 3)
console.log(e)
}
}
}
}