Odoo 10 中的嵌入式 JS

Inherit JS in Odoo 10

我正在尝试重命名标题。 尝试继承一个JS函数,控制台报错

error: Some modules could not be started 
Failed modules:          Array [ "web.web_client" ] 
Non loaded modules:      Array [ "web.ChangePassword", "web.Apps", 
"account.reconciliation", "mail.chat_client_action", 
"mail.ExtendedChatWindow", "mail.composer", "mail.chat_manager", 
"mail.Chatter", "mail.systray", "mail.utils", 3 more… ] 
Debug:                   Object { web.ChangePassword: Object, 
web.Apps: Object, account.reconciliation: Object, 
mail.chat_client_action: Object, mail.ExtendedChatWindow: Object, 
mail.composer: Object, mail.chat_manager: Object, mail.Chatter: 
Object, mail.systray: Object, mail.utils: Object, 4 more… }

.js

odoo.define('sharpos_data', function(require){
"use strict";
var WebClient = require('web.WebClient');
WebClient.include({
init: function(parent) {
    console.log('Shar POSS jS');
    this.client_options = {};
    this._super(parent);
    this.origin = undefined;
    this._current_state = null;
    this.menu_dm = new utils.DropMisordered();
    this.action_mutex = new utils.Mutex();
    this.set('title_part', {"zopenerp": "Shar POS JS"});
}
});
});

我该如何解决这个问题?

您需要定义所有必需的变量,在本例中为 "utils",如下所示:

var utils = require('web.utils');
var WebClient = require('web.AbstractWebClient');
var Model = require('web.Model');
var utils = require('web.utils');
WebClient.include({
init: function(parent) {
      this.client_options = {};
      this._super(parent);
      this.origin = undefined;
      this._current_state = null;
      this.menu_dm = new utils.DropMisordered();
      this.action_mutex = new utils.Mutex();
      var self = this;
      /*put the company name Here, replace xxxxxxxxxx*/
      new Model("website").call("search_read",[[], ['company_name']]).then(function (res) {
          self.set('title_part', {"zopenerp": res && res[0] && res[0].company_name || ''});
      });
    },
});