SanHQin 9 months ago
parent
commit
9fea359093

+ 33 - 6
src/components/classRoomHelper/component/languageAssistant.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="languageAssistant">
+  <div class="languageAssistant" v-loading="loading">
     <div class="la_coco">
       <el-image
         style="width: 105px; height: 105px"
@@ -192,6 +192,7 @@ export default {
       talkTextList: [],
       openMessage: true,
 			canTalk:true,
+			loading:false,
     };
   },
   computed: {
@@ -376,8 +377,10 @@ export default {
           }
         };
       } catch (error) {
-				console.log(error)
-        this.recordStart();
+				setTimeout(()=>{
+					this.recordStart()
+				},1000)
+        // this.recordStart();
       }
     },
     stopRecord() {
@@ -606,9 +609,33 @@ export default {
 		}
   },
   mounted() {
-    this.$nextTick(() => {
-      this.recordStart();
-    });
+		this.loading = true;
+		try {
+			const iiframe = this.$refs.iiframe;
+		if(iiframe.attachEvent){
+			iiframe.attachEvent('onload',()=>{
+				
+				this.$nextTick(()=>{
+					console.log("开启")
+					this.loading = false;
+					this.recordStart();
+				})
+			})
+		}else{
+			iiframe.onload = ()=>{
+				this.$nextTick(()=>{
+					this.loading = false;
+					console.log("开启")
+					this.recordStart();
+				})
+			}
+		}
+		} catch (error) {
+			console.log('报错👇')
+			console.log(error)
+			this.loading = false;
+			this.$message.error("开启语音助手失败")
+		}
   }
 };
 </script>

+ 242 - 125
src/components/classRoomHelper/component/taskArea.vue

@@ -32,7 +32,7 @@
       <div class="tt_item">
         <div class="tt_i_title">
           <span>任务状态</span>
-          <span v-if="isWorkStudent!==0">学生活动中...</span>
+          <span v-if="isWorkStudent !== 0">学生活动中...</span>
         </div>
         <div class="tt_i_box">
           <div class="tt_i_b_item">
@@ -80,25 +80,30 @@
         <div class="aba_t_left">
           <img :src="require('../../../assets/icon/course/practice.svg')" />
           <span>巩固练习</span>
-					<el-tooltip class="item" effect="light" content="刷新" placement="top"   v-if="showCard == 1">
-						<svg
-          
-						@click.stop="selectDefaultTaskList"
-            width="16"
-            height="16"
-            viewBox="0 0 16 16"
-            fill="none"
-            xmlns="http://www.w3.org/2000/svg"
+          <el-tooltip
+            class="item"
+            effect="light"
+            content="刷新"
+            placement="top"
+            v-if="showCard == 1"
           >
-            <path
-              fill-rule="evenodd"
-              clip-rule="evenodd"
-              d="M2.07324 11.2394L3.48974 8.91992L3.87418 9.79981C4.56904 11.3902 6.15545 12.5 7.99996 12.5C10.4852 12.5 12.5 10.4853 12.5 8L13.5 8C13.5 11.0376 11.0375 13.5 7.99996 13.5C6.06914 13.5 4.3715 12.5051 3.39039 11.0013L2.92668 11.7606L2.07324 11.2394ZM7.99996 3.5C5.51468 3.5 3.49996 5.51472 3.49996 8L2.49996 8C2.49996 4.96243 4.9624 2.5 7.99996 2.5C9.93079 2.5 11.6284 3.49489 12.6095 4.99871L13.0732 4.2394L13.9267 4.7606L12.5102 7.08008L12.1257 6.20019C11.4309 4.60983 9.84447 3.5 7.99996 3.5Z"
-              fill="black"
-              fill-opacity="0.6"
-            />
-          </svg>
-    </el-tooltip>
+            <svg
+              @click.stop="selectDefaultTaskList"
+              width="16"
+              height="16"
+              viewBox="0 0 16 16"
+              fill="none"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                fill-rule="evenodd"
+                clip-rule="evenodd"
+                d="M2.07324 11.2394L3.48974 8.91992L3.87418 9.79981C4.56904 11.3902 6.15545 12.5 7.99996 12.5C10.4852 12.5 12.5 10.4853 12.5 8L13.5 8C13.5 11.0376 11.0375 13.5 7.99996 13.5C6.06914 13.5 4.3715 12.5051 3.39039 11.0013L2.92668 11.7606L2.07324 11.2394ZM7.99996 3.5C5.51468 3.5 3.49996 5.51472 3.49996 8L2.49996 8C2.49996 4.96243 4.9624 2.5 7.99996 2.5C9.93079 2.5 11.6284 3.49489 12.6095 4.99871L13.0732 4.2394L13.9267 4.7606L12.5102 7.08008L12.1257 6.20019C11.4309 4.60983 9.84447 3.5 7.99996 3.5Z"
+                fill="black"
+                fill-opacity="0.6"
+              />
+            </svg>
+          </el-tooltip>
         </div>
         <div class="aba_t_right" v-if="showCard == 1">
           <div>
@@ -112,12 +117,20 @@
         <div class="aa_ab_noTask" v-if="showCard == 0">
           <img :src="require('../../../assets/icon/course/aiLogo.png')" />
           <span>当前课堂未添加练习题</span>
-          <div class="aa_ab_nt_btn" @click.stop="getTopic()" v-show="ttype==1">一键出题</div>
-          <div v-show="
+          <div
+            class="aa_ab_nt_btn"
+            @click.stop="getTopic()"
+            v-show="ttype == 1"
+          >
+            一键出题
+          </div>
+          <div
+            v-show="
               this.courseDetail.userid == userid ||
                 this.courseDetail.juri.indexOf(userid) != -1
-            ">
-            或前往“<span @click.stop="goSetTopic()"  >课堂管理</span
+            "
+          >
+            或前往“<span @click.stop="goSetTopic()">课堂管理</span
             >”编辑工具,自主添加题目
           </div>
         </div>
@@ -169,10 +182,10 @@
                 >{{ chooseList[index] }}、<span>{{ item }}</span></span
               >
             </div> -->
-						<div
+            <div
               :class="[
                 'aa_ab_t_cl_item',
-                showBottomCard==2
+                showBottomCard == 2
                   ? checkAnswer(
                       topicList[showTopicIndex].answer,
                       topicList[showTopicIndex].answer2
@@ -185,12 +198,14 @@
                     ? ''
                     : ''
                   : 'aa_ab_t_cl_itemActive',
-									
+
                 typeof topicList[showTopicIndex].answer != 'number'
-                  ? topicList[showTopicIndex].answer2.includes(index) && showBottomCard!=2
+                  ? topicList[showTopicIndex].answer2.includes(index) &&
+                    showBottomCard != 2
                     ? 'aa_ab_t_cl_itemChoice'
                     : ''
-                  : topicList[showTopicIndex].answer2 === index && showBottomCard!=2
+                  : topicList[showTopicIndex].answer2 === index &&
+                    showBottomCard != 2
                   ? 'aa_ab_t_cl_itemChoice'
                   : ''
               ]"
@@ -208,29 +223,27 @@
             </div>
           </div>
           <div class="aa_ab_t_btnArea">
-            <div
-              class="aa_ab_t_message"
-            >
+            <div class="aa_ab_t_message">
               <div class="aa_ab_t_m_answer">
-                正确答案:<span v-if="showBottomCard==2">{{
+                正确答案:<span v-if="showBottomCard == 2">{{
                   topicList[showTopicIndex].answer.length
                     ? topicList[showTopicIndex].answer
                         .map(i => chooseList[i])
                         .join("、")
                     : chooseList[topicList[showTopicIndex].answer]
                 }}</span>
-								<span v-else>-</span>
+                <span v-else>-</span>
               </div>
               <div class="aa_ab_t_m_btn">
                 <span
                   :class="[showBottomCard == 1 ? 'aa_ab_t_m_btnActive' : '']"
                   @click.stop="statistics()"
-									v-if="ttype!=2"
+                  v-if="ttype != 2"
                   >题目统计</span
                 >
                 <span
                   :class="[showBottomCard == 2 ? 'aa_ab_t_m_btnActive' : '']"
-									v-if="ttype!=2"
+                  v-if="ttype != 2"
                   @click.stop="analyze()"
                   >答案解析</span
                 >
@@ -251,17 +264,21 @@
                 </div>
 
                 <div class="sc_t_refresh" @click.sto="getStatistics()">
-								<el-tooltip class="item" effect="dark" content="刷新" placement="top">
-									<img :src="require('../../../assets/icon/course/refresh.svg')">
-    						</el-tooltip>
-								
-							</div>
+                  <el-tooltip
+                    class="item"
+                    effect="dark"
+                    content="刷新"
+                    placement="top"
+                  >
+                    <img
+                      :src="require('../../../assets/icon/course/refresh.svg')"
+                    />
+                  </el-tooltip>
+                </div>
               </div>
 
               <div class="sc_bottom">
-                <span v-if="statisticsData.total == 0"
-                  >当前暂无学生提交.</span
-                >
+                <span v-if="statisticsData.total == 0">当前暂无学生提交.</span>
                 <div
                   class="sc_b_item"
                   v-else
@@ -283,7 +300,6 @@
               v-if="showBottomCard == 2"
             >
               <span>{{ analyzeText }}</span>
-              
             </div>
             <!-- <div
               class="aa_ab_t_ba_submit"
@@ -293,27 +309,54 @@
               确认选择
             </div> -->
             <div class="aa_ab_t_ba_nextOrUp">
-
-							<div :class="['aa_ab_t_ba_nu_questions']" @click.stop="getAiTopic()" v-show="this.courseDetail.userid == userid && ttype!=2">
-								<span>智能出题</span>
-								<svg width="17" :style="showMenu?'transform: rotate(180deg);':''" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5404 10.3322C13.7239 10.1258 13.7053 9.80975 13.4989 9.62629L8.99892 5.62629C8.80948 5.4579 8.524 5.4579 8.33456 5.62629L3.83456 9.62629C3.62817 9.80975 3.60958 10.1258 3.79304 10.3322C3.9765 10.5386 4.29253 10.5572 4.49892 10.3737L8.66674 6.66897L12.8346 10.3737C13.041 10.5572 13.357 10.5386 13.5404 10.3322Z" fill="#3681FC"/>
-</svg>
-							<div class="aa_ab_t_ba_nu_q_menu" v-if="showMenu" v-click-outside="handleBlur">
+              <div
+                :class="['aa_ab_t_ba_nu_questions']"
+                @click.stop="getAiTopic()"
+                v-show="ttype == 1"
+              >
+                <span>智能出题</span>
+                <svg
+                  width="17"
+                  :style="showMenu ? 'transform: rotate(180deg);' : ''"
+                  height="16"
+                  viewBox="0 0 17 16"
+                  fill="none"
+                  xmlns="http://www.w3.org/2000/svg"
+                >
+                  <path
+                    fill-rule="evenodd"
+                    clip-rule="evenodd"
+                    d="M13.5404 10.3322C13.7239 10.1258 13.7053 9.80975 13.4989 9.62629L8.99892 5.62629C8.80948 5.4579 8.524 5.4579 8.33456 5.62629L3.83456 9.62629C3.62817 9.80975 3.60958 10.1258 3.79304 10.3322C3.9765 10.5386 4.29253 10.5572 4.49892 10.3737L8.66674 6.66897L12.8346 10.3737C13.041 10.5572 13.357 10.5386 13.5404 10.3322Z"
+                    fill="#3681FC"
+                  />
+                </svg>
+                <div
+                  class="aa_ab_t_ba_nu_q_menu"
+                  v-if="showMenu"
+                  v-click-outside="handleBlur"
+                >
                   <span @click.stop="getAiTopicByyType(0)">相似题</span>
                   <span @click.stop="getAiTopicByyType(1)">更难题</span>
                   <span @click.stop="getAiTopicByyType(2)">更易题</span>
                 </div>
-							</div>
+              </div>
 
               <div
-                :class="['aa_ab_t_ba_nu_up',showTopicIndex > 0?'':'aa_ab_t_ba_nu_disabled'] "
+                :class="[
+                  'aa_ab_t_ba_nu_up',
+                  showTopicIndex > 0 ? '' : 'aa_ab_t_ba_nu_disabled'
+                ]"
                 @click.stop="up()"
               >
                 上一题
               </div>
               <div
-                 :class="['aa_ab_t_ba_nu_next',showTopicIndex != topicList.length - 1 && topicList.length > 0?'':'aa_ab_t_ba_nu_disabled'] "
+                :class="[
+                  'aa_ab_t_ba_nu_next',
+                  showTopicIndex != topicList.length - 1 && topicList.length > 0
+                    ? ''
+                    : 'aa_ab_t_ba_nu_disabled'
+                ]"
                 @click.stop="next()"
               >
                 下一题
@@ -517,12 +560,11 @@ let converter = OpenCC.Converter({
   to: "cn"
 });
 
-
 // 自定义指令,用于处理点击外部区域的事件
 const clickOutside = {
   bind(el, binding) {
     // 在元素上绑定一个点击事件监听器
-    el.clickOutsideEvent = function (event) {
+    el.clickOutsideEvent = function(event) {
       // 检查点击事件是否发生在元素的内部
       if (!(el === event.target || el.contains(event.target))) {
         // 如果点击事件发生在元素的外部,则触发指令绑定的方法,将点击的event数据传过去
@@ -535,7 +577,7 @@ const clickOutside = {
   unbind(el) {
     // 在元素上解除点击事件监听器
     document.removeEventListener("click", el.clickOutsideEvent);
-  },
+  }
 };
 
 export default {
@@ -574,7 +616,7 @@ export default {
       userid: this.$route.query.userid,
       courseId: this.$route.query.courseId,
       ttype: this.$route.query.tType,
-			tcid2: this.$route.query.tcid,
+      tcid2: this.$route.query.tcid,
       loading: false,
       aiBoxLoading: false,
       chatLoading: false,
@@ -597,8 +639,34 @@ export default {
       showBottomCard: 0, // 0不显示  1:显示统计   2:显示解析
       analyzeText: "",
       statisticsLoading: false,
-			chooseList:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],
-     
+      chooseList: [
+        "A",
+        "B",
+        "C",
+        "D",
+        "E",
+        "F",
+        "G",
+        "H",
+        "I",
+        "J",
+        "K",
+        "L",
+        "M",
+        "N",
+        "O",
+        "P",
+        "Q",
+        "R",
+        "S",
+        "T",
+        "U",
+        "V",
+        "W",
+        "X",
+        "Y",
+        "Z"
+      ]
     };
   },
   computed: {
@@ -718,17 +786,21 @@ export default {
       let _data = JSON.parse(JSON.stringify(this.submitStudent));
       _data.forEach((i, index1) => {
         let _task = i.content[this.showTopicIndex];
-        
+
         if (index1 == 0) {
           _task.checkList.forEach((i2, index2) => {
-            _result.checkList.push({ index: this.chooseList[index2], accuracy: 0, num: 0 });
+            _result.checkList.push({
+              index: this.chooseList[index2],
+              accuracy: 0,
+              num: 0
+            });
           });
         }
 
-				// if (!_task || !_task.isSubmit) return; //未做此题
-				if (!_task) return; //未做此题
+        // if (!_task || !_task.isSubmit) return; //未做此题
+        if (!_task) return; //未做此题
 
-        if (typeof _task.answer!='number') {
+        if (typeof _task.answer != "number") {
           //多选题
           if (!_task.answer2.length) return; //未做此题
           _result.total += 1;
@@ -801,13 +873,13 @@ export default {
       };
     }
   },
-	directives: {
-    "click-outside": clickOutside, // 注册自定义指令
+  directives: {
+    "click-outside": clickOutside // 注册自定义指令
   },
   methods: {
-		handleBlur(){
-			this.showMenu = !this.showMenu;
-		},
+    handleBlur() {
+      this.showMenu = !this.showMenu;
+    },
     insertMemorandum(_html) {
       //保存行为操作
       //variable
@@ -816,7 +888,7 @@ export default {
       let params = [
         {
           uid: this.userid,
-          courseId: this.courseId+(this.tcid2?this.tcid2:''),
+          courseId: this.courseId + (this.tcid2 ? this.tcid2 : ""),
           content: _html
         }
       ];
@@ -1130,7 +1202,7 @@ ${_textData}
         session_name: uuidv4(),
         // uid: _uuid,
         file_ids: this.fileId,
-				model: "gpt-4o-2024-08-06",
+        model: "gpt-4o-2024-08-06"
       };
 
       this.ajax
@@ -1140,7 +1212,6 @@ ${_textData}
         .then(res => {
           let _data = res.data.FunctionResponse.message;
           _data = _data.replaceAll("```json", "").replaceAll("```", "");
-          console.log(_data);
           const match = _data.match(/\[\s*\{[\s\S]*?\}\s*\]/);
           let _result = JSON.parse(match[0]) || [];
           _result.forEach(i => {
@@ -1263,7 +1334,7 @@ ${_textData}
           _data.forEach(i => {
             i.content = JSON.parse(i.content);
             if (i.tType == 2) {
-            	_result.push(i);
+              _result.push(i);
             }
           });
           this.submitStudent = _result;
@@ -1278,7 +1349,9 @@ ${_textData}
       let _nowTask = this.topicList[this.showTopicIndex];
       let taskText = `${_nowTask.teststitle}\n选项:\n`;
       _nowTask.checkList.forEach((i, index) => {
-        taskText += `${this.chooseList[index]}:${i.src ? JSON.stringify(i) : i}\n`;
+        taskText += `${this.chooseList[index]}:${
+          i.src ? JSON.stringify(i) : i
+        }\n`;
       });
       taskText += `答案:${
         _nowTask.answer.length
@@ -1402,7 +1475,7 @@ ${taskText}
         session_name: uuidv4(),
         // uid: _uuid,
         file_ids: this.fileId,
-				model: "gpt-4o-2024-08-06",
+        model: "gpt-4o-2024-08-06"
       };
 
       this.ajax
@@ -1412,7 +1485,6 @@ ${taskText}
         .then(res => {
           let _data = res.data.FunctionResponse.message;
           _data = _data.replaceAll("```json", "").replaceAll("```", "");
-          console.log(_data);
           const match = _data.match(
             /{[^{}]*"teststitle"[\s\S]*?"end":\s*""[^{}]*}/
           );
@@ -1421,8 +1493,12 @@ ${taskText}
             (_result.uuid = uuidv4());
           delete _result.end;
           this.topicList.splice(this.showTopicIndex + 1, 0, _result);
-          this.saveTaskList(1);
-          this.next();
+          // this.saveTaskList(1);
+          this.saveTaskList(2).then(_ => {
+            this.saveTaskList().then(_ => {
+              this.next();
+            });
+          });
           this.aiBoxLoading = false;
         })
         .catch(e => {
@@ -1448,7 +1524,7 @@ ${taskText}
       }
     },
     chooseAnswer(answer) {
-			if(this.showBottomCard==2)return;
+      if (this.showBottomCard == 2) return;
       if (this.topicList[this.showTopicIndex].isSubmit)
         return this.$message.error("该题已经提交过了");
       if (this.topicList[this.showTopicIndex].answer.length) {
@@ -1469,7 +1545,9 @@ ${taskText}
     confirmSubmission() {
       //确认选择
       if (
-        (typeof this.topicList[this.showTopicIndex].answer2 =='number' && this.topicList[this.showTopicIndex].answer2==="") || this.topicList[this.showTopicIndex].answer2.length==0
+        (typeof this.topicList[this.showTopicIndex].answer2 == "number" &&
+          this.topicList[this.showTopicIndex].answer2 === "") ||
+        this.topicList[this.showTopicIndex].answer2.length == 0
       ) {
         return this.$message.error("请先答题");
       } else {
@@ -1586,6 +1664,48 @@ ${taskText}
         });
     },
     saveTaskList(type = 0) {
+      if (type == 2) {
+        this.aiBoxLoading = true;
+        return new Promise(resolve => {
+          let params = {
+            uid: this.courseDetail.userid,
+            cid: this.courseId
+          };
+          this.ajax
+            .get(
+              this.$store.state.api + "select_courseWorks_classRoomHelper",
+              params
+            )
+            .then(res => {
+              let _data = res.data[0];
+              if (_data.length) {
+                let _task = JSON.parse(_data[0].content);
+                _task.splice(
+                  this.showTopicIndex + 1,
+                  0,
+                  this.topicList[this.showTopicIndex + 1]
+                );
+                let params2 = [
+                  {
+                    uid: this.courseDetail.userid,
+                    cid: this.courseId,
+                    jsonData: JSON.stringify(_task)
+                  }
+                ];
+                this.ajax
+                  .post(
+                    this.$store.state.api + "updateCourseWorks_classRoomHelper",
+                    params2
+                  )
+                  .then(res => {
+                    resolve();
+                  });
+              } else {
+                resolve();
+              }
+            });
+        });
+      }
       return new Promise(resolve => {
         let params = [
           {
@@ -1687,7 +1807,7 @@ ${_choiceText}
           session_name: uuidv4(),
           // uid: _uuid,
           file_ids: this.fileId,
-					model: "gpt-4o-2024-08-06",
+          model: "gpt-4o-2024-08-06"
         };
 
         this.ajax
@@ -1695,11 +1815,9 @@ ${_choiceText}
           // .post("https://claude3.cocorobo.cn/chat", params)
           .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
           .then(res => {
-            console.log(res);
             let _data = res.data.FunctionResponse.message;
             _data = _data.replaceAll("```json", "").replaceAll("```", "");
             const match = _data.match(/{[^}]*"analyze"[^}]*}/);
-            console.log(match);
             let _result = JSON.parse(match[0]);
             resolve({ ..._result, uuid: data.uuid });
           })
@@ -2034,16 +2152,16 @@ ${_choiceText}
   border-radius: 3px;
   border: solid 1px #fff;
   margin-top: 15px;
-	display:flex;
-	flex-wrap:wrap;
+  display: flex;
+  flex-wrap: wrap;
 }
 
-.aa_ab_t_cl_item>span{
-	word-break: break-all;
+.aa_ab_t_cl_item > span {
+  word-break: break-all;
 }
 
-.aa_ab_t_cl_item img{
-	width:90%;
+.aa_ab_t_cl_item img {
+  width: 90%;
 }
 
 .aa_ab_t_cl_itemNo {
@@ -2362,38 +2480,37 @@ ${_choiceText}
   border-radius: 50px;
 }
 
-.aa_ab_t_ba_nextOrUp>.aa_ab_t_ba_nu_disabled{
-	background-color: #75aaff;
-	cursor: not-allowed;
+.aa_ab_t_ba_nextOrUp > .aa_ab_t_ba_nu_disabled {
+  background-color: #75aaff;
+  cursor: not-allowed;
 }
 
-.aa_ab_t_ba_nu_up{
-	margin-right:10px;
+.aa_ab_t_ba_nu_up {
+  margin-right: 10px;
 }
 
-.aa_ab_t_ba_nu_questions{
-	margin-right: 20px;
-	background-color: #fff !important;
-	color: black !important;
-	position: relative;
-	cursor: pointer;
-	box-sizing: border-box;
-	border: solid 1px #3681FC;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	
+.aa_ab_t_ba_nu_questions {
+  margin-right: 20px;
+  background-color: #fff !important;
+  color: black !important;
+  position: relative;
+  cursor: pointer;
+  box-sizing: border-box;
+  border: solid 1px #3681fc;
+  display: flex;
+  justify-content: center;
+  align-items: center;
 }
 
-.aa_ab_t_ba_nu_questions>svg{
-	width: 20px;
-	height: 20px;
-	transition: .3s;
-	/* margin-left: 5px; */
+.aa_ab_t_ba_nu_questions > svg {
+  width: 20px;
+  height: 20px;
+  transition: 0.3s;
+  /* margin-left: 5px; */
 }
 
-.aa_ab_t_ba_nu_q_menu{
-	width: auto;
+.aa_ab_t_ba_nu_q_menu {
+  width: auto;
   height: auto;
   display: flex;
   align-items: center;
@@ -2402,30 +2519,30 @@ ${_choiceText}
   bottom: calc(100% + 5px);
   right: 0;
   flex-direction: column;
-	background-color: #fff;
-	padding: 5px 10px;
-	border-radius: 5px;
-	box-shadow: 0 0 5px #ccc
+  background-color: #fff;
+  padding: 5px 10px;
+  border-radius: 5px;
+  box-shadow: 0 0 5px #ccc;
 }
 .aa_ab_t_ba_nu_q_menu > span {
   width: auto;
-	height: auto;
-	padding: 8px;
+  height: auto;
+  padding: 8px;
   background-color: #fff;
   border-radius: 6px;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
-	margin-bottom: 5px;
+  margin-bottom: 5px;
 }
 
 .aa_ab_t_ba_nu_q_menu > span:hover {
-  background-color: #F3F7FD;
+  background-color: #f3f7fd;
 }
 
-.aa_ab_t_ba_nu_next{
-	margin-left:10px;
+.aa_ab_t_ba_nu_next {
+  margin-left: 10px;
 }
 
 .aa_ab_t_message {
@@ -2453,7 +2570,7 @@ ${_choiceText}
 .aa_ab_t_m_btnActive {
   font-weight: bold;
   color: #0061ff !important;
-	transform: scale(1.1,1.1);
+  transform: scale(1.1, 1.1);
 }
 
 .aa_ab_t_m_answer {