!12001 添加功能

Merge pull request !12001 from dev_zhou
This commit is contained in:
李鹏宇
2026-06-10 11:19:37 +00:00
committed by Gitee
3 changed files with 8 additions and 15 deletions
@@ -846,9 +846,16 @@ class SoongWorkflowMixin(models.AbstractModel):
"default_trans_link_id": default_trans_link_id,
"all_workflow_links": allowed_link_ids,
"default_invalid_link_ids": invalid_links.ids,
"default_allowed_issue_ids": [(6, 0, self._get_avoid_issue_ids())],
},
}
def _get_avoid_issue_ids(self):
"""获取当前记录中可回避的议题ID列表"""
if hasattr(self, 'line_ids'):
return self.line_ids.mapped('issue_id').ids
return []
def get_all_sub_departments(self, department, level=0, print_tree=True):
all_departments = department.child_ids
@@ -49,19 +49,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
self.avoid_issue_ids = [(5, 0, 0)]
self.avoid_comment = False
@api.onchange('avoid_issue_ids')
def _onchange_avoid_issue_ids(self):
if self.avoid_issue_ids and self.allowed_issue_ids:
invalid = self.avoid_issue_ids - self.allowed_issue_ids
if invalid:
self.avoid_issue_ids = [(6, 0, (self.avoid_issue_ids - invalid).ids)]
return {
'warning': {
'title': '无效议题',
'message': f'以下议题不在当前申报范围内,已自动移除:{", ".join(invalid.mapped("name"))}',
}
}
@api.onchange('is_avoid')
def _onchange_is_avoid(self):
if not self.is_avoid:
@@ -145,8 +145,7 @@
<field name="is_avoid" invisible="res_model not in ['issue.party.approval', 'issue.boss.approval', 'issue.class.approval']"/>
<field name="allowed_issue_ids" invisible="1"/>
<field name="avoid_issue_ids" widget="many2many_tags"
invisible="not is_avoid" options="{'no_create': True}"
domain="[('id', 'in', allowed_issue_ids)]"/>
invisible="not is_avoid" options="{'no_create': True}"/>
<field name="avoid_comment" invisible="not is_avoid" placeholder="请输入回避意见..."/>
<field name="employee_trans_domain_ids" invisible="1"/>
<!-- 退回意见退回类型 -->