Accept Merge Request #296: (feature/夹具型号和功能夹具反向注册到cloud -> develop)

Merge Request: 制造模块里的配置内的页面优化

Created By: @杨金灵
Accepted By: @杨金灵
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/296?initial=true
This commit is contained in:
杨金灵
2023-08-03 16:57:56 +08:00
12 changed files with 930 additions and 652 deletions

View File

@@ -31,13 +31,13 @@ class MachineBrand(models.Model):
_name = 'sf.machine.brand' _name = 'sf.machine.brand'
_description = '品牌' _description = '品牌'
code = fields.Char('编码')
name = fields.Char('名称') name = fields.Char('名称')
tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别') tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别')
image_brand = fields.Image("品牌图片") image_brand = fields.Image("品牌图片")
manufacturer_model_number = fields.Char('厂家型号', size=10) manufacturer_model_number = fields.Char('厂家型号', size=10)
remark = fields.Text('备注')
active = fields.Boolean('有效', default=True) active = fields.Boolean('有效', default=True)
code = fields.Char('编码')
# 机床 # 机床
class MachineTool(models.Model): class MachineTool(models.Model):

View File

@@ -1,4 +1,8 @@
from odoo import models, fields, api 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): class FixtureMaterial(models.Model):
@@ -40,14 +44,17 @@ class FixtureModel(models.Model):
width = fields.Char(string="宽度[mm]", size=6) width = fields.Char(string="宽度[mm]", size=6)
height = fields.Char(string="高度[mm]", size=6) height = fields.Char(string="高度[mm]", size=6)
weight = fields.Char(string="重量[kg]", size=4) weight = fields.Char(string="重量[kg]", size=4)
clamp_workpiece_length_max = fields.Char(string="夹持工件长度MAX[mm]", size=6) clamp_workpiece_length_max = fields.Integer(string="夹持工件长度MAX[mm]", size=6)
clamp_workpiece_width_max = fields.Char(string="夹持工件宽度MAX[mm]", size=6) clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度MAX[mm]", size=6)
clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]", size=6) clamp_workpiece_height_max = fields.Integer(string="夹持工件高度MAX[mm]", size=6)
clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]", size=6) clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径MAX[mm]", size=6)
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]", size=4) maximum_carrying_weight = fields.Float(string="最大承载重量[kg]", size=4)
maximum_clamping_force = fields.Char(string="最大夹持力[n]", size=8) maximum_clamping_force = fields.Integer(string="最大夹持力[n]", size=8)
materials_model_id = fields.Many2one('sf.materials.model', string="材料型号") materials_model_id = fields.Many2one('sf.materials.model', string="材料型号")
driving_way = fields.Char(string="驱动方式") driving_way = fields.Selection([('气动', '气动'), ('液压', '液压'), ('机械', '机械')], string="驱动方式")
apply_machine_tool_type_id = fields.Many2one('sf.machine_tool.type', string="适用机床型号") apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_fixture_model_machine_tool_type',
string="适用机床型号")
through_hole_size = fields.Integer(string="过孔大小[mm]", size=6) through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
screw_size = fields.Integer(string="螺牙大小[mm]", size=6) screw_size = fields.Integer(string="螺牙大小[mm]", size=6)

View File

@@ -1,4 +1,8 @@
from odoo import models, fields, api 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 FunctionalFixtureType(models.Model): class FunctionalFixtureType(models.Model):
@@ -16,7 +20,6 @@ class FunctionalFixture(models.Model):
_description = "功能夹具" _description = "功能夹具"
code = fields.Char(string='编码', readonly=True) code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="名称", size=15, required=True)
type_id = fields.Many2one('sf.functional.fixture.type', string="功能夹具类型", required=True) type_id = fields.Many2one('sf.functional.fixture.type', string="功能夹具类型", required=True)
type = fields.Char(related='type_id.name', string="功能夹具类别", store=True) type = fields.Char(related='type_id.name', string="功能夹具类别", store=True)
zero_chuck_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_zero_chuck', string="零点卡盘型号", zero_chuck_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_zero_chuck', string="零点卡盘型号",
@@ -33,11 +36,124 @@ class FunctionalFixture(models.Model):
domain=[('fixture_material_type', '=', '磁吸托盘')]) domain=[('fixture_material_type', '=', '磁吸托盘')])
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号", vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
domain=[('fixture_material_type', '=', '虎钳托盘')]) domain=[('fixture_material_type', '=', '虎钳托盘')])
registration_status = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册', tracking=True)
def _get_fixture_model_ids(self, fixture_model_code):
fixture_model_ids = [] @api.onchange('type_id')
for item in fixture_model_code: def _onchange_type_id(self):
fixture_model = self.env['sf.fixture.model'].search([('code', '=', item)]) if self.type_id:
if fixture_model: functional_fixture_type = self.search(
fixture_model_ids.append(fixture_model.id) [('type', '=', self.type)], limit=1, order='id desc')
return [(6, 0, fixture_model_ids)] if not functional_fixture_type:
num = "%04d" % 1
else:
m = int(functional_fixture_type.code[-3:]) + 1
num = "%04d" % m
self.code = "%s%s-%s" % ('JKM-C-GNJJ-', self.type_id.code, num)
_sql_constraints = [
('code_uniq', 'unique (code)',
'编码不能重复')
]
@api.depends('transfer_tray_model_ids', 'pneumatic_tray_model_ids', 'magnetic_tray_model_ids',
'vice_tray_model_ids', 'type')
def _get_name(self):
for record in self:
if record.type:
if not record.transfer_tray_model_ids and not record.pneumatic_tray_model_ids and not record.magnetic_tray_model_ids and not record.vice_tray_model_ids:
record.name = ''
if record.transfer_tray_model_ids:
for i in record.transfer_tray_model_ids:
record.name = '%s%s%s' % (
i.display_name.split('-')[0], record.type, '功能夹具')
if record.pneumatic_tray_model_ids:
for i in record.pneumatic_tray_model_ids:
record.name = '%s%s%s' % (
i.display_name.split('-')[0], record.type, '功能夹具')
if record.magnetic_tray_model_ids:
for i in record.magnetic_tray_model_ids:
record.name = '%s%s%s' % (
i.display_name.split('-')[0], record.type, '功能夹具')
if record.vice_tray_model_ids:
for i in record.vice_tray_model_ids:
record.name = '%s%s%s' % (
i.display_name.split('-')[0], record.type, '功能夹具')
else:
record.name = ''
name = fields.Char(string="名称", compute=_get_name, readonly=True)
def _json_zero_chuck_model_item_code(self, item):
code_arr = []
for i in item.zero_chuck_model_ids:
code_arr.append(i.code)
return code_arr
def _json_transfer_tray_model_item_code(self, item):
code_arr = []
for i in item.transfer_tray_model_ids:
code_arr.append(i.code)
return code_arr
def _json_vice_tray_item_code(self, item):
code_arr = []
for i in item.vice_tray_model_ids:
code_arr.append(i.code)
return code_arr
def _json_magnetic_tray_model_item_code(self, item):
code_arr = []
for i in item.magnetic_tray_model_ids:
code_arr.append(i.code)
return code_arr
def _json_pneumatic_tray_model_item_code(self, item):
code_arr = []
for i in item.pneumatic_tray_model_ids:
code_arr.append(i.code)
return code_arr
# 注册到cloud的功能夹具中
def register_functional_fixture(self):
registration_url = 'api/functional_fixture/create'
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strurl = sf_sync_config['sf_url'] + self.registration_url
objs_self = self.search([('code', '=', self.code)])
functional_fixture_list = []
if objs_self:
for item in objs_self:
val = {
'factory_token': token,
'name': item.name,
'code': item.code,
'type_code': self.env['sf.functional.fixture.type'].search(
[('id', '=', item.type_id.id)]).code,
'zero_chuck_model_codes': self.env['sf.functional.fixture']._json_zero_chuck_model_item_code(
item),
'transfer_tray_model_codes': self.env['sf.functional.fixture']._json_transfer_tray_model_item_code(
item),
'pneumatic_tray_model_codes': self.env[
'sf.functional.fixture']._json_pneumatic_tray_model_item_code(
item),
'magnetic_tray_model_codes': self.env['sf.functional.fixture']._json_magnetic_tray_model_item_code(
item),
'vice_tray_model_codes': self.env['sf.functional.fixture']._json_vice_tray_item_code(
item),
}
functional_fixture_list.append(val)
# kw = machine_tool_list
kw = json.dumps(functional_fixture_list, ensure_ascii=False)
r = requests.post(strurl, json={}, data={'kw': kw, 'token': token}, headers=headers)
ret = r.json()
self.code = ret['message']
if r == 200:
self.registration_status = "已注册"
return "功能夹具注册成功"
else:
raise ValidationError("没有功能夹具注册信息")

View File

@@ -31,37 +31,43 @@
</field> </field>
</record> </record>
<!-- <record model="ir.ui.view" id="form_sf_machine_brand">--> <record model="ir.ui.view" id="form_sf_machine_brand">
<!-- <field name="name">form.sf.machine.brand</field>--> <field name="name">form.sf.machine.brand</field>
<!-- <field name="model">sf.machine.brand</field>--> <field name="model">sf.machine.brand</field>
<!-- <field name="arch" type="xml">--> <field name="arch" type="xml">
<!-- <form string="品牌">--> <form string="品牌" create="0" edit="0" delete="0">
<!-- &lt;!&ndash; <widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>&ndash;&gt;--> <sheet>
<!-- <field name="image_brand" widget='image' class="oe_avatar" options="{'preview_image': 'image_128'}"/>--> <!-- <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">--> <!-- <div class="oe_title">-->
<!-- <label for="code" string="编码"/>--> <!-- <label for="code" string="编码"/>-->
<!-- <h2 class="d-flex">--> <!-- <h2 class="d-flex">-->
<!-- <field name="code" readonly="True"/>--> <!-- <field name="code" readonly="True"/>-->
<!-- </h2>--> <!-- </h2>-->
<!-- </div>--> <!-- </div>-->
<!-- <group>--> <group>
<!-- <group>--> <group>
<!-- <field name="name" required="True"/>--> <field name="code"/>
<!-- <field name="tag_ids"--> <field name="name"/>
<!-- widget="many2many_tags"--> <field name="tag_ids"
<!-- options="{'color_field': 'color', 'no_create_edit': True}"--> widget="many2many_tags"
<!-- required="True"/>--> options="{'color_field': 'color', 'no_create_edit': True}"
<!-- </group>--> />
<!-- </group>--> <field name="manufacturer_model_number"/>
<!-- </form>--> <field name="remark"/>
<!-- </field>--> </group>
<!-- </record>--> </group>
</sheet>
</form>
</field>
</record>
<record id="action_sf_machine_brand" model="ir.actions.act_window"> <record id="action_sf_machine_brand" model="ir.actions.act_window">
<field name="name">品牌</field> <field name="name">品牌</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.machine.brand</field> <field name="res_model">sf.machine.brand</field>
<field name="view_mode">tree</field> <field name="view_mode">tree,form</field>
</record> </record>
#------------------机床型号------------------ #------------------机床型号------------------
@@ -81,7 +87,7 @@
<field name="name">tree.sf.machine_tool.type</field> <field name="name">tree.sf.machine_tool.type</field>
<field name="model">sf.machine_tool.type</field> <field name="model">sf.machine_tool.type</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="机床型号" create="0" edit="0" delete="0"> <tree string="机床型号">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="brand_id"/> <field name="brand_id"/>
@@ -96,49 +102,70 @@
<field name="model">sf.machine_tool.type</field> <field name="model">sf.machine_tool.type</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="机床型号" create="0" edit="0" delete="0"> <form string="机床型号" create="0" edit="0" delete="0">
<group string="基本信息"> <sheet>
<group>
<group> <group>
<field name="code" force_save="1" readonly="1"/> <field name="code" force_save="1" readonly="1"/>
<field name="name" required="1"/> <field name="name" required="1"/>
<field name="machine_tool_category" required="1"/>
<field name="brand_id" required="1" <field name="brand_id" required="1"
domain="[('tag_ids', '=', '机床')]" domain="[('tag_ids', '=', '机床')]"
options="{'no_create': True}"/> options="{'no_create': True}"/>
<field name="machine_tool_category" required="1"/>
</group> </group>
<group> <group>
<field name="machine_tool_picture" widget="image" nolabel="1"/> <field name="machine_tool_picture" widget="image" nolabel="1"/>
</group> </group>
</group> </group>
<group string="参数"> <notebook>
<page string="基本信息">
<group> <group>
<group string="基础参数">
<field name="control_system_id" required="1" options="{'no_create': True}"/> <field name="control_system_id" required="1" options="{'no_create': True}"/>
<field name="workbench_L" required="1"/> <label for="workbench_L" string="工作台尺寸(mm)"/>
<field name="workbench_W" required="1"/> <div class="test_model">
<field name="machine_tool_L" required="1"/> <label for="workbench_L" string=""/>
<field name="machine_tool_W" required="1"/> <field name="workbench_L" class="o_address_zip" required="1"
<field name="machine_tool_H" required="1"/> options="{'format': false}"/>
<field name="knife_type" required="1"/> <span>&amp;nbsp;</span>
<label for="workbench_W" string="宽"/>
<field name="workbench_W" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<label for="machine_tool_L" string="机床尺寸(mm)"/>
<div class="test_model">
<label for="machine_tool_L" string="长"/>
<field name="machine_tool_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="machine_tool_W" string="宽"/>
<field name="machine_tool_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="machine_tool_H" string="高"/>
<field name="machine_tool_H" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<field name="feed_speed" required="1"/>
<field name="precision" required="1" string="X轴定位精度(mm)"/>
<field name="workpiece_load" required="1"/> <field name="workpiece_load" required="1"/>
<field name="lead_screw" required="1"/>
<field name="taper" required="1"/>
<field name="torque" required="1"/>
<field name="motor_power" required="1"/>
<field name="number_of_knife_library" required="1" options="{'format': false}"/> <field name="number_of_knife_library" required="1" options="{'format': false}"/>
<field name="number_of_axles" required="1" widget="radio" options="{'horizontal': true}"/> <field name="lead_screw" required="1"/>
<field name="number_of_axles" required="1" widget="radio"
options="{'horizontal': true}"/>
<label for="x_axis" string="加工行程(mm)" <label for="x_axis" string="加工行程(mm)"
attrs="{'invisible': [('number_of_axles', '=', False)]}"/> attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
<div class="test_model" <div class="test_model"
attrs="{'invisible': [('number_of_axles', '=', False)]}"> attrs="{'invisible': [('number_of_axles', '=', False)]}">
<label for="x_axis" string="x"/> <label for="x_axis" string="x"/>
<field name="x_axis" class="o_address_zip" required="1" options="{'format': false}"/> <field name="x_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span> <span>&amp;nbsp;</span>
<label for="y_axis" string="y"/> <label for="y_axis" string="y"/>
<field name="y_axis" class="o_address_zip" required="1" options="{'format': false}"/> <field name="y_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span> <span>&amp;nbsp;</span>
<label for="z_axis" string="z"/> <label for="z_axis" string="z"/>
<field name="z_axis" class="o_address_zip" required="1" options="{'format': false}"/> <field name="z_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<br></br> <br></br>
<label for="b_axis" string="b" <label for="b_axis" string="b"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/> attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
@@ -153,24 +180,32 @@
options="{'format': false}"/> options="{'format': false}"/>
</div> </div>
</group> </group>
<group> <group string="主轴">
<field name="taper" required="1"/>
<field name="rotate_speed" string="主轴转速(min)" required="1"
options="{'format': false}"/>
<field name="heightened_way" required="1"/> <field name="heightened_way" required="1"/>
<field name="tool_quality_max" required="1"/> <field name="torque" required="1"/>
<field name="motor_power" required="1"/>
<field name="distance" required="1"/>
</group>
<group>
<field name="guide_rail" required="1"/>
</group>
<group string="刀具">
<field name="knife_type" required="1"/>
<field name="tool_speed" required="1"/>
<field name="tool_long_max" required="1"/> <field name="tool_long_max" required="1"/>
<field name="tool_diameter_max" required="1"/> <field name="tool_diameter_max" required="1"/>
<field name="guide_rail" required="1"/> <field name="tool_quality_max" required="1"/>
<field name="feed_speed" required="1"/>
<field name="tool_speed" required="1"/>
<field name="distance" required="1"/>
<field name="rotate_speed" string="主轴转速(min)" required="1" options="{'format': false}"/>
<field name="precision" required="1" string="X轴定位精度(mm)(mm)"/>
</group> </group>
</group> </group>
<group string="其它"> <group string="其它">
<field name="remark"/> <field name="remark"/>
</group> </group>
</page>
</notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@@ -207,7 +242,7 @@
<field name="name">tree.sf.machine_tool.category</field> <field name="name">tree.sf.machine_tool.category</field>
<field name="model">sf.machine_tool.category</field> <field name="model">sf.machine_tool.category</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="机床类型"> <tree string="机床类型" create="0" edit="0" delete="0">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="category"/> <field name="category"/>
@@ -216,42 +251,35 @@
</field> </field>
</record> </record>
<record model="ir.ui.view" id="form_sf_machine_tool_category"> <!-- <record model="ir.ui.view" id="form_sf_machine_tool_category">-->
<field name="name">form.sf.machine_tool.category</field> <!-- <field name="name">form.sf.machine_tool.category</field>-->
<field name="model">sf.machine_tool.category</field> <!-- <field name="model">sf.machine_tool.category</field>-->
<field name="arch" type="xml"> <!-- <field name="arch" type="xml">-->
<form string="机床类型"> <!-- <form string="机床类型">-->
<group string="基本信息" name="base_info"> <!-- <group string="基本信息" name="base_info">-->
<group> <!-- <group>-->
<field name="code" force_save="1" readonly="1"/> <!-- <field name="code" force_save="1" readonly="1"/>-->
<field name="name" required="1"/> <!-- <field name="name" required="1"/>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="category" readonly="1"/> <!-- <field name="category" readonly="1"/>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
<group string="其它"> <!-- <group string="其它">-->
<field name="remark"/> <!-- <field name="remark"/>-->
</group> <!-- </group>-->
</form> <!-- </form>-->
</field> <!-- </field>-->
</record> <!-- </record>-->
<record id="action_sf_machine_tool_category" model="ir.actions.act_window"> <record id="action_sf_machine_tool_category" model="ir.actions.act_window">
<field name="name">机床类型</field> <field name="name">机床类型</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.machine_tool.category</field> <field name="res_model">sf.machine_tool.category</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
[机床类型] 还没有哦!点左上角的[创建]按钮,沙发归你了!
</p>
<p>
</p>
</field>
</record> </record>
#------------------机床注册------------------ #------------------机床注册------------------
@@ -378,13 +406,13 @@
</field> </field>
</record> </record>
#------------------控系统------------------ #------------------控系统------------------
<record model="ir.ui.view" id="search_sf_machine_control_system_view"> <record model="ir.ui.view" id="search_sf_machine_control_system_view">
<field name="name">search.sf.machine.control_system</field> <field name="name">search.sf.machine.control_system</field>
<field name="model">sf.machine.control_system</field> <field name="model">sf.machine.control_system</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="控系统"> <search string="控系统">
<field name="name" string="模糊搜索" <field name="name" string="模糊搜索"
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/> filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
</search> </search>
@@ -395,7 +423,7 @@
<field name="name">tree.sf.machine.control_system</field> <field name="name">tree.sf.machine.control_system</field>
<field name="model">sf.machine.control_system</field> <field name="model">sf.machine.control_system</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="控系统" create="0" edit="0" delete="0"> <tree string="控系统" create="0" edit="0" delete="0">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="brand_id"/> <field name="brand_id"/>
@@ -424,7 +452,7 @@
<!-- </record>--> <!-- </record>-->
<record id="action_sf_machine_control_system" model="ir.actions.act_window"> <record id="action_sf_machine_control_system" model="ir.actions.act_window">
<field name="name">系统</field> <field name="name">控系统</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.machine.control_system</field> <field name="res_model">sf.machine.control_system</field>
<field name="view_mode">tree</field> <field name="view_mode">tree</field>

View File

@@ -2,24 +2,24 @@
<odoo> <odoo>
<data> <data>
<!--加工工艺--> <!--加工工艺-->
<record model="ir.ui.view" id="sf_processing_technology_form"> <!-- <record model="ir.ui.view" id="sf_processing_technology_form">-->
<field name="model">sf.processing.technology</field> <!-- <field name="model">sf.processing.technology</field>-->
<field name="arch" type="xml"> <!-- <field name="arch" type="xml">-->
<form string="加工工艺" create="0" edit="0" delete="0"> <!-- <form string="加工工艺" create="0" edit="0" delete="0">-->
<group> <!-- <group>-->
<group> <!-- <group>-->
<field name="process_encode" readonly="1"/> <!-- <field name="process_encode" readonly="1"/>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="name" required="1"/> <!-- <field name="name" required="1"/>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="remark"/> <!-- <field name="remark"/>-->
</group> <!-- </group>-->
</form> <!-- </form>-->
</field> <!-- </field>-->
</record> <!-- </record>-->
<record model="ir.ui.view" id="sf_processing_technology_tree"> <record model="ir.ui.view" id="sf_processing_technology_tree">
<field name="model">sf.processing.technology</field> <field name="model">sf.processing.technology</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
@@ -131,7 +131,7 @@
<sheet> <sheet>
<group> <group>
<group> <group>
<field name="code" /> <field name="code"/>
<field name="name" string="参数名"/> <field name="name" string="参数名"/>
</group> </group>
<group> <group>
@@ -186,44 +186,50 @@
<record model="ir.ui.view" id="sf_materials_model_form"> <record model="ir.ui.view" id="sf_materials_model_form">
<field name="model">sf.materials.model</field> <field name="model">sf.materials.model</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="材料型号" create="0" edit="0" delete="0"> <form string="材料型号" create="0" edit="1" delete="0">
<sheet>
<group> <group>
<group> <group>
<field name="materials_no" readonly="1"/> <field name="materials_no" readonly="1"/>
<field name="name" required="1"/>
<field name="gain_way" required="1"/> <field name="gain_way" required="1"/>
<field name="density" readonly="1"/>
</group> </group>
<group> <group>
<field name="density" required="1"/> <field name="name" readonly="1"/>
<field name="need_h" default="false"/> <field name="need_h" default="false" readonly="1"/>
<field name="mf_materia_post" attrs="{'invisible':[('need_h','=',False)]} "/> <field name="mf_materia_post" attrs="{'invisible':[('need_h','=',False)]} "
readonly="1"/>
</group> </group>
<group> <group>
<field name='materials_id' default="default" invisible="1"/> <field name='materials_id' default="default" invisible="1"/>
</group> </group>
</group> </group>
<group> <notebook>
<page string="供应商">
<field name='supplier_ids'> <field name='supplier_ids'>
<tree editable='bottom'> <tree editable='bottom'>
<field name="sequence" widget="handle" string="序号"/> <field name="sequence" widget="handle" string="序号"/>
<field name="partner_id" string="名称"/> <field name="partner_id" string="名称"/>
</tree> </tree>
</field> </field>
</group> </page>
</notebook>
<group> <group>
<field name="remark"/> <field name="remark" readonly="1"/>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>
<record model="ir.ui.view" id="sf_materials_model_tree"> <record model="ir.ui.view" id="sf_materials_model_tree">
<field name="model">sf.materials.model</field> <field name="model">sf.materials.model</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="材料型号" create="0" edit="0" delete="0"> <tree string="材料型号" create="0" delete="0">
<field name="materials_no"/> <field name="materials_no" readonly="1"/>
<field name="name"/> <field name="name" readonly="1"/>
<field name="need_h"/> <field name="gain_way"/>
<field name="density"/> <field name="need_h" readonly="1"/>
<field name="density" readonly="1"/>
<field name='materials_id' invisible="1"/> <field name='materials_id' invisible="1"/>
</tree> </tree>
</field> </field>
@@ -247,13 +253,16 @@
<field name="model">sf.production.materials</field> <field name="model">sf.production.materials</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="材料" create="0" edit="0" delete="0"> <form string="材料" create="0" edit="0" delete="0">
<group string="详情"> <sheet>
<group>
<group> <group>
<field name="materials_no" readonly="1" default="编码"/> <field name="materials_no" readonly="1" default="编码"/>
</group> </group>
<group> <group>
<field name="name" required="1"/> <field name="name" required="1"/>
</group> </group>
<notebook>
<page string="型号">
<field name="materials_model_ids" widget="ony2many"> <field name="materials_model_ids" widget="ony2many">
<tree string="材料型号"> <tree string="材料型号">
<field name="materials_no"/> <field name="materials_no"/>
@@ -264,11 +273,13 @@
<field name='materials_id' default="default" invisible="1"/> <field name='materials_id' default="default" invisible="1"/>
</tree> </tree>
</field> </field>
</page>
</notebook>
</group> </group>
<group> <group>
<field name="remark"/> <field name="remark"/>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@@ -372,7 +383,8 @@
<header> <header>
<field name='state' widget="radio" options="{'horizontal': True}"/> <field name='state' widget="radio" options="{'horizontal': True}"/>
</header> </header>
<group string="基本信息" name="group1"> <sheet>
<group name="group1">
<group> <group>
<field name="code" required="1"/> <field name="code" required="1"/>
</group> </group>
@@ -380,6 +392,7 @@
<field name="name" required="1"/> <field name="name" required="1"/>
</group> </group>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>

View File

@@ -177,15 +177,15 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="夹具型号" create="0" edit="0" delete="0"> <form string="夹具型号" create="0" edit="0" delete="0">
<sheet> <sheet>
<group string="基本信息"> <group>
<group> <group>
<field name="code" force_save="1"/> <field name="code" force_save="1"/>
<field name="name"/> <field name="name"/>
<field name="brand_id"/> <field name="brand_id" options="{'no_create': True}"/>
<field name="manufacturer_model_number"/> <field name="manufacturer_model_number"/>
<field name="fixture_material_id"/> <field name="fixture_material_id" options="{'no_create': True}"/>
<field name="fixture_material_type" invisible="1"/> <field name="fixture_material_type" invisible="1"/>
<field name="multi_mounting_type_id"/> <field name="multi_mounting_type_id" options="{'no_create': True}"/>
</group> </group>
<group> <group>
<!-- <field name="upload_model_file" widget="many2many_binary"/>--> <!-- <field name="upload_model_file" widget="many2many_binary"/>-->
@@ -193,46 +193,27 @@
attrs="{'invisible': [('model_file', '=', False)]}"/> attrs="{'invisible': [('model_file', '=', False)]}"/>
</group> </group>
</group> </group>
<group string="参数" <notebook>
<page string="参数"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'> attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
<group> <group>
<label for="length" string="尺寸[mm]"/> <group>
<label for="length" string="尺寸(mm)"/>
<div class="test_model"> <div class="test_model">
<label for="length" string="长"/> <label for="length" string="长"/>
<field name="length" class="o_address_zip" <field name="length" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="width" string="宽"/> <label for="width" string="宽"/>
<field name="width" class="o_address_zip" <field name="width" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="height" string="高"/> <label for="height" string="高"/>
<field name="height" class="o_address_zip" <field name="height" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
</div> </div>
<field name="weight"></field> <field name="weight"></field>
<label for="length" string="夹持工件最大尺寸[mm]" <field name="materials_model_id" options="{'no_create': True}"/>
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'/>
<div class="test_model"
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
</div>
<field name="clamp_workpiece_diameter_max"
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<field name="maximum_carrying_weight"></field>
<field name="maximum_clamping_force"></field>
</group>
<group>
<field name="materials_model_id"/>
<field name="clamping_way" <field name="clamping_way"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/> attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
<field name="port_type" <field name="port_type"
@@ -243,10 +224,37 @@
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="driving_way" <field name="driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="apply_machine_tool_type_id" <field name="apply_machine_tool_type_ids" widget="many2many_tags"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group> </group>
<group>
<label for="length" string="夹持工件最大尺寸(mm)"
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'/>
<div class="test_model"
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<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',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
</div>
<field name="clamp_workpiece_diameter_max" string="夹持工件最大直径(mm)"
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<field name="maximum_carrying_weight"></field>
<field name="maximum_clamping_force"></field>
</group> </group>
</group>
</page>
</notebook>
</sheet> </sheet>
</form> </form>
</field> </field>

View File

@@ -81,7 +81,7 @@
<field name="name">功能夹具</field> <field name="name">功能夹具</field>
<field name="model">sf.functional.fixture</field> <field name="model">sf.functional.fixture</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="功能夹具" create="0" edit="0" delete="0"> <tree string="功能夹具">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="type_id"/> <field name="type_id"/>
@@ -93,7 +93,12 @@
<field name="name">功能夹具</field> <field name="name">功能夹具</field>
<field name="model">sf.functional.fixture</field> <field name="model">sf.functional.fixture</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="功能夹具" create="0" edit="0" delete="0"> <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>-->
<sheet> <sheet>
<group string="基本信息"> <group string="基本信息">
<group> <group>
@@ -101,15 +106,19 @@
<field name="name"/> <field name="name"/>
<field name="type_id"/> <field name="type_id"/>
<field name="type" invisible="1"/> <field name="type" invisible="1"/>
<field name="zero_chuck_model_ids" widget="many2many_tags"/> <field name="zero_chuck_model_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="transfer_tray_model_ids" widget="many2many_tags" <field name="transfer_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '转接板(锁板)式')]}"/> options="{'no_create': True}"
attrs='{"invisible": [("type","!=","转接板(锁板)式")],"required": [("type", "=", "转接板(锁板)式")]}'/>
<field name="pneumatic_tray_model_ids" widget="many2many_tags" <field name="pneumatic_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '气动式')]}"/> options="{'no_create': True}"
attrs='{"invisible": [("type","!=","气动式")],"required": [("type", "=", "气动式")]}'/>
<field name="magnetic_tray_model_ids" widget="many2many_tags" <field name="magnetic_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '磁吸式')]}"/> options="{'no_create': True}"
attrs='{"invisible": [("type","!=","磁吸式")],"required": [("type", "=", "磁吸式")]}'/>
<field name="vice_tray_model_ids" widget="many2many_tags" <field name="vice_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '虎钳式')]}"/> options="{'no_create': True}"
attrs='{"invisible": [("type","!=","虎钳式")],"required": [("type", "=", "虎钳式")]}'/>
</group> </group>
</group> </group>
</sheet> </sheet>

View File

@@ -139,7 +139,7 @@
<menuitem <menuitem
id="menu_sf_machine_control_system" id="menu_sf_machine_control_system"
parent="menu_sf_base" parent="menu_sf_base"
name="控系统" name="控系统"
sequence="1" sequence="1"
action="action_sf_machine_control_system"/> action="action_sf_machine_control_system"/>

View File

@@ -7,14 +7,14 @@
<field name="name">刀具物料</field> <field name="name">刀具物料</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.tool.material</field> <field name="res_model">sf.cutting.tool.material</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree</field>
</record> </record>
<!-- 刀具类型action --> <!-- 刀具类型action -->
<record id="action_sf_cutting_tool_type" model="ir.actions.act_window"> <record id="action_sf_cutting_tool_type" model="ir.actions.act_window">
<field name="name">刀具类型</field> <field name="name">刀具类型</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.tool.type</field> <field name="res_model">sf.cutting.tool.type</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree</field>
</record> </record>
<!-- 刀具型号action --> <!-- 刀具型号action -->
<record id="action_sf_cutting_tool" model="ir.actions.act_window"> <record id="action_sf_cutting_tool" model="ir.actions.act_window">
@@ -35,7 +35,7 @@
<field name="name">功能刀具类型</field> <field name="name">功能刀具类型</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
<field name="res_model">sf.functional.cutting.tool.model</field> <field name="res_model">sf.functional.cutting.tool.model</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree</field>
</record> </record>
<!-- 刀具 --> <!-- 刀具 -->

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<odoo> <odoo>
<data> <data>
<!-- ================================================刀具物料================================================ --> <!-- ================================================刀具物料================================================ -->
<record id="view_cutting_tool_material_tree" model="ir.ui.view"> <record id="view_cutting_tool_material_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.material.tree</field> <field name="name">sf.cutting.tool.material.tree</field>
<field name="model">sf.cutting.tool.material</field> <field name="model">sf.cutting.tool.material</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="刀具物料"> <tree string="刀具物料" create="0" edit="0" delete="0">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="remark"/> <field name="remark"/>
@@ -14,28 +14,28 @@
</field> </field>
</record> </record>
<record id="view_cutting_tool_material_form" model="ir.ui.view"> <!-- <record id="view_cutting_tool_material_form" model="ir.ui.view">-->
<field name="name">sf.cutting.tool.material.form</field> <!-- <field name="name">sf.cutting.tool.material.form</field>-->
<field name="model">sf.cutting.tool.material</field> <!-- <field name="model">sf.cutting.tool.material</field>-->
<field name="arch" type="xml"> <!-- <field name="arch" type="xml">-->
<form string="刀具物料"> <!-- <form string="刀具物料">-->
<sheet> <!-- <sheet>-->
<group col='1'> <!-- <group col='1'>-->
<group string='基本信息'> <!-- <group string='基本信息'>-->
<group> <!-- <group>-->
<field name="code"/> <!-- <field name="code"/>-->
<field name="name"/> <!-- <field name="name"/>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="remark"/> <!-- <field name="remark"/>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
</sheet> <!-- </sheet>-->
</form> <!-- </form>-->
</field> <!-- </field>-->
</record> <!-- </record>-->
<record model="ir.ui.view" id="view_cutting_tool_material_search"> <record model="ir.ui.view" id="view_cutting_tool_material_search">
<field name="name">sf.cutting.tool.material.search</field> <field name="name">sf.cutting.tool.material.search</field>
@@ -49,7 +49,7 @@
</field> </field>
</record> </record>
<!-- ================================================功能刀具================================================ --> <!-- ================================================功能刀具================================================ -->
<record id="view_functional_cutting_tool_tree" model="ir.ui.view"> <record id="view_functional_cutting_tool_tree" model="ir.ui.view">
<field name="name">sf.functional.cutting.tool.tree</field> <field name="name">sf.functional.cutting.tool.tree</field>
<field name="model">sf.functional.cutting.tool</field> <field name="model">sf.functional.cutting.tool</field>
@@ -80,14 +80,29 @@
<group> <group>
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="mrs_cutting_tool_type_id" options="{'no_create': True, 'no_quick_create': True}"/> <field name="mrs_cutting_tool_type_id"
<field name="mrs_cutting_tool_model_id" options="{'no_create': True, 'no_quick_create': True}" attrs="{'invisible': True}"/> options="{'no_create': True, 'no_quick_create': 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_model_id"
<field name="mrs_cutting_tool_blade_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/> options="{'no_create': True, 'no_quick_create': True}"
<field name="mrs_cutting_tool_cutterbar_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/> attrs="{'invisible': True}"/>
<field name="mrs_cutting_tool_cutterpad_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/> <field name="mrs_cutting_tool_integral_model_ids"
<field name="mrs_cutting_tool_cutterhandle_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/> options="{'no_create': True, 'no_quick_create': True}"
<field name="mrs_cutting_tool_cutterhead_model_ids" options="{'no_create': True, 'no_quick_create': True}" widget="many2many_tags"/> 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>
<group> <group>
<field name="image" nolabel="1" widget="image"/> <field name="image" nolabel="1" widget="image"/>
@@ -132,39 +147,39 @@
</record> </record>
<!-- ================================================功能刀具类型================================================ --> <!-- ================================================功能刀具类型================================================ -->
<record id="view_cutter_function_tree" model="ir.ui.view"> <record id="view_cutter_function_tree" model="ir.ui.view">
<field name="name">sf.cutter.function.tree</field> <field name="name">sf.cutter.function.tree</field>
<field name="model">sf.functional.cutting.tool.model</field> <field name="model">sf.functional.cutting.tool.model</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="功能刀具类型"> <tree string="功能刀具类型" create="0" delete="0" edit="0">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="remark"/> <field name="remark"/>
</tree> </tree>
</field> </field>
</record> </record>
<record id="view_cutter_function_form" model="ir.ui.view"> <!-- <record id="view_cutter_function_form" model="ir.ui.view">-->
<field name="name">sf.cutter.function.form</field> <!-- <field name="name">sf.cutter.function.form</field>-->
<field name="model">sf.functional.cutting.tool.model</field> <!-- <field name="model">sf.functional.cutting.tool.model</field>-->
<field name="arch" type="xml"> <!-- <field name="arch" type="xml">-->
<form string="功能刀具类型"> <!-- <form string="功能刀具类型">-->
<sheet> <!-- <sheet>-->
<group string="功能刀具类型"> <!-- <group string="功能刀具类型">-->
<group> <!-- <group>-->
<field name="code"/> <!-- <field name="code"/>-->
<field name="name"/> <!-- <field name="name"/>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="remark"/> <!-- <field name="remark"/>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
</sheet> <!-- </sheet>-->
</form> <!-- </form>-->
</field> <!-- </field>-->
</record> <!-- </record>-->
<!-- 功能刀具类型搜索 --> <!-- 功能刀具类型搜索 -->
<record model="ir.ui.view" id="view_cutter_function_search"> <record model="ir.ui.view" id="view_cutter_function_search">
<field name="name">sf.cutter.function.search</field> <field name="name">sf.cutter.function.search</field>
<field name="model">sf.functional.cutting.tool.model</field> <field name="model">sf.functional.cutting.tool.model</field>
@@ -176,7 +191,7 @@
</field> </field>
</record> </record>
<!-- ================================================刀具型号================================================ --> <!-- ================================================刀具型号================================================ -->
<record id="view_cutting_tool_model_tree" model="ir.ui.view"> <record id="view_cutting_tool_model_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.model.tree</field> <field name="name">sf.cutting.tool.model.tree</field>
<field name="model">sf.cutting.tool.model</field> <field name="model">sf.cutting.tool.model</field>
@@ -201,10 +216,14 @@
<group> <group>
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="mrs_cutting_tool_material_id" options="{'no_create': True, 'no_quick_create': True}"/> <field name="mrs_cutting_tool_material_id"
<field name="mrs_machine_brand_id" options="{'no_create': True, 'no_quick_create': True}"/> 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_machine_brand_id"
<field name="mrs_cutting_tool_type_id" options="{'no_create': True, 'no_quick_create': True}"/> 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>
<group> <group>
<field name="image" nolabel="1" widget="image"/> <field name="image" nolabel="1" widget="image"/>
@@ -220,105 +239,182 @@
<field name="hide_chuck" invisible="1"/> <field name="hide_chuck" invisible="1"/>
<field name="mrs_cutting_tool_material_name" 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_total_length"
<field name="integral_shank_length" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> 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_shank_length"
<field name="integral_diameter" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> 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_blade_length"
<field name="integral_accuracy" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
<field name="integral_hardness" 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_length"
<field name="blade_width" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_width"
<field name="blade_top_angle" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_height"
<field name="blade_rear_angle" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_c_diameter"
<field name="bar_total_length" attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/> 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_total_length"
<field name="bar_d_diameter" attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/> 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="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_c_diameter"
<field name="pad_total_length" attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/> 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_total_length"
<field name="pad_d_diameter" attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/> 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="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_length"
<field name="handle_flange_length" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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_flange_length"
<field name="handle_weight" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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_flange_diameter"
<field name="handle_clamping_diameter_min" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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="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_accuracy"
<field name="chuck_diameter" attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/> 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_diameter"
<field name="chuck_height" attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/> 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>
<group> <group>
<field name="integral_front_angle" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> <field name="integral_front_angle"
<field name="integral_rear_angle" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> 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_rear_angle"
<field name="integral_coating_material" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> 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_main_included_angle"
<field name="integral_scope" attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/> 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_main_included_angle"
<field name="blade_r_angle" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_r_angle"
<field name="blade_hardness" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_coating_material"
<field name="blade_nut" attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/> 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_screw"
<field name="bar_radius" attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/> 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_radius"
<field name="bar_scope" attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/> 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_screw"
<field name="pad_radius" attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/> 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_radius"
<field name="pad_hardness" attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/> 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="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_nut"
<field name="handle_clamping_range" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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_clamping_range"
<field name="handle_detection_hardness" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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_detection_accuracy"
<field name="handle_jump_accuracy" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/> 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="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_nut"
<field name="chuck_clamping_range" attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/> attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
<field name="chuck_feature" 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> </group>
<group string='其他信息'> <group string='其他信息'>
<group> <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_blade_cutter_bar_ids" widget="many2many_tags"
<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)]}"/> options="{'no_create': True, 'no_quick_create': True}"
<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)]}"/> attrs="{'invisible': [('hide_blade', '=', 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_bar_blade_ids" widget="many2many_tags"
<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)]}"/> 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>
<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)]}"/> <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> </group>
</group> </group>
</group> </group>
@@ -327,7 +423,7 @@
</field> </field>
</record> </record>
<!-- 刀具型号搜索 --> <!-- 刀具型号搜索 -->
<record id="view_cutting_tool_model_search" model="ir.ui.view"> <record id="view_cutting_tool_model_search" model="ir.ui.view">
<field name="name">sf.cutting.tool.model.search</field> <field name="name">sf.cutting.tool.model.search</field>
<field name="model">sf.cutting.tool.model</field> <field name="model">sf.cutting.tool.model</field>
@@ -343,12 +439,12 @@
</record> </record>
<!-- ================================================刀具类型================================================ --> <!-- ================================================刀具类型================================================ -->
<record id="view_cutting_tool_type_tree" model="ir.ui.view"> <record id="view_cutting_tool_type_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.type.tree</field> <field name="name">sf.cutting.tool.type.tree</field>
<field name="model">sf.cutting.tool.type</field> <field name="model">sf.cutting.tool.type</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="刀具类型"> <tree string="刀具类型" create="0" edit="0" delete="0">
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="mrs_cutting_tool_material_id"/> <field name="mrs_cutting_tool_material_id"/>
@@ -357,28 +453,28 @@
</field> </field>
</record> </record>
<record id="view_cutting_tool_type_form" model="ir.ui.view"> <!-- <record id="view_cutting_tool_type_form" model="ir.ui.view">-->
<field name="name">sf.cutting.tool.type.form</field> <!-- <field name="name">sf.cutting.tool.type.form</field>-->
<field name="model">sf.cutting.tool.type</field> <!-- <field name="model">sf.cutting.tool.type</field>-->
<field name="arch" type="xml"> <!-- <field name="arch" type="xml">-->
<form string="刀具类型"> <!-- <form string="刀具类型">-->
<sheet> <!-- <sheet>-->
<group string="刀具类型"> <!-- <group string="刀具类型">-->
<group> <!-- <group>-->
<field name="code"/> <!-- <field name="code"/>-->
<field name="name"/> <!-- <field name="name"/>-->
<field name="mrs_cutting_tool_material_id" options="{'no_create': True, 'no_quick_create': True}"/> <!-- <field name="mrs_cutting_tool_material_id" options="{'no_create': True, 'no_quick_create': True}"/>-->
</group> <!-- </group>-->
<group> <!-- <group>-->
<field name="remark"/> <!-- <field name="remark"/>-->
</group> <!-- </group>-->
</group> <!-- </group>-->
</sheet> <!-- </sheet>-->
</form> <!-- </form>-->
</field> <!-- </field>-->
</record> <!-- </record>-->
<!-- 刀具类型搜索 --> <!-- 刀具类型搜索 -->
<record id="view_cutting_tool_type_search" model="ir.ui.view"> <record id="view_cutting_tool_type_search" model="ir.ui.view">
<field name="name">sf.cutting.tool.type.search</field> <field name="name">sf.cutting.tool.type.search</field>
<field name="model">sf.cutting.tool.type</field> <field name="model">sf.cutting.tool.type</field>

View File

@@ -278,7 +278,7 @@
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="fixture_driving_way" <field name="fixture_driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="fixture_apply_machine_tool_type_id" <field name="fixture_apply_machine_tool_type_ids"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group> </group>
</group> </group>

View File

@@ -147,7 +147,8 @@ class ResProductMo(models.Model):
fixture_maximum_carrying_weight = fields.Float(string="最大承载重量[kg]", digits=(16, 4)) fixture_maximum_carrying_weight = fields.Float(string="最大承载重量[kg]", digits=(16, 4))
fixture_maximum_clamping_force = fields.Integer(string="最大夹持力[n]", size=8) fixture_maximum_clamping_force = fields.Integer(string="最大夹持力[n]", size=8)
fixture_driving_way = fields.Char(string="驱动方式") fixture_driving_way = fields.Char(string="驱动方式")
fixture_apply_machine_tool_type_id = fields.Many2one('sf.machine_tool.type', string="适用机床型号") fixture_apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_product_machine_tool_type',
string="适用机床型号")
fixture_through_hole_size = fields.Integer(string="过孔大小[mm]", size=6) fixture_through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
fixture_screw_size = fields.Integer(string="螺牙大小[mm]", size=6) fixture_screw_size = fields.Integer(string="螺牙大小[mm]", size=6)
@@ -205,7 +206,7 @@ class ResProductMo(models.Model):
item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max
item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max
item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max
item.fixture_apply_machine_tool_type_id = item.fixture_model_id.apply_machine_tool_type_id.id item.fixture_apply_machine_tool_type_id = self._get_ids(item.fixture_model_id.apply_machine_tool_type_ids)
@api.onchange('cutting_tool_model_id') @api.onchange('cutting_tool_model_id')
def _onchange_cutting_tool_model_id(self): def _onchange_cutting_tool_model_id(self):