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/exam/index.vue | 128 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 121 insertions(+), 7 deletions(-) diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue index cdc820e..fa8f549 100644 --- a/src/views/exam/index.vue +++ b/src/views/exam/index.vue @@ -1,22 +1,108 @@ <template> - <div class="exam-container w-screen h-screen relative overflow-hidden"> - <div class="top-bg bg-blue-400"></div> - <div class="exam-content flex flex-col "> - <div class="exam-header"> - <div class="title-container"> - 娴嬭瘯娴嬭瘯娴嬭瘯 + <div class="exam-container w-screen h-screen bg-slate-50 relative overflow-hidden"> + <div class="top-bg bg-blue-500"></div> + <div class="exam-content"> + <div class="exam-wrapper container mx-auto h-full flex flex-col"> + <div class="exam-header flex items-center mt-12 mb-10"> + <div class="title-container text-3xl font-semibold text-white mr-8"> + 娴嬭瘯娴嬭瘯娴嬭瘯 + </div> + + <AnswerTime></AnswerTime> + </div> + + <div class="exam-main grow flex justify-between"> + <!-- 绛旈鍗″尯 --> + <div class="answer-wrapper answer-left mr-8 shadow-xl p-4 box-border"> + <div class="wrapper h-full flex flex-col items-center"> + <div class="title-wrapper w-full flex justify-between items-center mb-5"> + <div class="title text-xl font-semibold ">绛旈鍗�</div> + <AnswerTag></AnswerTag> + </div> + + <div class="progress-wrapper w-full"> + <AnswerProgress></AnswerProgress> + </div> + + <div class="sheet-wrapper w-full grow relative my-5"> + <div class="sheet-content absolute top-0 bottom-0 w-full"> + <AnswerSheet></AnswerSheet> + </div> + </div> + + <div class="submit-wrapper"> + <el-button type="primary" class="submit-button">鎻愪氦璇曞嵎</el-button> + </div> + + </div> + </div> + + <!-- 绛旈鍐呭鍖� --> + <div class="answer-wrapper answer-right grow shadow-xl p-4"> + <div class="wrapper h-full flex flex-col"> + <div class="title-wrapper w-full flex mb-5"> + <div class="title text-xl font-semibold ">鍗曢�夐 (3鍒�)</div> + </div> + + <div class="main-wrapper w-full grow relative my-5"> + <div class="main-content absolute top-0 bottom-0 w-full"> + <Transition appear name="fade-transform" mode="out-in"> + <component :is="typeComponent[currentType]" :key="questionIndex"></component> + </Transition> + </div> + </div> + + <div class="tool-wrapper flex justify-end"> + <div class="button-container flex items-center"> + <div class="button-item"> + <el-button class="tool-button" @click="prevQuestion">涓婁竴棰�</el-button> + </div> + <div class="button-item"> + <el-button class="tool-button" type="primary" @click="nextQuestion">涓嬩竴棰�</el-button> + </div> + </div> + </div> + </div> + </div> </div> </div> - <div class="exam-main flex-1"></div> </div> </div> </template> <script setup> +import {ref} from 'vue'; +import AnswerTag from './components/answer-tag/index.vue'; +import AnswerProgress from './components/answer-progress/index.vue'; +import AnswerSheet from './components/answer-sheet/index.vue'; +import AnswerSingle from './components/answer-main/answer-single/index.vue'; +import AnswerMultiple from './components/answer-main/answer-multiple/index.vue'; +import AnswerTime from './components/answer-time/index.vue'; +const typeComponent = { + 1: AnswerSingle, + 2: AnswerMultiple, +} + +const currentType = ref(1); +const questionIndex = ref(0); + +const prevQuestion = () => { + questionIndex.value--; +} + +const nextQuestion = () => { + questionIndex.value++; +} </script> <style lang="scss" scoped> +@media (min-width: 1836px) { + .container { + max-width: 1724px; + } +} + .top-bg { width: 130%; height: 200px; @@ -26,8 +112,36 @@ left: 50%; transform: translateX(-50%); } + .exam-content { width: 100%; height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 2; +} + +.exam-header { + width: 100%; +} + +.answer-wrapper { + background-color: #fff; + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} + +.answer-left { + width: 340px; +} + +.submit-button, +.tool-button { + width: 160px; + height: 40px; +} +.tool-button { + margin: 0 20px; } </style> \ No newline at end of file -- Gitblit v1.8.0