123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { defineComponent, ref } from 'vue';
- import styles from './index.module.less';
- import { NTabs, NTabPane } from 'naive-ui';
- import { useRoute } from 'vue-router';
- import CBreadcrumb from '@/components/CBreadcrumb';
- import ClassStudent from './components/classStudent';
- import AfterWork from './components/afterWork';
- import ClassRecord from './components/classRecord';
- import TestRecode from './components/testRecode';
- import { getTabsCache, setTabsCaches } from '@/hooks/use-async';
- import { classGroupDetail } from './api';
- export default defineComponent({
- name: 'base-setting',
- setup() {
- const classDetailTabs = sessionStorage.getItem('classDetailTabs');
- const activeTab = ref(classDetailTabs || 'student');
- sessionStorage.removeItem('classDetailTabs');
- const route = useRoute();
- const routerList = ref([
- { name: '班级管理', path: '/classList' },
- { name: route.query.name, path: '/classDetail' }
- ] as any);
- getTabsCache((val: any) => {
- if (val.form.tabName) {
- activeTab.value = val.form.tabName;
- }
- });
- const setTabs = (val: any) => {
- setTabsCaches(val, 'tabName', route);
- };
- const upgradeFlag = ref();
- const getClassGroupDetail = async () => {
- try {
- const id = route.query.id;
- const { data } = await classGroupDetail({ id });
- upgradeFlag.value = data.upgradeFlag ? 1 : 0; // 是否为历史班
- } catch {
- //
- }
- };
- getClassGroupDetail();
- return () => (
- <div>
- <CBreadcrumb list={routerList.value}></CBreadcrumb>
- <div class={[styles.listWrap, styles.infoListWrap]}>
- <NTabs
- class={styles.customTabs}
- v-model:value={activeTab.value}
- onUpdate:value={(val: any) => setTabs(val)}
- size="large"
- animated={false}
- pane-wrapper-style="margin: 0 -4px"
- pane-style="padding-left: 4px; padding-right: 4px; box-sizing: border-box;">
- <NTabPane name="student" tab="学员名单">
- <ClassStudent upgradeFlag={upgradeFlag.value}></ClassStudent>
- </NTabPane>
- <NTabPane name="afterWork" tab="课后作业">
- <AfterWork upgradeFlag={upgradeFlag.value}></AfterWork>
- </NTabPane>
- <NTabPane name="practice" tab="练习记录">
- <TestRecode></TestRecode>
- </NTabPane>
- <NTabPane name="attendclass" tab="上课记录">
- <ClassRecord />
- </NTabPane>
- </NTabs>
- </div>
- </div>
- );
- }
- });
|