src/api/modules/wrong.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/wrong-list/data-list/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/wrong-list/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/modules/wrong.js
@@ -1,5 +1,5 @@ import service from "@/api"; export const getWrongList = (postData = {examName: '', pageIndex: 1, pageSize: 10}) => { return service.post('/api/student/wrong/pageList',postData); export const page = (postData = {examName: ''}) => { return service.post('/api/student/wrong/page',postData); } src/views/wrong-list/data-list/index.vue
@@ -3,7 +3,7 @@ <el-scrollbar> <el-table v-loading="loading" :data="tableData" :data="dataList" border :row-style="{height:'42px'}" :cell-style="{padding: '0'}" @@ -18,7 +18,8 @@ label="题型" align="center" width="100px" prop="questionTypeName" prop="questionType" :formatter="questionTypeFormatter" ></el-table-column> <el-table-column align="center" @@ -48,38 +49,21 @@ </template> </el-table-column> </el-table> <pagination v-show="total>0" :total="total" :page.sync="searchForm.currentPage" :limit.sync="searchForm.pageSize" @pagination="dataList"/> </el-scrollbar> </div> </template> <script setup> import { ref } from 'vue'; import { Timer } from '@element-plus/icons-vue'; import { useRouter } from 'vue-router'; import { useExamStore } from '@/store/index.js'; import { getExamInfo } from '@/api/modules/exam.js'; const loading = ref(false); const tableData = ref([]); const total = ref(0); const searchForm = ref({ currentPage: 1, pageSize: 10 }); // const router = useRouter(); // dataList const props = defineProps({ dataList: { type: Array, default: () => [] } }); const loading = ref(false); const checkWrong = (id) => { router.push({ @@ -90,8 +74,22 @@ }); }; </script> // 题目类型格式化 const questionTypeFormatter = (row,column,cellValue) => { const typeMap = { 1: '单选题', 2: '多选题', 3: '判断题', 4: '填空题', 5: '简答题', 6: '语音题', 7: '计算题', 8: '分析题' }; return typeMap[cellValue]; } </script> <style lang="scss" scoped> .item { width: 100%; src/views/wrong-list/index.vue
@@ -9,8 +9,8 @@ <div class="card-wrapper w-full h-full flex flex-col px-8 box-border"> <div class="card-header flex justify-between items-center shrink-0"> <div class="header-search flex items-center"> <el-input v-model="searchText" placeholder="请输入考试名称" :prefix-icon="Search" maxlength="20" @input="searchData"/> <el-button type="primary" class="ml-4" @click="searchData">搜索</el-button> <!-- <el-input v-model="searchText" placeholder="请输入考试名称" :prefix-icon="Search" maxlength="20" @input="searchData"/>--> <!-- <el-button type="primary" class="ml-4" @click="searchData">搜索</el-button>--> </div> </div> @@ -21,10 +21,10 @@ </div> <div class="card-footer flex justify-center mb-7 shrink-0"> <el-pagination background layout="prev, pager, next" :total="dataList.length" :default-page-size="20" :currentPage="currentIndex" :hide-on-single-page="true" <el-pagination background layout="prev, pager, next" :total="pageParam.total" :page-size="10" :current-page="pageParam.pageIndex" @current-change="handleCurrentChange"/> </div> </div> @@ -37,41 +37,51 @@ <script setup> import { ref } from 'vue'; import NormalHeader from '@/components/NormalHeader/index.vue'; import DataList from './data-list/index.vue'; import { getWrongList } from '@/api/modules/wrong.js'; import { page } from '@/api/modules/wrong.js'; const searchText = ref(''); const currentIndex = ref(1); const dataList = ref([]); const loading = ref(false); const currentData = ref([]); // 分页参数 const pageParam = { pageIndex: 1, pageSize: 10, total: 0 }; const getData = () => { loading.value = true; getWrongList({ examName: searchText.value }).then(res => { page().then(res => { dataList.value = res.data; loading.value = false; }).catch(err => { loading.value = false; }); }; // 页面切换 const handleCurrentChange = (pageIndex) => { pageParam.pageIndex = pageIndex; // 更新页码 const currentData = getPaginatedData(); // 获取当前页数据 updateView(currentData); // 更新视图 } getData(); const searchData = () => { getData(); }; } const handleClick = (tab, event) => { }; const handleCurrentChange = (val) => { getData(); } </script> <style lang="scss" scoped>