feat(ui): 为签到类型添加灰色状态显示
在多个组件中为签到类型的图标和文本添加灰色状态显示,通过is_gray字段控制
Showing
5 changed files
with
17 additions
and
17 deletions
| ... | @@ -37,10 +37,10 @@ | ... | @@ -37,10 +37,10 @@ |
| 37 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id | 37 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id |
| 38 | }" | 38 | }" |
| 39 | > | 39 | > |
| 40 | - <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" /> | 40 | + <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 41 | - <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" /> | 41 | + <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 42 | </div> | 42 | </div> |
| 43 | - <span class="text-xs">{{ checkInType.name }}</span> | 43 | + <span :class="['text-xs', checkInType.is_gray ? 'text-gray-500' : '']">{{ checkInType.name }}</span> |
| 44 | </button> | 44 | </button> |
| 45 | </div> | 45 | </div> |
| 46 | 46 | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2025-03-20 19:55:21 | 2 | * @Date: 2025-03-20 19:55:21 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2025-10-13 11:44:36 | 4 | + * @LastEditTime: 2025-10-14 11:07:30 |
| 5 | * @FilePath: /mlaj/src/views/HomePage.vue | 5 | * @FilePath: /mlaj/src/views/HomePage.vue |
| 6 | * @Description: 美乐爱觉教育首页组件 | 6 | * @Description: 美乐爱觉教育首页组件 |
| 7 | * | 7 | * |
| ... | @@ -101,15 +101,15 @@ | ... | @@ -101,15 +101,15 @@ |
| 101 | @click="handleCheckInSelect(checkInType)" | 101 | @click="handleCheckInSelect(checkInType)" |
| 102 | > | 102 | > |
| 103 | <div class="w-12 h-12 rounded-full flex items-center justify-center mb-1 transition-colors | 103 | <div class="w-12 h-12 rounded-full flex items-center justify-center mb-1 transition-colors |
| 104 | - bg-gray-100 text-gray-500" | 104 | + bg-gray-100" |
| 105 | :class="{ | 105 | :class="{ |
| 106 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id | 106 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id |
| 107 | }" | 107 | }" |
| 108 | > | 108 | > |
| 109 | - <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" /> | 109 | + <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 110 | - <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" /> | 110 | + <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 111 | </div> | 111 | </div> |
| 112 | - <span class="text-xs">{{ checkInType.name }}</span> | 112 | + <span :class="['text-xs', checkInType.is_gray ? 'text-gray-500' : '']">{{ checkInType.name }}</span> |
| 113 | </button> | 113 | </button> |
| 114 | </div> | 114 | </div> |
| 115 | 115 | ... | ... |
| ... | @@ -302,10 +302,10 @@ | ... | @@ -302,10 +302,10 @@ |
| 302 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id | 302 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id |
| 303 | }" | 303 | }" |
| 304 | > | 304 | > |
| 305 | - <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" /> | 305 | + <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 306 | - <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" /> | 306 | + <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 307 | </div> | 307 | </div> |
| 308 | - <span class="text-xs">{{ checkInType.title }}</span> | 308 | + <span :class="['text-xs', checkInType.is_gray ? 'text-gray-500' : '']">{{ checkInType.name }}</span> |
| 309 | </button> | 309 | </button> |
| 310 | </div> | 310 | </div> |
| 311 | 311 | ... | ... |
| ... | @@ -162,10 +162,10 @@ | ... | @@ -162,10 +162,10 @@ |
| 162 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id | 162 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id |
| 163 | }" | 163 | }" |
| 164 | > | 164 | > |
| 165 | - <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" /> | 165 | + <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 166 | - <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" /> | 166 | + <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 167 | </div> | 167 | </div> |
| 168 | - <span class="text-xs">{{ checkInType.title }}</span> | 168 | + <span :class="['text-xs', checkInType.is_gray ? 'text-gray-500' : '']">{{ checkInType.name }}</span> |
| 169 | </button> | 169 | </button> |
| 170 | </div> | 170 | </div> |
| 171 | 171 | ... | ... |
| ... | @@ -387,10 +387,10 @@ | ... | @@ -387,10 +387,10 @@ |
| 387 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id | 387 | 'bg-green-500 text-white': selectedCheckIn?.id === checkInType.id |
| 388 | }" | 388 | }" |
| 389 | > | 389 | > |
| 390 | - <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" /> | 390 | + <van-icon v-if="checkInType.task_type === 'checkin'" name="edit" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 391 | - <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" /> | 391 | + <van-icon v-if="checkInType.task_type === 'upload'" name="tosend" size="1.5rem" :color="checkInType.is_gray ? 'gray' : ''" /> |
| 392 | </div> | 392 | </div> |
| 393 | - <span class="text-xs">{{ checkInType.title }}</span> | 393 | + <span :class="['text-xs', checkInType.is_gray ? 'text-gray-500' : '']">{{ checkInType.name }}</span> |
| 394 | </button> | 394 | </button> |
| 395 | </div> | 395 | </div> |
| 396 | 396 | ... | ... |
-
Please register or login to post a comment