## 多租户公司数据隔离 - 新增 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
96 lines
2.1 KiB
TypeScript
96 lines
2.1 KiB
TypeScript
import request from '@/utils/request'
|
||
|
||
// 登录
|
||
export function login(data: any) {
|
||
return request({
|
||
url: '/v1/auth/login',
|
||
method: 'post',
|
||
data
|
||
})
|
||
}
|
||
|
||
// 创建用户 (管理员专用)
|
||
export function createUser(data: any) {
|
||
return request({
|
||
url: '/v1/auth/user/create',
|
||
method: 'post',
|
||
data
|
||
})
|
||
}
|
||
|
||
// [新增] 更新用户
|
||
export function updateUser(id: number, data: any) {
|
||
return request({
|
||
url: `/v1/auth/user/${id}`,
|
||
method: 'put',
|
||
data
|
||
})
|
||
}
|
||
|
||
// 获取当前登录用户信息
|
||
export function getUserInfo() {
|
||
return request({
|
||
url: '/v1/auth/me',
|
||
method: 'get'
|
||
})
|
||
}
|
||
|
||
// 获取所有用户列表(支持公司过滤参数)
|
||
export function getUserList(params?: any) {
|
||
return request({
|
||
url: '/v1/auth/users',
|
||
method: 'get',
|
||
params
|
||
})
|
||
}
|
||
|
||
// 删除用户
|
||
export function deleteUser(id: number) {
|
||
return request({
|
||
url: `/v1/auth/user/${id}`,
|
||
method: 'delete'
|
||
})
|
||
}
|
||
|
||
// 【新增】获取当前登录用户的个人资料(只含姓名/账号/部门,严格脱敏)
|
||
export function getMyProfile() {
|
||
return request({
|
||
url: '/v1/auth/me',
|
||
method: 'get'
|
||
})
|
||
}
|
||
|
||
// 【新增】自我修改密码(无需旧密码,JWT 已证明身份)
|
||
export function changeMyPassword(data: { new_password: string; confirm_password: string }) {
|
||
return request({
|
||
url: '/v1/auth/me/password',
|
||
method: 'put',
|
||
data
|
||
})
|
||
}
|
||
|
||
// 【新增】自我更新邮箱(与密码修改完全隔离)
|
||
export function updateMyEmail(data: { email: string }) {
|
||
return request({
|
||
url: '/v1/auth/me/email',
|
||
method: 'put',
|
||
data
|
||
})
|
||
}
|
||
|
||
// 【新增】批量创建用户
|
||
export function batchCreateUser(data: any[]) {
|
||
return request({
|
||
url: '/v1/auth/user/batch',
|
||
method: 'post',
|
||
data
|
||
})
|
||
}
|
||
|
||
// ★ 获取可指定审批人列表(SUPERVISOR / SUPER_ADMIN 且 status=active)
|
||
export function getApproversList() {
|
||
return request({
|
||
url: '/v1/auth/users/approvers',
|
||
method: 'get'
|
||
})
|
||
} |