Odoo13_一个模块实现对应多个视图

1.models.py

# -*- coding: utf-8 -*-
from odoo import api, fields, models


class ZeroneBook(models.Model):
    _name = "zerone.book"
    _description = "Zerone Books"
 
    name = fields.Char(string="图书名称", required=True)
    code = fields.Char(string="图书编号", required=True)
    state = fields.Selection([('draft', '未被借出'), ('rent', '已经借出'), ('return', '已经归还')],
                            default='draft', string="状态")

    def action_bjl(self):
        self.state = 'draft'
    def action_jc(self):
        self.state = 'rent'
        
    def action_gh(self):
        self.state = 'return'
    def action_xbhl(self):
        self.state = 'rent'

2.views.xml

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
    <!-- 主菜单列表视图 -->
        <record id="view_books_tree" model="ir.ui.view">
            <field name="name">book.tree</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <tree string="Books">
                    <field name="name"/>
                    <field name="code"/>
                    <field name='state'/>
                </tree>
            </field>
        </record>
        <record id="view_zerone_books_form" model="ir.ui.view">
            <field name="name">zerone.book.form</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <form string="Books" create="false">
                    <sheet string="Books">
                        <div style="text-align: center"><h1>借书FORM</h1></div>
                        <group col='4'>
                            <field name="name"/>
                            <field name="code"/>
                            <field name="state"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>
        <!--借出列表视图-->
        <record id="view_zerone_books_tree" model="ir.ui.view">
            <field name="name">zerone.book.tree</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <tree string="Books" create="false" import="false">
                    <field name="name"/>
                    <field name="code"/>
                    <field name='state'/>
                </tree>
            </field>
        </record>

        <!--借出form视图-->
        <record id="view_zerone_books_form" model="ir.ui.view">
            <field name="name">zerone.book.form</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <form string="Books" create="false">
                    <header>
                        <button name="action_bjl" type="object" string="不借了" class="oe_highlight" states="rent"/>
                        <button name="action_jc" type="object" string="借出" class="oe_highlight" states="draft"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,rent,return"/>
                    </header>
                    <sheet string="Books">
                        <div style="text-align: center"><h1>借书FORM</h1></div>
                        <group col='4'>
                            <field name="name"/>
                            <field name="code"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>
        <!--还书列表视图-->
        <record id="view_huanshu_books_tree" model="ir.ui.view">
            <field name="name">huanshu.book.tree</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <tree string="Books" create="false" import="false">
                    <field name="name"/>
                    <field name="code"/>
                    <field name='state'/>
                </tree>
            </field>
        </record>
        <!--归还form视图-->
        <record id="view_huanshu_books_form" model="ir.ui.view">
            <field name="name">huanshu.book.form</field>
            <field name="model">zerone.book</field>
            <field name="arch" type="xml">
                <form string="Books" create="false">
                    <header>
                        <button name="action_gh" type="object" string="归还" class="oe_highlight" states="rent"/>
                        <button name="action_xbhl" type="object" string="先不还了" class="oe_highlight" states="return"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,rent,return"/>
                    </header>
                    <sheet string="Books">
                        <div style="text-align: center"><h1>还书FORM</h1></div>
                        <group col='4'>
                            <field name="name"/>
                            <field name="code"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>
        <record id="action_books" model="ir.actions.act_window">
            <field name="name">主菜单动作</field>
            <field name="res_model">zerone.book</field>
            <field name="view_mode">tree,form</field>
          <field name="view_id" ref="view_books_tree"/>
        </record>
        <!--借出动作-->
        <record id="action_zerone_books" model="ir.actions.act_window">
            <field name="name">借书</field>
            <field name="res_model">zerone.book</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" ref="view_zerone_books_tree"/>
        </record>
        <record model="ir.actions.act_window.view" id="jieshu_1">
            <field name="sequence" eval="1"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_zerone_books_tree"/>
            <field name="act_window_id" ref="action_zerone_books"/>
        </record>

        <record model="ir.actions.act_window.view" id="jieshu_2">
            <field name="sequence" eval="2"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="view_zerone_books_form"/>
            <field name="act_window_id" ref="action_zerone_books"/>
        </record>
        <!-- 还书动作 -->
        <record id="action_huanshu_books" model="ir.actions.act_window">
            <field name="name">还书</field>
            <field name="res_model">zerone.book</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" ref="view_huanshu_books_tree"/>
        </record>
        <record model="ir.actions.act_window.view" id="huanshu_1">
            <field name="sequence" eval="1"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_huanshu_books_tree"/>
            <field name="act_window_id" ref="action_huanshu_books"/>
        </record>
        <record model="ir.actions.act_window.view" id="huanshu_2">
            <field name="sequence" eval="2"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="view_huanshu_books_form"/>
            <field name="act_window_id" ref="action_huanshu_books"/>
        </record>

<!-- 按钮 -->
        <menuitem name="Books" id="menu_books_root" sequence="50" action="action_books"/>
        <menuitem action="action_zerone_books" id="menu_zerone_books" name="借书" parent="menu_books_root"/>
        <menuitem action="action_huanshu_books" id="menu_guihuan_books" name="还书" parent="menu_books_root"/>
    </data>
</odoo>

 

posted @ 2020-09-11 16:52  手可摘星辰。  阅读(479)  评论(0编辑  收藏  举报