考试结果

This commit is contained in:
shijingjing
2023-02-02 12:00:35 +08:00
parent b9b77193e3
commit cee13c878e
3 changed files with 254 additions and 29 deletions

View File

@@ -24,19 +24,22 @@
<div class="card_bottom col_blue" @click="handleToTest()">参加考试</div>
</div>
</div>
<u-popup v-model="show" mode="bottom" border-radius="32">
<div class="send_box">
<div class="text">
<textarea
@blur="height = 0"
placeholder-style="color: #999;font-size: 16px;"
v-model="content"
:cursor-spacing="40"
placeholder="我来说两句..."
@keyboardheightchange="keyboard">
</textarea>
<u-popup v-model="showAuth" mode="bottom" border-radius="32">
<div class="auth_box">
<div class="auth_title">居民信息认证</div>
<div class="auth_form">
<div class="form_name">姓名</div>
<input class="form_value" type="text" placeholder="请输入姓名" v-model="value1"/>
<div class="form_name">身份证号</div>
<input class="form_value" type="idcard" placeholder="请输入18位身份证号" v-model="value2"/>
</div>
<div class="auth_btn">
<div class="cancel">取消</div>
<div class="submit">确定</div>
</div>
<div class="send_btn">发送</div>
</div>
</u-popup>
</div>
@@ -46,6 +49,7 @@
export default {
data() {
return {
showAuth: false,
keyword: '',
current: 1,
}
@@ -151,5 +155,59 @@ export default {
}
}
}
.auth_box {
padding: 32px;
box-sizing: border-box;
.auth_title {
font-weight: 600;
font-size: 34px;
color: #333333;
text-align: center;
}
.auth_form {
margin-top: 30px;
.form_name {
font-weight: 500;
font-size: 28px;
color: #333333;
margin-bottom: 16px;
}
input {
height: 96px;
background: #F4F5FA;
border-radius: 16px;
margin-bottom: 32px;
padding-left: 24px;
}
}
.auth_btn {
display: flex;
justify-content: space-between;
height: 100px;
padding: 10px 0;
box-sizing: border-box;
.cancel {
background: #F2F2F2;
color: #2D7DFF;
}
.submit {
background: #2D7DFF;
color: #FFF;
}
.cancel,
.submit {
width: 48%;
height: 80px;
line-height: 80px;
text-align: center;
border-radius: 16px;
}
}
}
}
</style>

View File

@@ -0,0 +1,139 @@
<template>
<div class="result">
<u-navbar title="考试结果" :background="backgroundNavbar"></u-navbar>
<div class="grade">100</div>
<div class="tips">
<div>考试分数</div>
<div>超过<span>99%</span>的人</div>
</div>
<div class="card_list">
<div class="pass">
<div>结果</div>
<div class="col_pass">通过</div>
</div>
<div class="time">
<div>用时</div>
<div class="col_333">1小时32分</div>
</div>
<div class="pass_num">
<div>对题数</div>
<div class="col_333">10</div>
</div>
<div class="nopass_num">
<div>对题数</div>
<div class="col_333">1</div>
</div>
</div>
<div class="btn" @click="back">返回</div>
</div>
</template>
<script>
export default {
customNavigation: true,
data() {
return {
backgroundNavbar: {
// background: "url('./img/navbar.png') no-repeat",
// backgroundSize: '100% 100%',
},
}
},
methods: {
},
onShow() {
}
}
</script>
<style lang="scss" scoped>
.result {
padding: 32px;
box-sizing: border-box;
.grade {
height: 112px;
font-size: 96px;
color: #2D7DFF;
line-height: 112px;
font-weight: 600;
padding-left: 16px;
box-sizing: border-box;
}
.tips {
display: flex;
justify-content: space-between;
font-size: 26px;
color: #999999;
padding-left: 16px;
box-sizing: border-box;
div {
& > span {
color: #2D7DFF;
}
}
}
.card_list {
margin-top: 48px;
display: flex;
flex-wrap: wrap;
.pass,
.time,
.pass_num,
.nopass_num {
width: 47%;
height: 172px;
background: #FFFFFF;
box-shadow: 0 0 8px 0 rgba(0,0,0,0.02);
border-radius: 16px;
padding: 24px;
box-sizing: border-box;
& > div:first-child {
font-weight: 400;
font-size: 26rpx;
color: #999999;
margin-bottom: 16px;
}
& > div:last-child {
font-weight: 500;
font-size: 50rpx;
}
.col_pass {
color: #3BBC37;
}
.col_333 {
color: #333333;
}
}
.pass,
.pass_num {
margin: 0 30px 32px 0;
}
}
.btn {
position: fixed;
bottom: 0;
left: 50%;
transform: translate(-50%, -50%);
width: 320px;
height: 88px;
line-height: 88px;
background: #2D7DFF;
border-radius: 44px;
text-align: center;
color: #FFFFFF;
}
}
</style>

View File

@@ -1,21 +1,24 @@
<template>
<div class="testForm">
<u-navbar title="法治学习" :background="backgroundNavbar"></u-navbar>
<div class="type">
<div class="type_left">单选题</div>
<div><span class="col_blue">{{ activeIndex + 1 }}</span>/{{questionList.length}}</div>
</div>
<div class="topic">
<div v-for="(item,index) in questionList" :key="index">
<div v-if="activeIndex === index">
<div>{{ item.subject }}</div>
<div>
<div @touchstart="touchStart" @touchend="touchEnd">
<div class="type">
<div class="type_left">单选题</div>
<div><span class="col_blue">{{ activeIndex + 1 }}</span>/{{questionList.length}}</div>
</div>
<div class="topic">
<div v-for="(item,index) in questionList" :key="index" >
<div v-if="activeIndex === index">
<div>{{ item.subject }}</div>
<div>
</div>
</div>
</div>
</div>
</div>
<div class="btn" @click="next" v-if="activeIndex < questionList.length - 1">下一题</div>
<!-- <div class="btn" @click="next" v-if="activeIndex < questionList.length - 1">下一题</div> -->
<div class="btn" @click="confirm">确定</div>
</div>
</template>
@@ -25,10 +28,10 @@ export default {
data() {
return {
backgroundNavbar: {
background: "url('./img/navbar.png') no-repeat",
backgroundSize: '100% 100%',
// background: "url('./img/navbar.png') no-repeat",
// backgroundSize: '100% 100%',
},
activeIndex: 0,
options: ['A','B','C','D','E','F','G','H','I','J','K','L','M'],
questionList: [
{
@@ -61,7 +64,11 @@ export default {
answer: "答案",
jiexi: '解析'
}
]
],
startX: 0, // 滑动开始x轴位置
moveX: 0, // 滑动的x轴距离
activeIndex: 0, // 当前第几题
newIndex: 0, // 滑动到第几题
}
},
methods: {
@@ -71,8 +78,29 @@ export default {
next() {
this.activeIndex ++;
},
touchStart() {},
touchEnd() {},
touchStart(e) {
this.startX = e.changedTouches[0].pageX
console.log('开始触摸:', this.startX);
},
touchEnd(e, index) { // 手指离开屏幕时触发
// 获取滑动距离
const moveX = e.changedTouches[0].pageX - this.startX
// 判断滑动方向
if (moveX < -100 && index < this.topic.length-1) {
// 【下一题】 判断大幅度左滑且不是最后一题
this.newIndex=this.newIndex+1
this.activeIndex= this.activeIndex+1
console.log('第'+this.index+'题');
}
else if (moveX > 100 && index!= 0) {
// 【上一题】 判断大幅度右滑且不是第一题
this.newIndex=this.newIndex-1
this.activeIndex=this.activeIndex-1
}
},
confirm() {
uni.navigateTo({url: './result'})
},
},
onReachBottom() {
this.current ++;