在实际开发中,jeecgboot里的在线开发里的报表配置带有参数的情况,所以需要如何调用这种报表,官方没有提出方法,我把我解决的办法写出来,供大家参考。
一、带参数的选择有库存销售商品选择报表
如下:
select a.id,a.code,a.name,a.spu_id,a.category_id,a.brand_id,a.tax_rate,a.sale_tax_rate,a.spec,a.unit,a.status,b.purchase,b.sale,b.retail,c.stock_num from erp_goods a left join erp_goods_price b on a.id = b.id left join erp_goods_stock c on a.id = c.goods_id where a.status = '1' and c.sc_id = ${sc_id} 其中参数是为sc_id仓库id
二、调用上面带参数报表方法
首先定义一个参数param ,同时对选择商品id里设置调用的这个报表,设置如下:
这里采用popup类型,popupCode就是报表编码,param是传递的参数,设置如下
//自定义配置报表参数 param:{ sc_id: '', },
<a-col :span="8" > <a-form-model-item label="仓库ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scId"> <j-popup v-model="model.scId" field="scId" org-fields="id" dest-fields="scId" code="SelectorWarehouse" :multi="false" @input="popupCallback" /> </a-form-model-item> </a-col>
popupCallback(value,row){ this.model = Object.assign(this.model, row); this.param.sc_id = this.model.scId; this.erpSaleOutDetailTable.columns[0].param = this.param; this.isAdd = true; console.log("popupCallback param=",this.param); console.log("popupCallback this.erpSaleOutDetailTable.columns[goodsId].param=",this.erpSaleOutDetailTable.columns[0].param); },
这样对选择仓库的时候进行处理,给参数赋值,这样就可以满足要求了。
三、效果如下: