Browse Source

feat 更新分页 页码

wangqin
qingzhengli 11 months ago
parent
commit
98b8b0a8d7
  1. 28
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js

28
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js

@ -112,39 +112,40 @@ export class MarkerCluster {
window.pageSize = pageSize; window.pageSize = pageSize;
window.page = page; window.page = page;
window.totalPages = totalPages; window.totalPages = totalPages;
let num = (page - 1) * pageSize;
function renderData(page) { function renderData(page) {
if (page < 1 || page > totalPages) return; if (page < 1 || page > totalPages) return;
window.page = page; window.page = page;
const pageSize = window.pageSize; const pageSize = window.pageSize;
const dataContainer = document.getElementById("dataContainer"); const dataContainer = document.getElementById("dataContainer");
const dataPage = document.getElementById("dataPage");
// 清空数据容器 // 清空数据容器
// dataContainer.innerHTML = ""; // dataContainer.innerHTML = "";
// 计算当前页起始索引和结束索引 // 计算当前页起始索引和结束索引
const startIndex = (page - 1) * pageSize; const startIndex = (page - 1) * pageSize;
const endIndex = startIndex + pageSize; const endIndex = startIndex + pageSize;
let num = (page - 1) * pageSize;
// 截取当前页的数据 // 截取当前页的数据
const currentPageData = data.slice(startIndex, endIndex); const currentPageData = data.slice(startIndex, endIndex);
window.currentPageData = currentPageData; window.currentPageData = currentPageData;
const itemsTpl = currentPageData const itemsTpl = currentPageData
.map( .map((item) => {
(item) => ` return `
<div style="cursor: pointer; padding: 3px 6px;display: flex;align-items: center; gap: 6px;" class="info-window-item"> <div style="cursor: pointer; padding: 3px 6px;display: flex;align-items: center; gap: 6px;" class="info-window-item">
<img style="width: 18px;" src="${getIcon(item)}" /> ${++num}<img style="width: 18px;" src="${getIcon(item)}" />
<span>${ <span>${(
item.extData.deviceName || item.extData.deviceName ||
item.extData.warningTitle || item.extData.warningTitle ||
item.config?.item.title item.config?.item.title
}</span> ).replace("G35 ", "")}</span>
</div> </div>
` `;
) })
.join(""); .join("");
// 渲染当前页数据 // 渲染当前页数据
dataContainer.innerHTML = itemsTpl; dataContainer.innerHTML = itemsTpl;
dataPage.innerHTML = `${page}`;
bindItemClick(); bindItemClick();
} }
@ -170,12 +171,12 @@ export class MarkerCluster {
.map( .map(
(item) => ` (item) => `
<div style="cursor: pointer; padding: 3px 6px;display: flex;align-items: center; gap: 6px;" class="info-window-item"> <div style="cursor: pointer; padding: 3px 6px;display: flex;align-items: center; gap: 6px;" class="info-window-item">
<img style="width: 18px;" src="${getIcon(item)}" /> ${++num} <img style="width: 18px;" src="${getIcon(item)}" />
<span>${ <span>${(
item.extData.deviceName || item.extData.deviceName ||
item.extData.warningTitle || item.extData.warningTitle ||
item.config?.item.title item.config?.item.title
}</span> ).replace("G35 ", "")}</span>
</div> </div>
` `
) )
@ -186,6 +187,7 @@ export class MarkerCluster {
? ` ? `
<div id="paginationContainer" style="text-align:center;margin-bottom:5px;"> <div id="paginationContainer" style="text-align:center;margin-bottom:5px;">
<button style="padding: 0 15px;background: #00B3CC;border-radius: 48px;cursor: pointer;opacity: 1;gap: 6px;font-size: 14px;font-weight: 500;color: #FFFFFF;border: 1px solid rgba(42, 217, 253, 0.6);" onclick="renderData(window.page-1)">上一页</button> <button style="padding: 0 15px;background: #00B3CC;border-radius: 48px;cursor: pointer;opacity: 1;gap: 6px;font-size: 14px;font-weight: 500;color: #FFFFFF;border: 1px solid rgba(42, 217, 253, 0.6);" onclick="renderData(window.page-1)">上一页</button>
<span id="dataPage" style="font-size: 14px;font-weight: 500;color: #FFFFFF;"> 第${page} </span>
<button style="padding: 0 15px;background: #00B3CC;border-radius: 48px;cursor: pointer;opacity: 1;gap: 6px;font-size: 14px;font-weight: 500;color: #FFFFFF;border: 1px solid rgba(42, 217, 253, 0.6);" onclick="renderData(window.page+1)">下一页</button> <button style="padding: 0 15px;background: #00B3CC;border-radius: 48px;cursor: pointer;opacity: 1;gap: 6px;font-size: 14px;font-weight: 500;color: #FFFFFF;border: 1px solid rgba(42, 217, 253, 0.6);" onclick="renderData(window.page+1)">下一页</button>
</div>` </div>`
: "" : ""

Loading…
Cancel
Save