diff --git a/sf_manufacturing/models/sale_order.py b/sf_manufacturing/models/sale_order.py index dbd06e6a..d46c1baf 100644 --- a/sf_manufacturing/models/sale_order.py +++ b/sf_manufacturing/models/sale_order.py @@ -22,6 +22,9 @@ class SaleOrder(models.Model): def confirm_to_supply_method(self): self.state = 'supply method' + for line in self.order_line: + if line.product_id.auto_machining: + line.supply_method = 'automation' def action_confirm(self): if self._get_forbidden_state_confirm() & set(self.mapped('state')): @@ -192,14 +195,12 @@ class SaleOrderLine(models.Model): return super(SaleOrderLine, self).write(vals) cancel_auto_machining = fields.Boolean('是否取消自动化加工', compute='_compute_cancel_auto_machining', store=True) - cancel_auto_machining_reason = fields.Char('非自动化加工原因') + cancel_auto_machining_reason = fields.Char('更改供货原因') + @api.depends('product_id', 'supply_method') def _compute_cancel_auto_machining(self): for line in self: line.cancel_auto_machining = True if line.product_id.auto_machining \ and line.supply_method != 'automation' else False - @api.onchange('product_id') - def _onchange_product_id_set_supply_method(self): - if self.product_id.auto_machining: - self.supply_method = 'automation' + diff --git a/sf_manufacturing/views/sale_order_views.xml b/sf_manufacturing/views/sale_order_views.xml index 4d7a0c41..e0f9e097 100644 --- a/sf_manufacturing/views/sale_order_views.xml +++ b/sf_manufacturing/views/sale_order_views.xml @@ -21,6 +21,10 @@ + + + +