在实际开发中,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);
},
这样对选择仓库的时候进行处理,给参数赋值,这样就可以满足要求了。
三、效果如下:
标签:报表,前端,param,参数,jeecgboot,sc,model,id From: https://blog.51cto.com/u_15070324/6088405