229 lines
7.6 KiB
JavaScript
229 lines
7.6 KiB
JavaScript
import * as api from "../api/api.js";
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
user: one_user(),
|
|
snackbar: {
|
|
color: "success",
|
|
msg: "",
|
|
state: false
|
|
},
|
|
|
|
// left side
|
|
filter_listreg: [],
|
|
filter_listcab: [],
|
|
filter_listing: {
|
|
regional: "",
|
|
cabang: 0,
|
|
keyword: ""
|
|
},
|
|
list_ruangan: {
|
|
total: 0,
|
|
records: []
|
|
},
|
|
list_pagination: 1,
|
|
|
|
// right side
|
|
form_status: "BARU",
|
|
form_listreg: [],
|
|
form_listcab: [],
|
|
form_detail: {
|
|
id: 0,
|
|
nama: "",
|
|
kode: "",
|
|
cabang: "",
|
|
regional: ""
|
|
}
|
|
},
|
|
mutations: {
|
|
update_snackbar(state, val) {
|
|
state.snackbar = val;
|
|
},
|
|
|
|
// left side
|
|
update_filter_listreg(state, val) {
|
|
state.filter_listreg = val;
|
|
},
|
|
update_filter_listcab(state, val) {
|
|
state.filter_listcab = val;
|
|
},
|
|
update_filter_listing(state, val) {
|
|
state.filter_listing = val;
|
|
},
|
|
update_list_ruangan(state, val) {
|
|
state.list_ruangan = val;
|
|
},
|
|
update_list_pagination(state, val) {
|
|
state.list_pagination = val;
|
|
},
|
|
|
|
// right side
|
|
update_form_status(state, val) {
|
|
state.form_status = val
|
|
},
|
|
update_form_listreg(state, val) {
|
|
state.form_listreg = val;
|
|
},
|
|
update_form_listcab(state, val) {
|
|
state.form_listcab = val;
|
|
},
|
|
update_form_detail(state, val) {
|
|
state.form_detail = val
|
|
}
|
|
},
|
|
actions: {
|
|
async listingRegional(context, side) {
|
|
try {
|
|
const param = { token: one_token() }
|
|
|
|
const resp = await api.listingRegional(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
const datas = resp.data.records;
|
|
const users = context.state.user;
|
|
|
|
if (side == 'left') {
|
|
const sel_reg = datas.find((reg) => reg.S_RegionalID == users.S_RegionalID);
|
|
let filter = context.state.filter_listing;
|
|
filter.regional = sel_reg.S_RegionalID;
|
|
|
|
context.commit("update_filter_listing", filter);
|
|
context.commit("update_filter_listreg", datas);
|
|
} else {
|
|
let reg = users.loginlevel == 'pusat'
|
|
? datas
|
|
: datas.filter((r) => r.S_RegionalID == users.S_RegionalID);
|
|
context.commit("update_form_listreg", reg);
|
|
}
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
|
|
async listingCabang(context, side) {
|
|
try {
|
|
let param = {
|
|
token: one_token(),
|
|
regionalID: side == "left"
|
|
? context.state.filter_listing.regional
|
|
: context.state.form_detail.regional
|
|
}
|
|
|
|
const resp = await api.listingCabang(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
const users = context.state.user;
|
|
|
|
if (side == "left") {
|
|
let datas = [{ M_BranchID: 0, M_BranchName: "SEMUA" }, ...resp.data.records]
|
|
const usr_cab = datas.find((cab) => cab.M_BranchID == users.M_BranchID);
|
|
let filter = context.state.filter_listing;
|
|
filter.cabang = usr_cab.M_BranchID;
|
|
|
|
context.commit("update_filter_listing", filter);
|
|
context.commit("update_filter_listcab", datas);
|
|
} else {
|
|
context.commit("update_form_listcab", resp.data.records);
|
|
}
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
|
|
async searchRuangan(context) {
|
|
try {
|
|
const param = {
|
|
token: one_token(),
|
|
latestPage: context.state.list_pagination,
|
|
regionalID: context.state.filter_listing.regional,
|
|
branchID: context.state.filter_listing.cabang ?? 0
|
|
}
|
|
|
|
const resp = await api.searchRuangan(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
context.commit("update_list_ruangan", resp.data);
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
|
|
async insertRuangan(context) {
|
|
try {
|
|
const param = {
|
|
token: one_token(),
|
|
regionalID: context.state.form_detail.regional,
|
|
branchID: context.state.form_detail.cabang,
|
|
ruanganName: context.state.form_detail.nama,
|
|
ruanganCode: context.state.form_detail.kode
|
|
}
|
|
|
|
const resp = await api.insertRuangan(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
const snac = { color: 'success', msg: "sukses insert data ruangan", state: true };
|
|
context.commit("update_snackbar", snac);
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
|
|
async updateRuangan(context, id) {
|
|
try {
|
|
const param = {
|
|
token: one_token(),
|
|
ruanganID: id,
|
|
regionalID: context.state.form_detail.regional,
|
|
branchID: context.state.form_detail.cabang,
|
|
ruanganName: context.state.form_detail.nama,
|
|
ruanganCode: context.state.form_detail.kode
|
|
}
|
|
console.log(param);
|
|
|
|
const resp = await api.updateRuangan(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
const snac = { color: 'success', msg: "sukses update data ruangan", state: true };
|
|
context.commit("update_snackbar", snac);
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
|
|
async deleteRuangan(context, id) {
|
|
try {
|
|
const param = {
|
|
token: one_token(),
|
|
ruanganID: id
|
|
}
|
|
|
|
const resp = await api.deleteRuangan(param);
|
|
if (resp.status != "OK") {
|
|
throw new Error(resp.message);
|
|
}
|
|
|
|
const snac = { color: 'success', msg: "sukses delete data ruangan", state: true };
|
|
context.commit("update_snackbar", snac);
|
|
} catch (e) {
|
|
const snac = { color: 'error', msg: e.message, state: true };
|
|
context.commit("update_snackbar", snac);
|
|
}
|
|
},
|
|
}
|
|
}
|