应用画布与经营画布的图表联动

在应用画布中,可以通过表单等控件,去筛选通过“ADP图表”控件或“iframe”控件嵌入进来的经营画布图表,例如只看某个时间段内的图表结果,或只看某种内容筛选后的图表结果。

【情况一】经营画布的表是在“查询集合管理”的sql结果基础上进行统计的,并且可以通过sql中设置的参数进行数据筛选。

结合表单的筛选条件,将条件传输给ADP图表的参数,根据参数的结果进行ADP图表的展示。ADP图表适用于单表的展示。

{
  "status": 0,
  "msg": "",
  "data": {
    "mycfg": [{
      "defaultVal": [
        {
          "index": 0,
          "val": "{{date}}"
        }
      ]
    }]
  }
}

【情况二】经营画布的表是在“查询集合管理”的sql结果基础上进行统计的,并且可以通过sql中设置的参数进行数据筛选,其中参数的个数是多个。

{
  "status": 0,
  "msg": "",
  "data": {
    "mycfg": {
      "defaultVal": [
        {
          "index": 0,
          "val": "{{brand}}"
        },
        {
          "index": 1,
          "val": "{{tag}}"
        },
        {
          "index": 2,
          "val": "{{category}}"
        }
      ]
    }
  }
}
  {
      "status": 0,
      "msg": null,
      "data": {
        "options": [
          {% set idset = {} %}
          {% for item in rows %}
          {% if item['crc'] not in idset %}
          {% if  idset.update({item['crc']:True}) %}{% endif %}
          {% if loop.index0 > 0 %},{% endif %}
          {
            "label": "{{item['brand']}}",
            "value": "{{item['brand_data']}}"
          }
          {% endif %}
          {% endfor %}
           ]
        }
  }

如果使用iframe将整个经营画布嵌入到应用画布中,且经营画布的所有图或部分图都是用查询集合管理的结果制作的,则一共有几个图,就需要写几组defaultVal,defaultVal的顺序就是作图的时候的顺序(在业务画布上右键属性,可以看到图表ID,从小到大),如果中间有不需要传参的图,则保留{}即可。

如下:下例为共10张图,其中第二张图不需要传参,其他9张图需要传参,参数为startdate和enddate

{
  "status": 0,
  "msg": "",
  "data": {
    "mycfg": [
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      },
      {
        "defaultVal": [
          {
            "index": 0,
            "val": "{{startdate}}"
          },
          {
            "index": 1,
            "val": "{{enddate}}"
          }
        ]
      }
    ]
  }
}

【情况三】经营画布整张图(通过数据库表直接做的图)都需要嵌入在应用画布中,然后通过表单来传输筛选条件。

1、表单为时间筛选

/shareproject?taskid=1559&projectid=1165&sign=20220223152715a5794fd3&displayfull=1&scroll=0&fullSize=1&name=adp帮助项目1&huabuid=1728&isinterface=1&filter=${yanshi}
{% set configs_list = [] %}
{% do configs_list.append( { "name": "release_date",  "opt": "gte",   "value":startdate })  %}
{% do configs_list.append( { "name": "release_date",   "opt": "lte",   "value":enddate  })  %}
{
  "status":0,
  "msg":null,
  "data":{
    "yanshi":{{configs_list|tojson|tojson}}
  }
}

2、表单为文本类型的字段筛选

{% set configs_list = [] %}
{% do configs_list.append( { "name": "media_name",  "opt": "in",   "value":laiyuan})  %}
{
  "status":0,
  "msg":null,
  "data":{
    "yanshi":{{configs_list|tojson|tojson}}
  }
}

undefined

注:opt不支持like

【情况四】在应用画布中,使用增删改查同时实现数据查询结果与图表的联动展示。


问题没有解决?请留言提问

results matching ""

    No results matching ""