报表开发

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   作者:王涛