Kaynağa Gözat

更改进入方式

于添 7 ay önce
ebeveyn
işleme
257848b408

+ 2 - 2
.env.development

@@ -5,8 +5,8 @@ NODE_ENV = development
 VITE_TITLE = smilingFace
 
 # 接口地址
-# VITE_API_BASEURL = http://192.168.31.14:9003
-VITE_API_BASEURL = http://192.168.31.80:19003
+ #VITE_API_BASEURL = http://192.168.31.80:19003
+VITE_API_BASEURL = http://192.168.1.245:9003
 VITE_FILEURL = http://192.168.1.245:10005/education/
 # VITE_API_BASEURL = http://192.168.31.14:9003
 # VITE_API_BASEURL = http://192.168.31.6:9003

+ 15 - 0
src/router/portal.js

@@ -91,6 +91,21 @@ const portal = [
 		name: 'announcementManagement',
 		path: '/announcementManagement',
 		component: () => import('@/views/announcementManagement/index.vue'),
+	},
+	{
+		name: 'questionnaireManagement',
+		path: '/questionnaireManagement',
+		component: () => import('@/views/exm/questionnaireManagement/index.vue'),
+	},
+	{
+		name: 'examinationManagement',
+		path: '/examinationManagement',
+		component: () => import('@/views/exm/examinationManagement/index.vue'),
+	},
+	{
+		name: 'exampaper',
+		path: '/exampaper',
+		component: () => import('@/views/exm/exampaper/index.vue'),
 	}
 ]
 /**

+ 12 - 0
src/router/whiteList.js

@@ -142,6 +142,18 @@ const constRouters = [
 		path: '/announcementManagement',
 		component: () => import('@/views/announcementManagement/index.vue')
 	},
+	{
+		path: '/questionnaireManagement',
+		component: () => import('@/views/exm/questionnaireManagement/index.vue')
+	},
+	{
+		path: '/examinationManagement',
+		component: () => import('@/views/exm/examinationManagement/index.vue')
+	},
+	{
+		path: '/exampaper',
+		component: () => import('@/views/exm/exampaper/index.vue')
+	},
 ]
 /**
  * 路由白名单(数组形式)

+ 5 - 5
src/views/announcementManagement/components/ListView.vue

@@ -110,11 +110,11 @@ const pagination = ref({
 	size: 10,
 	current: 1,
 })
-const onChangeCurrent = (current) => {
-	router.push({
-		path: '/' + current
-	})
-}
+// const onChangeCurrent = (current) => {
+// 	router.push({
+// 		path: '/' + current
+// 	})
+// }
 const handlerChange = (page, pageSize) => {
 	console.log('分页参数', page, pageSize)
 	// pagination.value.size = pageSize

+ 6 - 5
src/views/announcementManagement/components/QueryView.vue

@@ -30,6 +30,7 @@
 	import collegeApi from '@/api/college'
 	import resourceAuditApi from '@/api/resourceAudit.js'
 	import tool from '@/utils/tool'
+	import Footer from "@/views/portal/components/Footer.vue";
 	const emit = defineEmits([])
 	const router = useRouter()
 	const collegeMajorOptions = ref([]) //院系
@@ -64,11 +65,11 @@
 		pageNum: 1,
 		total: 0
 	})
-	const onChangeCurrent = (current) => {
-		router.push({
-			path: '/' + current
-		})
-	}
+	// const onChangeCurrent = (current) => {
+	// 	router.push({
+	// 		path: '/' + current
+	// 	})
+	// }
 	const publishedData = ref()
 	//发布确定
 

+ 1 - 1
src/views/announcementManagement/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<QueryView style="margin-top: 10px" @handlerSearch="handlerSearch"></QueryView>
 				<!-- 新建课程按钮 -->

+ 1 - 1
src/views/classManagement/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<QueryView style="margin-top: 10px" @handlerSearch="handlerSearch"></QueryView>
 				<!-- 新建课程按钮 -->

+ 1 - 1
src/views/courseAdd/index.vue

@@ -2,7 +2,7 @@
 	<div style="overflow-y: auto">
 		<!-- <img :src="images" style="width: 100%; height: 100%" /> -->
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<a-tabs v-model:activeKey="activeKey" type="card">
 					<a-tab-pane key="1" tab="教室信息">

+ 1 - 1
src/views/courseCenter/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<div style="height: 20px"></div>
 				<ResourceList />

+ 1 - 1
src/views/courseManagement/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<QueryView style="margin-top: 10px" @handlerSearch="handlerSearch"></QueryView>
 				<!-- 新建课程按钮 -->

+ 9 - 2
src/views/exm/examinationManagement/form.vue

@@ -1,5 +1,9 @@
 <template>
-	<div class="app-container">
+	<a-layout>
+		<Header @onChangeCurrent="onChangeCurrent" />
+		<div style="width: 71%; margin-left: 10%">
+			<div style="height: 20px"></div>
+		</div>
 		<a-form
 			:model="form"
 			ref="formRef"
@@ -63,6 +67,8 @@
 				</a-space>
 			</a-form-item>
 		</a-form>
+	</a-layout>
+
 
 		<a-modal
 			v-model:visible="paperPage.showDialog"
@@ -114,7 +120,6 @@
 				style="margin-top: 16px; text-align: right"
 			/>
 		</a-modal>
-	</div>
 </template>
 
 <script setup>
@@ -126,6 +131,8 @@
 	import resourceAuditApi from '@/api/resourceAudit.js'
 
 	import dayjs from 'dayjs'
+	import Header from "@/views/portal/components/Header.vue";
+	import ResourceList from "@/views/courseCenter/components/ResourceList.vue";
 	const emit = defineEmits(['success'])
 	const props = defineProps({
 		id: {

+ 88 - 78
src/views/exm/examinationManagement/index.vue

@@ -1,82 +1,87 @@
 <template>
-	<div class="task-container">
-		<a-form layout="inline" :model="queryParam">
-			<a-form-item label="考试标题:">
-				<a-input v-model:value="queryParam.examName" placeholder="请输入考试标题" style="min-width: 200px" allowClear />
-			</a-form-item>
-			<a-form-item label="考试状态:">
-				<a-select style="min-width: 150px" v-model:value="queryParam.examStatus" allowClear placeholder="考试状态">
-					<a-select-option :value="0">未开始</a-select-option>
-					<a-select-option :value="1">已开始</a-select-option>
-					<a-select-option :value="2">已结束</a-select-option>
-				</a-select>
-			</a-form-item>
-			<a-form-item>
-				<a-button type="primary" @click="submitForm">查询</a-button>
-				<a-button style="margin-left: 20px" type="primary" @click="createTask">创建考试</a-button>
-			</a-form-item>
-		</a-form>
-		<a-table
-			:loading="listLoading"
-			:data-source="tableData"
-			:pagination="false"
-			row-key="id"
-			bordered
-			style="margin-top: 16px"
-		>
-			<a-table-column title="Id" dataIndex="id" key="id" width="100" />
-			<a-table-column title="考试标题" dataIndex="examName" key="examName" />
-			<a-table-column title="考试状态" dataIndex="examStatus" key="examStatus" width="120">
-				<template #default="{ record }">
-					<a-tag :color="record.examStatus === 0 ? 'default' : record.examStatus === 1 ? 'processing' : 'success'">
-						{{ record.examStatus === 0 ? '未开始' : record.examStatus === 1 ? '已开始' : '已结束' }}
-					</a-tag>
-				</template>
-			</a-table-column>
-			<a-table-column title="开始时间" dataIndex="startTime" key="startTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.startTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="结束时间" dataIndex="endTime" key="endTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.endTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="创建时间" dataIndex="createTime" key="createTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.createTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="操作" key="action" align="center" width="160">
-				<template #default="{ record }">
-					<a-button size="small" @click="editTask(record)">编辑</a-button>
-					<a-button size="small" danger style="margin-left: 8px" @click="deleteTask(record)">删除</a-button>
-				</template>
-			</a-table-column>
-		</a-table>
-		<a-pagination
-			v-show="total > 0"
-			:total="total"
-			:current="queryParam.pageIndex"
-			:pageSize="queryParam.pageSize"
-			@change="onPageChange"
-			@showSizeChange="onPageSizeChange"
-			:showSizeChanger="true"
-			:pageSizeOptions="['10', '20', '50', '100']"
-			style="margin-top: 16px; text-align: right"
-		/>
-		<a-drawer
-			:visible="drawerVisible"
-			:title="drawerTitle"
-			placement="right"
-			width="900"
-			@close="closeDrawer"
-			destroyOnClose
-		>
-			<TaskEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
-		</a-drawer>
-	</div>
+	<a-layout>
+		<Header />
+		<div style="width: 71%; margin-left: 10%">
+			<div style="height: 20px"></div>
+			<a-form layout="inline" :model="queryParam">
+				<a-form-item label="考试标题:">
+					<a-input v-model:value="queryParam.examName" placeholder="请输入考试标题" style="min-width: 200px" allowClear />
+				</a-form-item>
+				<a-form-item label="考试状态:">
+					<a-select style="min-width: 150px" v-model:value="queryParam.examStatus" allowClear placeholder="考试状态">
+						<a-select-option :value="0">未开始</a-select-option>
+						<a-select-option :value="1">已开始</a-select-option>
+						<a-select-option :value="2">已结束</a-select-option>
+					</a-select>
+				</a-form-item>
+				<a-form-item>
+					<a-button type="primary" @click="submitForm">查询</a-button>
+					<a-button style="margin-left: 20px" type="primary" @click="createTask">创建考试</a-button>
+				</a-form-item>
+			</a-form>
+			<a-table
+				:loading="listLoading"
+				:data-source="tableData"
+				:pagination="false"
+				row-key="id"
+				bordered
+				style="margin-top: 16px"
+			>
+				<a-table-column title="Id" dataIndex="id" key="id" width="100" />
+				<a-table-column title="考试标题" dataIndex="examName" key="examName" />
+				<a-table-column title="考试状态" dataIndex="examStatus" key="examStatus" width="120">
+					<template #default="{ record }">
+						<a-tag :color="record.examStatus === 0 ? 'default' : record.examStatus === 1 ? 'processing' : 'success'">
+							{{ record.examStatus === 0 ? '未开始' : record.examStatus === 1 ? '已开始' : '已结束' }}
+						</a-tag>
+					</template>
+				</a-table-column>
+				<a-table-column title="开始时间" dataIndex="startTime" key="startTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.startTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="结束时间" dataIndex="endTime" key="endTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.endTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="创建时间" dataIndex="createTime" key="createTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.createTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="操作" key="action" align="center" width="160">
+					<template #default="{ record }">
+						<a-button size="small" @click="editTask(record)">编辑</a-button>
+						<a-button size="small" danger style="margin-left: 8px" @click="deleteTask(record)">删除</a-button>
+					</template>
+				</a-table-column>
+			</a-table>
+			<a-pagination
+				v-show="total > 0"
+				:total="total"
+				:current="queryParam.pageIndex"
+				:pageSize="queryParam.pageSize"
+				@change="onPageChange"
+				@showSizeChange="onPageSizeChange"
+				:showSizeChanger="true"
+				:pageSizeOptions="['10', '20', '50', '100']"
+				style="margin-top: 16px; text-align: right"
+			/>
+			<a-drawer
+				:visible="drawerVisible"
+				:title="drawerTitle"
+				placement="right"
+				width="900"
+				@close="closeDrawer"
+				destroyOnClose
+			>
+				<TaskEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
+			</a-drawer>
+		</div>
+	</a-layout>
+	<Footer />
 </template>
 
 <script setup>
@@ -87,6 +92,11 @@
 	import { useExamStore } from '@/store/exam.js'
 	import { storeToRefs } from 'pinia'
 	import { parseTime } from '@/utils/exam'
+	import Header from "@/views/portal/components/Header.vue";
+	import QueryView from "@/views/classManagement/components/QueryView.vue";
+	import {PlusOutlined} from "@ant-design/icons-vue";
+	import Footer from "@/views/portal/components/Footer.vue";
+	import ListView from "@/views/classManagement/components/ListView.vue";
 	const examStore = useExamStore()
 	const { levelEnum, enumFormat } = storeToRefs(examStore)
 	const drawerVisible = ref(false)

+ 96 - 87
src/views/exm/exampaper/index.vue

@@ -1,95 +1,101 @@
 <template>
-	<div class="app-container">
-		<!-- 查询表单 -->
-		<a-form :model="queryParam" layout="inline" class="search-form">
-			<a-form-item label="题目ID:">
-				<a-input v-model:value="queryParam.id" placeholder="请输入题目ID" allow-clear />
-			</a-form-item>
-			<a-form-item label="试卷类型:">
-				<a-select
-					v-model:value="queryParam.paperType"
-					placeholder="请选择试卷类型"
-					@change="paperTypeChange"
-					allow-clear
-					style="width: 120px"
-				>
-					<a-select-option v-for="item in paperTypeEnum" :key="item.key" :value="item.key">
-						{{ item.value }}
-					</a-select-option>
-				</a-select>
-			</a-form-item>
-			<!-- <a-form-item label="年级:">
-				<a-select
-					v-model:value="queryParam.level"
-					placeholder="请选择年级"
-					@change="levelChange"
-					allow-clear
-					style="width: 120px"
-				>
-					<a-select-option v-for="item in levelEnum" :key="item.key" :value="item.key">
-						{{ item.value }}
-					</a-select-option>
-				</a-select>
-			</a-form-item>
-			<a-form-item label="学科:">
-				<a-select v-model:value="queryParam.subjectId" placeholder="请选择学科" allow-clear style="width: 200px">
-					<a-select-option v-for="item in subjectFilter" :key="item.id" :value="item.id">
-						{{ item.name }} ( {{ item.levelName }} )
-					</a-select-option>
-				</a-select>
-			</a-form-item> -->
-			<a-form-item>
-				<a-button type="primary" @click="submitForm">查询</a-button>
-				<a-button type="primary" @click="openDrawer('add')" style="margin-left: 8px">添加</a-button>
-			</a-form-item>
-		</a-form>
+	<a-layout>
+		<Header  />
+		<div style="width: 71%; margin-left: 10%">
+			<div style="height: 20px"></div>
+			<!-- 查询表单 -->
+			<a-form :model="queryParam" layout="inline" class="search-form">
+				<a-form-item label="题目ID:">
+					<a-input v-model:value="queryParam.id" placeholder="请输入题目ID" allow-clear />
+				</a-form-item>
+				<a-form-item label="试卷类型:">
+					<a-select
+						v-model:value="queryParam.paperType"
+						placeholder="请选择试卷类型"
+						@change="paperTypeChange"
+						allow-clear
+						style="width: 120px"
+					>
+						<a-select-option v-for="item in paperTypeEnum" :key="item.key" :value="item.key">
+							{{ item.value }}
+						</a-select-option>
+					</a-select>
+				</a-form-item>
+				<!-- <a-form-item label="年级:">
+					<a-select
+						v-model:value="queryParam.level"
+						placeholder="请选择年级"
+						@change="levelChange"
+						allow-clear
+						style="width: 120px"
+					>
+						<a-select-option v-for="item in levelEnum" :key="item.key" :value="item.key">
+							{{ item.value }}
+						</a-select-option>
+					</a-select>
+				</a-form-item>
+				<a-form-item label="学科:">
+					<a-select v-model:value="queryParam.subjectId" placeholder="请选择学科" allow-clear style="width: 200px">
+						<a-select-option v-for="item in subjectFilter" :key="item.id" :value="item.id">
+							{{ item.name }} ( {{ item.levelName }} )
+						</a-select-option>
+					</a-select>
+				</a-form-item> -->
+				<a-form-item>
+					<a-button type="primary" @click="submitForm">查询</a-button>
+					<a-button type="primary" @click="openDrawer('add')" style="margin-left: 8px">添加</a-button>
+				</a-form-item>
+			</a-form>
 
-		<!-- 数据表格 -->
-		<a-table
-			:loading="listLoading"
-			:data-source="tableData"
-			:columns="columns"
-			:pagination="false"
-			row-key="id"
-			class="data-table"
-			:locale="{ emptyText: '暂无数据' }"
-		>
-			<template #bodyCell="{ column, record }">
-				<template v-if="column.key === 'action'">
-					<a-button size="small" @click="openDrawer('edit', record.id)">编辑</a-button>
-					<a-button size="small" type="primary" danger @click="deletePaper(record)" style="margin-left: 8px">
-						删除
-					</a-button>
+			<div style="height: 20px"></div>
+			<!-- 数据表格 -->
+			<a-table
+				:loading="listLoading"
+				:data-source="tableData"
+				:columns="columns"
+				:pagination="false"
+				row-key="id"
+				class="data-table"
+				:locale="{ emptyText: '暂无数据' }"
+			>
+				<template #bodyCell="{ column, record }">
+					<template v-if="column.key === 'action'">
+						<a-button size="small" @click="openDrawer('edit', record.id)">编辑</a-button>
+						<a-button size="small" type="primary" danger @click="deletePaper(record)" style="margin-left: 8px">
+							删除
+						</a-button>
+					</template>
 				</template>
-			</template>
-		</a-table>
+			</a-table>
 
-		<!-- 分页 -->
-		<a-pagination
-			v-if="total > 0"
-			:current="queryParam.pageIndex"
-			:page-size="queryParam.pageSize"
-			:total="total"
-			:show-size-changer="true"
-			:show-quick-jumper="true"
-			:show-total="(total, range) => `第 ${range[0]}-${range[1]} 条/共 ${total} 条`"
-			@change="handlePageChange"
-			@show-size-change="handlePageSizeChange"
-			class="pagination"
-		/>
+			<!-- 分页 -->
+			<a-pagination
+				v-if="total > 0"
+				:current="queryParam.pageIndex"
+				:page-size="queryParam.pageSize"
+				:total="total"
+				:show-size-changer="true"
+				:show-quick-jumper="true"
+				:show-total="(total, range) => `第 ${range[0]}-${range[1]} 条/共 ${total} 条`"
+				@change="handlePageChange"
+				@show-size-change="handlePageSizeChange"
+				class="pagination"
+			/>
 
-		<!-- 编辑/添加 抽屉 -->
-		<a-drawer
-			:visible="drawerVisible"
-			:title="drawerTitle"
-			placement="right"
-			width="900"
-			@close="closeDrawer"
-			destroyOnClose
-		>
-			<FormEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
-		</a-drawer>
-	</div>
+			<!-- 编辑/添加 抽屉 -->
+			<a-drawer
+				:visible="drawerVisible"
+				:title="drawerTitle"
+				placement="right"
+				width="900"
+				@close="closeDrawer"
+				destroyOnClose
+			>
+				<FormEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
+			</a-drawer>
+		</div>
+	</a-layout>
+	<Footer />
 </template>
 
 <script setup>
@@ -99,6 +105,9 @@
 	import examPaperApi from '@/api/exam/paper/examPaperApi'
 	import FormEdit from './form.vue'
 	import { parseTime } from '@/utils/exam'
+	import Header from "@/views/portal/components/Header.vue";
+	import ResourceList from "@/views/courseCenter/components/ResourceList.vue";
+	import Footer from "@/views/portal/components/Footer.vue";
 
 	const examStore = useExamStore()
 	const paperTypeEnum = computed(() => examStore.paperTypeEnum)

+ 89 - 78
src/views/exm/questionnaireManagement/index.vue

@@ -1,82 +1,88 @@
 <template>
-	<div class="task-container">
-		<a-form layout="inline" :model="queryParam">
-			<a-form-item label="考试标题:">
-				<a-input v-model:value="queryParam.examName" placeholder="请输入考试标题" style="min-width: 200px" allowClear />
-			</a-form-item>
-			<a-form-item label="考试状态:">
-				<a-select style="min-width: 150px" v-model:value="queryParam.examStatus" allowClear placeholder="考试状态">
-					<a-select-option :value="0">未开始</a-select-option>
-					<a-select-option :value="1">已开始</a-select-option>
-					<a-select-option :value="2">已结束</a-select-option>
-				</a-select>
-			</a-form-item>
-			<a-form-item>
-				<a-button type="primary" @click="submitForm">查询</a-button>
-				<a-button style="margin-left: 20px" type="primary" @click="createTask">创建考试</a-button>
-			</a-form-item>
-		</a-form>
-		<a-table
-			:loading="listLoading"
-			:data-source="tableData"
-			:pagination="false"
-			row-key="id"
-			bordered
-			style="margin-top: 16px"
-		>
-			<a-table-column title="Id" dataIndex="id" key="id" width="100" />
-			<a-table-column title="考试标题" dataIndex="examName" key="examName" />
-			<a-table-column title="考试状态" dataIndex="examStatus" key="examStatus" width="120">
-				<template #default="{ record }">
-					<a-tag :color="record.examStatus === 0 ? 'default' : record.examStatus === 1 ? 'processing' : 'success'">
-						{{ record.examStatus === 0 ? '未开始' : record.examStatus === 1 ? '已开始' : '已结束' }}
-					</a-tag>
-				</template>
-			</a-table-column>
-			<a-table-column title="开始时间" dataIndex="startTime" key="startTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.startTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="结束时间" dataIndex="endTime" key="endTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.endTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="创建时间" dataIndex="createTime" key="createTime" width="160">
-				<template #default="{ record }">
-					{{ formatDateTime(record.createTime) }}
-				</template>
-			</a-table-column>
-			<a-table-column title="操作" key="action" align="center" width="160">
-				<template #default="{ record }">
-					<a-button size="small" @click="editTask(record)">编辑</a-button>
-					<a-button size="small" danger style="margin-left: 8px" @click="deleteTask(record)">删除</a-button>
-				</template>
-			</a-table-column>
-		</a-table>
-		<a-pagination
-			v-show="total > 0"
-			:total="total"
-			:current="queryParam.pageIndex"
-			:pageSize="queryParam.pageSize"
-			@change="onPageChange"
-			@showSizeChange="onPageSizeChange"
-			:showSizeChanger="true"
-			:pageSizeOptions="['10', '20', '50', '100']"
-			style="margin-top: 16px; text-align: right"
-		/>
-		<a-drawer
-			:visible="drawerVisible"
-			:title="drawerTitle"
-			placement="right"
-			width="900"
-			@close="closeDrawer"
-			destroyOnClose
-		>
-			<TaskEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
-		</a-drawer>
-	</div>
+	<a-layout>
+		<Header @onChangeCurrent="onChangeCurrent" />
+		<div style="width: 71%; margin-left: 10%">
+			<div style="height: 20px"></div>
+			<a-form layout="inline" :model="queryParam">
+				<a-form-item label="考试标题:">
+					<a-input v-model:value="queryParam.examName" placeholder="请输入考试标题" style="min-width: 200px" allowClear />
+				</a-form-item>
+				<a-form-item label="考试状态:">
+					<a-select style="min-width: 150px" v-model:value="queryParam.examStatus" allowClear placeholder="考试状态">
+						<a-select-option :value="0">未开始</a-select-option>
+						<a-select-option :value="1">已开始</a-select-option>
+						<a-select-option :value="2">已结束</a-select-option>
+					</a-select>
+				</a-form-item>
+				<a-form-item>
+					<a-button type="primary" @click="submitForm">查询</a-button>
+					<a-button style="margin-left: 20px" type="primary" @click="createTask">创建考试</a-button>
+				</a-form-item>
+			</a-form>
+			<a-table
+				:loading="listLoading"
+				:data-source="tableData"
+				:pagination="false"
+				row-key="id"
+				bordered
+				style="margin-top: 16px"
+			>
+				<a-table-column title="Id" dataIndex="id" key="id" width="100" />
+				<a-table-column title="考试标题" dataIndex="examName" key="examName" />
+				<a-table-column title="考试状态" dataIndex="examStatus" key="examStatus" width="120">
+					<template #default="{ record }">
+						<a-tag :color="record.examStatus === 0 ? 'default' : record.examStatus === 1 ? 'processing' : 'success'">
+							{{ record.examStatus === 0 ? '未开始' : record.examStatus === 1 ? '已开始' : '已结束' }}
+						</a-tag>
+					</template>
+				</a-table-column>
+				<a-table-column title="开始时间" dataIndex="startTime" key="startTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.startTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="结束时间" dataIndex="endTime" key="endTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.endTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="创建时间" dataIndex="createTime" key="createTime" width="160">
+					<template #default="{ record }">
+						{{ formatDateTime(record.createTime) }}
+					</template>
+				</a-table-column>
+				<a-table-column title="操作" key="action" align="center" width="160">
+					<template #default="{ record }">
+						<a-button size="small" @click="editTask(record)">编辑</a-button>
+						<a-button size="small" danger style="margin-left: 8px" @click="deleteTask(record)">删除</a-button>
+					</template>
+				</a-table-column>
+			</a-table>
+			<a-pagination
+				v-show="total > 0"
+				:total="total"
+				:current="queryParam.pageIndex"
+				:pageSize="queryParam.pageSize"
+				@change="onPageChange"
+				@showSizeChange="onPageSizeChange"
+				:showSizeChanger="true"
+				:pageSizeOptions="['10', '20', '50', '100']"
+				style="margin-top: 16px; text-align: right"
+			/>
+			<a-drawer
+				:visible="drawerVisible"
+				:title="drawerTitle"
+				placement="right"
+				width="900"
+				@close="closeDrawer"
+				destroyOnClose
+			>
+				<TaskEdit v-if="drawerVisible" :id="editId" @success="onEditSuccess" />
+			</a-drawer>
+		</div>
+	</a-layout>
+	<Footer />
+
 </template>
 
 <script setup>
@@ -87,6 +93,11 @@
 	import { useExamStore } from '@/store/exam.js'
 	import { storeToRefs } from 'pinia'
 	import { parseTime } from '@/utils/exam'
+	import Header from "@/views/portal/components/Header.vue";
+	import QueryView from "@/views/announcementManagement/components/QueryView.vue";
+	import {PlusOutlined} from "@ant-design/icons-vue";
+	import Footer from "@/views/portal/components/Footer.vue";
+	import ListView from "@/views/announcementManagement/components/ListView.vue";
 	const examStore = useExamStore()
 	const { levelEnum, enumFormat } = storeToRefs(examStore)
 	const drawerVisible = ref(false)

+ 1 - 1
src/views/myResources/resourceManagement/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<myResources pageType="economize" />
 				<!-- <ResourceDetails v-if="indexType == 'resourceDetails'" ref="ResourceDetailsRef" /> -->

+ 13 - 5
src/views/portal/components/Header.vue

@@ -47,9 +47,9 @@
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">课程管理</a-menu-item>
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">问答管理</a-menu-item>
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="classManagement">班级管理</a-menu-item>
-					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">考试管理</a-menu-item>
-					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">问卷管理</a-menu-item>
-					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">试题管理</a-menu-item>
+					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="examinationManagement">考试管理</a-menu-item>
+					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="questionnaireManagement">问卷管理</a-menu-item>
+					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="exampaper">试题管理</a-menu-item>
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">统计分析</a-menu-item>
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">个人中心</a-menu-item>
 					<a-menu-item style="margin-left: 10px; margin-right: 10px" key="portal/courseManagement">论坛</a-menu-item>
@@ -129,10 +129,18 @@
 		() => current.value,
 		(newVal, oldVal) => {
 			if (newVal != oldVal) {
-				emit('onChangeCurrent', newVal)
+				// emit('onChangeCurrent', newVal)
+				onChangeCurrent(newVal)
 			}
 		}
 	)
+
+	const onChangeCurrent = (current) => {
+
+		router.push({
+			path: '/' + current
+		})
+	}
 	const slogin = () =>{
 		router.push({
 			path: '/slogin'
@@ -203,7 +211,7 @@
 		align-items: center;
 		background-color: #fff;
 	}
-	
+
 	.line {
 		width: 100%;
 		height: 0.25px;

+ 1 - 1
src/views/portal/index.vue

@@ -2,7 +2,7 @@
 	<div style="overflow-y: auto">
 		<!-- <img :src="images" style="width: 100%; height: 100%" /> -->
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header />
 			<div style="width: 71%; margin-left: 10%">
 				<!-- <BreadCrumb />
 				<ResourceCenter /> -->

+ 1 - 1
src/views/resourceCenter/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<ComplexChoices />
 				<div style="height: 20px"></div>

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

@@ -1,7 +1,7 @@
 <template>
 	<div style="overflow-y: auto">
 		<a-layout>
-			<Header @onChangeCurrent="onChangeCurrent" />
+			<Header  />
 			<div style="width: 71%; margin-left: 10%">
 				<!-- <BreadCrumb /> -->
 				<VideoDetails :isState="isState" ref="VideoDetailsRef" @onGetPageCommentNew="onGetPageCommentNew" />
@@ -90,13 +90,13 @@
 				console.error(err)
 			})
 	}
-	const onChangeCurrent = (current) => {
-		indexType.value = current
-
-		router.push({
-			path: '/' + current
-		})
-	}
+	// const onChangeCurrent = (current) => {
+	// 	indexType.value = current
+	//
+	// 	router.push({
+	// 		path: '/' + current
+	// 	})
+	// }
 
 	const setData = (item) => {
 		// emit('handlerItemSidebar', item)