Files
test/sf_maintenance/views/maintenance_views.xml
qihao.gong@jikimo.com b88c6a53ab 长宽高
2023-10-27 09:37:23 +08:00

1191 lines
65 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0"?>
<odoo>
<!-- 设备类别 -->
<record id="sf_maintenance_equipment_category" model="ir.ui.view">
<field name="name">sf.maintenance.equipment.category</field>
<field name="model">maintenance.equipment.category</field>
<field name="inherit_id" ref="maintenance.hr_equipment_category_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='technician_user_id']" position="before">
<field name="equipment_type" required='1'/>
</xpath>
</field>
</record>
<!-- 修改设备表单视图-->
<record id="sf_hr_equipment_view_form" model="ir.ui.view">
<field name="name">sf_equipment.form</field>
<field name="model">maintenance.equipment</field>
<field name="inherit_id" ref="maintenance.hr_equipment_view_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//sheet" position="before">
<header>
<field name="state" widget="statusbar" options="{'clickable': '1'}"/>
</header>
</xpath>
<xpath expr="//page[@name='maintenance']" position="attributes">
<attribute name="string">维保</attribute>
</xpath>
<xpath expr="//field[@name='maintenance_count']" position="attributes">
<attribute name="string">维保</attribute>
</xpath>
<!-- <field string="Maintenance" name="maintenance_count" widget="statinfo"/>-->
<xpath expr="//div[@name='button_box']" position="inside">
<button name="%(action_maintenance_logs)d"
type="action"
class="oe_stat_button"
context="{'default_sf_maintenance_logs_ids': sf_maintenance_logs_ids}"
icon="fa-wrench">
<field string="设备故障日志" name="sf_maintenance_logs_ids" widget="statinfo"/>
</button>
</xpath>
<xpath expr="//field[@name='maintenance_team_id']" position="before">
<field name="machine_tool_picture" widget="image"/>
<label for="enroll_machine_tool"/>
<div class="col-12 col-lg-6 o_setting_box" style="white-space: nowrap">
<button type="object" class="oe_highlight" name='enroll_machine_tool' string="机床注册"
attrs="{'invisible': [('equipment_type', '!=', '机床'), ('brand_id','!=',False),('type_id','!=',False),('control_system_id','!=',False)]}"/>
</div>
</xpath>
<xpath expr="//field[@name='category_id']" position="after">
<field name="state_zc"/>
<field name="code"/>
<field name="equipment_type" invisible="1"/>
<field name="brand_id" force_save="1"/>
<field name="type_id" attrs="{'required': [('equipment_type', '=', '机床')]}"
domain="[('brand_id', '=', brand_id)]"/>
<field name="machine_tool_category" readonly="1" attrs="{'invisible': [('type_id', '=', False)]}"
force_save="1"/>
</xpath>
<xpath expr="//page[@name='description']" position="before">
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
<group>
<div class="bigger">
<group string="基本参数">
<field name="control_system_id" required="1" options="{'no_create': True}"/>
<label for="workbench_L" string="工作台尺寸(mm)"/>
<div class="test_model">
<div>
<label for="workbench_L" string="长"/>
<field name="workbench_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="workbench_W" string="宽"/>
<field name="workbench_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
</div>
<label for="machine_tool_L" string="机床尺寸(mm)"/>
<div class="test_model">
<div>
<label for="machine_tool_L" string="长"/>
<field name="machine_tool_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="machine_tool_W" string="宽"/>
<field name="machine_tool_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<div>
<label for="machine_tool_H" string="高"/>
<field name="machine_tool_H" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
</div>
<field name="feed_speed" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<label for="precision_min" string="X轴定位精度(mm)"/>
<div class="test_model">
<div>
<label for="precision_min" string="最小(min)"/>
<field name="precision_min" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="precision_max" string="最大(max)"/>
<field name="precision_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
</div>
<field name="workpiece_load"
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="lead_screw" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="number_of_axles"
attrs="{'required': [('equipment_type', '=', '机床')]}"
widget="radio"
options="{'horizontal': true}"/>
<label for="x_axis" string="加工行程(mm)"
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
<div class="test_model"
attrs="{'invisible': [('number_of_axles', '=', False)]}">
<div>
<label for="x_axis" string="x"/>
<field name="x_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="y_axis" string="y"/>
<field name="y_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="z_axis" string="z"/>
<field name="z_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<br></br>
<div>
<label for="b_axis" string="b"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
<field name="b_axis" class="o_address_zip"
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="c_axis" string="c"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
<field name="c_axis" class="o_address_zip"
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
options="{'format': false}"/>
</div>
</div>
</group>
</div>
<div class="bigger">
<group string="主轴">
<field name="taper" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="rotate_speed" string="主轴转速(r/min)"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
<field name="heightened_way"
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="torque" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="motor_power" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<label for="distance_min" string="主轴端面-工作台距离(mm)"/>
<div class="test_model">
<div>
<label for="distance_min" string="最小min"/>
<field name="distance_min" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="distance_max" string="最大max"/>
<field name="distance_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
</div>
<field name="guide_rail" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
</group>
</div>
<group string="刀具">
<field name="number_of_knife_library"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
<field name="knife_type" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="tool_speed" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<field name="tool_long_max"
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<label for="tool_diameter_min" string="刀具刀径(mm)"/>
<div class="test_model">
<div>
<label for="tool_diameter_min" string="最小(min)"/>
<field name="tool_diameter_min" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="tool_diameter_max" string="最大(max)"/>
<field name="tool_diameter_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机床')]}"
options="{'format': false}"/>
</div>
</div>
<field name="tool_quality_max"
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
</group>
</group>
</page>
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', 'AGV小车')]}">
<group string="基础参数">
<label for="AGV_L" string="设备尺寸(mm)"/>
<div class="test_model">
<div>
<label for="AGV_L" string="长"/>
<field name="AGV_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="AGV_W" string="宽"/>
<field name="AGV_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="AGV_H" string="高"/>
<field name="AGV_H" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<div>
</div>
</div>
<label for="AGV_goods_L" string="载货尺寸MAX(mm)"/>
<div class="test_model">
<div>
<label for="AGV_goods_L" string="长"/>
<field name="AGV_goods_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="AGV_goods_W" string="宽"/>
<field name="AGV_goods_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="AGV_goods_H" string="高"/>
<field name="AGV_goods_H" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
</div>
<div>
</div>
</div>
<label for="AGV_velocity" string=""/>
<div class="test_model">
<div>
<label for="AGV_velocity" string="标准速度"/>
<field name="AGV_velocity" class="o_address_zip"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_velocity_min" string="最小速度"/>
<field name="AGV_velocity_min" class="o_address_zip"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_velocity_max" string="最大速度"/>
<field name="AGV_velocity_max" class="o_address_zip"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_Lifting_height" string="升降高度(max)"/>
<field name="AGV_Lifting_height" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="AGV_ground_clearance" string=""/>
<div class="test_model">
<div>
<label for="AGV_ground_clearance" string="最小离地高度"/>
<field name="AGV_ground_clearance" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="AGV_turning_radius" string="最小转弯半径"/>
<field name="AGV_turning_radius" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="AGV_gradeability_max" string="最大爬坡度"/>
<field name="AGV_gradeability_max" class="o_address_zip"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="AGV_parking_accuracy" string="停车精度"/>
<field name="AGV_parking_accuracy" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="AGV_load_weight_max" string=""/>
<div class="test_model">
<div>
<label for="AGV_load_weight_max" string="最大负载重量"/>
<field name="AGV_load_weight_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', 'AGV小车')]}"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="AGV_weight" string="本体总重量"/>
<field name="AGV_weight" class="o_address_zip"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="AGV_job_duration" string="连续作业时长"/>
<field name="AGV_job_duration" class="o_address_zip"
options="{'format': false}"/>
<span>h&amp;nbsp;</span>
</div>
<div>
<label for="AGV_transfer_mode" string="移载方式"/>
<field name="AGV_transfer_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
</div>
<!-- <label for="AGV_parking_accuracy" string="停车精度"/>-->
<!-- <field name="AGV_parking_accuracy" class="o_address_zip" required="1"-->
<!-- options="{'format': false}"/>mm-->
</group>
<group string="电机参数">
<label for="control_system_id" string=""/>
<div class="test_model">
<div>
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="AGV_drive_motor_power" string="驱动电机功率"/>
<field name="AGV_drive_motor_power" class="o_address_zip"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_hoist_motor_power" string="提升电机功率"/>
<field name="AGV_hoist_motor_power" class="o_address_zip"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
<div>
<label for="AGV_drive_motor_speed_ratio" string="驱动电机速比"/>
<field name="AGV_drive_motor_speed_ratio" class="o_address_zip"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
</div>
<label for="AGV_veer_motor_power" string=""/>
<div class="test_model">
<div>
<label for="AGV_veer_motor_power" string="转向电机功率"/>
<field name="AGV_veer_motor_power" class="o_address_zip"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_veer_motor_speed_ratio" string="转向电机速比"/>
<field name="AGV_veer_motor_speed_ratio" class="o_address_zip"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
<div>
<label for="AGV_move_motor_power" string="前移电机功率"/>
<field name="AGV_move_motor_power" class="o_address_zip"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_move_motor_speed_ratio" string="前移电机速比"/>
<field name="AGV_move_motor_speed_ratio" class="o_address_zip"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
</div>
</group>
<group string="其他参数">
<label for="AGV_drive_mode" string=""/>
<div class="test_model">
<div>
<label for="AGV_drive_mode" string="驱动方式"/>
<field name="AGV_drive_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_navigation_mode" string="导航方式"/>
<field name="AGV_navigation_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_communication_mode" string="通讯方式"/>
<field name="AGV_communication_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_direction_travel" string="行走方向"/>
<field name="AGV_direction_travel" class="o_address_zip"
options="{'format': false}"/>
</div>
</div>
<label for="AGV_power_requirements" string=""/>
<div class="test_model">
<div>
<label for="AGV_power_requirements" string="电源要求"/>
<field name="AGV_power_requirements" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_charge_mode" string="充电方式"/>
<field name="AGV_charge_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_security" string="安全防护"/>
<field name="AGV_security" class="o_address_zip"
options="{'format': false}"/>
</div>
<div>
</div>
</div>
<label for="AGV_operating_temperature" string=""/>
<div class="test_model">
<div>
<label for="AGV_operating_temperature" string="环境温度"/>
<field name="AGV_operating_temperature" class="o_address_zip"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="AGV_operating_humidity" string="环境湿度"/>
<field name="AGV_operating_humidity" class="o_address_zip"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
</div>
<div>
</div>
</div>
</group>
</page>
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '机器人')]}">
<group string="基础参数">
<label for="robot_gripping_of_workpieces_L" string="抓取工件最大尺寸"/>
<div class="test_model">
<div>
<label for="robot_gripping_of_workpieces_L" string="长"/>
<field name="robot_gripping_of_workpieces_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机器人')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="robot_gripping_of_workpieces_W" string="宽"/>
<field name="robot_gripping_of_workpieces_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机器人')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="robot_gripping_of_workpieces_H" string="高"/>
<field name="robot_gripping_of_workpieces_H" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机器人')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
</div>
</div>
<label for="robot_radius_of_the_boom" string=""/>
<div class="test_model">
<div>
<label for="robot_radius_of_the_boom" string="展臂半径"/>
<field name="robot_radius_of_the_boom" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机器人')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="robot_load_weight_max" string="最大负载重量"/>
<field name="robot_load_weight_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '机器人')]}"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="robot_gripping_of_workpieces_H" string="本体总重量"/>
<field name="robot_gripping_of_workpieces_H" class="o_address_zip"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="robot_repeatable_positioning_accuracy" string="重复定位精度"/>
<field name="robot_repeatable_positioning_accuracy" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<field name='robot_axis_num' attrs="{'required': [('equipment_type', '=', '机器人')]}"/>
<field name='axis_ids'>
<tree editable='bottom'>
<field name="name"/>
<field name="angle_min"/>
<field name="angle_max"/>
<field name="velocity"/>
<field name="weight"/>
<field name="permissible_load_torque"/>
<field name="permissible_inertial_torque"/>
</tree>
</field>
<label for="robot_track_dimensions_L" string="轨道尺寸"/>
<div class="test_model">
<div>
<label for="robot_track_dimensions_L" string="长"/>
<field name="robot_track_dimensions_L" class="o_address_zip"
options="{'format': false}"/>
<span>m&amp;nbsp;</span>
</div>
<div>
<label for="robot_track_dimensions_W" string="宽"/>
<field name="robot_track_dimensions_W" class="o_address_zip"
options="{'format': false}"/>
<span>m&amp;nbsp;</span>
</div>
<div>
<label for="robot_track_dimensions_H" string="高"/>
<field name="robot_track_dimensions_H" class="o_address_zip"
options="{'format': false}"/>
<span>m&amp;nbsp;</span>
</div>
</div>
<label for="control_system_id" string=""/>
<div class="test_model">
<div>
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="robot_drive_mode" string="驱动方式"/>
<field name="robot_drive_mode" class="o_address_zip"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
<div>
<label for="robot_installation_method" string="安装方式"/>
<field name="robot_installation_method" class="o_address_zip"
options="{'format': false}"/>
</div>
<span>&amp;nbsp;</span>
</div>
<label for="robot_operating_temperature" string=""/>
<div class="test_model">
<div>
<label for="robot_operating_temperature" string="环境温度"/>
<field name="robot_operating_temperature" class="o_address_zip"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="robot_operating_humidity" string="环境湿度"/>
<field name="robot_operating_humidity" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
</div>
</div>
</group>
</page>
<page string="基础参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '检测设备')]}">
<group string="基础参数">
<label for="detect_L" string="设备尺寸(mm)"/>
<div class="test_model">
<div>
<label for="detect_L" string="长"/>
<field name="detect_L" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="detect_W" string="宽"/>
<field name="detect_W" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="detect_H" string="高"/>
<field name="detect_H" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="detect_x_axis" string="测量范围(max)"/>
<div class="test_model">
<div>
<label for="detect_x_axis" string="X轴"/>
<field name="detect_x_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="detect_y_axis" string="Y轴"/>
<field name="detect_y_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="detect_z_axis" string="Z轴"/>
<field name="detect_z_axis" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="detect_x_axis" string="物方视场:"/>
<div class="test_model">
<div>
<label for="detect_object_field_of_view_min" string="最小"/>
<field name="detect_object_field_of_view_min" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="detect_object_field_of_view_max" string="最大"/>
<field name="detect_object_field_of_view_max" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
</div>
</div>
<label for="detect_precision" string=""/>
<div class="test_model">
<div>
<label for="detect_precision" string="测量精度"/>
<field name="detect_precision" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>μm&amp;nbsp;</span>
</div>
<div>
<label for="detect_measurement_mode" string="测量方式"/>
<field name="detect_measurement_mode" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_resolution" string="分辨率"/>
<field name="detect_resolution" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
<label for="detect_load_weight_max" string=""/>
<div class="test_model">
<div>
<label for="detect_load_weight_max" string="最大负载重量"/>
<field name="detect_load_weight_max" class="o_address_zip"
attrs="{'required': [('equipment_type', '=', '检测设备')]}"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="detect_weight" string="本体总重量"/>
<field name="detect_weight" class="o_address_zip"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="detect_measurement_length" string="深孔测量长度(max)"/>
<field name="detect_measurement_length" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
</group>
<group string="其他">
<label for="control_system_id" string=""/>
<div class="test_model">
<div>
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_control_mode" string="控制方式"/>
<field name="detect_control_mode" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_balance_mode_for_Z" string="Z轴平衡方式"/>
<field name="detect_balance_mode_for_Z" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
<label for="detect_zoom_objective_magnification" string=""/>
<div class="test_model">
<div>
<label for="detect_zoom_objective_magnification" string="变焦物镜倍率"/>
<field name="detect_zoom_objective_magnification" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_magnification" string="放大倍率"/>
<field name="detect_magnification" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_working_distance" string="工作距离"/>
<field name="detect_working_distance" class="o_address_zip"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="detect_locking_mode" string=""/>
<div class="test_model">
<div>
<label for="detect_locking_mode" string="锁紧方式"/>
<field name="detect_locking_mode" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_pressurized_air" string="压缩空气"/>
<field name="detect_pressurized_air" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_power_requirements" string="电源要求"/>
<field name="detect_power_requirements" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
<label for="detect_operating_temperature" string=""/>
<div class="test_model">
<div>
<label for="detect_operating_temperature" string="环境温度"/>
<field name="detect_operating_temperature" class="o_address_zip"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="detect_operating_humidity" string="环境湿度"/>
<field name="detect_operating_humidity" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
</div>
</div>
</group>
</page>
<page string="加工能力" attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
<field name='image_id' widget="custom_many2many_checkboxes">
<tree>
<field name="name"/>
<field name="image" widget="image"
options="{'size': [100, 100], 'click enlarge': True}"/>
</tree>
</field>
</page>
</xpath>
<xpath expr="//field[@name='next_action_date']" position="before">
<field name='eq_maintenance_id' force_save="1" widget="many2one"/>
</xpath>
<xpath expr="//div[hasclass('o_row')][field[@name='maintenance_duration']]" position="after">
<field name='overhaul_id'/>
<field name="overhaul_date" string="下次预防检修"/>
<label for="overhaul_period" string="预防检修频次"/>
<div class="o_row">
<field name="overhaul_period"/>
days
</div>
<label for="overhaul_duration" string="检修时长"/>
<div class="o_row">
<field name="overhaul_duration"/>
hours
</div>
<field name='equipment_maintenance_standards_ids' widget="many2many_tags" invisible="1"/>
</xpath>
<xpath expr="//page[@name='description']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//page[@name='product_information']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//page[@name='maintenance']" position="after">
<page string="其他" attrs="{'invisible': [('type_id', '=', False)]}">
<group string="其他">
<field name="date_of_purchase"/>
<field name="date_of_manufacture"/>
<field name="date_of_warranty"/>
<field name="original_value"/>
<field name="incomplete_value"/>
<field name="remark"/>
</group>
</page>
</xpath>
</data>
</field>
</record>
<!-- 修改设备搜索视图-->
<record id="sf_hr_equipment_view_search" model="ir.ui.view">
<field name="name">sf_equipment.view.search</field>
<field name="model">maintenance.equipment</field>
<field name="inherit_id" ref="maintenance.hr_equipment_view_search"/>
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='category_id']" position="after">
<searchpanel>
<field name="category_id" icon="fa-building" enable_counters="1"/>
<field name="state" icon="fa-building" enable_counters="1"/>
<field name="state_zc" icon="fa-building" enable_counters="1"/>
</searchpanel>
</xpath>
</data>
</field>
</record>
<!-- 修改设备列表视图-->
<record id="sf_maintenance_hr_equipment_view_tree_inherit" model="ir.ui.view">
<field name="name">sf.maintenance.hr.equipment.view.tree.inherit</field>
<field name="model">maintenance.equipment</field>
<field name="inherit_id" ref="maintenance.hr_equipment_view_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='activity_exception_decoration']" position="after">
<field name="created_user"/>
<field name="create_date"/>
</xpath>
</field>
</record>
<!-- <menuitem-->
<!-- id="menu_maintenance_title_sf"-->
<!-- name="设备管理"-->
<!-- web_icon="maintenance,static/description/icon.svg"-->
<!-- sequence="160"/>-->
<record id="maintenance.menu_maintenance_title" model="ir.ui.menu">
<field name="name">设备</field>
</record>
<record id="maintenance.menu_m_request" model="ir.ui.menu">
<field name="name">设备管理</field>
</record>
<record id="maintenance.menu_equipment_form" model="ir.ui.menu">
<field name="active">False</field>
</record>
<record id="hr_equipment_action1" model="ir.actions.act_window">
<field name="name">设备清单</field>
<field name="res_model">maintenance.equipment</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="maintenance.hr_equipment_view_kanban"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
添加一个设备
</p>
<p>
跟踪设备并将其链接到员工或部门。
您将能够管理设备的分配、问题和维护。
</p>
</field>
</record>
<record id="sf_maintenance_equipment_view_kanban_inherit_hr" model="ir.ui.view">
<field name="name">sf.maintenance.equipment.view.kanban.inherit.hr</field>
<field name="model">maintenance.equipment</field>
<field name="inherit_id" ref="maintenance.hr_equipment_view_kanban"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='activity_state']" position="before">
<field name="state"/>
<field name="machine_tool_picture"/>
</xpath>
<xpath expr="//templates" position="inside">
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click o_kanban_record_has_image_fill o_hr_kanban_record oe_kanban_card oe_kanban_global_click">
<field name="machine_tool_picture" class="o_kanban_image_fill_left d-block my-image"
preview_image="image_128" widget="image"/>
<!-- <field name="machine_tool_picture" widget="image" options="{'previewImage': false}"/>-->
<div class="add_flex">
<div class="o_kanban_card_header">
<div class="o_kanban_card_header_title maintenance_name">
<field name="name"/>
</div>
</div>
<!-- 内容 -->
<div class="o_kanban_record_bottom state_zc">
<div>
<field name="brand_id"/>
<field name="type_id"/>
</div>
<div>
<field name="state_zc"
widget="label_selection"
options="{'classes': {'未注册': 'warning', '已注册': 'success'}}"/>
</div>
</div>
<div class="o_kanban_record_bottom state_zc">
<field name="technician_user_id"/>
</div>
<!-- <div class="o_kanban_record_bottom">-->
<!-- <field name="factory_id"/>-->
<!-- <span> | </span>-->
<!-- <field name="supplier_id"/>-->
<!-- </div>-->
</div>
<div 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.state.raw_value == '正常' ? 'color_1' : ''}"></div>
<div t-attf-class="#{record.state.raw_value == '故障' ? 'color_2' : ''}"></div>
<div t-attf-class="#{record.state.raw_value == '不可用' ? 'color_3' : ''}"></div>
<p class="o_kanban_record_bottom state_zc"
t-attf-class="#{record.state.raw_value == '正常' ? 'font_color_1' : ''}
#{record.state.raw_value == '故障' ? 'font_color_2' : ''}
#{record.state.raw_value == '不可用' ? 'font_color_3' : ''}">
<field name="state"/>
</p>
</div>
</div>
</t>
</xpath>
</field>
</record>
<menuitem
id="menu_equipment_form1"
name="设备清单"
parent="maintenance.menu_m_request"
action="hr_equipment_action1"
groups="maintenance.group_equipment_manager,base.group_user"
sequence="2"/>
<!-- <record id="maintenance.hr_equipment_action" model="ir.actions.act_window">-->
<!-- <field name="active">False</field>-->
<!-- </record>-->
<!-- <menuitem-->
<!-- id="menu_m_request"-->
<!-- name="设备管理"-->
<!-- parent="menu_maintenance_title_sf"-->
<!-- groups="maintenance.group_equipment_manager,base.group_user"-->
<!-- sequence="1"/-->
<!-- 设备图文展示-->
<record id="view_maintenance_equipment_image_tree" model="ir.ui.view">
<field name="name">maintenance.equipment.image.tree</field>
<field name="model">maintenance.equipment.image</field>
<field name="arch" type="xml">
<tree string="能力特征库" editable="bottom" delete="0" create="0">
<field name="name" readonly="1"/>
<field name="type" readonly="1"/>
<field name="image" widget="image" readonly="1"/>
<field name="equipment_id"/>
<field name="active" invisible="1"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="view_maintenance_equipment_image_search">
<field name="name">maintenance.equipment.image.search</field>
<field name="model">maintenance.equipment.image</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<searchpanel class="account_root">
<field name="type" icon="fa-filter" enable_counters="1"/>
</searchpanel>
</search>
</field>
</record>
<record id="action_maintenance_equipment_image" model="ir.actions.act_window">
<field name="name">能力特征库</field>
<field name="res_model">maintenance.equipment.image</field>
<field name="view_mode">tree</field>
<field name="domain">[]</field>
</record>
<menuitem
id="maintenance_equipment_image_form"
name="能力特征库"
parent="maintenance.menu_m_request"
action="action_maintenance_equipment_image"
groups="maintenance.group_equipment_manager,base.group_user"
sequence="2"/>
<menuitem
id="maintenance.menu_m_dashboard"
name="设备清单"
parent="maintenance.menu_maintenance_title"
groups="maintenance.group_equipment_manager,base.group_user"
action="hr_equipment_action1"
sequence="0"/>
</odoo>