fix: add null checks to UI functions in db_admin.html to prevent innerHTML errors

This commit is contained in:
Codex Agent 2025-12-25 19:58:33 +08:00
parent 70e46a730e
commit 2141db2db7
1 changed files with 14 additions and 3 deletions

View File

@ -2862,6 +2862,7 @@
// 加载区划列表
async function loadRegions() {
const navList = document.getElementById('navList');
if (!navList) return;
navList.innerHTML = '<div class="loading"><span class="loading-icon"></span>加载区划列表...</div>';
try {
@ -2899,6 +2900,7 @@
return;
}
const navList = document.getElementById('navList');
if (!navList) return;
navList.innerHTML = '<div class="loading"><span class="loading-icon"></span>加载事项列表...</div>';
try {
@ -2981,11 +2983,17 @@
currentStep = step;
// 更新导航标题
document.getElementById('navTitle').querySelector('span').textContent = steps[step].title;
const navTitle = document.getElementById('navTitle');
if (navTitle) {
const span = navTitle.querySelector('span');
if (span) span.textContent = steps[step].title;
}
// 更新上一步按钮
const backButton = document.getElementById('backButton');
backButton.disabled = historyStack.length === 0;
if (backButton) {
backButton.disabled = historyStack.length === 0;
}
// 更新步骤指示器
updateStepIndicator(step);
@ -2995,7 +3003,7 @@
// 清空详情区域
const detailsArea = document.getElementById('detailsArea');
if (step === 1) {
if (detailsArea && step === 1) {
detailsArea.innerHTML = `
<div class="empty-state">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@ -3019,6 +3027,7 @@
// 更新面包屑导航
function updateBreadcrumb() {
const breadcrumb = document.getElementById('breadcrumb');
if (!breadcrumb) return;
let html = `
<span class="breadcrumb-item">
<a onclick="goHome()">首页</a>
@ -3093,6 +3102,7 @@
// 显示许可详情
async function showPermitDetails() {
const detailsArea = document.getElementById('detailsArea');
if (!detailsArea) return;
detailsArea.innerHTML = '<div class="loading"><span class="loading-icon"></span>加载许可详情...</div>';
try {
@ -3133,6 +3143,7 @@
// 渲染许可详情
function renderPermitDetails(permit) {
const detailsArea = document.querySelector('.details-area');
if (!detailsArea) return;
currentPermitDetails = permit;
const riskCount = Array.isArray(permit.risks) ? permit.risks.length : 0;
const permitTheme = permit && permit.theme ? permit.theme : {};