From 5165ee09de8555e12fb44c458a3d04e41f58e28f Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 12 十一月 2024 15:18:43 +0800
Subject: [PATCH] 完成错题详情查看

---
 src/views/wrong-list/data-list/index.vue |   95 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 64 insertions(+), 31 deletions(-)

diff --git a/src/views/wrong-list/data-list/index.vue b/src/views/wrong-list/data-list/index.vue
index 92856ce..fc8706f 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,13 +18,14 @@
             label="棰樺瀷"
             align="center"
             width="100px"
-            prop="questionTypeName"
+            prop="questionType"
+            :formatter="questionTypeFormatter"
         ></el-table-column>
         <el-table-column
             align="center"
             width="100px"
             label="鍒嗘暟"
-            prop="score"
+            prop="questionScore"
         ></el-table-column>
         <el-table-column
             align="center"
@@ -43,55 +44,87 @@
             align="center"
             fixed="right"
         >
-          <template slot-scope="scope">
-            <el-button type="primary" size="large" @click="checkWrong(scope.row.id)">鏌ョ湅閿欓</el-button>
+          <template #default="{ row }">
+            <el-button
+                type="primary"
+                size="small"
+                @click="checkWrong(row)"
+            >
+              鏌ョ湅閿欓
+            </el-button>
           </template>
         </el-table-column>
-      </el-table>
 
-      <pagination v-show="total>0" :total="total" :page.sync="searchForm.currentPage"
-                  :limit.sync="searchForm.pageSize"
-                  @pagination="dataList"/>
+      </el-table>
     </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';
+import { useGradeStore } from '@/store/index.js';
+import { checkWrongInfo } from '@/api/modules/grade.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 gradeStore = useGradeStore();
+const router = useRouter();
+
+const checkWrong = (row) => {
+  checkWrongInfo(row.id, row).then((res) => {
+    const {id, examName, score, navbar, titleItems} = res.data;
+    gradeStore.setExamInfo({
+      id,
+      examName,
+      score,
+      navbar
+    });
+    gradeStore.setExamDetail(titleItems);
+    gradeStore.initExam(res.data.titleItems[0].questionType);
+    router.push('/grade');
+  }).catch(err => {
+
+  })
+}
+  // getGradeInfo(row.id).then((res) => {
+  //   const {id,examName, score,navbar,titleItems} = res.data;
+  //   gradeStore.setExamInfo({
+  //     id,
+  //     examName,
+  //     score,
+  //     navbar
+  //   });
+  //   gradeStore.setExamDetail(titleItems);
+  //   gradeStore.initExam(res.data.titleItems[0].questionType);
+  //   router.push('/grade');
+  // }).catch(err => {
+  //
+  // });
 
 
-const checkWrong = (id) => {
-  router.push({
-    name: 'wrong-list',
-    params: {
-      examId: id
-    }
-  });
-};
+// 棰樼洰绫诲瀷鏍煎紡鍖�
+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%;

--
Gitblit v1.8.0