hookehuyr

feat(ui): 为签到类型添加灰色状态显示

在多个组件中为签到类型的图标和文本添加灰色状态显示,通过is_gray字段控制
...@@ -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
......