3.3 KiB
3.3 KiB
组织架构层级调试快速参考
问题描述
"三水区服务部门" 和 "佛山交通运输局" 应该显示相同的缩进(都是 Level 1),但前端显示不一致。
已添加的调试功能
✅ 前端调试日志 (已添加到 super_admin.html)
在浏览器控制台会看到:
=== 组织架构层级调试 ===- API 返回的完整树形结构扁平化节点数量- 所有节点的 level 值🔍 渲染节点- 每个节点渲染时的详细信息=== 渲染完成 ===- 包含"交通运输"和"三水"的部门列表
快速测试步骤
1️⃣ 清除缓存(必须)
Ctrl + Shift + Delete → 清除"缓存的图片和文件"
2️⃣ 强制刷新
Ctrl + F5
3️⃣ 打开开发者工具
F12 → Console 标签
4️⃣ 查找关键信息
在控制台中搜索:
"佛山交通运输局""三水区服务部门""交通运输"(查看所有包含此关键词的部门)
预期的正确输出
扁平化节点数量: XX
所有节点 level 值:
[Level 0] 市级服务部门 (ID: xxx, Parent: root)
[Level 1] 三水区服务部门 (ID: xxx, Parent: 市级服务部门的ID) ✅
[Level 1] 佛山交通运输局 (ID: xxx, Parent: 市级服务部门的ID) ✅
🔍 渲染节点: "三水区服务部门"
- level: 1
- indent: 30px
🔍 渲染节点: "佛山交通运输局"
- level: 1
- indent: 30px
如果看到错误的输出
情况 1: Level 不一致
[Level 1] 三水区服务部门
[Level 2] 佛山交通运输局 ❌ 错误!
→ 问题: API 返回的数据不正确 → 解决: 需要修复数据库
情况 2: Indent 不一致
🔍 渲染节点: "三水区服务部门"
- indent: 30px
🔍 渲染节点: "佛山交通运输局"
- indent: 60px ❌ 错误!
→ 问题: 前端渲染逻辑错误
→ 解决: 检查 renderOrgListNode 函数
情况 3: 部门名称不匹配
部门名称中包含"交通运输"的节点:
- 佛山市交通运输局 (Level: 1) ← 注意是"佛山市"不是"佛山"
→ 问题: 数据库中的部门名称与用户看到的不一致 → 解决: 确认数据库中实际的部门名称
SQL 验证查询
如果需要直接查询数据库:
-- 查看相关部门的层级关系
SELECT
sd.id,
sd.name,
sd.code,
sd.parent_id,
parent.name as parent_name,
sd.unit_level
FROM service_departments sd
LEFT JOIN service_departments parent ON sd.parent_id = parent.id
WHERE sd.name LIKE '%交通运输%'
OR sd.name LIKE '%三水%'
ORDER BY sd.name;
常见问题速查表
| 症状 | 可能原因 | 解决方案 |
|---|---|---|
| 清除缓存后问题仍存在 | API 数据错误 | 检查 Network 标签的响应 |
| 控制台无调试输出 | 代码未加载 | 强制刷新 (Ctrl+F5) |
| API 数据正确但显示错误 | 前端渲染问题 | 检查 level 参数传递 |
| 找不到"佛山交通运输局" | 部门名称不一致 | 查询数据库确认名称 |
关键文件位置
- 前端:
static/super_admin.html(第 2602-2625 行) - API:
lawrisk/api/v2.py(第 545-556 行) - 数据逻辑:
lawrisk/services/licensing_repo.py(第 2190-2224 行)
下一步
- 按照上述步骤测试
- 记录控制台输出
- 根据输出结果决定修复方案
- 如需帮助,提供控制台输出截图