diff --git a/gvsds/apps/gerp/form_service.py b/gvsds/apps/gerp/form_service.py index b82283c5..38deb4ef 100644 --- a/gvsds/apps/gerp/form_service.py +++ b/gvsds/apps/gerp/form_service.py @@ -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 是"完善本企业"向导, # 防重复提交产生多条;修改走租户详情编辑) diff --git a/gvsds/apps/gerp/views/form_api.py b/gvsds/apps/gerp/views/form_api.py index bdd77430..b16b752d 100644 --- a/gvsds/apps/gerp/views/form_api.py +++ b/gvsds/apps/gerp/views/form_api.py @@ -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 同时匹配用户名与部门名,任一命中即保留(并集)