跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. OE 之搜索效率问题

OE 之搜索效率问题

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

    先看一段search的代码

    <br />&lt;record model=&quot;ir.ui.view&quot; id=&quot;dispatch_work_order_filter&quot;&gt;<br />&lt;field name=&quot;name&quot;&gt;dispatch.work_order.filter&lt;/field&gt;<br />&lt;field name=&quot;model&quot;&gt;dispatch.work_order&lt;/field&gt;<br />&lt;field name=&quot;type&quot;&gt;search&lt;/field&gt;<br />&lt;field name=&quot;arch&quot; type=&quot;xml&quot;&gt;<br />&lt;search string=&quot;工单&quot;&gt;<br />&lt;field name=&quot;name&quot;/&gt;<br />&lt;field name=&quot;customer&quot;/&gt;<br />&lt;field name=&quot;mobile&quot;/&gt;<br />&lt;field name=&quot;phone&quot;/&gt;<br />&lt;field name=&quot;address&quot;/&gt;<br />&lt;field name=&quot;service_card&quot;/&gt;<br />&lt;field name=&quot;brand&quot;/&gt;<br />&lt;field name=&quot;series_number&quot;/&gt;<br />&lt;field name=&quot;area&quot;/&gt;<br />&lt;field name=&quot;client_source&quot;/&gt;<br />&lt;field name=&quot;buy_address&quot;/&gt;<br />&lt;field name=&quot;engineer&quot;/&gt;<br />&lt;field name=&quot;department&quot;/&gt;<br />&lt;field name=&quot;note&quot;/&gt;<br />&lt;field name=&quot;check_result&quot;/&gt;<br />&lt;field name=&quot;measure&quot;/&gt;<br />&lt;field name=&quot;description_of_fault&quot;/&gt;<br />&lt;field name=&quot;bill_date&quot; string=&quot;开单日期等于&quot; filter_domain=&quot;[(&#039;bill_date&#039;,&#039;=&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;bill_date&quot; string=&quot;开单日期大于&quot; filter_domain=&quot;[(&#039;bill_date&#039;,&#039;&gt;&#039;,self)]&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;field name=&quot;bill_date&quot; string=&quot;开单日期小于&quot; filter_domain=&quot;[(&#039;bill_date&#039;,&#039;&lt;&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;appointment_date&quot; string=&quot;预约日期等于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;=&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;appointment_date&quot; string=&quot;预约日期大于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;&gt;&#039;,self)]&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;field name=&quot;appointment_date&quot; string=&quot;预约日期小于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;&lt;&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;visit_time&quot; string=&quot;回访日期等于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;=&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;visit_time&quot; string=&quot;回访日期大于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;&gt;&#039;,self)]&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;field name=&quot;visit_time&quot; string=&quot;回访日期小于&quot; filter_domain=&quot;[(&#039;appointment_date&#039;,&#039;&lt;&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;done_date&quot; string=&quot;完工日期等于&quot; filter_domain=&quot;[(&#039;done_date&#039;,&#039;=&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;done_date&quot; string=&quot;完工日期大于&quot; filter_domain=&quot;[(&#039;done_date&#039;,&#039;&gt;&#039;,self)]&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;field name=&quot;done_date&quot; string=&quot;完工日期小于&quot; filter_domain=&quot;[(&#039;done_date&#039;,&#039;&lt;&#039;,self)]&quot;/&gt;<br />&lt;field name=&quot;bill_month&quot;/&gt;<br />&lt;field name=&quot;create_uid&quot;/&gt;<br />&lt;field name=&quot;done_month&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;draft&#039;)]&quot; string=&quot;待派工&quot; name=&quot;done0&quot;/&gt;<br />&lt;filter icon=&quot;ter-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;dealing&#039;)]&quot; string=&quot;待报工&quot; name=&quot;dealing0&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;done&#039;)]&quot; string=&quot;待交单&quot; name=&quot;reply0&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;reply&#039;)]&quot; string=&quot;待回访&quot; name=&quot;visit0&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state_use_card&#039;,&#039;=&#039;,&#039;0&#039;)]&quot; string=&quot;不扣卡&quot; name=&quot;state_use_card0&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state_use_card&#039;,&#039;=&#039;,&#039;1&#039;)]&quot; string=&quot;需扣卡&quot; name=&quot;state_use_card1&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;draft&#039;)]&quot; string=&quot;草稿&quot; name=&quot;draft&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;dealing&#039;)]&quot; string=&quot;已派工&quot; name=&quot;dealing&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;done&#039;)]&quot; string=&quot;已完工&quot; name=&quot;done&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;reply&#039;)]&quot; string=&quot;已交单&quot; name=&quot;reply&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;state&#039;,&#039;=&#039;,&#039;visit&#039;)]&quot; string=&quot;已回访&quot; name=&quot;visit&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;evaluate&#039;,&#039;=&#039;,&#039;very_satisfied&#039;)]&quot; string=&quot;非常满意&quot; name=&quot;very_satisfied&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;evaluate&#039;,&#039;=&#039;,&#039;satisfied&#039;)]&quot; string=&quot;满意&quot; name=&quot;satisfied&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;evaluate&#039;,&#039;=&#039;,&#039;discontent&#039;)]&quot; string=&quot;不满&quot; name=&quot;discontent&quot;/&gt;<br />&lt;filter icon=&quot;terp-check&quot; domain=&quot;[(&#039;evaluate&#039;,&#039;=&#039;,&#039;visit&#039;)]&quot; string=&quot;非常不满&quot; name=&quot;very_discontent&quot;/&gt;<br />&lt;separator/&gt;<br />&lt;group expand=&quot;0&quot; string=&quot;分组&quot;&gt;<br />&lt;filter string=&quot;按月&quot; icon=&quot;terp-personal&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;bill_month&#039;}&quot;/&gt;<br />&lt;filter string=&quot;客户&quot; icon=&quot;terp-personal&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;customer&#039;}&quot;/&gt;<br />&lt;filter string=&quot;服务卡&quot; icon=&quot;terp-personal&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;service_card&#039;}&quot;/&gt;<br />&lt;filter string=&quot;品牌型号&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;brand&#039;}&quot;/&gt;<br />&lt;filter string=&quot;工程师&quot; icon=&quot;terp-personal&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;engineer&#039;}&quot;/&gt;<br />&lt;filter string=&quot;部门&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;department&#039;}&quot;/&gt;<br />&lt;filter string=&quot;区域&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;area&#039;}&quot;/&gt;<br />&lt;filter string=&quot;客户来源&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;client_source&#039;}&quot;/&gt;<br />&lt;filter string=&quot;购机地点&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;buy_address&#039;}&quot;/&gt;<br />&lt;filter string=&quot;维修类型&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;warranty_type&#039;}&quot;/&gt;<br />&lt;filter string=&quot;维修方式&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;repair_method&#039;}&quot;/&gt;<br />&lt;filter string=&quot;客户评价&quot; icon=&quot;terp-personal+&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;evaluate&#039;}&quot;/&gt;<br />&lt;filter string=&quot;状态&quot; icon=&quot;terp-stock_effects-object-colorize&quot; domain=&quot;&#91;]&quot; context=&quot;{&#039;group_by&#039;:&#039;state&#039;}&quot;/&gt;<br />&lt;/group&gt;<br />&lt;/search&gt;<br />&lt;/field&gt;<br />&lt;/record&gt;<br />
    



    要说明什么问题呢?
    当用户数据量比较多的时候,这样的搜索视图效率就会越来越低。
    原因是OE是根据输入不断的向服务器请求数据。如果用户输入速度慢,同时匹配的数据项由比较多,那么原先出于人体工学考虑的搜索就会出现卡顿现象。

    有两个方法可以解决,一是search不要太复杂,二是用wizard做精准的搜索条件然后一次提交。

    1 条回复 最后回复
    0
    • M 离线
      M 离线
      mencaca
      写于 最后由 编辑
      #2

      有道理

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

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