hookehuyr

fix(打卡流程): 优化打卡成功后的状态处理逻辑

调整打卡成功后的状态更新顺序,确保在表单重置后再触发成功事件。同时移除失败时的提示代码,简化错误处理逻辑。在HomePage中同步调整状态更新顺序,并缩短成功状态显示时间。
...@@ -127,7 +127,6 @@ const handleCheckInSubmit = async () => { ...@@ -127,7 +127,6 @@ const handleCheckInSubmit = async () => {
127 const { code, data } = await checkinTaskAPI({ task_id: selectedCheckIn.value.id }); 127 const { code, data } = await checkinTaskAPI({ task_id: selectedCheckIn.value.id });
128 if (code) { 128 if (code) {
129 checkInSuccess.value = true 129 checkInSuccess.value = true
130 - emit('check-in-success')
131 // 重置表单 130 // 重置表单
132 setTimeout(() => { 131 setTimeout(() => {
133 checkInSuccess.value = false 132 checkInSuccess.value = false
...@@ -135,9 +134,10 @@ const handleCheckInSubmit = async () => { ...@@ -135,9 +134,10 @@ const handleCheckInSubmit = async () => {
135 checkInContent.value = '' 134 checkInContent.value = ''
136 emit('update:show', false) 135 emit('update:show', false)
137 }, 1500) 136 }, 1500)
137 + emit('check-in-success')
138 } 138 }
139 } catch (error) { 139 } catch (error) {
140 - showToast('打卡失败,请重试') 140 + // showToast('打卡失败,请重试')
141 } finally { 141 } finally {
142 isCheckingIn.value = false 142 isCheckingIn.value = false
143 } 143 }
......
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-06-06 18:22:14 4 + * @LastEditTime: 2025-06-06 21:35:16
5 * @FilePath: /mlaj/src/views/HomePage.vue 5 * @FilePath: /mlaj/src/views/HomePage.vue
6 * @Description: 美乐爱觉教育首页组件 6 * @Description: 美乐爱觉教育首页组件
7 * 7 *
...@@ -703,18 +703,17 @@ const handleCheckInSubmit = async () => { ...@@ -703,18 +703,17 @@ const handleCheckInSubmit = async () => {
703 // return 703 // return
704 // } 704 // }
705 705
706 - isCheckingIn.value = true
707 -
708 // API调用 706 // API调用
709 - isCheckingIn.value = false
710 - checkInSuccess.value = true
711 - checkInContent.value = ''
712 const { code, data } = await checkinTaskAPI({ task_id: selectedCheckIn.value.id }); 707 const { code, data } = await checkinTaskAPI({ task_id: selectedCheckIn.value.id });
713 if (code) { 708 if (code) {
709 + isCheckingIn.value = true
710 + checkInSuccess.value = true
711 + checkInContent.value = ''
714 setTimeout(() => { 712 setTimeout(() => {
713 + isCheckingIn.value = false
715 selectedCheckIn.value = null 714 selectedCheckIn.value = null
716 checkInSuccess.value = false 715 checkInSuccess.value = false
717 - }, 1500); 716 + }, 1000);
718 } 717 }
719 } 718 }
720 719
......