@@ -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"/>
|
||||
<!-- 退回意见退回类型 -->
|
||||
|
||||
Reference in New Issue
Block a user