odoo通过iframe插入html页面

1、文件结构


2、js.xml文件

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <template id="assets_backend" name="sales_extend assets" inherit_id="web.assets_common">
            <xpath expr="." position="inside">
                <script type="text/JavaScript" src="/sales_extend/static/js/sales_extend.js"></script>
            </xpath>
        </template>
   </data>
</odoo>


3、sale_extend.js
/**
 * Created by badboy on 2017/1/10.
 */
var url = '';

function check_url() {
	if ( url != window.location.href ) {
		var id = getQueryString('id');
		var model = getQueryString('model');
		var view_type = getQueryString('view_type');
		if (view_type == 'form' && model == 'sale.order') {
			var myiframe = document.getElementById("myiframe");
			if (myiframe != null)
				myiframe.src = '/loadfile?id=' + id;
		}
		url = window.location.href;
	}
}

function getQueryString(name) {
	var reg = new RegExp("(^|&|#)" + name + "=([^&]*)(&|$)", "i");
	var r = window.location.href.match(reg);
	if (r != null) return unescape(r[2]); return null;
}

setInterval(check_url, 1000);

4、view.xml部分代码

<notebook position="replace">
    <group>
        <field name="project_file" string="下载地址"/>
    </group>
    <group>
        <iframe id="myiframe" src="/loadfile" frameBorder="0" width="100%" scrolling="no"></iframe>
    </group>
</notebook>


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Odoo是一款开源的企业管理软件,提供了丰富的API和模块,可以方便地实现批量新增功能。 以下是一个简单的示例代码,实现在Odoo中批量新增产品的功能: ```python from odoo import models, fields, api class Product(models.Model): _name = 'product.product' _description = 'Product' name = fields.Char(string='Name', required=True) description = fields.Text(string='Description') list_price = fields.Float(string='Price') class ProductBatchInsertWizard(models.TransientModel): _name = 'product.batch_insert_wizard' _description = 'Product Batch Insert Wizard' data_file = fields.Binary(string='Data File', required=True) @api.multi def batch_insert(self): # 读取数据文件 data = pd.read_excel(io.BytesIO(base64.b64decode(self.data_file)), sheet_name='Sheet1') # 批量新增 for index, row in data.iterrows(): product = self.env['product.product'].create({ 'name': row['Name'], 'description': row['Description'], 'list_price': row['Price'] }) return {'type': 'ir.actions.act_window_close'} ``` 在以上示例代码中,我们定义了一个产品模型 Product 和一个批量新增向导 ProductBatchInsertWizard。批量新增向导中包含一个数据文件字段 data_file,用于上传批量新增的数据文件,和一个批量新增函数 batch_insert,用于执行批量新增操作。 在批量新增函数中,我们使用 pandas 库读取上传的 Excel 文件,并使用 iterrows() 方法遍历每一行数据,依次调用 create() 方法创建产品,并将产品数据存储到数据库中。最后,我们返回一个动作,关闭批量新增向导窗口。 需要注意的是,以上代码仅为示例代码,实际应用中需要根据具体业务需求进行适当修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值