osbzr/gooderp_addons

View on GitHub
warehouse_wave/views/wave.xml

Summary

Maintainability
Test Coverage
<?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>