Files
test/sf_tool_management/views/tool_base_views.xml
2025-04-09 13:57:48 +08:00

1054 lines
72 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!--================================================机床换刀申请================================================-->
<record id="sf_machine_table_tool_changing_apply_tree" model="ir.ui.view">
<field name="name">机床换刀申请</field>
<field name="model">sf.machine.table.tool.changing.apply</field>
<field name="arch" type="xml">
<tree create="0" delete="0">
<field name="name" invisible="1"/>
<field name="code" invisible="1"/>
<field name="production_line_id" invisible="1"/>
<field name="maintenance_equipment_id" invisible="1"/>
<field name="machine_tool_code"/>
<field name="cutter_spacing_code_id"/>
<field name="functional_tool_name_id"/>
<field name="tool_groups_id"/>
<field name="diameter"/>
<field name="knife_tip_r_angle"/>
<field name="max_lifetime_value"/>
<field name="alarm_value"/>
<field name="used_value"/>
<field name="functional_tool_status" string="状态"/>
<field name="applicant" optional="hide"/>
<field name="machine_table_type_id" invisible="1"/>
<field name="barcode_id" invisible="1"/>
<field name="rfid" invisible="1"/>
<field name="functional_tool_type_id" invisible="1"/>
<field name="tool_position_interface_type" invisible="1"/>
<field name="extension_length" invisible="1"/>
<field name="effective_length" invisible="1"/>
<field name="functional_tool_name" invisible="1"/>
<field name="whether_standard_knife" invisible="1"/>
<field name="status" invisible="1"/>
<button string="换刀申请"
name="%(sf_tool_management.sf_tool_change_requirement_information_act)d"
type="action"
context="{ 'default_name':name,
'default_code':code,
'default_tool_groups_id':tool_groups_id,
'default_production_line_id': production_line_id,
'default_maintenance_equipment_id': maintenance_equipment_id,
'default_machine_table_type_id': machine_table_type_id,
'default_machine_tool_code': machine_tool_code,
'default_cutter_spacing_code_id': cutter_spacing_code_id,
'default_barcode_id': barcode_id,
'default_rfid': rfid,
'default_functional_tool_name': functional_tool_name,
'default_functional_tool_type_id': functional_tool_type_id,
'default_tool_position_interface_type': tool_position_interface_type,
'default_diameter': diameter,
'default_knife_tip_r_angle': knife_tip_r_angle,
'default_max_lifetime_value': max_lifetime_value,
'default_alarm_value': alarm_value,
'default_used_value': used_value,
'default_whether_standard_knife': whether_standard_knife,
'default_extension_length': extension_length,
'default_effective_length': effective_length,
'default_replacement_tool_name': functional_tool_name,
'default_replacement_tool_type_id': functional_tool_type_id,
'default_replacement_diameter': diameter,
'default_replacement_knife_tip_r_angle': knife_tip_r_angle,
'default_replacement_max_lifetime_value': max_lifetime_value,
'default_replacement_alarm_value': alarm_value,
'default_replacement_whether_standard_knife': whether_standard_knife,
'default_replacement_extension_length': extension_length,
'default_replacement_effective_length': effective_length,
}"
attrs="{'invisible': ['|',('status', '!=', '0'), ('functional_tool_name_id', '=', False)]}"
class="btn-primary" groups="sf_base.group_sf_mrp_user"
/>
<button string="转移"
name="%(sf_tool_management.sf_tool_transfer_request_information_act)d"
type="action"
context="{ 'default_name':name,
'default_code':code,
'default_tool_groups_id':tool_groups_id,
'default_production_line_id': production_line_id,
'default_maintenance_equipment_id': maintenance_equipment_id,
'default_machine_table_type_id': machine_table_type_id,
'default_machine_tool_code': machine_tool_code,
'default_cutter_spacing_code_id': cutter_spacing_code_id,
'default_barcode_id': barcode_id,
'default_rfid': rfid,
'default_functional_tool_name': functional_tool_name,
'default_functional_tool_type_id': functional_tool_type_id,
'default_tool_position_interface_type': tool_position_interface_type,
'default_diameter': diameter,
'default_knife_tip_r_angle': knife_tip_r_angle,
'default_max_lifetime_value': max_lifetime_value,
'default_alarm_value': alarm_value,
'default_used_value': used_value,
'default_whether_standard_knife': whether_standard_knife,
'default_extension_length': extension_length,
'default_effective_length': effective_length,
}"
class="btn-primary" groups="sf_base.group_sf_mrp_user"
attrs="{'invisible': ['|',('status', '!=', '0'), ('functional_tool_name_id', '=', False)]}"
/>
<button string="撤回换刀申请" name="revocation_1" type="object" class="btn-primary"
attrs="{'invisible': [('status', '!=', '1')]}" groups="sf_base.group_sf_mrp_user"
confirm="是否确认撤回换刀申请"/>
<button string="撤回转移" name="revocation_2" type="object" class="btn-primary"
attrs="{'invisible': [('status', '!=', '2')]}" groups="sf_base.group_sf_mrp_user"
confirm="是否确认撤回转移"/>
</tree>
</field>
</record>
<record id="sf_machine_table_tool_changing_apply_form" model="ir.ui.view">
<field name="name">机床换刀申请</field>
<field name="model">sf.machine.table.tool.changing.apply</field>
<field name="arch" type="xml">
<form string="机床换刀申请">
<header>
<button string="换刀申请"
name="%(sf_tool_management.sf_tool_change_requirement_information_act)d"
type="action"
context="{ 'default_name':name,
'default_code':code,
'default_tool_groups_id':tool_groups_id,
'default_production_line_id': production_line_id,
'default_maintenance_equipment_id': maintenance_equipment_id,
'default_machine_table_type_id': machine_table_type_id,
'default_machine_tool_code': machine_tool_code,
'default_cutter_spacing_code_id': cutter_spacing_code_id,
'default_barcode_id': barcode_id,
'default_rfid': rfid,
'default_functional_tool_name': functional_tool_name,
'default_functional_tool_type_id': functional_tool_type_id,
'default_tool_position_interface_type': tool_position_interface_type,
'default_diameter': diameter,
'default_knife_tip_r_angle': knife_tip_r_angle,
'default_max_lifetime_value': max_lifetime_value,
'default_alarm_value': alarm_value,
'default_used_value': used_value,
'default_whether_standard_knife': whether_standard_knife,
'default_extension_length': extension_length,
'default_effective_length': effective_length,
'default_replacement_tool_name': functional_tool_name,
'default_replacement_tool_type_id': functional_tool_type_id,
'default_replacement_diameter': diameter,
'default_replacement_knife_tip_r_angle': knife_tip_r_angle,
'default_replacement_max_lifetime_value': max_lifetime_value,
'default_replacement_alarm_value': alarm_value,
'default_replacement_whether_standard_knife': whether_standard_knife,
'default_replacement_extension_length': extension_length,
'default_replacement_effective_length': effective_length,
}"
attrs="{'invisible': ['|',('status', '!=', '0'), ('functional_tool_name_id', '=', False)]}"
class="btn-primary" groups="sf_base.group_sf_mrp_user"
/>
<button string="转移"
name="%(sf_tool_management.sf_tool_transfer_request_information_act)d"
type="action"
context="{ 'default_name':name,
'default_production_line_id': production_line_id,
'default_maintenance_equipment_id': maintenance_equipment_id,
'default_machine_table_type_id': machine_table_type_id,
'default_machine_tool_code': machine_tool_code,
'default_cutter_spacing_code_id': cutter_spacing_code_id,
'default_barcode_id': barcode_id,
'default_rfid': rfid,
'default_functional_tool_name': functional_tool_name,
'default_functional_tool_type_id': functional_tool_type_id,
'default_tool_position_interface_type': tool_position_interface_type,
'default_diameter': diameter,
'default_knife_tip_r_angle': knife_tip_r_angle,
'default_max_lifetime_value': max_lifetime_value,
'default_alarm_value': alarm_value,
'default_used_value': used_value,
'default_whether_standard_knife': whether_standard_knife,
'default_extension_length': extension_length,
'default_effective_length': effective_length,
}"
class="btn-primary" groups="sf_base.group_sf_mrp_user"
attrs="{'invisible': ['|',('status', '!=', '0'),('functional_tool_name_id', '=', False)]}"/>
<button string="撤回换刀申请" name="revocation_1" type="object" class="btn-primary"
attrs="{'invisible': [('status', '!=', '1')]}" groups="sf_base.group_sf_mrp_user"
confirm="是否确认撤回换刀申请"/>
<button string="撤回转移" name="revocation_2" type="object" groups="sf_base.group_sf_mrp_user"
class="btn-primary"
attrs="{'invisible': [('status', '!=', '2')]}" confirm="是否确认撤回转移"/>
<field name="status" widget="statusbar" statusbar_visible="0,1,2,3"/>
</header>
<field name="functional_tool_status" string="状态" invisible="True"/>
<sheet>
<div class="oe_title">
<h1>
<field name="maintenance_equipment_id" readonly="1" placeholder="请选择"/>
</h1>
</div>
<group>
<group>
<field name="production_line_id"/>
<field name="machine_table_type_id"/>
<field name="cutter_spacing_code_id" options="{'no_create': True}"/>
<field name="tool_position_interface_type" placeholder="请选择" required="1"/>
<field name="sf_functional_tool_assembly_id" string="组装单"/>
</group>
</group>
<field name="name" invisible="True"/>
<field name="machine_tool_code" invisible="True"/>
<field name="functional_tool_name" invisible="True"/>
<field name="whether_standard_knife" invisible="True"/>
<field name="status" invisible="True"/>
<notebook>
<page string="功能刀具信息">
<group>
<group>
<field name="barcode_id" invisible="1"/>
<field name="rfid"/>
<field name="code"/>
<field name="functional_tool_name_id"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="functional_tool_type_id"/>
<field name="tool_groups_id"/>
<field name="diameter"/>
<field name="knife_tip_r_angle"/>
</group>
<group>
<field name="max_lifetime_value"/>
<field name="alarm_value"/>
<field name="used_value"/>
<field name="extension_length"/>
<field name="effective_length"/>
<field name="whether_standard_knife"/>
</group>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="sf_machine_table_tool_changing_apply_search" model="ir.ui.view">
<field name="model">sf.machine.table.tool.changing.apply</field>
<field name="arch" type="xml">
<search>
<field name="name" invisible="1"/>
<field name="production_line_id" invisible="1"/>
<field name="maintenance_equipment_id"/>
<field name="machine_tool_code"/>
<field name="machine_table_type_id"/>
<field name="cutter_spacing_code_id" optional="hide"/>
<field name="barcode_id" invisible="1"/>
<field name="rfid" invisible="1"/>
<field name="functional_tool_name_id"/>
<field name="diameter"/>
<field name="knife_tip_r_angle"/>
<field name="max_lifetime_value"/>
<field name="alarm_value"/>
<field name="used_value"/>
<field name="functional_tool_status"/>
<field name="applicant" optional="hide"/>
<filter string="已归档" name="inactive" domain="[('active', '=', False)]"/>
<searchpanel>
<field name="production_line_id" enable_counters="1" icon="fa-building"/>
<field name="maintenance_equipment_id" enable_counters="1" icon="fa-building"/>
<field name="functional_tool_status" enable_counters="1" icon="fa-building"/>
</searchpanel>
</search>
</field>
</record>
<record id="sf_machine_table_tool_changing_apply_view_act" model="ir.actions.act_window">
<field name="name">机床换刀申请</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.machine.table.tool.changing.apply</field>
<field name="view_mode">tree,form,search</field>
</record>
<!--===============================================CAM工单程序用刀计划=========================================-->
<record id="sf_CAM_work_order_program_knife_plan_tree" model="ir.ui.view">
<field name="name">CAM工单程序用刀计划</field>
<field name="model">sf.cam.work.order.program.knife.plan</field>
<field name="arch" type="xml">
<tree create="0">
<field name="name" string="工单编码"/>
<field name="programming_no"/>
<field name="cam_procedure_code" optional="hide"/>
<field name="filename" optional="hide"/>
<field name="functional_tool_name" string="刀具名称"/>
<field name="cam_cutter_spacing_code"/>
<field name="diameter" optional="hide"/>
<field name="tool_included_angle" optional="hide"/>
<field name="process_type" optional="hide"/>
<field name="margin_x_y"/>
<field name="margin_z"/>
<field name="finish_depth"/>
<field name="extension_length" string="刀具伸出长度(mm)"/>
<field name="shank_model"/>
<field name="estimated_processing_time"/>
<field name="need_knife_time" optional="hide"/>
<field name="applicant_time" optional="hide"/>
<field name="plan_execute_status"/>
<field name="production_line_id" invisible="1"/>
<field name="machine_table_name_id" invisible="1"/>
<field name="machine_table_name" invisible="1"/>
<button string="申请装刀" name="apply_for_tooling" type="object" class="btn-primary"
attrs="{'invisible': [('plan_execute_status', '!=', '0')]}" confirm="是否确认申请装刀"/>
<button string="撤回" name="revocation" type="object" class="btn-primary"
attrs="{'invisible': [('plan_execute_status', '!=', '1')]}" confirm="是否确认撤回装刀"/>
</tree>
</field>
</record>
<record id="sf_CAM_work_order_program_knife_plan_form" model="ir.ui.view">
<field name="name">CAM工单程序用刀计划</field>
<field name="model">sf.cam.work.order.program.knife.plan</field>
<field name="arch" type="xml">
<form create="0">
<header>
<button string="申请装刀" name="apply_for_tooling" type="object" class="btn-primary"
attrs="{'invisible': [('plan_execute_status', '!=', '0')]}" confirm="是否确认申请装刀"/>
<button string="撤回" name="revocation" type="object" class="btn-primary"
attrs="{'invisible': [('plan_execute_status', '!=', '1')]}" confirm="是否确认撤回装刀"/>
<field name="plan_execute_status" widget="statusbar" statusbar_visible="0,1,2"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" readonly="0" placeholder="请输入工单任务编号"/>
</h1>
</div>
<group>
<group>
<field name="programming_no"/>
<field name="cam_procedure_code"/>
<field name="filename"/>
<field name="production_line_id"/>
<field name="machine_table_name_id" string="机台号"/>
<field name="cutter_spacing_code_id"/>
<field name="tool_position_interface_type"/>
<field name="sf_functional_tool_assembly_id" string="组装单"/>
</group>
<group>
<field name="process_type"/>
<field name="margin_x_y"/>
<field name="margin_z"/>
<field name="finish_depth"/>
<field name="estimated_processing_time"/>
<field name="need_knife_time"/>
<field name="applicant_time"/>
</group>
</group>
<notebook>
<page string="刀具信息">
<group>
<group>
<field name="functional_tool_name"/>
<field name="functional_tool_type_id"/>
<field name="tool_groups_id"/>
<field name="diameter"/>
<field name="tool_included_angle"/>
<field name="new_former"/>
<field name="coarse_middle_thin"/>
<field name="whether_standard_knife"/>
</group>
<group>
<field name="shank_model"/>
<field name="tool_loading_length"/>
<field name="extension_length"/>
<field name="effective_length"/>
<field name="required_cutting_time"/>
<field name="L_D"/>
<field name="clearance_length"/>
</group>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<record id="sf_cam_work_order_program_knife_plan_search" model="ir.ui.view">
<field name="model">sf.cam.work.order.program.knife.plan</field>
<field name="arch" type="xml">
<search>
<field name="programming_no"/>
<field name="name" string="工单编码"/>
<field name="cam_procedure_code"/>
<field name="filename"/>
<field name="functional_tool_name" string="刀具名称"/>
<field name="cam_cutter_spacing_code"/>
<field name="diameter" optional="hide"/>
<field name="tool_included_angle" optional="hide"/>
<field name="process_type"/>
<field name="margin_x_y"/>
<field name="margin_z"/>
<field name="finish_depth"/>
<field name="extension_length" string="刀具伸出长度(mm)"/>
<field name="shank_model"/>
<field name="estimated_processing_time"/>
<field name="need_knife_time"/>
<field name="applicant_time"/>
<field name="plan_execute_status"/>
<filter string="已归档" name="inactive" domain="[('active', '=', False)]"/>
<searchpanel>
<field name="plan_execute_status" string="状态" enable_counters="1" icon="fa-filter"/>
<field name="production_line_id" string="生产线" enable_counters="1" icon="fa-filter"/>
<field name="functional_tool_type_id" string="功能刀具类型" enable_counters="1"
icon="fa-filter"/>
</searchpanel>
</search>
</field>
</record>
<record id="sf_cam_work_order_program_knife_plan_view_act" model="ir.actions.act_window">
<field name="name">CAM工单程序用刀计划</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cam.work.order.program.knife.plan</field>
<field name="view_mode">tree,form,search</field>
</record>
<!--================================================功能刀具组装================================================-->
<record id="sf_functional_tool_assembly_tree" model="ir.ui.view">
<field name="name">功能刀具组装</field>
<field name="model">sf.functional.tool.assembly</field>
<field name="arch" type="xml">
<tree create="0" delete="0">
<field name="assembly_order_code"/>
<field name="barcode_id" optional="hide"/>
<field name="code" optional="hide"/>
<field name="functional_tool_name"/>
<field name="tool_groups_id"/>
<field name="functional_tool_diameter" string="刀具直径(mm)"/>
<field name="knife_tip_r_angle"/>
<field name="coarse_middle_thin" optional="hide"/>
<field name="new_former" optional="hide"/>
<field name="tool_loading_length" optional="hide"/>
<field name="functional_tool_length" optional="hide"/>
<field name="effective_length" invisible="1"/>
<field name="loading_task_source" string="任务来源"/>
<field name="use_tool_time"/>
<field name="production_line_name_id" optional="hide"/>
<field name="machine_tool_name_id" optional="hide"/>
<field name="applicant" optional="hide"/>
<field name="create_date" string="申请时间"/>
<field name="assemble_status" widget='badge'
decoration-info="assemble_status == '0'"
decoration-warning="assemble_status == '01'"
decoration-success="assemble_status == '1'"
/>
<!-- <field name="name" invisible="True"/>-->
<!-- <field name="machine_tool_code" invisible="True"/>-->
<!-- <field name="cutter_spacing_code_id" invisible="True"/>-->
<!-- <field name="whether_standard_knife" invisible="True"/>-->
<!-- <field name="reason_for_applying" invisible="True"/>-->
<!-- <field name="functional_tool_type_id" invisible="True"/>-->
<!-- <button string="组装" name="put_start_preset" type="object"-->
<!-- attrs="{'invisible': [('assemble_status', '!=', '0')]}"-->
<!-- class="btn-primary"/>-->
</tree>
</field>
</record>
<record id="sf_functional_tool_assembly_form" model="ir.ui.view">
<field name="name">功能刀具组装</field>
<field name="model">sf.functional.tool.assembly</field>
<field name="arch" type="xml">
<form create="0" delete="0" edit="1">
<header>
<button string="开始组装" name="start_preset" type="object"
attrs="{'invisible': [('assemble_status', 'not in', ['0'])]}"
class="btn-primary"/>
<button string="确认组装" name="functional_tool_assembly" type="object"
attrs="{'invisible': [('assemble_status', 'not in', ['01'])]}"
class="btn-primary jikimo_button_confirm"/>
<button name="get_tool_preset_parameter" string="获取测量值"
type="object" class="btn-primary jikimo_button_flushed"
attrs="{'invisible': [('assemble_status', 'in', ['0','1','2'])]}"
/>
<field name="assemble_status" widget="statusbar" statusbar_visible="0,01,1"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="open_tool_stock_picking" icon="fa-truck" type="object">
<div name="delivery_count" class="o_field_widget o_readonly_modifier o_field_statinfo">
<span class="o_stat_info o_stat_value">
<field name="picking_num"/>
</span>
<span class="o_stat_text">调拨</span>
</div>
</button>
</div>
<div class="o_employee_avatar">
<field name="image" widget="image" class="oe_avatar m-0"
attrs="{'readonly': [('assemble_status', '!=', '01')]}"/>
</div>
<div class="oe_title">
<h1>
<field name="assembly_order_code"/>
</h1>
</div>
<field name="name" invisible="1"/>
<group>
<group>
<field name="functional_tool_name"/>
<field name="functional_tool_type_id"/>
<field name="tool_groups_id"/>
</group>
<group>
<field name="functional_tool_diameter" string="刀具直径(mm)"/>
<field name="knife_tip_r_angle"/>
<field name="tool_loading_length" string="总长度(mm)"/>
<field name="functional_tool_length"/>
</group>
</group>
<notebook>
<page string="组装信息">
<field name="_barcode_scanned" widget="barcode_handler"/>
<group attrs="{'invisible': [('assemble_status', '=', '0')]}">
<group col="1">
<group col="1">
<div>
<separator string="刀柄:" style="font-size: 13px;"/>
</div>
<group>
<field name="handle_code_id" string="序列号" placeholder="请选择"
options="{'no_create': True, 'no_quick_create': True}"/>
<field name="handle_freight_rfid" string="Rfid" decoration-success="handle_freight_rfid"/>
<field name="handle_product_id" string="名称"/>
<field name="cutting_tool_cutterhandle_model_id" string="型号"/>
<field name="handle_specification_id" string="规格"/>
<field name="sf_tool_brand_id_5" string="品牌"/>
</group>
<div>
<button string="更多" name="set_tool_lot" type="object"
class="btn-primary" context="{'tool_type': '刀柄'}"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01'])]}"/>
</div>
</group>
</group>
<group col="1">
<group col="1"
attrs="{'invisible': [('integral_lot_id', '=', False),'|','|','|', ('blade_lot_id', '!=', False),('bar_lot_id', '!=', False),('pad_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="整体式刀具:" style="font-size: 13px;"/>
</div>
<group>
<group>
<field name="integral_freight_barcode_id" string="货位" decoration-success="integral_verify == True"/>
<field name="integral_lot_id" string="批次"/>
<field name="integral_product_id" string="名称"/>
<field name="cutting_tool_integral_model_id" string="型号"/>
<field name="integral_specification_id" string="规格"/>
<field name="sf_tool_brand_id_1" string="品牌"/>
</group>
<group invisible="1">
<field name="integral_verify" string="" readonly="1"/>
</group>
</group>
<div>
<button string="更多" name="set_tool_lot" type="object"
class="btn-primary" context="{'tool_type': '整体式刀具'}"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01'])]}"/>
</div>
</group>
</group>
</group>
<group attrs="{'invisible': [('assemble_status', '=', '0')]}">
<group col="1"
attrs="{'invisible': [('blade_lot_id', '=', False),'|', ('integral_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="刀片:" style="font-size: 13px;"/>
</div>
<group>
<group>
<field name="blade_freight_barcode_id" string="货位"/>
<field name="blade_lot_id" string="批次"/>
<field name="blade_product_id" string="名称"/>
<field name="cutting_tool_blade_model_id" string="型号"/>
<field name="blade_specification_id" string="规格"/>
<field name="sf_tool_brand_id_2" string="品牌"/>
</group>
<group>
<field name="blade_verify" string="" readonly="1"/>
</group>
</group>
<div>
<button string="更多" name="set_tool_lot" type="object"
class="btn-primary" context="{'tool_type': '刀片'}"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01'])]}"/>
</div>
</group>
<group col="1">
<group col="1"
attrs="{'invisible': [('bar_lot_id', '=', False),'|','|',('integral_lot_id', '!=', False),('pad_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="刀杆:" style="font-size: 13px;"/>
</div>
<group>
<group>
<field name="bar_freight_barcode_id" string="货位"/>
<field name="bar_lot_id" string="批次"/>
<field name="bar_product_id" string="名称"/>
<field name="cutting_tool_cutterbar_model_id" string="型号"/>
<field name="bar_specification_id" string="规格"/>
<field name="sf_tool_brand_id_3" string="品牌"/>
</group>
<group>
<field name="bar_verify" string="" readonly="1"/>
</group>
</group>
<div>
<button string="更多" name="set_tool_lot" type="object"
class="btn-primary" context="{'tool_type': '刀杆'}"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01'])]}"/>
</div>
</group>
<group col="1"
attrs="{'invisible': [('pad_lot_id', '=', False),'|','|',('integral_lot_id', '!=', False),('bar_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="刀盘:" style="font-size: 13px;"/>
</div>
<group>
<group>
<field name="pad_freight_barcode_id" string="货位"/>
<field name="pad_lot_id" string="批次"/>
<field name="pad_product_id" string="名称"/>
<field name="cutting_tool_cutterpad_model_id" string="型号"/>
<field name="pad_specification_id" string="规格"/>
<field name="sf_tool_brand_id_4" string="品牌"/>
</group>
<group>
<field name="pad_verify" string="" readonly="1"/>
</group>
</group>
<div>
<button string="更多" name="set_tool_lot" type="object"
class="btn-primary" context="{'tool_type': '刀盘'}"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01'])]}"/>
</div>
</group>
</group>
</group>
<group col="1" attrs="{'invisible': [('assemble_status', '=', '0')]}">
<group col="1">
<group string="组装参数信息">
<group>
<field name="barcode_id" invisible="True"/>
<field name="rfid" string="功能刀具rfid"/>
<field name="code"/>
<field name="after_assembly_functional_tool_name"
string="功能刀具名称"/>
<field name="after_assembly_functional_tool_type_id"
string="功能刀具类型"/>
<field name="tool_groups_id"/>
<field name="after_assembly_whether_standard_knife"
string="是否标准刀" invisible="1"/>
<field name="after_assembly_coarse_middle_thin" string="粗/中/精"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_new_former" string="新/旧"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="cut_time"
attrs="{'invisible': [('after_assembly_new_former', '=', '0')]}"/>
<field name="cut_length"
attrs="{'invisible': [('after_assembly_new_former', '=', '0')]}"/>
<field name="cut_number"
attrs="{'invisible': [('after_assembly_new_former', '=', '0')]}"/>
</group>
<group>
<field name="after_assembly_functional_tool_diameter" readonly="0"
string="刀具直径(mm)"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_knife_tip_r_angle" readonly="0"
string="刀尖R角(mm)"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_tool_loading_length" readonly="0"
string="总长度(mm)"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_handle_length" string="刀柄长度(mm)"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_functional_tool_length"
string="伸出长(mm)"/>
<field name="after_assembly_max_lifetime_value"
string="最大寿命值(min)"/>
<field name="after_assembly_alarm_value" string="报警值(min)"
invisible="1"/>
<field name="after_assembly_used_value" string="已使用值(min)"
invisible="1"/>
<field name="after_assembly_effective_length" string="有效长(mm)"
invisible="1"/>
<field name="L_D_number" invisible="1"/>
<field name="hiding_length" invisible="1"/>
</group>
</group>
</group>
</group>
</page>
<page string="装刀信息">
<group>
<group>
<field name="tool_loading_person"/>
</group>
<group>
<field name="tool_loading_time"/>
</group>
</group>
</page>
<page string="其他">
<group>
<group>
<field name="production_line_name_id"
attrs="{'invisible': [('production_line_name_id','=',False)]}"/>
<field name="machine_tool_name_id"
attrs="{'invisible': [('machine_tool_name_id','=',False)]}"/>
<field name="cutter_spacing_code_id"
attrs="{'invisible': [('cutter_spacing_code_id','=',False)]}"/>
<field name="use_tool_time"/>
<field name="reason_for_applying"/>
<field name="sf_machine_table_tool_changing_apply_id"
attrs="{'invisible': [('sf_machine_table_tool_changing_apply_id','=',False)]}"/>
<field name="sf_cam_work_order_program_knife_plan_id"
attrs="{'invisible': [('sf_cam_work_order_program_knife_plan_id','=',False)]}"/>
<field name="check_box_1" invisible="True"/>
<field name="remark"/>
</group>
<group>
<field name="effective_length"/>
<field name="whether_standard_knife"/>
<field name="coarse_middle_thin" invisible="1"/>
<field name="new_former" invisible="1"/>
</group>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<record id="sf_functional_tool_assembly_search" model="ir.ui.view">
<field name="model">sf.functional.tool.assembly</field>
<field name="arch" type="xml">
<search>
<field name="functional_tool_name"/>
<field name="tool_groups_id"/>
<field name="functional_tool_diameter"/>
<field name="knife_tip_r_angle"/>
<field name="assembly_order_code"/>
<field name="code" string="功能刀具编码"/>
<field name="barcode_id"/>
<filter name="no_assemble_status" string="未组装" domain="[('assemble_status', 'in', ['0','01'])]"/>
<filter name="yes_assemble_status" string="已组装" domain="[('assemble_status', '=', '1')]"/>
<separator/>
<filter string="已归档" name="inactive" domain="[('active', '=', False)]"/>
<searchpanel>
<field name="assemble_status" enable_counters="1" icon="fa-filter"/>
<field name="functional_tool_type_id" enable_counters="1" icon="fa-filter"/>
<field name="loading_task_source" enable_counters="1" icon="fa-filter" string="任务来源"/>
</searchpanel>
<group expand="0" string="Group By...">
<filter string="功能刀具名称" name="name" domain="[]"
context="{'group_by': 'functional_tool_name'}"/>
<filter string="刀具组" name="tool_groups" domain="[]"
context="{'group_by': 'tool_groups_id'}"/>
<filter string="任务来源" name="loading_task_source" domain="[]"
context="{'group_by': 'loading_task_source'}"/>
<filter string="用刀时间" name="use_tool_time" domain="[]"
context="{'group_by': 'use_tool_time'}"/>
</group>
</search>
</field>
</record>
<record id="sf_functional_tool_assembly_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.tool.assembly</field>
<field name="view_mode">tree,form,search</field>
<!-- <field name="view_id" ref="sf_functional_tool_assembly_tree"/>-->
<field name="search_view_id" ref="sf_functional_tool_assembly_search"/>
<field name="context">{'search_default_no_assemble_status':[1,01]}</field>
</record>
<!--================================================功能刀具拆解================================================-->
<record id="sf_functional_tool_dismantle_tree" model="ir.ui.view">
<field name="name">功能刀具拆解</field>
<field name="model">sf.functional.tool.dismantle</field>
<field name="arch" type="xml">
<tree create="1">
<field name="code"/>
<field name="rfid"/>
<field name="functional_tool_id"/>
<field name="tool_type_id" invisible="1"/>
<field name="tool_groups_id"/>
<field name="diameter"/>
<field name="knife_tip_r_angle"/>
<field name="dismantle_cause"/>
<field name="dismantle_data"/>
<field name="dismantle_person"/>
<field name="state" invisible="1"/>
</tree>
</field>
</record>
<record id="sf_functional_tool_dismantle_form" model="ir.ui.view">
<field name="name">功能刀具拆解</field>
<field name="model">sf.functional.tool.dismantle</field>
<field name="arch" type="xml">
<form>
<header>
<button string="确认拆解" name="confirmation_disassembly" type="object" class="btn-primary"
confirm="是否确认拆解" attrs="{'invisible': [('state', '!=', '待拆解')]}"/>
<field name="state" widget="statusbar" statusbar_visible="待拆解,已拆解"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="open_tool_stock_picking" icon="fa-truck" type="object"
attrs="{'invisible':[('state', '!=', '已拆解')]}">
<div name="delivery_count" class="o_field_widget o_readonly_modifier o_field_statinfo">
<span class="o_stat_info o_stat_value">
<field name="picking_num"/>
</span>
<span class="o_stat_text">调拨</span>
</div>
</button>
<button class="oe_stat_button" name="open_function_tool_stock_move_line" icon="fa-exchange"
type="object">
<span>功能刀具移动</span>
</button>
</div>
<div class="oe_title">
<h1>
<field name="code"/>
</h1>
</div>
<field name="_barcode_scanned" widget="barcode_handler"/>
<script>
setTimeout(function(){
$('#functional_tool_id').blur()
}, 100)
</script>
<group>
<group>
<field name="functional_tool_id" placeholder="请选择将要拆解的功能刀具"
options="{'no_create': True}"
attrs="{'readonly': ['|',('state', '=', '已拆解'),('id', '!=', False)]}"/>
<field name="rfid" attrs="{'invisible': [('rfid', '=', '')]}"/>
<field name="rfid_dismantle" attrs="{'invisible': [('rfid_dismantle', '=', False)]}"/>
<field name="tool_type_id"/>
<field name="tool_groups_id"/>
<field name="diameter"/>
<field name="knife_tip_r_angle"/>
<field name="picking_id" invisible="1"/>
</group>
<group>
<field name="image"/>
</group>
</group>
<group>
<group>
<group>
<field name="dismantle_cause" placeholder="请选择拆解原因"
attrs="{'readonly': [('state', '=', '已拆解')]}"/>
</group>
<group>
<!-- <field name="scrap_id"-->
<!-- attrs="{'invisible': [('dismantle_cause', 'not in', ['寿命到期报废','崩刀报废'])]}"/>-->
<field name="grinding_id"
attrs="{'invisible': [('dismantle_cause', 'not in', ['刀具需磨削'])]}"/>
</group>
</group>
</group>
<notebook>
<page string="物料组装信息">
<group>
<group string="刀柄" attrs="{'invisible': [('handle_product_id', '=', False)]}"
col="1">
<group attrs="{'invisible': [('dismantle_cause', 'not in', ['寿命到期报废','崩刀报废'])]}">
<!-- <group col="3">-->
<group>
<field name="scrap_boolean" string="是否报废"
attrs="{'readonly': [('state' , '=', '已拆解')]}"/>
</group>
<!-- <group></group>-->
<!-- <group>-->
<!-- <button string="报废" name="tool_scrap" type="object"-->
<!-- class="btn-primary" confirm="是否确认报废刀柄"-->
<!-- attrs="{'invisible': [('scrap_boolean', '=', True)]}"/>-->
<!-- <button string="取消" name="tool_no_scrap" type="object"-->
<!-- class="btn-primary" confirm="是否取消报废刀柄"-->
<!-- attrs="{'invisible': [('scrap_boolean', '=', False)]}"/>-->
<!-- <group></group>-->
<!-- </group>-->
<!-- </group>-->
</group>
<group>
<field name="handle_rfid" string="Rfid"/>
<field name="handle_lot_id" string="序列号"/>
<field name="handle_product_id" string="名称"/>
<field name="handle_type_id" string="型号"/>
<field name="handle_brand_id" string="品牌"/>
</group>
</group>
<group string="夹头"
attrs="{'invisible': [('chuck_product_id', '=', False)]}">
<group>
<field name="chuck_freight_id" string="目标货位" placeholder="请选择"
options="{'no_create': True,'no_create_edit':True}"
attrs="{'invisible': [('dismantle_cause', 'not in', ['更换为其他刀具', '刀具需磨削'])], 'readonly': [('state', '=', '已拆解')],
'required': [('chuck_lot_id', '!=', False),('dismantle_cause', 'in', ['更换为其他刀具', '刀具需磨削'])]}"/>
<field name="chuck_lot_id" string="批次"/>
<field name="chuck_product_id" string="名称"/>
<field name="chuck_type_id" string="型号"/>
<field name="chuck_brand_id" string="品牌"/>
</group>
</group>
</group>
<group attrs="{'invisible': [('integral_product_id', '=', False)]}">
<group string="整体式刀具">
<group>
<field name="integral_freight_id" string="目标货位" placeholder="请选择"
options="{'no_create': True,'no_create_edit':True}"
attrs="{'invisible': [('dismantle_cause', 'not in', ['更换为其他刀具', '刀具需磨削'])], 'readonly': [('state', '=', '已拆解')],
'required': [('integral_lot_id', '!=', False),('dismantle_cause', 'in', ['更换为其他刀具', '刀具需磨削'])]}"/>
<field name="integral_lot_id" string="批次"/>
<field name="integral_product_id" string="名称"/>
<field name="integral_type_id" string="型号"/>
<field name="integral_brand_id" string="品牌"/>
</group>
</group>
</group>
<group>
<group string="刀片" attrs="{'invisible': [('blade_product_id', '=', False)]}">
<group>
<field name="blade_freight_id" string="目标货位" placeholder="请选择"
options="{'no_create': True,'no_create_edit':True}"
attrs="{'invisible': [('dismantle_cause', 'not in', ['更换为其他刀具', '刀具需磨削'])], 'readonly': [('state', '=', '已拆解')],
'required': [('blade_lot_id', '!=', False),('dismantle_cause', 'in', ['更换为其他刀具', '刀具需磨削'])]}"/>
<field name="blade_lot_id" string="批次"/>
<field name="blade_product_id" string="名称"/>
<field name="blade_type_id" string="型号"/>
<field name="blade_brand_id" string="品牌"/>
</group>
</group>
<group string="刀杆" attrs="{'invisible': [('bar_product_id', '=', False)]}">
<group>
<field name="bar_freight_id" string="目标货位" placeholder="请选择"
options="{'no_create': True,'no_create_edit':True}"
attrs="{'invisible': [('dismantle_cause', 'not in', ['更换为其他刀具', '刀具需磨削'])], 'readonly': [('state', '=', '已拆解')],
'required': [('bar_lot_id', '!=', False),('dismantle_cause', 'in', ['更换为其他刀具', '刀具需磨削'])]}"/>
<field name="bar_lot_id" string="批次"/>
<field name="bar_product_id" string="名称"/>
<field name="bar_type_id" string="型号"/>
<field name="bar_brand_id" string="品牌"/>
</group>
</group>
<group string="刀盘" attrs="{'invisible': [('pad_product_id', '=', False)]}">
<group>
<field name="pad_freight_id" string="目标货位" placeholder="请选择"
options="{'no_create': True,'no_create_edit':True}"
attrs="{'invisible': [('dismantle_cause', 'not in', ['更换为其他刀具', '刀具需磨削'])], 'readonly': [('state', '=', '已拆解')],
'required': [('pad_lot_id', '!=', False), ('dismantle_cause', 'in', ['更换为其他刀具', '刀具需磨削'])]}"/>
<field name="pad_lot_id" string="批次"/>
<field name="pad_product_id" string="名称"/>
<field name="pad_type_id" string="型号"/>
<field name="pad_brand_id" string="品牌"/>
</group>
</group>
</group>
</page>
<page string="报废单"
attrs="{'invisible':[('dismantle_cause', 'not in', ['寿命到期报废','崩刀报废'])]}">
<field name="scrap_ids">
<tree>
<field name="name"/>
<field name="product_id"/>
<field name="lot_id"/>
<field name="location_id"/>
<field name="scrap_location_id"/>
<field name="scrap_qty"/>
<field name="product_uom_id"/>
<field name="date_done"/>
<field name="state" widget="badge" decoration-success="state == 'done'"
decoration-muted="state == 'draft'"/>
</tree>
</field>
</page>
<page string="其他">
<group>
<group>
<field name="dismantle_person"/>
</group>
<group>
<field name="dismantle_data"/>
</group>
</group>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<record id="sf_functional_tool_dismantle_search" model="ir.ui.view">
<field name="model">sf.functional.tool.dismantle</field>
<field name="arch" type="xml">
<search>
<field name="rfid"/>
<field name="functional_tool_id"/>
<field name="code" string="拆解单号"/>
<filter name="no_dismantle_state" string="未拆解" domain="[('state','!=','已拆解')]"/>
<filter name="dismantle_state" string="已拆解" domain="[('state','=','已拆解')]"/>
<separator/>
<filter name="on_active" string="已归档" domain="[('active','=',False)]"/>
<searchpanel>
<field name="tool_groups_id" enable_counters="1" icon="fa-filter"/>
<field name="tool_type_id" enable_counters="1" icon="fa-filter"/>
</searchpanel>
</search>
</field>
</record>
<record id="sf_functional_tool_dismantle_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.tool.dismantle</field>
<field name="view_mode">tree,form,search</field>
<field name="search_view_id" ref="sf_functional_tool_dismantle_search"/>
<field name="context">{'search_default_no_dismantle_state':1,'is_web_request':True}</field>
</record>
</data>
</odoo>