Files
fe-accone/test/vuex/acc-one-md-itemdivision/modules/a_itemdiv.js

313 lines
11 KiB
JavaScript

import * as api from "../api/a_itemdiv.js"
export default {
namespaced: true,
state: {
a_errors_save_coa: [],
selected_item: {},
items: [],
a_save_status: 0,
a_save_error_message: '',
a_msg_success: '',
a_msg_info: '',
a_open_dialog_info: false,
a_alert_error: false,
a_alert_success: false,
// search table
a_x_search: '',
a_current_page: 1,
a_last_id: -1,
total_item: 0,
// search table
// dropdown category
selected_category: {},
categorys: [],
// array item division
item_division_arr: [],
// item division selected
selected_itemdivision: {},
// list item division
itemdivisions: [],
// state dialog
msg_gagal: "",
dialog_gagal: false,
msg_success: "",
dialog_success: false,
},
mutations: {
update_msg_success(state, val) {
state.msg_success = val;
},
update_dialog_success(state, val) {
state.dialog_success = val;
},
update_msg_gagal(state, val) {
state.msg_gagal = val;
},
update_dialog_gagal(state, val) {
state.dialog_gagal = val;
},
update_a_errors_save_coa(state, val) {
state.a_errors_save_coa = val
},
update_a_search_error_message(state, val) {
state.a_search_error_message = val
},
update_a_search_status(state, val) {
state.a_search_status = val
},
update_a_search_statusr(state, val) {
state.a_search_statusr = val
},
update_selected_item(state, val) {
state.selected_item = val
},
update_items(state, val) {
state.items = val
},
update_a_open_dialog_info(state, val) {
state.a_open_dialog_info = val
},
update_a_msg_info(state, val) {
state.a_msg_info = val
},
update_a_x_search(state, val) {
state.a_x_search = val
},
update_a_current_page(state, val) {
state.a_current_page = val
},
update_a_last_id(state, val) {
state.a_last_id = val
},
update_total_item(state, val) {
state.total_item = val
},
update_a_msg_success(state, val) {
state.a_msg_success = val
},
update_a_save_status(state, val) {
state.a_save_status = val
},
update_a_save_error_message(state, val) {
state.a_save_error_message = val
},
update_a_alert_success(state, val) {
state.a_alert_success = val
},
update_a_alert_error(state, val) {
state.a_alert_error = val
},
update_dialog_add_coa(state, val) {
state.dialog_add_coa = val
},
update_dialog_edit_coa(state, val) {
state.dialog_edit_coa = val
},
update_a_loading_category(state, val) {
state.a_loading_nat_group = val
},
update_e_loading_nat_group(state, val) {
state.e_loading_nat_group = val
},
update_a_nat_group(state, val) {
state.a_nat_group = val
},
update_e_nat_group(state, val) {
state.e_nat_group = val
},
update_a_nat_group_list(state, val) {
state.a_nat_group_list = val
},
update_e_nat_group_list(state, val) {
state.e_nat_group_list = val
},
// dropdown category
update_selected_category(state, val) {
state.selected_category = val
},
update_categorys(state, val) {
state.categorys = val
},
// array item division
update_item_division_arr(state, val) {
state.item_division_arr = val
},
// item division selected
update_selected_itemdivision(state, val) {
state.selected_itemdivision = val
},
update_itemdivisions(state, val) {
state.itemdivisions = val
},
// update item division arr
update_itemdivision_arr(state, val) {
const idx = state.itemdivisions.findIndex(
item => item.M_ItemDivisionID === val.M_ItemDivisionID
);
if (idx !== -1) {
state.itemdivisions[idx].IsChecked = val.IsChecked;
}
const arrIndex = state.item_division_arr.findIndex(
item => item.M_ItemDivisionID === val.M_ItemDivisionID
);
if (arrIndex !== -1) {
state.item_division_arr.splice(arrIndex, 1);
state.item_division_arr.push(val);
} else {
if (val.IsChecked === "1") {
state.item_division_arr.push(val);
} else {
state.item_division_arr.push(val);
}
}
},
},
actions: {
// get category from api
async getDropdownCategoryA(context) {
context.commit("update_a_loading_category", true)
try {
let prm = {};
prm.token = one_token()
let resp = await api.getDropdownCategory(prm)
// console.log('data nat_group ',resp)
if (resp.status != "OK") {
context.commit("update_a_loading_category", false)
} else {
// console.log('data nat_group ',resp.data)
context.commit("update_a_loading_category", false)
context.commit("update_categorys", resp.data.records)
// context.commit("update_selected_category", resp.data.records[0])
}
} catch (e) {
context.commit("update_a_loading_category", false)
}
},
// searchItem
async searchItemA(context, prm) {
context.commit("update_a_search_status", 1)
try {
prm.token = one_token()
let resp = await api.searchItem(prm)
if (resp.status != "OK") {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", resp.message)
context.commit("update_a_msg_info", resp.message)
context.commit("update_a_open_dialog_info", true)
} else {
context.commit("update_a_search_status", 2)
context.commit("update_a_search_error_message", "")
context.commit("update_a_msg_info", resp.message)
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_items", data.records)
context.commit("update_total_item", data.total)
}
} catch (e) {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", e.message)
context.commit("update_a_msg_info", e.message)
context.commit("update_a_open_dialog_info", true)
}
},
// item division list by item selected
async itemDivisionListA(context, prm) {
context.commit("update_a_search_status", 1)
try {
// prm.token = one_token()
var prm = {
current_page: context.state.current_pager,
M_ItemID: context.state.selected_item.M_ItemID,
last_id: -1,
current_page: -1,
token: one_token()
};
let resp = await api.itemDivisionList(prm)
if (resp.status != "OK") {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", resp.message)
context.commit("update_a_msg_info", resp.message)
context.commit("update_a_open_dialog_info", true)
} else {
context.commit("update_a_search_status", 2)
context.commit("update_a_search_error_message", "")
context.commit("update_a_msg_info", resp.message)
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_itemdivisions", data.records)
// context.commit("update_total_item", data.total)
}
} catch (e) {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", e.message)
context.commit("update_a_msg_info", e.message)
context.commit("update_a_open_dialog_info", true)
}
},
// update item division
async updateItemDivisionA(context, prm) {
context.commit("update_a_search_status", 1)
try {
var prm = {
M_ItemID: context.state.selected_item.M_ItemID,
M_ItemDivisionID: context.state.item_division_arr,
last_id: -1,
current_page: -1,
token: one_token()
};
let resp = await api.updateItemDivision(prm)
if (resp.status != "OK") {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", resp.message)
context.commit("update_a_msg_info", resp.message)
context.commit("update_a_open_dialog_info", true)
} else {
context.commit("update_a_search_status", 2)
context.commit("update_a_search_error_message", "")
context.commit("update_a_msg_info", resp.message)
context.commit("update_dialog_success", true);
var msg = "Update Sukses";
context.commit("update_msg_success", msg);
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_itemdivisions", data.records)
}
} catch (e) {
context.commit("update_a_search_status", 3)
context.commit("update_a_search_error_message", e.message)
context.commit("update_a_msg_info", e.message)
context.commit("update_a_open_dialog_info", true)
}
},
},
}