done
This commit is contained in:
parent
c6d8371cc7
commit
22fcd61211
@ -3,6 +3,10 @@
|
|||||||
methods: {
|
methods: {
|
||||||
getRoutes() {
|
getRoutes() {
|
||||||
return this.$router.options.routes.filter(route => route.meta?.hasOwnProperty('label'));
|
return this.$router.options.routes.filter(route => route.meta?.hasOwnProperty('label'));
|
||||||
|
},
|
||||||
|
logout() {
|
||||||
|
localStorage.clear();
|
||||||
|
this.$router.push('/login');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -27,6 +31,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="btn btn-danger" @click.prevent="logout">Выход</button>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</template>
|
</template>
|
||||||
|
@ -26,6 +26,7 @@ export default {
|
|||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
localStorage.setItem("token", result);
|
localStorage.setItem("token", result);
|
||||||
localStorage.setItem("user", login);
|
localStorage.setItem("user", login);
|
||||||
|
this.$router.push("/cabinets");
|
||||||
} else {
|
} else {
|
||||||
localStorage.removeItem("token");
|
localStorage.removeItem("token");
|
||||||
localStorage.removeItem("user");
|
localStorage.removeItem("user");
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
<script>
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
reports: [
|
|
||||||
{ name: 'group-students', label: 'Список студентов' },
|
|
||||||
{ name: 'group-disciplines', label: 'Список дисциплин' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="list-group">
|
|
||||||
<router-link v-for="report in this.reports"
|
|
||||||
:to="'/reports/' + report.name" class="list-group-item list-group-item-action">
|
|
||||||
{{ report.label }}
|
|
||||||
</router-link>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
@ -15,33 +15,31 @@ export default {
|
|||||||
{ name: 'id', label: 'ID' },
|
{ name: 'id', label: 'ID' },
|
||||||
{ name: 'login', label: 'Логин' },
|
{ name: 'login', label: 'Логин' },
|
||||||
{ name: 'role', label: 'Роль' }
|
{ name: 'role', label: 'Роль' }
|
||||||
]
|
],
|
||||||
|
ifAdmin: Boolean
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeCreate() {
|
beforeCreate() {
|
||||||
if (localStorage.getItem("token") == null) {
|
if (localStorage.getItem("token") == null) {
|
||||||
this.$router.push("/login");
|
this.$router.push("/login");
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.ifAdmin = localStorage.getItem("user") === "admin";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ToolBar
|
<div v-if="ifAdmin">
|
||||||
@add="showAddModal"
|
<DataTable
|
||||||
@edit="showEditModal"
|
:headers="this.headers"
|
||||||
@remove="removeSelectedItems">
|
:items="this.items"
|
||||||
</ToolBar>
|
:selectedItems="this.selectedItems"
|
||||||
<DataTable
|
@dblclick="showEditModalDblClick">
|
||||||
:headers="this.headers"
|
</DataTable>
|
||||||
:items="this.items"
|
</div>
|
||||||
:selectedItems="this.selectedItems"
|
<div v-else>
|
||||||
@dblclick="showEditModalDblClick">
|
<h2>Эта страница доступна только администраторам!</h2>
|
||||||
</DataTable>
|
</div>
|
||||||
<Modal
|
|
||||||
:header="this.modal.header"
|
|
||||||
:confirm="this.modal.confirm"
|
|
||||||
v-model:visible="this.modalShow"
|
|
||||||
@done="saveItem">
|
|
||||||
</Modal>
|
|
||||||
</template>
|
</template>
|
Loading…
x
Reference in New Issue
Block a user