连接Odoo的Javascript Web应用程序

时间:2018-10-05 04:54:53

标签: javascript npm odoo

我想设计Javascript Web应用程序。在该应用程序中,我需要显示诸如每日销售报告之类的报告仪表板,以及要从odoo应用程序中获取的数据。

所以我用odoo-xmlrpc将javascript连接到odoo。

js.file

var Promise = require('promise');
var async = require("async");
var Odoo = require('odoo-xmlrpc');
        var odoo = new Odoo({
            url: 'localhost',
            port: '8063',
            db: 'db_1',
            username: 'admin',
            password: '123'
        });


function color(){
  return new Promise(resolve => {
      odoo.connect(function (err) {
            if (err) { return console.log(err); }
            console.log('Connected to Odoo server.');
            var inParams = [];
            inParams.push([[],[]]);
            var params = [];
            params.push(inParams);
            odoo.execute_kw('account.invoice', 'check_func', [[[], []]], function (err, value) {
                if (err) { return console.log(err); }
                console.log('Result: ', value); //Result: Done
                 resolve(value);


            });
        });
  });


}
async function changeColor(newColor) {
  //document.getElementById("para").innerHTML = "Hello3"; //this line working
  var result = await color();
  console.log(result, "@@@@@@@@@@@")// Result Done
  var elem = document.getElementById('para').innerHTML="tet"; //This line dot working
}

changeColor('red')

python中的check_func()

@api.multi
def check_func(self):
   return "done"

html文件

 <!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script  type="text/javascript" src="/home/priya/Desktop/ra.js"></script>
</head>
<body>

<h2 style="text-align:center;">Reports</h2>
<div style="text-align:center;">
<input type="button" onclick="sales_report_retail()" value="Sales report"/> 
<p id="para"></p>
</div>
</body>
</html>

在那个odoo.execute_kw()中,我使用了resolve(value)。该值正在odoo.execute_kw()中使用。   var result = await sales_report_retail_db();该行值可以正确获取,但是在此行document.getelementbyid无法正常工作之后。

我需要在网页中显示该值。那么如何纠正呢?

0 个答案:

没有答案