From a4df1733923b72189d33ff2794e25b9cd883d7b4 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 06 六月 2024 14:30:12 +0800
Subject: [PATCH] feat:成绩单页面

---
 src/views/grade-list/index.vue           |   57 +++++++++++++++++++
 src/views/grade-list/data-list/index.vue |   65 +++++++++++++++++++++
 src/router/index.js                      |    8 ++
 src/views/exam/index.vue                 |    1 
 4 files changed, 129 insertions(+), 2 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 268e366..726610c 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -5,7 +5,7 @@
 const routes = [
   {
     path: '/',
-    redirect: '/exam'
+    redirect: '/index'
   },
 
   {
@@ -35,6 +35,12 @@
     path: '/exam',
     component: () => import('@/views/exam/index.vue'),
   },
+
+  // 鎴愮哗鍗曞垪琛�
+  {
+    path: '/grade-list',
+    component: () => import('@/views/grade-list/index.vue'),
+  },
 ];
 
 const router = createRouter({
diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue
index aaf82e4..fa8f549 100644
--- a/src/views/exam/index.vue
+++ b/src/views/exam/index.vue
@@ -9,7 +9,6 @@
           </div>
 
           <AnswerTime></AnswerTime>
-
         </div>
 
         <div class="exam-main grow flex justify-between">
diff --git a/src/views/grade-list/data-list/index.vue b/src/views/grade-list/data-list/index.vue
new file mode 100644
index 0000000..08620b2
--- /dev/null
+++ b/src/views/grade-list/data-list/index.vue
@@ -0,0 +1,65 @@
+<template>
+  <div class="list-container w-full h-full">
+    <el-scrollbar>
+      <el-card shadow="hover" class="mb-3">
+        <div class="item flex justify-between items-center">
+          <div class="left-container flex flex-col justify-between">
+            <div class="top-container flex items-center">
+              <div class="title mr-5 text-xl font-bold">娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯</div>
+              <div class="tag">
+                <el-tag type="primary" effect="light" round>
+                  宸叉壒鏀�
+                </el-tag>
+              </div>
+            </div>
+            <div class="mid-container flex items-center my-4 text-gray-700">
+              <el-icon class="mr-1"><Timer /></el-icon>
+              <div class="time">
+                鑰冭瘯鏃堕棿: 2024-6-5 08:00 ~ 2024-6-5 10:00
+              </div>
+            </div>
+            <div class="bottom-container flex text-sm text-gray-400 mb-3">
+              <div class="bottom-item">
+                鎬诲垎: 100
+              </div>
+              <div class="bottom-item">
+                棰樻暟: 20
+              </div>
+              <div class="bottom-item">
+                绛旈鏃堕棿: 20鍒嗛挓
+              </div>
+            </div>
+
+            <div class="grade-container flex items-center text-red-600">
+              <div class="grade-label mr-1">鎴愮哗:</div>
+              <div class="grade-num text-lg font-bold">100</div>
+            </div>
+          </div>
+          <div class="right-container">
+            <div class="button-container">
+              <el-button type="primary" size="large">鏌ョ湅璇曞嵎</el-button>
+            </div>
+          </div>
+        </div>
+      </el-card>
+
+    </el-scrollbar>
+  </div>
+</template>
+
+<script setup>
+import {ref} from 'vue';
+import { Timer } from '@element-plus/icons-vue';
+
+
+</script>
+
+<style lang="scss" scoped>
+.item {
+  width: 100%;
+  min-height: 120px;
+}
+.bottom-item {
+  margin-right: 30px;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/grade-list/index.vue b/src/views/grade-list/index.vue
new file mode 100644
index 0000000..ef07006
--- /dev/null
+++ b/src/views/grade-list/index.vue
@@ -0,0 +1,57 @@
+<template>
+  <div class="grade-list-container w-screen h-screen bg-slate-50 flex flex-col items-center">
+    <NormalHeader class="shrink-0"></NormalHeader>
+    <div class="list-container container grow relative">
+      <div class="list-content absolute top-0 bottom-0 left-0 right-0 py-4">
+        <div class="list-wrapper w-full h-full">
+          <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">
+                  <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-tabs>
+                </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>
+                </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>
+                </div>
+              </div>
+
+              <div class="card-footer flex justify-center mb-7 shrink-0">
+                <el-pagination background layout="prev, pager, next" :total="1000" />
+              </div>
+            </div>
+          </el-card>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from 'vue';
+import NormalHeader from '@/components/NormalHeader/index.vue';
+import DataList from './data-list/index.vue';
+import { Search } from '@element-plus/icons-vue';
+const activeName = ref('1');
+const searchText = ref('');
+const handleClick = (tab, event) => {
+};
+</script>
+
+<style lang="scss" scoped>
+:deep(.el-tabs__nav-wrap:after) {
+  display: none;
+}
+
+</style>
\ No newline at end of file

--
Gitblit v1.8.0