Merge branch 'develop' into feature/必填字段label添加星号

This commit is contained in:
WEB许何哲\xuhez
2023-08-21 10:09:42 +08:00
25 changed files with 1271 additions and 2614 deletions

View File

@@ -36,10 +36,10 @@ class MachineBrand(models.Model):
name = fields.Char('名称')
tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别')
image_brand = fields.Image("品牌图片")
manufacturer_model_number = fields.Char('厂家型号', size=10)
remark = fields.Text('备注')
active = fields.Boolean('有效', default=True)
# 机床
class MachineTool(models.Model):
_name = 'sf.machine_tool'
@@ -316,6 +316,7 @@ class MachineToolCategory(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
remark = fields.Text('备注')
active = fields.Boolean('有效', default=True)
category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别',
default='shukong')

View File

@@ -1,8 +1,4 @@
from odoo import models, fields, api
from odoo.addons.sf_base.commons.common import Common
from odoo.exceptions import ValidationError
import requests
import json
class FixtureMaterial(models.Model):
@@ -36,7 +32,6 @@ class FixtureModel(models.Model):
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name', store=True)
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
manufacturer_model_number = fields.Char(string="厂家型号")
clamping_way = fields.Char(string="装夹方式")
port_type = fields.Char(string="接口类型")
model_file = fields.Binary(string="3D模型图")
@@ -56,5 +51,7 @@ class FixtureModel(models.Model):
string="适用机床型号")
through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
screw_size = fields.Integer(string="螺牙大小[mm]", size=6)
active = fields.Boolean('有效', default=True)

View File

@@ -1,240 +0,0 @@
from odoo import models, fields
'''============================定位元件型号====================================='''
class FixtureSettingElement(models.Model):
_name = 'sf.fixture.setting.element'
_description = "定位元件型号"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="型号名称", readonly=True)
setting_ele_type_id = fields.Many2one('sf.setting.element.type', string="定位元件类型", readonly=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
length = fields.Char(string='长度(mm)', readonly=True)
width = fields.Char(string='宽度(mm)', readonly=True)
height = fields.Char(string='高度(mm)', readonly=True)
diameter = fields.Char(string='直径(mm)', readonly=True)
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
hardness = fields.Char(string='硬度(°)', readonly=True)
chucking_power = fields.Char(string='夹持力', readonly=True)
surface_treatment = fields.Char(string='表面处理', readonly=True)
accuracy_grade = fields.Char(string='精度等级', readonly=True)
picture = fields.Binary(string="图片", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''=============================定位原件类型============================================='''
class SettingElementType(models.Model):
_name = 'sf.setting.element.type'
_description = "定位原件类型"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string='定位原件类型', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''==============================夹紧元件型号=============================================='''
class FixtureClampingElement(models.Model):
_name = 'sf.fixture.clamping.element'
_description = "夹紧元件型号"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="型号名称", readonly=True)
clamping_ele_type_id = fields.Many2one('sf.clamping.element.type', string="夹紧元件类型", readonly=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
length = fields.Char(string='长度(mm)', readonly=True)
width = fields.Char(string='宽度(mm)', readonly=True)
height = fields.Char(string='高度(mm)', readonly=True)
diameter = fields.Char(string='直径(mm)', readonly=True)
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
hardness = fields.Char(string='硬度(°)', readonly=True)
chucking_power = fields.Char(string='夹持力', readonly=True)
surface_treatment = fields.Char(string='夹持方式', readonly=True)
accuracy_grade = fields.Char(string='精度等级', readonly=True)
picture = fields.Binary(string="图片", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''============================夹紧元件类型======================================='''
# 夹紧元件类型
class ClampingElementType(models.Model):
_name = "sf.clamping.element.type"
_description = "夹紧元件类型"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(name='夹紧元件类型', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''=========================对刀夹具型号====================================='''
class FixtureToolSetting(models.Model):
_name = 'sf.fixture.tool.setting'
_description = "对刀夹具型号"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="型号名称", readonly=True)
tool_setting_type_id = fields.Many2one('sf.tool.setting.type', string="对刀夹具类型", readonly=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
length = fields.Char(string='长度(mm)', readonly=True)
width = fields.Char(string='宽度(mm)', readonly=True)
height = fields.Char(string='高度(mm)', readonly=True)
diameter = fields.Char(string='直径(mm)', readonly=True)
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
hardness = fields.Char(string='硬度(°)', readonly=True)
chucking_power = fields.Char(string='夹持力', readonly=True)
clamp_mode = fields.Char(string='夹持方式', readonly=True)
accuracy_grade = fields.Char(string='精度等级', readonly=True)
max_clamp_diameter = fields.Char('最大夹持直接(mm)', readonly=True)
picture = fields.Binary(string="图片", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''===========================对刀夹具类型=========================================='''
class ToolSettingType(models.Model):
_name = 'sf.tool.setting.type'
_description = "对刀夹具类型"
code = fields.Char('编码', readonly=True)
name = fields.Char(string='对刀夹具类型', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''==========================定位装置型号======================================='''
class FixtureLocatingDevice(models.Model):
_name = 'sf.fixture.locating.device'
_description = "定位装置型号"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="型号名称", readonly=True)
locating_device_type_id = fields.Many2one('sf.locating.device.type', string="定位装置类型", readonly=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
length = fields.Char(string='长度(mm)', readonly=True)
width = fields.Char(string='宽度(mm)', readonly=True)
height = fields.Char(string='高度(mm)', readonly=True)
diameter = fields.Char(string='直径(mm)', readonly=True)
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
weight = fields.Char(string='重量(kg)', readonly=True)
accuracy_grade = fields.Char(string='精度等级', readonly=True)
locate_mode_ids = fields.Many2many('sf.locating.device.locate.mode', string='定位装置定位方式', readonly=True)
max_bearing_capacity = fields.Char(string='最大承载力', readonly=True)
picture = fields.Binary(string="图片", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''==============================定位装置类型================================'''
# 定位装置型号
class LocatingDeviceType(models.Model):
_name = 'sf.locating.device.type'
_description = "定位装置类型"
code = fields.Char('编码', readonly=True)
name = fields.Char(string='定位装置类型', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''============================定位装置定位方式========================================'''
# 定位装置定位方式
class LocatingDeviceLocateMode(models.Model):
_name = 'sf.locating.device.locate.mode'
_description = "定位装置定位方式"
code = fields.Char('编码', readonly=True)
name = fields.Char('定位方式', readonly=True)
name_id = fields.Many2many('sf.fixture.locating.device', string='定位装置', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''===========================导向元件型号===================================='''
class FixtureGuideElement(models.Model):
_name = 'sf.fixture.guide.element'
_description = "导向元件型号"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="型号名称", readonly=True)
guide_ele_type_id = fields.Many2one('sf.guide.element.type', string="导向元件类型", readonly=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
length = fields.Char(string='长度(mm)', readonly=True)
width = fields.Char(string='宽度(mm)', readonly=True)
height = fields.Char(string='高度(mm)', readonly=True)
diameter = fields.Char(string='直径(mm)', readonly=True)
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
weight = fields.Char(string='重量', readonly=True)
accuracy_grade = fields.Char(string='精度等级', readonly=True)
guide_ele_guide_mode_id = fields.Many2many('sf.guide.element.guide.mode', string='导向元件导向方式', readonly=True)
scope_of_application = fields.Char(string='适用范围', readonly=True)
guide_ele_way_to_install_id = fields.Many2many('sf.guide.element.way.to.install', string='导向元件安装方式',
readonly=True)
picture = fields.Binary(string="图片", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''=============================导向元件类型============================================'''
class GuideElementType(models.Model):
_name = 'sf.guide.element.type'
_description = "导向元件类型"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="导向元件类型", readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''================================导向元件导向方式=========================================='''
class GuideElementGuideMode(models.Model):
_name = 'sf.guide.element.guide.mode'
_description = "导向元件导向方式"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="导向元件导向方式", readonly=True)
name_id = fields.Many2many('sf.fixture.guide.element', string='导向元件', readonly=True)
comment = fields.Text(string='备注', readonly=True)
'''=============================导向元件安装方式==========================================='''
class GuideElementWayToInstall(models.Model):
_name = 'sf.guide.element.way.to.install'
_description = '导向元件安装方式'
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="导向元件安装方式", readonly=True)
name_id = fields.Many2many('sf.fixture.guide.element', string='导向元件', readonly=True)
comment = fields.Text(string='备注', readonly=True)

View File

@@ -37,7 +37,7 @@ class FunctionalFixture(models.Model):
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
domain=[('fixture_material_type', '=', '虎钳托盘')])
registration_status = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册', tracking=True)
active = fields.Boolean('有效', default=True)
@api.onchange('type_id')
def _onchange_type_id(self):

View File

@@ -15,6 +15,7 @@ class CuttingToolMaterial(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 功能刀具
@@ -43,6 +44,7 @@ class FunctionalCuttingTool(models.Model):
is_standard = fields.Boolean('是否标准刀')
applicable_range = fields.Char('适用范围')
image = fields.Binary('图片')
active = fields.Boolean('有效', default=True)
# 功能刀具类型
@@ -53,6 +55,7 @@ class FunctionalCuttingToolModel(models.Model):
name = fields.Char('名称')
code = fields.Char('编码')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 整体式刀具
@@ -82,6 +85,7 @@ class IntegralCuttingTool(models.Model):
chuck_model = fields.Many2many('sf.chuck', string='适用夹头型号')
scope = fields.Char('适用范围')
image = fields.Binary('图片')
active = fields.Boolean('有效', default=True)
# 整体式刀具类型

View File

@@ -12,6 +12,7 @@ class CuttingToolMaterial(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 功能刀具
@@ -21,57 +22,60 @@ class FunctionalCuttingTool(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
active = fields.Boolean('有效', default=True)
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
# 整体式刀具型号
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
string='整体式刀具型号', domain=
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
# 刀片型号
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
string='刀片型号', domain=
[('mrs_cutting_tool_material_name', '=', '刀片')])
# 刀杆型号
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
'rel_cutterbar_model_functional_sf',
string='刀杆型号', domain=
[('mrs_cutting_tool_material_name', '=', '刀杆')])
# 刀盘型号
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
'rel_cutterpad_model_functional_sf',
string='刀盘型号', domain=
[('mrs_cutting_tool_material_name', '=', '刀盘')])
# 刀柄型号
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
'rel_cutterhandle_model_functional_sf', string='刀柄型号',
domain=
[('mrs_cutting_tool_material_name', '=', '刀柄')])
# 夹头型号
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
'rel_cutterhead_model_functional_sf',
string='夹头型号', domain=
[('mrs_cutting_tool_material_name', '=', '夹头')])
diameter = fields.Float('直径(mm)')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级')
machining_accuracy = fields.Float('加工精度(mm)')
tool_length = fields.Float('装刀长')
blade_number = fields.Integer('刃数')
integral_blade_length = fields.Float('整体刃长(mm)')
effective_blade_length = fields.Float('有效刃长(mm)')
max_life = fields.Float('最大寿命值')
is_standard = fields.Boolean('是否标准刀')
applicable_range = fields.Char('适用范围')
image = fields.Binary('图片')
def _get_functional_tool_model_ids(self, functional_tool_model_code):
functional_tool_model_ids = []
for item in functional_tool_model_code:
functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
functional_tool_model_ids.append(functional_tool_model.id)
return [(6, 0, functional_tool_model_ids)]
# # 整体式刀具型号
# mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
# string='整体式刀具型号', domain=
# [('cutting_tool_type', '=', '整体式刀具')])
# # 刀片型号
# mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
# string='刀片型号', domain=
# [('cutting_tool_type', '=', '刀片')])
# # 刀杆型号
# mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterbar_model_functional_sf',
# string='刀杆型号', domain=
# [('cutting_tool_type', '=', '刀杆')])
# # 刀盘型号
# mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterpad_model_functional_sf',
# string='刀盘型号', domain=
# [('cutting_tool_type', '=', '刀盘')])
# # 刀柄型号
# mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterhandle_model_functional_sf',
# string='刀柄型号',
# domain=
# [('cutting_tool_type', '=', '刀柄')])
# # 夹头型号
# mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
# 'rel_cutterhead_model_functional_sf',
# string='夹头型号', domain=
# [('cutting_tool_type', '=', '夹头')])
#
# diameter = fields.Float('直径(mm)')
# tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
# string='刀具等级')
# machining_accuracy = fields.Float('加工精度(mm)')
# tool_length = fields.Float('装刀长')
# blade_number = fields.Integer('刃数')
# integral_blade_length = fields.Float('整体刃长(mm)')
# effective_blade_length = fields.Float('有效刃长(mm)')
# max_life = fields.Float('最大寿命值')
# is_standard = fields.Boolean('是否标准刀')
# applicable_range = fields.Char('适用范围')
# image = fields.Binary('图片')
# active = fields.Boolean('有效', default=True)
#
# def _get_functional_tool_model_ids(self, functional_tool_model_code):
# functional_tool_model_ids = []
# for item in functional_tool_model_code:
# functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
# functional_tool_model_ids.append(functional_tool_model.id)
# return [(6, 0, functional_tool_model_ids)]
# 功能刀具类型
@@ -82,6 +86,7 @@ class FunctionalCuttingToolModel(models.Model):
name = fields.Char('名称', required=True)
code = fields.Char('编码', required=True)
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)
# 刀具型号
@@ -91,214 +96,93 @@ class CuttingToolModel(models.Model):
name = fields.Char('名称')
code = fields.Char('编码')
mrs_machine_brand_id = fields.Many2one('sf.machine.brand', '品牌')
mrs_materials_model_id = fields.Many2one('sf.materials.model', '材料型号')
# 关联刀具物料
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
# 关联刀具物料名称
mrs_cutting_tool_material_name = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料名称',
store=True)
# 关联刀具类型
mrs_cutting_tool_type_id = fields.Many2one(
'sf.cutting.tool.type', '刀具类型',
domain="[('mrs_cutting_tool_material_id.name', '=', mrs_cutting_tool_material_name)]", required=True)
# 整体式刀具特有字段
integral_code = fields.Char('整体式刀具编码')
integral_accuracy = fields.Float('度(μm)')
integral_hardness = fields.Float('加工硬度(HRC)')
integral_coating_material = fields.Char('涂层材质')
integral_total_length = fields.Float('总长度(mm)')
integral_shank_length = fields.Float('柄部长度(mm)')
integral_blade_length = fields.Float('刃部长度(mm)')
integral_diameter = fields.Float('直径(mm)')
integral_blade_number = fields.Integer('刃数')
integral_front_angle = fields.Float('前角(°)')
integral_rear_angle = fields.Float('后角(°)')
integral_main_included_angle = fields.Float('主偏角(°)')
integral_nut = fields.Float('配对螺母(mm)')
integral_scope = fields.Char('适用范围')
# 刀片特有字段
blade_code = fields.Char('刀片编码')
blade_coating_material = fields.Char('涂层材质')
blade_length = fields.Float('长度L(mm)')
blade_width = fields.Float('宽度D(mm)')
blade_height = fields.Float('高度T(mm)')
blade_top_angle = fields.Float('顶角(°)')
blade_front_angle = fields.Float('前角(°)')
blade_rear_angle = fields.Float('后角(°)')
blade_main_included_angle = fields.Float('主偏角(°)')
blade_r_angle = fields.Float('R角(°)')
blade_hardness = fields.Char('加工硬度')
blade_accuracy = fields.Char('精度等级')
blade_radius = fields.Float('刀尖半径(mm)')
blade_nut = fields.Float('配对螺母(mm)')
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', string='刀具物料')
cutting_tool_type = fields.Char(string="刀具物料类型", related='cutting_tool_material_id.name', store=True)
cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='刀具类型',
)
brand_id = fields.Many2one('sf.machine.brand', '品牌')
tool_length = fields.Integer('长度(mm)', size=6)
tool_width = fields.Integer('宽度(mm)', size=6)
tool_height = fields.Integer('高度(mm)', size=6)
tool_thickness = fields.Integer('厚度(mm)', size=6)
tool_weight = fields.Float('重量(kg)', size=4)
coating_material = fields.Char('涂层材质')
# 整体式刀具参数
total_length = fields.Float('总长度(mm)')
shank_length = fields.Float('柄部长度(mm)')
blade_length = fields.Float('刃部长度(mm)')
diameter = fields.Float('直径(mm)')
blade_number = fields.Integer('刃数')
front_angle = fields.Float('前角(°)')
rear_angle = fields.Float('后角(°)')
main_included_angle = fields.Float('主偏角(°)')
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
nut = fields.Float('配对螺母(mm)')
# 适用夹头型号可以多选
chuck_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_blade_cutter_bar_rel',
relation='cutting_tool_model_handle_chuck_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
string='适用刀杆型号',
default=lambda self: [], # 使用空列表作为默认值
)
mrs_cutting_tool_model_blade_cutter_pad_ids = fields.Many2many(
domain="[('cutting_tool_type', '=', '夹头')]",
string='适用夹头型号')
# 刀片参数
top_angle = fields.Float('顶角(°)')
jump_accuracy = fields.Float('径跳精度(um)')
working_hardness = fields.Char('加工硬度(hrc)')
cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_blade_cutter_pad_rel',
relation='cutting_tool_model_blade_cutter_bar_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '')]",
string='适用刀型号',
default=lambda self: [], # 使用空列表作为默认值
domain="[('cutting_tool_type', '=', '')]",
string='适用刀型号'
)
# 刀杆特有字段
bar_code = fields.Char('刀杆编码')
bar_c_diameter = fields.Float('C柄径(mm)')
bar_total_length = fields.Float('L总长(mm)')
bar_blade_number = fields.Integer('刃数')
bar_d_diameter = fields.Float('D刃径(mm)')
mrs_cutting_tool_model_bar_blade_ids = fields.Many2many(
cutter_pad_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_bar_blade_rel',
relation='cutting_tool_model_blade_cutter_pad_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '')]",
string='适用刀型号',
default=lambda self: [], # 使用空列表作为默认值
domain="[('cutting_tool_type', '=', '')]",
string='适用刀型号' # 使用空列表作为默认值
)
bar_wrench = fields.Float('配对扳手(mm)')
bar_screw = fields.Float('配备螺丝(mm)')
bar_radius = fields.Float('刀尖圆角半径')
bar_accuracy = fields.Char('精度等级')
bar_hardness = fields.Char('硬度(°)')
bar_scope = fields.Char('适用范围')
# 刀盘特有字段
pad_code = fields.Char('刀盘编码')
pad_c_diameter = fields.Float('C柄径(mm)')
pad_total_length = fields.Float('L总长(mm)')
pad_blade_number = fields.Integer('刃数')
pad_d_diameter = fields.Float('D刃径(mm)')
mrs_cutting_tool_model_pad_blade_ids = fields.Many2many(
# 刀杆/参数
blade_diameter = fields.Float('刃径(mm)')
blade_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_pad_blade_rel',
relation='cutting_tool_model_pad_blade_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
string='适用刀片型号',
default=lambda self: [], # 使用空列表作为默认值
domain="[('cutting_tool_type', '=', '刀片')]",
string='适用刀片型号' # 使用空列表作为默认值
)
pad_wrench = fields.Float('配对扳手(mm)')
pad_screw = fields.Float('配备螺丝(mm)')
pad_radius = fields.Float('刀尖圆角半径')
pad_accuracy = fields.Char('精度等级')
pad_hardness = fields.Char('硬度(°)')
pad_scope = fields.Char('适用范围')
# 刀柄特有字段
handle_code = fields.Char('刀柄编码')
# 柄长L(mm)、法兰柄长L1(mm)、法兰直径D1(mm)
handle_length = fields.Float('柄长L(mm)')
handle_diameter = fields.Float('直径D(mm)')
handle_flange_length = fields.Float('法兰柄长L1(mm)')
handle_flange_diameter = fields.Float('法兰直径D1(mm)')
# 夹持直径min、夹持直径max、径跳精度、最大转速n/min、3D模型图
handle_clamping_diameter_min = fields.Float('夹持直径min')
handle_clamping_diameter_max = fields.Float('夹持直径max')
handle_jump_accuracy = fields.Float('径跳精度')
handle_max_speed = fields.Float('最大转速n/min')
handle_weight = fields.Float('重量(kg)')
handle_body_accuracy = fields.Float('本体精度(mm)')
handle_nut = fields.Float('配对螺母(mm)')
mrs_cutting_tool_model_handle_chuck_model_ids = fields.Many2many(
wrench = fields.Float('配对扳手(mm)')
screw = fields.Float('配备螺丝(mm)')
accuracy_level = fields.Char('精度等级')
# 刀柄参数
diameter_max = fields.Float('最大直径(mm)')
clamping_diameter = fields.Float('夹持直径(mm)')
flange_length = fields.Float('法兰柄长度(mm)')
flange_diameter = fields.Float('法兰直径(mm)')
# 夹头参数
outer_diameter = fields.Float('外径(mm)')
inner_diameter = fields.Float('内径(mm)')
handle_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_handle_chuck_rel',
relation='cutting_tool_model_chuck_handle_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
string='适用夹头型号',
domain="[('cutting_tool_type', '=', '刀柄')]",
string='适用刀柄型号'
)
handle_clamping_range = fields.Float('夹持范围(mm)')
handle_detection_accuracy = fields.Float('检测精度')
handle_detection_hardness = fields.Char('检测硬度')
handle_standard_speed = fields.Float('标准转速')
active = fields.Boolean('有效', default=True)
# 夹头特有字段
chuck_code = fields.Char('夹头编码')
chuck_accuracy = fields.Float('精度(mm)')
# 夹持直径min、夹持直径max、3D模型图
chuck_clamping_diameter_min = fields.Float('夹持直径min')
chuck_clamping_diameter_max = fields.Float('夹持直径max')
chuck_diameter = fields.Float('外径(mm)')
chuck_inner_diameter = fields.Float('内径(mm)')
chuck_height = fields.Float('高度(mm)')
chuck_nut = fields.Float('配对螺母(mm)')
mrs_cutting_tool_model_chuck_handle_model_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_chuck_handle_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
string='适用刀柄型号',
default=lambda self: [], # 使用空列表作为默认值
)
chuck_clamping_range = fields.Float('夹持范围(mm)')
chuck_feature = fields.Char('特性')
image = fields.Binary('图片')
three_d_model = fields.Many2one('ir.attachment', '3D模型')
hide_integral = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏整体式刀具')
hide_blade = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀片')
hide_cutter_bar = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀杆')
hide_cutter_pad = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀盘')
hide_handler = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀柄')
hide_chuck = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏夹头')
hide_model = fields.Boolean(compute='_compute_hide_model_number', default=True, string='隐藏型号')
image_is_visible = fields.Boolean(compute='_compute_image_is_visible', default=True, string='隐藏图片')
@api.depends('mrs_cutting_tool_material_id')
def _compute_image_is_visible(self):
for record in self:
record.image_is_visible = not (record.hide_handler or record.hide_chuck)
@api.depends('mrs_cutting_tool_material_id')
def _compute_hide_model_number(self):
"""
根据刀具物料类型,显示不同的字段
"""
for record in self:
record.hide_integral = False
record.hide_blade = False
record.hide_cutter_bar = False
record.hide_cutter_pad = False
record.hide_handler = False
record.hide_chuck = False
record.hide_model = True
if record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '整体式刀具':
record.hide_model = False
record.hide_integral = True
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀片':
record.hide_model = False
record.hide_blade = True
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀杆':
record.hide_model = False
record.hide_cutter_bar = True
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀盘':
record.hide_model = False
record.hide_cutter_pad = True
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀柄':
record.hide_model = False
record.hide_handler = True
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '夹头':
record.hide_model = False
record.hide_chuck = True
else:
record.hide_model = True
# @api.model
# def create(self, vals):
# if vals.get('name', '/') == '/' or vals.get('name', '/') is False:
# vals['name'] = '/'
# obj = super(CuttingToolModel, self).create(vals)
# return obj
# 刀具类型
@@ -309,18 +193,6 @@ class CuttingToolType(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料')
# 整体式刀具类型特有字段
integral_tool_type_code = fields.Char('整体式刀具类型编码')
# 刀片类型特有字段
blade_type_code = fields.Char('刀片类型编码')
# 刀杆类型特有字段
bar_type_code = fields.Char('刀杆类型编码')
# 刀盘类型特有字段
pad_type_code = fields.Char('刀盘类型编码')
# 刀柄类型特有字段
handle_type_code = fields.Char('刀柄类型编码')
# 夹头类型特有字段
chuck_type_code = fields.Char('夹头类型编码')
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料')
remark = fields.Char('备注')
active = fields.Boolean('有效', default=True)

View File

@@ -10,6 +10,7 @@
<!-- filter_domain="[('name', 'ilike', self)]"/>-->
<field name="name" string="模糊搜索"
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
<group string="分组">
<filter name="tag_ids" string="标签" domain="[]" context="{'group_by': 'tag_ids'}"/>
</group>
@@ -27,9 +28,8 @@
<tree string="品牌" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="manufacturer_model_number"/>
<field name="tag_ids" widget="many2many_tags" optional="hide"/>
<field name="image_brand"/>
<field name="remark"/>
</tree>
</field>
</record>
@@ -43,21 +43,18 @@
<!-- <widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>-->
<field name="image_brand" widget='image' class="oe_avatar"
options="{'preview_image': 'image_128'}" string="log"/>
<!-- <div class="oe_title">-->
<!-- <label for="code" string="编码"/>-->
<!-- <h2 class="d-flex">-->
<!-- <field name="code" readonly="True"/>-->
<!-- </h2>-->
<!-- </div>-->
<div class="oe_title">
<h1>
<field name="code" readonly="1"/>
</h1>
</div>
<group>
<group>
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="tag_ids"
widget="many2many_tags"
options="{'color_field': 'color', 'no_create_edit': True}"
/>
<field name="manufacturer_model_number"/>
<field name="remark"/>
</group>
</group>
@@ -82,6 +79,8 @@
<search string="机床型号">
<field name="name" string="模糊搜索"
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -90,9 +89,9 @@
<field name="name">tree.sf.machine_tool.type</field>
<field name="model">sf.machine_tool.type</field>
<field name="arch" type="xml">
<tree string="机床型号" create="0">
<tree string="机床型号" create="0" delete="0" edit="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="brand_id"/>
<field name="remark"/>
<field name="machine_tool_picture" widget="image"/>
@@ -105,16 +104,19 @@
<field name="model">sf.machine_tool.type</field>
<field name="arch" type="xml">
<form string="机床型号" create="0" edit="0" delete="0">
<sheet>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>
<h1>
<field name="code"/>
</h1>
</div>
<group>
<group>
<label for="name"/>
<h1>
<field name="name" string="设备名称" placeholder="e.g. LED Monitor"/>
</h1>
<field name="code" force_save="1" readonly="1"/>
<field name="brand_id" required="1"
domain="[('tag_ids', '=', '机床')]"
options="{'no_create': True}"/>
@@ -124,7 +126,7 @@
<field name="machine_tool_picture" widget="image" nolabel="1"/>
</group>
</group>
<notebook>
<notebook>
<page string="基本信息">
<group>
<group string="基本参数">
@@ -221,7 +223,7 @@
<field name="tool_speed" required="1"/>
<field name="tool_long_max" required="1"/>
<label for="tool_diameter_min" string="刀具刀径(mm)"/>
<div class="test_model">
<div class="test_model">
<label for="tool_diameter_min" string="最小(min)"/>
<field name="tool_diameter_min" class="o_address_zip" required="1"
options="{'format': false}"/>Φ
@@ -267,6 +269,7 @@
<search string="机床类型">
<field name="name" string="模糊搜索"
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -277,7 +280,7 @@
<field name="arch" type="xml">
<tree string="机床类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="category"/>
<field name="remark"/>
</tree>
@@ -356,74 +359,95 @@
<button type="object" class="oe_highlight" name='enroll_machine_tool' string="机床注册"
attrs="{'invisible': [('code','!=',False)]}"/>
</header>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>
<sheet>
<div class="oe_title">
<h1>
<field name="MTcode"/>
</h1>
</div>
<group string="基本信息">
<group>
<field name="MTcode" string="编码"/>
<field name="brand_id"
required="1"
domain="[('tag_ids', '=', '机床')]"
options="{'no_create': True}"/>
</group>
<group>
<field name="type_id" required="1" options="{'no_create': True}"
domain="[('brand_id', '=', brand_id)]" attrs="{'invisible': [('brand_id','=',False)]}"/>
</group>
<group>
<field name="code" readonly="1" string="行业编码" force_save="1"/>
</group>
</group>
<notebook>
<page string="参数">
<group string="参数">
<group string="基本信息">
<!-- <group>-->
<!-- <field name="brand_id"-->
<!-- required="1"-->
<!-- domain="[('tag_ids', '=', '机床')]"-->
<!-- options="{'no_create': True}"/>-->
<!-- </group>-->
<group>
<field name="name" required="1" string="设备名称" placeholder="e.g. LED Monitor"/>
<field name="type_id" required="1" options="{'no_create': True}"
domain="[('brand_id', '=', brand_id)]"
attrs="{'invisible': [('brand_id','=',False)]}"/>
</group>
<!-- <div class="oe_title">-->
<!-- <label for="name"/>-->
<!-- <h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>-->
<!-- </div>-->
<group string="基本信息">
<group>
<field name="knife_type" required="1"/>
<field name="number_of_knife_library" required="1" options="{'format': false}"/>
<field name="number_of_axles" widget="radio" options="{'horizontal': true}"/>
<label for="x_axis" string="加工行程(mm)"
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
<div class="o_address_format"
attrs="{'invisible': [('number_of_axles', '=', False)]}">
<label for="x_axis" string="x"/>
<field name="x_axis" class="o_address_city" required="1"
options="{'format': false}"/>
<label for="y_axis" string="y"/>
<field name="y_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="z_axis" string="z"/>
<field name="z_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="b_axis" string="b"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
<field name="b_axis" class="o_address_city" required="1"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
options="{'format': false}"/>
<label for="c_axis" string="c"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
<field name="c_axis" class="o_address_zip" required="1"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
options="{'format': false}"/>
</div>
<field name="MTcode" string="编码"/>
<field name="brand_id"
required="1"
domain="[('tag_ids', '=', '机床')]"
options="{'no_create': True}"/>
</group>
<group>
<field name="rotate_speed" required="1" string="转速(min)" options="{'format': false}"/>
<field name="precision" required="1" string="加工精度(mm)"/>
<field name="control_system_id" required="1" options="{'no_create': True}"/>
<field name="state" widget="selection"/>
<field name="type_id" required="1" options="{'no_create': True}"
domain="[('brand_id', '=', brand_id)]"
attrs="{'invisible': [('brand_id','=',False)]}"/>
</group>
<group>
<field name="code" readonly="1" string="行业编码" force_save="1"/>
</group>
</group>
</page>
<page string="其他">
<group string="其他">
<field name="remark"/>
</group>
</page>
</notebook>
</group>
<notebook>
<page string="参数">
<group string="参数">
<group>
<field name="knife_type" required="1"/>
<field name="number_of_knife_library" required="1" options="{'format': false}"/>
<field name="number_of_axles" widget="radio" options="{'horizontal': true}"/>
<label for="x_axis" string="加工行程(mm)"
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
<div class="o_address_format"
attrs="{'invisible': [('number_of_axles', '=', False)]}">
<label for="x_axis" string="x"/>
<field name="x_axis" class="o_address_city" required="1"
options="{'format': false}"/>
<label for="y_axis" string="y"/>
<field name="y_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="z_axis" string="z"/>
<field name="z_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="b_axis" string="b"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
<field name="b_axis" class="o_address_city" required="1"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
options="{'format': false}"/>
<label for="c_axis" string="c"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
<field name="c_axis" class="o_address_zip" required="1"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
options="{'format': false}"/>
</div>
</group>
<group>
<field name="rotate_speed" required="1" string="转速(min)"
options="{'format': false}"/>
<field name="precision" required="1" string="加工精度(mm)"/>
<field name="control_system_id" required="1" options="{'no_create': True}"/>
<field name="state" widget="selection"/>
</group>
</group>
</page>
<page string="其他">
<group string="其他">
<field name="remark"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
@@ -452,6 +476,7 @@
<search string="数控系统">
<field name="name" string="模糊搜索"
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>

View File

@@ -36,6 +36,7 @@
<search>
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -46,9 +47,13 @@
<field name="arch" type="xml">
<form string="表面工艺类别" create="0" edit="0" delete="0">
<sheet>
<div class="oe_title">
<h1>
<field name="code"/>
</h1>
</div>
<group>
<group>
<field name="code" readonly="1"/>
<field name="sequence"/>
</group>
<group>
@@ -77,8 +82,8 @@
<field name="arch" type="xml">
<tree string="表面工艺类别" default_order="sequence, id" create="0" edit="0" delete="0">
<field name="sequence" widget="handle" string="序号"/>
<field name="code" readonly="1"/>
<field name="name"/>
<field name="code" />
<field name="name" string="名称"/>
</tree>
</field>
</record>
@@ -90,6 +95,7 @@
<search>
<field name="name" string="名称" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -99,8 +105,8 @@
<field name="model">sf.production.process</field>
<field name="arch" type="xml">
<tree string="表面工艺" create="0" edit="0" delete="0">
<field name="process_encode" readonly="1"/>
<field name="name" readonly="1"/>
<field name="process_encode" />
<field name="name" string="名称"/>
<field name="remark"/>
</tree>
</field>
@@ -111,12 +117,14 @@
<field name="arch" type="xml">
<form string="表面工艺" create="0" edit="0" delete="0">
<sheet>
<div class="oe_title">
<h1>
<field name="process_encode"/>
</h1>
</div>
<group>
<group>
<field name="process_encode" readonly="1"/>
</group>
<group>
<field name="name" required="1"/>
<field name="name" required="1" string="名称"/>
</group>
<notebook>
<page string="可选参数">
@@ -179,6 +187,7 @@
<search>
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -188,14 +197,19 @@
<field name="arch" type="xml">
<form string="材料型号" create="0" edit="1" delete="0">
<sheet>
<div class="oe_title">
<h1>
<field name="materials_no" readonly="1" force_save="1"/>
</h1>
</div>
<group>
<group>
<field name="materials_no" readonly="1"/>
<field name="name" readonly="1"/>
<field name="gain_way" required="1"/>
<field name="density" readonly="1"/>
</group>
<group>
<field name="name" readonly="1"/>
<field name="need_h" default="false" readonly="1"/>
<field name="mf_materia_post" attrs="{'invisible':[('need_h','=',False)]} "
readonly="1"/>
@@ -241,10 +255,10 @@
<search>
<field name="name" string="型号名搜索" filter_domain="[('name','ilike',self)]"/>
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
<searchpanel class="account_root">
<field name="materials_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>
</record>
@@ -254,12 +268,14 @@
<field name="arch" type="xml">
<form string="材料" create="0" edit="0" delete="0">
<sheet>
<div class="oe_title">
<h1>
<field name="materials_no"/>
</h1>
</div>
<group>
<group>
<field name="materials_no" readonly="1" default="编码"/>
</group>
<group>
<field name="name" required="1"/>
<field name="name" required="1" string="名称"/>
</group>
<notebook>
<page string="型号">
@@ -288,7 +304,7 @@
<field name="arch" type="xml">
<tree string="材料" create="0" edit="0" delete="0">
<field name="materials_no" readonly="1"/>
<field name="name" readonly="1"/>
<field name="name" string="名称"/>
</tree>
</field>
</record>
@@ -299,6 +315,7 @@
<search>
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -335,45 +352,6 @@
<field name="view_mode">tree,form</field>
</record>
<!-- #&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;托盘&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;-->
<!-- <record id="action_sf_tray" model="ir.actions.act_window">-->
<!-- <field name="name">托盘</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">sf.tray</field>-->
<!-- <field name="view_mode">tree,form</field>-->
<!-- <field name="help" type="html">-->
<!-- <p class="o_view_nocontent_smiling_face">-->
<!-- 创建托盘吧-->
<!-- </p>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="view_sf_tray_search" model="ir.ui.view">-->
<!-- <field name="name">sf.tray.search</field>-->
<!-- <field name="model">sf.tray</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <search string="托盘">-->
<!-- <field name="name" string="名称" filter_domain="[('name','ilike',self)]"/>-->
<!-- <field name="code" string="编码" filter_domain="[('code','ilike',self)]"/>-->
<!-- <group string="分组">-->
<!-- <filter name="state" string="状态" domain="[]" context="{'group_by': 'state'}"/>-->
<!-- </group>-->
<!-- </search>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record model="ir.ui.view" id="tree_sf_tray_view">-->
<!-- <field name="name">sf.tray.tree</field>-->
<!-- <field name="model">sf.tray</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <tree string="托盘">-->
<!-- <field name="code"/>-->
<!-- <field name="name"/>-->
<!-- <field name="state"/>-->
<!-- </tree>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record model="ir.ui.view" id="sf_tray_form">-->
<!-- <field name="name">sf.tray.form</field>-->

View File

@@ -1,681 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- ======================================定位元件型号view视图================================================== -->
<record id="sf_fixture_setting_element_view_tree" model="ir.ui.view">
<field name="name">定位元件型号</field>
<field name="model">sf.fixture.setting.element</field>
<field name="arch" type="xml">
<tree string="定位元件型号">
<field name="code"/>
<field name="name"/>
<field name="setting_ele_type_id"/>
<field name="brand_id"/>
<field name="picture" widget="image"/>
</tree>
</field>
</record>
<record id="sf_fixture_setting_element_view_form" model="ir.ui.view">
<field name="name">定位元件型号</field>
<field name="model">sf.fixture.setting.element</field>
<field name="arch" type="xml">
<form string="定位元件型号">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="setting_ele_type_id"/>
<field name="brand_id"/>
</group>
<group>
<field name="picture" widget="image" nolabel="1"/>
</group>
</group>
<group string="参数">
<group>
<field name="length"/>
<field name="width"/>
<field name="height"/>
<field name="diameter"/>
</group>
<group>
<field name="material_type_id"/>
<field name="hardness"/>
<field name="surface_treatment"/>
<field name="accuracy_grade"/>
<field name="chucking_power"/>
</group>
</group>
<group string="其他">
<group>
<field name="comment"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_fixture_setting_element_view_act" model="ir.actions.act_window">
<field name="name">定位元件型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.setting.element</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ======================================定位原件类型================================================== -->
<record id="sf_setting_element_type_view_tree" model="ir.ui.view">
<field name="name">定位原件类型</field>
<field name="model">sf.setting.element.type</field>
<field name="arch" type="xml">
<tree string="定位原件类型">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_setting_element_type_view_form" model="ir.ui.view">
<field name="name">定位元件类型</field>
<field name="model">sf.setting.element.type</field>
<field name="arch" type="xml">
<form string="定位元件类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_setting_element_type_view_act" model="ir.actions.act_window">
<field name="name">定位元件类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.setting.element.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ======================================夹紧元件型号================================================== -->
<record id="sf_fixture_clamping_element_view_tree" model="ir.ui.view">
<field name="name">夹紧元件型号</field>
<field name="model">sf.fixture.clamping.element</field>
<field name="arch" type="xml">
<tree string="夹紧元件型号">
<field name="code"/>
<field name="name"/>
<field name="clamping_ele_type_id"/>
<field name="brand_id"/>
<field name="picture" widget="image"/>
</tree>
</field>
</record>
<record id="sf_fixture_clamping_element_view_form" model="ir.ui.view">
<field name="name">夹紧元件型号</field>
<field name="model">sf.fixture.clamping.element</field>
<field name="arch" type="xml">
<form string="夹紧元件型号">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="clamping_ele_type_id"/>
<field name="brand_id"/>
</group>
<group>
<field name="picture" widget="image" nolabel="1"/>
</group>
</group>
<group string="参数">
<group>
<field name="length"/>
<field name="width"/>
<field name="height"/>
<field name="diameter"/>
</group>
<group>
<field name="material_type_id"/>
<field name="hardness"/>
<field name="chucking_power"/>
<field name="surface_treatment"/>
<field name="accuracy_grade"/>
</group>
</group>
<group string="其他">
<group>
<field name="comment"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_fixture_clamping_element_view_act" model="ir.actions.act_window">
<field name="name">夹紧元件型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.clamping.element</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ======================================夹紧元件类型================================================== -->
<record id="sf_clamping_element_type_view_tree" model="ir.ui.view">
<field name="name">夹紧元件类型</field>
<field name="model">sf.clamping.element.type</field>
<field name="arch" type="xml">
<tree string="夹紧元件类型">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_clamping_element_type_view_form" model="ir.ui.view">
<field name="name">夹紧元件类型</field>
<field name="model">sf.clamping.element.type</field>
<field name="arch" type="xml">
<form string="夹紧元件类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_clamping_element_type_view_act" model="ir.actions.act_window">
<field name="name">夹紧元件类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.clamping.element.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ===================================对刀夹具型号view视图============================================ -->
<record id="sf_fixture_tool_setting_view_tree" model="ir.ui.view">
<field name="name">对刀夹具型号</field>
<field name="model">sf.fixture.tool.setting</field>
<field name="arch" type="xml">
<tree string="对刀夹具型号">
<field name="code"/>
<field name="name"/>
<field name="tool_setting_type_id"/>
<field name="brand_id"/>
<field name="picture" widget="image"/>
</tree>
</field>
</record>
<record id="sf_fixture_tool_setting_view_form" model="ir.ui.view">
<field name="name">对刀夹具型号</field>
<field name="model">sf.fixture.tool.setting</field>
<field name="arch" type="xml">
<form string="对刀夹具型号">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="tool_setting_type_id"/>
<field name="brand_id"/>
</group>
<group>
<field name="picture" widget="image" nolabel="1"/>
</group>
</group>
<group string="参数">
<group>
<field name="length"/>
<field name="width"/>
<field name="height"/>
<field name="diameter"/>
<field name="hardness"/>
</group>
<group>
<field name="clamp_mode"/>
<field name="accuracy_grade"/>
<field name="max_clamp_diameter"/>
<field name="material_type_id"/>
<field name="chucking_power"/>
</group>
</group>
<group string="其他">
<group>
<field name="comment"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_fixture_tool_setting_view_act" model="ir.actions.act_window">
<field name="name">对刀夹具型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.tool.setting</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ==================================对刀夹具类型view视图=============================================== -->
<record id="sf_tool_setting_type_view_tree" model="ir.ui.view">
<field name="name">对刀夹具类型</field>
<field name="model">sf.tool.setting.type</field>
<field name="arch" type="xml">
<tree string="对刀夹具类型">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_tool_setting_type_view_form" model="ir.ui.view">
<field name="name">对刀夹具类型</field>
<field name="model">sf.tool.setting.type</field>
<field name="arch" type="xml">
<form string="对刀夹具类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_tool_setting_type_view_act" model="ir.actions.act_window">
<field name="name">对刀夹具类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.tool.setting.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- =================================定位装置型号view视图==================================== -->
<record id="sf_fixture_locating_device_view_tree" model="ir.ui.view">
<field name="name">定位装置型号</field>
<field name="model">sf.fixture.locating.device</field>
<field name="arch" type="xml">
<tree string="定位装置型号">
<field name="code"/>
<field name="name"/>
<field name="locating_device_type_id"/>
<field name="brand_id"/>
<field name="picture" widget="image"/>
</tree>
</field>
</record>
<record id="sf_fixture_locating_device_view_form" model="ir.ui.view">
<field name="name">定位装置型号</field>
<field name="model">sf.fixture.locating.device</field>
<field name="arch" type="xml">
<form string="定位装置型号">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="locating_device_type_id"/>
<field name="brand_id"/>
</group>
<group>
<field name="picture" widget="image" nolabel="1"/>
</group>
</group>
<group string="参数">
<group>
<field name="length"/>
<field name="width"/>
<field name="height"/>
<field name="diameter"/>
</group>
<group>
<field name="material_type_id"/>
<field name="weight"/>
<field name="max_bearing_capacity"/>
<field name="accuracy_grade"/>
<field name="locate_mode_ids"/>
</group>
</group>
<group string="其他">
<group>
<field name="comment"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_fixture_locating_device_view_act" model="ir.actions.act_window">
<field name="name">定位装置型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.locating.device</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ==========================================定位装置类型view视图=============================================== -->
<record id="sf_locating_device_type_view_tree" model="ir.ui.view">
<field name="name">定位装置类型</field>
<field name="model">sf.locating.device.type</field>
<field name="arch" type="xml">
<tree string="定位装置类型">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_locating_device_type_view_form" model="ir.ui.view">
<field name="name">定位装置类型</field>
<field name="model">sf.locating.device.type</field>
<field name="arch" type="xml">
<form string="定位装置类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_locating_device_type_view_act" model="ir.actions.act_window">
<field name="name">定位装置类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.locating.device.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ====================================定位装置定位方式view视图========================================== -->
<record id="sf_locating_device_locate_mode_view_tree" model="ir.ui.view">
<field name="name">定位装置定位方式</field>
<field name="model">sf.locating.device.locate.mode</field>
<field name="arch" type="xml">
<tree string="定位装置定位方式">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_locating_device_locate_mode_view_form" model="ir.ui.view">
<field name="name">定位装置定位方式</field>
<field name="model">sf.locating.device.locate.mode</field>
<field name="arch" type="xml">
<form string="定位装置定位方式">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name_id"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_locating_device_locate_mode_view_act" model="ir.actions.act_window">
<field name="name">定位装置定位方式</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.locating.device.locate.mode</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ======================================导向元件view视图=========================================== -->
<record id="sf_fixture_guide_element_view_tree" model="ir.ui.view">
<field name="name">导向元件型号</field>
<field name="model">sf.fixture.guide.element</field>
<field name="arch" type="xml">
<tree string="导向元件型号">
<field name="code"/>
<field name="name"/>
<field name="guide_ele_type_id"/>
<field name="brand_id"/>
<field name="picture" widget="image"/>
</tree>
</field>
</record>
<record id="sf_fixture_guide_element_view_form" model="ir.ui.view">
<field name="name">导向元件型号</field>
<field name="model">sf.fixture.guide.element</field>
<field name="arch" type="xml">
<form string="导向元件型号">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="guide_ele_type_id"/>
<field name="brand_id"/>
</group>
<group>
<field name="picture" widget="image" nolabel="1"/>
</group>
</group>
<group string="参数">
<group>
<field name="length"/>
<field name="width"/>
<field name="height"/>
<field name="diameter"/>
<field name="guide_ele_way_to_install_id"/>
</group>
<group>
<field name="material_type_id"/>
<field name="accuracy_grade"/>
<field name="weight"/>
<field name="scope_of_application"/>
<field name="guide_ele_guide_mode_id"/>
</group>
</group>
<group string="其他">
<group>
<field name="comment"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_fixture_guide_element_view_act" model="ir.actions.act_window">
<field name="name">导向元件型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.guide.element</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ========================================导向元件类型view视图==================================== -->
<record id="sf_guide_element_type_view_tree" model="ir.ui.view">
<field name="name">导向元件类型</field>
<field name="model">sf.guide.element.type</field>
<field name="arch" type="xml">
<tree string="定位原件类型">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_guide_element_type_view_form" model="ir.ui.view">
<field name="name">导向元件类型</field>
<field name="model">sf.guide.element.type</field>
<field name="arch" type="xml">
<form string="定位元件类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_guide_element_type_view_act" model="ir.actions.act_window">
<field name="name">导向元件类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.guide.element.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ==========================================导向元件导向方式view视图======================================== -->
<record id="sf_guide_element_guide_mode_view_tree" model="ir.ui.view">
<field name="name">导向元件导向方式</field>
<field name="model">sf.guide.element.guide.mode</field>
<field name="arch" type="xml">
<tree string="导向元件导向方式">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_guide_element_guide_mode_view_form" model="ir.ui.view">
<field name="name">导向元件导向方式</field>
<field name="model">sf.guide.element.guide.mode</field>
<field name="arch" type="xml">
<form string="导向元件导向方式">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name_id"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_guide_element_guide_mode_view_act" model="ir.actions.act_window">
<field name="name">导向元件导向方式</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.guide.element.guide.mode</field>
<field name="view_mode">tree,form</field>
</record>
<!-- ==========================================导向元件安装方式view视图============================================== -->
<record id="sf_guide_element_way_to_install_view_tree" model="ir.ui.view">
<field name="name">导向元件安装方式</field>
<field name="model">sf.guide.element.way.to.install</field>
<field name="arch" type="xml">
<tree string="导向元件导向方式">
<field name="code"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="sf_guide_element_way_to_install_view_form" model="ir.ui.view">
<field name="name">导向元件安装方式</field>
<field name="model">sf.guide.element.way.to.install</field>
<field name="arch" type="xml">
<form string="导向元件导向方式">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name_id"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group string="其他">
<field name="comment"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_guide_element_way_to_install_view_act" model="ir.actions.act_window">
<field name="name">导向元件安装方式</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.guide.element.way.to.install</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>

View File

@@ -13,7 +13,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -24,10 +24,10 @@
<field name="arch" type="xml">
<tree string="夹具物料" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="category"/>
<field name="remark"/>
<field name="active" string="启用"/>
<!-- <field name="active" string="启用"/>-->
</tree>
</field>
</record>
@@ -77,7 +77,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -89,9 +89,9 @@
<field name="arch" type="xml">
<tree string="联装类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="remark"/>
<field name="active" string="启用"/>
<!-- <field name="active" string="启用"/>-->
</tree>
</field>
</record>
@@ -150,6 +150,8 @@
<filter string='联装类型' name="multi_mounting_type_id" domain="[]"
context="{'group_by' : 'multi_mounting_type_id'}"/>
</group>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
<searchpanel class="account_root">
<field name="fixture_material_id" icon="fa-filter"/>
</searchpanel>
@@ -161,9 +163,9 @@
<field name="name">夹具型号</field>
<field name="model">sf.fixture.model</field>
<field name="arch" type="xml">
<tree string="夹具型号" create="0" edit="0" delete="0">
<tree string="夹具型号">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="brand_id"/>
<field name="fixture_material_id"/>
<field name="multi_mounting_type_id"/>
@@ -175,14 +177,16 @@
<field name="name">夹具型号</field>
<field name="model">sf.fixture.model</field>
<field name="arch" type="xml">
<form string="夹具型号" create="0" edit="0" delete="0">
<form string="夹具型号">
<sheet>
<div class="oe_title">
<h1>
<field name="code" force_save="1" readonly="1"/>
</h1>
</div>
<group>
<group>
<field name="code" force_save="1"/>
<field name="name"/>
<field name="brand_id" options="{'no_create': True}"/>
<field name="manufacturer_model_number"/>
<field name="name" string="名称"/>
<field name="fixture_material_id" options="{'no_create': True}"/>
<field name="fixture_material_type" invisible="1"/>
<field name="multi_mounting_type_id" options="{'no_create': True}"/>
@@ -195,9 +199,10 @@
</group>
<notebook>
<page string="参数"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","转接板(锁板)夹具","磁吸夹具","虎钳夹具","零点卡盘"))]}'>
<group>
<group>
<field name="brand_id" options="{'no_create': True}"/>
<label for="length" string="尺寸(mm)"/>
<div class="test_model">
<label for="length" string="长"/>
@@ -215,16 +220,16 @@
<field name="weight"></field>
<field name="materials_model_id" options="{'no_create': True}"/>
<field name="clamping_way"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
<field name="port_type"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
<field name="through_hole_size"
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)夹具"))]}'/>
<field name="screw_size"
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)夹具"))]}'/>
<field name="driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="apply_machine_tool_type_ids" widget="many2many_tags"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳夹具","零点卡盘"))]}'/>
<field name="apply_machine_tool_type_ids" widget="many2many_tags" options="{'no_create': True}"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group>
<group>
@@ -235,20 +240,20 @@
<label for="clamp_workpiece_length_max" string="长"/>
<field name="clamp_workpiece_length_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
attrs="{'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
<span>&amp;nbsp;</span>
<label for="clamp_workpiece_width_max" string="宽"/>
<field name="clamp_workpiece_width_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
attrs="{'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
<span>&amp;nbsp;</span>
<label for="clamp_workpiece_height_max" string="高"/>
<field name="clamp_workpiece_height_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
attrs="{'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
</div>
<field name="clamp_workpiece_diameter_max" string="夹持工件最大直径(mm)"
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
<field name="maximum_carrying_weight"></field>
<field name="maximum_clamping_force"></field>
</group>

View File

@@ -14,7 +14,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -25,9 +25,9 @@
<field name="arch" type="xml">
<tree string="功能夹具类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="remark"/>
<field name="active" string="启用"/>
<!-- <field name="active" string="启用"/>-->
</tree>
</field>
</record>
@@ -73,6 +73,7 @@
filter_domain="[('code', 'ilike', self)]"/>
<field name="name" string="名称"
filter_domain="[('name', 'ilike', self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -83,7 +84,7 @@
<field name="arch" type="xml">
<tree string="功能夹具">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="type_id"/>
</tree>
</field>
@@ -94,16 +95,20 @@
<field name="model">sf.functional.fixture</field>
<field name="arch" type="xml">
<form string="功能夹具">
<!-- <header>-->
<!-- <field name="registration_status" invisible="1"/>-->
<!-- <button type="object" class="oe_highlight" name='register_functional_fixture' string="注册"-->
<!-- attrs="{'invisible': [('registration_status','=','已注册')]}"/>-->
<!-- </header>-->
<!-- <header>-->
<!-- <field name="registration_status" invisible="1"/>-->
<!-- <button type="object" class="oe_highlight" name='register_functional_fixture' string="注册"-->
<!-- attrs="{'invisible': [('registration_status','=','已注册')]}"/>-->
<!-- </header>-->
<sheet>
<div class="oe_title">
<h1>
<field name="code"/>
</h1>
</div>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="type_id"/>
<field name="type" invisible="1"/>
<field name="zero_chuck_model_ids" widget="many2many_tags" options="{'no_create': True}"/>

View File

@@ -8,7 +8,7 @@
<field name="arch" type="xml">
<tree string="刀具物料">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="remark"/>
</tree>
</field>
@@ -24,7 +24,7 @@
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
</group>
<group>
<field name="remark"/>

View File

@@ -8,7 +8,7 @@
<field name="arch" type="xml">
<tree string="刀具物料" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="remark"/>
</tree>
</field>
@@ -44,7 +44,7 @@
<search string="刀具物料">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -56,15 +56,15 @@
<field name="arch" type="xml">
<tree string="功能刀具">
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="mrs_cutting_tool_type_id"/>
<field name="mrs_cutting_tool_integral_model_ids" optional="hide"/>
<field name="mrs_cutting_tool_blade_model_ids" optional="hide"/>
<field name="mrs_cutting_tool_cutterbar_model_ids" optional="hide"/>
<field name="mrs_cutting_tool_cutterpad_model_ids" optional="hide"/>
<field name="mrs_cutting_tool_cutterhandle_model_ids" optional="hide"/>
<field name="mrs_cutting_tool_cutterhead_model_ids" optional="hide"/>
<field name="image" widget='image'/>
<!-- <field name="mrs_cutting_tool_integral_model_ids" optional="hide"/>-->
<!-- <field name="mrs_cutting_tool_blade_model_ids" optional="hide"/>-->
<!-- <field name="mrs_cutting_tool_cutterbar_model_ids" optional="hide"/>-->
<!-- <field name="mrs_cutting_tool_cutterpad_model_ids" optional="hide"/>-->
<!-- <field name="mrs_cutting_tool_cutterhandle_model_ids" optional="hide"/>-->
<!-- <field name="mrs_cutting_tool_cutterhead_model_ids" optional="hide"/>-->
<!-- <field name="image" widget='image'/>-->
</tree>
</field>
</record>
@@ -79,56 +79,56 @@
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
<field name="name" string="名称"/>
<field name="mrs_cutting_tool_type_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_cutting_tool_model_id"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': True}"/>
<field name="mrs_cutting_tool_integral_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
<field name="mrs_cutting_tool_blade_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
<field name="mrs_cutting_tool_cutterbar_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
<field name="mrs_cutting_tool_cutterpad_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
<field name="mrs_cutting_tool_cutterhandle_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
<field name="mrs_cutting_tool_cutterhead_model_ids"
options="{'no_create': True, 'no_quick_create': True}"
widget="many2many_tags"/>
</group>
<group>
<field name="image" nolabel="1" widget="image"/>
<!-- <field name="mrs_cutting_tool_integral_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="mrs_cutting_tool_blade_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="mrs_cutting_tool_cutterbar_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="mrs_cutting_tool_cutterpad_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="mrs_cutting_tool_cutterhandle_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="mrs_cutting_tool_cutterhead_model_ids"-->
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
<!-- widget="many2many_tags"/>-->
</group>
<!-- <group>-->
<!-- <field name="image" nolabel="1" widget="image"/>-->
<!-- </group>-->
</group>
<group string='参数信息'>
<group>
<field name="diameter"/>
<field name="tool_grade"/>
<field name="machining_accuracy"/>
<field name="tool_length"/>
<field name="blade_number"/>
</group>
<group>
<field name="integral_blade_length"/>
<field name="effective_blade_length"/>
<field name="max_life"/>
<field name="is_standard"/>
</group>
</group>
<group string='其他信息'>
<group>
<field name="applicable_range"/>
</group>
</group>
<!-- <group string='参数信息'>-->
<!-- <group>-->
<!-- <field name="diameter"/>-->
<!-- <field name="tool_grade"/>-->
<!-- <field name="machining_accuracy"/>-->
<!-- <field name="tool_length"/>-->
<!-- <field name="blade_number"/>-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="integral_blade_length"/>-->
<!-- <field name="effective_blade_length"/>-->
<!-- <field name="max_life"/>-->
<!-- <field name="is_standard"/>-->
<!-- </group>-->
<!-- </group>-->
<!-- <group string='其他信息'>-->
<!-- <group>-->
<!-- <field name="applicable_range"/>-->
<!-- </group>-->
<!-- </group>-->
</group>
</sheet>
</form>
@@ -142,6 +142,7 @@
<search string="功能刀具">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -153,7 +154,7 @@
<field name="model">sf.functional.cutting.tool.model</field>
<field name="arch" type="xml">
<tree string="功能刀具类型" create="0" delete="0" edit="0">
<field name="name"/>
<field name="name" string="名称"/>
<field name="code"/>
<field name="remark"/>
</tree>
@@ -187,6 +188,7 @@
<search string="功能刀具类型">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -196,11 +198,10 @@
<field name="name">sf.cutting.tool.model.tree</field>
<field name="model">sf.cutting.tool.model</field>
<field name="arch" type="xml">
<tree string="刀具型号">
<tree string="刀具型号" edit="0" delete="0" create="0">
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id"/>
<field name="image" widget='image'/>
<field name="name" string="名称"/>
<field name="cutting_tool_material_id"/>
</tree>
</field>
</record>
@@ -209,215 +210,114 @@
<field name="name">sf.cutting.tool.model.form</field>
<field name="model">sf.cutting.tool.model</field>
<field name="arch" type="xml">
<form string="刀具型号">
<form string="刀具型号" edit="0" delete="0" create="0">
<sheet>
<group col='1'>
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_machine_brand_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_materials_model_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_cutting_tool_type_id"
options="{'no_create': True, 'no_quick_create': True}"/>
</group>
<group>
<field name="image" nolabel="1" widget="image"/>
</group>
</group>
<group string='参数信息'>
<group>
<field name="hide_integral" invisible="1"/>
<field name="hide_blade" invisible="1"/>
<field name="hide_cutter_bar" invisible="1"/>
<field name="hide_cutter_pad" invisible="1"/>
<field name="hide_handler" invisible="1"/>
<field name="hide_chuck" invisible="1"/>
<field name="mrs_cutting_tool_material_name" invisible="1"/>
<field name="integral_total_length"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_shank_length"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_blade_length"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_diameter"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_blade_number"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_accuracy"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_hardness"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="blade_length"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_width"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_height"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_top_angle"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_front_angle"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_rear_angle"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="bar_c_diameter"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_total_length"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_blade_number"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_d_diameter"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_wrench"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="pad_c_diameter"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_total_length"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_blade_number"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_d_diameter"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_wrench"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="handle_length"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_flange_length"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_flange_diameter"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_weight"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_body_accuracy"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_clamping_diameter_min"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_clamping_diameter_max"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="chuck_accuracy"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_diameter"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_inner_diameter"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_height"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
</group>
<group>
<field name="integral_front_angle"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_rear_angle"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_main_included_angle"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_coating_material"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_nut"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_scope"
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="blade_main_included_angle"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_r_angle"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_coating_material"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_hardness"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_radius"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="blade_nut"
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
<field name="bar_screw"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_radius"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_hardness"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="bar_scope"
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
<field name="pad_screw"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_radius"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_accuracy"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_hardness"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="pad_scope"
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
<field name="handle_nut"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_clamping_range"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_detection_accuracy"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_detection_hardness"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_standard_speed"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_jump_accuracy"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_max_speed"
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="chuck_nut"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_clamping_range"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_feature"
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
</group>
</group>
<group string='其他信息'>
<group>
<field name="mrs_cutting_tool_model_blade_cutter_bar_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_blade', '=', False)]}"/>
<field name="mrs_cutting_tool_model_bar_blade_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_cutter_bar', '=', False)]}"/>
<field name="mrs_cutting_tool_model_pad_blade_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_cutter_pad', '=', False)]}"/>
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_handler', '=', False)]}"/>
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_chuck', '=', False)]}"/>
</group>
<group>
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" widget="many2many_tags"
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'invisible': [('hide_blade', '=', False)]}"/>
</group>
<div class="oe_title">
<h1>
<field name="code"/>
</h1>
</div>
<group>
<group>
<field name="name" string="名称"/>
<field name="cutting_tool_material_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="cutting_tool_type" invisible="1"/>
</group>
<!-- <group>-->
<!-- <field name="image" nolabel="1" widget="image"/>-->
<!-- </group>-->
</group>
<notebook>
<page string="参数"
attrs="{'invisible': [('cutting_tool_type', '=', False)]}">
<group>
<!--整体式刀具-->
<group>
<field name="brand_id"/>
<field name="cutting_tool_type_id" />
<field name="material_model_id"/>
<field name="total_length"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀柄'))]}"/>
<field name="shank_length"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<field name="blade_length"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<!--刀片-->
<label for="tool_length" string="尺寸(mm)"
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'/>
<div class="test_model"
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'>
<label for="tool_length" string="长"/>
<field name="tool_length" class="o_address_zip"
options="{'format': false}"/>
<label for="tool_width" string="宽"/>
<field name="tool_width" class="o_address_zip"
options="{'format': false}"/>
<label for="tool_thickness" string="厚"/>
<field name="tool_thickness" class="o_address_zip"
options="{'format': false}"/>
</div>
<field name="diameter"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
<field name="blade_diameter"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
<field name="blade_number"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
<field name="diameter_max"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<field name="flange_length"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<field name="flange_diameter"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<!--夹头-->
<field name="outer_diameter"
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
<field name="inner_diameter"
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
<field name="tool_height"
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
<field name="tool_weight"
attrs='{"invisible": [("cutting_tool_type","not in",("夹头","刀柄"))]}'/>
<field name="clamping_diameter"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
<field name="cutter_bar_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
<field name="cutter_pad_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
<field name="blade_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
<field name="chuck_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘','刀柄','整体式刀具'))]}"/>
<field name="handle_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头'))]}"/>
</group>
<group>
<field name="jump_accuracy"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<field name="front_angle"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
<field name="top_angle"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
<field name="rear_angle"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
<field name="main_included_angle"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
<field name="coating_material"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
<field name="accuracy_level"
attrs="{'invisible': [('cutting_tool_type', '=', '刀柄')]}"/>
<field name="working_hardness"/>
<field name="wrench"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄','刀杆','刀盘' ))]}"/>
<field name="screw"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
<field name="nut"
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
</group>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
@@ -431,8 +331,9 @@
<search string="刀具型号">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
<searchpanel class="account_root">
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
<field name="cutting_tool_material_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>
@@ -446,8 +347,8 @@
<field name="arch" type="xml">
<tree string="刀具类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id"/>
<field name="name" string="名称"/>
<field name="cutting_tool_material_id"/>
<field name="remark"/>
</tree>
</field>
@@ -482,8 +383,9 @@
<search string="刀具类型">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
<searchpanel class="account_root">
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
<field name="cutting_tool_material_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>