+ const colCount = displayFields.length + 3; // 名称 + 字段 + 日期 + 操作
+ document.getElementById('itemsTable').innerHTML = `
+
|
暂无数据
-
+ |
`;
return;
}
- document.getElementById('itemsList').innerHTML = items.map(item => {
- const fields = Object.entries(item)
- .filter(([key, val]) => !['id', 'category_id', 'created_at', 'updated_at', 'visible', 'is_pinned', 'views', 'publish_date'].includes(key) && val)
- .slice(0, 5)
- .map(([key, val]) => `
${key}: ${val}`)
- .join('
');
-
- return `
-
-
-
-
- ${item.is_pinned ? '' : ''}
- ${item.name || item.title || '未命名'}
-
-
- ${fields}
-
-
-
-
- ${item.publish_date || (item.created_at ? item.created_at.split(' ')[0] : '')}
-
- ${item.views ? `
${item.views}
` : ''}
-
-
+ const html = items.map(item => {
+ let row = `
`;
+
+ // 名称列
+ row += `|
+
+ ${item.is_pinned ? '' : ''}
+ ${item.name || item.title || '未命名'}
- `;
+ ${item.views ? `${item.views} ` : ''}
+ | `;
+
+ // 动态字段列
+ displayFields.forEach(f => {
+ const value = item[f.key] || '-';
+ row += `${value} | `;
+ });
+
+ // 发布日期列
+ row += `${item.publish_date || (item.created_at ? item.created_at.split(' ')[0] : '-')} | `;
+
+ // 操作列
+ row += `
+
+ | `;
+
+ row += '
';
+ return row;
}).join('');
+
+ document.getElementById('itemsTable').innerHTML = html;
}
// 搜索过滤
@@ -191,6 +248,56 @@
renderItems(filtered);
}
+ // 显示详情
+ function showDetail(id) {
+ const item = allItems.find(i => i.id === id);
+ if (!item) return;
+
+ document.getElementById('modalTitle').textContent = item.name || '详情';
+
+ let html = '
';
+
+ // 按字段顺序显示
+ if (currentCategory && currentCategory.fields) {
+ currentCategory.fields.forEach(f => {
+ if (item[f.key]) {
+ const value = item[f.key];
+ html += `
+
+ ${f.label}
+ ${value}
+
+ `;
+ }
+ });
+ }
+
+ // 添加统计信息
+ if (item.views) {
+ html += `
+
+ 热度
+ ${item.views}
+
+ `;
+ }
+
+ html += '
';
+
+ document.getElementById('modalContent').innerHTML = html;
+ document.getElementById('detailModal').classList.remove('hidden');
+ }
+
+ // 关闭弹窗
+ function closeModal() {
+ document.getElementById('detailModal').classList.add('hidden');
+ }
+
+ // 点击弹窗外部关闭
+ document.getElementById('detailModal').addEventListener('click', function(e) {
+ if (e.target === this) closeModal();
+ });
+
// 初始化
loadNav();
loadItems();