Explorar o código

管理端单元测验

1
mo %!s(int64=2) %!d(string=hai) anos
pai
achega
2704df8727

+ 16 - 0
src/router/routes-school.ts

@@ -342,6 +342,22 @@ export default [
           title: '补助明细'
         }
       },
+      {
+        path: '/unitDetail',
+        name: 'unitDetail',
+        component: () => import('@/views/unit-test/unit-list/unitDetail'),
+        meta: {
+          title: '测验详情'
+        }
+      },
+      {
+        path: '/unit-list',
+        name: 'unit-list',
+        component: () => import('@/views/unit-test/unit-list/index'),
+        meta: {
+          title: '单元测验'
+        }
+      }
 
       //
     ]

+ 7 - 4
src/views/unit-test/unit-list/index.tsx

@@ -10,7 +10,7 @@ import iconAdd from '@common/images/icon_add.png'
 import { useRouter } from 'vue-router'
 import UnitListItem from './models/unit-list-item'
 import OFullRefresh from '@/components/o-full-refresh'
-//
+import { state } from '@/state'
 import request from '@/helpers/request'
 export default defineComponent({
   name: 'unit-list',
@@ -33,6 +33,7 @@ export default defineComponent({
       },
       isClick: false
     })
+    const platformApi = state.platformApi
     const refreshing = ref(false)
     const loading = ref(false)
     const getList = async () => {
@@ -44,7 +45,7 @@ export default defineComponent({
           refreshing.value = false
         }
 
-        const res = await request.post('/api-teacher/studentUnitExamination/queryPageByTeacher', {
+        const res = await request.post(`${platformApi}/studentUnitExamination/queryPageByTeacher`, {
           data: { ...form.params }
         })
 
@@ -76,7 +77,6 @@ export default defineComponent({
       getList()
     }
     const onSearch = () => {
-      console.log('🚀 ~ file: index.tsx:79 ~ onSearch ~ onSearch', onSearch)
       form.params.page = 1
       form.list = []
       form.listState.dataShow = true // 判断是否有数据
@@ -97,7 +97,10 @@ export default defineComponent({
           {/* */}
           <OHeader isBack>
             {{
-              right: () => <Icon name={iconAdd} size={19} onClick={createUnit} />
+              right: () =>
+                platformApi == '/api-teacher' ? (
+                  <Icon name={iconAdd} size={19} onClick={createUnit} />
+                ) : null
             }}
           </OHeader>
           <OSearch

+ 1 - 1
src/views/unit-test/unit-list/models/unit-list-item.tsx

@@ -36,7 +36,7 @@ export default defineComponent({
             <p>
               {' '}
               <Image src={iconEdit} class={styles.editImg} />
-              {props.item?.classGroupName || '--'}
+              {props.item?.name || '--'}
             </p>
             <span>
               {dayjs(props.item?.createTime).format('YYYY-MM-DD HH:mm')} 至{' '}

+ 4 - 2
src/views/unit-test/unit-list/models/unit-student-list.tsx

@@ -23,6 +23,7 @@ import OFullRefresh from '@/components/o-full-refresh'
 import dayjs from 'dayjs'
 import request from '@/helpers/request'
 import { unitTestStatus } from '@/constant'
+import { state } from '@/state'
 export default defineComponent({
   name: 'unit-student-list',
   props: {
@@ -34,6 +35,7 @@ export default defineComponent({
   setup(props) {
     const router = useRouter()
     const route = useRoute()
+    const platformApi = state.platformApi
     const searchList = reactive({
       classGroupUnitExaminationId: route.query.id,
       status: '',
@@ -64,7 +66,7 @@ export default defineComponent({
     })
     const getList = async () => {
       try {
-        const res = await request.post('/api-teacher/studentUnitExamination/studentDetail', {
+        const res = await request.post(`${platformApi}/studentUnitExamination/studentDetail`, {
           data: {
             ...searchList
           },
@@ -77,7 +79,7 @@ export default defineComponent({
         if (form.list.length > 0 && result.current === 1) {
           return
         }
-        form.list = form.list = result[1] || []
+        form.list = form.list = result[props.type] || []
         // form.listState.finished = result.current >= result.pages
         // searchList.page = result.current + 1
         form.listState.dataShow = form.list.length > 0

+ 13 - 19
src/views/unit-test/unit-list/unitDetail.tsx

@@ -2,27 +2,14 @@ import OEmpty from '@/components/o-empty'
 import OHeader from '@/components/o-header'
 import OSearch from '@/components/o-search'
 import OSticky from '@/components/o-sticky'
-import {
-  ActionSheet,
-  Button,
-  Cell,
-  CellGroup,
-  Dialog,
-  Icon,
-  Image,
-  List,
-  showToast,
-  Tab,
-  Tabs
-} from 'vant'
+import { Dialog, Icon, Tab, Tabs } from 'vant'
 import { defineComponent, onMounted, reactive, ref } from 'vue'
 import questIcon from '@/school/images/quest-icon.png'
 import styles from './index.module.less'
 import { useRoute, useRouter } from 'vue-router'
 import UnitListItem from './models/unit-list-item'
 import UnitStudentList from './models/unit-student-list'
-import OFullRefresh from '@/components/o-full-refresh'
-//
+import { state } from '@/state'
 import request from '@/helpers/request'
 export default defineComponent({
   name: 'unitDetail',
@@ -32,14 +19,21 @@ export default defineComponent({
     const form = reactive({})
     const refreshing = ref(false)
     const loading = ref(false)
+    const platformApi = state.platformApi
     const activeName = ref('one')
+    const info = ref({} as any)
     const showTip = ref(false)
     const getDetail = async () => {
       try {
-        const res = await request.get('/api-teacher/unitExamination/detail', {
-          params: { unitExaminationId: route.query.id }
+        const res = await request.post(`${platformApi}/classGroupUnitExamination/detail`, {
+          data: { classGroupUnitExaminationId: route.query.id },
+          requestType: 'form'
         })
-      } catch (e) {}
+        info.value = res.data
+        console.log('🚀 ~ file: unitDetail.tsx:45 ~ getDetail ~ info.value', info.value)
+      } catch (e) {
+        console.log(e)
+      }
     }
     onMounted(() => {
       getDetail()
@@ -47,7 +41,7 @@ export default defineComponent({
 
     return () => (
       <div class={styles.unitDetail}>
-        <UnitListItem></UnitListItem>
+        <UnitListItem item={info.value}></UnitListItem>
         <div class={styles.tabsWrap}>
           <Icon
             class={styles.tabsWrapIcon}