我想在我的React Web应用程序中显示Odoo报告吗?

时间:2019-07-09 04:13:39

标签: javascript reactjs odoo-9

我正在使用React js和Odoo作为后端构建一个Web应用程序。我想显示一个报告,该报告从Odoo后端以B64格式传输并显示。

我使用odoo-xmlrpc软件包,它可以正常工作,我可以在Web应用程序中显示报告,但是问题是除ID之外,我无法通过xml-rpc请求传递任何其他数据。我想传递一个JS对象,以便基于传递的数据我可以打印报告。


export const  odooPrintReport = (report_id, data)=>{
    return new Promise ((resolve, reject)=> {
        odoo.connect((err) => {
            if(err) return reject('request error')
            var inParams = [];
            inParams.push([
                ['attendance_date', '>=', formartDate(data.startDate)],
                ['attendance_date', '<=', formartDate(data.endDate)],
                ['batch_id.name', '=', data.batch],
                ['course_id.name', '=', data.course],
                ['semester_id.name', '=', data.semester],
                ['class_id.name', '=', data.group]
                ]);
            var params = [];
            params.push(inParams);
            odoo.execute_kw('op.attendance.sheet', 'search', params, function (err, value) {
                if (err) { return console.log(err) }
                if(value){
                    console.log('value:',value);
                    var params = [];
                    params.push(value);
                    params.push(data.studentIDs)
                    console.log({params})
                    // i want to pass data in here, but it accept only array of int,
                    odoo.render_report(report_id, {}, function (err2, value2) {
                        console.log('value2', value2)

                        if (err2) { return reject('report error') }
                        return resolve(value2)
                    });
                }
            });
        })
    })
}

0 个答案:

没有答案