Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造-计划优化
# Conflicts: # jikimo_frontend/static/src/scss/custom_style.scss # sf_manufacturing/views/mrp_workcenter_views.xml
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
from odoo import models, fields, api
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.modules import get_resource_path
|
||||
from OCC.Extend.DataExchange import read_step_file
|
||||
from OCC.Extend.DataExchange import write_stl_file
|
||||
# from OCC.Extend.DataExchange import read_step_file
|
||||
# from OCC.Extend.DataExchange import write_stl_file
|
||||
import logging
|
||||
import base64
|
||||
import hashlib
|
||||
@@ -91,15 +91,19 @@ class ResProductMo(models.Model):
|
||||
cutting_tool_coarse_medium_fine = fields.Selection([('粗', '粗'), ('中', '中'), ('精', '精')], '粗/中/精')
|
||||
cutting_tool_run_out_accuracy_max = fields.Float('端跳精度max', digits=(6, 1))
|
||||
cutting_tool_run_out_accuracy_min = fields.Float('端跳精度min', digits=(6, 1))
|
||||
suitable_machining_method_ids = fields.Many2many('sf.suitable.machining.method',
|
||||
'rel_suitable_machining_method_product_template', '适合加工方式')
|
||||
blade_tip_characteristics_ids = fields.Many2many('sf.blade.tip.characteristics',
|
||||
'rel_blade_tip_characteristics_product_template', '刀尖特征')
|
||||
handle_type_ids = fields.Many2many('sf.handle.type', 'rel_handle_type_product_template', '柄部类型')
|
||||
cutting_direction_ids = fields.Many2many('sf.cutting.direction', 'rel_cutting_direction_product_template',
|
||||
'走刀方向')
|
||||
suitable_coolant_ids = fields.Many2many('sf.suitable.coolant', 'rel_suitable_coolant_product_template',
|
||||
'适合冷却液')
|
||||
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_machining_product_template', '适合加工方式',
|
||||
domain=[('type', '=', '加工能力')])
|
||||
blade_tip_characteristics_ids = fields.Many2many('maintenance.equipment.image',
|
||||
'rel_blade_tip_product_template', '刀尖特征',
|
||||
domain=[('type', '=', '刀尖特征')])
|
||||
handle_type_ids = fields.Many2many('maintenance.equipment.image', 'rel_handle_product_template', '柄部类型',
|
||||
domain=[('type', '=', '柄部类型')])
|
||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'rel_cutting_product_template',
|
||||
'走刀方向', domain=[('type', '=', '走刀方向')])
|
||||
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolant_product_template',
|
||||
'适合冷却液', domain=[('type', '=', '冷却液')])
|
||||
|
||||
|
||||
# @api.constrains('suitable_machining_method_ids')
|
||||
# def _check_suitable_machining_method_ids(self):
|
||||
@@ -734,7 +738,7 @@ class ResProductMo(models.Model):
|
||||
def transition_glb_file(self, report_path, code):
|
||||
shapes = read_step_file(report_path)
|
||||
output_file = os.path.join('/tmp', str(code) + '.stl')
|
||||
write_stl_file(shapes, output_file, 'binary', 0.03, 0.5)
|
||||
# write_stl_file(shapes, output_file, 'binary', 0.03, 0.5)
|
||||
# 转化为glb
|
||||
output_glb_file = os.path.join('/tmp', str(code) + '.glb')
|
||||
util_path = get_resource_path('sf_dlm', 'static/util')
|
||||
@@ -797,6 +801,7 @@ class ResMrpBomMo(models.Model):
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
# 查询材料型号默认排第一的供应商
|
||||
|
||||
def get_supplier(self, materials_type):
|
||||
|
||||
@@ -189,6 +189,8 @@ class StockRule(models.Model):
|
||||
'mail.message_origin_link',
|
||||
values={'self': production, 'origin': origin_production},
|
||||
subtype_id=self.env.ref('mail.mt_note').id)
|
||||
|
||||
|
||||
'''
|
||||
创建生产计划
|
||||
'''
|
||||
@@ -211,7 +213,6 @@ class StockRule(models.Model):
|
||||
'product_id': production.product_id.id,
|
||||
'state': 'draft',
|
||||
})
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
||||
@@ -44,6 +44,47 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_view_kanban_inherit_workorder" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.view.kanban.inherit.mrp.workorder</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<!-- Desktop view -->
|
||||
<xpath expr='(//field[@name="name"])[1]' position="before">
|
||||
<field name="equipment_status"/>
|
||||
<field name="equipment_image"/>
|
||||
</xpath>
|
||||
<xpath expr='(//field[@name="name"])[2]' position="before">
|
||||
<field name="equipment_image" widget="image"/>
|
||||
|
||||
</xpath>
|
||||
<xpath expr='(//a[@name="unblock"])' position="after">
|
||||
<!-- <div class="czyg">绿色:正常,红色:故障,黄色:下线/暂停</div>-->
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-------------------->
|
||||
<record id="mrp_workcenter_kanban_inherit1" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.kanban.inherit</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//kanban//templates//t" position="inside">
|
||||
<p class="show_state" t-attf-class="oe_kanban_global_click o_kanban_record_has_image_fill o_hr_kanban_record oe_kanban_card oe_kanban_global_click
|
||||
">
|
||||
<div t-attf-class="#{record.equipment_status.raw_value == '正常' ? 'color_1' : ''}"></div>
|
||||
<div t-attf-class="#{record.equipment_status.raw_value == '故障' ? 'color_2' : ''}"></div>
|
||||
<div t-attf-class="#{record.equipment_status.raw_value == '不可用' ? 'color_3' : ''}"></div>
|
||||
<span t-attf-class="#{record.equipment_status.raw_value == '正常' ? 'font_color_1' : ''}
|
||||
#{record.equipment_status.raw_value == '故障' ? 'font_color_2' : ''}
|
||||
#{record.equipment_status.raw_value == '不可用' ? 'font_color_3' : ''}">
|
||||
<field name="equipment_status"/>
|
||||
</span>
|
||||
</p>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 继承原有的看板视图 -->
|
||||
<record id="mrp_workcenter_kanban_inherit1" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.kanban.inherit</field>
|
||||
@@ -126,202 +167,203 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_view_kanban_inherit_maintenance" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.view.kanban.inherit.maintenance</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='plan_order']" position="after">
|
||||
<div>
|
||||
<a name="%(maintenance.hr_equipment_request_action)d" type="action">Maintenance</a>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="mrp_workcenter_view_kanban_inherit_maintenance" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.view.kanban.inherit.maintenance</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='plan_order']" position="after">
|
||||
<div>
|
||||
<a name="%(maintenance.hr_equipment_request_action)d" type="action">Maintenance</a>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- 此段勿删,备用。待生产线驾驶舱完全确定下拉并完成后再行删除!!! -->
|
||||
<!-- 此段勿删,备用。待生产线驾驶舱完全确定下拉并完成后再行删除!!! -->
|
||||
|
||||
|
||||
<!-- --><!-- 继承原有的看板视图 -->
|
||||
<!-- <record id="mrp_workcenter_kanban_inherit1" model="ir.ui.view"> -->
|
||||
<!-- <field name="name">mrp.workcenter.kanban.inherit</field> -->
|
||||
<!-- <field name="model">mrp.workcenter</field> -->
|
||||
<!-- <field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/> -->
|
||||
<!-- <field name="arch" type="xml"> -->
|
||||
<!-- <xpath expr="//kanban" position="replace"> -->
|
||||
<!-- <kanban class="oe_background_grey o_kanban_dashboard o_workcenter_kanban" create="0" sample="1" -->
|
||||
<!-- > -->
|
||||
<!-- <field name="name"/> -->
|
||||
<!-- <field name="color"/> -->
|
||||
<!-- <field name="workorder_count"/> -->
|
||||
<!-- <field name="working_state"/> -->
|
||||
<!-- <field name="oee_target"/> -->
|
||||
<!-- <field name="production_line_show"/> -->
|
||||
<!-- <field name="production_line_id"/> -->
|
||||
<!-- <templates> -->
|
||||
<!-- <t t-name="kanban-box" -->
|
||||
<!-- t-if="record.production_line_id.value == record.production_line_show.raw_value"> -->
|
||||
<!-- <div t-on-click="console.log(record.production_line_id,'11111111111')"></div>--> -->
|
||||
<!-- <div t-on-click="console.log(record.production_line_show,'22222222222')"></div>--> -->
|
||||
<!-- <div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''}"> -->
|
||||
<!-- <div t-attf-class="o_kanban_card_header o_kanban_record_top"> -->
|
||||
<!-- <div class="o_kanban_record_headings o_kanban_card_header_title"> -->
|
||||
<!-- <span class="o_primary ml8" style="display: inline-block"> -->
|
||||
<!-- <field name="name"/> -->
|
||||
<!-- </span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="o_kanban_manage_button_section"> -->
|
||||
<!-- <a class="o_kanban_manage_toggle_button" href="#"> -->
|
||||
<!-- <i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="container o_kanban_card_content"> -->
|
||||
<!-- <div class="row mb16"> -->
|
||||
<!-- <div class="col-6 o_kanban_primary_left"> -->
|
||||
<!-- <div class="btn-group" name="o_wo"> -->
|
||||
<!-- <t t-if="record.workorder_count.raw_value > 0"> -->
|
||||
<!-- <button class="btn btn-primary" name="action_work_order" -->
|
||||
<!-- type="object" -->
|
||||
<!-- context="{'search_default_ready': 1, 'search_default_progress': 1}"> -->
|
||||
<!-- <span>WORK ORDERS</span> -->
|
||||
<!-- </button> -->
|
||||
<!-- </t> -->
|
||||
<!-- <t t-if="record.workorder_count.raw_value <= 0"> -->
|
||||
<!-- <button class="btn btn-warning" -->
|
||||
<!-- name="%(mrp.act_product_mrp_production_workcenter)d" -->
|
||||
<!-- type="action"> -->
|
||||
<!-- <span>PLAN ORDERS</span> -->
|
||||
<!-- </button> -->
|
||||
<!-- </t> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 o_kanban_primary_right"> -->
|
||||
<!-- <div class="row" t-if="record.workorder_ready_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_ready': 1}"> -->
|
||||
<!-- To Launch -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_ready_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.workorder_progress_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_progress': 1}"> -->
|
||||
<!-- In Progress -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_progress_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.workorder_late_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_late': 1}"> -->
|
||||
<!-- Late -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_late_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.oee.raw_value > 0"> -->
|
||||
<!-- <div class="col-6"> -->
|
||||
<!-- <a name="%(mrp.mrp_workcenter_productivity_report_oee)d" -->
|
||||
<!-- type="action"> -->
|
||||
<!-- OEE -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 text-end"> -->
|
||||
<!-- <span t-att-class="record.oee_target.raw_value and (record.oee.raw_value < record.oee_target.raw_value) and 'text-danger' or (record.oee.raw_value > record.oee_target.raw_value) and 'text-success' or 'text-warning'"> -->
|
||||
<!-- <strong> -->
|
||||
<!-- <field name="oee" widget="integer"/>% -->
|
||||
<!-- </strong> -->
|
||||
<!-- </span> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row"> -->
|
||||
<!-- <div class="col-12 o_kanban_primary_left" -->
|
||||
<!-- style="position:absolute; bottom:10px;" name="wc_stages"> -->
|
||||
<!-- <a name="%(mrp.act_mrp_block_workcenter)d" type="action" -->
|
||||
<!-- class="o_status float-end" -->
|
||||
<!-- title="No workorder currently in progress. Click to mark work center as blocked." -->
|
||||
<!-- aria-label="No workorder currently in progress. Click to mark work center as blocked." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('blocked','done'))]}"/> -->
|
||||
<!-- <a name="unblock" type="object" class=" o_status o_status_red float-end" -->
|
||||
<!-- title="Workcenter blocked, click to unblock." -->
|
||||
<!-- aria-label="Workcenter blocked, click to unblock." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('normal','done'))]}"/> -->
|
||||
<!-- <a name="%(mrp.act_mrp_block_workcenter)d" type="action" -->
|
||||
<!-- class="o_status o_status_green float-end" -->
|
||||
<!-- title="Work orders in progress. Click to block work center." -->
|
||||
<!-- aria-label="Work orders in progress. Click to block work center." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('normal','blocked'))]}"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="container o_kanban_card_manage_pane dropdown-menu" role="menu"> -->
|
||||
<!-- <div class="row"> -->
|
||||
<!-- <div class="col-6 o_kanban_card_manage_section o_kanban_manage_view"> -->
|
||||
<!-- <div role="menuitem" class="o_kanban_card_manage_title"> -->
|
||||
<!-- <span>Actions</span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem" name="plan_order"> -->
|
||||
<!-- <a name="action_work_order" type="object">Plan Orders</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div> -->
|
||||
<!-- <a name="%(maintenance.hr_equipment_request_action)d" type="action"> -->
|
||||
<!-- Maintenance -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 o_kanban_card_manage_section o_kanban_manage_new"> -->
|
||||
<!-- <div role="menuitem" class="o_kanban_card_manage_title"> -->
|
||||
<!-- <span>Reporting</span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="%(mrp.mrp_workcenter_productivity_report_oee)d" type="action"> -->
|
||||
<!-- OEE -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="%(mrp.mrp_workorder_workcenter_report)d" type="action" -->
|
||||
<!-- context="{'search_default_thisyear':True}"> -->
|
||||
<!-- Performance -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_waiting': 1}">Waiting Availability -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- --><!-- 继承原有的看板视图 -->
|
||||
<!-- <record id="mrp_workcenter_kanban_inherit1" model="ir.ui.view"> -->
|
||||
<!-- <field name="name">mrp.workcenter.kanban.inherit</field> -->
|
||||
<!-- <field name="model">mrp.workcenter</field> -->
|
||||
<!-- <field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/> -->
|
||||
<!-- <field name="arch" type="xml"> -->
|
||||
<!-- <xpath expr="//kanban" position="replace"> -->
|
||||
<!-- <kanban class="oe_background_grey o_kanban_dashboard o_workcenter_kanban" create="0" sample="1" -->
|
||||
<!-- > -->
|
||||
<!-- <field name="name"/> -->
|
||||
<!-- <field name="color"/> -->
|
||||
<!-- <field name="workorder_count"/> -->
|
||||
<!-- <field name="working_state"/> -->
|
||||
<!-- <field name="oee_target"/> -->
|
||||
<!-- <field name="production_line_show"/> -->
|
||||
<!-- <field name="production_line_id"/> -->
|
||||
<!-- <templates> -->
|
||||
<!-- <t t-name="kanban-box" -->
|
||||
<!-- t-if="record.production_line_id.value == record.production_line_show.raw_value"> -->
|
||||
<!-- <div t-on-click="console.log(record.production_line_id,'11111111111')"></div>--> -->
|
||||
<!-- <div t-on-click="console.log(record.production_line_show,'22222222222')"></div>-->
|
||||
-->
|
||||
<!-- <div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''}"> -->
|
||||
<!-- <div t-attf-class="o_kanban_card_header o_kanban_record_top"> -->
|
||||
<!-- <div class="o_kanban_record_headings o_kanban_card_header_title"> -->
|
||||
<!-- <span class="o_primary ml8" style="display: inline-block"> -->
|
||||
<!-- <field name="name"/> -->
|
||||
<!-- </span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="o_kanban_manage_button_section"> -->
|
||||
<!-- <a class="o_kanban_manage_toggle_button" href="#"> -->
|
||||
<!-- <i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="container o_kanban_card_content"> -->
|
||||
<!-- <div class="row mb16"> -->
|
||||
<!-- <div class="col-6 o_kanban_primary_left"> -->
|
||||
<!-- <div class="btn-group" name="o_wo"> -->
|
||||
<!-- <t t-if="record.workorder_count.raw_value > 0"> -->
|
||||
<!-- <button class="btn btn-primary" name="action_work_order" -->
|
||||
<!-- type="object" -->
|
||||
<!-- context="{'search_default_ready': 1, 'search_default_progress': 1}"> -->
|
||||
<!-- <span>WORK ORDERS</span> -->
|
||||
<!-- </button> -->
|
||||
<!-- </t> -->
|
||||
<!-- <t t-if="record.workorder_count.raw_value <= 0"> -->
|
||||
<!-- <button class="btn btn-warning" -->
|
||||
<!-- name="%(mrp.act_product_mrp_production_workcenter)d" -->
|
||||
<!-- type="action"> -->
|
||||
<!-- <span>PLAN ORDERS</span> -->
|
||||
<!-- </button> -->
|
||||
<!-- </t> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 o_kanban_primary_right"> -->
|
||||
<!-- <div class="row" t-if="record.workorder_ready_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_ready': 1}"> -->
|
||||
<!-- To Launch -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_ready_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.workorder_progress_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_progress': 1}"> -->
|
||||
<!-- In Progress -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_progress_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.workorder_late_count.raw_value > 0"> -->
|
||||
<!-- <div class="col-8"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_late': 1}"> -->
|
||||
<!-- Late -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-4 text-end"> -->
|
||||
<!-- <field name="workorder_late_count"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row" t-if="record.oee.raw_value > 0"> -->
|
||||
<!-- <div class="col-6"> -->
|
||||
<!-- <a name="%(mrp.mrp_workcenter_productivity_report_oee)d" -->
|
||||
<!-- type="action"> -->
|
||||
<!-- OEE -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 text-end"> -->
|
||||
<!-- <span t-att-class="record.oee_target.raw_value and (record.oee.raw_value < record.oee_target.raw_value) and 'text-danger' or (record.oee.raw_value > record.oee_target.raw_value) and 'text-success' or 'text-warning'"> -->
|
||||
<!-- <strong> -->
|
||||
<!-- <field name="oee" widget="integer"/>% -->
|
||||
<!-- </strong> -->
|
||||
<!-- </span> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="row"> -->
|
||||
<!-- <div class="col-12 o_kanban_primary_left" -->
|
||||
<!-- style="position:absolute; bottom:10px;" name="wc_stages"> -->
|
||||
<!-- <a name="%(mrp.act_mrp_block_workcenter)d" type="action" -->
|
||||
<!-- class="o_status float-end" -->
|
||||
<!-- title="No workorder currently in progress. Click to mark work center as blocked." -->
|
||||
<!-- aria-label="No workorder currently in progress. Click to mark work center as blocked." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('blocked','done'))]}"/> -->
|
||||
<!-- <a name="unblock" type="object" class=" o_status o_status_red float-end" -->
|
||||
<!-- title="Workcenter blocked, click to unblock." -->
|
||||
<!-- aria-label="Workcenter blocked, click to unblock." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('normal','done'))]}"/> -->
|
||||
<!-- <a name="%(mrp.act_mrp_block_workcenter)d" type="action" -->
|
||||
<!-- class="o_status o_status_green float-end" -->
|
||||
<!-- title="Work orders in progress. Click to block work center." -->
|
||||
<!-- aria-label="Work orders in progress. Click to block work center." -->
|
||||
<!-- attrs="{'invisible': [('working_state','in',('normal','blocked'))]}"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="container o_kanban_card_manage_pane dropdown-menu" role="menu"> -->
|
||||
<!-- <div class="row"> -->
|
||||
<!-- <div class="col-6 o_kanban_card_manage_section o_kanban_manage_view"> -->
|
||||
<!-- <div role="menuitem" class="o_kanban_card_manage_title"> -->
|
||||
<!-- <span>Actions</span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem" name="plan_order"> -->
|
||||
<!-- <a name="action_work_order" type="object">Plan Orders</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div> -->
|
||||
<!-- <a name="%(maintenance.hr_equipment_request_action)d" type="action"> -->
|
||||
<!-- Maintenance -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="col-6 o_kanban_card_manage_section o_kanban_manage_new"> -->
|
||||
<!-- <div role="menuitem" class="o_kanban_card_manage_title"> -->
|
||||
<!-- <span>Reporting</span> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="%(mrp.mrp_workcenter_productivity_report_oee)d" type="action"> -->
|
||||
<!-- OEE -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="%(mrp.mrp_workorder_workcenter_report)d" type="action" -->
|
||||
<!-- context="{'search_default_thisyear':True}"> -->
|
||||
<!-- Performance -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem"> -->
|
||||
<!-- <a name="action_work_order" type="object" -->
|
||||
<!-- context="{'search_default_waiting': 1}">Waiting Availability -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<!-- <div t-if="widget.editable" class="o_kanban_card_manage_settings row"> -->
|
||||
<!-- <div role="menuitem" aria-haspopup="true" class="col-8"> -->
|
||||
<!-- <ul role="menu" class="oe_kanban_colorpicker" data-field="color"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem" class="text-end"> -->
|
||||
<!-- <a type="edit">Settings</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </t> -->
|
||||
<!-- </templates> -->
|
||||
<!-- </kanban> -->
|
||||
<!-- </xpath> -->
|
||||
<!-- </field> -->
|
||||
<!-- </record> -->
|
||||
<!-- <div t-if="widget.editable" class="o_kanban_card_manage_settings row"> -->
|
||||
<!-- <div role="menuitem" aria-haspopup="true" class="col-8"> -->
|
||||
<!-- <ul role="menu" class="oe_kanban_colorpicker" data-field="color"/> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div role="menuitem" class="text-end"> -->
|
||||
<!-- <a type="edit">Settings</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </t> -->
|
||||
<!-- </templates> -->
|
||||
<!-- </kanban> -->
|
||||
<!-- </xpath> -->
|
||||
<!-- </field> -->
|
||||
<!-- </record> -->
|
||||
|
||||
<!-- MRP.PRODUCTION -->
|
||||
<record id="mrp_production_view_form_inherit_maintenance" model="ir.ui.view">
|
||||
@@ -350,18 +392,18 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- 生产线驾驶舱searchpanel -->
|
||||
<record id="view_location_search_sf11111_inherit" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.inherit</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.view_mrp_workcenter_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//search[1]" position="inside">
|
||||
<searchpanel>
|
||||
<field name="production_line_id" icon="fa-filter"/>
|
||||
</searchpanel>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-- 生产线驾驶舱searchpanel -->
|
||||
<record id="view_location_search_sf11111_inherit" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.inherit</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.view_mrp_workcenter_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//search[1]" position="inside">
|
||||
<searchpanel>
|
||||
<field name="production_line_id" icon="fa-filter"/>
|
||||
</searchpanel>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user