1. 程式人生 > 實用技巧 >odoo12 修行基礎篇之 kanban (八)

odoo12 修行基礎篇之 kanban (八)

正常我們新建的模組沒有kanban頁,只有列表頁,需要對增加在按鈕動作上增加一條配置:

<record id="action_my_customer_complaint" model="ir.actions.act_window">
    <field name="context">{'search_default_draft': 1}</field>
    <field name="view_mode">tree,kanban</field>
</record>

在預設篩選條件那裡,增加view_mode屬性,列舉上要顯示的模板型別。升級後,就可以看到出現kanban頁,但有點難看。(這裡給大家一個小坑,點選記錄進不了form頁面了,本文後面我們再改過來,以加深印象)

客戶又來新需求了,哦耶:kanban可點選,檢視明細,最好能用不同的顏色標記,區分輕重緩急。

首先搞定顏色吧,在my_customer_complain.py中增加欄位color:

color = fields.Integer('顏色')

在my_customer_complain.xml中增加kanban檢視:

<!-- kanban -->
<record id="kanban_my_customer_complain" model="ir.ui.view">
    <field name="name">kanban.my.customer.complain</field>
    <field name="
model">my.customer.complain</field> <field name="arch" type="xml"> <kanban class="o_kanban_dashboard o_emphasize_colors"> <field name="color"/> <templates> <t t-name="kanban-box"> <div t-attf-class
="o_kanban_card_header oe_kanban_color_#{kanban_getcolor(record.color.raw_value)}"> <div class="o_dropdown_kanban dropdown"> <a class="dropdown-toggle btn" data-toggle="dropdown" role="button" aria-label="Dropdown menu" title="Dropdown menu" href="#"> <span class="fa fa-ellipsis-v"/> </a> <div class="dropdown-menu" role="menu"> <ul class="oe_kanban_colorpicker" data-field="color"/> </div> </div> <div t-attf-class="o_kanban_card_header"> <div class="o_kanban_card_header_title"> <div class="o_primary"> <field name="name"/> </div> </div> </div> </div> </t> </templates> </kanban> </field> </record>

注意要在kanban標籤內引入color欄位,否則進入看板會報錯,具體規則我並不是很清楚,可能涉及到要呼叫後端方法的時候才需要引入吧,比如某些計算欄位,儲存操作等等。在這裡color就需要在資料庫進行儲存。(希望交流以下)

相關樣式和配置,都是複製過來的,大家也copy吧。

升級下,看板就出現顏色選項了,可以進行顏色標記了。

下面我們來搞下點選進入form頁面,其實就是加一個屬性而已。

<div t-attf-class="o_kanban_card_header oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_global_click">

在kanban中找到這一行程式碼,增加屬性:oe_kanban_global_click,升級下,還是點不了,咋回事。

這就是我前面的坑,需要在點選事件中增加form檢視屬性:

<field name="view_mode">tree,kanban,form</field>

再升級下,發現ok了,看板就不加欄位了,美化的工作就看心情吧,客戶沒有需求。面對需求小竅門,永遠不要滿足客戶的所有需求,更不要自己補充需求,剛剛好最好,後面一定還有更多的需求。

客戶又來需求了:這回想要對客戶投訴進行分類,用看板可以看到不同分類的投訴數量,利用看板進行分析。這個想法很贊啊,怎麼實現呢,且聽下回分解。