04 定义Tree和Form View(学Odoo,就得Do)

表单是企业管理的重要组成部分,这一节我们就来介绍在Odoo中如何制作列表页和表单页。

还记得我们编辑过的patient_menu.xml吗?我们在这个xml文件里建立了菜单和动作,现在我们要添加form信息了

我们用最简方式做一个先,然后再进行美化,请记住,xml文件位置里,这个form要摆在action前面:

<!-- Patient Form -->
    <record id="patient_form" model="ir.ui.view">
        <field name="name">hospital.patient.form</field>
        <field name="model">hospital.patient</field>
        <field name="arch" type="xml">
            <form string="Patients">
                <field name="patient_name"/>
                <field name="patient_age"/>
                <field name="notes"/>
                <field name="image"/>
            </form>
        </field>
    </record>

我们升级一下模块,看看效果,如何升级模块我已在前面的章节讲过了,也因为我们还没有配置权限,所以我们先变成Superuser来看。

这是一个很丑的界面,接下来我们用<<group></group>标记符来美化,注意看sheet里面的部分

    <!-- Patient Form -->
    <record id="patient_form" model="ir.ui.view">
        <field name="name">hospital.patient.form</field>
        <field name="model">hospital.patient</field>
        <field name="arch" type="xml">
            <form string="Patients">
                <sheet>
                    <group>
                        <group>
                            <field name="patient_name"/>
                        </group>
                        <group>
                            <field name="patient_age"/>
                        </group>
                        <group>
                            <field name="notes"/>
                            <field name="image"/>
                        </group>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

patient_name和patient_age各分两列,notes和image合在一列。这样的界面看起来舒服多了吧:)

下面,我们一鼓作气,把Tree这个列表功能解决掉,同Form的道理一样,只是略微修改一些地方:

    <!-- Patient Tree -->
    <record id="patient_tree" model="ir.ui.view">
        <field name="name">hospital.patient.tree</field>
        <field name="model">hospital.patient</field>
        <field name="arch" type="xml">
            <tree string="Patients">
                <field name="patient_name"/>
                <field name="patient_age"/>
                <field name="notes"/>
                <field name="image"/>
            </tree>
        </field>
    </record>

注意看一下,form的地方换成了tree。我们添加一条记录,这样可以看到列表的效果

我们点击一下主菜单Hospital

OK,接下来就轮到绑定权限了,Odoo实现CRUD速度不是一般的快啊!

发布了14 篇原创文章 · 获赞 0 · 访问量 6789

猜你喜欢

转载自blog.csdn.net/xmsea/article/details/105689328
04