1、将功能刀具组装弹窗模型的组装流程以及其中相关的业务逻辑,移动到组装单模型并进行优化;2、功能刀具组装单模型新增部分字段的自动计算方法;新增部分物料字段;

This commit is contained in:
yuxianghui
2024-09-05 17:57:23 +08:00
parent 72eada0639
commit 29b9223a14
5 changed files with 764 additions and 465 deletions

View File

@@ -450,15 +450,15 @@
<field name="apply_time"/>
<field name="assemble_status"/>
<!-- <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"/>-->
<!-- <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>
@@ -469,15 +469,17 @@
<field name="arch" type="xml">
<form create="0" delete="0" edit="1">
<header>
<button string="组装" name="put_start_preset" type="object"
attrs="{'invisible': [('assemble_status', '!=', '0')]}"
<button string="开始组装" name="start_preset" type="object"
attrs="{'invisible': [('assemble_status', 'not in', ['0'])]}"
class="btn-primary"/>
<field name="assemble_status" widget="statusbar" statusbar_visible="0,1,2"/>
<button string="确认组装" name="functional_tool_assembly" type="object"
attrs="{'invisible': [('assemble_status', 'not in', ['01'])]}"
class="btn-primary"/>
<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"
attrs="{'invisible': [('assemble_status', '!=', '1')]}">
<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"/>
@@ -487,7 +489,8 @@
</button>
</div>
<div class="o_employee_avatar">
<field name="image" widget="image" class="oe_avatar m-0"/>
<field name="image" widget="image" class="oe_avatar m-0"
attrs="{'readonly': [('assemble_status', '!=', '01')]}"/>
</div>
<div class="oe_title">
<h1>
@@ -510,7 +513,7 @@
</group>
<notebook>
<page string="组装信息">
<group col="1">
<group col="1" attrs="{'invisible': [('assemble_status', '=', '0')]}">
<group col="1">
<group>
<group>
@@ -524,8 +527,10 @@
<field name="tool_groups_id"/>
<field name="after_assembly_whether_standard_knife"
string="是否标准刀"/>
<field name="after_assembly_coarse_middle_thin" string="粗/中/精"/>
<field name="after_assembly_new_former" string="新/旧"/>
<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"
@@ -538,12 +543,14 @@
string="刀具直径(mm)"/>
<field name="after_assembly_knife_tip_r_angle" string="刀尖R角(mm)"/>
<field name="after_assembly_tool_loading_length" string="总长度(mm)"/>
<field name="after_assembly_handle_length" string="刀柄长度(mm)"/>
<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)"/>
<field name="after_assembly_alarm_value" string="报警值(min)"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="after_assembly_used_value" string="已使用值(min)"
invisible="1"/>
<field name="after_assembly_effective_length" string="有效长(mm)"
@@ -554,14 +561,15 @@
</group>
</group>
</group>
<group>
<group col="1" attrs="{'invisible': [('handle_code_id', '=', False)]}">
<group attrs="{'invisible': [('assemble_status', '=', '0')]}">
<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}"/>
options="{'no_create': True, 'no_quick_create': True}"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="handle_freight_rfid" string="Rfid"/>
<field name="handle_product_id" string="名称"/>
<field name="cutting_tool_cutterhandle_model_id" string="型号"/>
@@ -569,14 +577,18 @@
<field name="sf_tool_brand_id_5" string="品牌"/>
</group>
</group>
<group col="1" attrs="{'invisible': [('chuck_freight_barcode_id', '=', False)]}">
<group col="1"
attrs="{'invisible': [('assemble_status', 'not in', ['0','01']),('chuck_product_id', '=', False)]}">
<div>
<separator string="夹头:" style="font-size: 13px;"/>
</div>
<group>
<group>
<field name="chuck_freight_barcode_id" string="货位"/>
<field name="chuck_lot_id" string="批次"/>
<field name="chuck_freight_barcode_id" string="货位"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="chuck_freight_lot_id" string="批次"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="chuck_lot_id" invisible="1"/>
<field name="chuck_product_id" string="名称"/>
<field name="cutting_tool_cutterhead_model_id" string="型号"/>
<field name="chuck_specification_id" string="规格"/>
@@ -585,16 +597,19 @@
</group>
</group>
</group>
<group>
<group attrs="{'invisible': [('assemble_status', '=', '0')]}">
<group col="1">
<group col="1"
attrs="{'invisible': [('integral_freight_barcode_id', '=', False)]}">
attrs="{'invisible': [('integral_freight_lot_id', '=', False),'|','|','|', ('blade_freight_lot_id', '!=', False),('bar_freight_lot_id', '!=', False),('pad_freight_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="整体式刀具:" style="font-size: 13px;"/>
</div>
<group>
<field name="integral_freight_barcode_id" string="货位"/>
<field name="integral_lot_id" string="批次"/>
<field name="integral_freight_barcode_id" string="货位"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="integral_freight_lot_id" string="批次"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="integral_lot_id" invisible="1"/>
<field name="integral_product_id" string="名称"/>
<field name="cutting_tool_integral_model_id" string="型号"/>
<field name="integral_specification_id" string="规格"/>
@@ -602,13 +617,16 @@
</group>
</group>
<group col="1"
attrs="{'invisible': [('blade_freight_barcode_id', '=', False)]}">
attrs="{'invisible': [('blade_freight_lot_id', '=', False),'|', ('integral_freight_lot_id', '!=', False),('assemble_status', 'not in', ['0','01'])]}">
<div>
<separator string="刀片:" style="font-size: 13px;"/>
</div>
<group>
<field name="blade_freight_barcode_id" string="货位"/>
<field name="blade_lot_id" string="批次"/>
<field name="blade_freight_barcode_id" string="货位"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="blade_freight_lot_id" string="批次"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="blade_lot_id" invisible="1"/>
<field name="blade_product_id" string="名称"/>
<field name="cutting_tool_blade_model_id" string="型号"/>
<field name="blade_specification_id" string="规格"/>
@@ -617,14 +635,18 @@
</group>
</group>
<group col="1">
<group col="1" attrs="{'invisible': [('bar_freight_barcode_id', '=', False)]}">
<group col="1"
attrs="{'invisible': [('bar_freight_lot_id', '=', False),'|','|',('integral_freight_lot_id', '!=', False),('pad_freight_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_freight_barcode_id" string="货位"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="bar_freight_lot_id" string="批次"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="bar_lot_id" invisible="1"/>
<field name="bar_product_id" string="名称"/>
<field name="cutting_tool_cutterbar_model_id" string="型号"/>
<field name="bar_specification_id" string="规格"/>
@@ -632,14 +654,18 @@
</group>
</group>
</group>
<group col="1" attrs="{'invisible': [('pad_freight_barcode_id', '=', False)]}">
<group col="1"
attrs="{'invisible': [('pad_freight_lot_id', '=', False),'|','|',('integral_freight_lot_id', '!=', False),('bar_freight_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_freight_barcode_id" string="货位"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="pad_freight_lot_id" string="批次"
attrs="{'readonly': [('assemble_status', 'in', ['1','2'])]}"/>
<field name="pad_lot_id" invisible="1"/>
<field name="pad_product_id" string="名称"/>
<field name="cutting_tool_cutterpad_model_id" string="型号"/>
<field name="pad_specification_id" string="规格"/>
@@ -708,8 +734,10 @@
<field name="code" string="功能刀具编码"/>
<field name="barcode_id"/>
<filter name="no_assemble_status" string="未组装" domain="[('assemble_status', '=', '0')]"/>
<filter name="yes_assemble_status" string="已组装" domain="[('assemble_status', '=', '2')]"/>
<filter name="no_assemble_status" string="未组装"
domain="[('assemble_status', 'in', ['0', '01'])]"/>
<filter name="yes_assemble_status" string="已组装" domain="[('assemble_status', '=', '1')]"/>
<filter name="cancel_assemble_status" string="已取消" domain="[('assemble_status', '=', '3')]"/>
<separator/>
<filter string="已归档" name="inactive" domain="[('active', '=', False)]"/>
<searchpanel>
@@ -738,7 +766,7 @@
<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':2}</field>
<field name="context">{'search_default_no_assemble_status':[1,01]}</field>
</record>