跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. web js extend

web js extend

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

    @hui 在 web js extend 中说:

    extend

    继承重写用 include,
    继承复制用 extend

    把extend 换成include试试

    H 1 条回复 最后回复
    0
    • H 离线
      H 离线
      hui
      在 回复了 guwenfengvip163.com 最后由 编辑
      #3

      @guwenfengvip163-com
      换成include页不行的,感觉inlude里面的没有进去啊,都没有alert的

      1 条回复 最后回复
      0
      • G 离线
        G 离线
        guwenfengvip163.com
        写于 最后由 编辑
        #4

        你的JS 进去了么? alert('core o2m', o2m);  这一句能弹出来不

        H 1 条回复 最后回复
        0
        • H 离线
          H 离线
          hui
          在 回复了 guwenfengvip163.com 最后由 hui 编辑
          #5

          @guwenfengvip163-com
          alert('core o2m', o2m);这一句alert出来了,是include里面的没有alert出来

          1 条回复 最后回复
          0
          • G 离线
            G 离线
            guwenfengvip163.com
            写于 最后由 digitalsatori 编辑
            #6

            @hui

            var FormView = require('web.FormView');
            
            FormView.include({
                defaults: _.extend({}, FormView.prototype.defaults, {
                    disable_autofocus: config.device.touch,
                }),
                init: function () {
                    this._super.apply(this, arguments);
                    if (config.device.size_class <= config.device.SIZES.XS) {
                        this.rendering_engine = new FormRenderingEngineMobile(this);
                    }
                },
            });
            
            H 1 条回复 最后回复
            0
            • 鲍 离线
              鲍 离线
              鲍永道
              写于 最后由 鲍永道 编辑
              #7

              可以远程帮你看下,这方面的js扩展和自定义我写过很多了。
              qq:601939654

              1 条回复 最后回复
              0
              • H 离线
                H 离线
                hui
                在 回复了 guwenfengvip163.com 最后由 编辑
                #8

                @guwenfengvip163-com
                没反应的

                H W 2 条回复 最后回复
                0
                • H 离线
                  H 离线
                  hui
                  在 回复了 hui 最后由 hui 编辑
                  #9

                  @guwenfengvip163-com @鲍永道

                  这是@鲍永道 帮忙写的,目前可以达到的效果是在form视图中可以显示出跟list视图一样的search视图。

                  其他问题:在form视图中输入需要搜索的字段的值后也可以像在list视图中出现下拉式的选择搜索哪个字段,但是搜索后不会出现结果,需要点击面包屑导航的返回去才能看见结果。(也就是搜索后返回的还是等同于在list视图搜索的结果)

                  可改进:我觉得效果应该是搜索后直接跳转到对应的form视图。具体修改涉及到哪里的方法我就不清楚了。

                  /**
                   * @author taony
                   * @deprecated 用于odoo form可以search搜索
                   * @since 
                   */
                  odoo.define('web.taony_form_search', function (require) {
                      'use strict';
                  
                      var ControlPanel = require('web.ControlPanel');
                      var Bus = require('web.Bus');
                      var data = require('web.data');
                      var Widget = require('web.Widget');
                  
                      ControlPanel.include({
                          _update_search_view: function (searchview, is_hidden) {
                              var self = this;
                              if (searchview) {
                                  searchview.$buttons = this.nodes.$searchview_buttons;
                                  searchview.toggle_visibility(true);
                                  self.nodes.$breadcrumbs.width('50%');
                              }
                  
                              this.nodes.$searchview.toggle(true);
                              this.$el.toggleClass('o_breadcrumb_full', !!is_hidden);
                          }
                      });
                  });
                  
                  
                  H 1 条回复 最后回复
                  0
                  • H 离线
                    H 离线
                    hui
                    在 回复了 hui 最后由 编辑
                    #10

                    @hui
                    我根据我的需要修改了一点点,让这个form视图中的search框只在我需要的model中显示出来,其他的model就不显示了。

                    有个疑问:在浏览器中查看控制台日志的时候会发现,进入list视图的时候,searchview是有值的,也就可以找到正在操作的model,但是当点击某一个product进入对应的form视图的时候,会先出现searchview的值为undefined的,然后出现searchview的值又回来的现象。我觉得应该跟update的方法有关,但是关键点在哪个,这个就没看懂了。

                    高手在哪里,出来指点指点。

                    代码如下:

                    /**
                     * @author taony
                     * @deprecated 用于odoo form可以search搜索
                     * @since 
                     */
                    odoo.define('web.taony_form_search', function (require) {
                        'use strict';
                    
                        var ControlPanel = require('web.ControlPanel');
                        var Bus = require('web.Bus');
                        var data = require('web.data');
                        var Widget = require('web.Widget');
                    
                        ControlPanel.include({
                    
                            _update_search_view: function (searchview, is_hidden) {
                                var self = this;
                                if (searchview) {
                                    var model = searchview.model
                                    if ('product.template' == model){
                                        searchview.$buttons = this.nodes.$searchview_buttons;
                                        searchview.toggle_visibility(true);
                                        self.nodes.$breadcrumbs.width('50%');
                                        }
                                }
                                this.nodes.$searchview.toggle(true);
                                this.$el.toggleClass('o_breadcrumb_full', !!is_hidden);
                            }
                        });
                    });
                    
                    1 条回复 最后回复
                    0
                    • W 离线
                      W 离线
                      Wangliun
                      在 回复了 hui 最后由 编辑
                      #11

                      @hui 请问在formView.extend中alert('append after---');不执行的原因是什么?

                      1 条回复 最后回复
                      0

                      • 登录

                      • 没有帐号? 注册

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