656 lines
21 KiB
JavaScript
656 lines
21 KiB
JavaScript
// 1 => LOADING
|
|
// 2 => DONE
|
|
// 3 => ERROR
|
|
|
|
import * as api from "../api/api-requester.js";
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
mainTable: [],
|
|
detailTable: [],
|
|
countMainTable: 0,
|
|
countDetailTable: 0,
|
|
mainTableLoadingStatus: 0,
|
|
detailTableLoadingStatus: 0,
|
|
mainTableErrorMessage: "",
|
|
detailTableErrorMessage: "",
|
|
mainTableCurrentPage: 1,
|
|
mainTableLastId: -1,
|
|
|
|
selectedMainTable: {},
|
|
selectedDetailTable: {},
|
|
|
|
statusOptions: [
|
|
{ value: 0, title: "All" },
|
|
{ value: 1, title: "Draft" },
|
|
{ value: 2, title: "Pending" },
|
|
{ value: 3, title: "Approved" },
|
|
{ value: 4, title: "Rejected" },
|
|
{ value: 5, title: "Paid" },
|
|
{ value: 6, title: "Completed" },
|
|
],
|
|
branchOptions: [],
|
|
regionalOptions: [],
|
|
|
|
menuStartDate: false,
|
|
menuEndDate: false,
|
|
menuDateUse: false,
|
|
|
|
dStartDate: new Date().toISOString().substring(0, 10),
|
|
dEndDate: new Date().toISOString().substring(0, 10),
|
|
fStartDate: moment(new Date()).format("YYYY-MM-DD"),
|
|
fEndDate: moment(new Date()).format("YYYY-MM-DD"),
|
|
fStatus: 0,
|
|
fSearch: "",
|
|
|
|
dDateUse: new Date().toISOString().substring(0, 10),
|
|
xDateUse: moment(new Date()).format("YYYY-MM-DD"),
|
|
xRegional: "",
|
|
xBranch: "",
|
|
xDescription: "",
|
|
xPRID: 0,
|
|
xNumber: "",
|
|
xPRDID: 0,
|
|
xDescriptionDetail: "",
|
|
xAmountRequest: 0,
|
|
xEstimationPrice: 0,
|
|
|
|
dialogRequest: false,
|
|
dialogDetail: false,
|
|
act: "new",
|
|
errMessage: "",
|
|
successMessage: "",
|
|
alertError: false,
|
|
alertSuccess: false,
|
|
errors: [],
|
|
total_price: 0,
|
|
item_units: [],
|
|
selected_item_unit: {},
|
|
search_item_unit: "",
|
|
loadingAutocomplete: false,
|
|
dialog_form: false,
|
|
show_progrees_upload: false,
|
|
imageFiles: [],
|
|
imagePreviews: [],
|
|
cekFile: false,
|
|
actAttach: "",
|
|
|
|
category_direct: [],
|
|
selected_category: {}
|
|
},
|
|
mutations: {
|
|
updateMainTable(state, val) {
|
|
state.mainTable = val;
|
|
},
|
|
updateDetailTable(state, val) {
|
|
state.detailTable = val;
|
|
},
|
|
updateCountMainTable(state, val) {
|
|
state.countMainTable = val;
|
|
},
|
|
updateCountDetailTable(state, val) {
|
|
state.countDetailTable = val;
|
|
},
|
|
updateMainTableLoadingStatus(state, val) {
|
|
state.mainTableLoadingStatus = val;
|
|
},
|
|
updateDetailTableLoadingStatus(state, val) {
|
|
state.detailTableLoadingStatus = val;
|
|
},
|
|
updateMainTableErrorMessage(state, val) {
|
|
state.mainTableErrorMessage = val;
|
|
},
|
|
updateDetailTableErrorMessage(state, val) {
|
|
state.detailTableErrorMessage = val;
|
|
},
|
|
updateMainTableCurrentPage(state, val) {
|
|
state.mainTableCurrentPage = val;
|
|
},
|
|
updateMainTableLastId(state, val) {
|
|
state.mainTableLastId = val;
|
|
},
|
|
|
|
updateSelectedMainTable(state, val) {
|
|
state.selectedMainTable = val;
|
|
},
|
|
updateSelectedDetailTable(state, val) {
|
|
state.selectedDetailTable = val;
|
|
},
|
|
|
|
updateBranchOptions(state, val) {
|
|
state.branchOptions = val;
|
|
},
|
|
|
|
updateRegionalOptions(state, val) {
|
|
state.regionalOptions = val;
|
|
},
|
|
|
|
updateMenuStartDate(state, val) {
|
|
state.menuStartDate = val;
|
|
},
|
|
updateMenuEndDate(state, val) {
|
|
state.menuEndDate = val;
|
|
},
|
|
updateMenuDateUse(state, val) {
|
|
state.menuDateUse = val;
|
|
},
|
|
|
|
updateDStartDate(state, val) {
|
|
state.dStartDate = val;
|
|
},
|
|
updateDEndDate(state, val) {
|
|
state.dEndDate = val;
|
|
},
|
|
updateFStartDate(state, val) {
|
|
state.fStartDate = val;
|
|
},
|
|
updateFEndDate(state, val) {
|
|
state.fEndDate = val;
|
|
},
|
|
updateFStatus(state, val) {
|
|
state.fStatus = val;
|
|
},
|
|
updateFSearch(state, val) {
|
|
state.fSearch = val;
|
|
},
|
|
|
|
updateDDateUse(state, val) {
|
|
state.dDateUse = val;
|
|
},
|
|
updateXDateUse(state, val) {
|
|
state.xDateUse = val;
|
|
},
|
|
updateXRegional(state, val) {
|
|
state.xRegional = val;
|
|
},
|
|
updateXBranch(state, val) {
|
|
state.xBranch = val;
|
|
},
|
|
updateXDescription(state, val) {
|
|
state.xDescription = val;
|
|
},
|
|
updateXPRID(state, val) {
|
|
state.xPRID = val;
|
|
},
|
|
updateXNumber(state, val) {
|
|
state.xNumber = val;
|
|
},
|
|
updateXPRDID(state, val) {
|
|
state.xPRDID = val;
|
|
},
|
|
updateXDescriptionDetail(state, val) {
|
|
state.xDescriptionDetail = val;
|
|
},
|
|
updateXAmountRequest(state, val) {
|
|
state.xAmountRequest = val;
|
|
},
|
|
updateXEstimationPrice(state, val) {
|
|
state.xEstimationPrice = val;
|
|
},
|
|
|
|
updateDialogRequest(state, val) {
|
|
state.dialogRequest = val;
|
|
},
|
|
updateDialogDetail(state, val) {
|
|
state.dialogDetail = val;
|
|
},
|
|
updateAct(state, val) {
|
|
state.act = val;
|
|
},
|
|
updateErrMessage(state, val) {
|
|
state.errMessage = val;
|
|
},
|
|
updateSuccessMessage(state, val) {
|
|
state.successMessage = val;
|
|
},
|
|
updateAlertError(state, val) {
|
|
state.alertError = val;
|
|
},
|
|
updateAlertSuccess(state, val) {
|
|
state.alertSuccess = val;
|
|
},
|
|
updateErrors(state, val) {
|
|
state.errors = val;
|
|
},
|
|
updateTotalPrice(state, val) {
|
|
state.total_price = val;
|
|
},
|
|
updateItemUnits(state, val) {
|
|
state.item_units = val;
|
|
},
|
|
updateSelectedItemUnit(state, val) {
|
|
state.selected_item_unit = val;
|
|
},
|
|
updateSearchItemUnit(state, val) {
|
|
state.search_item_unit = val;
|
|
},
|
|
updateLoadingAutocomplete(state, val) {
|
|
state.loadingAutocomplete = val;
|
|
},
|
|
update_dialog_form(state, val) {
|
|
state.dialog_form = val;
|
|
},
|
|
update_show_progrees_upload(state, val) {
|
|
state.show_progrees_upload = val
|
|
},
|
|
update_imageFiles(state, val) {
|
|
state.imageFiles = val
|
|
},
|
|
update_imagePreviews(state, val) {
|
|
state.imagePreviews = val
|
|
},
|
|
update_cekFile(state, val) {
|
|
state.cekFile = val
|
|
},
|
|
update_actAttach(state, val) {
|
|
state.actAttach = val
|
|
},
|
|
update_category_direct(state, val) {
|
|
state.category_direct = val
|
|
},
|
|
update_selected_category(state, val) {
|
|
state.selected_category = val
|
|
}
|
|
},
|
|
actions: {
|
|
async getCategoryPD(context) {
|
|
context.commit("updateDetailTableLoadingStatus", 1);
|
|
try {
|
|
var params = {
|
|
token: one_token(),
|
|
name: ''
|
|
}
|
|
|
|
let resp = await api.getCategoryPD(params)
|
|
if (resp.status != 'OK') {
|
|
context.commit("updateDetailTableLoadingStatus", 3);
|
|
context.commit("updateDetailTableErrorMessage", resp.message);
|
|
} else {
|
|
context.commit("updateDetailTableLoadingStatus", 2);
|
|
context.commit("update_category_direct", resp.data)
|
|
}
|
|
|
|
} catch (error) {
|
|
context.commit("updateDetailTableLoadingStatus", 3);
|
|
context.commit("updateDetailTableErrorMessage", error.message);
|
|
}
|
|
},
|
|
async search(context) {
|
|
context.commit("updateMainTableLoadingStatus", 1);
|
|
|
|
try {
|
|
var url_string = window.location.href
|
|
var url = new URL(url_string);
|
|
var xdate = url.searchParams.get("date");
|
|
var xsearch = url.searchParams.get("search");
|
|
|
|
if (xsearch) {
|
|
context.commit("updateFSearch", xsearch);
|
|
}
|
|
if (xdate) {
|
|
context.commit("updateFStartDate", xdate);
|
|
context.commit("updateFEndDate", xdate);
|
|
}
|
|
|
|
var payload = {
|
|
token: one_token(),
|
|
currentPage: context.state.mainTableCurrentPage,
|
|
startDate: context.state.fStartDate,
|
|
endDate: context.state.fEndDate,
|
|
status: context.state.fStatus,
|
|
search: context.state.fSearch,
|
|
lastId: -1,
|
|
};
|
|
|
|
let response = await api.search(payload);
|
|
if (response.status != "OK") {
|
|
context.commit("updateMainTableLoadingStatus", 3);
|
|
context.commit("updateMainTableErrorMessage", response.message);
|
|
} else {
|
|
context.commit("updateMainTableLoadingStatus", 2);
|
|
context.commit("updateMainTableErrorMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
context.commit("updateMainTable", data.records);
|
|
context.commit("updateCountMainTable", data.total);
|
|
context.dispatch("system/getlistnotif", null, { root: true })
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateMainTableLoadingStatus", 3);
|
|
context.commit("updateMainTableErrorMessage", e.message);
|
|
}
|
|
},
|
|
async searchDetail(context) {
|
|
context.commit("updateDetailTableLoadingStatus", 1);
|
|
|
|
try {
|
|
var payload = {
|
|
token: one_token(),
|
|
PRID: context.state.selectedMainTable.PurchaseRequestDirectID,
|
|
};
|
|
|
|
let response = await api.searchDetail(payload);
|
|
if (response.status != "OK") {
|
|
context.commit("updateDetailTableLoadingStatus", 3);
|
|
context.commit("updateDetailTableErrorMessage", response.message);
|
|
} else {
|
|
context.commit("updateDetailTableLoadingStatus", 2);
|
|
context.commit("updateDetailTableErrorMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
context.commit("updateDetailTable", data.records);
|
|
context.commit("updateCountDetailTable", data.total);
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateDetailTableLoadingStatus", 3);
|
|
context.commit("updateDetailTableErrorMessage", e.message);
|
|
}
|
|
},
|
|
async regional(context) {
|
|
let response = await api.getRegional({ token: one_token() });
|
|
if (response.status === "OK") {
|
|
let data = {
|
|
records: response.data.records,
|
|
};
|
|
|
|
context.commit("updateRegionalOptions", data.records);
|
|
}
|
|
},
|
|
async branch(context) {
|
|
let response = await api.getBranch({ token: one_token() });
|
|
if (response.status === "OK") {
|
|
let data = {
|
|
records: response.data.records,
|
|
};
|
|
|
|
context.commit("updateBranchOptions", data.records);
|
|
}
|
|
},
|
|
async saveRequest(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.saveRequest(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogRequest", false);
|
|
var msg = `Purchase Request baru dengan kode ${data.records[0].PurchaseRequestDirectNumber} sudah tersimpan`;
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.commit("updateSelectedMainTable", data.records[0]);
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async updateRequest(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.updateRequest(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogRequest", false);
|
|
var msg = `Perubahan Purchase Request dengan kode ${data.records[0].PurchaseRequestDirectNumber} sudah tersimpan`;
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.commit("updateSelectedMainTable", data.records[0]);
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async deleteRequest(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.deleteRequest(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogRequest", false);
|
|
var msg = `Purchase Request dengan kode ${payload.PRNumber} sudah dihapus`;
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async saveDetail(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.saveDetail(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogDetail", false);
|
|
var msg = `Request baru ${payload.PRDDescription} sudah tersimpan`;
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async updateDetail(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.updateDetail(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogDetail", false);
|
|
var msg = "Perubahan Request sudah tersimpan";
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async deleteDetail(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.deleteDetail(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogDetail", false);
|
|
var msg = `Request [${payload.PRDDescriptionDetail}] sudah dihapus`;
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
async orderRequest(context, payload) {
|
|
try {
|
|
payload.token = one_token();
|
|
|
|
let response = await api.orderRequest(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: response.data.records,
|
|
total: response.data.total,
|
|
};
|
|
|
|
if (data.total !== -1) {
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
context.commit("updateDialogDetail", false);
|
|
context.dispatch("search");
|
|
context.commit("updateSelectedMainTable", data.records[0]);
|
|
context.dispatch("searchDetail");
|
|
} else {
|
|
context.commit("updateErrors", response.data.errors);
|
|
}
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
|
|
async getUnit(context, prm) {
|
|
context.commit("updateLoadingAutocomplete", true)
|
|
try {
|
|
let resp = await api.getUnit(one_token(), prm)
|
|
if (resp.status != "OK") {
|
|
context.commit("updateLoadingAutocomplete", false)
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
} else {
|
|
context.commit("updateLoadingAutocomplete", false)
|
|
context.commit("updateErrMessage", "");
|
|
let data = {
|
|
records: resp.data.records
|
|
}
|
|
|
|
context.commit("updateItemUnits", data.records)
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateLoadingAutocomplete", true)
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
|
|
async saveFiles(context, payload) {
|
|
try {
|
|
// payload.token = one_token();
|
|
|
|
let response = await api.saveFiles(payload);
|
|
if (response.status !== "OK") {
|
|
context.commit("updateErrMessage", response.message);
|
|
context.commit("updateAlertError", true);
|
|
context.commit("update_cekFile", true);
|
|
} else {
|
|
context.commit("updateErrMessage", "");
|
|
// let data = {
|
|
// records: response.data.records,
|
|
// total: response.data.total,
|
|
// };
|
|
|
|
context.commit("update_dialog_form", false);
|
|
context.commit("update_imageFiles", []);
|
|
context.commit("update_imagePreviews", []);
|
|
context.commit("updateErrors", []);
|
|
context.commit("updateAlertSuccess", true);
|
|
var msg = "Upload file berhasil";
|
|
context.commit("updateSuccessMessage", msg);
|
|
context.dispatch("search");
|
|
context.dispatch("searchDetail");
|
|
}
|
|
} catch (e) {
|
|
context.commit("updateErrMessage", e.message);
|
|
context.commit("updateAlertError", true);
|
|
}
|
|
},
|
|
},
|
|
};
|