制造订单,产品,工单上进行3d模型展示

This commit is contained in:
jinling.yang
2023-03-09 17:34:44 +08:00
parent 2df811d4ce
commit dfeeed7b59
5 changed files with 42 additions and 25 deletions

View File

@@ -10,7 +10,7 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
'depends': ['mrp', 'sf_base', 'maintenance'],
'depends': ['mrp', 'sf_base', 'maintenance', 'web_widget_model_viewer'],
'data': [
'security/group_security.xml',
'security/ir.model.access.csv',

View File

@@ -90,6 +90,7 @@ class ResMrpWorkOrder(models.Model):
string="检测结果")
cnc_ids = fields.One2many("sf.cnc.processing", 'workorder_id', string="CNC加工")
tray_code = fields.Char(string="托盘")
glb_file = fields.Binary("glb模型文件")
# 计算配料中心点和与x轴倾斜度方法
def getcenter(self):

View File

@@ -146,6 +146,9 @@
</div>
</button>
</div>
<field name="product_id" position="after">
<field name="model_file" string="产品模型" readonly="1" widget="Viewer3D"/>
</field>
</field>
</record>

View File

@@ -22,13 +22,16 @@
<field name="date_planned_finished" string="计划结束日期" optional="show"/>
</xpath>
<xpath expr="//button[@name='button_start']" position="attributes">
<attribute name="attrs">{'invisible': ['|', '|', '|','|','|', ('production_state','in', ('draft', 'done',
<attribute name="attrs">{'invisible': ['|', '|', '|','|','|', ('production_state','in', ('draft',
'done',
'cancel')), ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'cancel')),
('is_user_working', '!=', False),("user_permissions","=",False),("name","=","获取CNC加工程序")]}
</attribute>
</xpath>
<xpath expr="//button[@name='%(mrp.act_mrp_block_workcenter_wo)d']" position="attributes">
<attribute name="attrs">{'invisible': ['|',("user_permissions","=",False),("name","=","获取CNC加工程序")]}</attribute>
<attribute name="attrs">{'invisible':
['|',("user_permissions","=",False),("name","=","获取CNC加工程序")]}
</attribute>
<attribute name="string">停工</attribute>
</xpath>
<xpath expr="//button[@name='action_open_wizard']" position="attributes">
@@ -133,7 +136,15 @@
<field name="duration" widget="mrp_timer"
attrs="{'invisible': [('production_state','=', 'draft')], 'readonly': [('is_user_working', '=', True)]}"
sum="real duration"/>
<field name="processing_panel" readonly="1" attrs='{"invisible": [("routing_type","in",("获取CNC加工程序","切割"))]}'/>
<field name="processing_panel" readonly="1"
attrs='{"invisible": [("routing_type","in",("获取CNC加工程序","切割"))]}'/>
</group>
<group attrs='{"invisible": [("routing_type","=","获取CNC加工程序")]}'>
<div>
<label for="glb_file" string="加工模型"/>
<field name="glb_file" readonly="1" widget="Viewer3D"/>
</div>
<!-- <field name="glb_file" string="模型" readonly="1" widget="Viewer3D"/>-->
</group>
<!-- <field name="processing_panel" readonly="1" attrs="{'invisible': [('routing_type', 'in', ('获取CNC加工程序','装夹','解除装夹',-->
@@ -168,7 +179,8 @@
<field name="tray_id" readonly="1"/>
</group>
<group>
<field name="pro_code" readonly="1" attrs='{"invisible": [("pro_code_ok","=",False)]}' style="color:green"/>
<field name="pro_code" readonly="1" attrs='{"invisible": [("pro_code_ok","=",False)]}'
style="color:green"/>
<field name="pro_code" readonly="1" attrs='{"invisible": [("pro_code_ok","!=",False)]}'/>
<div>
<field name="pro_code_ok" invisible="1"/>

View File

@@ -30,6 +30,7 @@ class Sf_Mrs_Connect(http.Controller):
('routing_type', '=', '获取CNC加工程序'),
('state', '=', 'progress')])
if cnc_workorder:
cnc_workorder.glb_file = base64.b64encode(ret['glb_file'])
# 拉取所有加工面的程序文件
# i = 1
for r in ret['processing_panel']: