refactor(gerp): 统一「部门员工关联」叫法(工作组新增 + 员工档案)

工作组详情「新增」表单里原「用户-角色关联」字段(UserRoleWorkgroup.UserRoleUUID 选择器)标题与占位文案改为「部门员工关联」,与员工档案新增的同类选择器叫法一致;员工档案虚拟列标题由「部门-员工」改为「部门员工关联」,相关校验提示同步改为该叫法。
This commit is contained in:
TermiNexus committed 2026-09-30 10:59:33 +08:00
1 parent 9a2d1be1b2
commit 59d72af7a5
2 files changed
+15 -12

No files matched your search

+9 -7
View File
@@ -663,7 +663,7 @@ class FormService(FormServiceBase):
'labelField': 'UserName',
'secondaryField': 'RoleName',
'valueField': 'UserRoleUUID',
'placeholder': '选择用户-角色关联(按部门分组展示)',
'placeholder': '选择部门员工关联(按部门分组展示)',
'treeGroup': {
'groupField': 'DeptUUID',
'treeField': 'tree',
@@ -685,7 +685,7 @@ class FormService(FormServiceBase):
'labelField': 'UserName',
'secondaryField': 'RoleName',
'valueField': 'UserRoleUUID',
'placeholder': '选择用户-角色关联(按部门分组展示)',
'placeholder': '选择部门员工关联(按部门分组展示)',
'treeGroup': {
'groupField': 'DeptUUID',
'treeField': 'tree',
@@ -714,7 +714,9 @@ class FormService(FormServiceBase):
col['visible'] = False
if table_name == 'UserRoleWorkgroup' and pascal_name == 'UserRoleUUID':
col['visible'] = False
col['title'] = '用户-角色关联' # 编辑/新增表单选择器标题(原 verbose_name 带 UUID 后缀)
# 表单选择器标题:原 verbose_name 带 UUID 后缀;统一叫法「部门员工关联」
# (选一条=某个部门里的某个员工,与员工档案的同类选择器一致)
col['title'] = '部门员工关联'
if table_name == 'UserRoleWorkgroup' and pascal_name == 'PositionUUID':
col['title'] = '职务'
# Position 列可读性:CategoryUUID(绑定通用部门)列标题去 UUID 后缀;
@@ -1058,20 +1060,20 @@ class FormService(FormServiceBase):
'multiValue': True, # 前端多选:值/回显为逗号分隔的多个职务
})
columns = virtual_cols + columns
# EmployeeProfile(员工档案)虚拟列"部门-员工":直接选一条用户-角色-部门关系
# EmployeeProfile(员工档案)虚拟列"部门员工关联":直接选一条用户-角色-部门关系
# (UserRoleDepartment),选中即同时确定员工(UserUUID)与部门(DeptUUID/DeptName);
# 写库由 add_record / modify_record 解析该 UUID,列表仍展示真实列(员工/部门)
if table_name == 'EmployeeProfile':
columns = [{
'field': 'UserRoleDepartmentUUID',
'title': '部门-员工',
'title': '部门员工关联',
'titleEn': 'UserRoleDepartmentUUID',
'type': 'entityPicker',
'entityPicker': {
'api': '/API/FormAPI/DeptEmployeeSearch',
'labelField': 'DeptEmployeeLabel',
'valueField': 'UserRoleDepartmentUUID',
'placeholder': '搜索部门-员工(部门 · 姓名)',
'placeholder': '搜索部门员工关联(部门 · 姓名)',
},
'editable': True,
'sortable': False,
@@ -1717,7 +1719,7 @@ class FormService(FormServiceBase):
if _de_updates:
create_data.update(_de_updates)
elif not create_data.get('UserUUID'):
return {'error': '请选择「部门-员工」(员工档案须绑定一条部门-员工关系)',
return {'error': '请选择「部门员工关联」(员工档案须绑定一条部门员工关联)',
'field': 'UserRoleDepartmentUUID'}
# CompanyInfo 唯一性:同一租户仅一条企业信息(epcreate 是"完善本企业"向导,
# 防重复提交产生多条;修改走租户详情编辑)
+6 -5
View File
@@ -538,15 +538,16 @@ def _ToUuidStr(value):
class DeptEmployeeSearchView(ELTAuthenticatedAPIView):
"""「部门-员工」关系搜索——"部门-员工"选择框的数据源
"""「部门员工关联」搜索——"部门员工关联"选择框的数据源
GET /API/FormAPI/DeptEmployeeSearch?keyword=&CompanyUUID=&DeptUUID=&offset=
设计要点:
- 数据源是 UserRoleDepartment(部门-员工关系),而非"用户表 + 部门表"两张独立表:
选择器里一项 = 一条部门-员工关系,选中即可同时确定员工与部门(及部门名)。
- 返回字段:UserRoleDepartmentUUID / DeptUUID / DeptName / UserUUID / UserName /
DeptEmployeeLabel("部门名 · 用户名",选择器展示文本)
- 数据源是 UserRoleDepartment(部门员工关联),而非"用户表 + 部门表"两张独立表:
选择器里一项 = 一条部门员工关联,选中即可同时确定员工与部门(及部门名)。
员工档案(EmployeeProfile)与工作组员工(UserRoleWorkgroup)共用同一叫法。
- 返回字段:UserRoleDepartmentUUID / UserRoleUUID / DeptUUID / DeptName / UserUUID /
UserName / DeptEmployeeLabel("部门名 · 用户名",选择器展示文本)
- 范围:显式传 CompanyUUID 时强制该公司(超管也不豁免);否则取当前角色公司;
无公司上下文返回空列表(不退化成全表)
- keyword 同时匹配用户名与部门名,任一命中即保留(并集)