Browse Source

Merge branch 'iteration-0906' of http://git.dayaedu.com/lex/classroom-instruments into iteration-0906

mo 1 year ago
parent
commit
68aaf7de3a

+ 8 - 0
src/views/classList/api.ts

@@ -203,3 +203,11 @@ export const updateSubject = (params: any) => {
     data: params
   });
 };
+/**
+ * 班级详情
+ */
+export const classGroupDetail = (params?: any) => {
+  return request.get('/edu-app/classGroup/detail/' + params.id, {
+    params
+  });
+};

+ 15 - 4
src/views/classList/classDetail.tsx

@@ -8,6 +8,7 @@ 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() {
@@ -28,11 +29,21 @@ export default defineComponent({
     //   setTabsCaches(val, 'tabName', route);
     // };
     //   onUpdate:value={(val: any) => setTabs(val)}
-
+    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]}>
+        <div class={[styles.listWrap, styles.infoListWrap]}>
           <NTabs
             class={styles.customTabs}
             v-model:value={activeTab.value}
@@ -41,10 +52,10 @@ export default defineComponent({
             pane-wrapper-style="margin: 0 -4px"
             pane-style="padding-left: 4px; padding-right: 4px; box-sizing: border-box;">
             <NTabPane name="student" tab="学员名单">
-              <ClassStudent></ClassStudent>
+              <ClassStudent upgradeFlag={upgradeFlag.value}></ClassStudent>
             </NTabPane>
             <NTabPane name="afterWork" tab="课后作业">
-              <AfterWork></AfterWork>
+              <AfterWork upgradeFlag={upgradeFlag.value}></AfterWork>
             </NTabPane>
             <NTabPane name="practice" tab="练习记录">
               <TestRecode></TestRecode>

+ 17 - 3
src/views/classList/components/afterWork.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive, ref } from 'vue';
+import { defineComponent, onMounted, reactive, ref, watch } from 'vue';
 import styles from '../index.module.less';
 import {
   NButton,
@@ -13,7 +13,7 @@ import {
 import SearchInput from '@/components/searchInput';
 import CSelect from '@/components/CSelect';
 import Pagination from '@/components/pagination';
-import { getTrainingList } from '../api';
+import { classGroupDetail, getTrainingList } from '../api';
 import add from './images/add.png';
 import { useRoute, useRouter } from 'vue-router';
 import CDatePicker from '/src/components/CDatePicker';
@@ -28,6 +28,11 @@ import TrainSettings from '../../attend-class/model/train-settings';
 import TheEmpty from '/src/components/TheEmpty';
 export default defineComponent({
   name: 'afterWork',
+  props: {
+    upgradeFlag: {
+      type: Number
+    }
+  },
   setup(props, { emit }) {
     const router = useRouter();
     const route = useRoute();
@@ -37,7 +42,7 @@ export default defineComponent({
     ]);
     console.log(route.query, 'query');
     const state = reactive({
-      upgradeFlag: (route.query.upgradeFlag as any) == 0 ? true : false, // 是否为历史班
+      upgradeFlag: props.upgradeFlag == 0 ? true : false, // 是否为历史班
       searchForm: {
         status: null as any
       },
@@ -53,6 +58,13 @@ export default defineComponent({
       detailVisiable: false
     });
 
+    watch(
+      () => props.upgradeFlag,
+      () => {
+        state.upgradeFlag = props.upgradeFlag == 0 ? true : false;
+      }
+    );
+
     const search = () => {
       state.pagination.page = 1;
       getList();
@@ -68,6 +80,7 @@ export default defineComponent({
       };
       search();
     };
+
     const getList = async () => {
       state.loading = true;
 
@@ -91,6 +104,7 @@ export default defineComponent({
     onMounted(() => {
       getList();
     });
+
     const columns = () => {
       return [
         {

+ 22 - 3
src/views/classList/components/classStudent.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive } from 'vue';
+import { defineComponent, onMounted, reactive, watch } from 'vue';
 import styles from '../index.module.less';
 import {
   NButton,
@@ -13,17 +13,24 @@ import {
 import SearchInput from '@/components/searchInput';
 import CSelect from '@/components/CSelect';
 import Pagination from '@/components/pagination';
-import { getStudentList } from '../api';
+import { classGroupDetail, getStudentList } from '../api';
 import add from './images/add.png';
 import { useRoute, useRouter } from 'vue-router';
 import TheEmpty from '/src/components/TheEmpty';
 export default defineComponent({
   name: 'student-studentList',
+  props: {
+    upgradeFlag: {
+      type: Number
+    }
+  },
   setup(props, { emit }) {
     const message = useMessage();
     const route = useRoute();
     const router = useRouter();
+
     const state = reactive({
+      upgradeFlag: props.upgradeFlag == 0 ? true : false, // 是否为历史班
       searchForm: { keyword: '', gender: null as any },
       loading: false,
       pagination: {
@@ -34,6 +41,12 @@ export default defineComponent({
       tableList: [] as any
     });
 
+    watch(
+      () => props.upgradeFlag,
+      () => {
+        state.upgradeFlag = props.upgradeFlag == 0 ? true : false;
+      }
+    );
     const search = () => {
       state.pagination.page = 1;
       getList();
@@ -62,6 +75,7 @@ export default defineComponent({
         console.log(e);
       }
     };
+
     onMounted(() => {
       getList();
     });
@@ -79,7 +93,12 @@ export default defineComponent({
     const gotoDetail = (row: any) => {
       router.push({
         path: '/classStudentDetail',
-        query: { ...route.query, studentId: row.id, studentName: row.nickname }
+        query: {
+          ...route.query,
+          studentId: row.id,
+          studentName: row.nickname,
+          upgradeFlag: state.upgradeFlag ? 0 : 1
+        }
       });
     };
     const columns = () => {