diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index c4623d65..8b629440 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -270,10 +270,10 @@ class MrpProduction(models.Model): ('成品', '成品'), ('坯料', '坯料'), ('其他', '其他') - ], string='产品类型', default='成品') + ], string='产品类型', compute='_compute_production_product_type') - @api.onchange('product_id') - def onchange_product_id(self): + @api.depends('product_id') + def _compute_production_product_type(self): for record in self: if record.product_id.categ_id.name == '成品': record.production_product_type = '成品' diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml index 06c2a7bd..020c2691 100644 --- a/sf_manufacturing/views/mrp_production_addional_change.xml +++ b/sf_manufacturing/views/mrp_production_addional_change.xml @@ -118,11 +118,11 @@ + attrs="{'invisible': ['|', ('production_type', 'not in', ['自动化产线加工', '人工线下加工']), ('production_product_type', '!=', '成品')]}"/> + attrs="{'invisible': ['|', ('production_type', 'not in', ['自动化产线加工', '人工线下加工']), ('production_product_type', '!=', '成品')]}"/> @@ -417,7 +417,7 @@ 子MO - + diff --git a/sf_manufacturing/wizard/sale_order_cancel.py b/sf_manufacturing/wizard/sale_order_cancel.py index e2549911..0799c805 100644 --- a/sf_manufacturing/wizard/sale_order_cancel.py +++ b/sf_manufacturing/wizard/sale_order_cancel.py @@ -317,7 +317,7 @@ class SFSaleOrderCancelLine(models.TransientModel): 'sequence': sequence, 'category': '制造', 'doc_name': '工单', - 'doc_number': f'{mo.name}-{workorder.name}', + 'doc_number': f'{mo.name}-{workorder.processing_panel}-{workorder.name}' if workorder.processing_panel else f'{mo.name}-{workorder.name}', 'line_number': g, 'operation_type': '', 'product_name': f'[{mo.product_id.default_code}] {mo.product_id.name}',