From 700eb98db0151940cc91abcc5b3149ce23ec42de Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 08 八月 2024 08:55:49 +0800
Subject: [PATCH] 提交

---
 pages/tabBar/wearhouse/questions.vue |   67 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 7 deletions(-)

diff --git a/pages/tabBar/wearhouse/questions.vue b/pages/tabBar/wearhouse/questions.vue
index 96a200d..c2be645 100644
--- a/pages/tabBar/wearhouse/questions.vue
+++ b/pages/tabBar/wearhouse/questions.vue
@@ -22,7 +22,7 @@
       </view>
       <view class="questions">
         <view class="title">
-          <span>【{{currentQ.questionType == 1?'单选题':currentQ.questionType == 2?'多选题':'判断题'}}】</span>
+          <span>【{{currentQ.questionType == 1?'单选题':currentQ.questionType == 2?'多选题':currentQ.questionType == 3?'判断题':'简答题'}}】</span>
           {{currentQ.title}}
         </view>
         <view class="content">
@@ -32,7 +32,6 @@
               placement="column"
               iconPlacement="right"
               @change="checkboxChange"
-              :disabled="type==3?true:false"
               class="myRadio"
           >
             <u-checkbox
@@ -52,7 +51,7 @@
               placement="column"
               iconPlacement="right"
               @change="checkboxChange"
-              :disabled="type==3?true:false"
+              disabled
               class="myRadio"
           >
             <u-checkbox
@@ -66,7 +65,7 @@
             </u-checkbox>
           </u-checkbox-group>
 
-          <u-radio-group v-model="currentA" class="myRadio" iconPlacement="right" placement="column" @change="groupChange" v-if="(type == 1 || type == 2)&&(currentQ.questionType==1||currentQ.questionType==3)" :disabled="type==3?true:false">
+          <u-radio-group v-model="currentA" class="myRadio" iconPlacement="right" placement="column" @change="groupChange" v-if="(type == 1 || type == 2)&&(currentQ.questionType==1||currentQ.questionType==3)">
             <u-radio
                 :customStyle="{marginBottom: '15px'}"
                 v-for="(item, index) in currentQ.content.items"
@@ -80,7 +79,7 @@
             </u-radio>
           </u-radio-group>
 
-          <u-radio-group v-model="currentA" class="myRadio" iconPlacement="right" placement="column" @change="groupChange" v-if="type == 3 && (currentQ.questionType==1||currentQ.questionType==3)" :disabled="type==3?true:false">
+          <u-radio-group v-model="currentA" class="myRadio" iconPlacement="right" placement="column" @change="groupChange" v-if="type == 3 && (currentQ.questionType==1||currentQ.questionType==3)" disabled>
             <u-radio
                 :customStyle="{marginBottom: '15px'}"
                 v-for="(item, index) in currentQ.content.items"
@@ -93,6 +92,9 @@
             >
             </u-radio>
           </u-radio-group>
+
+          <u--textarea v-model="currentA" v-if="(type == 1 || type == 2)&&(currentQ.questionType==4)" style="margin-bottom: 15px" :maxlength="-1" placeholder="请输入答案" autoHeight @focus="openAnswer"></u--textarea>
+          <u--textarea v-model="currentA" v-if="type == 3&&(currentQ.questionType==4)" :class="currentQ.answer == currentA?'pickedText':'wrongText'" style="margin-bottom: 15px" :maxlength="-1" placeholder="请输入答案" autoHeight disabled></u--textarea>
 
           <u-button style="width: 80%;margin: 5px auto 15px"
                     v-if="currentQ.questionType==2 && currentB.length>0 && type !== 3"
@@ -127,6 +129,12 @@
         </view>
       </view>
     </u-popup>
+    <u-popup :show="showInput" :round="40" mode="bottom" @close="closeInput" @open="openInput">
+      <view class="panelTwo">
+        <u--textarea v-model="currentA" :maxlength="-1" placeholder="请输入答案"></u--textarea>
+        <u-button shape="circle" type="primary" style="width: 80%;margin-top: 20px" text="确认答案" @click="confirmAnswer(1)"></u-button>
+      </view>
+    </u-popup>
 	</view>
 </template>
 
@@ -149,7 +157,8 @@
       currentA: '',
       currentB: [],
       type: '',
-      showPanel: false
+      showPanel: false,
+      showInput: false
 		}
 	},
   onReady(){
@@ -202,7 +211,10 @@
         uni.$u.toast(res.message)
       }
     },
-
+    openAnswer(){
+      const t = this
+      t.showInput = true
+    },
     async toQuestion(item,index){
       this.curTotalIndex = index
       const curIdList = this.idList.slice(this.curTotalIndex,this.curTotalIndex + 20)
@@ -219,6 +231,12 @@
     close() {
       this.showPanel = false
       // console.log('close');
+    },
+    openInput() {
+      // console.log('open');
+    },
+    closeInput(){
+      this.showInput = false
     },
     async getQuestionIds(id){
       const res = await getQuestionIdList({bankId: id})
@@ -301,6 +319,10 @@
     },
 
     confirmAnswer(type){
+      if(type == 1 && this.currentA == ''){
+        uni.$u.toast('答案为空,请先作答')
+        return
+      }
       const data = {
         answer: this.currentQ.questionType==2?this.currentB.join(','):this.currentA,
         bankId: this.bank.id,
@@ -312,6 +334,9 @@
           this.currentQ.exExerciseAnswer.answer = res.data.answer
           if(type == 2){
             this.nextQ()
+          }
+          if(this.showInput == true){
+            this.showInput = false
           }
           // uni.$u.toast('答案已提交')
         }else{
@@ -504,6 +529,18 @@
     color: #ed6464;
   }
 }
+
+.panelTwo{
+  height: 60vh;
+  background: #f2f2f2;
+  padding: 15px;
+  box-sizing: border-box;
+
+  /deep/ .u-textarea__field{
+    height: calc(60vh - 110px) !important;
+  }
+}
+
 .m-p-15{
   width: 100%;
   padding: 0 15px;
@@ -549,15 +586,31 @@
     .content{
       padding-left: 10rpx;
 
+      .pickedText{
+        border: 1.5px solid #2979ff !important;
+      }
+      .wrongText{
+        border: 1.5px solid #ed6464 !important;
+      }
+
+      /deep/ .u-textarea__field{
+        min-height: 80px;
+      }
+
       .answers{
         background: #ecf5ff;
         padding: 10px;
+
         &>view{
           margin-bottom: 5px;
         }
 
         span{
+          width: 100%;
+          display: block;
+          white-space: pre-wrap;
           font-weight: bolder;
+          word-break: break-word;
         }
         .right{
           color: #3c9cff

--
Gitblit v1.9.2