From 84659b2d8d9c839903988b59905c6e6c338c5e71 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期四, 07 十一月 2024 09:16:38 +0800
Subject: [PATCH] 错题展示
---
src/views/train/index.vue | 62 ++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 9 deletions(-)
diff --git a/src/views/train/index.vue b/src/views/train/index.vue
index b4465cb..8fdfc09 100644
--- a/src/views/train/index.vue
+++ b/src/views/train/index.vue
@@ -8,28 +8,43 @@
<el-card class="h-full" :body-style="{ height: '100%' }">
<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-tab">
+
+ <!-- <div class="header-tab">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="鍏ㄩ儴" name="1"></el-tab-pane>
<el-tab-pane label="鏈紑濮�" name="2"></el-tab-pane>
<el-tab-pane label="杩涜涓�" name="3"></el-tab-pane>
<el-tab-pane label="宸茬粨鏉�" name="4"></el-tab-pane>
</el-tabs>
- </div>
+ </div> -->
+
<div class="header-search flex items-center">
- <el-input v-model="searchText" placeholder="璇疯緭鍏ヨ绋嬪悕绉�" :prefix-icon="Search" />
- <el-button type="primary" class="ml-4">鎼滅储</el-button>
+ <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>
@@ -44,24 +59,53 @@
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().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();
+
+};
const handleClick = (tab, event) => {
};
@@ -72,4 +116,4 @@
:deep(.el-tabs__nav-wrap:after) {
display: none;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.8.0