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/wrong-list/index.vue           |   44 +++++++++++++--------
 src/api/modules/wrong.js                 |    4 +-
 src/views/wrong-list/data-list/index.vue |   42 ++++++++++-----------
 3 files changed, 49 insertions(+), 41 deletions(-)

diff --git a/src/api/modules/wrong.js b/src/api/modules/wrong.js
index a6f9243..87cd66c 100644
--- a/src/api/modules/wrong.js
+++ b/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);
 }
\ No newline at end of file
diff --git a/src/views/wrong-list/data-list/index.vue b/src/views/wrong-list/data-list/index.vue
index 92856ce..c32bc52 100644
--- a/src/views/wrong-list/data-list/index.vue
+++ b/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%;
diff --git a/src/views/wrong-list/index.vue b/src/views/wrong-list/index.vue
index e0c48d3..415a098 100644
--- a/src/views/wrong-list/index.vue
+++ b/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>

--
Gitblit v1.8.0