_datahelper
功能说明
描述
数据助手事件』入口函数,启用数据助手后,可在常规范围内配置数据操作相关功能。
- 事件触发有 1 个必要的条件:
①、数据助手界面里,“执行动作”选择“功能插件-后端事件”。
启用助手 | 添加配置 |
---|---|
后端配置 |
---|
函数原型
def _datahelper(triggerType,outputInfo,arg):
参数
名称 | 类型 | 描述 |
---|---|---|
triggerType | 字符型 | 功能助手的操作类型 |
outputInfo | 数组:字典型 | 功能助手的输出表的表头和数据信息 |
arg | 数组:字典型 | 在不同的操作类型下有不同的数据内容,通用信息包含客户端ip,操作人id,浏览器信息,源表别名 |
triggerType | 说明 |
---|---|
initialize | 表单初始化 |
submit | 表单提交数据 |
updateform | 表单编辑数据 |
deleteform | 表单删除数据 |
event | 表单控件触发 |
flownodeforward | 流程提交 |
flownodesave | 流程暂存 |
flownodeback | 流程回退 |
flownodetransfer | 流程转交 |
flownodeclose | 流程关闭 |
datatable_menu | 数据表菜单 |
editInitialize | 表单编辑初始化 |
floweditInitialize | 流程节点初始化 |
schedule | 计划任务 |
batch_menu | 报表菜单 |
import | 数据导入 |
参数详解
outputInfo 的数据格式为:
{
'data':[{
'_widget_1607153981478':'11',
'_widget_1607153981479':'22',
'_widget_1607153981480':'33',
'subform':[{
'_widget_1607153981481':'11',
'_widget_1607153981482':'22',
'_widget_1607153981483':'33'
}]
}],
'header':{
'_widget_1607153981478':{
'name':'_widget_1607153981478',
'text':'单行文本',
'type':'text'
},
'_widget_1607153981479':{
'name':'_widget_1607153981479',
'text':'多行文本',
'type':'textarea'
},
'_widget_1607153981480':{
'name':'_widget_1607153981480',
'text':'数字',
'type':'number'
},
'subform':{
'items':{
'_widget_1607153981481':{
'name':'_widget_1607153981481',
'text':'单行文本',
'type':'text'
},
'_widget_1607153981482':{
'name':'_widget_1607153981482',
'text':'多行文本',
'type':'textarea'
},
'_widget_1607153981483':{
'name':'_widget_1607153981483',
'text':'数字',
'type':'number'
}
},
'name':'subform',
'text':'子表单',
'type':'subform'
}
}
}
名称 | 描述 |
---|---|
header | 表头信息 |
_widget_xxx | 字段id |
subform | 子表单信息 |
name | 字段id |
text | 字段标题 |
type | 字段类型 |
arg的数据格式为:
通用 arg:
{
'formAlias':'test',
'formData':{
"单行文本":{
"data":"11",
"widgetType":"text"
},
"多行文本":{
"data":"11",
"widgetType":"textarea"
},
"子表单":{
"data":[{
"单行文本2":{
"data":"11",
"widgetType":"text"
}
}],
"widgetType":"subform"
},
"数字":{
"data":100,
"widgetType":"number"
}
},
'clientIp':'175.10.233.62',
'operator':'547a48c50eccde5ac8c0883b',
'useragent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
名称 | 描述 |
---|---|
formAlias | 源表别名 |
formData | 源表的数据 |
operator | 当前操作人的userid |
clientIp | 客户端ip |
useragent | 访问此表的userid信息和浏览器信息 |
带控件触发信息的 arg
{
'clientIp':'xxx.xxx.xxx.xxx',
'formAlias':'545f0f4d224f947922b60e75',
'operator':'55cb7d57f7a190e382857117',
'useragent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3823.400 QQBrowser/10.7.4307.400',
'widgetValue':{
'data':'11',
'widgetNameAlias':'单行文本',
'widgetType':'text'
}
}
名称 | 描述 |
---|---|
widgetValue | 控件信息 |
data | 控件数据 |
widgetNameAlias | 控件别名 |
widgetType | 控件类型 |
带流程信息的 arg
{
'clientIp':'175.10.232.171',
'flow':{
'flowId':0,
'flowIdAlias':'节点0',
'flowVer':'1'
},
'formAlias':'545f0f4d224f947922b60e75',
'operator':'55cb7d57f7a190e382857117',
'useragent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3823.400 QQBrowser/10.7.4307.400'
}
名称 | 描述 |
---|---|
flow | 流程信息 |
flowId | 流程节点 |
flowIdAlias | 流程节点别名 |
flowVer | 流程版本 |
带报表弹出表单初始化信息的 arg
{
'clientIp':'175.10.233.62',
'formAlias':'545f0f4d224f947922b60e75',
'initSource':{
'menuInfo':{
'name':'菜单1'
},
'sourceAlias':'5f564e8621e4afb7e9f2549b',
'type':'tablemenu',
'widgetAlias':'_widget_1607157672906'
},
'operator':'55cb7d57f7a190e382857117',
'useragent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3823.400 QQBrowser/10.7.4307.400'
}
名称 | 描述 |
---|---|
initSource | 弹出表单的来源信息 |
menuInfo | 显示的菜单信息(name:菜单名称) |
sourceAlias | 报表别名 |
type | 菜单类型(tablemenu:表示数据表菜单,batchmenu:表示报表菜单) |
widgetAlias | 数据表别名 |
返回值
返回值接受多个返回值。
名称 | 类型 | 描述 |
---|---|---|
第1个返回值 | Boolean(逻辑型) | 返回结果为True(真)或False(假) |
第2个返回值(可选) | json字符串(字符型) | 返回结果包含“前端提示信息”与“修改前端表单字段赋值与属性” |
类型 | 返回值1 | 返回值2 |
---|---|---|
前置返回 | True:通过助手操作 | 继续往下执行后续数据配置功能 |
后置返回 | True:通过助手操作 | 继续往下执行后续数据配置功能 |
前置返回 | False:拦截助手操作 | 前端展示提示并终止执行后续的数据助手功能 |
后置返回 | False:通过助手操作 | 继续往下执行后续数据配置功能 |
没有返回 | 默认True:通过助手操作 | 继续往下执行后续数据配置功能 |
备注
- outputInfo/arg的数值是数组类型,因此大家可以通过数组的形式操作它。
- 数据助手可以解决很多我们前端字段做不到的事情。
- 例如:
批量录入数据,并自动计算相关内容;
新增数据后自动更新本表或其他表单数据;
以特殊格式或需求对提交的数据做特殊校验,如:会员卡、工作证校验等。
示例
def _datahelper(triggerType,outputInfo,arg):
# 这里的data请根据实际业务拼接数据, 如果需要返回前端展示则如下示例:
data={}
data['单行文本']={'data':'11'}
data['多行文本']={'data':'22'}
child={}
child['子表单_单行文本']={'data':'11'}
child['子表单_多行文本']={'data':'22'}
data['子表单']={'data':[child,child]}
# 返回结果
datas={}
datas['data']=data # 前端展示的数据
datas['tip']='this is tip' # 前端的弹出提示
out_ret=json.dumps(datas,ensure_ascii=False)
return True,out_ret
演示示例
- 暂无
安装包下载
- 暂无
相关视频
- 暂无