fix(打卡流程): 优化打卡成功后的状态处理逻辑
调整打卡成功后的状态更新顺序,确保在表单重置后再触发成功事件。同时移除失败时的提示代码,简化错误处理逻辑。在HomePage中同步调整状态更新顺序,并缩短成功状态显示时间。
Showing
2 changed files
with
8 additions
and
9 deletions
| ... | @@ -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 | ... | ... |
-
Please register or login to post a comment