ZhangXianQiang
2024-06-05 3341b1602cbf20822bd0ef98bdc2e3898aaea2f9
feat:考试列表
6个文件已修改
145 ■■■■■ 已修改文件
components.d.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/NormalHeader/index.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam-list/data-list/index.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam-list/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/menu/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
components.d.ts
@@ -11,6 +11,7 @@
    ElButton: typeof import('element-plus/es')['ElButton']
    ElCard: typeof import('element-plus/es')['ElCard']
    ElCol: typeof import('element-plus/es')['ElCol']
    ElIcon: typeof import('element-plus/es')['ElIcon']
    ElInput: typeof import('element-plus/es')['ElInput']
    ElPagination: typeof import('element-plus/es')['ElPagination']
    ElRow: typeof import('element-plus/es')['ElRow']
@@ -19,6 +20,7 @@
    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
    ElTabPane: typeof import('element-plus/es')['ElTabPane']
    ElTabs: typeof import('element-plus/es')['ElTabs']
    ElTag: typeof import('element-plus/es')['ElTag']
    ExamInfoDialog: typeof import('./src/components/ExamInfoDialog/index.vue')['default']
    Header: typeof import('./src/components/Header/index.vue')['default']
    HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
src/components/NormalHeader/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="w-screen h-16 bg-blue-400 flex justify-between items-center px-10 box-border">
    <div class="return-container text-center cursor-pointer">
    <div class="return-container text-center cursor-pointer" @click="returnBack">
      <div class="icon mx-auto">
        <img src="@/assets/icons/return.png" class="width-img" alt="">
      </div>
@@ -23,11 +23,18 @@
<script setup>
import { ref, computed } from 'vue';
import { useRouter } from 'vue-router';
import randomColor from '@/utils/randomColor.js';
const router = useRouter();
const getColor = computed(() => {
  return randomColor();
});
const returnBack = () => {
  router.back();
}
</script>
<style lang="scss" scoped>
src/router/index.js
@@ -5,7 +5,7 @@
const routes = [
  {
    path: '/',
    redirect: '/exam-list'
    redirect: '/index'
  },
  {
src/views/exam-list/data-list/index.vue
@@ -1,15 +1,133 @@
<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">
              <div class="bottom-item">
                总分: 100
              </div>
              <div class="bottom-item">
                题数: 20
              </div>
              <div class="bottom-item">
                答题时间: 20分钟
              </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-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">
              <div class="bottom-item">
                总分: 100
              </div>
              <div class="bottom-item">
                题数: 20
              </div>
              <div class="bottom-item">
                答题时间: 20分钟
              </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-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">
              <div class="bottom-item">
                总分: 100
              </div>
              <div class="bottom-item">
                题数: 20
              </div>
              <div class="bottom-item">
                答题时间: 20分钟
              </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>
src/views/exam-list/index.vue
@@ -7,7 +7,7 @@
        <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">
              <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>
@@ -22,11 +22,13 @@
                </div>
              </div>
              <div class="card-main grow my-5">
                <DataList></DataList>
              <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">
              <div class="card-footer flex justify-center mb-7 shrink-0">
                <el-pagination background layout="prev, pager, next" :total="1000" />
              </div>
            </div>
src/views/menu/index.vue
@@ -59,7 +59,7 @@
]);
const testClick = (item) => {
  router.push('/exam');
  router.push('/exam-list');
}
</script>