hookehuyr

fix(打卡页): 添加路由离开守卫清除筛选状态缓存

只有跳转到打卡详情页时保留筛选状态,其他情况离开页面都清除筛选缓存
<!--
* @Date: 2025-01-25 15:34:17
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-12-18 23:23:57
* @LastEditTime: 2025-12-18 23:28:38
* @FilePath: /mlaj/src/components/ui/CollapsibleCalendar.vue
* @Description: 可折叠日历组件
-->
......
......@@ -139,7 +139,7 @@
<script setup>
import { ref, onBeforeUnmount, onMounted, computed, nextTick, getCurrentInstance } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
import { showConfirmDialog, showSuccessToast, showFailToast, showLoadingToast } from 'vant';
import AppLayout from "@/components/layout/AppLayout.vue";
import FrostedGlass from "@/components/ui/FrostedGlass.vue";
......@@ -624,6 +624,18 @@ onMounted(async () => {
}
})
/**
* 路由离开守卫
* 只有跳转到打卡详情页(我要打卡/编辑)时保留筛选状态
* 其他情况离开页面都清除筛选缓存
*/
onBeforeRouteLeave((to, from) => {
// 检查目标路径是否是打卡详情页
if (!to.path.startsWith('/checkin/detail')) {
sessionStorage.removeItem('collapsible_calendar_filter_state')
}
})
const formatData = (data) => {
let formattedData = [];
formattedData = data?.checkin_list.map((item, index) => {
......