From 2ca67eb8ad1266c5c712cccf6990626bacd3efbe Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Thu, 23 May 2024 15:43:32 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=B0=86=E5=88=80=E5=85=B7=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=AD=97=E6=AE=B5=E8=8E=B7=E5=8F=96=E7=94=B1onchange?= =?UTF-8?q?=E6=94=B9=E4=B8=BAdepends?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/wizard/wizard.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py index a6f156d7..3ff8b5db 100644 --- a/sf_tool_management/wizard/wizard.py +++ b/sf_tool_management/wizard/wizard.py @@ -223,8 +223,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): image = fields.Binary('图片') - @api.onchange('functional_tool_name') - def _onchange_functional_tool_name(self): + @api.depends('functional_tool_name') + def _compute_functional_tool_name(self): for item in self: if item.functional_tool_name: inventory = self.env['sf.tool.inventory'].sudo().search([('name', '=', item.functional_tool_name)]) @@ -456,13 +456,15 @@ class FunctionalToolAssemblyOrder(models.TransientModel): item.handle_freight_rfid = None # 组装功能刀具参数信息 - after_name_id = fields.Many2one('sf.tool.inventory', string='功能刀具名称', required=True) + after_name_id = fields.Many2one('sf.tool.inventory', string='功能刀具名称', compute='_compute_functional_tool_name', + store=True) barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号') rfid = fields.Char('Rfid', compute='_compute_rfid') code = fields.Char(string='功能刀具编码', compute='_compute_code') after_assembly_functional_tool_name = fields.Char(string='组装后功能刀具名称', compute='_compute_name', store=True) after_assembly_functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', - string='组装后功能刀具类型') + string='组装后功能刀具类型', store=True, + compute='_compute_after_assembly_max_lifetime_value') after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', digits=(10, 3)) after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)', digits=(10, 3)) after_assembly_new_former = fields.Selection([('0', '新'), ('1', '旧')], string='组装后新/旧', default='0') @@ -484,7 +486,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): after_assembly_effective_length = fields.Float(string='组装后有效长(mm)') L_D_number = fields.Float(string='L/D值(mm)', compute='_compute_l_d_number') hiding_length = fields.Float(string='避空长(mm)') - after_tool_groups_id = fields.Many2one('sf.tool.groups', string='组装后刀具组') + after_tool_groups_id = fields.Many2one('sf.tool.groups', string='组装后刀具组', store=True, + compute='_compute_after_assembly_max_lifetime_value') obtain_measurement_status = fields.Boolean('是否获取测量值', default=False) @@ -530,6 +533,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): for item in self: if item.after_name_id: item.after_assembly_max_lifetime_value = item.after_name_id.life_span + item.after_assembly_functional_tool_type_id = item.after_name_id.functional_cutting_tool_model_id.id + item.after_tool_groups_id = item.after_name_id.tool_groups_id.id @api.onchange('after_name_id') def _onchange_number(self): @@ -540,8 +545,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): item.after_assembly_tool_loading_length = item.after_name_id.tool_length item.after_assembly_functional_tool_length = item.after_name_id.extension item.hiding_length = item.after_name_id.blade_length - item.after_assembly_functional_tool_type_id = item.after_name_id.functional_cutting_tool_model_id.id - item.after_tool_groups_id = item.after_name_id.tool_groups_id.id + else: item.after_assembly_functional_tool_type_id = item.functional_tool_type_id.id item.after_tool_groups_id = item.tool_groups_id.id