优化工件装夹

This commit is contained in:
jinling.yang
2023-07-05 17:34:43 +08:00
parent e693bd97f3
commit 66cd682f7d
14 changed files with 426 additions and 188 deletions

View File

@@ -1,2 +1,4 @@
from . import models
from . import commons
from . import wizard

View File

@@ -18,6 +18,9 @@
'views/common_view.xml',
'views/fixture_view.xml',
'views/functional_fixture_view.xml',
'wizard/workpiece_clamping_wizard_view.xml',
'wizard/stock_removal_wizard_view.xml',
'views/assemble_view.xml',
'views/menu_view.xml',
"views/tool_views.xml",
"views/tool_menu.xml",

View File

@@ -3,7 +3,7 @@ from . import common
from . import tool_base_new
from . import fixture
from . import functional_fixture
from . import workpiece_clamping
from . import assemble

View File

@@ -0,0 +1,54 @@
from odoo import models, fields, api
class Assemble(models.Model):
_name = 'sf.assemble'
_description = "组合装夹"
functional_fixture_code = fields.Char(string="功能夹具编码", size=25, required=True)
functional_fixture_name = fields.Char(string="功能夹具名称", size=25, required=True)
functional_fixture_type = fields.Char(string="功能夹具类型", required=True)
chuck_name = fields.Char(string="卡盘名称", required=True)
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
chuck_type_id = fields.Char(string="卡盘类型", required=True)
chuck_model_id = fields.Char(string="卡盘型号", required=True)
tray_name = fields.Char(string="托盘名称", required=True)
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
tray_type_id = fields.Char(string="托盘类型", required=True)
tray_model_id = fields.Char(string="托盘型号", required=True)
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
total_wight = fields.Float(string="总重量", required=True)
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
production_line = fields.Char(string="生产线", required=True)
# 以下为智能工厂工单带过来的机床信息
machine_tool = fields.Many2one('sf.machine_tool', string="机床名称", required=True)
machine_tool_startime = fields.Date(string="机床开始加工时间", required=True)
# 以下为智能工厂工单带过来的信息
apply_staff = fields.Char(string="申请人", required=True)
machine_tool_code = fields.Char(string="机床编码", required=True)
apply_time = fields.Date(string="申请时间", required=True)
apply_reason = fields.Char(string="申请原因", required=True)
# 以下为装夹的信息
preset_staff = fields.Char(string="预调名称", required=True)
preset_time = fields.Date(string="预调时间", required=True)
material_taker = fields.Char(string="领料人", required=True)
material_removal_time = fields.Date(string="领料出库时间", required=True)
remark = fields.Char(string="备注", required=True)

View File

@@ -1,110 +0,0 @@
from odoo import models, fields, api
class WorkpieceClamping(models.Model):
_name = 'sf.workpiece.clamping'
_description = "工件装夹"
# 以下为坯料(工件)申请信息
apply_code = fields.Char(string="申请坯料编码", size=25, required=True)
apply_name = fields.Char(string="申请坯料名称", size=25, required=True)
material_id = fields.Many2one('sf.production.materials', string="坯料材料", required=True)
apply_width = fields.Float(string="申请宽度", required=True)
apply_length = fields.Float(string="申请长度", required=True)
apply_height = fields.Float(string="申请高度", required=True)
apply_weight = fields.Float(string="申请重量", required=True)
apply_diameter = fields.Float(string="申请直径", required=True)
surface_accuracy = fields.Char(string="表面精度", required=True)
# 以下为坯料(工件)装夹信息
chuck_name = fields.Char(string="卡盘名称", required=True)
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
chuck_type_id = fields.Char(string="卡盘类型", required=True)
chuck_model_id = fields.Char(string="卡盘型号", required=True)
tray_name = fields.Char(string="托盘名称", required=True)
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
tray_type_id = fields.Char(string="托盘类型", required=True)
tray_model_id = fields.Char(string="托盘型号", required=True)
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
real_width = fields.Float(string="真实宽度", required=True)
real_length = fields.Float(string="真实长度", required=True)
real_height = fields.Float(string="真实高度", required=True)
real_diameter = fields.Float(string="真实直径", required=True)
# 以下为坯料(工件)预调信息
# hole_site = fields.Char(string="孔位", required=True)
# curve = fields.Char(string="曲线", required=True)
# straight_line = fields.Char(string="直线", required=True)
# x_axis = fields.Float(string="X轴", required=True)
# y_axis = fields.Float(string="Y轴", required=True)
# z_axis = fields.Float(string="Z轴", required=True)
# tool_radius = fields.Float(string="刀具半径", required=True)
# tool_length = fields.Float(string="刀具长度", required=True)
# tool_offset_point = fields.Float(string="刀具偏移点", required=True)
# tool_compensation_value = fields.Float(string="刀具补偿值", required=True)
# cutting_spindle_speed = fields.Float(string="切削主轴转速", required=True)
# cutting_feed_rate = fields.Float(string="切削进给速度", required=True)
# depth_of_cutting = fields.Float(string="切削深度", required=True)
# cutting_direction = fields.Char(string="切削方向", required=True)
# cnc_program_information = fields.Char(string="CNC程序信息", required=True)
class StockRemoval(models.Model):
_name = 'sf.stock.removal'
_description = "出库"
code = fields.Char(string="功能夹具编码", size=25, required=True)
name = fields.Char(string="功能夹具名称", size=25, required=True)
type = fields.Char(string="功能夹具类型", required=True)
production_line = fields.Char(string="生产线", required=True)
machine_tool = fields.Many2one('sf.machine_tool', string="机床", required=True)
class Assemble(models.Model):
_name = 'sf.assemble'
_description = "组合装夹"
functional_fixture_code = fields.Char(string="功能夹具编码", size=25, required=True)
functional_fixture_name = fields.Char(string="功能夹具名称", size=25, required=True)
functional_fixture_type = fields.Char(string="功能夹具类型", required=True)
chuck_name = fields.Char(string="卡盘名称", required=True)
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
chuck_type_id = fields.Char(string="卡盘类型", required=True)
chuck_model_id = fields.Char(string="卡盘型号", required=True)
tray_name = fields.Char(string="托盘名称", required=True)
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
tray_type_id = fields.Char(string="托盘类型", required=True)
tray_model_id = fields.Char(string="托盘型号", required=True)
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
total_wight = fields.Float(string="总重量", required=True)
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
production_line = fields.Char(string="生产线", required=True)
# 以下为智能工厂工单带过来的机床信息
machine_tool = fields.Many2one('sf.machine_tool', string="机床名称", required=True)
machine_tool_code = fields.Char(string="机床编码", required=True)
machine_tool_startime = fields.Date(string="机床开始加工时间", required=True)
# 以下为智能工厂工单带过来的信息
apply_staff = fields.Char(string="申请人", required=True)
apply_time = fields.Date(string="申请时间", required=True)
apply_reason = fields.Char(string="申请原因", required=True)
# 以下为装夹的信息
preset_staff = fields.Char(string="预调名称", required=True)
preset_time = fields.Date(string="预调时间", required=True)
material_taker = fields.Char(string="领料人", required=True)
material_removal_time = fields.Date(string="领料出库时间", required=True)

View File

@@ -14,20 +14,21 @@ access_sf_supplier_sort,sf_supplier_sort,model_sf_supplier_sort,base.group_user,
access_sf_production_process_parameter,sf_production_process_parameter,model_sf_production_process_parameter,base.group_user,1,1,1,1
access_sf_production_process_category,sf_production_process_category,model_sf_production_process_category,base.group_user,1,1,1,1
access_sf_machine_tool_category,sf_machine_tool_category,model_sf_machine_tool_category,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_cutting_tool_type,sf_cutting_tool_type,model_sf_cutting_tool_type,base.group_user,1,1,1,1
access_sf_cutting_tool_model,sf_cutting_tool_model,model_sf_cutting_tool_model,base.group_user,1,1,1,1
access_sf_functional_cutting_tool,sf_functional_cutting_tool,model_sf_functional_cutting_tool,base.group_user,1,1,1,1
access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_model,base.group_user,1,1,1,1
access_sf_fixture_material,sf_fixture_material,model_sf_fixture_material,base.group_user,1,1,1,1
access_sf_multi_mounting_type,sf_multi_mounting_type,model_sf_multi_mounting_type,base.group_user,1,1,1,1
access_sf_fixture_model,sf_fixture_model,model_sf_fixture_model,base.group_user,1,1,1,1
access_sf_functional_fixture_type,sf_functional_fixture_type,model_sf_functional_fixture_type,base.group_user,1,1,1,1
access_sf_functional_fixture,sf_functional_fixture,model_sf_functional_fixture,base.group_user,1,1,1,1
access_sf_workpiece_clamping_wizard,sf_workpiece_clamping_wizard,model_sf_workpiece_clamping_wizard,base.group_user,1,1,1,1
access_sf_stock_removal_wizard,sf_stock_removal_wizard,model_sf_stock_removal_wizard,base.group_user,1,1,1,1
access_sf_assemble,sf_assemble,model_sf_assemble,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
14 access_sf_production_process_parameter sf_production_process_parameter model_sf_production_process_parameter base.group_user 1 1 1 1
15 access_sf_production_process_category sf_production_process_category model_sf_production_process_category base.group_user 1 1 1 1
16 access_sf_machine_tool_category sf_machine_tool_category model_sf_machine_tool_category 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
17 access_sf_cutting_tool_type access_sf_cutting_tool_material sf_cutting_tool_type sf_cutting_tool_material model_sf_cutting_tool_type model_sf_cutting_tool_material base.group_user 1 1 1 1
18 access_sf_cutting_tool_model access_sf_cutting_tool_type sf_cutting_tool_model sf_cutting_tool_type model_sf_cutting_tool_model model_sf_cutting_tool_type base.group_user 1 1 1 1
19 access_sf_functional_cutting_tool access_sf_cutting_tool_model sf_functional_cutting_tool sf_cutting_tool_model model_sf_functional_cutting_tool model_sf_cutting_tool_model base.group_user 1 1 1 1
20 access_sf_functional_cutting_tool_model access_sf_functional_cutting_tool sf_functional_cutting_tool_model sf_functional_cutting_tool model_sf_functional_cutting_tool_model model_sf_functional_cutting_tool base.group_user 1 1 1 1
21 access_sf_fixture_material access_sf_functional_cutting_tool_model sf_fixture_material sf_functional_cutting_tool_model model_sf_fixture_material model_sf_functional_cutting_tool_model base.group_user 1 1 1 1
access_sf_multi_mounting_type sf_multi_mounting_type model_sf_multi_mounting_type base.group_user 1 1 1 1
access_sf_fixture_model sf_fixture_model model_sf_fixture_model base.group_user 1 1 1 1
access_sf_functional_fixture_type sf_functional_fixture_type model_sf_functional_fixture_type base.group_user 1 1 1 1
22 access_sf_functional_fixture access_sf_fixture_material sf_functional_fixture sf_fixture_material model_sf_functional_fixture model_sf_fixture_material base.group_user 1 1 1 1
23 access_sf_multi_mounting_type sf_multi_mounting_type model_sf_multi_mounting_type base.group_user 1 1 1 1
24 access_sf_fixture_model sf_fixture_model model_sf_fixture_model base.group_user 1 1 1 1
25 access_sf_functional_fixture_type sf_functional_fixture_type model_sf_functional_fixture_type base.group_user 1 1 1 1
26 access_sf_functional_fixture sf_functional_fixture model_sf_functional_fixture base.group_user 1 1 1 1
27 access_sf_workpiece_clamping_wizard sf_workpiece_clamping_wizard model_sf_workpiece_clamping_wizard base.group_user 1 1 1 1
28 access_sf_stock_removal_wizard sf_stock_removal_wizard model_sf_stock_removal_wizard base.group_user 1 1 1 1
29 access_sf_assemble sf_assemble model_sf_assemble base.group_user 1 1 1 1
30
31
32
33
34

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- ===========================工件夹具====================================-->
<record model="ir.ui.view" id="search_sf_assemble_view">
<field name="name">search.sf.assemble</field>
<field name="model">sf.assemble</field>
<field name="arch" type="xml">
<search string="工件夹具">
<field name="functional_fixture_code" string="编码"
filter_domain="[('functional_fixture_code', 'ilike', self)]"/>
<field name="functional_fixture_name" string="名称"
filter_domain="[('functional_fixture_name', 'ilike', self)]"/>
<!-- <field name="material_id" string="材质"-->
<!-- filter_domain="[('material_id.name', 'ilike', self)]"/>-->
</search>
</field>
</record>
<record id="sf_assemble_view_tree" model="ir.ui.view">
<field name="name">工件夹具</field>
<field name="model">sf.assemble</field>
<field name="arch" type="xml">
<tree string="工件夹具">
<field name="functional_fixture_code"/>
<field name="functional_fixture_name"/>
<field name="functional_fixture_type"/>
<field name="chuck_type_id"/>
<field name="chuck_name"/>
<field name="chuck_brand_id"/>
<field name="chuck_model_id"/>
<field name="tray_type_id"/>
<field name="tray_name"/>
<field name="tray_brand_id"/>
<field name="tray_model_id"/>
<field name="maximum_carrying_weight"/>
<field name="maximum_clamping_force"/>
<field name="production_line"/>
<field name="machine_tool"/>
<field name="machine_tool_code"/>
<field name="apply_staff"/>
<field name="apply_time"/>
<field name="apply_reason"/>
<field name="preset_staff"/>
<field name="preset_time"/>
<field name="material_taker"/>
<field name="material_removal_time"/>
</tree>
</field>
</record>
<record id="sf_assemble_view_form" model="ir.ui.view">
<field name="name">工件夹具</field>
<field name="model">sf.assemble</field>
<field name="arch" type="xml">
<form string="工件夹具">
<header>
<button type="action" name="%(action_workpiece_clamping_wizard)d" class="btn btn-info"
string="装夹"/>
<button type="action" name="%(action_stock_removal_wizard)d" class="btn btn-info"
string="出库"/>
</header>
<sheet>
<group string="基本信息">
<group>
<field name="functional_fixture_code"/>
</group>
<group>
<field name="functional_fixture_type"/>
</group>
</group>
<!-- <group string="坯料(工件)申请信息">-->
<!-- <group>-->
<!-- <field name="functional_fixture_code"/>-->
<!-- <field name="functional_fixture_type"/>-->
<!--&lt;!&ndash; <field name="surface_accuracy"/>&ndash;&gt;-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="functional_fixture_name"/>-->
<!-- <label for="apply_length" string="尺寸[mm]"-->
<!-- />-->
<!-- <div class="o_address_format"-->
<!-- >-->
<!-- <label for="apply_length" string="长"/>-->
<!-- <field name="apply_length" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- <span>&amp;nbsp;</span>-->
<!-- <label for="apply_width" string="宽"/>-->
<!-- <field name="apply_width" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- <span>&amp;nbsp;</span>-->
<!-- <label for="apply_height" string="高"/>-->
<!-- <field name="apply_height" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- </div>-->
<!-- <field name="apply_weight"/>-->
<!-- <field name="apply_diameter"/>-->
<!-- </group>-->
<!-- </group>-->
<group string="坯料(工件)装夹信息">
<group string="卡盘">
<field name="chuck_name"/>
<field name="chuck_brand_id"/>
<field name="chuck_type_id"/>
<field name="chuck_model_id"/>
</group>
<group string="托盘">
<field name="tray_name"/>
<field name="tray_brand_id"/>
<field name="tray_type_id"/>
<field name="tray_model_id"/>
</group>
<group>
<field name="real_code"/>
<field name="real_name"/>
<!-- <label for="real_length" string="尺寸[mm]"-->
<!-- />-->
<!-- <div class="o_address_format"-->
<!-- >-->
<!-- <label for="real_length" string="长"/>-->
<!-- <field name="real_length" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- <span>&amp;nbsp;</span>-->
<!-- <label for="real_width" string="宽"/>-->
<!-- <field name="real_width" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- <span>&amp;nbsp;</span>-->
<!-- <label for="real_height" string="高"/>-->
<!-- <field name="real_height" class="o_address_zip"-->
<!-- options="{'format': false}"-->
<!-- />-->
<!-- </div>-->
<!-- <field name="real_diameter"/>-->
</group>
</group>
<group string="其他">
<group>
<field name="remark"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_assemble_view_act" model="ir.actions.act_window">
<field name="name">工件夹具</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.assemble</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>

View File

@@ -39,9 +39,9 @@
sequence="4"
/>
<menuitem id="menu_sf_workpiece_clamping"
<menuitem id="menu_sf_assemble"
parent="menu_sf_fixture"
action="sf_workpiece_clamping_view_act"
action="sf_assemble_view_act"
name="工件装夹"
sequence="5"
/>

View File

@@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- ===========================工件夹具====================================-->
<record model="ir.ui.view" id="search_sf_workpiece_clamping_view">
<field name="name">search.sf.workpiece.clamping</field>
<field name="model">sf.workpiece.clamping</field>
<field name="arch" type="xml">
<search string="工件夹具">
<field name="code" string="编码"
filter_domain="[('code', 'ilike', self)]"/>
<field name="name" string="名称"
filter_domain="[('name', 'ilike', self)]"/>
<field name="material_id" string="材质"
filter_domain="[('material_id.name', 'ilike', self)]"/>
</search>
</field>
</record>
<record id="sf_workpiece_clamping_view_tree" model="ir.ui.view">
<field name="name">工件夹具</field>
<field name="model">sf.workpiece.clamping</field>
<field name="arch" type="xml">
<tree string="工件夹具">
<field name="chuck_type_id"/>
<field name="chuck_name"/>
<field name="chuck_brand_id"/>
<field name="chuck_model_id"/>
<field name="tray_type_id"/>
<field name="tray_name"/>
<field name="tray_brand_id"/>
<field name="tray_model_id"/>
<field name="chuck_type_id"/>
<field name="chuck_model_id"/>
<field name="material_id"/>
</tree>
</field>
</record>
<record id="sf_workpiece_clamping_view_form" model="ir.ui.view">
<field name="name">工件夹具</field>
<field name="model">sf.workpiece.clamping</field>
<field name="arch" type="xml">
<form string="工件夹具">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
<field name="name"/>
</group>
</group>
<group string="其他">
<group>
<field name="remark"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sf_workpiece_clamping_view_act" model="ir.actions.act_window">
<field name="name">工件夹具</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.workpiece.clamping</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import workpiece_clamping_wizard
from . import stock_removal_wizard

View File

@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
import logging
_logger = logging.getLogger(__name__)
class StockRemovalWizard(models.Model):
_name = 'sf.stock.removal.wizard'
_description = "出库"
code = fields.Char(string="功能夹具编码", size=25, required=True)
name = fields.Char(string="功能夹具名称", size=25, required=True)
type = fields.Char(string="功能夹具类型", required=True)
production_line = fields.Char(string="生产线", required=True)
machine_tool = fields.Many2one('sf.machine_tool', string="机床", required=True)
def submit(self):
return 1

View File

@@ -0,0 +1,34 @@
<openerp>
<data>
<record model="ir.ui.view" id="stock_removal_wizard_form_view">
<field name="name">sf.stock.removal.wizard.form.view</field>
<field name="model">sf.stock.removal.wizard</field>
<field name="arch" type="xml">
<form string="出库">
<group>
<group>
<field name="code" string="编码"></field>
<field name="type" string="类型"></field>
<field name="machine_tool" string="类型"></field>
</group>
<group>
<field name="name" string="名称"></field>
<field name="production_line" string="类型"></field>
</group>
</group>
<footer>
<button string="确定" name="submit" type="object" class="oe_highlight"/>
<button string="取消" class="btn btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_stock_removal_wizard" model="ir.actions.act_window">
<field name="name">出库</field>
<field name="res_model">sf.stock.removal.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
import logging
_logger = logging.getLogger(__name__)
class WorkpieceClampingWizard(models.Model):
_name = 'sf.workpiece.clamping.wizard'
_description = "工件装夹"
# 以下为坯料(工件)申请信息
apply_code = fields.Char(string="申请坯料编码", size=25, required=True)
apply_name = fields.Char(string="申请坯料名称", size=25, required=True)
material_id = fields.Many2one('sf.production.materials', string="坯料材料", required=True)
apply_width = fields.Float(string="申请宽度", required=True)
apply_length = fields.Float(string="申请长度", required=True)
apply_height = fields.Float(string="申请高度", required=True)
apply_weight = fields.Float(string="申请重量", required=True)
apply_diameter = fields.Float(string="申请直径", required=True)
surface_accuracy = fields.Char(string="表面精度", required=True)
# 以下为坯料(工件)装夹信息
chuck_name = fields.Char(string="卡盘名称", required=True)
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
chuck_type_id = fields.Char(string="卡盘类型", required=True)
chuck_model_id = fields.Char(string="卡盘型号", required=True)
tray_name = fields.Char(string="托盘名称", required=True)
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
tray_type_id = fields.Char(string="托盘类型", required=True)
tray_model_id = fields.Char(string="托盘型号", required=True)
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
real_width = fields.Float(string="真实宽度", required=True)
real_length = fields.Float(string="真实长度", required=True)
real_height = fields.Float(string="真实高度", required=True)
real_diameter = fields.Float(string="真实直径", required=True)
# 以下为坯料(工件)预调信息
# hole_site = fields.Char(string="孔位", required=True)
# curve = fields.Char(string="曲线", required=True)
# straight_line = fields.Char(string="直线", required=True)
# x_axis = fields.Float(string="X轴", required=True)
# y_axis = fields.Float(string="Y轴", required=True)
# z_axis = fields.Float(string="Z轴", required=True)
# tool_radius = fields.Float(string="刀具半径", required=True)
# tool_length = fields.Float(string="刀具长度", required=True)
# tool_offset_point = fields.Float(string="刀具偏移点", required=True)
# tool_compensation_value = fields.Float(string="刀具补偿值", required=True)
# cutting_spindle_speed = fields.Float(string="切削主轴转速", required=True)
# cutting_feed_rate = fields.Float(string="切削进给速度", required=True)
# depth_of_cutting = fields.Float(string="切削深度", required=True)
# cutting_direction = fields.Char(string="切削方向", required=True)
preset_program_information = fields.Char(string="预调程序信息", required=True)
def submit(self):
return 1

View File

@@ -0,0 +1,83 @@
<openerp>
<data>
<record model="ir.ui.view" id="workpiece_clamping_wizard_form_view">
<field name="name">sf.workpiece.clamping.wizard.form.view</field>
<field name="model">sf.workpiece.clamping.wizard</field>
<field name="arch" type="xml">
<form string="装夹">
<group string="坯料(工件)申请信息">
<group>
<field name="apply_code" string="编码"></field>
<field name="material_id" string="材质"></field>
</group>
<group>
<field name="apply_name" string="名称"></field>
<label for="apply_length" string="尺寸[mm]"/>
<div class="o_address_format">
<label for="apply_length" string="长"/>
<field name="apply_length" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="apply_width" string="宽"/>
<field name="apply_width" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="apply_height" string="高"/>
<field name="apply_height" class="o_address_zip"
options="{'format': false}"/>
</div>
<field name="apply_diameter" string="直径"></field>
</group>
</group>
<group string="坯料(工件)装夹信息">
<group string="卡盘">
<field name="chuck_type_id"></field>
<field name="chuck_name"></field>
<field name="chuck_brand_id"></field>
<field name="chuck_model_id"></field>
</group>
<group string="托盘">
<field name="tray_type_id"></field>
<field name="tray_name"></field>
<field name="tray_brand_id"></field>
<field name="tray_model_id"></field>
</group>
<group string="坯料">
<field name="real_code"></field>
<field name="real_name"></field>
<label for="real_length" string="尺寸[mm]"/>
<div class="o_address_format">
<label for="real_length" string="长"/>
<field name="real_length" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="real_width" string="宽"/>
<field name="real_width" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="real_height" string="高"/>
<field name="real_height" class="o_address_zip"
options="{'format': false}"/>
</div>
<field name="real_diameter" string="直径"></field>
</group>
<group>
<field name="preset_program_information"></field>
</group>
</group>
<footer>
<button string="确定" name="submit" type="object" class="oe_highlight"/>
<button string="取消" class="btn btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_workpiece_clamping_wizard" model="ir.actions.act_window">
<field name="name">装夹</field>
<field name="res_model">sf.workpiece.clamping.wizard</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</openerp>