跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. odoo10通过js获取到模型的json数据后,如果让数据在页面加载出来后以tree形式展示出来?

odoo10通过js获取到模型的json数据后,如果让数据在页面加载出来后以tree形式展示出来?

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
7 帖子 6 发布者 1.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • F 离线
    F 离线
    franciewang
    写于 最后由 编辑
    #1

    odoo10通过js获取到模型的json数据后,如果让数据在页面加载出来后以tree形式展示出来?

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      是要定义一个层级树吗?Odoo 10.0对有层级关系的数据结构是直接支持层级树的展示的。比如下面的HR的雇员层级列表视图:

              <record id="view_partner_tree2" model="ir.ui.view">
                  <field name="name">hr.employee.tree</field>
                  <field name="model">hr.employee</field>
                  <field name="field_parent">child_ids</field>
                  <field name="priority" eval="20"/>
                  <field name="arch" type="xml">
                      <tree string="Employees">
                          <field name="name"/>
                          <field name="work_phone"/>
                          <field name="work_email"/>
                          <field name="company_id" groups="base.group_multi_company"/>
                          <field name="department_id"/>
                          <field name="job_id"/>
                          <field name="coach_id" invisible="1"/>
                          <field name="parent_id" invisible="1"/>
                      </tree>
                  </field>
              </record>
      

      注意field_parent的定义。

      V11.0以后,Odoo去除了对field_parent的支持,不过社区中有位弟兄贡献了一个对tree view的扩展:https://github.com/openliu/odtree

      【上海先安科技】(tony AT openerp.cn)

      F 1 条回复 最后回复
      0
      • JoshuaJ 离线
        JoshuaJ 离线
        Joshua 管理员
        写于 最后由 编辑
        #3

        这个odtree看起来不错啊 :thumbs_up:

        【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

        1 条回复 最后回复
        0
        • F 离线
          F 离线
          franciewang
          在 回复了 digitalsatori 最后由 编辑
          #4

          @digitalsatori 在 odoo10通过js获取到模型的json数据后,如果让数据在页面加载出来后以tree形式展示出来? 中说:

          是要定义一个层级树吗?Odoo 10.0对有层级关系的数据结构是直接支持层级树的展示的。比如下面的HR的雇员层级列表视图:

          不是层级树,我是 想用ajax请求,拿到 json数据(后台是 dict的 list,用sql 查询出来的,但是没有保存到数据库),然后怎么把这些数据渲染,展示成odoo的tree 形式 (类比easyui,bootstrap-table 的展示方式)。
          另外,数据库的内容 ,odoo是通过什么方式,最终展示到前端的,中间的过程是什么?

          1 条回复 最后回复
          0
          • ? 离线
            ? 离线
            老用户
            写于 最后由 编辑
            #5
            此回复已被删除!
            1 条回复 最后回复
            0
            • H 离线
              H 离线
              HelloWorld
              写于 最后由 编辑
              #6

              10没用过,12重写search_view

              1 条回复 最后回复
              0
              • W 离线
                W 离线
                wft999
                写于 最后由 编辑
                #7

                参考方案:
                1)在views中定义一个client action:

                Test
                myproject.test
                current

                2)使用一个html a元素来触发这个action:


                Test

                3)编写一个js widget,具体写法参考文档:https://www.odoo.com/documentation/12.0/reference/javascript_reference.html#widgets;
                主要做三件事:
                a)设定模板template,根据要显示tree的需求去定制;
                b)定义willStart函数,使用._rpc()函数与后端通讯获得模型数据;
                c)定义start()函数,使用上一步获取的数据来render画面;
                完成widget之后,调用core.action_registry.add()来注册这个widget,使得点击上文的html a元素,就会显示这个widget

                4)最后一步,在后端模型类添加方法,用于被js _rpc()函数调用来获取数据;

                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

                • 登录或注册以进行搜索。
                • 第一个帖子
                  最后一个帖子
                0
                • 版块
                • 标签
                • 热门
                • 用户
                • 群组