import * as api from "../api/api.js"; export default { namespaced: true, state: { /* common */ snackbar: { color: 'success', msg: '', state: false }, loading_process: false, /* main layout */ filterasset: { startdate: moment(new Date()).format('YYYY-MM-DD'), enddate: moment(new Date()).format('YYYY-MM-DD'), status: 'All', search: '' }, list_status: ['All', 'Confirmed', 'Unconfirmed'], list_roasset: { records: [], total: 0 }, currpage: 1, selected_roasset: {}, /* upload attachment */ dialog_attachment: false, preview_attachment: [], /* delete */ dialog_delete: false, /* confirm */ dialog_confirm: false, /* barcode */ dialog_barcode: false, list_barcode: [], dialog_handover_asset: false, list_item_not_handed: [], list_lokasi: [] }, mutations: { /* common */ update_snackbar(state, val) { state.snackbar = val }, update_loading_process(state, val) { state.loading_process = val }, /* main layout */ update_filterasset(state, val) { state.filterasset = val }, update_list_status(state, val) { state.list_status = val }, update_list_roasset(state, val) { state.list_roasset = val }, update_currpage(state, val) { state.currpage = val }, update_selected_roasset(state, val) { state.selected_roasset = val }, /* attachment */ update_dialog_attachment(state, val) { state.dialog_attachment = val }, update_preview_attachment(state, val) { state.preview_attachment = val }, /* delete */ update_dialog_delete(state, val) { state.dialog_delete = val }, /* delete */ update_dialog_confirm(state, val) { state.dialog_confirm = val }, /* barcode */ update_dialog_barcode(state, val) { state.dialog_barcode = val }, update_list_barcode(state, val) { state.list_barcode = val }, update_dialog_handover_asset(state, val) { state.dialog_handover_asset = val }, update_list_item_not_handed(state, val) { state.list_item_not_handed = val }, update_list_lokasi(state, val) { state.list_lokasi = val } }, actions: { async lookupOrderAssetReceived(context) { try { const param = { token: one_token(), currpage: context.state.currpage, ...context.state.filterasset } const resp = await api.getListingROAsset(param); if (resp.status != "OK") { throw new Error(resp.message); } context.commit("update_list_roasset", resp.data); } catch (e) { const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async lookupAttachment(context, roID) { try { const param = { token: one_token(), roID: roID } const resp = await api.getListAttachment(param); if (resp.status != "OK") { throw new Error(resp.message); } context.commit('update_preview_attachment', resp.data); } catch (e) { const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async getDetailDataROAsset(context, roid) { try { context.commit('update_loading_process', true); let params = { token: one_token(), roid: roid } const resp = await api.getDetailDataROAsset(params); if (resp.status != "OK") { throw new Error(resp.message); } context.commit('orderAsset/update_form_receive', resp.data.header, { root: true }) context.dispatch('orderAsset/listingGudang', resp.data.header.branchID, { root: true }); context.commit('orderAsset/update_order_received', resp.data.detail, { root: true }) context.commit('update_loading_process', false); } catch (e) { context.commit('update_loading_process', false); const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async uploadAttachment(context, params) { try { context.commit('update_loading_process', true); const resp = await api.uploadAttachment(params); if (resp.status != "OK") { throw new Error(resp.message); } const snac = { color: 'success', msg: resp.data, state: true }; context.commit("update_snackbar", snac); context.dispatch('lookupOrderAssetReceived'); context.commit('update_loading_process', false); context.state.dialog_attachment = false; } catch (e) { context.commit('update_loading_process', false); const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async deleteReceiveAsset(context, roID) { try { context.commit('update_loading_process', true); const param = { token: one_token(), roid: roID } const resp = await api.deleteReceiveOrder(param); if (resp.status != "OK") { throw new Error(resp.message); } const snac = { color: 'success', msg: resp.data, state: true }; context.commit("update_snackbar", snac); context.dispatch('lookupOrderAssetReceived'); context.commit('update_loading_process', false); context.state.dialog_delete = false; } catch (e) { context.commit('update_loading_process', false); const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async confirmReceiveOrder(context, roID) { try { context.commit('update_loading_process', true); const param = { token: one_token(), roid: roID } const resp = await api.confirmReceiveOrder(param); if (resp.status != "OK") { throw new Error(resp.message); } const snac = { color: 'success', msg: resp.data, state: true }; context.commit("update_snackbar", snac); context.dispatch('lookupOrderAssetReceived'); context.commit('update_loading_process', false); context.state.dialog_confirm = false; } catch (e) { context.commit('update_loading_process', false); const snac = { color: 'error', msg: e.message, state: false }; context.commit("update_snackbar", snac); } }, async lookupRuangan(context) { try { const params = { token: one_token(), search: '' }; const resp = await api.getRuangan(params); if (resp.status != 'OK') { throw new Error(resp.message); } context.commit("update_list_lokasi", resp.data); } catch (e) { const snac = { color: 'error', msg: e.message, state: true }; context.commit("update_snackbar", snac); } }, async lookupAssetNotHanded(context, id) { try { const params = { token: one_token(), ROID: id }; const resp = await api.getAssetBelumSerahTerima(params); if (resp.status != 'OK') { throw new Error(resp.message); } context.commit("update_list_item_not_handed", resp.data); } catch (e) { const snac = { color: 'error', msg: e.message, state: true }; context.commit("update_snackbar", snac); } }, async saveHandoverAsset(context, params) { try { params.token = one_token(); const resp = await api.saveHandover(params); if (resp.status != 'OK') { throw new Error(resp.message); } const snac = { color: 'success', msg: resp.data, state: true }; context.commit("update_snackbar", snac); context.dispatch("lookupOrderAssetReceived"); context.commit("update_dialog_handover_asset", false); } catch (e) { const snac = { color: 'error', msg: e.message, state: true }; context.commit("update_snackbar", snac); } }, async lookupBarcodes(context, id) { try { const params = { token: one_token(), ROID: id }; const resp = await api.getBarcodes(params); if (resp.status != 'OK') { throw new Error(resp.message); } context.commit('update_list_barcode', resp.data); } catch (e) { const snac = { color: 'error', msg: e.message, state: true }; context.commit("update_snackbar", snac); } }, } }