From 8ca5d5b93fb9f43f6173beffcc9e3fc2a43a2b49 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: Mon, 2 Feb 2026 19:02:41 +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 --- .../models/overtime_approval.py | 3 ++- .../models/yuthon_official_incoming_normal.py | 19 +++++++++++++++++++ .../yuthon_official_incoming_normal_views.xml | 5 ++--- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index 76632124c..5bd3a57d5 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -416,6 +416,7 @@ class OvertimeApprovals(models.Model): 'workflow_id': workflow_id.id, }) + @api.depends('users_id', 'duration', 'start_time', 'end_time') def _compute_name(self): for rec in self: @@ -424,7 +425,7 @@ class OvertimeApprovals(models.Model): if rec.duration == 0: rec.name = f"{rec.users_id.name}加班 {start_time_str}-{end_time_str}" else: - rec.name = f"{rec.users_id.name}加班{start_time_str}-{end_time_str},共{rec.duration}小时 " + rec.name = f"{rec.users_id.name}加班{start_time_str}-{end_time_str},共{rec.duration}小时 " @api.depends('start_time', 'end_time') def _compute_overtime_type(self): diff --git a/yuthon_official/models/yuthon_official_incoming_normal.py b/yuthon_official/models/yuthon_official_incoming_normal.py index 82eee62a8..75f2fd54e 100644 --- a/yuthon_official/models/yuthon_official_incoming_normal.py +++ b/yuthon_official/models/yuthon_official_incoming_normal.py @@ -50,6 +50,25 @@ class YuthonOfficialIncomingNormal(models.Model): name_title = fields.Char(default=_get_default_name_title) self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])]) + is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company', + search='_search_part_of_company') + + @api.depends_context('uid', 'company') + @api.depends('company_id') + def _compute_is_company(self): + active_company_ids = self.env.companies + for employee in self: + employee.is_company = employee.company_id in active_company_ids + + def _search_part_of_company(self, operator, value): + company_ids = self.env.companies.ids + if not value: + operator = '!=' if operator == '=' else '=' + if operator == '=': + return [('company_id', 'in', company_ids)] + else: + return [('company_id', 'not in', company_ids)] + @api.onchange('is_issues') def _onchange_is_issues(self): if self.is_issues: diff --git a/yuthon_official/views/yuthon_official_incoming_normal_views.xml b/yuthon_official/views/yuthon_official_incoming_normal_views.xml index 0f8828cf1..7dcfd7933 100644 --- a/yuthon_official/views/yuthon_official_incoming_normal_views.xml +++ b/yuthon_official/views/yuthon_official_incoming_normal_views.xml @@ -47,7 +47,6 @@ - @@ -55,8 +54,8 @@ - + @@ -97,10 +96,10 @@ - 行政收文 yuthon.official.incoming.normal + [('is_company','=',True)] tree,form \ No newline at end of file