import request from '@/helpers/request' import { state } from '@/state' import { Button, Dialog, Empty, Field, Grid, GridItem, Icon, showConfirmDialog, showToast, Tab, Tabs } from 'vant' import OSticky from '@/components/o-sticky' import { defineComponent, onMounted, reactive, onUnmounted, ref } from 'vue' import iconEdit from '@/views/unit-test/images/icon-edit.png' import styles from './uni-last.module.less' import { useRoute, useRouter } from 'vue-router' import NewspaperItem from './modals/newspaper-item' import questIcon from '@/school/images/quest-icon.png' import { postMessage } from '@/helpers/native-message' // import { browser } from '@/helpers/utils' export default defineComponent({ name: 'uni-test', setup() { const route = useRoute() const router = useRouter() // const browserInfo = browser() const activeName = ref('one') // const catchList = store const forms = ref({} as any) const datas = reactive({ loading: true, list: [] as any, uniDetail: {} as any }) const showTip = ref(false) // const getList = async () => { // data.loading = true // try { // const res: any = await request.post( // state.platformApi + '/courseSchedule/queryUnitExamination', // { // requestType: 'form', // data: { // lessonCoursewareId: route.query.lessonCoursewareId, // classGroupId: forms.value.classGroupId // } // } // ) // // classGroupId: forms.value.classGroupId // data.list = res.data || [] // } catch (error) {} // data.loading = false // } const getClassDetail = async () => { try { const { data } = await request.get( state.platformApi + `/classGroup/detail/${forms.value.classGroupId}` ) forms.value.preStudentNum = data.preStudentNum || 0 } catch (e) { console.log(e) } } // 获取详情 const getCourseLessonDetail = async () => { try { // const query = route.query // // api-teacher/lessonCoursewareExaminationMapper/detailByCourseId // // 判断是从课程结束后,还是正常创建 const { data } = await request.post( state.platformApi + `/lessonCoursewareExaminationMapper/detailByCourseId`, { requestType: 'form', data: { courseScheduleId: route.query.courseScheduleId } } ) forms.value.classGroupId = data.classGroupId forms.value.classGroupName = data.classGroupName forms.value.testName = data.lessonCoursewareExaminationMapperName forms.value.orchestraName = data.orchestraName forms.value.coursewareName = data.lessonCoursewareName forms.value.lessonCoursewareId = data.lessonCoursewareExaminationMapper.lessonCoursewareId forms.value.preStudentNum = data.studentNum || 0 forms.value.testId = data.lessonCoursewareExaminationMapper.id const details = data.lessonCoursewareExaminationMapper.details || [] details.forEach((item: any) => { datas.uniDetail[item.level] = item }) console.log(forms.value, 'forms') } catch (e) { console.log(e) } } onMounted(() => { forms.value = { ...JSON.parse(sessionStorage.getItem('unit-create') || '{}') } as any console.log(forms.value) const query = route.query // api-teacher/lessonCoursewareExaminationMapper/detailByCourseId // 判断是从课程结束后,还是正常创建 if (query.courseScheduleId) { getCourseLessonDetail() } else { if (!forms.value.classGroupId) { showToast('请选择班级') return } getClassDetail() getStudentUni() } }) const getStudentUni = async () => { try { const res = await request.post( state.platformApi + `/lessonCoursewareExaminationMapper/detail`, { requestType: 'form', data: { lessonCoursewareExaminationMapperId: forms.value.testId } } ) res.data.details.forEach((item: any) => { datas.uniDetail[item.level] = item }) } catch (e) { console.log(e) } } const onSubmit = async () => { if (!forms.value.expiryDate) { showToast('请输入截止时间') return } try { await request.post( state.platformApi + `/classGroupUnitExamination/publishUnitExamination`, { data: { classGroupId: forms.value.classGroupId, lessonCoursewareExaminationMapperId: forms.value.testId, unitExaminationName: `${forms.value?.coursewareName}-${forms.value?.testName}`, expiryDate: forms.value.expiryDate } } ) showToast('创建成功') sessionStorage.removeItem('unit-create') // 如果连接上面有班级编号,说明当前页面是从原生来的 if (route.query.classGroupId) { postMessage({ api: 'back' }) } else { router.replace('/unit-list') } } catch (e) { console.log(e) } } return () => ( <>
乐团:{forms.value?.orchestraName}
班级:{forms.value?.classGroupName}
学生人数:{forms.value?.preStudentNum}人