6 Komitmen 9015b854d1 ... 673993b2fb

Pembuat SHA1 Pesan Tanggal
  JutarryWu 673993b2fb 数字理解优化 4 hari lalu
  周玉佂 4e8ce53030 常规训练口语表达 5 hari lalu
  JutarryWu 733b0b92da 替换补贴 5 hari lalu
  周玉佂 a97d8a790d Merge remote-tracking branch 'origin/20240604-dev' into 20240604-dev 5 hari lalu
  周玉佂 c2a8a04834 常规训练 5 hari lalu
  JutarryWu ecc6a00992 康复评定训练UI优化 5 hari lalu
24 mengubah file dengan 99 tambahan dan 116 penghapusan
  1. TEMPAT SAMPAH
      public/static/image/cognitiveAbility/SpeechTraining/OralExpression/香蕉.png
  2. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/1.mp3
  3. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/2.mp3
  4. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/香蕉.mp3
  5. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/1.mp3
  6. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/b.mp3
  7. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/ba.mp3
  8. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/bao.mp3
  9. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/包子.mp3
  10. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/1.mp3
  11. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/苹果.mp3
  12. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/1.mp3
  13. TEMPAT SAMPAH
      public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/窗前明月光,疑是地上霜。举头望明月,低头思故乡.mp3
  14. 46 44
      src/views/gameCenter/components/games/DigitalUnderstanding/components/DUMainShow/index.vue
  15. 0 6
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskAuditoryTraining/CATAuditoryTrainingRightOrWrongResponse/topics.json
  16. 10 10
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionName/index.vue
  17. 5 5
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionParaphraseWords/index.vue
  18. 7 6
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionRetell/index.vue
  19. 6 6
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionRetellingSeries/index.vue
  20. 3 3
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/Words/index.vue
  21. 1 1
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/Words/topics.json
  22. 1 2
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/execute/index.vue
  23. 7 30
      src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/wordMap/index.vue
  24. 13 3
      src/views/tester/components/RehabilitationEvaluation/RehabilitationEvaluationLogDetail/index.vue

TEMPAT SAMPAH
public/static/image/cognitiveAbility/SpeechTraining/OralExpression/香蕉.png


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/1.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/2.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/香蕉.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/1.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/b.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/ba.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/bao.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/包子.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/1.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/苹果.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/1.mp3


TEMPAT SAMPAH
public/static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/窗前明月光,疑是地上霜。举头望明月,低头思故乡.mp3


+ 46 - 44
src/views/gameCenter/components/games/DigitalUnderstanding/components/DUMainShow/index.vue

@@ -4,12 +4,7 @@
   >
     <div class="title text-[36px]">{{ titles[showData.tempLevel] }}</div>
     <div class="w-full h-[800px] pos-relative" :class="{ 'flex-row-div': showData.tempLevel === 4 }">
-      <div
-        v-for="(item, index) in showData.list"
-        :key="index"
-        class="flex flex-row items-center mt-[35px]"
-        :class="{ 'half-width': showData.tempLevel === 4 }"
-      >
+      <div v-for="(item, index) in showData.list" :key="index" class="flex flex-row items-center mt-[35px]">
         <div v-if="false" class="text-[24px] ml-[20px] w-[110px]">第 {{ index + 1 }} 题:</div>
         <template v-if="[0, 1, 2, 3].includes(showData.tempLevel)">
           <div class="w-full">
@@ -23,7 +18,7 @@
                     'w-[400px] h-[400px]': item.titleImages!.length === 4,
                     'w-[320px] h-[320px]': item.titleImages!.length === 5,
                     'w-[260px] h-[260px]': item.titleImages!.length === 6,
-                    'w-[270px] h-[270px]': [7, 8, 9].includes(item.titleImages!.length),
+                    'w-[270px] h-[270px]': [7, 8, 9, 10].includes(item.titleImages!.length),
                     select: parseInt(<string>showData.list[index].answer) === imageIndex,
                     'icon-outline': showData.tempLevel === 0
                   }"
@@ -37,7 +32,7 @@
                       'text-[400px]': item.titleImages!.length === 4,
                       'text-[320px]': item.titleImages!.length === 5,
                       'text-[260px]': item.titleImages!.length === 6,
-                      'text-[280px]': [7, 8, 9].includes(item.titleImages!.length)
+                      'text-[280px]': [7, 8, 9, 10].includes(item.titleImages!.length)
                     }"
                   />
                 </div>
@@ -83,23 +78,23 @@
           </div>
         </template>
         <template v-if="showData.tempLevel === 4">
-          <div class="w-full h-full relative title-right">
+          <div class="w-full h-full relative title-right overflow-hidden flex flex-row items-center">
             <!-- 苹果树 -->
-            <svg-icon icon-class="icon-tree" class="text-[520px] pos-item-0" />
-            <div class="w-[212px] float-right mr-[50px]">
+            <svg-icon icon-class="icon-tree" class="text-[1020px] pos-item-0" />
+            <div class="w-[880px] float-right ml-[1080px]">
               <!-- 目标数字 -->
-              <div class="text-center text-[42px] m-y-[16px]">
+              <div class="text-center text-[120px] m-y-[16px]">
                 {{ showData.list[index].correctValue }}
               </div>
               <!-- 苹果位置区域:使用绝对定位让苹果"长"在树上,点击后,去除绝对定位,苹果位置变化,"回到篮子里面" -->
               <div
-                class="w-full h-[120px] p-y-[13px] p-x-[10px] bor-radius-8 flex flex-row flex-wrap flex-content-start b-[#D96E7E59] b-[1px]"
+                class="w-full h-[280px] p-y-[13px] p-x-[10px] bor-radius-8 flex flex-row flex-wrap flex-content-start b-[#D96E7E59] b-[1px]"
               >
                 <svg-icon
-                  v-for="(apple, appIndex) in appleItems[index]"
+                  v-for="(apple, appIndex) in appleItems"
                   :key="`pos-item-${appIndex}`"
                   icon-class="icon-apple"
-                  class="text-[38px] pos-item cursor-pointer mb-[8px]"
+                  class="text-[110px] pos-item cursor-pointer mb-[8px]"
                   :class="apple ? `pos-item-${appIndex + 1}` : ''"
                   @click="choiceClick3(index, appIndex)"
                 />
@@ -107,7 +102,14 @@
 
               <!-- 结果标识区域 -->
               <div class="w-full h-[80px] flex-center flex-row justify-around">
-                <el-button type="danger" size="large" plain @click="choiceClick3Submit(index)">提交</el-button>
+                <el-button
+                  type="danger"
+                  class="p-x-45px p-y-18px text-34px h-70px"
+                  plain
+                  @click="choiceClick3Submit(index)"
+                >
+                  提交
+                </el-button>
                 <div class="w-[36px] h-[36px] flex-center">
                   <transition name="el-fade-in">
                     <svg-icon
@@ -192,6 +194,10 @@ const setData = (data: any) => {
     item.choiceClickFlag = false // 是否点击过选项 false表示未点击,true表示点击过
     return item
   })
+
+  if (showData.tempLevel === 4) {
+    appleItems.value = [true, true, true, true, true, true, true, true, true, true]
+  }
 }
 
 const endChildLoop = () => {
@@ -229,13 +235,9 @@ const choiceClick1 = (index: number, answer: string) => {
   }
 }
 
-const appleItems = ref([
-  [true, true, true, true, true, true, true, true, true, true],
-  [true, true, true, true, true, true, true, true, true, true],
-  [true, true, true, true, true, true, true, true, true, true]
-])
+const appleItems = ref([true, true, true, true, true, true, true, true, true, true])
 const choiceClick3 = (index: number, appleIndex: number) => {
-  appleItems.value[index][appleIndex] = !appleItems.value[index][appleIndex]
+  appleItems.value[appleIndex] = !appleItems.value[appleIndex]
 }
 
 const choiceClick3Submit = (index: number) => {
@@ -243,7 +245,7 @@ const choiceClick3Submit = (index: number) => {
     setTimeout(() => {
       if (!showData.list[index].choiceClickFlag) {
         showData.list[index].choiceClickFlag = true
-        showData.list[index].answer = appleItems.value[index].filter((item: boolean) => !item).length + ''
+        showData.list[index].answer = appleItems.value.filter((item: boolean) => !item).length + ''
         showData.list[index].correct = showData.list[index].answer === showData.list[index].correctValue
       }
     }, 400)
@@ -304,68 +306,68 @@ defineExpose({
 
     .pos-item-0 {
       position: absolute;
-      left: -40px;
+      left: 40px;
       top: -80px;
     }
 
     .pos-item-1 {
       position: absolute;
-      left: 10px;
-      top: 145px;
+      left: 150px;
+      top: 365px;
     }
 
     .pos-item-2 {
       position: absolute;
-      left: 78px;
-      top: 90px;
+      left: 188px;
+      top: 240px;
     }
 
     .pos-item-3 {
       position: absolute;
-      left: 150px;
-      top: 60px;
+      left: 330px;
+      top: 340px;
     }
 
     .pos-item-4 {
       position: absolute;
-      left: 128px;
-      top: 140px;
+      left: 328px;
+      top: 160px;
     }
 
     .pos-item-5 {
       position: absolute;
-      left: 195px;
-      top: 42px;
+      left: 485px;
+      top: 272px;
     }
 
     .pos-item-6 {
       position: absolute;
-      left: 275px;
-      top: 82px;
+      left: 445px;
+      top: 162px;
     }
 
     .pos-item-7 {
       position: absolute;
-      left: 255px;
-      top: 128px;
+      left: 665px;
+      top: 315px;
     }
 
     .pos-item-8 {
       position: absolute;
-      left: 265px;
-      top: 42px;
+      left: 625px;
+      top: 162px;
     }
 
     .pos-item-9 {
       position: absolute;
-      left: 335px;
-      top: 105px;
+      left: 765px;
+      top: 205px;
     }
 
     .pos-item-10 {
       position: absolute;
-      left: 325px;
-      top: 165px;
+      left: 815px;
+      top: 385px;
     }
   }
 

+ 0 - 6
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskAuditoryTraining/CATAuditoryTrainingRightOrWrongResponse/topics.json

@@ -2,12 +2,6 @@
   "question": "请观察图片,判断图片和听到的内容是否一致",
   "topics":
   [
-    {
-      "question": "男孩打着伞吗?",
-      "choices": ["是", "否"],
-      "correct": "是",
-      "userAnswer": ""
-    },
     {
       "question": "男孩打着伞吗?",
       "choices": ["是", "否"],

+ 10 - 10
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionName/index.vue

@@ -231,13 +231,13 @@ async function exec() {
     localStorage.setItem('two-win-auditory-word-img-matching-init-data', JSON.stringify(TopicsVal.value))
     setTimeout(() => {
       showNextBtn.value = true
-    }, 600)
+    }, 6600)
   } else {
     taskBeginTime = Date.now()
-    // VoiceImpRef.value.videoPlay(
-    //   'Speech-Auditory',
-    //   'static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/1.mp3'
-    // )
+    VoiceImpRef.value.videoPlay(
+      'Speech-Auditory',
+      'static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/1.mp3'
+    )
   }
 }
 
@@ -268,10 +268,10 @@ onMounted(() => {
         useClickIndex.value = -1
         showScoreArea.value = false
         scoreIndex.value = -1
-        VoiceImpRef.value.videoPlay(
-          'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
-        )
+        // VoiceImpRef.value.videoPlay(
+        //   'Speech-Auditory',
+        //   `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
+        // )
         localStorage.removeItem('tow-win-auditory-word-img-matching-show-topics')
       }
 
@@ -279,7 +279,7 @@ onMounted(() => {
         tipsFlag.value = true
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${val.newValue}-tips.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionName/2.mp3`
         )
         localStorage.removeItem('two-win-auditory-word-img-matching-item-check')
       }

+ 5 - 5
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionParaphraseWords/index.vue

@@ -236,10 +236,10 @@ async function exec() {
     }, 600)
   } else {
     taskBeginTime = Date.now()
-    // VoiceImpRef.value.videoPlay(
-    //   'Speech-Auditory',
-    //   'static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/1.mp3'
-    // )
+    VoiceImpRef.value.videoPlay(
+      'Speech-Auditory',
+      'static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/1.mp3'
+    )
   }
 }
 
@@ -272,7 +272,7 @@ onMounted(() => {
         scoreIndex.value = -1
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionParaphraseWords/${TopicsVal.value[currentIndex.value].correct}.mp3`
         )
         localStorage.removeItem('tow-win-auditory-word-img-matching-show-topics')
       }

+ 7 - 6
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionRetell/index.vue

@@ -236,10 +236,10 @@ async function exec() {
     }, 600)
   } else {
     taskBeginTime = Date.now()
-    // VoiceImpRef.value.videoPlay(
-    //   'Speech-Auditory',
-    //   'static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/1.mp3'
-    // )
+    VoiceImpRef.value.videoPlay(
+      'Speech-Auditory',
+      'static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/1.mp3'
+    )
   }
 }
 
@@ -272,16 +272,17 @@ onMounted(() => {
         scoreIndex.value = -1
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/${TopicsVal.value[currentIndex.value].correct}.mp3`
         )
         localStorage.removeItem('tow-win-auditory-word-img-matching-show-topics')
       }
 
       if (val.key === 'two-win-auditory-word-img-matching-item-check') {
         tipsFlag.value = true
+        console.log(val.newValue, 'val.newValue')
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${val.newValue}-tips.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetell/${TopicsVal.value[currentIndex.value].correct}.mp3`
         )
         localStorage.removeItem('two-win-auditory-word-img-matching-item-check')
       }

+ 6 - 6
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskOralExpression/OralExpressionRetellingSeries/index.vue

@@ -236,10 +236,10 @@ async function exec() {
     }, 600)
   } else {
     taskBeginTime = Date.now()
-    // VoiceImpRef.value.videoPlay(
-    //   'Speech-Auditory',
-    //   'static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/1.mp3'
-    // )
+    VoiceImpRef.value.videoPlay(
+      'Speech-Auditory',
+      'static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/1.mp3'
+    )
   }
 }
 
@@ -272,7 +272,7 @@ onMounted(() => {
         scoreIndex.value = -1
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/${TopicsVal.value[currentIndex.value].correct}.mp3`
         )
         localStorage.removeItem('tow-win-auditory-word-img-matching-show-topics')
       }
@@ -281,7 +281,7 @@ onMounted(() => {
         tipsFlag.value = true
         VoiceImpRef.value.videoPlay(
           'Speech-Auditory',
-          `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${val.newValue}-tips.mp3`
+          `static/voice/cognitiveAbility/SpeechTraining/OralExpression/OralExpressionRetellingSeries/${TopicsVal.value[currentIndex.value].correct}.mp3`
         )
         localStorage.removeItem('two-win-auditory-word-img-matching-item-check')
       }

+ 3 - 3
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/Words/index.vue

@@ -42,15 +42,15 @@
         <div class="w-full flex flex-row justify-around">
           <div v-for="(item, index) in TopicsVal[currentIndex].choices" :key="index" class="flex flex-col items-center">
             <div class="w-200px h-180px flex-center cursor-pointer" @click="handleItemClick(item, index)">
-              <div class="w-[420px] h-[120px] cursor-pointer text-center mt-30px text-40px text-[#222222] fw-600">
-                {{ item }}
-              </div>
               <el-image
                 :src="`/static/image/cognitiveAbility/SpeechTraining/${useClickIndex === index || item === TopicsVal[currentIndex].userAnswer ? 'Options-right' : 'Options-Blank'}.png`"
                 fit="contain"
                 @click="handleItemClick(item, index)"
                 class="w-[170px] h-[170px] mt-[-25px] cursor-pointer"
               />
+              <div class="w-[420px] h-[120px] cursor-pointer text-center mt-30px text-40px text-[#222222] fw-600">
+                {{ item }}
+              </div>
               <!--              <el-image-->
               <!--                :src="`/static/image/cognitiveAbility/SpeechTraining/Visual/${item}.jpg`"-->
               <!--                fit="contain"-->

+ 1 - 1
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/Words/topics.json

@@ -24,7 +24,7 @@
       "userAnswer": ""
     },
     {
-      "choices": ["是", "不是"],
+      "choices": ["会", "不会"],
       "correct": "不是",
       "Tips": "",
       "Topic": "花生会在冬天结果吗?",

+ 1 - 2
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/execute/index.vue

@@ -13,7 +13,6 @@
 
     <div v-if="!isMainWin && showTopics" class="flex-center flex-col">
       <div class="text-42px text-[#0F308C]">请根据指示做出动作</div>
-      <div class="text-42px text-[#0F308C]">{{ TopicsVal[currentIndex].correct }}</div>
       <div class="tgr-container w-1200px h-500px my-50px relative shadow-2xl rounded-18px" @click="useClick(0)">
         <div
           class="circle absolute cursor-pointer hover:scale-101 shadow-2xl"
@@ -48,7 +47,7 @@
 <script setup lang="ts">
 /*
  * 组件名: CATAuditoryTrainingExecuteInstructions
- * 组件用途: 常规康复训练 - 执行指令
+ * 组件用途: 常规康复训练 - 执行指令
  * 创建日期: 2024/11/12
  * 编写者: JutarryWu
  */

+ 7 - 30
src/views/tester/components/RehabilitationEvaluation/CognitiveAbilityTask/CognitiveAbilityTaskVisualTraining/components/wordMap/index.vue

@@ -5,16 +5,11 @@
       {{ Topics.question }}
     </div>
 
-    <div v-if="!isMainWin && showTopics" class="flex-center flex-col text-100px text-[#0F308C]">
+    <div v-if="showTopics" class="flex-center flex-col text-100px text-[#0F308C]">
       {{ TopicsVal[currentIndex].correct }}
-      <div v-if="tipsFlag" class="text-50px w-[80%]">{{ TopicsVal[currentIndex].Tips }}</div>
     </div>
     <div class="w-80% h-60% my-30px flex-center flex-col">
       <template v-if="showTopics">
-        <div v-if="isMainWin" class="flex-center flex-col text-100px text-[#0F308C]" @click="handlePlay">
-          {{ TopicsVal[currentIndex].correct }}
-          <div class="text-50px">提示</div>
-        </div>
         <!--        <el-image-->
         <!--          v-if="isMainWin"-->
         <!--          src="/static/image/cognitiveAbility/SpeechTraining/Auditory/play.png"-->
@@ -28,13 +23,12 @@
               <el-image
                 :src="`/static/image/cognitiveAbility/SpeechTraining/Visual/${item}.png`"
                 fit="contain"
-                class="w-[120px] h-[120px] cursor-pointer mt-30px"
+                class="w-[180px] h-[180px] cursor-pointer mt-30px rounded-8px"
               />
             </div>
             <el-image
               :src="`/static/image/cognitiveAbility/SpeechTraining/${useClickIndex === index || item === TopicsVal[currentIndex].userAnswer ? 'Options-right' : 'Options-Blank'}.png`"
               fit="contain"
-              @click="handleItemClick(item, index)"
               class="w-[60px] h-[60px] mt-30px"
             />
           </div>
@@ -84,30 +78,22 @@
         @click="handleNext()"
       />
     </div>
-    <!--    <div-->
-    <!--      v-if="!isMainWin && showScoreArea"-->
-    <!--      class="absolute bottom-[44px] left-10% w-240px h-140px flex flex-row items-end justify-between"-->
-    <!--    >-->
-    <!--      <span class="text-[#0F308C] text-[42px] mb-12px">得分:</span>-->
-    <!--      <span class="text-[#b1b1b1] text-[72px] score-text">{{ TopicsVal[currentIndex].score }}</span>-->
-    <!--      <span class="text-[#0F308C] text-[42px] mb-12px">分</span>-->
-    <!--    </div>-->
     <div
       v-if="!isMainWin && showScoreArea"
       class="df-bg absolute bottom-[44px] left-10% w-280px h-120px flex flex-row items-end justify-between"
     >
       <div class="text-[#2569CA] text-[58px] ml-[158px] pb-[10px] score-text">
-        {{ TopicsVal[currentIndex].score }} <span>分</span>
-        <!--        <span class="text-[#0F308C] text-[42px] mb-12px">分</span>-->
+        {{ TopicsVal[currentIndex].score }}<span>分</span>
       </div>
     </div>
+
     <VoiceImp ref="VoiceImpRef" />
   </section>
 </template>
 
 <script setup lang="ts">
 /*
- * 组件名: wordMap
+ * 组件名:wordWord
  * 组件用途: 常规视康复训练 - 词图匹配
  * 创建日期: 2024/11/12
  * 编写者: JutarryWu
@@ -116,7 +102,7 @@
 import { formatSeconds, isJSON } from '@/utils'
 
 defineOptions({
-  name: 'wordMap',
+  name: 'wordWord',
   inheritAttrs: false
 })
 
@@ -125,7 +111,6 @@ import Topics from './topics.json'
 interface TopicsType {
   choices: string[]
   correct: string
-  Tips: string
   userAnswer: string
   score: string
 }
@@ -139,8 +124,6 @@ const showScoreArea = ref(false) // 主屏 - 显示评分标识
 const showSubmitBtn = ref(false) // 副屏 - 显示确定按钮标识
 let isSubmitting = false // 是否正在提交标识
 const showTopics = ref(false) // 显示题目选项标识
-const tipsFlag = ref(false) // 显示副屏提示
-
 const VoiceImpRef = ref()
 const currentIndex = ref(0) // 当前题目索引
 const TopicsVal = ref<TopicsType[]>([])
@@ -164,16 +147,13 @@ const handleNext = () => {
     localStorage.setItem('tow-win-auditory-word-img-matching-show-topics', currentIndex.value + '')
   } else {
     let tempCount = TopicsVal.value.filter((item) => item.userAnswer !== '').length
-    console.log('最后一题', TopicsVal.value.length, tempCount)
     if (tempCount === TopicsVal.value.length) {
       isSubmitting = true
-      console.log('最后一题,结束')
       localStorage.setItem('tow-win-auditory-word-img-matching-isSubmitting', 'YES')
     } else {
       currentIndex.value++
       showScoreArea.value = false
       scoreIndex.value = -1
-      tipsFlag.value = false
       handleNext()
     }
   }
@@ -221,7 +201,7 @@ async function exec() {
     localStorage.setItem('two-win-auditory-word-img-matching-init-data', JSON.stringify(TopicsVal.value))
     setTimeout(() => {
       showNextBtn.value = true
-    }, 1600)
+    }, 600)
   } else {
     taskBeginTime = Date.now()
     // VoiceImpRef.value.videoPlay(
@@ -258,7 +238,6 @@ onMounted(() => {
         useClickIndex.value = -1
         showScoreArea.value = false
         scoreIndex.value = -1
-        tipsFlag.value = false
         // VoiceImpRef.value.videoPlay(
         //   'Speech-Auditory',
         //   `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${TopicsVal.value[currentIndex.value].correct}.mp3`
@@ -271,7 +250,6 @@ onMounted(() => {
         //   'Speech-Auditory',
         //   `static/voice/cognitiveAbility/SpeechTraining/Auditory/WordImgMatching/${val.newValue}-tips.mp3`
         // )
-        tipsFlag.value = true
         localStorage.removeItem('two-win-auditory-word-img-matching-item-check')
       }
 
@@ -283,7 +261,6 @@ onMounted(() => {
 
       if (val.key === 'tow-win-auditory-word-img-matching-isSubmitting' && val.newValue === 'YES') {
         isSubmitting = true
-        console.log('游戏结束')
         emits('gameOver', {
           min: formatSeconds(Date.now() - taskBeginTime),
           content: JSON.stringify({

+ 13 - 3
src/views/tester/components/RehabilitationEvaluation/RehabilitationEvaluationLogDetail/index.vue

@@ -54,8 +54,18 @@
             class="w-[190px] h-full"
           />
           <div class="flex-1 p-[16px] pos-relative">
-            <div class="text-[20px] font-600 line-height-[24px]">{{ item.tname }}</div>
-            <div class="text-[15px] text-[#666] mt-[8px] text-2-ellipsis">{{ item.info?.intro }}</div>
+            <div
+              class="text-[20px] font-600 line-height-[24px]"
+              :class="{ 'text-black': item.finish === '0', 'text-[#989898bf]': item.finish === '1' }"
+            >
+              {{ item.tname }}
+            </div>
+            <div
+              class="text-[15px] mt-[8px] text-2-ellipsis"
+              :class="{ 'text-[#666]': item.finish === '0', 'text-[#989898bf]': item.finish === '1' }"
+            >
+              {{ item.info?.intro }}
+            </div>
             <div class="w-full absolute left-0 bottom-0 flex flex-row-reverse items-center">
               <el-button
                 type="primary"
@@ -68,7 +78,7 @@
                 {{ item.finish === '0' ? '开始评定' : '查看结果' }}
                 <i-ep-arrow-right />
               </el-button>
-              <div v-if="item.finish === '1'" class="w-[220px] text-[14px] text-[#989898ff]">
+              <div v-if="item.finish === '1'" class="w-[220px] text-[14px] text-[#989898bf]">
                 {{ item.utime?.replace('-', '年').replace('-', '月').replace(' ', '日 ') }} 已完成
               </div>
             </div>