无极低码 :https://wheart.cn

function generateTableHead() {
const tableHead = document.getElementById('table-head');
tableHead.innerHTML = '';
// 添加复选框列的表头
const checkboxHead = document.createElement('th');
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.addEventListener('click', function() {
const checkboxes = document.querySelectorAll('#table input[type="checkbox"]');
checkboxes.forEach(cb => {
cb.checked = checkbox.checked;
});
});
checkboxHead.appendChild(checkbox);
tableHead.appendChild(checkboxHead);
// 添加序号列的表头
const indexHead = document.createElement('th');
indexHead.textContent = '序号';
tableHead.appendChild(indexHead);
// 添加其他数据列的表头
Object.keys(rowsToShow[0]).forEach(key => {
const th = document.createElement('th');
th.textContent = key;
th.style.width = 'auto';
tableHead.appendChild(th);
});
// 添加处理按钮列的表头
const buttonHead = document.createElement('th');
buttonHead.textContent = '操作';
buttonHead.style.textAlign = 'center'; // 设置浮动
tableHead.appendChild(buttonHead);
}
// 生成表格行
function generateTableRows(buttonData,btncallback) {
const tableBody = document.getElementById('table-body');
tableBody.innerHTML = '';
rowsToShow.forEach((rowData, index) => {
const row = document.createElement('tr');
// 添加复选框列
const checkboxCell = document.createElement('td');
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkboxCell.appendChild(checkbox);
row.appendChild(checkboxCell);
// 添加序号列
const indexCell = document.createElement('td');
indexCell.textContent = index + 1;
row.appendChild(indexCell);
// 添加其他数据列
Object.values(rowData).forEach(value => {
const td = document.createElement('td');
td.style.width = 'auto';
td.textContent = value;
row.appendChild(td);
});
// 添加处理按钮列
const buttonCell = document.createElement('td');
// buttonCell.style.float = 'right'; // 设置浮动
buttonCell.style.textAlign = 'center'; // 设置浮动
buttonCell.style.width = 'auto'; // 设置浮动
buttonData.forEach(button => {
const buttonElement = document.createElement('div');
console.log(button.icon)
buttonElement.innerHTML = `
<div class="button-content" >
<span class="icon">${button.icon}</span>
<span class="label">${button.label}</span>
</div>
`;
buttonElement.ev=button.ev;
button.class.forEach(cls => {
buttonElement.classList.add(cls);
});
buttonElement.style = button.style; // 设置按钮样式
buttonElement.addEventListener('click', function() {
if (typeof btncallback === 'function') {
btncallback(buttonElement.ev,rowData);
}
});
buttonCell.appendChild(buttonElement);
});
row.appendChild(buttonCell);
tableBody.appendChild(row);
});
}
// 处理行数据
function handleRowData(rowData) {
// 在这里执行处理行数据的操作
console.log(rowData);
}
// 获取选中数据
function getSelectedData() {
const selectedData = [];
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
checkboxes.forEach((cb, index) => {
if (cb.checked) {
selectedData.push(rowsToShow[index]);
}
});
return selectedData;
}
let activepage=1;
let selectCurent=0;
// 生成分页
function generatePagination(page, totalPages, totalRows,callback) {
const pagination = document.getElementById('pagination');
pagination.innerHTML = '';
const prevButton = document.createElement('a');
prevButton.classList.add('wpagebtn');
prevButton.classList.add('wpagebtn-hover');
prevButton.innerHTML = 'pre';
prevButton.addEventListener('click', () => {
if (page > 1) {
page--;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(prevButton);
const maxVisiblePages = 5; // 最大可见的页数
const middlePage = Math.ceil(maxVisiblePages / 2);
const startPage = Math.max(1, page - middlePage + 1);
const endPage = Math.min(startPage + maxVisiblePages - 1, totalPages);
if (startPage > 1) {
const firstPageButton = document.createElement('a');
firstPageButton.classList.add('wpagebtn');
firstPageButton.innerHTML = '1';
firstPageButton.addEventListener('click', () => {
if (page !== 1) {
page = 1;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(firstPageButton);
if (startPage > 2) {
const ellipsisButton = document.createElement('a');
ellipsisButton.classList.add('wpagebtn');
ellipsisButton.innerHTML = '...';
pagination.appendChild(ellipsisButton);
}
}
for (let i = startPage; i <= endPage; i++) {
const pageButton = document.createElement('a');
pageButton.classList.add('wpagebtn');
pageButton.innerHTML = i;
if (i === page) {
activepage=page;
pageButton.classList.add('wpagebtn-active');
}
pageButton.addEventListener('click', () => {
if (i !== page) {
page = i;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(pageButton);
}
if (endPage < totalPages) {
if (endPage < totalPages - 1) {
const ellipsisButton = document.createElement('a');
ellipsisButton.classList.add('wpagebtn');
ellipsisButton.innerHTML = '...';
pagination.appendChild(ellipsisButton);
}
const lastPageButton = document.createElement('a');
lastPageButton.classList.add('wpagebtn');
lastPageButton.innerHTML = totalPages;
lastPageButton.addEventListener('click', () => {
if (page !== totalPages) {
page = totalPages;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(lastPageButton);
}
const nextButton = document.createElement('a');
nextButton.classList.add('wpagebtn');
nextButton.classList.add('wpagebtn-hover');
nextButton.innerHTML = 'next';
nextButton.addEventListener('click', () => {
if (page < totalPages) {
page++;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(nextButton);
const totalRowsElement = document.createElement('span');
totalRowsElement.classList.add('wpagebtn');
totalRowsElement.innerHTML = `总条数:${totalRows}`;
pagination.appendChild(totalRowsElement);
const selectContainer = document.createElement('select');
selectContainer.classList.add('wpage-select');
selectContainer.addEventListener('change', () => {
const value = parseInt(selectContainer.value);
page = 1; // 将当前页码重置为 1
activepage = 1; // 重置当前选中的页面
selectCurent=value;
pageSize=selectCurent;
if (typeof callback === 'function') {
const result = {page:page,pageSize:pageSize};
callback(result);
}
});
const options = [10, 20, 50, 100,200];
for (let i = 0; i < options.length; i++) {
const option = document.createElement('option');
option.value = options[i];
option.text = `${options[i]} 条/页`;
if(selectCurent==options[i]){
option.selected=true;
}
selectContainer.appendChild(option);
}
pagination.appendChild(selectContainer);
const spango = document.createElement('span');
spango.classList.add('wpagebtn');
spango.innerText="前往";
pagination.appendChild(spango);
const inputgo = document.createElement('input');
inputgo.classList.add('wpagetinput');
inputgo.value= activepage;
inputgo.addEventListener('input', ()=> {
const value = parseInt(inputgo.value);
if (value >= 1 && value <= totalPages) {
activepage = value; // 更新当前选中的页面
if (typeof callback === 'function') {
const result = {page:value,pageSize:pageSize};
callback(result);
}
}
});
pagination.appendChild(inputgo);
const spangoend = document.createElement('span');
spangoend.classList.add('wpagebtn');
spangoend.innerText="页";
pagination.appendChild(spangoend);
}
无极低码 :https://wheart.cn
-
2024-10-12 08:59:22.0
可视化,大数据,gis
-
2024-08-29 08:44:47.0
GIS,leafletjs,js,地图,可视化,百度,高德
-
2024-08-26 11:41:05.0
三维,模型,glft,无极低码
-
2024-04-20 08:51:41.0
echart,js,可视化,前端,流动关系图
-
2024-04-04 13:09:31.0
编程,程序,js,教程,程序员,入门教程
-
2024-02-17 21:55:21.0
layui,前端,js,cascader
-
2023-11-26 22:38:27.0
layui,js,前端,树,字典
-
2023-07-28 23:56:45.0
gis,前端,可视化,风场,洋流,天气
-
2023-07-16 15:42:34.0
JavaScript,入门教程表单处理swiper
-
2023-07-05 22:52:01.0
js,javascript,正则表达式,form表单验证
-
2023-07-03 18:03:43.0
原型设计,可视化,axure模板,产品设计
-
2023-07-02 22:43:01.0
mdui,分页,html,js
-
2023-07-01 10:59:29.0
layui,前端,js
-
2023-06-29 21:55:58.0
项目计划,里程碑计划,工期计算,项目工时估算
-
2023-05-28 19:55:56.0
可视化,GIS,大数据,热力图,动态地图,三维,百度地图特效,高德地图,地图动画
-
2023-05-14 18:08:23.0
大屏,gis,前端,可视化,免费
-
2023-05-07 15:22:23.0
语音合成,前端,JavaScript,html
-
2023-05-07 14:58:59.0
js,html,JavaScript,vue
-
2023-04-27 21:10:07.0
JavaScript,图片上传
-
2023-04-26 13:17:56.0
html,Javascript,css,面试,前端
-
2023-04-21 22:21:03.0
wangeditor,富文本,代码,highlight.js
-
2023-04-13 21:21:26.0
GIS,可视化,百度地图
-
2023-03-26 20:12:31.0
base64,js,前端,加密,解密,jquery
-
2023-03-26 18:52:41.0
JS,加密,前端,加解密
-
2023-03-22 19:45:58.0
js,前端,乱码,jquery,移动端,web,全栈
-
2022-12-15 16:45:16.0
大数据,气象数据,天气数据,历史天气,最新数据
-
2023-03-12 21:01:30.0
免费,云服务,ECS,腾讯云,云主机
-
2023-03-12 21:59:56.0
大数据,gis绘图,乡镇边界,数据可视化,地图
-
2023-01-15 16:32:02.0
可视化,大数据,大屏,图标,新冠病毒,前端,特效
-
2023-01-11 16:32:02.0
可视化,大数据,大屏,图标,新冠病毒,前端,特效
-
2022-12-15 16:45:16.0
大数据,小程序,编程,免费
-
2022-12-15 16:45:16.0
大数据,小程序,编程,免费