From f7b2d928f99435c798d12e688d470c69f2f5c234 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期二, 12 十一月 2024 21:20:52 +0800 Subject: [PATCH] 优化错题查询 --- src/views/train/index.vue | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/views/train/index.vue b/src/views/train/index.vue index 63a4ffd..8fdfc09 100644 --- a/src/views/train/index.vue +++ b/src/views/train/index.vue @@ -19,19 +19,32 @@ </div> --> <div class="header-search flex items-center"> - <el-input v-model="searchText" placeholder="璇疯緭鍏ヨ绋嬪悕绉�" :prefix-icon="Search" maxlength="20" @input="searchData" /> + <el-input v-model="searchText" placeholder="璇剧▼鍚嶇О" clearable @clear="searchData" :prefix-icon="Search" maxlength="20" @input="searchData" /> + <el-select v-model="classesIdList" placeholder="閫夋嫨鐝骇" multiple clearable @clear="searchData" style="width: 200px;margin-left: 10px" @change="searchData"> + <el-option v-for="classes in classesList" :key="classes.id" :label="classes.className" :value="classes.id"/> + </el-select> <el-button type="primary" class="ml-4" @click="searchData">鎼滅储</el-button> </div> </div> <div class="card-main flex-1 my-5 relative"> <div class="main-content absolute top-0 bottom-0 left-0 right-0"> - <DataList :dataList="dataList"></DataList> + <DataList v-if="dataList && dataList.length > 0" :dataList="dataList"></DataList> + <el-empty v-else description="鏆傛棤" /> </div> </div> <div class="card-footer flex justify-center mb-7 shrink-0"> - <el-pagination background layout="prev, pager, next" :total="1000" /> + <el-pagination + background + layout="total, sizes, prev, pager, next, jumper" + :total="total" + :page-sizes="[10, 20, 50]" + :page-size="pageSize" + :currentPage="currentIndex" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + /> </div> </div> </el-card> @@ -46,24 +59,48 @@ import NormalHeader from '@/components/NormalHeader/index.vue'; import DataList from './data-list/index.vue'; import { Search } from '@element-plus/icons-vue'; -import { getMeetList } from '@/api/modules/meet.js'; +import { getMeetList, getStudentClasses } from '@/api/modules/meet.js'; const activeName = ref('1'); const searchText = ref(''); +const classesIdList = ref([]); +const classesList = ref([]); const dataList = ref([]); const loading = ref(false); +const currentIndex = ref(1); +const pageSize = ref(10); +const total = ref(0); + const getData = () => { loading.value = true; - getMeetList({meetName: searchText.value}).then(res => { + getMeetList({meetName: searchText.value, classesIds: classesIdList.value}).then(res => { dataList.value = res.data; loading.value = false; + total.value = res.total; }).catch(err => { loading.value = false; }); }; +const studentClasses = () => { + getStudentClasses().then(res => { + classesList.value = res.data + }) +} + getData(); +studentClasses(); +const handleCurrentChange = (val) => { + currentIndex.value = val; + getData(); +}; + +const handleSizeChange = (val) => { + currentIndex.value = 1; + pageSize.value = val; + getData(); +}; const searchData = () => { getData(); @@ -79,4 +116,4 @@ :deep(.el-tabs__nav-wrap:after) { display: none; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0