diff --git a/yuthon_issue/models/issue_approval_decision.py b/yuthon_issue/models/issue_approval_decision.py index 9efbfa569..5bb39bdda 100644 --- a/yuthon_issue/models/issue_approval_decision.py +++ b/yuthon_issue/models/issue_approval_decision.py @@ -18,6 +18,26 @@ class IssueApprovalDecision(models.Model): district_bureau = fields.Char(string='区政府、区财政局') remarks = fields.Char(string='备注') + @api.onchange('sequence', 'decision_id') + def _onchange_department_code(self): + for code in self: + if code.sequence and code.decision_id: + code.sequence = code.decision_id.sequence + ('.' + code.sequence if code.sequence else '') + else: + code.sequence = code.sequence + code._update_child_sequences() + + def _update_child_sequences(self): + def recursive_update(parent, parent_sequence): + # 遍历每个子记录 + for child in parent.child_ids: + # 使用父级的 sequence 更新子级的 sequence + new_sequence = parent_sequence + ('.' + child.sequence.split('.')[-1] if child.sequence else '') + self.env['issue.approval.decision'].search([('id', '=', child.id.origin)]).write({'sequence': new_sequence}) + # 递归处理孙级 + recursive_update(child, new_sequence) + # 从当前记录开始递归更新所有子孙级别 + recursive_update(self, self.sequence) diff --git a/yuthon_issue/views/issue_approval_decision_views.xml b/yuthon_issue/views/issue_approval_decision_views.xml index affa8eb55..01dfd2c00 100644 --- a/yuthon_issue/views/issue_approval_decision_views.xml +++ b/yuthon_issue/views/issue_approval_decision_views.xml @@ -33,6 +33,7 @@ + @@ -55,19 +56,6 @@ - - issue.approval.decision.form - issue.approval.decision - - - - - - - - - - 决策清单 issue.approval.decision