增加刀具物料同步功能
This commit is contained in:
@@ -17,6 +17,68 @@ class CuttingToolMaterial(models.Model):
|
||||
remark = fields.Char('备注')
|
||||
|
||||
|
||||
# 测试模型
|
||||
class aa_test(models.Model):
|
||||
_name = 'sf.test'
|
||||
_description = '测试'
|
||||
|
||||
model_number = fields.Char('型号', readonly=True)
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 关联整体式刀具型号
|
||||
integral_model_number = fields.Many2one('sf.integral.cutting.tool.model', '整体式刀具型号')
|
||||
# 关联刀片型号
|
||||
blade_model_number = fields.Many2one('sf.blade', '刀片型号')
|
||||
# 关联刀杆型号
|
||||
cutterbar_model_number = fields.Many2one('sf.cutter.bar', '刀杆型号')
|
||||
# 关联刀盘型号
|
||||
cutterpad_model_number = fields.Many2one('sf.cutter.pad', '刀盘型号')
|
||||
# 关联刀柄型号
|
||||
handle_model_number = fields.Many2one('sf.handle', '刀柄型号')
|
||||
# 关联夹头型号
|
||||
chuck_model_number = fields.Many2one('sf.chuck', '夹头型号')
|
||||
|
||||
hide_integral_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏整体式刀具型号')
|
||||
hide_blade_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀片型号')
|
||||
hide_cutterbar_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀杆型号')
|
||||
hide_cutterpad_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀盘型号')
|
||||
hide_handle_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀柄型号')
|
||||
hide_chuck_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏夹头型号')
|
||||
hide_model_number = fields.Boolean(compute='_compute_hide_model_number', default=True, string='隐藏型号')
|
||||
|
||||
@api.depends('cutting_tool_material')
|
||||
def _compute_hide_model_number(self):
|
||||
for record in self:
|
||||
record.hide_integral_model_number = False
|
||||
record.hide_blade_model_number = False
|
||||
record.hide_cutterbar_model_number = False
|
||||
record.hide_cutterpad_model_number = False
|
||||
record.hide_handle_model_number = False
|
||||
record.hide_chuck_model_number = False
|
||||
record.hide_model_number = True
|
||||
|
||||
if record.cutting_tool_material and record.cutting_tool_material.name == '整体式刀具':
|
||||
record.hide_model_number = False
|
||||
record.hide_integral_model_number = True
|
||||
elif record.cutting_tool_material and record.cutting_tool_material.name == '刀片':
|
||||
record.hide_model_number = False
|
||||
record.hide_blade_model_number = True
|
||||
elif record.cutting_tool_material and record.cutting_tool_material.name == '刀杆':
|
||||
record.hide_model_number = False
|
||||
record.hide_cutterbar_model_number = True
|
||||
elif record.cutting_tool_material and record.cutting_tool_material.name == '刀盘':
|
||||
record.hide_model_number = False
|
||||
record.hide_cutterpad_model_number = True
|
||||
elif record.cutting_tool_material and record.cutting_tool_material.name == '刀柄':
|
||||
record.hide_model_number = False
|
||||
record.hide_handle_model_number = True
|
||||
elif record.cutting_tool_material and record.cutting_tool_material.name == '夹头':
|
||||
record.hide_model_number = False
|
||||
record.hide_chuck_model_number = True
|
||||
else:
|
||||
record.hide_model_number = True
|
||||
|
||||
|
||||
# 功能刀具
|
||||
class FunctionalCuttingTool(models.Model):
|
||||
_name = 'sf.functional.cutting.tool'
|
||||
@@ -64,7 +126,7 @@ class IntegralCuttingTool(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 整体式刀具类型字段,关联整体式刀具类型对象
|
||||
integral_model_number = fields.Many2one('sf.integral.cutting.tool.model', '整体式刀具类型')
|
||||
# 增加品牌、总长度(mm)、柄部长度(mm)、刃部长度(mm)、直径(mm)、刃数、前角(°)、后角(°)、主偏角(°)、材料型号、配对螺母(mm)、适用夹头型号、适用范围、图片、创建人、创建时间等字段
|
||||
@@ -93,7 +155,7 @@ class IntegralCuttingToolModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
remark = fields.Text('备注')
|
||||
|
||||
|
||||
@@ -105,7 +167,7 @@ class Blade(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 刀片类型字段,关联刀片类型对象
|
||||
blade_model_number = fields.Many2one('sf.blade.model', '刀片类型')
|
||||
# 编码、型号名称、刀片类型、品牌、长度L(mm)、宽度D(mm)、高度T(mm)、顶角(°)、前角(°)、后角(°)、主偏角(°)、R角(°)、材料型号、加工硬度、配对螺母(mm)、适用刀杆/刀盘型号、刀尖半径(mm)、图片、创建人、创建时间字段
|
||||
@@ -137,7 +199,7 @@ class BladeModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 刀片类型字段,关联刀片对象
|
||||
blade_ids = fields.One2many('sf.blade', 'blade_model_number', '刀片类型')
|
||||
remark = fields.Text('备注')
|
||||
@@ -151,7 +213,7 @@ class CutterBar(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 刀杆类型字段,关联刀杆类型对象
|
||||
cutter_bar_model_number = fields.Many2one('sf.cutter.bar.model', '刀杆类型')
|
||||
# 品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间
|
||||
@@ -179,7 +241,7 @@ class CutterBarModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
remark = fields.Text('备注')
|
||||
|
||||
|
||||
@@ -191,7 +253,7 @@ class CutterPad(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 刀盘类型字段,关联刀盘类型对象
|
||||
cutter_pad_model_number = fields.Many2one('sf.cutter.pad.model', '刀盘类型')
|
||||
# 增加品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间
|
||||
@@ -219,7 +281,7 @@ class CutterPadModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
remark = fields.Text('备注')
|
||||
|
||||
|
||||
@@ -231,7 +293,7 @@ class Handle(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 刀柄类型字段,关联刀柄类型对象
|
||||
handle_model_number = fields.Many2one('sf.handle.model', '刀柄类型')
|
||||
# 增加、刀柄类型、品牌、L(mm)、L1(mm)、D1(mm)、重量(kg)、材料型号、本体精度(mm)、配对螺母(mm)、适用夹头型号、夹持范围(mm)、检测精度、检测硬度、标准转速、图片、创建人、创建时间
|
||||
@@ -259,7 +321,7 @@ class HandleModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
remark = fields.Text('备注')
|
||||
|
||||
|
||||
@@ -267,11 +329,12 @@ class HandleModel(models.Model):
|
||||
class Chuck(models.Model):
|
||||
_name = 'sf.chuck'
|
||||
_description = '夹头'
|
||||
_rec_name = 'code'
|
||||
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('型号名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
# 夹头类型字段,关联夹头类型对象
|
||||
chuck_model_number = fields.Many2one('sf.chuck.model', '夹头类型')
|
||||
# 增加品牌、精度(mm)、外径(mm)、内径(mm)、高度(mm)、材料型号、配对螺母(mm)、适用刀柄型号、夹持范围(mm)、特性、图片、创建人、创建时间
|
||||
@@ -296,5 +359,5 @@ class ChuckModel(models.Model):
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
# 关联刀具物料
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
||||
cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||
remark = fields.Text('备注')
|
||||
|
||||
@@ -32,6 +32,7 @@ access_sf_handle_model,sf.handle.model,model_sf_handle_model,base.group_user,1,1
|
||||
access_sf_chuck,sf.chuck,model_sf_chuck,base.group_user,1,1,1,1
|
||||
access_sf_chuck_model,sf.chuck.model,model_sf_chuck_model,base.group_user,1,1,1,1
|
||||
access_sf_cutting_tool_material,sf.cutting.tool.material,model_sf_cutting_tool_material,base.group_user,1,1,1,1
|
||||
access_sf_test,sf.test,model_sf_test,base.group_user,1,1,1,1
|
||||
|
||||
access_sf_fixture_setting_element,sf_fixture_setting_element,model_sf_fixture_setting_element,base.group_user,1,1,1,1
|
||||
access_sf_setting_element_type,sf_setting_element_type,model_sf_setting_element_type,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -107,7 +107,15 @@
|
||||
<field name="res_model">sf.cutting.tool.material</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<!-- 测试 action -->
|
||||
<record id="action_sf_test" model="ir.actions.act_window">
|
||||
<field name="name">测试</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sf.test</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<!-- 功能刀具 -->
|
||||
|
||||
<!-- parent="menu_sf_cutting_tool" -->
|
||||
<menuitem
|
||||
id="menu_sf_functional_cutting_tool"
|
||||
@@ -230,6 +238,14 @@
|
||||
sequence="64"
|
||||
action="action_sf_cutting_tool_clamp_head_type"
|
||||
/>
|
||||
<!-- 测试 -->
|
||||
<menuitem
|
||||
id="menu_sf_test"
|
||||
parent="menu_sf_base"
|
||||
name="测试"
|
||||
sequence="68"
|
||||
action="action_sf_test"
|
||||
/>
|
||||
|
||||
|
||||
</data>
|
||||
|
||||
@@ -145,6 +145,8 @@
|
||||
<field name="blade_length"/>
|
||||
<field name="diameter"/>
|
||||
<field name="blade_number"/>
|
||||
<field name="chuck_model" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="front_angle"/>
|
||||
@@ -156,12 +158,12 @@
|
||||
<group string='其他信息'>
|
||||
<group>
|
||||
<field name="nut"/>
|
||||
<field name="chuck_model"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="scope"/>
|
||||
|
||||
</group>
|
||||
|
||||
</group>
|
||||
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -209,7 +211,8 @@
|
||||
<field name="height"/>
|
||||
<field name="top_angle"/>
|
||||
<field name="front_angle"/>
|
||||
<field name="rear_angle"/>
|
||||
<field name="cutter_bar" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
<field name="cutter_pad" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="main_included_angle"/>
|
||||
@@ -217,15 +220,12 @@
|
||||
<field name="material_model"/>
|
||||
<field name="hardness"/>
|
||||
<field name="radius"/>
|
||||
<field name="rear_angle"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string='其他信息'>
|
||||
<group>
|
||||
<field name="nut"/>
|
||||
<field name="cutter_bar" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cutter_pad" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
@@ -262,6 +262,8 @@
|
||||
<field name="cutter_bar_model_number"/>
|
||||
<field name="brand"/>
|
||||
<field name="cutting_tool_material"/>
|
||||
<field name="blade" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="image" nolabel="1" widget="image"/>
|
||||
@@ -290,7 +292,6 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="scope"/>
|
||||
<field name="blade"/>
|
||||
|
||||
</group>
|
||||
</group>
|
||||
@@ -329,6 +330,8 @@
|
||||
<field name="cutter_pad_model_number"/>
|
||||
<field name="brand"/>
|
||||
<field name="cutting_tool_material"/>
|
||||
<field name="blade" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="image" nolabel="1" widget="image"/>
|
||||
@@ -356,7 +359,6 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="scope"/>
|
||||
<field name="blade"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
@@ -394,6 +396,8 @@
|
||||
<field name="handle_model_number"/>
|
||||
<field name="brand"/>
|
||||
<field name="cutting_tool_material"/>
|
||||
<field name="chuck_model" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="image" nolabel="1" widget="image"/>
|
||||
@@ -419,7 +423,6 @@
|
||||
<group string='其他信息'>
|
||||
<group>
|
||||
<field name="nut"/>
|
||||
<field name="chuck_model"/>
|
||||
</group>
|
||||
<!-- <group> -->
|
||||
<!-- <field name="scope"/> -->
|
||||
@@ -461,6 +464,8 @@
|
||||
<field name="chuck_model_number"/>
|
||||
<field name="brand"/>
|
||||
<field name="cutting_tool_material"/>
|
||||
<field name="handle_model" widget="many2many_tags" options="{'no_create': True, 'no_quick_create': True}"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="image" nolabel="1" widget="image"/>
|
||||
@@ -483,7 +488,6 @@
|
||||
<group string='其他信息'>
|
||||
<group>
|
||||
<field name="nut"/>
|
||||
<field name="handle_model"/>
|
||||
</group>
|
||||
<!-- <group> -->
|
||||
<!-- <field name="scope"/> -->
|
||||
@@ -734,7 +738,49 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 测试tree -->
|
||||
<record id="view_test_tree" model="ir.ui.view">
|
||||
<field name="name">sf.test.tree</field>
|
||||
<field name="model">sf.test</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="测试">
|
||||
<field name="model_number"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 测试form -->
|
||||
<record id="view_test_form" model="ir.ui.view">
|
||||
<field name="name">sf.test.form</field>
|
||||
<field name="model">sf.test</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="测试">
|
||||
<sheet>
|
||||
<group string="测试">
|
||||
<group>
|
||||
<field name="cutting_tool_material"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="hide_integral_model_number" invisible="1"/>
|
||||
<field name="hide_blade_model_number" invisible="1"/>
|
||||
<field name="hide_cutterbar_model_number" invisible="1"/>
|
||||
<field name="hide_cutterpad_model_number" invisible="1"/>
|
||||
<field name="hide_handle_model_number" invisible="1"/>
|
||||
<field name="hide_chuck_model_number" invisible="1"/>
|
||||
<field name="hide_model_number" invisible="1"/>
|
||||
|
||||
<field name="model_number" attrs="{'invisible': [('hide_model_number', '!=', True)]}"/>
|
||||
<field name="integral_model_number" attrs="{'invisible': [('hide_integral_model_number', '!=', True)]}"/>
|
||||
<field name="blade_model_number" attrs="{'invisible': [('hide_blade_model_number', '!=', True)]}"/>
|
||||
<field name="cutterbar_model_number" attrs="{'invisible': [('hide_cutterbar_model_number', '!=', True)]}"/>
|
||||
<field name="cutterpad_model_number" attrs="{'invisible': [('hide_cutterpad_model_number', '!=', True)]}"/>
|
||||
<field name="handle_model_number" attrs="{'invisible': [('hide_handle_model_number', '!=', True)]}"/>
|
||||
<field name="chuck_model_number" attrs="{'invisible': [('hide_chuck_model_number', '!=', True)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user