add modules folder based on s_menu
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
const URL = "/one-api/mockup/purchase/manager/";
|
||||
|
||||
export async function search(payload) {
|
||||
try {
|
||||
var response = await axios.post(URL + "PurchaseRequestDirectApprovedNota/search", payload);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
export async function getlevel(payload) {
|
||||
try {
|
||||
var response = await axios.post(URL + "PurchaseRequestDirectApprovedNota/getlevel", payload);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
export async function searchDetail(payload) {
|
||||
try {
|
||||
var response = await axios.post(
|
||||
URL + "PurchaseRequestDirectApprovedNota/searchDetail",
|
||||
payload
|
||||
);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteDetail(payload) {
|
||||
try {
|
||||
var response = await axios.post(
|
||||
URL + "PurchaseRequestDirectApprovedNota/deleteDetail",
|
||||
payload
|
||||
);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function approveRequestNota(payload) {
|
||||
try {
|
||||
var response = await axios.post(
|
||||
URL + "PurchaseRequestDirectApprovedNota/approveRequestNota",
|
||||
payload
|
||||
);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function rejectRequest(payload) {
|
||||
try {
|
||||
var response = await axios.post(
|
||||
URL + "PurchaseRequestDirectApprovedNota/rejectRequest",
|
||||
payload
|
||||
);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateDetail(payload) {
|
||||
try {
|
||||
var response = await axios.post(
|
||||
URL + "PurchaseRequestDirectApprovedNota/updateDetail",
|
||||
payload
|
||||
);
|
||||
if (response.status !== 200) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: response.statusText,
|
||||
};
|
||||
}
|
||||
|
||||
let data = response.data;
|
||||
return data;
|
||||
} catch (e) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
<template>
|
||||
<v-layout row justify-center>
|
||||
<v-dialog v-model="dialogForm" persistent max-width="60vw">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2" primary-title>
|
||||
BUKTI PEMBAYARAN
|
||||
</v-card-title>
|
||||
<v-card-text class="pt-2 pb-0">
|
||||
<v-layout v-if="show_progrees_upload" row align-center mr-2 ml-2>
|
||||
<v-flex xs12>
|
||||
|
||||
<v-progress-linear :indeterminate="true"></v-progress-linear>
|
||||
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-if="imagePreviews.length > 0 && !show_progrees_upload" align-center row wrap>
|
||||
<v-flex
|
||||
v-for="(img, index) in imagePreviews"
|
||||
:key="index"
|
||||
xs6
|
||||
class="pa-2"
|
||||
>
|
||||
<v-img :src="img">
|
||||
<div class="fill-height bottom-gradient"></div>
|
||||
</v-img>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-divider></v-divider>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="error" flat @click="closeDiallog()"> Tutup </v-btn>
|
||||
<v-btn color="primary" v-if="actAttach == 'upload'" dark @click="saveForm()">Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "formDialogAttachtment",
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
computed: {
|
||||
dialogForm: {
|
||||
get() {
|
||||
return this.$store.state.manager.dialog_form;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_dialog_form", val);
|
||||
},
|
||||
},
|
||||
show_progrees_upload: {
|
||||
get() {
|
||||
return this.$store.state.manager.show_progrees_upload
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_show_progrees_upload", val)
|
||||
}
|
||||
},
|
||||
imageFiles: {
|
||||
get() {
|
||||
return this.$store.state.manager.imageFiles
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_imageFiles", val)
|
||||
}
|
||||
},
|
||||
imagePreviews: {
|
||||
get() {
|
||||
return this.$store.state.manager.imagePreviews
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_imagePreviews", val)
|
||||
}
|
||||
},
|
||||
cekFile: {
|
||||
get() {
|
||||
return this.$store.state.manager.cekFile;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_cekFile", val);
|
||||
},
|
||||
},
|
||||
actAttach: {
|
||||
get() {
|
||||
return this.$store.state.manager.actAttach;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("manager/update_actAttach", val);
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
closeDiallog() {
|
||||
this.$store.commit("manager/update_dialog_form", false);
|
||||
},
|
||||
handleFileUploads(){
|
||||
// this.files = this.$refs.files.files
|
||||
|
||||
const files = this.$refs.files.files;
|
||||
this.imagePreviews = [];
|
||||
this.imageFiles = [];
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const file = files[i];
|
||||
const url = URL.createObjectURL(file);
|
||||
this.imagePreviews.push(url);
|
||||
this.imageFiles.push(file);
|
||||
}
|
||||
// console.log('imagePreviews', this.imagePreviews)
|
||||
// console.log('imageFiles', this.imageFiles)
|
||||
},
|
||||
saveForm() {
|
||||
var formData = new FormData()
|
||||
console.log("formData",this.imageFiles.length)
|
||||
|
||||
for( var i = 0; i < this.imageFiles.length; i++ ){
|
||||
let file = this.imageFiles[i]
|
||||
|
||||
formData.append('files[' + i + ']', file)
|
||||
// console.log("formData",formData)
|
||||
}
|
||||
|
||||
var user = one_user()
|
||||
formData.append('PRDID', this.$store.state.manager.selectedDetailTable.PurchaseRequestDirectDetailID)
|
||||
formData.append('directNumber', this.$store.state.manager.selectedMainTable.PurchaseRequestDirectNumber)
|
||||
formData.append('userId', user.M_UserID)
|
||||
|
||||
// console.log('prpd', this.$store.state.manager.selectedDetailTable.PurchaseRequestDirectDetailID)
|
||||
// console.log('prm', formData)
|
||||
this.$store.dispatch('manager/saveFiles', formData)
|
||||
//this.submitFiles();
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
|
||||
<link rel="stylesheet" href="../../../libs/vendor/css/icomoon-fonts.css">
|
||||
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
|
||||
<title>One</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div v-cloak id="app">
|
||||
<v-app id="smartApp">
|
||||
<one-navbar></one-navbar>
|
||||
<v-content style="background: #F5E8DF!important">
|
||||
<v-container fluid fill-height class="pl-1 pr-1 pt-2 pb-2">
|
||||
<v-layout row wrap>
|
||||
<v-flex xs12 class="left" fill-height pa-1>
|
||||
<request-listing></request-listing>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-container>
|
||||
</v-content>
|
||||
<one-footer></one-footer>
|
||||
</v-app>
|
||||
</div>
|
||||
|
||||
<!-- Vendor -->
|
||||
<script src="../../../libs/vendor/moment.min.js"></script>
|
||||
<script src="../../../libs/vendor/numeral.min.js"></script>
|
||||
<script src="../../../libs/vendor/moment-locale-id.js"></script>
|
||||
<script src="../../../libs/vendor/lodash.js"></script>
|
||||
<script src="../../../libs/vendor/axios.min.js"></script>
|
||||
<script src="../../../libs/vendor/vue.js"></script>
|
||||
<script src="../../../libs/vendor/vuex.js"></script>
|
||||
<script src="../../../libs/vendor/vuetify.js"></script>
|
||||
<script src="../../../libs/vendor/httpVueLoader.js"></script>
|
||||
<script src="../../../libs/one_global.js"></script>
|
||||
|
||||
<!-- App Script -->
|
||||
<script type="module">
|
||||
import {
|
||||
store
|
||||
} from './store.js';
|
||||
window.store = store;
|
||||
new Vue({
|
||||
store,
|
||||
el: "#app",
|
||||
methods: {},
|
||||
components: {
|
||||
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
|
||||
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
|
||||
'request-listing': httpVueLoader('./components/requestListing.vue')
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,412 @@
|
||||
// 1 => LOADING
|
||||
// 2 => DONE
|
||||
// 3 => ERROR
|
||||
|
||||
import * as api from "../api/api-manager.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: 2, title: "Pending" },
|
||||
{ value: 3, title: "Approved" },
|
||||
{ value: 4, title: "Rejected" },
|
||||
{ value: 5, title: "Paid" },
|
||||
{ value: 6, title: "Completed" },
|
||||
],
|
||||
|
||||
menuStartDate: false,
|
||||
menuEndDate: 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: "",
|
||||
|
||||
xNote: "",
|
||||
xAmount: 0,
|
||||
xPrice: 0,
|
||||
xPRID: 0,
|
||||
xPRDID: 0,
|
||||
xStatus: "",
|
||||
xDescriptionDetail: "",
|
||||
|
||||
dialogDetail: false,
|
||||
errMessage: "",
|
||||
succesMessage: "",
|
||||
alertError: false,
|
||||
alertSuccess: false,
|
||||
errors: [],
|
||||
levelname: [],
|
||||
dialog_form: false,
|
||||
show_progrees_upload: false,
|
||||
imageFiles: [],
|
||||
imagePreviews: [],
|
||||
cekFile: false,
|
||||
actAttach: ""
|
||||
},
|
||||
mutations: {
|
||||
updateMainTable(state, val) {
|
||||
state.mainTable = val;
|
||||
},
|
||||
updateLevelName(state, val) {
|
||||
state.levelname = 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;
|
||||
},
|
||||
|
||||
updateMenuStartDate(state, val) {
|
||||
state.menuStartDate = val;
|
||||
},
|
||||
updateMenuEndDate(state, val) {
|
||||
state.menuEndDate = 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;
|
||||
},
|
||||
|
||||
updateXNote(state, val) {
|
||||
state.xNote = val;
|
||||
},
|
||||
updateXAmount(state, val) {
|
||||
state.xAmount = val;
|
||||
},
|
||||
updatexPrice(state, val) {
|
||||
state.xPrice = val;
|
||||
},
|
||||
updateXPRID(state, val) {
|
||||
state.xPRID = val;
|
||||
},
|
||||
updateXPRDID(state, val) {
|
||||
state.xPRDID = val;
|
||||
},
|
||||
updateXStatus(state, val) {
|
||||
state.xStatus = val;
|
||||
},
|
||||
updateXDescriptionDetail(state, val) {
|
||||
state.xDescriptionDetail = val;
|
||||
},
|
||||
|
||||
updateDialogDetail(state, val) {
|
||||
state.dialogDetail = 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;
|
||||
},
|
||||
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
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async search(context) {
|
||||
context.commit("updateMainTableLoadingStatus", 1);
|
||||
|
||||
try {
|
||||
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);
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("updateMainTableLoadingStatus", 3);
|
||||
context.commit("updateMainTableErrorMessage", e.message);
|
||||
}
|
||||
},
|
||||
async getlevel(context) {
|
||||
context.commit("updateMainTableLoadingStatus", 1);
|
||||
|
||||
try {
|
||||
var payload = {
|
||||
token: one_token()
|
||||
};
|
||||
|
||||
let response = await api.getlevel(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("updateLevelName", data.records[0].M_ApproveLevelName);
|
||||
}
|
||||
} 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 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 = `Request [${payload.PRDDescription}] telah diperbarui`;
|
||||
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 rejectRequest(context, payload) {
|
||||
try {
|
||||
payload.token = one_token();
|
||||
|
||||
let response = await api.rejectRequest(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);
|
||||
var msg = `Purchase Request [${payload.PRNumber}] sudah ditolak`;
|
||||
context.commit("updateSuccessMessage", msg);
|
||||
context.commit("updateSelectedMainTable", {});
|
||||
context.commit("updateDetailTable", []);
|
||||
context.commit("updateSelectedDetailTable", {});
|
||||
context.dispatch("search");
|
||||
} 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);
|
||||
var msg = `Request [${payload.PRDDescription}] 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 approveRequestNota(context, payload) {
|
||||
try {
|
||||
payload.token = one_token();
|
||||
|
||||
let response = await api.approveRequestNota(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);
|
||||
var msg = `Purchase Request nota [${payload.PRNumber}] telah diapprove`;
|
||||
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);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
import manager from "./modules/manager.js";
|
||||
import system from "../../../apps/modules/system/system.js";
|
||||
export const store = new Vuex.Store({
|
||||
modules: {
|
||||
manager: manager,
|
||||
system: system,
|
||||
},
|
||||
state: {},
|
||||
mutations: {},
|
||||
actions: {},
|
||||
});
|
||||
Reference in New Issue
Block a user