warehouse_wave/views/wave.xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- 拣货单显示和打印 -->
<record id="action_warehouse_wave" model="ir.actions.client">
<field name="name">打印面单</field>
<field name="tag">warehouse_wave.print_express_menu</field>
<field name='target'>new</field>
</record>
<record id="action_warehouse_wave_package" model="ir.actions.client">
<field name="name">打印装箱单</field>
<field name="tag">warehouse_wave.print_express_package</field>
<field name='target'>new</field>
</record>
<record model="ir.ui.view" id="wave_tree">
<field name="name">拣货单</field>
<field name="model">wave</field>
<field name="arch" type="xml">
<tree create='false' edit='false'>
<field name="create_date" string="创建时间"/>
<field name="name"/>
<field name='express_type'/>
<field name="order_type"/>
<field name='state' string='拣货单打印状态'/>
<button name="report_wave" type="object" string='打印拣货单'/>
<button name="print_express_menu" type="object" string='打印快递面单'/>
<button name="print_package_list" type="object" string='打印装箱单'/>
<button name="delivery_list" type="object" string='发货单列表'/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="wave_action">
<field name="name">拣货单</field>
<field name="res_model">wave</field>
<field name="view_mode">tree</field>
</record>
<menuitem name="拣货单" id="wave_menu" parent="warehouse.warehouse_order"
action="wave_action" sequence='1'/>
<!-- 在发货单列表上增加拣货单相关字段 -->
<record id='sell_delivery_tree_wave' model='ir.ui.view'>
<field name='name'>sell.delivery.tree</field>
<field name='model'>sell.delivery</field>
<field name='inherit_id' ref='sell.sell_delivery_tree'/>
<field name='arch' type='xml'>
<field name='order_id' position='after'>
<field name='express_type'/>
<field name="express_code"/>
<field name='wave_id'/>
<field name='pakge_sequence'/>
</field>
</field>
</record>
<record id="create_wave_from" model="ir.ui.view">
<field name="name">create.wave.form</field>
<field name="model">create.wave</field>
<field name="arch" type="xml">
<form>
<group>
<field name="note" />
<field name="active_model" invisible='True'/>
</group>
<footer>
<button name="create_wave" string="生成拣货单" type="object" class="oe_highlight"/>
或者
<button string="取消" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<act_window id="create_wave_action"
name='生成拣货单'
res_model="create.wave"
src_model="sell.delivery"
multi="True"
view_type="form"
view_mode="form"
target="new"
/>
<act_window id="print_express_info"
name='打印快递面单'
res_model="delivery.express.package.print"
src_model="sell.delivery"
multi="True"
view_type="form"
view_mode="form"
target="new"
context="{'express_info': True}"
/>
<act_window id="print_package_info"
name='打印装箱单'
res_model="delivery.express.package.print"
src_model="sell.delivery"
multi="True"
view_type="form"
view_mode="form"
target="new"
context="{'package_info': True}"
/>
<record id="delivery_express_package_print_form" model="ir.ui.view">
<field name="name">delivery.express.package.print</field>
<field name="model">delivery.express.package.print</field>
<field name="arch" type="xml">
<form string="delivery.express.package.print">
<group>
<field name="note" placeholder="简要说明请求内容"/>
</group>
<footer>
<button name="button_print" string="打印" type="object" class="oe_highlight"/>
或者 <button string="取消" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<!--打包对应的tree和form #TODO: 技术点没掌握,在编辑状态下的前后端交互掌握不完全,所以没办法做成wizard 形式
以后掌握了要进行修改
-->
<record model="ir.ui.view" id="do_pack_tree">
<field name="name">打包</field>
<field name="model">do.pack</field>
<field name="arch" type="xml">
<tree>
<field name="odd_numbers"/>
<field name="is_pack"/>
</tree>
</field>
</record>
<record id="do_pack_search" model="ir.ui.view">
<field name="name">do.packsearch</field>
<field name="model">do.pack</field>
<field name="arch" type="xml">
<search string="打包">
<separator/>
<filter name="is_not_pack" string="未打包" domain="[('is_pack','=',False)]"/>
<separator/>
<filter name="is_pack" string="已打包" domain="[('is_pack','=',True)]"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="do_pack_form">
<field name="name">do.pack.form</field>
<field name="model">do.pack</field>
<field name="arch" type="xml">
<form string='打包' edit='false'>
<sheet>
<div class="oe_title" attrs="{'readonly':[('is_pack', '=', True)]}">
<label string="扫描条码 "/>
<input type='text' class="do_pack_scan_code" autofocus="true"/>
</div>
<group>
<group>
<field name="odd_numbers" attrs="{'invisible':[('odd_numbers', '=', False)]}"/>
<field name="is_pack" />
</group>
<group>
<field name="create_uid" string='创建人'/>
<field name="create_date" string='创建时间'/>
</group>
</group>
<notebook>
<page string="入库单行">
<field name="product_line_ids" >
<tree editable='bottom'>
<field name="goods_id" />
<field name="goods_qty" />
<field name="pack_qty" />
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="do_pack_action">
<field name="name">打包</field>
<field name="res_model">do.pack</field>
<field name="view_mode">form</field>
<field name="context">{'search_default_is_not_pack':1}</field>
<field name="target" >inline</field>
</record>
<menuitem name="打包" id="do_pack_menu" parent="warehouse.warehouse_order"
action="do_pack_action" sequence='5'/>
<!-- 拣货单预留商品 tree -->
<record model="ir.ui.view" id="wave_reserved_tree">
<field name="name">拣货单预留</field>
<field name="model">wave.reserved</field>
<field name="arch" type="xml">
<tree create="false" edit="false">
<field name="move_name"/>
<field name="goods_id"/>
<field name="attribute_id"/>
<field name="warehouse_id"/>
<field name="goods_qty"/>
</tree>
</field>
</record>
<record id="wave_reserved_search" model="ir.ui.view">
<field name="name">拣货单预留search</field>
<field name="model">wave.reserved</field>
<field name="arch" type="xml">
<search string="wave预留">
<field name="move_name"/>
<field name='goods_id'/>
<field name='warehouse_id'/>
<separator/>
<group expand="0" string="分组">
<filter string="商品" domain="[]" context="{'group_by':'goods_id'}"/>
<filter string="属性" domain="[]" context="{'group_by':'attribute_id'}"/>
<filter string="仓库" domain="[]" context="{'group_by':'warehouse_id'}"/>
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="wave_reserved_action">
<field name="name">>拣货单预留</field>
<field name="res_model">wave.reserved</field>
<field name="view_mode">tree</field>
</record>
<menuitem name="拣货单预留" id="wave_reserved_menu" parent='sell.sell_order_menu_root'
action="wave_reserved_action" sequence='10'/>
</data>
</odoo>