Sfoglia il codice sorgente

考试/作业/问卷/

canghailong 7 mesi fa
parent
commit
680a39c5a0

+ 2 - 2
src/api/student/classCentre.js

@@ -4,11 +4,11 @@ const request = (url, ...arg) => baseRequest(`/api/webapp/disk/${url}`, ...arg)
 export default {
 	//课程中心-学习进度-新增
 	classPlanAdd(data) {
-		return request('coursestudentprogress/add', data)
+		return request('coursestudentburialpoint/add', data)
 	},
 	//课程中心-学习进度-查询最近一次进度
 	theLastDetail(data) {
-		return request('coursestudentprogress/theLastDetail', data, 'get')
+		return request('coursestudentburialpoint/theLastDetail', data, 'get')
 	},
 	//课程中心-课程-详情(增加点击次数)
 	addViewCount(data) {

+ 0 - 7
src/router/student.js

@@ -107,13 +107,6 @@ const forum = [
 				meta: {
 					title: '试卷查看'
 				}
-			},
-			{
-				path: 'homework',
-				component: () => import('@/views/student/paper/homework.vue'),
-				meta: {
-					title: '试卷列表'
-				}
 			}
 		]
 	}

+ 3 - 0
src/snowy.js

@@ -16,6 +16,8 @@ import Ellipsis from './components/Ellipsis/index.vue'
 import DragModal from './components/DragModal/index.vue'
 import globalFunction from './libs/globalFunction/index.js'
 import fileOperationPlugins from './libs/fileOperationPlugins.js'
+import forumBtn from './views/student/forumBtn/index.vue'
+
 
 export default {
 	install(app) {
@@ -32,6 +34,7 @@ export default {
 		app.component('STable', STable)
 		app.component('Ellipsis', Ellipsis)
 		app.component('DragModal', DragModal)
+		app.component('forumBtn', forumBtn)
 
 		// 统一注册antdv图标
 		for (const icon in antdvIcons) {

+ 10 - 7
src/utils/request.js

@@ -1,4 +1,3 @@
- 
 // 统一的请求发送
 import axios from 'axios'
 import qs from 'qs'
@@ -28,7 +27,12 @@ const service = axios.create({
 	baseURL: '/api', // api base_url
 	timeout: sysConfig.TIMEOUT // 请求超时时间
 })
-
+const whiteList = ['footprint/add', 'coursestudentburialpoint/add', 'coursecentry/addViewCount']
+function urlStr(str) {
+	const last = str.lastIndexOf('/')
+	const secondLast = str.lastIndexOf('/', last - 1)
+	return str.substring(secondLast + 1)
+}
 // HTTP request 拦截器
 service.interceptors.request.use(
 	(config) => {
@@ -120,11 +124,10 @@ service.interceptors.response.use(
 				'saveDraft'
 			]
 			apiNameArray.forEach((apiName) => {
-				// if (responseUrl.includes(apiName)) {
-				// 	message.success(data.msg)
-				// }
-				if (responseUrl.substring(responseUrl.lastIndexOf('/') + 1) == apiName) {
-					message.success(data.msg)
+				if (!whiteList.includes(urlStr(responseUrl))) {
+					if (responseUrl.includes(apiName)) {
+						message.success(data.msg)
+					}
 				}
 			})
 		}

+ 1 - 1
src/views/portal/components/Header.vue

@@ -10,7 +10,7 @@
 				<a-sub-menu key="myList">
 					<template #title>我的</template>
 					<a-menu-item key="student/paper/1">我的考试</a-menu-item>
-					<a-menu-item key="student/homework">我的作业</a-menu-item>
+					<a-menu-item key="student/paper/4">我的作业</a-menu-item>
 					<a-menu-item key="student/paper/3">调查问卷</a-menu-item>
 					<a-menu-item key="student/classCollect">课程收藏</a-menu-item>
 				</a-sub-menu>

+ 8 - 0
src/views/resourceDetails/index.vue

@@ -8,6 +8,7 @@
 				<a-button type="primary" @click="handleAuditResult(2)">同意</a-button>
 			</div>
 		</div>
+		<forumBtn :forumData="forumData"></forumBtn>
 	</a-card>
 </template>
 
@@ -92,6 +93,13 @@
 			resourceRecordId: itemData.value.id //文件记录id
 		})
 	}
+	const forumData = computed(() => {
+		return {
+			postType: 2,
+			id: route.query.id,
+			title: itemData.value.fileName ,
+		}
+	})
 	defineExpose({
 		setData
 	})

+ 1 - 1
src/views/slogin/util.js

@@ -50,7 +50,7 @@ export const afterLogin = async (loginToken) => {
 		tool.data.set('DICT_TYPE_TREE_DATA', data)
 	})
 	await router.replace({
-		path: "portal"
+		path: "/"
 	})
 	location.reload()
 }

+ 8 - 5
src/views/student/classCentre/index.vue

@@ -104,7 +104,6 @@
 	import note from './note.vue'
 	import askDiv from './ask.vue'
 	import VueOfficePdf from '@vue-office/pdf'
-	import forumBtn from '../forumBtn/index.vue'
 	import axios from 'axios'
 	const route = useRoute()
 	const router = useRouter()
@@ -296,8 +295,8 @@
 	const subtitle = ref()
 	const getVideoTime = () => {
 		classCentre.theLastDetail().then((data) => {
-			initialtime.value = parseFloat(data.endTime)
-			currentTimenew.value = parseFloat(data.endTime)
+			initialtime.value = parseFloat(data.endTime)/1000
+			currentTimenew.value = parseFloat(data.endTime)/1000
 		})
 	}
 	getVideoTime()
@@ -326,8 +325,11 @@
 		return ms
 	}
 	onBeforeUnmount(() => {
+		outNowTimesStr.value = Date.now()
 		addClassPlan()
 	})
+	const nowTimesStr = Date.now()
+	const outNowTimesStr = ref()
 	const addClassPlan = () => {
 		let progress = parseFloat((videoRef.value?.currentTime / videoRef.value?.duration) * 100)
 		if (
@@ -338,9 +340,10 @@
 			classCentre
 				.classPlanAdd({
 					startTime: parseFloat(initialtime.value),
-					endTime: Math.round(videoRef.value.currentTime),
+					endTime: Math.round(videoRef.value.currentTime*1000),
 					progress: Math.round(progress),
-					hourId: selectedKeys.value[0]
+					hourId: selectedKeys.value[0],
+					stayTime: outNowTimesStr.value - nowTimesStr
 				})
 				.then((data) => {})
 		}

+ 10 - 1
src/views/student/classCentre/rightMenu.vue

@@ -37,7 +37,8 @@
 		SnippetsOutlined,
 		CopyOutlined,
 		ReadOutlined,
-		QuestionCircleOutlined
+		QuestionCircleOutlined,
+		FileOutlined
 	} from '@ant-design/icons-vue'
 	const formRef = ref()
 	const rightItem = ref({})
@@ -86,6 +87,14 @@
 			key: '7',
 			icon: QuestionCircleOutlined,
 			type: 4
+		},
+		{
+			title: '考试',
+			key: '8',
+			icon: FileOutlined,
+			type: 3,
+			routerUrl: '/student/paper/1',
+			relateId:route.query.id
 		}
 	])
 	const selectBtn = (event, edit) => {

+ 9 - 0
src/views/student/exam/paper/do.vue

@@ -68,6 +68,7 @@
 				</a-form>
 			</a-layout-content>
 		</a-layout>
+		<forumBtn :forumData="forumData"></forumBtn>
 	</div>
 </template>
 
@@ -175,4 +176,12 @@
 	onBeforeUnmount(() => {
 		clearInterval(timer.value)
 	})
+
+	const forumData = computed(() => {
+		return {
+			postType: 2,
+			id: route.query.id,
+			title: form.name ,
+		}
+	})
 </script>

+ 8 - 0
src/views/student/exam/paper/read.vue

@@ -56,6 +56,7 @@
 				</a-spin>
 			</a-layout-content>
 		</a-layout>
+		<forumBtn :forumData="forumData"></forumBtn>
 	</div>
 </template>
 
@@ -107,4 +108,11 @@
 			})
 		}
 	})
+	const forumData = computed(() => {
+		return {
+			postType: 2,
+			id: route.query.id,
+			title: form.value.name ,
+		}
+	})
 </script>

+ 23 - 6
src/views/student/forumBtn/index.vue

@@ -2,17 +2,29 @@
 	<div class="redressBox" @click="jumpRedressUrl">
 		<a-tooltip
 			title="纠错"
-			v-if="props.forumData.postType == 2"
+			v-if="props.isShow.includes(2)"
 			:getPopupContainer="(trigger) => trigger.parentElement"
+			placement="left"
 		>
-			<SnippetsOutlined style="font-size: 40px" />
+			<CommentOutlined style="font-size: 40px" />
 		</a-tooltip>
 		<a-tooltip
-			title="纠错"
-			v-if="props.forumData.postType == 1"
+			title="技术"
+			v-if="props.isShow.includes(1)"
+			:getPopupContainer="(trigger) => trigger.parentElement"
+			class="ml-2"
+			placement="left"
+		>
+			<CommentOutlined style="font-size: 40px" />
+		</a-tooltip>
+		<a-tooltip
+			title="讨论"
+			v-if="props.isShow.includes(3)"
 			:getPopupContainer="(trigger) => trigger.parentElement"
+			class="ml-2"
+			placement="left"
 		>
-			<SnippetsOutlined style="font-size: 40px" />
+			<CommentOutlined style="font-size: 40px" />
 		</a-tooltip>
 	</div>
 </template>
@@ -21,6 +33,10 @@
 	import { useRoute, useRouter } from 'vue-router'
 	const router = useRouter()
 	const props = defineProps({
+		isShow:{
+			type:Array,
+			default:[1,2,3]
+		},
 		forumData: {
 			type: Object,
 			default: () => {}
@@ -40,9 +56,10 @@
 		display: flex;
 		justify-content: center;
 		align-items: center;
+		flex-direction: column;
 		right: 20px;
 		bottom: 200px;
-		color: #ff4d4f;
+		color: #969696;
 		cursor: pointer;
 	}
 </style>

+ 20 - 16
src/views/student/learningFootprint/index.vue

@@ -3,32 +3,36 @@
 		<a-list item-layout="vertical" size="large" :pagination="pagination" :data-source="listData">
 			<template #renderItem="{ item }">
 				<a-list-item key="item.title">
-					<a-list-item-meta :description="item.description">
-						<template #title>{{ item.title }}</template>
+					<a-list-item-meta :description="item.extendName">
+						<template #title>{{ item.fileName }}</template>
 					</a-list-item-meta>
-					{{ item.content }}
+					{{ item.filePath }}
 				</a-list-item>
 			</template>
 		</a-list>
 	</a-card>
 </template>
 <script lang="ts" setup>
-	const listData = []
-
-	for (let i = 0; i < 23; i++) {
-		listData.push({
-			title: `学习足迹标题 ${i}`,
-			description: '学习足迹说明',
-			content:'学习足迹内容'
-		})
-	}
-
-	const pagination = {
+	import classCentre from '@/api/student/classCentre'
+	const listData = ref([])
+	const pagination = ref({
+		current: 1,
 		onChange: (page) => {
-			console.log(page)
+			getList(page)
 		},
-		pageSize: 3
+		pageSize: 10
+	})
+	const getList = (current) => {
+		classCentre
+			.footprintList({
+				current: current ? current : pagination.value.current,
+				size: pagination.value.pageSize
+			})
+			.then((data) => {
+				listData.value = data.records
+			})
 	}
+	getList()
 </script>
 <style scoped>
 	.index-message-list {

+ 0 - 251
src/views/student/paper/homework.vue

@@ -1,251 +0,0 @@
-<template>
-	<a-card>
-		<div class="paper-list">
-			<!-- 任务中心开始 -->
-			<div class="task-center" style="margin-bottom: 24px">
-				<h3 style="border-left: solid 4px #3651d4; padding-left: 8px; margin-bottom: 12px; font-size: 18px">
-					<div>我的作业</div>
-				</h3>
-				<a-spin :spinning="taskLoading">
-					<a-table
-						v-if="taskList.length !== 0"
-						:dataSource="taskList"
-						:columns="taskColumns"
-						:pagination="false"
-						rowKey="id"
-						size="middle"
-					>
-						<template #bodyCell="{ column, record }">
-							<template v-if="column.key === 'examName'">
-								{{ record.examName }}
-							</template>
-							<template v-else-if="column.key === 'examType'">
-								{{ record.examType }}
-							</template>
-							<template v-else-if="column.key === 'startTime'">
-								{{ record.startTime }}
-							</template>
-							<template v-else-if="column.key === 'endTime'">
-								{{ record.endTime }}
-							</template>
-							<template v-else-if="column.key === 'examStatus'">
-								<a-tag :color="statusTagFormatter(record.examStatus)" size="small">
-									{{ statusTextFormatter(record.examStatus) }}
-								</a-tag>
-							</template>
-							<template v-else-if="column.key === 'action'">
-								<router-link
-									v-if="record.examStatus === 0"
-									:to="{ path: '/student/do', query: { id: record.paperId } }"
-									target="_blank"
-								>
-									<a-button type="link" size="small">查看问卷</a-button>
-								</router-link>
-								<router-link
-									v-else-if="record.examStatus === 1"
-									:to="{ path: '/student/do', query: { id: record.paperId } }"
-									target="_blank"
-								>
-									<a-button type="link" size="small">填写问卷</a-button>
-								</router-link>
-								<router-link
-									v-else-if="record.examStatus === 2"
-									:to="{ path: '/student/read', query: { id: record.paperId } }"
-									target="_blank"
-								>
-									<a-button type="link" size="small">查看结果</a-button>
-								</router-link>
-							</template>
-						</template>
-					</a-table>
-					<div v-else style="color: #999; padding: 16px 0">暂无任务</div>
-				</a-spin>
-			</div>
-			<!-- 任务中心结束 -->
-			<a-spin :spinning="listLoading">
-				<a-tabs tab-position="left" v-model:activeKey="tabId" @change="subjectChange" class="subject-tabs">
-					<a-tab-pane v-for="item in subjectList" :key="item.id" :tab="item.name">
-						<div class="paper-type-radio">
-							<a-radio-group v-model:value="queryParam.paperType" @change="paperTypeChange" size="small">
-								<a-radio v-for="type in paperTypeEnum" :key="type.key" :value="type.key">
-									{{ type.value }}
-								</a-radio>
-							</a-radio-group>
-						</div>
-						<a-table :dataSource="tableData" :columns="columns" :pagination="false" rowKey="id" bordered size="middle">
-							<template #bodyCell="{ column, record }">
-								<template v-if="column.key === 'action'">
-									<router-link :to="{ path: '/student/do', query: { id: record.id } }" target="_blank">
-										<a-button type="link" size="small">开始答题</a-button>
-									</router-link>
-								</template>
-							</template>
-						</a-table>
-						<a-pagination
-							v-if="total > 0"
-							:total="total"
-							:current="queryParam.pageIndex"
-							:pageSize="queryParam.pageSize"
-							@change="onPageChange"
-							@showSizeChange="onPageSizeChange"
-							:showSizeChanger="true"
-							:pageSizeOptions="['10', '20', '50', '100']"
-							style="margin-top: 20px"
-						/>
-					</a-tab-pane>
-				</a-tabs>
-			</a-spin>
-		</div>
-	</a-card>
-</template>
-
-<script setup>
-	import { useExamStore } from '@/store/exam'
-	import examPaperApi from '@/api/student/examPaper'
-	import taskApi from '@/api/student/examPaper'
-	import { useRoute } from 'vue-router'
-	const route = useRoute()
-
-	// store
-	const examStore = useExamStore()
-	const paperTypeEnum = computed(() => examStore.paperTypeEnum.filter((item) => item.key !== 6))
-
-	// 任务中心相关
-	const taskList = ref([])
-	const taskLoading = ref(false)
-	const taskColumns = [
-		{ title: '问卷名称', dataIndex: 'examName', key: 'examName' },
-		{ title: '问卷类型', dataIndex: 'examType', key: 'examType', width: 120 },
-		{ title: '开始时间', dataIndex: 'startTime', key: 'startTime', width: 180 },
-		{ title: '结束时间', dataIndex: 'endTime', key: 'endTime', width: 180 },
-		{ title: '状态', dataIndex: 'examStatus', key: 'examStatus', width: 90 },
-		{ title: '操作', key: 'action', align: 'right', width: 120 }
-	]
-
-	const statusTextFormatter = (status) => {
-		if (status === 0) return '未开始'
-		if (status === 1) return '已开始'
-		if (status === 2) return '已结束'
-		return ''
-	}
-	const statusTagFormatter = (status) => {
-		if (status === 0) return 'blue'
-		if (status === 1) return 'green'
-		if (status === 2) return 'gray'
-		return 'default'
-	}
-	const getTaskList = async () => {
-		taskLoading.value = true
-		const params = {
-			...queryParam,
-			current: queryParam.pageIndex,
-			size: queryParam.pageSize,
-			examType: examType.value,
-			paperType:"2"
-		}
-		delete params.pageIndex
-		delete params.pageSize
-		delete params.subjectId
-		const res = await examPaperApi.pageList(params)
-		taskList.value = res.records
-		taskLoading.value = false
-	}
-
-	// data
-	const queryParam = reactive({
-		paperType: 1,
-		subjectId: 0,
-		pageIndex: 1,
-		pageSize: 10
-	})
-	const tabId = ref('')
-	const listLoading = ref(true)
-	const subjectList = ref([])
-	const tableData = ref([])
-	const total = ref(0)
-	const columns = [
-		{ title: '序号', dataIndex: 'id', key: 'id', width: 90 },
-		{ title: '名称', dataIndex: 'name', key: 'name' },
-		{ title: '操作', key: 'action', align: 'right' }
-	]
-
-	// methods
-	const initSubject = async () => {
-		listLoading.value = true
-		await examStore.initSubject()
-		subjectList.value = examStore.subjects
-		if (subjectList.value.length > 0) {
-			const subjectId = subjectList.value[0].id
-			queryParam.subjectId = subjectId
-			tabId.value = subjectId
-			await search()
-		}
-		listLoading.value = false
-	}
-
-	const search = async () => {
-		listLoading.value = true
-		const params = {
-			...queryParam,
-			current: queryParam.pageIndex,
-			size: queryParam.pageSize
-		}
-		delete params.pageIndex
-		delete params.pageSize
-		const res = await examPaperApi.pageList(params)
-		const re = res
-		tableData.value = re.records
-		total.value = re.total
-		queryParam.pageIndex = re.current
-		listLoading.value = false
-	}
-
-	const paperTypeChange = () => {
-		queryParam.pageIndex = 1
-		search()
-	}
-
-	const subjectChange = (key) => {
-		queryParam.subjectId = Number(key)
-		queryParam.pageIndex = 1
-		search()
-	}
-
-	const onPageChange = (page, pageSize) => {
-		queryParam.pageIndex = page
-		queryParam.pageSize = pageSize
-		search()
-	}
-
-	const onPageSizeChange = (current, size) => {
-		queryParam.pageIndex = 1
-		queryParam.pageSize = size
-		search()
-	}
-
-	// lifecycle
-	const examType = ref()
-	onMounted(() => {
-		examType.value = route.params && route.params.examType
-		getTaskList()
-		initSubject()
-	})
-</script>
-
-<style lang="less" scoped>
-	.paper-list {
-		margin-top: 10px;
-		.task-center {
-			margin-bottom: 24px;
-		}
-		.subject-tabs {
-			.ant-tabs-nav {
-				margin-right: 20px;
-			}
-		}
-		.paper-type-radio {
-			float: right;
-			margin-bottom: 10px;
-		}
-	}
-</style>

+ 26 - 126
src/views/student/paper/index.vue

@@ -23,7 +23,7 @@
 								{{ record.examName }}
 							</template>
 							<template v-else-if="column.key === 'examType'">
-								{{ record.examType }}
+								{{ examTypeName(record.examType) }}
 							</template>
 							<template v-else-if="column.key === 'startTime'">
 								{{ record.startTime }}
@@ -64,40 +64,6 @@
 					<div v-else style="color: #999; padding: 16px 0">暂无任务</div>
 				</a-spin>
 			</div>
-			<!-- 任务中心结束 -->
-			<a-spin :spinning="listLoading">
-				<a-tabs tab-position="left" v-model:activeKey="tabId" @change="subjectChange" class="subject-tabs">
-					<a-tab-pane v-for="item in subjectList" :key="item.id" :tab="item.name">
-						<div class="paper-type-radio">
-							<a-radio-group v-model:value="queryParam.paperType" @change="paperTypeChange" size="small">
-								<a-radio v-for="type in paperTypeEnum" :key="type.key" :value="type.key">
-									{{ type.value }}
-								</a-radio>
-							</a-radio-group>
-						</div>
-						<a-table :dataSource="tableData" :columns="columns" :pagination="false" rowKey="id" bordered size="middle">
-							<template #bodyCell="{ column, record }">
-								<template v-if="column.key === 'action'">
-									<router-link :to="{ path: '/student/do', query: { id: record.id } }" target="_blank">
-										<a-button type="link" size="small">开始答题</a-button>
-									</router-link>
-								</template>
-							</template>
-						</a-table>
-						<a-pagination
-							v-if="total > 0"
-							:total="total"
-							:current="queryParam.pageIndex"
-							:pageSize="queryParam.pageSize"
-							@change="onPageChange"
-							@showSizeChange="onPageSizeChange"
-							:showSizeChanger="true"
-							:pageSizeOptions="['10', '20', '50', '100']"
-							style="margin-top: 20px"
-						/>
-					</a-tab-pane>
-				</a-tabs>
-			</a-spin>
 		</div>
 	</a-card>
 </template>
@@ -107,11 +73,14 @@
 	import examPaperApi from '@/api/student/examPaper'
 	import taskApi from '@/api/student/examPaper'
 	import { useRoute } from 'vue-router'
+	import tool from '@/utils/tool'
+	const examNameOption = tool.dictList('EXAM_TYPE')
 	const route = useRoute()
-
-	// store
-	const examStore = useExamStore()
-	const paperTypeEnum = computed(() => examStore.paperTypeEnum.filter((item) => item.key !== 6))
+	const examTypeName = computed(() => {
+		return (id) => {
+			return examNameOption.filter((r) => r.value == id)[0].label
+		}
+	})
 
 	// 任务中心相关
 	const taskList = ref([])
@@ -140,11 +109,24 @@
 	const getTaskList = async () => {
 		taskLoading.value = true
 		try {
-			const res = await taskApi.pageExamList({
-				current: 1,
-				size: 10,
-				examType: examType.value
-			})
+			let res = []
+			if (examType.value == 4) {
+				const params = {
+					current: 1,
+					size: 999999,
+					examType: examType.value,
+					paperType: '2'
+				}
+				res = await examPaperApi.pageList(params)
+			} else {
+				res = await taskApi.pageExamList({
+					current: 1,
+					size: 10,
+					examType: examType.value,
+					courseId: route.query.id
+				})
+			}
+
 			taskList.value = res?.records || []
 		} catch (e) {
 			taskList.value = []
@@ -152,84 +134,11 @@
 		taskLoading.value = false
 	}
 
-	// data
-	const queryParam = reactive({
-		paperType: 1,
-		subjectId: 0,
-		pageIndex: 1,
-		pageSize: 10
-	})
-	const tabId = ref('')
-	const listLoading = ref(true)
-	const subjectList = ref([])
-	const tableData = ref([])
-	const total = ref(0)
-	const columns = [
-		{ title: '序号', dataIndex: 'id', key: 'id', width: 90 },
-		{ title: '名称', dataIndex: 'name', key: 'name' },
-		{ title: '操作', key: 'action', align: 'right' }
-	]
-
-	// methods
-	const initSubject = async () => {
-		listLoading.value = true
-		await examStore.initSubject()
-		subjectList.value = examStore.subjects
-		if (subjectList.value.length > 0) {
-			const subjectId = subjectList.value[0].id
-			queryParam.subjectId = subjectId
-			tabId.value = subjectId
-			await search()
-		}
-		listLoading.value = false
-	}
-
-	const search = async () => {
-		listLoading.value = true
-		const params = {
-			...queryParam,
-			current: queryParam.pageIndex,
-			size: queryParam.pageSize
-		}
-		delete params.pageIndex
-		delete params.pageSize
-		const res = await examPaperApi.pageList(params)
-		const re = res
-		tableData.value = re.records
-		total.value = re.total
-		queryParam.pageIndex = re.current
-		listLoading.value = false
-	}
-
-	const paperTypeChange = () => {
-		queryParam.pageIndex = 1
-		search()
-	}
-
-	const subjectChange = (key) => {
-		queryParam.subjectId = Number(key)
-		queryParam.pageIndex = 1
-		search()
-	}
-
-	const onPageChange = (page, pageSize) => {
-		queryParam.pageIndex = page
-		queryParam.pageSize = pageSize
-		search()
-	}
-
-	const onPageSizeChange = (current, size) => {
-		queryParam.pageIndex = 1
-		queryParam.pageSize = size
-		search()
-	}
-
 	// lifecycle
 	const examType = ref()
 	onMounted(() => {
 		examType.value = route.params && route.params.examType
 		getTaskList()
-		initSubject()
 	})
 </script>
 
@@ -239,14 +148,5 @@
 		.task-center {
 			margin-bottom: 24px;
 		}
-		.subject-tabs {
-			.ant-tabs-nav {
-				margin-right: 20px;
-			}
-		}
-		.paper-type-radio {
-			float: right;
-			margin-bottom: 10px;
-		}
 	}
 </style>