iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Odoo

Odoo 魔法學院: 一步一腳印帶你成為客製化大師系列 第 25

[Day25] 不同使用情境,不同的資料呈現形式

  • 分享至 

  • xImage
  •  

不同的使用者會想看到,不同的資料呈現形式,圖書館會員會想看到什麼時候該還書,圖書館管理員會想看到現在有誰書籍逾期了,並寄信或電話通知對方,我們前面已經學會怎麼新增欄位及 UI 元件,接下來我們來探索不同的資料呈現形式。

List View

資料呈現形式中,我們最常看到,也是最常用到的即是 List View,每一列都是一筆資料,並且以欄位隔開,而每個欄位的最頂端是這個欄位的名稱,可以想想成是一個 Excel 形式。

  <record id="view_tree_checkout" model="ir.ui.view">
    <field name="name">Checkout Tree</field>
    <field name="model">library.checkout</field>
    <field name="arch" type="xml">
      <tree>
        <field name="request_date" />
        <field name="member_id" />
      </tree>
    </field>
  </record>

注意,是用 <tree> 來表示 List View。

根據不同的情況使用不同的 View Mode

  • Calendar View: <calendar>
  • Pivot View: <pivot>
  • Activity View: <activity>
  • Graph View: <graph>

Calendar View

我們要回顧這個月書籍借閱的情況,就可以使用 Calendar View,還能抓到哪幾天借閱的人數比較多,可以考慮在那幾天新增人手。

<record id="view_calendar_checkout" model="ir.ui.view">
  <field name="model">library.checkout</field>
  <field name="arch" type="xml">
    <calendar date_start="request_date" color="user_id">
      <field name="member_id" />
      <field name="stage_id" />
    </calendar>
  </field>
</record>

Pivot View

在主管會議上,我們會需要回報這週書本的借閱狀況,使用 Pivot View,就能容易得到整理好的數據。

<record id="view_pivot_checkout" model="ir.ui.view">
  <field name="model">library.checkout</field>
  <field name="arch" type="xml">
    <pivot>
      <field name="stage_id" type="col" />
      <field name="member_id" />
      <field name="request_date" interval="week" />
      <field name="num_books" type="measure" />
    </pivot>
  </field>
</record>

Activity View

在借閱過程中,當會員借閱已達指定數量時,時常會詢問我們我書籍都還了,甚至更詳細的訊息,這是透過 Activity View 並指定會員,我們就能清楚地跟對方說,還有哪幾本書沒還,來進行確認。

<record id="view_activity_checkout" model="ir.ui.view">
  <field name="model">library.checkout</field>
  <field name="arch" type="xml">
     <activity string="Checkouts">
       <templates>
         <div t-name="activity-box">
           <div>
             <field name="name" />
           </div>
         </div>
       </templates>
     </activity>
  </field>
</record>

Graph View

身為管理員想要看到的是目前 已借出、可借閱的書籍數量,和已歸還但尚未放回書架的書籍有多少。

<record id="view_graph_checkout" model="ir.ui.view">
  <field name="model">library.checkout</field>
  <field name="arch" type="xml">
    <graph type="bar">
      <field name="stage_id" />
      <field name="num_books" type="measure" />
    </graph>
  </field>
</record>

Ref: https://www.odoo.com/documentation/15.0/developer/reference/backend/views.html


上一篇
[Day24] 設計管理者使用介面
下一篇
[Day26] 管理工作表的Kanban View+搜尋特定選項的Search View
系列文
Odoo 魔法學院: 一步一腳印帶你成為客製化大師30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言