Files
REG_IBL/one-ui/masterdata/one-fisik-template/modules/fisikdetail.js
2026-05-25 20:01:37 +07:00

137 lines
4.1 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/fisikdetail.js";
export default {
namespaced: true,
state: {
lookup_status: 2,
fisikdetails: [],
total_data: 0,
current_page: 1,
selected_fisikdetail: {},
x_search: "",
save_status: 2,
save_error_message: "",
errors: [],
fisiknat_tests: [],
selected_filter_status: {'value': 'Y', 'text': 'Sudah dipilih'},
f_statuss: [{'value': 'Y', 'text': 'Sudah dipilih'}, {'value': 'N', 'text': 'Belum dipilih'}],
selected_filter_flag: {'value': 'Y', 'text': 'Sudah dipilih'},
},
mutations: {
update_selected_filter_flag(state, val) {
state.selected_filter_flag = val;
},
update_selected_filter_status(state, val) {
state.selected_filter_status = val;
},
update_f_statuss(state, val) {
state.f_statuss = val;
},
update_lookup_status(state, val) {
state.lookup_status = val;
},
update_fisikdetails(state, val) {
state.fisikdetails = val;
},
update_total_data(state, val) {
state.total_data = val;
},
update_current_page(state, val) {
state.current_page = val;
},
update_selected_fisikdetail(state, val) {
state.selected_fisikdetail = val;
},
update_x_search(state, val) {
state.x_search = val;
},
update_save_status(state, val) {
state.save_status = val;
},
update_save_error_message(state, val) {
state.save_error_message = val;
},
update_errors(state, val) {
state.errors = val;
},
},
actions: {
async findFisikTemplate(context, prm) {
context.commit("update_lookup_status", 1);
try {
prm.token = one_token();
let resp = await api.findFisikTemplate(prm);
if (resp.status != "OK") {
context.commit("update_lookup_status", 3);
} else {
context.commit("update_lookup_status", 2);
let data = {
records: resp.data.records,
total: resp.data.total,
};
context.commit("update_fisikdetails", data.records);
context.commit("update_total_data", data.total);
}
} catch (e) {
context.commit("update_lookup_status", 3);
}
},
async saveAddFisikTemplateMappingDetail(context, prm) {
context.commit("update_save_status", 1);
try {
prm.token = one_token();
let resp = await api.saveAddFisikTemplateMappingDetail(prm);
if (resp.status != "OK") {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", resp.message);
} else {
var data = {
records: resp.data.records,
total: resp.data.total,
};
if (data.total !== -1) {
context.commit("update_save_status", 2);
context.commit("update_save_error_message", resp.message);
context.commit("fisik/update_alert_success", true, {
root: true,
});
var msg = "";
if (prm.status === "N") {
msg = "Fisik Template " + prm.name + " batal dipilih";
} else {
msg = "Fisik Template " + prm.name + " berhasil dipilih";
}
context.commit("fisik/update_snackbar", {
value: true,
color: "success",
text: msg,
top:false,
bottom:true,
left:false,
right:true,
});
context.dispatch("findFisikTemplate", {
id: prm.templatemappingID,
code: prm.code,
name: prm.name,
status: context.state.selected_filter_flag.value,
current_page: prm.current_page,
lastid: -1,
});
} else {
context.commit("update_errors", resp.data.errors);
}
}
} catch (e) {
context.commit("update_save_status", 3);
context.commit("update_save_error_message", e.message);
}
},
},
};