forked from liweijie/education
75 lines
2.0 KiB
Vue
75 lines
2.0 KiB
Vue
<template>
|
||
<div class="page-container">
|
||
<el-card shadow="never" class="tab-card">
|
||
<el-tabs v-model="activeTab" class="organ-tabs">
|
||
<!-- 教学日志管理查询页:仅管理员/教研室等非教员、非机关人员可见 -->
|
||
<el-tab-pane v-if="hasQueryAccess" label="教学日志管理查询" name="query">
|
||
<log-view v-if="activeTab === 'query'" />
|
||
</el-tab-pane>
|
||
<el-tab-pane label="已上报机关教学日志" name="reported">
|
||
<reported-view v-if="activeTab === 'reported'" :is-teacher="isTeacher" />
|
||
</el-tab-pane>
|
||
<el-tab-pane label="机关已审核教学日志" name="audited">
|
||
<audited-view v-if="activeTab === 'audited'" />
|
||
</el-tab-pane>
|
||
</el-tabs>
|
||
</el-card>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import LogView from './components/logView.vue'
|
||
import ReportedView from './components/reportedView.vue'
|
||
import AuditedView from './components/auditedView.vue'
|
||
|
||
export default {
|
||
name: 'OrganLog',
|
||
components: { LogView, ReportedView, AuditedView },
|
||
data() {
|
||
return {
|
||
activeTab: 'query'
|
||
}
|
||
},
|
||
computed: {
|
||
roles() {
|
||
return this.$store.getters.roles || []
|
||
},
|
||
/** 教员角色 */
|
||
isTeacher() {
|
||
return this.roles.includes('TEACHER')
|
||
},
|
||
/** 机关人员角色 */
|
||
isDepartmentPersonnel() {
|
||
return this.roles.includes('DEPARTMENT_PERSONNEL')
|
||
},
|
||
/** 教学日志管理查询页仅非教员、非机关人员可见 */
|
||
hasQueryAccess() {
|
||
return !this.isTeacher && !this.isDepartmentPersonnel
|
||
}
|
||
},
|
||
created() {
|
||
// 教员/机关人员无法查看教学日志管理查询页,默认落在已上报页
|
||
if (!this.hasQueryAccess) {
|
||
this.activeTab = 'reported'
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.page-container {
|
||
padding: 20px;
|
||
}
|
||
|
||
.tab-card {
|
||
.organ-tabs {
|
||
::v-deep .el-tabs__header {
|
||
margin-bottom: 8px;
|
||
}
|
||
|
||
::v-deep .el-tabs__content {
|
||
padding-top: 4px;
|
||
}
|
||
}
|
||
}
|
||
</style> |