forked from liweijie/education
65 lines
1.5 KiB
Vue
65 lines
1.5 KiB
Vue
<template>
|
||
<div class="teach-calendar app-container">
|
||
<school-calendar-editor
|
||
v-if="nd"
|
||
:key="nd"
|
||
:nd="nd"
|
||
:semester-name="semesterName"
|
||
@close="handleClose"
|
||
/>
|
||
<div v-else class="calendar-empty">未指定学期,请从学期管理页面进入。</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import SchoolCalendarEditor from '@/views/teachBusiness/calendar/components/SchoolCalendarEditor'
|
||
|
||
export default {
|
||
name: 'SemesterCalendarEdit',
|
||
components: { SchoolCalendarEditor },
|
||
data() {
|
||
return {
|
||
nd: '',
|
||
semesterName: ''
|
||
}
|
||
},
|
||
created() {
|
||
this.nd = this.$route.query.nd || ''
|
||
this.semesterName = this.$route.query.name || ''
|
||
},
|
||
watch: {
|
||
// 编辑校历页被 keep-alive 缓存复用:同路径下 query.nd 变化时不会重新走 created(),
|
||
// 需在此同步到 nd,并通过 :key="nd" 让编辑器随学期切换全新挂载,读取正确学期数据。
|
||
'$route.query.nd'(val) {
|
||
if (val && String(val) !== String(this.nd)) {
|
||
this.nd = val
|
||
this.semesterName = this.$route.query.name || ''
|
||
}
|
||
}
|
||
},
|
||
methods: {
|
||
handleClose() {
|
||
this.$router.replace({ path: '/teachBusiness/semester' })
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.teach-calendar {
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
padding: 12px;
|
||
box-sizing: border-box;
|
||
}
|
||
.calendar-empty {
|
||
flex: 1;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: #909399;
|
||
font-size: 14px;
|
||
}
|
||
</style>
|