# 权限拆分 Plan
## 当前重复权限汇总
### 类别A:跨Tab共用(按钮在不同Tab用同一权限)
| 权限字符 | 被哪些Tab共用 |
|----------|--------------|
| hidd:objhidd:add | selfEng / bidEng / consEng / partEng |
| hidd:objhidd:edit | selfEng / bidEng / consEng / partEng |
| hidd:objhidd:remove | selfEng / bidEng / consEng / partEng |
| hidd:objhidd:rectify | selfEng / bidEng / consEng |
| hidd:objhidd:report | selfEng / bidEng / subEng |
| hidd:objhidd:writeoff | selfEng / bidEng |
| hidd:objhidd:export | selfEng / subEng / bidEng / consEng / partEng |
### 类别B:同页面多按钮共用同一权限
| 权限字符 | 被哪些按钮共用 | 页面 |
|----------|--------------|------|
| hidd:month:supervise | **待审批(2831)** / **同意** / **不同意** | hidd/month.vue |
| hidd:month:report | **上报(2830)** / **撤销(2869已存在)** / **回撤** | hidd/month.vue |
| acci:month:supervise | **待审批** / **一键解锁** / **督促上报** | acci/month.vue |
| acci:month:report | **上报** / **撤销** | acci/month.vue |
> 注意:`hidd:month:revoke`(2869)、`hidd:month:urge`(2834) 已存在独立权限
---
## Task 1: 数据库 - 创建新权限菜单
### 1.1 隐患Tab级拆分(5组,约26个新菜单)
```
2660(selfEng)下: add, edit, remove, rectify, writeoff, report, export
2661(subEng)下: export
2662(bidEng)下: add, edit, remove, rectify, writeoff, report, export
2663(consEng)下: add, edit, remove, export
2664(partEng)下: add, edit, remove, export
```
命名规则: `hidd:selfEng:add`、`hidd:bidEng:edit`
### 1.2 隐患月报拆分(新增3个)
| 操作 | 新权限 | 说明 |
|------|--------|------|
| 待审批 | 保留2831 hidd:month:supervise | 不拆分 |
| 同意 | 新增 hidd:month:agree | 独立拆分 |
| 不同意 | 新增 hidd:month:disagree | 独立拆分 |
| 上报 | 保留2830 hidd:month:report | 不拆分 |
| 撤销 | 保留2869 hidd:month:revoke | 已独立 |
| 回撤 | 新增 hidd:month:recall | 独立拆分 |
### 1.3 事故月报拆分(新增4个)
| 操作 | 新权限 | 说明 |
|------|--------|------|
| 待审批 | 新增 acci:month:approve | 独立拆分 |
| 一键解锁 | 新增 acci:month:unlock | 独立拆分 |
| 督促上报 | 保留2689 acci:month:supervise | 已可用 |
| 上报 | 保留2688 acci:month:report | 不拆分 |
| 撤销 | 保留2874 acci:month:revoke | 已独立 |
---
## Task 2: 前端 - 修改 orgEngQuery.vue
约50处 `v-hasPermi` 改为按Tab区分:
```html
新建
新建
```
涉及的按钮:add/edit/remove/rectify/export/report/writeoff
---
## Task 3: 前端 - 修改 hidd/month.vue
约10处:
- 同意 → `hidd:month:agree`
- 不同意 → `hidd:month:disagree`
- 回撤 → `hidd:month:recall`
- 撤销 → 改为 `hidd:month:revoke`(2869)
---
## Task 4: 前端 - 修改 acci/month.vue
约8处:
- 待审批 → `acci:month:approve`
- 一键解锁 → `acci:month:unlock`
- 上报 → 保留 `acci:month:report`
- 撤销 → 改为 `acci:month:revoke`(2874)
---
## Task 5: 数据库 - 更新角色权限分配
旧权限从 sys_role_menu 删除,按Tab分配新权限。
---
## 工作量
| 任务 | 新增菜单 | 前端改处 | SQL条数 |
|------|---------|---------|--------|
| Task 1 | ~26个 | - | 26条INSERT |
| Task 2 | - | ~50处 | - |
| Task 3 | - | ~10处 | - |
| Task 4 | - | ~8处 | - |
| Task 5 | - | - | ~150条 |
| 合计 | 26 | ~68 | ~176 |