From 91b4c07f0f369a64ff68d43b805cbd08ea71ecc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Fri, 20 Mar 2026 16:00:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_issue/models/issue_library.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index 8ea045e89..c60d35b33 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -16,7 +16,7 @@ class IssueLibrary(models.Model): name_text = fields.Text(string='议题名称', compute='_compute_name', readonly=False) depart_opinions = fields.Text(string='部门意见') topic_content = fields.Text(string='事项背景') - will_based = fields.Text(string='上会依据', compute='_compute_will_based', readonly=False) + will_based = fields.Text(string='上会依据') deliberation_content = fields.Text(string='请示事项', default='建议同意') handling_situation = fields.Text(string='办理情况', help="(存在问题)") is_invisible_workflow = fields.Boolean(string="流程隐藏的判断") @@ -278,20 +278,24 @@ class IssueLibrary(models.Model): } } - @api.depends('issue_library_line_ids', - 'issue_library_line_ids.issue_approval_decision_id', - 'issue_library_line_ids.district_state_id', - 'issue_library_line_ids.district_government_id', - 'issue_library_line_ids.district_party_id') - def _compute_will_based(self): + @api.onchange('issue_library_line_ids', + 'issue_library_line_ids.issue_approval_decision_id', + 'issue_library_line_ids.district_state_id', + 'issue_library_line_ids.district_government_id', + 'issue_library_line_ids.district_party_id') + def _onchange_will_based(self): for record in self: will_based_lines = [] + # 遍历明细行,保留原有逻辑,仅调整触发方式 for idx, line in enumerate(record.issue_library_line_ids, start=1): + # 获取各字段值,无值则为空字符串 decision_name = line.issue_approval_decision_id.specifics or "" district_state_name = line.district_state_id.name or "" district_government_name = line.district_government_id.name or "" district_party_name = line.district_party_id.name or "" + field_parts = [] + # 按规则拼接字段内容 if decision_name: field_parts.append(decision_name) if district_state_name: @@ -303,7 +307,6 @@ class IssueLibrary(models.Model): if field_parts: line_content = f"{idx}.{','.join(field_parts)}" will_based_lines.append(line_content) - record.will_based = "\n".join(will_based_lines) def correction(self):