From 8ce5acd0a7a61de43cbd2d3d1ece2c6c9287779a Mon Sep 17 00:00:00 2001
From: user1 <10901603+no-distractions1@user.noreply.gitee.com>
Date: 星期一, 24 六月 2024 11:15:05 +0800
Subject: [PATCH] 艺术戏剧(选择题完成)

---
 src/components/choice/choice.vue |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/src/components/choice/choice.vue b/src/components/choice/choice.vue
index 9e45271..ae0c421 100644
--- a/src/components/choice/choice.vue
+++ b/src/components/choice/choice.vue
@@ -12,16 +12,16 @@
                         xmlns:xlink="http://www.w3.org/1999/xlink" width="170" height="170">
                         <path
                             d="M1299.772238 471.021724a366.045786 366.045786 0 0 0-97.270943-99.189942 379.484778 379.484778 0 0 0-29.436982-123.509928 398.682766 398.682766 0 0 0-89.591948-127.986925 405.722762 405.722762 0 0 0-133.107922-91.511946A409.56176 409.56176 0 0 0 794.859534 0.026 401.242765 401.242765 0 0 0 568.319667 67.85896a411.481759 411.481759 0 0 0-97.909943 91.511947 261.735847 261.735847 0 0 0-63.994962-7.679996 247.656855 247.656855 0 0 0-176.623897 71.033958 245.736856 245.736856 0 0 0-72.312957 202.860882 325.729809 325.729809 0 0 0-84.471951 72.953957A309.731819 309.731819 0 0 0 0.053 703.959588a311.010818 311.010818 0 0 0 97.269943 229.099865 323.80981 323.80981 0 0 0 231.659864 90.871947h660.418613a360.926789 360.926789 0 0 0 255.97585-104.949938 360.926789 360.926789 0 0 0 81.272953-116.469932 355.166792 355.166792 0 0 0 27.516984-138.866919 345.567798 345.567798 0 0 0-54.394969-192.622887z"
-                            fill="rgb(245, 130, 32)" p-id="87383"></path>
+                            fill="rgb(245, 130, 32)" :style="{ fill: primaryColor }" p-id="87383"></path>
                     </svg>
                     <svg v-else t="1718282816195" class="icon" viewBox="0 0 1024 1024" version="1.1"
                         xmlns="http://www.w3.org/2000/svg" p-id="87529" xmlns:xlink="http://www.w3.org/1999/xlink"
                         width="170" height="170">
                         <path
                             d="M829.248 420.576C815.264 274.56 693.696 160 544 160c-115.808 0-214.944 68.736-260.672 167.36A142.72 142.72 0 0 0 240.032 320a144.032 144.032 0 0 0-144 144c0 15.808 3.168 30.752 7.872 44.928C42.048 544.992 0.032 611.168 0.032 687.936a208 208 0 0 0 208 208V896H784v-0.064c132.576 0 240-107.424 240-240 0-116.992-83.872-214.176-194.752-235.36zM784 831.936V832H208.032a144.256 144.256 0 0 1-144-144.064c0-51.2 26.976-97.44 72.128-123.744 43.872-25.184 46.88-30.176 28.48-75.424a78.56 78.56 0 0 1-4.608-24.736c0-44.128 35.872-80 80-80 0 0 20.992-1.504 43.296 7.36 36.704 14.624 40.704 0.64 58.048-37.088C378.08 275.168 457.6 224 544 224c115.2 0 210.432 87.136 221.568 202.688 3.936 45.824 3.936 45.824 51.68 56.736A175.872 175.872 0 0 1 960 655.936c0 97.056-78.944 176-176 176z"
-                            fill="rgb(245, 130, 32)" p-id="87530"></path>
+                            fill="rgb(245, 130, 32)" :style="{ fill: primaryColor }" p-id="87530"></path>
                     </svg>
-                    <span class="option-text">{{ option.value }}銆亄{option.txt }}</span>
+                    <span class="option-text">{{ option.value }}銆亄{ option.txt }}</span>
                 </span>
             </div>
         </div>
@@ -42,10 +42,10 @@
         </div>
         <!-- 棰樼洰鎸夐挳閮ㄥ垎 -->
         <div class="btn-button">
-            <button v-if="currentIndex > 0" @click="prevQuestion">涓婁竴棰�</button>
-            <button v-if="currentIndex < questions.length - 1" @click="nextQuestion">涓嬩竴棰�</button>
-            <button @click="resetQuestion">閲嶅仛</button>
-            <button @click="submitQuestion">鎻愪氦</button>
+            <button v-if="currentIndex > 0" @click="prevQuestion" :style="mergedStyles">涓婁竴棰�</button>
+            <button v-if="currentIndex < questions.length - 1" @click="nextQuestion" :style="mergedStyles">涓嬩竴棰�</button>
+            <button @click="resetQuestion" :style="mergedStyles">閲嶅仛</button>
+            <button @click="submitQuestion" :style="mergedStyles">鎻愪氦</button>
         </div>
     </div>
 </template>
@@ -196,6 +196,7 @@
             choiceData: {
                 isCorrect: false,
             },
+            isPrimary: true,
         };
     },
     props: {
@@ -203,11 +204,36 @@
             type: Array,
             required: true
         },
+        primaryColor: {
+            type: String,
+            default: "#F58220",
+        },
+        hoverBackgroundColor: {
+            type: String,
+            default: 'rgb(245, 130, 32)' // 榛樿鍊�  
+        },
+        hoverColor: {
+            type: String,
+            default: 'white' // 榛樿鍊�  
+        }
     },
     computed: {
         currentQuestion() {
             return this.questions[this.currentIndex];
         },
+        setHoverStyles() {
+            return {
+                '--hover-bg-color': this.hoverBackgroundColor,
+                '--hover-color': this.hoverColor
+            };
+        },
+        mergedStyles() {
+            // 鍚堝苟鐩存帴鏍峰紡鍜岃绠楀睘鎬ф牱寮�  
+            return {
+                borderColor: this.primaryColor,
+                ...this.setHoverStyles
+            };
+        }
     },
     methods: {
         toggleOption(index) {
@@ -217,14 +243,17 @@
                 // 澶氶�夋椂鍒囨崲閫変腑鐘舵�� 
                 console.log(this.selectedOptions, index)
                 const isAlreadySelected = this.selectedOptions.includes(index);
-
                 if (isAlreadySelected) {
                     this.selectedOptions = this.selectedOptions.filter(i => i !== index);
                 } else {
                     this.selectedOptions.push(index);
                 }
-             
+
             }
+        },
+        getOptionColor(index) {
+            // 鏍规嵁閫夐」鏄惁琚�変腑杩斿洖鐩稿簲鐨勯鑹�  
+            return this.optionColors[index] || this.defaultColor; // 濡傛灉娌℃湁璁剧疆棰滆壊锛屽垯杩斿洖榛樿棰滆壊  
         },
         getSelectedOptions() {
             return this.selectedOptions.map(index => {
@@ -386,11 +415,13 @@
 }
 
 .btn-button>button:hover {
-    background-color: rgb(245, 130, 32);
-    /* 榧犳爣鎮仠鏃惰儗鏅壊鍙樹负绾㈣壊 */
-    color: white;
-    /* 榧犳爣鎮仠鏃跺瓧浣撻鑹插彉涓虹櫧鑹� */
-    /* 鍏朵粬浣犳兂瑕佺殑鎮仠鏍峰紡... */
+    // background-color: rgb(245, 130, 32);
+    // /* 榧犳爣鎮仠鏃惰儗鏅壊鍙樹负绾㈣壊 */
+    // color: white;
+    // /* 榧犳爣鎮仠鏃跺瓧浣撻鑹插彉涓虹櫧鑹� */
+    // /* 鍏朵粬浣犳兂瑕佺殑鎮仠鏍峰紡... */
+    background-color: var(--hover-bg-color);
+    color: var(--hover-color);
 }
 
 .active {

--
Gitblit v1.9.1