1.夹具物料,联装类型,功能夹具类型的Tree视图去掉删除方法和删除操作;同步的方法里新增active字段

2.品牌模型新增厂家型号字段
3.修复3D模型全屏展示及不显示模型Bug
This commit is contained in:
jinling.yang
2023-07-26 18:52:27 +08:00
parent 72b3e736c0
commit 7ee652d021
7 changed files with 20520 additions and 456 deletions

View File

@@ -34,6 +34,7 @@ class MachineBrand(models.Model):
name = fields.Char('名称')
tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别')
image_brand = fields.Image("品牌图片")
manufacturer_model_number = fields.Char('厂家型号', size=10)
active = fields.Boolean('有效', default=True)
code = fields.Char('编码')

View File

@@ -1,5 +1,4 @@
from odoo import models, fields, api
from odoo.exceptions import UserError
class FixtureMaterial(models.Model):
@@ -8,12 +7,9 @@ class FixtureMaterial(models.Model):
code = fields.Char(string='编码')
name = fields.Char(string="名称", size=15)
category = fields.Selection([('零点夹具', '零点夹具')], string="类别")
remark = fields.Char(string="备注")
def unlink(self):
for record in self:
if record:
raise UserError('不允许删除数据!')
active = fields.Boolean(string="有效", default=True)
class Multi_MountingType(models.Model):
@@ -23,6 +19,7 @@ class Multi_MountingType(models.Model):
code = fields.Char(string='编码')
name = fields.Char(string="名称", size=15)
remark = fields.Char(string="备注")
active = fields.Boolean(string="有效", default=True)
class FixtureModel(models.Model):
@@ -35,6 +32,7 @@ class FixtureModel(models.Model):
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
manufacturer_model_number = fields.Char(string="厂家型号")
clamping_way = fields.Char(string="装夹方式")
port_type = fields.Char(string="接口类型")
model_file = fields.Binary(string="3D模型图")

View File

@@ -8,6 +8,7 @@ class FunctionalFixtureType(models.Model):
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="名称", size=15)
remark = fields.Char(string="备注")
active = fields.Boolean(string="有效", default=True)
class FunctionalFixture(models.Model):
@@ -17,6 +18,7 @@ class FunctionalFixture(models.Model):
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 = fields.Char(related='type_id.name', string="功能夹具类别", store=True)
zero_chuck_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_zero_chuck', string="零点卡盘型号",
required=True,
domain=[('fixture_material_type', '=', '零点卡盘')])

View File

@@ -13,6 +13,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -21,45 +22,45 @@
<field name="name">夹具物料</field>
<field name="model">sf.fixture.material</field>
<field name="arch" type="xml">
<tree string="夹具物料" create="false">
<tree string="夹具物料" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="category"/>
<field name="remark"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
<field name="active" string="启用"/>
</tree>
</field>
</record>
<record id="sf_fixture_material_view_form" model="ir.ui.view">
<field name="name">夹具物料</field>
<field name="model">sf.fixture.material</field>
<field name="arch" type="xml">
<form string="夹具物料">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group>
<!-- <group>-->
<field name="remark"/>
<!-- </group>-->
</group>
</sheet>
</form>
</field>
</record>
<!-- <record id="sf_fixture_material_view_form" model="ir.ui.view">-->
<!-- <field name="name">夹具物料</field>-->
<!-- <field name="model">sf.fixture.material</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <form string="夹具物料">-->
<!-- <sheet>-->
<!-- <group string="基本信息">-->
<!-- <group>-->
<!-- <field name="code"/>-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="name"/>-->
<!-- </group>-->
<!-- </group>-->
<!-- <group>-->
<!-- &lt;!&ndash; <group>&ndash;&gt;-->
<!-- <field name="remark"/>-->
<!-- &lt;!&ndash; </group>&ndash;&gt;-->
<!-- </group>-->
<!-- </sheet>-->
<!-- </form>-->
<!-- </field>-->
<!-- </record>-->
<record id="sf_fixture_material_view_act" model="ir.actions.act_window">
<field name="name">夹具物料</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.fixture.material</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree</field>
</record>
@@ -76,6 +77,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -85,43 +87,42 @@
<field name="name">联装类型</field>
<field name="model">sf.multi_mounting.type</field>
<field name="arch" type="xml">
<tree string="联装类型" create="false">
<tree string="联装类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="remark"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
<field name="active" string="启用"/>
</tree>
</field>
</record>
<record id="sf_multi_mounting_type_view_form" model="ir.ui.view">
<field name="name">联装类型</field>
<field name="model">sf.multi_mounting.type</field>
<field name="arch" type="xml">
<form string="联装类型">
<sheet>
<group string="基本信息">
<group>
<field name="code"/>
</group>
<group>
<field name="name"/>
</group>
</group>
<group>
<field name="remark"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- <record id="sf_multi_mounting_type_view_form" model="ir.ui.view">-->
<!-- <field name="name">联装类型</field>-->
<!-- <field name="model">sf.multi_mounting.type</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <form string="联装类型">-->
<!-- <sheet>-->
<!-- <group string="基本信息">-->
<!-- <group>-->
<!-- <field name="code"/>-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="name"/>-->
<!-- </group>-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="remark"/>-->
<!-- </group>-->
<!-- </sheet>-->
<!-- </form>-->
<!-- </field>-->
<!-- </record>-->
<record id="sf_multi_mounting_type_view_act" model="ir.actions.act_window">
<field name="name">联装类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.multi_mounting.type</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree</field>
</record>
<!-- ===========================夹具型号====================================-->
@@ -144,7 +145,8 @@
<group expand="0" string="Group By...">
<filter string='品牌' name="brand_id" domain="[]"
context="{'group_by' : 'brand_id'}"/>
<filter string="夹具物料" name="fixture_material_id" domain="[]" context="{'group_by': 'fixture_material_id'}"/>
<filter string="夹具物料" name="fixture_material_id" domain="[]"
context="{'group_by': 'fixture_material_id'}"/>
<filter string='联装类型' name="multi_mounting_type_id" domain="[]"
context="{'group_by' : 'multi_mounting_type_id'}"/>
</group>
@@ -159,14 +161,12 @@
<field name="name">夹具型号</field>
<field name="model">sf.fixture.model</field>
<field name="arch" type="xml">
<tree string="夹具型号" create="false">
<tree string="夹具型号" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="brand_id"/>
<field name="fixture_material_id"/>
<field name="multi_mounting_type_id"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
</tree>
</field>
</record>
@@ -182,6 +182,7 @@
<field name="code" force_save="1"/>
<field name="name"/>
<field name="brand_id"/>
<field name="manufacturer_model_number"/>
<field name="fixture_material_id"/>
<field name="fixture_material_type" invisible="1"/>
<field name="multi_mounting_type_id"/>

View File

@@ -14,6 +14,7 @@
filter_domain="[('name', 'ilike', self)]"/>
<field name="remark" string="备注"
filter_domain="[('remark', 'ilike', self)]"/>
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
</search>
</field>
</record>
@@ -22,43 +23,42 @@
<field name="name">功能夹具类型</field>
<field name="model">sf.functional.fixture.type</field>
<field name="arch" type="xml">
<tree string="功能夹具类型" create="false">
<tree string="功能夹具类型" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="remark"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
<field name="active" string="启用"/>
</tree>
</field>
</record>
<record id="sf_functional_fixture_type_view_form" model="ir.ui.view">
<field name="name">功能夹具类型</field>
<field name="model">sf.functional.fixture.type</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_functional_fixture_type_view_form" model="ir.ui.view">-->
<!-- <field name="name">功能夹具类型</field>-->
<!-- <field name="model">sf.functional.fixture.type</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_functional_fixture_type_view_act" model="ir.actions.act_window">
<field name="name">功能夹具类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.functional.fixture.type</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree</field>
</record>
@@ -81,12 +81,10 @@
<field name="name">功能夹具</field>
<field name="model">sf.functional.fixture</field>
<field name="arch" type="xml">
<tree string="功能夹具" create="false">
<tree string="功能夹具" create="0" edit="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="type_id"/>
<field name="create_uid" string="创建人"/>
<field name="create_date" string="创建时间"/>
</tree>
</field>
</record>
@@ -99,14 +97,19 @@
<sheet>
<group string="基本信息">
<group>
<field name="code" force_save="1"/>
<field name="code"/>
<field name="name"/>
<field name="type_id"/>
<field name="type" invisible="1"/>
<field name="zero_chuck_model_ids" widget="many2many_tags"/>
<field name="transfer_tray_model_ids" widget="many2many_tags"/>
<field name="pneumatic_tray_model_ids" widget="many2many_tags"/>
<field name="magnetic_tray_model_ids" widget="many2many_tags"/>
<field name="vice_tray_model_ids" widget="many2many_tags"/>
<field name="transfer_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '转接板(锁板)式')]}"/>
<field name="pneumatic_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '气动式')]}"/>
<field name="magnetic_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '磁吸式')]}"/>
<field name="vice_tray_model_ids" widget="many2many_tags"
attrs="{'invisible': [('type', '!=', '虎钳式')]}"/>
</group>
</group>
</sheet>

View File

@@ -524,15 +524,17 @@ class MachineBrand(models.Model):
brand.id = item['id'],
brand.name = item['name'],
brand.code = item['code'],
brand.image_brand = '' if not item['image_brand'] else base64.b64encode(item.image_brand),
brand.manufacturer_model_number = item['manufacturer_model_number'],
brand.active = item['active']
else:
self.env['sf.machine.brand'].create({
"id": item['id'],
"name": item['name'],
"code": item['code'],
# "image_brand": item['image_brand'],
"image_brand": '' if not item['image_brand'] else base64.b64encode(item.image_brand),
"manufacturer_model_number": item['manufacturer_model_number'],
"active": item['active'],
# "tag_ids": item['tag_ids']
})
else:
@@ -559,6 +561,7 @@ class MachineBrand(models.Model):
"id": item['id'],
"name": item['name'],
"code": item['code'],
"manufacturer_model_number": item['manufacturer_model_number'],
"image_brand": '' if not item['image_brand'] else base64.b64encode(item.image_brand),
"tag_ids": self.env['sf.machine.brand.tags'].search(
[("name", 'in', item['tag_ids'])]).ids
@@ -1439,12 +1442,16 @@ class SyncFixtureMaterial(models.Model):
self.env['sf.fixture.material'].create({
"name": item['name'],
"code": item['code'],
"category": item['category'],
"remark": item['remark'],
"active": item['active'],
})
else:
fixture_material.write({
"name": item['name'],
"category": item['category'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
@@ -1471,12 +1478,16 @@ class SyncFixtureMaterial(models.Model):
self.env['sf.fixture.material'].create({
"name": item['name'],
"code": item['code'],
"category": item['category'],
"remark": item['remark'],
"active": item['active'],
})
else:
fixture_material.write({
"name": item['name'],
"category": item['category'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
@@ -1488,7 +1499,7 @@ class SyncMulti_Mounting_Type(models.Model):
url = '/api/multi_mounting_type/list'
# 定时同步夹具物料列表
# 定时同步联装类型列表
def sync_multi_mounting_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
@@ -1510,16 +1521,18 @@ class SyncMulti_Mounting_Type(models.Model):
"name": item['name'],
"code": item['code'],
"remark": item['remark'],
"active": item['active'],
})
else:
multi_mounting_type.write({
"name": item['name'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
# 定时同步所有夹具物料列表
# 定时同步所有联装类型列表
def sync_all_multi_mounting_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
@@ -1542,11 +1555,13 @@ class SyncMulti_Mounting_Type(models.Model):
"name": item['name'],
"code": item['code'],
"remark": item['remark'],
"active": item['active'],
})
else:
multi_mounting_type.write({
"name": item['name'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
@@ -1584,6 +1599,7 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
"manufacturer_model_number": item['manufacturer_model_number'],
"clamping_way": item['clamping_way'],
"port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
@@ -1613,6 +1629,7 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
"manufacturer_model_number": item['manufacturer_model_number'],
"clamping_way": item['clamping_way'],
"port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
@@ -1664,6 +1681,7 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
"manufacturer_model_number": item['manufacturer_model_number'],
"clamping_way": item['clamping_way'],
"port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
@@ -1693,6 +1711,7 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
"manufacturer_model_number": item['manufacturer_model_number'],
"clamping_way": item['clamping_way'],
"port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
@@ -1746,11 +1765,13 @@ class SyncFunctionalFixtureType(models.Model):
"name": item['name'],
"code": item['code'],
"remark": item['remark'],
"active": item['active'],
})
else:
functional_fixture_type.write({
"name": item['name'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
@@ -1777,11 +1798,14 @@ class SyncFunctionalFixtureType(models.Model):
self.env['sf.functional.fixture.type'].create({
"name": item['name'],
"code": item['code'],
"remark": item['remark'],
"active": item['active'],
})
else:
functional_fixture_type.write({
"name": item['name'],
"remark": item['remark'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")

File diff suppressed because one or more lines are too long