127 lines
3.3 KiB
Markdown
127 lines
3.3 KiB
Markdown
|
|
# 组织架构层级调试快速参考
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
"三水区服务部门" 和 "佛山交通运输局" 应该显示相同的缩进(都是 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. 如需帮助,提供控制台输出截图
|