feat(gerp): 新增表单把部门员工关联选择器置顶
新增 DEPT_EMPLOYEE_FIRST_TABLES(UserRoleWorkgroup / EmployeeProfile)并在 get_columns 收尾处把「部门员工关联」列移到表单最前:先选它即可带出员工/部门/角色,其余字段(职务/类型等)为派生或可选。实测顺序:工作组成员新增 = 部门员工关联 → 职务 → 类型。
This commit is contained in:
1 parent
b44dddd857
commit
86ae4fb2a1
1 file changed
+11
@@ -242,6 +242,9 @@ class FormService(FormServiceBase):
|
||||
|
||||
# 订单系列表:由 OrderManager 统一管理(状态机保护),禁止裸增删改
|
||||
ORDER_MANAGED_TABLES = {'Order', 'OrderItem'}
|
||||
# 表单里「部门员工关联」选择器需置顶的表:先选它即可带出员工/部门/角色,
|
||||
# 其余字段都是派生的或可选的(工作组成员新增:先选人 → 再选职务/类型)
|
||||
DEPT_EMPLOYEE_FIRST_TABLES = {'UserRoleWorkgroup', 'EmployeeProfile'}
|
||||
# Order 表受保护字段:只能通过状态机/专用接口修改,禁止通用表单直改
|
||||
ORDER_PROTECTED_FIELDS = {
|
||||
'OrderStatus', 'OrderNO', 'ConfirmTime', 'PayTime',
|
||||
@@ -1130,6 +1133,14 @@ class FormService(FormServiceBase):
|
||||
'required': False,
|
||||
'visible': False, # 仅表单可见:列表已有"员工/部门"真实列
|
||||
}] + columns
|
||||
# 表单字段顺序:「部门员工关联」选择器置顶 —— 新增时先选它,员工/部门/角色随之确定,
|
||||
# 其余字段(职务/类型等)都是派生或可选的
|
||||
if table_name in self.DEPT_EMPLOYEE_FIRST_TABLES:
|
||||
for _i, _col in enumerate(columns):
|
||||
if _col.get('field') in ('UserRoleUUID', 'UserRoleDepartmentUUID') and _col.get('entityPicker'):
|
||||
if _i > 0:
|
||||
columns = [_col] + columns[:_i] + columns[_i + 1:]
|
||||
break
|
||||
return columns
|
||||
except Exception:
|
||||
return []
|
||||
|
||||
Reference in new issue
Block a user