_reporttablemenulib
功能说明
描述
报表的数据表菜单按钮触发事件:在报表表单里,如果点击菜单按钮操作时将触发此函数并执行模块代码,此事件触发有3个必要的条件:
①、表单必须为 报表表单。
②、报表的数据表存在菜单按钮且菜单操作设置里的操作模式为"后端开发"。
③、点击数据表的【菜单栏】按钮时触发此事件。
函数原型
def _reporttablemenulib(config,reportAlias,widgetAlias,formInfo,arg,other):
参数
名称 | 类型 | 描述 |
---|---|---|
config | 数组型 | 模块当前配置中的字段信息 |
reportAlias | 字符型 | 报表别名 |
widgetAlias | 字符型 | 字段别名,例如报表中的数据表等等 |
formInfo | 数组型 | 表单信息 |
arg | 数组 | 触发事件的菜单按钮信息和单条数据信息 |
other | 数组型 | 附加信息,暂时只有前面模块的所有结果集信息,没有的话为空数组 |
参数详解
config的数据格式:
- 请查阅各类模块控件的参数说明。
formInfo 的数据格式:
{
"alias":"表单别名",
"type":"form"
}
名称 | 描述 |
---|---|
alias | 表单别名 |
type | 表单类型(form:普通表单,etl_table:数据视图,aggregate_table:聚合表) |
arg 的数据格式:
{
"operator":"547a48c50eccde5ac8c0883b",
"datas":{
"商品数量":{
"data":"2",
"widgetType":"number"
},
"authority":"enable",
"子表单":{
"data":[
{
"单行文本":{
"data":"11",
"widgetType":"text"
},
"多行文本":{
"data":"22",
"widgetType":"textarea"
}
}
],
"widgetType":"subform"
},
"dataId":"5e099e320a1c8375001be",
"商品名称":{
"data":"安踏",
"widgetType":"text"
}
},
"clientIp":"175.8.178.125",
"menuInfo":{
"name":"删除"
}
}
名称 | 描述 |
---|---|
operator | 当前操作人的userid |
clientIp | 客户端ip |
menuInfo | 显示的菜单信息(name:菜单名称) |
authority | 数据权限,enable表示可操作此条数据,visible表示只能查看数据 |
datas | 菜单事件对应的当前数据信息(dataId:数据id,其他为字段的数据信息) |
other的数据格式:
{
"libResult":[
{
"result":True,
"text":"模块1的数据",
"name":"测试模块",
"datas":{
"单行文本":{
"data":"单行文本的数据"
},
"多行文本":{
"data":"多行文本的数据"
}
}
},
{
"result":True,
"text":"模块2的数据",
"name":"测试模块",
"datas":{
"单行文本":{
"data":"单行文本的数据"
},
"多行文本":{
"data":"多行文本的数据"
}
}
}
]
}
名称 | 描述 |
---|---|
libResult | 前面模块的结果集信息,有几个模块就有几个子数组 |
result | 模块的逻辑型返回值 |
datas | 模块的数组型返回值 |
text | 模块的文本型返回值 |
name | 模块的名称 |
返回值
返回值接受多个返回值。
- 第一个返回值是Boolean(逻辑型),返回结果True(真)或False(假)。
- 第二个返回值是Json字符串(可选),预留。
- 第三个返回值是字符串(可选),返回给页面弹出提示。 (如果没有返回值时第一个返回值默认为True(真),第二/三个返回值默认为空)
事件触发示意图:
备注
- formInfo/arg 的数值是数组类型,因此大家可以通过数组的形式操作它。
示例
def _reporttablemenulib(config,reportAlias,widgetAlias,formInfo,arg,remark):
# 查询当前影响的数据
where={"AND":[{"name":"_id","val":arg["datas"]["dataId"],"exp":"="}]}
ret=form.selectdata(formInfo["alias"],["*"],where)
print(ret)
# 返回值
out_ret=""
# return False,out_ret,"我是警告信息"
return True,out_ret,"我是提示信息"
演示示例
- 暂无
安装包下载
- 暂无
相关视频
- 暂无