|
|
@@ -181,7 +181,6 @@ function getTaskCount(flowStatus, index) {
|
|
|
.then(({ data }) => {
|
|
|
if (Array.isArray(data)) {
|
|
|
taskCounts.value[index] = data.length;
|
|
|
- console.log('taskCounts.value', taskCounts.value);
|
|
|
calendarRef.value && calendarRef.value.setCounts(index, taskCounts.value[index]);
|
|
|
|
|
|
if (index === 0) {
|
|
|
@@ -275,20 +274,39 @@ onActivated(() => {
|
|
|
if (mapContainer.value) {
|
|
|
mapPoint.value = store.state.home.miniUserLocationPoint;
|
|
|
indexMap.initMap(mapPoint.value, mapContainer.value, true);
|
|
|
+ // 等待地图初始化完成后再加载数据
|
|
|
+ setTimeout(() => {
|
|
|
+ initTaskCounts();
|
|
|
+ getSimpleList();
|
|
|
+ }, 300);
|
|
|
+ return;
|
|
|
}
|
|
|
} else {
|
|
|
- // 如果地图已初始化,更新地图尺寸(解决页面切换后地图不显示的问题)
|
|
|
+ // 如果地图已初始化,需要等待 tab 切换完成,容器完全可见后再更新尺寸
|
|
|
+ // Tab 切换时容器可能被隐藏,需要更长的延迟确保容器可见
|
|
|
if (mapContainer.value && indexMap.kmap.map) {
|
|
|
- // 等待容器完全可见后再更新尺寸
|
|
|
- setTimeout(() => {
|
|
|
- indexMap.kmap.map.updateSize();
|
|
|
- }, 100);
|
|
|
+ // 检查容器是否可见
|
|
|
+ const checkAndUpdateSize = () => {
|
|
|
+ const container = mapContainer.value;
|
|
|
+ if (container) {
|
|
|
+ const rect = container.getBoundingClientRect();
|
|
|
+ // 如果容器可见(有宽度和高度),更新地图尺寸
|
|
|
+ if (rect.width > 0 && rect.height > 0) {
|
|
|
+ indexMap.kmap.map.updateSize();
|
|
|
+ } else {
|
|
|
+ // 如果容器不可见,继续等待
|
|
|
+ setTimeout(checkAndUpdateSize, 100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // 延迟检查,确保 tab 切换完成
|
|
|
+ setTimeout(checkAndUpdateSize, 200);
|
|
|
}
|
|
|
}
|
|
|
+ // 初始化时获取所有状态的数量
|
|
|
+ initTaskCounts();
|
|
|
+ getSimpleList();
|
|
|
});
|
|
|
- // 初始化时获取所有状态的数量
|
|
|
- initTaskCounts();
|
|
|
- getSimpleList();
|
|
|
});
|
|
|
|
|
|
// 标记是否正在通过日期选择切换筛选(避免 watch 清除日期筛选)
|