From cf4bbfabdd5da60ac78cc43a4febbb7e7d559f92 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期五, 22 十一月 2024 11:11:40 +0800
Subject: [PATCH] 公式输入框样式

---
 src/views/examination/index.vue |   90 ++++++++++++++++++++++----------------------
 1 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/src/views/examination/index.vue b/src/views/examination/index.vue
index 573ab21..41dfcc6 100644
--- a/src/views/examination/index.vue
+++ b/src/views/examination/index.vue
@@ -85,6 +85,7 @@
               :cardList="examination.cardList"
               @setCollect="setCollect"
               @onChangeRadio="onChangeRadio"
+              @onChangeInput="onChangeInput"
             />
           </div>
         </li>
@@ -190,7 +191,7 @@
     getErrorList()
   } else if (props.type == 'collectQuestion') {
     examination.submitStatus = true
-    await getcollectId() // 鑾峰彇鏀惰棌棰樼洰
+    await getcollectId() // 鑾峰彇鏀惰棌棰樼洰id
     // 鏀惰棌澶�
   } else if (props.type == 'errorQuestion') {
     examination.submitStatus = true
@@ -210,7 +211,7 @@
       examination.loading = true
       examination.submitStatus = false
       examination.cardList = []
-      examination.collectList = []
+      // examination.collectList = []
       examination.errorList = []
       goTop()
       if (props.type == 'option') {
@@ -244,7 +245,7 @@
   } else if (item.questionType == 'singleChoice' || item.questionType == 'judge') {
     // 鍗曢�� 鍒ゆ柇
     item.isRight = item.answer == item.userAnswer
-  } else if (item.questionType == 'shortAnswer') {
+  } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') {
     // 绠�绛� 缈昏瘧
     item.isRight = null
   } else if (item.questionType == 'completion') {
@@ -275,7 +276,7 @@
         citem.isUnfold = ''
         examination.isCollapse = false
       } else {
-        citem.questionType == 'shortAnswer' ? (citem.isUnfold = true) : (citem.isUnfold = citem.id)
+        citem.questionType == 'shortAnswer' || citem.questionType == 'formula' ? (citem.isUnfold = true) : (citem.isUnfold = citem.id)
         examination.isCollapse = true
       }
     }
@@ -289,8 +290,13 @@
   examination.submitStatus = true
 }
 // 棰樼洰鏀惰棌鎸夐挳,鏀惰棌鍜屽彇娑堝悓涓�鎺ュ彛锛屽彇娑堟暟缁勫噺鍘昏椤筰d
-const setCollect = (num: number, number: number) => {
-  const item = examination.cardList[num].infoList[number]
+const setCollect = (num: number, number?: number) => {
+  let item = null
+  if(number) {
+   item = examination.cardList[num].infoList[number]
+  } else {
+    item = examination.cardList[num]
+  }
   item.isCollect = !item.isCollect
   if (item.isJson) {
     // json棰樼洰鏀惰棌鍙栨秷
@@ -624,16 +630,16 @@
       domain: 'collectData',
       keys: [props.activeBook.bookId]
     })
-    .then(async (res) => {
+    .then(async (res:any) => {
       try {
         const collect = JSON.parse(res[0].value)
         if (collect.length) {
-          examination.collectList = collect.find((citem) => citem.type == 'bits').collectList
+          examination.collectList = collect.find((citem:any) => citem.type == 'bits').collectList
           examination.allCollect[0].collectList = collect.find(
-            (citem) => citem.type == 'bits'
+            (citem:any) => citem.type == 'bits'
           ).collectList
           examination.allCollect[1].collectList = collect.find(
-            (citem) => citem.type == 'json'
+            (citem:any) => citem.type == 'json'
           ).collectList
         }
       } catch (error) {}
@@ -663,14 +669,10 @@
 }
 // 鑾峰彇鏀惰棌澶�
 const getCollectDataList = async () => {
-  if (!examination.collectList.length) {
-    examination.loading = false
-    examination.noData = true
-    return false
-  }
+  console.log('鏀惰棌id',examination.allCollect)
   // 寮�濮嬭姹�
   let oldData = null
-  let oldList = []
+  let oldList:any = []
   let cardList = [
     {
       catalogName: '鍗曢�夐',
@@ -693,11 +695,11 @@
       infoList: []
     }
   ]
-  let singleChoiceArr = [] // 鍗曢��
-  let judgeArr = [] // 鍒ゆ柇
-  let shortArr = [] // 绠�绛�
-  let multipleChoiceArr = [] // 澶氶��
-  let completionArr = [] // 濉┖
+  let singleChoiceArr:any = [] // 鍗曢��
+  let judgeArr:any = [] // 鍒ゆ柇
+  let shortArr:any = [] // 绠�绛�
+  let multipleChoiceArr:any = [] // 澶氶��
+  let completionArr:any = [] // 濉┖
   // 11
   for (let qindex = 0; qindex < examination.collectList.length; qindex++) {
     const qitem = examination.collectList[qindex]
@@ -757,7 +759,7 @@
         isSubmit: false, // 鏌ョ湅瑙f瀽
         isRight: null, // 鏄惁姝g‘
         isComplete: false,
-        isCollect: examination.collectList.indexOf(item.id) > -1 ? true : false,
+        isCollect: true,
         isUnfold: ''
       }
       // 澶氶�夊拰濉┖绛旀鑲负鏁扮粍锛岃杞崲JSON鏍煎紡
@@ -791,7 +793,7 @@
         questionObj.stem.stemImage = getPublicImage(questionObj.stem.stemImage, 150)
       }
       if (questionObj.optionStyle == 'Image' || questionObj.optionStyle == 'TxtAndImage') {
-        questionObj.option.forEach((optionItem) => {
+        questionObj.option.forEach((optionItem:any) => {
           if (optionItem.img) optionItem.img = getPublicImage(optionItem.img, 150)
         })
       }
@@ -813,7 +815,7 @@
           questionObj.questionType == 'judge' ||
           questionObj.questionType == 'multipleChoice')
       ) {
-        questionObj.option.forEach((item) => {
+        questionObj.option.forEach((item:any) => {
           if (item.txt)
             item.txt = item.txt
               .replace(/\<img/gi, '<img class="option-rich-img"')
@@ -894,12 +896,10 @@
       }
     }
   }
-
+  console.log('鏀惰棌json',jsonCollectList);
   for (let index = 0; index < jsonCollectList.length; index++) {
     const item = jsonCollectList[index]
-    if (item.type && item.type == 'material') {
-      examination.cardList.push(item)
-    } else if (item.questionType == 'singleChoice') {
+  if (item.questionType == 'singleChoice') {
       examination.cardList[0].infoList.push(item)
     } else if (item.questionType == 'judge') {
       examination.cardList[1].infoList.push(item)
@@ -907,9 +907,11 @@
       examination.cardList[2].infoList.push(item)
     } else if (item.questionType == 'completion') {
       examination.cardList[3].infoList.push(item)
-    } else if (item.questionType == 'shortAnswer') {
+    } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') {
       examination.cardList[4].infoList.push(item)
-    }
+    } else if (item.type && item.type == 'material') {
+      examination.cardList[examination.cardList.length] = item
+    } 
   }
   examination.cardList = examination.cardList.filter((item) => item.infoList.length > 0)
   console.log('鎷兼帴棰�', examination.cardList)
@@ -935,6 +937,7 @@
         examination.cardList = (await getErrorDataList()) as any
         await getJsonError()
       } else {
+        examination.noData = true
         examination.loading = false
         ElMessageBox.confirm('閿欓闆嗘殏鏃犳暟鎹�!', '鎻愮ず', {
           confirmButtonText: '纭畾',
@@ -953,12 +956,6 @@
 }
 // 鑾峰彇閿欓闆�
 const getErrorDataList = async () => {
-  if (!examination.errorList.length) {
-    examination.loading = false
-    examination.noData = true
-    return false
-  }
-  // 寮�濮嬭姹�
   let oldData = null
   let oldList:any = []
   let cardList = [
@@ -1138,7 +1135,7 @@
       } else if (item.Embedded_QuestionBank_QuestionType == 'completion') {
         questionObj.type = '濉┖棰�'
         completionArr.push(questionObj)
-      } else if (item.Embedded_QuestionBank_QuestionType == 'shortAnswer') {
+      } else if (item.Embedded_QuestionBank_QuestionType == 'shortAnswer' ) {
         questionObj.type = '绠�绛旈'
         shortArr.push(questionObj)
       }
@@ -1187,9 +1184,7 @@
 
   for (let index = 0; index < jsonCollectList.length; index++) {
     const item = jsonCollectList[index]
-    if (item.type && item.type == 'material') {
-      examination.cardList.push(item)
-    } else if (item.questionType == 'singleChoice') {
+    if (item.questionType == 'singleChoice') {
       examination.cardList[0].infoList.push(item)
     } else if (item.questionType == 'judge') {
       examination.cardList[1].infoList.push(item)
@@ -1197,8 +1192,10 @@
       examination.cardList[2].infoList.push(item)
     } else if (item.questionType == 'completion') {
       examination.cardList[3].infoList.push(item)
-    } else if (item.questionType == 'shortAnswer') {
+    } else if (item.questionType == 'shortAnswer' || item.questionType == 'formula') {
       examination.cardList[4].infoList.push(item)
+    } else if (item.type && item.type == 'material') {
+      examination.cardList[examination.cardList.length] = item
     }
   }
   examination.cardList = examination.cardList.filter((item) => item.infoList.length > 0)
@@ -1225,7 +1222,7 @@
       } else if (citem.questionType == 'singleChoice' || citem.questionType == 'judge') {
         if (citem.id == '63825') console.log('i', item)
         citem.isRight = citem.answer == citem.userAnswer
-      } else if (citem.questionType == 'shortAnswer') {
+      } else if (citem.questionType == 'shortAnswer' || item.questionType == 'formula') {
         // 绠�绛� 缈昏瘧
         citem.isRight = null
       } else if (citem.questionType == 'completion') {
@@ -1240,7 +1237,7 @@
           }
         }
       }
-      if (!citem.isRight && citem.questionType != 'shortAnswer') {
+      if (!citem.isRight && citem.questionType != 'shortAnswer' && citem.questionType != 'formula') {
         
         // 瀹㈣棰樺洖绛旈敊璇� 璁板綍閿欓
         if (citem.isJson) {
@@ -1355,7 +1352,7 @@
       keys: [props.info.id]
     })
     .then((res:any) => {
-      if(res) {
+      if(res.length) {
         data = JSON.parse(res[0].value)
       }
     })
@@ -1426,9 +1423,12 @@
       ]
     })
     .then((res:any) => {
-      console.log('閿欓宸蹭繚瀛�', examination.allError)
+      console.log('閿欓宸叉竻绌�')
     })
 }
+const onChangeInput = (value:any,index:number,cindex:number,dindex:number) => {
+  examination.cardList[index].infoList[cindex].userAnswer[dindex] = value
+}
 defineExpose({ handleExaminationDialog })
 </script>
 

--
Gitblit v1.9.1