| 对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="tabs-wrapper"> |
| | | <el-tabs |
| | | v-model="activeTab" |
| | | class="meeting-tabs" |
| | | @tab-change="handleTabChange" |
| | | > |
| | | <el-tab-pane label="浼氳璁剧疆" name="setting" /> |
| | | <el-tab-pane label="浼氳鍒楄〃" name="index" /> |
| | | <el-tab-pane label="浼氳鐢宠" name="application" /> |
| | | <el-tab-pane label="浼氳瀹℃壒" name="examine" /> |
| | | <el-tab-pane label="浼氳鍙戝竷" name="publish" /> |
| | | <el-tab-pane label="浼氳鎬荤粨" name="summary" /> |
| | | </el-tabs> |
| | | </div> |
| | | |
| | | <div class="tab-content"> |
| | | <keep-alive> |
| | | <component :is="currentComponent" /> |
| | | </keep-alive> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, computed } from 'vue' |
| | | import MeetSetting from '../notificationManagement/meetSetting/index.vue' |
| | | import MeetIndex from '../notificationManagement/meetIndex/index.vue' |
| | | import MeetApplication from '../notificationManagement/meetApplication/index.vue' |
| | | import MeetExamine from '../notificationManagement/meetExamine/index.vue' |
| | | import MeetPublish from '../notificationManagement/meetPublish/index.vue' |
| | | import MeetSummary from '../notificationManagement/summary/index.vue' |
| | | |
| | | const activeTab = ref('setting') |
| | | |
| | | const tabComponentMap = { |
| | | setting: MeetSetting, |
| | | index: MeetIndex, |
| | | application: MeetApplication, |
| | | examine: MeetExamine, |
| | | publish: MeetPublish, |
| | | summary: MeetSummary |
| | | } |
| | | |
| | | const currentComponent = computed(() => tabComponentMap[activeTab.value] || MeetSetting) |
| | | |
| | | function handleTabChange(name) { |
| | | activeTab.value = name |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | |
| | | .tabs-wrapper { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .tab-content { |
| | | min-height: 400px; |
| | | } |
| | | </style> |
| | | |