hookehuyr

style(IndexCheckInPage): 调整上传按钮样式和间距

移除底部边距并优化悬停效果
1 <!-- 1 <!--
2 * @Date: 2025-05-29 15:34:17 2 * @Date: 2025-05-29 15:34:17
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-09-26 11:27:26 4 + * @LastEditTime: 2025-09-30 16:43:16
5 * @FilePath: /mlaj/src/views/checkin/IndexCheckInPage.vue 5 * @FilePath: /mlaj/src/views/checkin/IndexCheckInPage.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -62,18 +62,18 @@ ...@@ -62,18 +62,18 @@
62 </div> 62 </div>
63 </div> 63 </div>
64 64
65 - <div v-if="!taskDetail.is_finish" class="text-wrapper"> 65 + <div v-if="!taskDetail.is_finish" class="text-wrapper" style="padding-bottom: 0;">
66 <div class="text-header">打卡类型</div> 66 <div class="text-header">打卡类型</div>
67 <div class="upload-wrapper"> 67 <div class="upload-wrapper">
68 - <div 68 + <div
69 - v-for="option in attachmentTypeOptions" 69 + v-for="option in attachmentTypeOptions"
70 - :key="option.key" 70 + :key="option.key"
71 - @click="handleCheckinTypeClick(option.key)" 71 + @click="handleCheckinTypeClick(option.key)"
72 class="upload-button" 72 class="upload-button"
73 > 73 >
74 - <van-icon 74 + <van-icon
75 - :name="getIconName(option.key)" 75 + :name="getIconName(option.key)"
76 - size="1.2rem" 76 + size="1.2rem"
77 /> 77 />
78 <span class="button-text">{{ option.value }}</span> 78 <span class="button-text">{{ option.value }}</span>
79 </div> 79 </div>
...@@ -715,7 +715,7 @@ onMounted(async () => { ...@@ -715,7 +715,7 @@ onMounted(async () => {
715 getTaskDetail(dayjs().format('YYYY-MM')); 715 getTaskDetail(dayjs().format('YYYY-MM'));
716 onLoad(dayjs().format('YYYY-MM-DD')); 716 onLoad(dayjs().format('YYYY-MM-DD'));
717 } 717 }
718 - 718 +
719 // 获取作品类型数据 719 // 获取作品类型数据
720 try { 720 try {
721 const { code, data } = await getTeacherFindSettingsAPI(); 721 const { code, data } = await getTeacherFindSettingsAPI();
...@@ -842,10 +842,10 @@ const formatData = (data) => { ...@@ -842,10 +842,10 @@ const formatData = (data) => {
842 842
843 .upload-wrapper { 843 .upload-wrapper {
844 display: flex; 844 display: flex;
845 - margin: 1rem 0; 845 + margin: 1rem 0 0;
846 gap: 0.5rem; 846 gap: 0.5rem;
847 flex-wrap: wrap; 847 flex-wrap: wrap;
848 - 848 +
849 .upload-button { 849 .upload-button {
850 display: flex; 850 display: flex;
851 align-items: center; 851 align-items: center;
...@@ -858,16 +858,16 @@ const formatData = (data) => { ...@@ -858,16 +858,16 @@ const formatData = (data) => {
858 cursor: pointer; 858 cursor: pointer;
859 transition: all 0.2s ease; 859 transition: all 0.2s ease;
860 min-width: 80px; 860 min-width: 80px;
861 - 861 +
862 &:hover { 862 &:hover {
863 background-color: #f0fdf4; 863 background-color: #f0fdf4;
864 border-color: #4caf50; 864 border-color: #4caf50;
865 } 865 }
866 - 866 +
867 &:active { 867 &:active {
868 transform: scale(0.98); 868 transform: scale(0.98);
869 } 869 }
870 - 870 +
871 .button-text { 871 .button-text {
872 font-size: 0.8rem; 872 font-size: 0.8rem;
873 color: #4caf50; 873 color: #4caf50;
......