Files
education/frontend/src/views/teachingLog/organLog/index.vue
T
2026-08-28 20:31:41 +08:00

75 lines
2.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>