报表开发
1、说明
在日常开发中,业务部门总有各种报表需求,而系统一开始设计不可能考虑到所有需求。所以,利用动态报表功能可以实现报表需求的快速开发,无需发布系统
2、入口
报表管理 -> 报表开发
3、新增报表

3.1 SQL写法说明
select
purchase_order_no AS '制单号',
goods_no AS '大货款号',
design_no AS '设计款号',
created AS '创建时间',
create_user AS '创建人',
delivery_date AS '交货日期'
from
produce_purchase_order ppo
where
data_source = 3 and status = 90
and ${where}
order by created desc

3.2 查询条件JSON写法说明
{
"items": [
{
"args": {
"required": false
},
"disabled": 0,
"expression": "",
"field": "created:beg",
"id": "created:beg",
"name": "创建时间开始",
"operator": ">=",
"tableModel": "",
"type": "datetime",
"defaultValue": "dayjs().subtract(6, 'month').format('YYYY-MM-DD 00:00:00')" //设置默认开始时间为6个月之前
}, {
"expression": "",
"field": "created:end",
"id": "created:end",
"name": "创建时间结束",
"operator": "<=",
"tableModel": "",
"type": "datetime"
},
{
"expression": "",
"field": "ppo.delivery_date",
"id": "ppo.delivery_date",
"name": "交货日期",
"operator": "=",
"tableModel": "",
"type": "datetime"
},
{
"expression": "",
"field": "goods_no",
"id": "goods_no",
"name": "大货款号",
"operator": "=",
"tableModel": "",
"type": "input"
},
{
"field": "purchase_order_no",
"id": "purchase_order_no",
"name": "制单号",
"operator": "=",
"tableModel": "",
"type": "input"
},{
"field": "order_type",
"id": "order_type",
"name": "订单类型",
"operator": "=",
"tableModel": "",
"type": "filteringSelect",
"dynamicKey": "sampleTypeName",
"dynamic": false,
"options": [
{
"value": "0",
"label": "首单"
},
{
"value": "1",
"label": "返单"
}
]
},{
"field": "create_user",
"id": "create_user",
"name": "创建人",
"operator": "=",
"type": "filteringSelect",
"dynamicKey": "create_user",
"dynamic": true,
"options": [
],
"apiOptions": { // apiOptions 配置下拉选取值接口,是一种通过接口调用获取下拉框的枚举值的方法
"url": "/eop-boot/masterData/user/selector",
"method": "post",
"params": {
"status": "1"
},
"label": "name",// 下拉选项label转换
"value": "name" // 下拉选项value转换
}
}
]
}
- 文本输入框
{
"expression": "",
"field": "goods_no",//id和field相同 是最终生成sql语句中查询条件 字段名称
"id": "goods_no",
"name": "大货款号",
"operator": "=",//条件类型
"tableModel": "",
"type": "input"//组件类型
}
- 时间
{
"field": "created:beg",
"id": "created:beg",
"name": "创建时间开始",
"operator": ">=",
"tableModel": "",
"type": "datetime",
"defaultValue": "dayjs().subtract(6, 'month').format('YYYY-MM-DD 00:00:00')" //设置默认值
}
日期
{ "expression": "", "field": "ppo.delivery_date", "id": "ppo.delivery_date", "name": "交货日期", "operator": "=", "tableModel": "", "type": "date" }
下拉单选
根据下拉组件的数据源的处理方式,可分为三类
静态数据
{
"field": "order_type",
"id": "order_type",
"name": "订单类型",
"operator": "=",
"tableModel": "",
"type": "filteringSelect",
"dynamicKey": "sampleTypeName",
"dynamic": false,
"options": [
{
"value": "0",
"label": "首单"
},
{
"value": "1",
"label": "返单"
}
]
}
通过sql调用接口获取(仅支持scm的数据)
{
"field": "brand_id",
"id": "brand_id",
"name": "品牌",
"operator": "=",
"tableModel": {
"sqlPlainText":"select id as code,brand_name
as name from basic_brand bb where deleted =0"
},
"type": "filteringSelect",
"dynamic": true,
"options": []
}
通过后端url直接请求获取数据(可取fms系统的数据)
{
"field": "create_user",
"id": "create_user",
"name": "创建人",
"operator": "=",
"type": "filteringSelect",
"dynamic": true,
"options": [
],
"apiOptions": { // apiOptions 配置下拉选取值接口,是一种通过接口调用获取下拉框的枚举值的方法
"url": "/eop-boot/masterData/user/selector",
"method": "post",
"params": {
"status": "1"
},
"label": "name",// 下拉选项label转换
"value": "name" // 下拉选项value转换
}
}
文档更新时间: 2024-02-26 15:36 作者:王涛