diff --git a/sf_dlm/models/product_template.py b/sf_dlm/models/product_template.py
index 14071dc6..b626eb69 100644
--- a/sf_dlm/models/product_template.py
+++ b/sf_dlm/models/product_template.py
@@ -9,7 +9,7 @@ class ResProductTemplate(models.Model):
model_long = fields.Float('模型长[mm]', digits=(16, 3))
model_width = fields.Float('模型宽[mm]', digits=(16, 3))
model_height = fields.Float('模型高[mm]', digits=(16, 3))
- model_volume = fields.Float('模型体积[mm³]', digits=(16, 3))
+ model_volume = fields.Float('模型体积[mm]', compute='_compute_model_volume', store=True)
model_machining_precision = fields.Selection([
('±0.10mm', '±0.10mm'),
('±0.05mm', '±0.05mm'),
@@ -22,9 +22,9 @@ class ResProductTemplate(models.Model):
model_process_parameters_id = fields.Many2one('sf.processing.technology', string='工艺参数')
model_price = fields.Float('模型单价', digits=(16, 3))
model_remark = fields.Char('模型备注说明')
- long = fields.Float('长[mm]', digits=(16, 3), onchange='add_product_size')
- width = fields.Float('宽[mm]', digits=(16, 3), onchange='add_product_size')
- height = fields.Float('高[mm]', digits=(16, 3), onchange='add_product_size')
+ long = fields.Float('长[mm]', digits=(16, 3))
+ width = fields.Float('宽[mm]', digits=(16, 3))
+ height = fields.Float('高[mm]', digits=(16, 3))
materials_id = fields.Many2one('sf.production.materials', string='材料')
materials_type_id = fields.Many2one('sf.materials.model', string='材料型号')
volume = fields.Float(compute='_compute_volume', store=True)
@@ -34,6 +34,10 @@ class ResProductTemplate(models.Model):
def _compute_volume(self):
self.volume = self.long * self.width * self.height
+ @api.depends('model_long', 'model_width', 'model_height')
+ def _compute_model_volume(self):
+ self.model_volume = self.model_long * self.model_width * self.model_height
+
# 业务平台分配工厂后在智能工厂先创建销售订单再创建该产品
def product_create(self, product_id, item, order_id, order_number, i):
copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy()
@@ -70,17 +74,20 @@ class ResProductTemplate(models.Model):
if not self.model_type_id:
return
model_type = self.env['sf.model.type'].search(
- [('id', '=', self.model_type_id.id)])
- print(self.model_long)
- print(self.model_width)
- print(self.model_height)
- for item in self:
- print(item.model_long)
- print(item.model_width)
- print(item.model_height)
- item.model_long = item.model_long + model_type.embryo_tolerance
- item.model_width = item.model_width + model_type.embryo_tolerance
- item.model_height = item.model_width + model_type.embryo_tolerance
+ [('id', '=', self.model_type_id.id), ('embryo_tolerance', '=', True)])
+ if model_type:
+ self.model_long = self.model_long + 1
+ self.model_width = self.model_width + 1
+ self.model_height = self.model_width + 1
+ # for item in self:
+ # print(item.model_long)
+ # print(item.model_width)
+ # print(item.model_height)
+ # item.model_long = item.model_long + 1
+ # item.model_width = item.model_width + 1
+ # item.model_height = item.model_width + 1
+ else:
+ return
class ResMrpBom(models.Model):
diff --git a/sf_dlm/views/product_template_view.xml b/sf_dlm/views/product_template_view.xml
index 04507aaa..d8975017 100644
--- a/sf_dlm/views/product_template_view.xml
+++ b/sf_dlm/views/product_template_view.xml
@@ -35,8 +35,8 @@
-
-
+
+