1.修改刀具标准库刀片形状,柄部类型,压紧方式,刀尖特征,字段类型及对应控件显示
2.修改产品页面:刀片形状,柄部类型,压紧方式,刀尖特征,字段类型及对应控件显示
This commit is contained in:
@@ -76,21 +76,20 @@ class CuttingToolModel(models.Model):
|
||||
integral_run_out_accuracy_max = fields.Char('整体式刀具端跳精度max')
|
||||
integral_run_out_accuracy_min = fields.Char('整体式刀具端跳精度min')
|
||||
|
||||
fit_blade_shape_id = fields.Many2many('maintenance.equipment.image', 'fit_blade_shape_library_rel',
|
||||
fit_blade_shape_id = fields.Many2one('maintenance.equipment.image',
|
||||
'适配刀片形状', domain=[('type', '=', '刀片形状')])
|
||||
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'suitable_machining_method_library_rel',
|
||||
'适合加工方式', domain=[('type', '=', '加工能力')])
|
||||
blade_tip_characteristics_id = fields.Many2many('maintenance.equipment.image',
|
||||
'blade_tip_character_library_rel',
|
||||
blade_tip_characteristics_id = fields.Many2one('maintenance.equipment.image',
|
||||
'刀尖特征', domain=[('type', '=', '刀尖特征')])
|
||||
handle_type_ids = fields.Many2many('maintenance.equipment.image', 'handle_type_library_rel',
|
||||
handle_type_id = fields.Many2one('maintenance.equipment.image',
|
||||
'柄部类型', domain=[('type', '=', '柄部类型')])
|
||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'cutting_direction_library_rel',
|
||||
'走刀方向', domain=[('type', '=', '走刀方向')])
|
||||
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'suitable_coolant_library_rel',
|
||||
'适合冷却液', domain=[('type', '=', '冷却液')])
|
||||
compaction_way_ids = fields.Many2many('maintenance.equipment.image', 'compaction_way_library_rel',
|
||||
compaction_way_id = fields.Many2one('maintenance.equipment.image',
|
||||
'压紧方式', domain=[('type', '=', '压紧方式')])
|
||||
integral_tool_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters',
|
||||
'standard_library_id', string='整体式刀具基本参数')
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</group>
|
||||
<group string="适配刀片形状"
|
||||
attrs="{'invisible': [('cutting_tool_type', 'in', ('刀柄','夹头','整体式刀具',False))]}">
|
||||
<field name="fit_blade_shape_id" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="fit_blade_shape_id" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
<group string="适合加工方式"
|
||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||
@@ -180,15 +180,15 @@
|
||||
<group string="刀尖特征"
|
||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||
<field name="blade_tip_characteristics_id" string=""
|
||||
widget="custom_many2many_checkboxes"/>
|
||||
widget="many2one_radio"/>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||
<group string="柄部类型" attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}">
|
||||
<field name="handle_type_ids" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="handle_type_id" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
<group string="压紧方式"
|
||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
||||
<field name="compaction_way_ids" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="compaction_way_ids" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||
<group string="柄部类型"
|
||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}">
|
||||
<field name="handle_type_ids" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="handle_type_id" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
<group string="压紧方式"
|
||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
||||
|
||||
@@ -87,7 +87,7 @@ class ResProductMo(models.Model):
|
||||
cutting_tool_run_out_accuracy_max = fields.Float('端跳精度max', digits=(6, 1))
|
||||
cutting_tool_run_out_accuracy_min = fields.Float('端跳精度min', digits=(6, 1))
|
||||
cutting_tool_blade_tip_working_size = fields.Char('刀尖处理尺寸(R半径mm/倒角)', size=20)
|
||||
fit_blade_shape_id = fields.Many2many('maintenance.equipment.image', 'rel_fit_blade_shape_product_template',
|
||||
fit_blade_shape_id = fields.Many2one('maintenance.equipment.image',
|
||||
'适配刀片形状', domain=[('type', '=', '刀片形状')])
|
||||
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_machining_product_template', '适合加工方式',
|
||||
@@ -95,8 +95,7 @@ class ResProductMo(models.Model):
|
||||
blade_tip_characteristics_id = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_blade_tip_product_template', '刀尖特征',
|
||||
domain=[('type', '=', '刀尖特征')])
|
||||
handle_type_ids = fields.Many2many('maintenance.equipment.image', 'rel_handle_product_template', '柄部类型',
|
||||
domain=[('type', '=', '柄部类型')])
|
||||
handle_type_id = fields.Many2one('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'rel_cutting_product_template',
|
||||
'走刀方向', domain=[('type', '=', '走刀方向')])
|
||||
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolant_product_template',
|
||||
@@ -141,7 +140,7 @@ class ResProductMo(models.Model):
|
||||
item.fit_blade_shape_id = False
|
||||
item.suitable_machining_method_ids = False
|
||||
item.blade_tip_characteristics_id = False
|
||||
item.handle_type_ids = False
|
||||
item.handle_type_id = False
|
||||
item.cutting_direction_ids = False
|
||||
item.suitable_coolant_ids = False
|
||||
item.compaction_way_ids = False
|
||||
@@ -292,9 +291,7 @@ class ResProductMo(models.Model):
|
||||
self.cutting_tool_model_id.blade_tip_characteristics_id \
|
||||
else [(6, 0, self.cutting_tool_model_id.blade_tip_characteristics_id.ids)]
|
||||
|
||||
self.handle_type_ids = [(6, 0,
|
||||
[])] if not self.cutting_tool_model_id.handle_type_ids else [
|
||||
(6, 0, self.cutting_tool_model_id.handle_type_ids.ids)]
|
||||
self.handle_type_id = self.cutting_tool_model_id.handle_type_id
|
||||
|
||||
self.cutting_direction_ids = [(6, 0,
|
||||
[])] if not self.cutting_tool_model_id.cutting_direction_ids else [
|
||||
@@ -346,7 +343,7 @@ class ResProductMo(models.Model):
|
||||
self.feed_per_tooth_ids = False
|
||||
|
||||
@api.constrains('fit_blade_shape_id', 'suitable_machining_method_ids', 'blade_tip_characteristics_id',
|
||||
'handle_type_ids', 'cutting_direction_ids', 'suitable_coolant_ids', 'compaction_way_ids')
|
||||
'handle_type_id', 'cutting_direction_ids', 'suitable_coolant_ids', 'compaction_way_ids')
|
||||
def _check_cutting_tool_ability(self):
|
||||
if self.cutting_tool_type in ['整体式刀具', '刀片', '刀杆', '刀盘']:
|
||||
if self.cutting_tool_type in ['刀片', '刀杆', '刀盘']:
|
||||
@@ -359,7 +356,7 @@ class ResProductMo(models.Model):
|
||||
if not self.suitable_coolant_ids:
|
||||
raise ValidationError("请选择适合冷却液")
|
||||
elif self.cutting_tool_type == '整体式刀具':
|
||||
if not self.handle_type_ids:
|
||||
if not self.handle_type_id:
|
||||
raise ValidationError("请选择柄部类型")
|
||||
if not self.suitable_coolant_ids:
|
||||
raise ValidationError("请选择适合冷却液")
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import logging
|
||||
import json
|
||||
import base64
|
||||
import logging
|
||||
import os
|
||||
from datetime import date, timedelta
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
|
||||
@@ -1820,15 +1820,13 @@ class Cutting_tool_standard_library(models.Model):
|
||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||
result['factory_short_name']),
|
||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||
"fit_blade_shape_id": item.get('fit_blade_shape') ,
|
||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||
item['suitable_machining_methods']),
|
||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
||||
"handle_type_ids": [(6, 0, [])] if not item.get('handle_type') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['handle_type']),
|
||||
"handle_type_id": item.get('handle_type'),
|
||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||
@@ -1868,15 +1866,13 @@ class Cutting_tool_standard_library(models.Model):
|
||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||
result['factory_short_name']),
|
||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||
item['suitable_machining_methods']),
|
||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
||||
"handle_type_ids": [(6, 0, [])] if not item.get('handle_type') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['handle_type']),
|
||||
"handle_type_id":item.get('handle_type'),
|
||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||
@@ -1985,15 +1981,13 @@ class Cutting_tool_standard_library(models.Model):
|
||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||
result['factory_short_name']),
|
||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||
'suitable_machining_method') else self.env['maintenance.equipment.image']._get_ids(
|
||||
item['suitable_machining_method']),
|
||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
||||
"handle_type_ids": [(6, 0, [])] if not item.get('handle_type') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['handle_type']),
|
||||
"handle_type_id": item.get('handle_type'),
|
||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||
@@ -2033,15 +2027,13 @@ class Cutting_tool_standard_library(models.Model):
|
||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||
result['factory_short_name']),
|
||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||
item['suitable_machining_methods']),
|
||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
||||
"handle_type_ids": [(6, 0, [])] if not item.get('handle_type') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['handle_type']),
|
||||
"handle_type_id": item.get('handle_type'),
|
||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||
|
||||
@@ -89,9 +89,9 @@ class FunctionalCuttingToolEntity(models.Model):
|
||||
blade_tip_characteristics_id = fields.Many2many(
|
||||
'maintenance.equipment.image', 'rel_blade_tip_product_template_tool_entity', '刀尖特征',
|
||||
domain=[('type', '=', '刀尖特征')], related='cutting_tool_integral_model_id.blade_tip_characteristics_id')
|
||||
handle_type_ids = fields.Many2many(
|
||||
'maintenance.equipment.image', 'rel_handle_product_template_tool_entity', '柄部类型',
|
||||
domain=[('type', '=', '柄部类型')], related='cutting_tool_integral_model_id.handle_type_ids')
|
||||
handle_type_id = fields.Many2one(
|
||||
'maintenance.equipment.image', '柄部类型',
|
||||
domain=[('type', '=', '柄部类型')], related='cutting_tool_integral_model_id.handle_type_id')
|
||||
cutting_direction_ids = fields.Many2many(
|
||||
'maintenance.equipment.image', 'rel_cutting_product_template_tool_entity', '走刀方向',
|
||||
domain=[('type', '=', '走刀方向')], related='cutting_tool_integral_model_id.cutting_direction_ids')
|
||||
|
||||
@@ -102,9 +102,7 @@ class SfToolMaterialSearch(models.Model):
|
||||
blade_tip_characteristics_id = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_blade_tip_product_template_material_search', '刀尖特征',
|
||||
domain=[('type', '=', '刀尖特征')])
|
||||
handle_type_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_handle_product_template_material_search', '柄部类型',
|
||||
domain=[('type', '=', '柄部类型')])
|
||||
handle_type_id = fields.Many2many('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_cutting_product_template_material_search', '走刀方向',
|
||||
domain=[('type', '=', '走刀方向')])
|
||||
|
||||
@@ -110,8 +110,8 @@
|
||||
domain="[('id','in',blade_tip_characteristics_id)]"/>
|
||||
</group>
|
||||
<group string="柄部类型">
|
||||
<field name="handle_type_ids" string="" widget="custom_many2many_checkboxes"
|
||||
domain="[('id','in',handle_type_ids)]"/>
|
||||
<field name="handle_type_id" string="" widget="many2one_radio"
|
||||
domain="[('id','in',handle_type_id)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -231,10 +231,10 @@
|
||||
</group>
|
||||
<group>
|
||||
<group string="刀尖特征">
|
||||
<field name="blade_tip_characteristics_id" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="blade_tip_characteristics_id" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
<group string="柄部类型">
|
||||
<field name="handle_type_ids" string="" widget="custom_many2many_checkboxes"/>
|
||||
<field name="handle_type_id" string="" widget="many2one_radio"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
Reference in New Issue
Block a user