Просмотр исходного кода

fix(小程序): :class 绑定改用预计算/内联表达式,避免方法调用

李宇 3 месяцев назад
Родитель
Сommit
05feb33406

+ 6 - 2
cfc-frontend/pages/mind-detail/family-dashboard.vue

@@ -107,7 +107,7 @@
               <text class="calendar-month">{{ currentMonthLabel }}</text>
             </view>
             <view class="calendar-grid">
-              <view class="calendar-day" v-for="(day, index) in monthDays" :key="index" :class="getDayClass(day)">
+              <view class="calendar-day" v-for="(day, index) in monthDays" :key="index" :class="day.dayClass">
                 <text class="day-number">{{ day.day }}</text>
                 <view class="day-fortune" v-if="day.fortune">
                   <view class="fortune-bubble" :class="'fortune-' + day.fortune.fortuneLevel"></view>
@@ -227,7 +227,9 @@ export default {
       
       // 填充上月尾部
       for (let i = 0; i < firstDay; i++) {
-        days.push({ day: '', date: null })
+        const emptyDay = { day: '', date: null }
+        emptyDay.dayClass = this.getDayClass(emptyDay).join(' ')
+        days.push(emptyDay)
       }
       
       // 填充当月
@@ -246,6 +248,8 @@ export default {
         if (fortune) {
           dayData.fortune = fortune
         }
+        // 预计算 class 字符串(小程序 :class 不支持方法调用)
+        dayData.dayClass = this.getDayClass(dayData).join(' ')
         days.push(dayData)
       }
       

+ 1 - 1
cfc-frontend/pages/tianpan/member-detail.vue

@@ -91,7 +91,7 @@
               <text class="rel-role">{{ getRoleText(rel.toMemberRole) }}</text>
             </view>
             <view class="rel-score">
-              <text class="score-value" :class="getScoreClass(rel.score)">{{ rel.score }}</text>
+              <text class="score-value" :class="!rel.score ? '' : (rel.score >= 80 ? 'score-good' : (rel.score >= 60 ? 'score-medium' : 'score-low'))">{{ rel.score }}</text>
               <text class="score-label">分</text>
             </view>
           </view>

+ 1 - 1
cfc-frontend/pages/tianpan/relation-detail.vue

@@ -25,7 +25,7 @@
         <view class="score-circle">
           <canvas id="scoreCanvas" class="score-canvas"></canvas>
           <view class="score-content">
-            <text class="score-value" :class="getScoreClass(relation.score)">{{ relation.score }}</text>
+            <text class="score-value" :class="!relation.score ? '' : (relation.score >= 80 ? 'score-good' : (relation.score >= 60 ? 'score-medium' : 'score-low'))">{{ relation.score }}</text>
             <text class="score-label">关系质量分</text>
           </view>
         </view>