diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js index 9f7be8b9..1dbc227f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js @@ -104,11 +104,49 @@ export class MarkerCluster { ); //data.length 大于 5 取前5个数, 否则直接返回data const pageSize = 6; - let pageNum = 1; - const dataFisrtPage = - data.length > pageSize - ? data.slice((pageNum - 1) * pageSize, pageSize) - : data; + let page = 1; + const totalPages = Math.ceil(data.length / pageSize); + const dataFirstPage = + totalPages > 1 ? data.slice((page - 1) * pageSize, pageSize) : data; + window.pageSize = pageSize; + window.page = page; + window.totalPages = totalPages; + + function renderData(page) { + if (page < 1 || page > totalPages) return; + window.page = page; + const pageSize = window.pageSize; + const dataContainer = document.getElementById("dataContainer"); + + // 清空数据容器 + dataContainer.innerHTML = ""; + + // 计算当前页起始索引和结束索引 + const startIndex = (page - 1) * pageSize; + const endIndex = startIndex + pageSize; + + // 截取当前页的数据 + const currentPageData = data.slice(startIndex, endIndex); + + const itemsTpl = currentPageData + .map( + (item) => ` +
+ + ${ + item.extData.deviceName || + item.extData.warningTitle || + item.config?.item.title + } +
+ ` + ) + .join(""); + // 渲染当前页数据 + dataContainer.innerHTML = itemsTpl; + } + + window.renderData = renderData; this.infoWindow.setContent(`
-
- ${dataFisrtPage +
+ ${dataFirstPage .map( (item) => `
@@ -141,6 +179,10 @@ export class MarkerCluster { ) .join("")}
+
+ + +
`); this.infoWindow.open(map, data[0].lnglat);