fs-lawrisk/HIERARCHY_DEBUG_QUICK_REF.md

127 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 组织架构层级调试快速参考
## 问题描述
"三水区服务部门" 和 "佛山交通运输局" 应该显示相同的缩进(都是 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 验证查询
如果需要直接查询数据库:
```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 行)
## 下一步
1. 按照上述步骤测试
2. 记录控制台输出
3. 根据输出结果决定修复方案
4. 如需帮助,提供控制台输出截图