Files
fe-accone/test/vuex/acc-one-transfer-req/modules/np_form.js

307 lines
13 KiB
JavaScript

import * as api from "../api/nonpersediaan_api.js";
export default {
namespaced: true,
state: {
user: one_user(),
form_transfer_date: new Date().toISOString().substr(0, 10),
form_cabang: {},
form_divisi: {},
form_catatan: "",
form_detail: [],
dialog_detailform: false,
list_cabangform: [],
list_divisiform: [],
list_detailform: {
total: 0,
records: []
},
list_detailform_page: 1,
type_act: 'BARU',
is_verif: 'Draft',
buffer_detailitem: {},
dialog_batchitem: false,
list_barnote: {},
form_barnote: [],
edit_qty: 'Eqty',
act_verif: ''
},
mutations: {
update_form_transfer_date(state, data) {
state.form_transfer_date = data
},
update_form_cabang(state, data) {
state.form_cabang = data
},
update_form_divisi(state, data) {
state.form_divisi = data
},
update_form_catatan(state, data) {
state.form_catatan = data
},
update_form_detail(state, data) {
state.form_detail = data
},
update_dialog_detailform(state, data) {
state.dialog_detailform = data
},
update_list_cabangform(state, data) {
state.list_cabangform = data
},
update_list_divisiform(state, data) {
state.list_divisiform = data
},
update_list_detailform(state, data) {
state.list_detailform = data
},
update_list_detailform_page(state, data) {
state.list_detailform_page = data
},
update_type_act(state, data) {
state.type_act = data
},
update_is_verif(state, data) {
state.is_verif = data
},
update_buffer_detailitem(state, data) {
state.buffer_detailitem = data
},
update_list_barnote(state, data) {
state.list_barnote = data
},
update_dialog_batchitem(state, data) {
state.dialog_batchitem = data
},
update_form_barnote(state, data) {
state.form_barnote = data
},
update_edit_qty(state, data) {
state.edit_qty = data
},
update_act_verif(state, data) {
state.act_verif = data
}
},
actions: {
async newForm(context) {
try {
let params = {
token: one_token(),
S_RegionalID: context.state.user.S_RegionalID
}
let resp = await api.getBranches(params)
if (resp.status != "OK") {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
context.commit("update_type_act", "BARU")
context.commit("update_list_cabangform", resp.data.records)
context.dispatch("getDivisi", {})
context.commit("update_form_transfer_date", new Date().toISOString().substr(0, 10))
context.commit("update_form_cabang", { })
context.commit("update_form_divisi", { })
context.commit("update_form_catatan", "")
context.commit("update_list_detailform", {total: 0, records: []})
context.commit("update_is_verif", 'Draft')
context.commit("update_form_detail", [ ])
context.commit("np_data/update_selected_tf", { }, { root: true })
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async getDivisi(context) {
try {
let params = {token: one_token()}
let resp = await api.getDivision(params);
if (resp.status != 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
context.commit("update_list_divisiform", resp.data)
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async getListItemDetail(context) {
try {
let params = {
token: one_token(),
currpage: context.state.list_detailform_page,
regionalid: context.state.user.S_RegionalID,
branchcodedestin: context.state.form_cabang.M_BranchCode,
branchIDorigin: context.state.user.M_BranchID,
divisionID: context.state.form_divisi.DivisionID
}
let resp = await api.getListDetail(params)
if (resp.status != 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
const current_detail = context.state.form_detail
if (current_detail.length == 0) {
context.commit("update_list_detailform", resp.data)
} else {
const inserted = resp.data.records.filter(item => !current_detail.some(obj => obj.PurchaseRequestFlagID == item.PurchaseRequestFlagID))
let data = {
records: inserted,
total: parseInt(resp.data.total)
}
context.commit("update_list_detailform", data)
}
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async createTFReq(context) {
try {
let params = {
token: one_token(),
S_RegionalID: context.state.user.S_RegionalID,
M_BranchCode: context.state.form_cabang.M_BranchCode,
DivisionID: context.state.form_divisi.DivisionID,
GoodsTfNotes: context.state.form_catatan,
GoodsTfDate: context.state.form_transfer_date,
GoodsTfStatus: context.state.is_verif,
detail: context.state.form_detail
}
let resp = await api.createTfRequest(params);
if (resp.status != 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
// generate surat jalan atau nggak?
context.dispatch("newForm")
context.dispatch("np_data/cariTF", { }, { root: true })
let snac = { isOpen: true, color: "success", msg: "Success" }
context.commit("p_data/update_snackbar", snac, { root: true })
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async updateTFReq(context) {
try {
let params = {
token: one_token(),
S_RegionalID: context.state.user.S_RegionalID,
M_BranchCode: context.state.form_cabang.M_BranchCode,
DivisionID: context.state.form_divisi.DivisionID,
GoodsTfID: context.rootState.np_data.selected_tf.T_GoodsTransferID,
GoodsTfNum: context.rootState.np_data.selected_tf.T_GoodsTransferNum,
GoodsTfNotes: context.state.form_catatan,
GoodsTfDate: context.state.form_transfer_date,
GoodsTfStatus: context.state.is_verif,
editqty: context.state.edit_qty,
actverif: context.state.act_verif,
detail: context.state.form_detail
}
let resp = await api.updateTfRequest(params);
if (resp.status != 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
// generate surat jalan atau nggak?
context.dispatch("newForm")
context.dispatch("np_data/cariTF", { }, { root: true })
let snac = { isOpen: true, color: "success", msg: "Success" }
context.commit("p_data/update_snackbar", snac, { root: true })
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async deleteTFReq(context, params) {
try {
params.token = one_token()
let resp = await api.deleteTfRequest(params);
if (resp.status != 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
context.dispatch("newForm")
context.dispatch("p_data/cariTF", { }, { root: true })
let snac = { isOpen: true, color: "success", msg: resp.data}
context.commit("p_data/update_snackbar", snac, { root: true })
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async displayDetail(context) {
try {
let detail = context.rootState.np_data.selected_tf
context.commit("update_form_transfer_date", detail.T_GoodsTransferDate)
context.commit("update_form_catatan", detail.T_GoodsTransferNotes)
context.commit("update_is_verif", detail.T_GoodsTransferStatus)
context.commit("update_form_cabang", {
M_BranchID: detail.M_BranchID,
M_BranchCode: detail.M_BranchCode,
M_BranchName: detail.M_BranchName
})
context.commit("update_form_divisi", {
DivisionID: detail.T_GoodsTransferDivisionID,
DivisionCode: detail.DivisionCode,
DivisionName: detail.DivisionName
})
let params = {
token: one_token(),
goodTfID: detail.T_GoodsTransferID
}
const resp = await api.getDraftDetail(params)
if (resp.status !== 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
const draft = resp.data.records
context.commit("update_form_detail", draft);
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
},
async getListStock(context, params) {
try {
params.token = one_token()
params.regionalid = context.state.user.S_RegionalID
const resp = await api.getListStock(params)
if (resp.status !== 'OK') {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + resp.message }
context.commit("p_data/update_snackbar", snac, { root: true })
} else {
context.commit("update_list_barnote", resp.data)
}
} catch (error) {
let snac = { isOpen: true, color: "error", msg: "Gagal, " + error.message }
context.commit("p_data/update_snackbar", snac, { root: true })
}
}
}
}