Commit Graph

26 Commits

Author SHA1 Message Date
4f5965db02 feat: JWT多租户数据权限隔离 & 主管系统管理权限 & 含税单价补齐
## 多租户公司数据隔离
- 新增 get_current_company_filter() 工具函数 (decorators.py)
  SUPER_ADMIN: 可传company_name参数过滤或传ALL看全量
  其他角色: 强制隔离到JWT中的company_name
- 重构 base_service.py / buy_service.py: 用集中式函数替换内联公司过滤
- SysRolePermission 表新增 company_name 字段,支持同角色不同公司权限
- get_user_permissions() 新增 company_name 参数,查公司定制+全局模板权限
- permission.py API 新增 @permission_required 拦截 + 公司过滤
- 19个API/service文件传递 company_name 到权限查询

## 主管系统管理权限
- delete_user() 允许SUPERVISOR删除同公司用户 (原仅SUPER_ADMIN)
- get_all_users() 新增 company_name 参数过滤
- 用户列表/权限分配 API 应用 get_current_company_filter()
- 前端 UserCreate.vue: 超管可见公司下拉框,主管隐藏部门字段

## 前端多租户适配
- material/list.vue / buy.vue: 公司下拉框仅超管可见,默认ALL
- UserCreate.vue: 新增搜索栏公司筛选,部门字段按角色显隐
- auth.ts: getUserList() 支持 params 参数

## Bug修复: 含税单价字段补齐
- buy.vue: 表格列/高级筛选/排序/权限映射新增 post_tax_unit_price
- buy_service.py: allowed_fields/sort_field_map 新增 post_tax_unit_price
2026-07-13 15:12:22 +08:00
DXC
1205d9c7e8 feat(audit): 优化审计日志的人性化展示 2026-04-22 10:44:13 +08:00
DXC
59a6a10803 fix(audit): 完善前端审计日志详情展示,支持同时渲染changes/deleted_snapshot/created结构 2026-04-20 16:11:14 +08:00
DXC
9a0982e76d feat(audit-ui): 重新应用前端审计详情弹窗渲染逻辑,支持高级对比结构 2026-04-20 13:20:23 +08:00
dxc
becd3cb010 审计日志修改完善 2026-04-20 11:39:28 +08:00
DXC
7d683f3e65 fix: implement strict regex validation (no pure numbers, no special chars) on both frontend user creation form and backend auth service 2026-04-17 13:33:51 +08:00
DXC
d651d19e86 feat(system): implement robust batch user creation integrating existing pinyin logic and backend duplication prevention 2026-04-17 12:16:45 +08:00
DXC
6c0e13e52d fix(frontend): reclassify global cross-company privilege as an operation to fix UI placement, and strictly enforce permission-driven table columns by bypassing localstorage 2026-04-17 09:36:23 +08:00
DXC
bd93a3d70b feat: implement clean global cross-organization permission node and backend service isolation logic 2026-04-17 08:59:55 +08:00
DXC
edf09508f6 fix(frontend): resolve cross-page selection loss, add destroy-on-close to dialogs, and fix row-key collision in stocktake 2026-04-02 18:35:11 +08:00
DXC
06677ee92c style: format user creation time to display only date 2026-03-18 16:43:44 +08:00
DXC
cd192624b9 fix: 统一系统生成时间为北京时间(UTC+8)并优化审计日志表格列展示 2026-03-10 17:33:14 +08:00
DXC
be6575344a feat: 新增企业级操作审计日志闭环模块(包含底层模型、记录装饰器与前端看板) 2026-03-10 12:15:26 +08:00
dxc
8f6d0cd40b 修改采购件页面金额显示,修改权限管理页面非字段级内容可见与可编辑联动 2026-02-28 09:10:51 +08:00
dxc
4324e5a688 feat: add field-level data protection for BOM and user management
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 15:16:11 +08:00
dxc
00c45c72fb inventory-web/src/views/system/UserCreate.vue
```vue
<<<<<<< SEARCH
          <el-button type="primary" @click="handleCreate">
            + 新增员工
          </el-button>
=======
          <el-button v-if="userStore.hasPermission('system_user:operation')" type="primary" @click="handleCreate">
            + 新增员工
          </el-button>
>>>>>>> REPLACE
```

Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 14:34:48 +08:00
dxc
6fa5233ea6 feat: implement RBAC and field masking for system_user module
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 14:28:48 +08:00
dxc
4c1c61065e fix: exclude operation columns from field permission dropdown
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 11:08:00 +08:00
dxc
25487dbede fix: operation permission detection for codes ending with :operation
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 11:00:44 +08:00
dxc
7431f1f41e 权限管理,没有页面修改之前版本 2026-02-25 16:10:12 +08:00
dxc
82a9a4c2ba 修改登录,实现中文名称显示,以及修改登录逻辑 2026-02-25 11:18:01 +08:00
dxc
1c3f116c50 修改登录,添加超级管理员权限 2026-02-25 11:02:06 +08:00
dxc
88d32067ae 将邮箱设定为必选项 2026-02-10 11:50:07 +08:00
dxc
596f366fc4 进入界面的调整 2026-02-04 15:55:20 +08:00
dxc
ea17413bc1 新增用户页面更新以及调整 2026-02-04 15:16:14 +08:00
dxc
13590b1fac 超级管理员登录设置 2026-02-04 13:30:07 +08:00