首页 > 解决方案 > 根据优先级 ID 更改看板视图中的文本颜色

问题描述

当优先级 id 字段发生变化时,如何在看板视图中更改标签的文本颜色和字段的值?

 <record id="hr_job_views_kanban_add_endorsed" model="ir.ui.view">
            <field name="name">hr.job.views.kanban</field>
            <field name="model">hr.job</field>
            <field name="inherit_id" ref="hr_recruitment.view_hr_job_kanban"/>
            <field name="arch" type="xml">
                <xpath expr="//div/t[@t-esc='record.name.value']" position="replace">
                    <t t-esc="record.name.value"/> (<field name="num_of_endorsed"/>)
                </xpath>
                <xpath expr="//div[@class='o_primary']" position="after">
                    <b><p style="font-size: 11px;">Specific Job Position: <field name="specific_job_id"/></p></b>
                    <b><p style="font-size: 11px;">Job Title Category: <field name="tag_id"/></p></b>
                    <b><p style="font-size: 11px;">Priority: <field name="priority_id"/></p></b>
                </xpath>
            </field>
        </record>

标签: pythonxmlodooodoo-10

解决方案


嗨,您可以通过将 CSS 类分配给优先级来更改颜色,然后在看板视图中引用它

1/ 将类添加到优先类:

priority_class = fields.Char('Priority CSS Class')

2/ 在看板视图中:

<div t-attf-class="#{record.priority_id.priority_class.raw_value}">
    Specific Job Position: <field name="specific_job_id"/>
</div>

3/ 向 odoo 添加新的 css,并创建具有所需大小、颜色的 CSS 类:

<template id="assets_mymodule" inherit_id="web.assets_backend" name="My Module Assets">
        <xpath expr="." position="inside">
            <link rel="stylesheet" href="/mymodule/static/src/css/mymodule.css" />
           </xpath>
    </template>

推荐阅读