表单库组件
新建表单库、表单库列表等
内容列表
新建表单 create_dataitem
代码示例:
# 一个按钮
button = ui.button('新建', style="float:right").icon('plus')
# 点击按钮,会加载一个新建表单,传递表单初始值
create_form = button.load_on('click', context, request, 'zopen.datacontainer:create_dataitem', data=dict(owner=[pid]))
# 新建表单会抛出创建成功事件。捕获这个事件后,调用 zopen.okr:new_okr 脚本
create_form.on('created', context, request, 'zopen.okr:new_okr')
print button
其中load_on载入组件 zopen.datacontainer:create_dataitem 传递参数 data 是表单的初始值,使用dict说明各个参数
编辑表单 edit_dataitem
button = ui.button('编辑', style="float:right").icon('pencil')
edit_form = button.load_on('click', context['okrs'], request, 'zopen.datacontainer:edit_form', data=dict(owner=[pid]))
# 新建表单会抛出创建成功事件
edit_form.on('updated', context, request, 'zopen.okr:new_okr')
print button
查看表单页 view_dataitem_default
这个会显示只读的表单页遮罩窗口
表单清单 dataitem_listing
表单清单组件,提供过滤、分页、排序的表单清单,界面如下:
调用 zopen.datacontainer:dataitem_listing 返回上述表单清单界面组件:
print root.call_script('zopen.datacontainer:dataitem_listing', context=context, request=request, view=view)
可传递如下参数:
- init_query_json: 初始的组合条件,list类型,支持多个条件(query_json)
- limit:只搜索前多少项,默认为None,表示不做限制
- sort:排序依据
- reverse: 倒序
- form_id: 中心表单id(汇总搜索条件)
- page_size: 单页显示条数,如果为0,就不做分页
- columns:表单显示的字段栏目
- widgets:类型为list,展示哪些小部件:
- stage: 阶段筛选
- export:导出/导入功能
- setting: 显示列设置
- select: 多选框
- calendar:控制日历入口;
- stat:统计入口
内置组件
流程历史 workflow_history
某个流程单对象的全部流程历史:
ui.portlets.workflow_history(context, request)
容器下的对象树 container_tree
某个栏目下的对象树,可以方便的添加表单::
ui.portlets.container_tree(context, request)
表单列表 dataitem_list
ui.portlets.dataitem_list(dataitem_batch, request, columns=['title', 'creators', 'created'])
其中:
- ``dataitem_batch`` 是一个表单的batch对象,渲染结果,可以自动分页
- ``columns`` 显示哪些列
表单搜索
ui.portlets.dataitem_search(container, request, search_url)
``search_url`` 是搜索结果处理脚本::
results = search_dataitem(container, request)