401 lines
9.5 KiB
JavaScript
401 lines
9.5 KiB
JavaScript
/* Master Data */
|
|
import JenisPengadaan from './views/master-data/jenis-pengadaan';
|
|
import UnitInisiator from './views/master-data/unit-inisiator';
|
|
import MetodePengadaan from './views/master-data/metode-pengadaan';
|
|
import MetodePenyampaian from './views/master-data/metode-penyampaian';
|
|
import JenisKontrak from './views/master-data/jenis-kontrak';
|
|
import SumberDana from './views/master-data/sumber-dana';
|
|
import StrategiPengadaan from './views/master-data/strategi-pengadaan';
|
|
import LokasiPengadaan from './views/master-data/lokasi-pengadaan';
|
|
import SupplyPositioningMatrix from './views/master-data/supply-positioning-matrix';
|
|
import JenisAnggaran from './views/master-data/jenis-anggaran';
|
|
import InstansiPage from './views/master-data/instansi-page';
|
|
import BidangPage from './views/master-data/bidang-page';
|
|
import JabatanPage from './views/master-data/jabatan-page';
|
|
|
|
/* Master Konfigurasi */
|
|
import RolesConfig from './views/master-config/roles-config';
|
|
import UsersConfig from './views/master-config/users-config';
|
|
import PermissionsConfig from './views/master-config/permissions-config';
|
|
import User from './views/user-page';
|
|
|
|
/* Master Template */
|
|
import RksDaftar from './views/rks-daftar';
|
|
|
|
/* DRP */
|
|
import DrpPenyusunan from './views/drp/drp-penyusunan';
|
|
import DrpPengadaanDokumen from './views/drp/drp-pengadaan-dokumen';
|
|
import DrpPengadaan from './views/drp/drp-pengadaan';
|
|
import DrpDokumen from './views/drp/drp-dokumen';
|
|
import DrpApproval from './views/drp/drp-approval'
|
|
import RecomendationList from './views/drp/recomendation-list.vue'
|
|
import DrpList from './views/drp/drp-list.vue';
|
|
import DrpRevisi from './views/drp/drp-revisi';
|
|
import DrpCetak from './views/drp/drp-cetak';
|
|
|
|
/* General */
|
|
import auth from "./auth";
|
|
import { createRouter, createWebHashHistory } from "vue-router";
|
|
|
|
import Home from "./views/home-page";
|
|
import Profile from "./views/profile-page";
|
|
import Tasks from "./views/tasks-page";
|
|
import defaultLayout from "./layouts/side-nav-outer-toolbar";
|
|
import simpleLayout from "./layouts/single-card";
|
|
|
|
function loadView(view) {
|
|
return () => import (/* webpackChunkName: "login" */ `./views/${view}.vue`)
|
|
}
|
|
|
|
const router = new createRouter({
|
|
routes: [
|
|
{
|
|
path: "/home",
|
|
name: "home",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: Home
|
|
},
|
|
{
|
|
path: "/profile",
|
|
name: "profile",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: Profile
|
|
},
|
|
{
|
|
path: "/tasks",
|
|
name: "tasks",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: Tasks
|
|
},
|
|
{
|
|
path: "/login-form",
|
|
name: "login-form",
|
|
meta: {
|
|
requiresAuth: false,
|
|
layout: simpleLayout,
|
|
title: "Log In"
|
|
},
|
|
component: loadView("login-form")
|
|
},
|
|
{
|
|
path: "/reset-password",
|
|
name: "reset-password",
|
|
meta: {
|
|
requiresAuth: false,
|
|
layout: simpleLayout,
|
|
title: "Lupa Password",
|
|
//description: "Please enter the email address that you used to register, and we will send you a link to reset your password via Email."
|
|
description: "Silahkan isi alamat email terdaftar, kami akan mengirim link untuk melakukan reset password."
|
|
},
|
|
component: loadView("reset-password-form")
|
|
},
|
|
{
|
|
path: "/create-account",
|
|
name: "create-account",
|
|
meta: {
|
|
requiresAuth: false,
|
|
layout: simpleLayout,
|
|
title: "Sign Up"
|
|
},
|
|
component: loadView("create-account-form"),
|
|
},
|
|
{
|
|
path: "/change-password/:recoveryCode",
|
|
name: "change-password",
|
|
meta: {
|
|
requiresAuth: false,
|
|
layout: simpleLayout,
|
|
title: "Change Password"
|
|
},
|
|
component: loadView("change-password-form")
|
|
},
|
|
{
|
|
path: "/",
|
|
redirect: "/home"
|
|
},
|
|
{
|
|
path: "/recovery",
|
|
redirect: "/home"
|
|
},
|
|
{
|
|
path: "/:pathMatch(.*)*",
|
|
redirect: "/home"
|
|
},
|
|
{
|
|
path: "/user-page",
|
|
name: "user-page",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: User
|
|
},
|
|
{
|
|
path: "/master-data/jenis-pengadaan",
|
|
name: "jenis-pengadaan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: JenisPengadaan
|
|
},
|
|
{
|
|
path: "/master-data/unit-inisiator",
|
|
name: "unit-inisiator",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: UnitInisiator
|
|
},
|
|
{
|
|
path: "/master-data/metode-pengadaan",
|
|
name: "metode-pengadaan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: MetodePengadaan
|
|
},
|
|
{
|
|
path: "/master-data/metode-penyampaian",
|
|
name: "metode-penyampaian",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: MetodePenyampaian
|
|
},
|
|
{
|
|
path: "/master-data/jenis-kontrak",
|
|
name: "jenis-kontrak",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: JenisKontrak
|
|
},
|
|
{
|
|
path: "/master-data/sumber-dana",
|
|
name: "sumber-dana",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: SumberDana
|
|
},
|
|
{
|
|
path: "/master-data/strategi-pengadaan",
|
|
name: "strategi-pengadaan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: StrategiPengadaan
|
|
},
|
|
{
|
|
path: "/master-data/lokasi-pengadaan",
|
|
name: "lokasi-pengadaan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: LokasiPengadaan
|
|
},
|
|
{
|
|
path: "/master-data/supply-positioning-matrix",
|
|
name: "supply-positioning-matrix",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: SupplyPositioningMatrix
|
|
},
|
|
{
|
|
path: "/master-data/jenis-anggaran",
|
|
name: "jenis-anggaran",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: JenisAnggaran
|
|
},
|
|
{
|
|
path: "/master-data/instansi-page",
|
|
name: "instansi-page",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: InstansiPage
|
|
},
|
|
{
|
|
path: "/master-data/bidang-page",
|
|
name: "bidang-page",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: BidangPage
|
|
},
|
|
{
|
|
path: "/master-data/jabatan-page",
|
|
name: "jabatan-page",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: JabatanPage
|
|
},
|
|
{
|
|
path: "/master-config/roles-config",
|
|
name: "roles-config",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: RolesConfig
|
|
},
|
|
{
|
|
path: "/master-config/users-config",
|
|
name: "users-config",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: UsersConfig
|
|
},
|
|
{
|
|
path: "/master-config/permissions-config",
|
|
name: "permissions-config",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: PermissionsConfig
|
|
},
|
|
{
|
|
path: "/rks-daftar",
|
|
name: "rks-daftar",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: RksDaftar
|
|
},
|
|
{
|
|
path: "/drp/drp-penyusunan",
|
|
name: "drp-penyusunan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpPenyusunan
|
|
},
|
|
{
|
|
path: "/drp/drp-dokumen",
|
|
name: "drp-dokumen",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpDokumen
|
|
},
|
|
{
|
|
path: "/drp/drp-pengadaan",
|
|
name: "drp-pengadaan",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpPengadaan
|
|
},
|
|
{
|
|
path: "/drp/drp-pengadaan-dokumen",
|
|
name: "drp-pengadaan-dokumen",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpPengadaanDokumen
|
|
},
|
|
{
|
|
path: "/drp/drp-approval",
|
|
name: "drp-approval",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpApproval
|
|
},
|
|
{
|
|
path: "/drp/drp-approval/list-rekomendasi",
|
|
name: "list-rekomendasi",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: RecomendationList
|
|
},
|
|
{
|
|
path: "/drp/drp-approval/drp-list",
|
|
name: "list-drp",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpList
|
|
},
|
|
{
|
|
path: "/drp/drp-revisi",
|
|
name: "drp-revisi",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpRevisi
|
|
},
|
|
{
|
|
path: "/drp/drp-cetak",
|
|
name: "drp-cetak",
|
|
meta: {
|
|
requiresAuth: true,
|
|
layout: defaultLayout
|
|
},
|
|
component: DrpCetak
|
|
}
|
|
],
|
|
history: createWebHashHistory()
|
|
});
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
|
|
if (to.name === "login-form" && auth.loggedIn()) {
|
|
next({ name: "home" });
|
|
}
|
|
|
|
if (to.matched.some(record => record.meta.requiresAuth)) {
|
|
if (!auth.loggedIn()) {
|
|
next({
|
|
name: "login-form",
|
|
query: { redirect: to.fullPath }
|
|
});
|
|
} else {
|
|
next();
|
|
}
|
|
} else {
|
|
next();
|
|
}
|
|
});
|
|
|
|
export default router;
|