From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化
---
h5/pages/answer/answer.vue | 160 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 119 insertions(+), 41 deletions(-)
diff --git a/h5/pages/answer/answer.vue b/h5/pages/answer/answer.vue
index 318242c..92d91bb 100644
--- a/h5/pages/answer/answer.vue
+++ b/h5/pages/answer/answer.vue
@@ -6,11 +6,16 @@
</view>
<view class="box_list">
<view class="box_list_answer" v-if="list && list.length > 0">
+ <view v-if="status == 1 || status == 2" class="score_static">
+ <text class="name">鏈寰楀垎锛�</text>
+ <text class="num" :class="{ warry: status == 2 }">{{ score }}鍒�</text>
+ </view>
<!-- 鍗曢��/鍒ゆ柇 -->
<view v-for="(item, index) in list" :key="index" class="list_item">
<view class="box_list_answer_name">
- {{ index + 1 }}銆亄{ item.title
- }}<text style="color: #ed4545">*</text>
+ <text>{{ index + 1 }}銆亄{ item.title }}</text>
+ <text v-if="item.score"> ({{ item.score }}鍒�)</text>
+ <text style="color: #ed4545">*</text>
</view>
<template v-if="item.type == 1 || item.type == 0">
<view
@@ -29,7 +34,9 @@
(item.selAnswer &&
item.answer === item.selAnswer &&
item.selAnswer == line.code) ||
- item.selAnswer == line.code
+ (item.selAnswer == line.code && status != '2') ||
+ (item.answer === item.selAnswer &&
+ item.selAnswer == line.code)
"
/>
<image
@@ -50,10 +57,12 @@
(item.selAnswer &&
item.answer === item.selAnswer &&
item.selAnswer == line.code) ||
- item.selAnswer == line.code
+ (item.selAnswer == line.code && status != '2') ||
+ (item.answer === item.selAnswer &&
+ item.selAnswer == line.code)
"
- style="color: rgba(2, 94, 239, 1)"
- ><text class="mr24" style="color: rgba(2, 94, 239, 1)">{{
+ style="color: rgba(77, 153, 168, 1)"
+ ><text class="mr24" style="color: rgba(77, 153, 168, 1)">{{
line.code
}}</text>
{{ line.value }}</text
@@ -61,6 +70,7 @@
<text
v-if="
item.selAnswer &&
+ item.selAnswer == line.code &&
item.answer !== item.selAnswer &&
status == '2'
"
@@ -73,14 +83,18 @@
</view>
<view
class="box_list_answer_tips"
+ style="margin-bottom: 0rpx"
v-if="
item.selAnswer &&
item.answer !== item.selAnswer &&
status != '0'
"
>
- <image src="@/static/ic_wrong@2x.png" />
- <text>鍥炵瓟閿欒</text>
+ <view class="line">
+ <image src="@/static/ic_wrong@2x.png" />
+ <text>鍥炵瓟閿欒</text>
+ </view>
+ <view class="line">姝g‘绛旀锛歿{ item.answer }}</view>
</view>
<view
class="box_list_answer_tips"
@@ -90,8 +104,10 @@
status != '0'
"
>
- <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
- <text>鍥炵瓟姝g‘</text>
+ <view class="line">
+ <image src="@/static/ic_success@2.png" />
+ <text class="success">鍥炵瓟姝g‘</text>
+ </view>
</view>
</template>
<template v-if="item.type == 2">
@@ -104,7 +120,10 @@
<image src="@/static/checkbox@2x.png" v-if="!line.checked" />
<image
src="@/static/checkbo1x_sel@2x.png"
- v-if="line.checked || (item.selAnswer === item.answer && line.checked)"
+ v-if="
+ (line.checked && status != '2') ||
+ (item.selAnswer === item.answer && line.checked)
+ "
/>
<image
src="@/static/checkbox_wrong@2x.png"
@@ -114,27 +133,25 @@
status == '2'
"
/>
- <text v-if="!item.selAnswer || item.selAnswer !== line.code"
+ <text v-if="!line.checked"
><text class="mr24">{{ line.code }}</text>
{{ line.value }}</text
>
<text
v-if="
- (item.selAnswer &&
- item.answer === item.selAnswer &&
- item.selAnswer == line.code) ||
- item.selAnswer == line.code
+ (line.checked && status != '2') ||
+ (item.selAnswer === item.answer && line.checked)
"
- style="color: rgba(2, 94, 239, 1)"
- ><text class="mr24" style="color: rgba(2, 94, 239, 1)">{{
+ style="color: rgba(77, 153, 168, 1)"
+ ><text class="mr24" style="color: rgba(77, 153, 168, 1)">{{
line.code
}}</text>
{{ line.value }}</text
>
<text
v-if="
- item.selAnswer &&
- item.answer !== item.selAnswer &&
+ line.checked &&
+ item.selAnswer !== item.answer &&
status == '2'
"
style="color: rgba(237, 69, 69, 1)"
@@ -152,8 +169,11 @@
status != '0'
"
>
- <image src="@/static/ic_wrong@2x.png" />
- <text>鍥炵瓟閿欒</text>
+ <view class="line">
+ <image src="@/static/ic_wrong@2x.png" />
+ <text>鍥炵瓟閿欒</text>
+ </view>
+ <view class="line">姝g‘绛旀锛歿{ item.answer }}</view>
</view>
<view
class="box_list_answer_tips"
@@ -163,8 +183,10 @@
status != '0'
"
>
- <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
- <text>鍥炵瓟姝g‘</text>
+ <view class="line">
+ <image src="@/static/ic_success@2.png" />
+ <text class="success">鍥炵瓟姝g‘</text>
+ </view>
</view>
</template>
</view>
@@ -172,6 +194,7 @@
<view
v-if="status == '0'"
class="box_list_answer_btn"
+ :class="{ disable: !answerIng }"
@click="onSubmit()"
>鎻愪氦</view
>
@@ -182,7 +205,7 @@
v-if="status == '2'"
style="background-color: #db534c"
class="box_list_answer_btn"
- @click="status = '0'"
+ @click="handleAgain"
>绛旈澶辫触锛屽啀鏉ヤ竴娆�</view
>
<!-- 澶氶�� -->
@@ -198,7 +221,7 @@
<text style="color: rgba(237, 69, 69, 1)"
v-if="success && multiple.toString().indexOf(item.code) !== -1">{{item.code}} {{item.value}}</text>
<text v-else-if="!multiple || multiple.toString().indexOf(item.code) === -1">{{item.code}} {{item.value}}</text>
- <text style="color: rgba(2, 94, 239, 1)"
+ <text style="color: rgba(77, 153, 168, 1)"
v-else-if="multiple.toString().indexOf(item.code) !== -1">{{item.code}} {{item.value}}</text>
</view>
</template> -->
@@ -208,21 +231,32 @@
</template>
<script>
-import { getProblemsVO, getSystemDictData } from '@/api'
+import { getProblemsVO, getSystemDictData, saveProblemsVO } from '@/api'
export default {
name: 'answer',
data() {
return {
list: [],
- bg: require("@/static/banner_dati.jpg"),
+ bg: require("@/static/banner_dati.png"),
title: '',
content: '',
- status: '0'
+ status: '0',
+ score: 0
}
},
-
+ computed: {
+ answerIng() {
+ let count = 0
+ this.list.forEach(item => {
+ if (item.selAnswer || item.selAnswer == 0) {
+ count++
+ }
+ })
+ return count === this.list.length
+ }
+ },
onLoad() {
this.getProblems()
this.getInfo()
@@ -270,7 +304,6 @@
item.status = '0'
item.selAnswer = null
})
- console.log(res.data)
this.list = res.data
}
// res.param.problemsDOList.forEach(item => {
@@ -282,6 +315,7 @@
},
// 鍗曢�夐�夋嫨涓鐩�
select(line, i) {
+ if (this.status != '0') return
this.list.forEach((item, index) => {
if (index === i) {
item.selAnswer = line.code
@@ -290,10 +324,11 @@
// this.problemIndex = index
},
changeBox(index, jeck) {
+ if (this.status != '0') return
this.list.forEach((item, i) => {
if (index === i) {
item.options.forEach((item2, j) => {
- if(j === jeck){
+ if (j === jeck) {
item2.checked = !item2.checked
}
})
@@ -329,6 +364,7 @@
},
// 涓嬩竴棰�
onSubmit() {
+ if (!this.answerIng) return
const { list } = this
// 楠岃瘉鎵�鏈夐鐩兘鏈夐�夐」
let count = 0
@@ -348,6 +384,8 @@
list.forEach(item => {
if (item.selAnswer !== item.answer) {
flag++
+ } else {
+ this.score += item.score
}
})
if (flag > 0) {
@@ -360,10 +398,23 @@
this.status = '1'
}
},
+ handleAgain() {
+ this.status = '0'
+ this.score = 0
+ this.getProblems()
+ },
next() {
- uni.navigateTo({
- url: `/pages/userinfo/userinfo`
+ saveProblemsVO({
+ openId: this.$store.state.openId,
+ useType: '1',
+ content: ''
+ }).then(res => {
+ this.score = 0
+ uni.navigateTo({
+ url: `/pages/userinfo/userinfo?answerId=${res.data}`
+ })
})
+
}
}
}
@@ -373,7 +424,7 @@
.box {
width: 100%;
height: 100vh;
- background: #025eef;
+ background: $uni-color-primary;
.box_bgimage {
width: 100%;
padding: 0 40rpx;
@@ -425,9 +476,17 @@
box-sizing: border-box;
background: #f7f7f7;
border-radius: 8rpx;
- display: flex;
- align-items: center;
margin-bottom: 24rpx;
+ .line {
+ display: flex;
+ align-items: center;
+ font-size: 28rpx;
+ color: #333333;
+ margin-bottom: 20rpx;
+ &:nth-last-child(1){
+ margin-bottom: 0;
+ }
+ }
image {
width: 28rpx;
height: 28rpx;
@@ -438,6 +497,23 @@
color: #e42d2d;
margin-left: 16rpx;
}
+ .success {
+ color: $uni-color-primary;
+ }
+ }
+ }
+ .score_static {
+ display: flex;
+ font-size: 32rpx;
+ margin-bottom: 40rpx;
+ .name {
+ font-weight: 600;
+ }
+ .num {
+ color: $uni-color-primary;
+ }
+ .warry {
+ color: #ed4545;
}
}
.list_item {
@@ -469,19 +545,21 @@
}
.box_list_answer_btn {
position: fixed;
- bottom: 140rpx;
+ bottom: 120rpx;
left: 60rpx;
width: 630rpx;
height: 88rpx;
line-height: 88rpx;
text-align: center;
- background: #025eef;
- box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(2, 94, 239, 0.3);
+ background: $uni-color-primary;
+ box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(77, 153, 168, 0.3);
border-radius: 44rpx;
font-size: 30rpx;
- font-weight: 500;
color: #ffffff;
}
+ .disable {
+ background-color: #cccccc;
+ }
}
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3