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 |  133 ++++++++++++++++++++++++++++++++------------
 1 files changed, 97 insertions(+), 36 deletions(-)

diff --git a/h5/pages/answer/answer.vue b/h5/pages/answer/answer.vue
index 68aa17e..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
@@ -56,8 +61,8 @@
                   (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
@@ -78,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"
@@ -95,8 +104,10 @@
                 status != '0'
               "
             >
-              <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
-              <text class="success">鍥炵瓟姝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">
@@ -111,9 +122,7 @@
                 src="@/static/checkbo1x_sel@2x.png"
                 v-if="
                   (line.checked && status != '2') ||
-                  (item.selAnswer === item.answer &&
-                    line.checked &&
-                    status != '2')
+                  (item.selAnswer === item.answer && line.checked)
                 "
               />
               <image
@@ -131,12 +140,10 @@
               <text
                 v-if="
                   (line.checked && status != '2') ||
-                  (item.selAnswer === item.answer &&
-                    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
@@ -162,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"
@@ -173,8 +183,10 @@
                 status != '0'
               "
             >
-              <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
-              <text class="success">鍥炵瓟姝g‘</text>
+              <view class="line">
+                <image src="@/static/ic_success@2.png" />
+                <text class="success">鍥炵瓟姝g‘</text>
+              </view>
             </view>
           </template>
         </view>
@@ -182,6 +194,7 @@
         <view
           v-if="status == '0'"
           class="box_list_answer_btn"
+          :class="{ disable: !answerIng }"
           @click="onSubmit()"
           >鎻愪氦</view
         >
@@ -208,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> -->
@@ -218,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()
@@ -280,7 +304,6 @@
               item.status = '0'
               item.selAnswer = null
             })
-            console.log(res.data)
             this.list = res.data
           }
           // res.param.problemsDOList.forEach(item => {
@@ -292,6 +315,7 @@
     },
     // 鍗曢�夐�夋嫨涓鐩�
     select(line, i) {
+      if (this.status != '0') return
       this.list.forEach((item, index) => {
         if (index === i) {
           item.selAnswer = line.code
@@ -300,6 +324,7 @@
       // this.problemIndex = index
     },
     changeBox(index, jeck) {
+      if (this.status != '0') return
       this.list.forEach((item, i) => {
         if (index === i) {
           item.options.forEach((item2, j) => {
@@ -339,6 +364,7 @@
     },
     // 涓嬩竴棰�
     onSubmit() {
+      if (!this.answerIng) return
       const { list } = this
       // 楠岃瘉鎵�鏈夐鐩兘鏈夐�夐」
       let count = 0
@@ -358,6 +384,8 @@
       list.forEach(item => {
         if (item.selAnswer !== item.answer) {
           flag++
+        } else {
+          this.score += item.score
         }
       })
       if (flag > 0) {
@@ -372,12 +400,21 @@
     },
     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}`
+        })
       })
+
     }
   }
 }
@@ -387,7 +424,7 @@
 .box {
   width: 100%;
   height: 100vh;
-  background: #025eef;
+  background: $uni-color-primary;
   .box_bgimage {
     width: 100%;
     padding: 0 40rpx;
@@ -439,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;
@@ -453,8 +498,22 @@
           margin-left: 16rpx;
         }
         .success {
-          color: #275de6;
+          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 {
@@ -486,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