元数据多环境在线发布功能说明

该功能依赖应用环境(designer_metadata)模块, 请确保体验环境的后端yml配置有该依赖

一 产品功能说明

设计同步部署

设计同步部署功能实现不同环境设计数据一键同步的目标,即将A环境设计完成的模型、界面、等设计数据一键部署至B环境。
使用此功能,需要在‘应用中心’安装‘应用环境’:
image.png
‘应用环境’安装完成,进入发起同步部署环境——>业务应用——>‘应用环境’,对要进行快速部署的发起环境、目标环境进行配置:
image.png
image.png
image.png
image.png
在进行多个环境同步部署设计数据时,必须正确配置发起环境、目标环境。
完成配置后,在应用中心,选择目标‘已安装’应用,在操作下拉菜单选择待部署设计类型,即可按照指引完成操作:
image.png

设计导出

设计导出功能具备将已安装应用所属(应用技术名称)设计元数据,如模型、界面、流程、集成设计、数据可视化导出为json文件的能力,具备筛选导出、一键导出两种方式以满足不同业务场景需要。
目标是实现在多个环境通过技术接口调用、或通过应用中心导入界面完成导入,使设计元数据在不同环境之间快速迁移同步:
image.png
image.png

:::info

  • 因平台允许多个应用名称相同,能够唯一定位具体应用使用的是‘应用技术名称’,因此识别应用标识的依据为应用技术名称。
    :::

    设计导入

    迁移导入

    对于已导出设计元数据json文件,如果导出类型为‘迁移导出’,可以在不同环境,通过应用中心——>已安装应用——>设计导入(迁移),实现设计数据导入:
    image.png

    标品导入

    对于导出类型为‘标品导出’的设计元数据,目前只支持通过技术接口形式完成导入,暂不支持界面进行可视化导入操作。

    导出导入任务

    不同环境设计元数据以导入json文件方式进行迁移的基础是设计导出,基于界面导入实现设计元数据在不同环境进行迁移场景、或通过技术接口导入以实现标品升级的场景,存在导出类型为迁移导出、标品导出的区别。
    使用此功能的操作者需要依据实际需求场景进行相应导出类型的选择。

    导出任务查看

    对于已经执行导出的任务,可通过‘应用环境——>设计导出’查看导出任务信息:
    image.png
    image.png

    导入任务查看

    对于已经执行导入的任务,可通过‘应用环境——>设计导入’查看导入任务状态、进度、详细信息:
    image.png
    image.png

    部署任务

    部署任务功能用于查看设计数据同步部署功能任务状态、详细信息;分为发起环境任务查看、目标环境任务查看。
    无论是发起环境,或是目标环境,均通过所属环境‘应用环境’中‘部署任务’功能进行查看:
    image.png

    二 产品功能操作手册

    设计导出

    环境迁移导出

    点击‘业务应用——>应用中心’,进入应用中心,默认显示‘应用列表’标签页:
    image.png
    选择‘已安装’应用——>操作,出现操作菜单:
    image.png
    选择‘设计导出’,显示支持导出的各设计项:
    image.png

    模型导出

    操作菜单选择‘模型导出’:
    image.png
    打开模型导出信息弹窗:
    image.png
    在弹窗页中存在要素信息项及操作项:

  • 导出类型:选择‘迁移导出’。

  • 文件名称:默认为‘应用名称+设计类型’。

  • 导出模式:异步模式,不可修改。

  • 导出格式:JSON文件,不可修改。

  • 一键导出:操作项,直接导出当前应用下的所有无代码模型,不需要筛选。

  • 筛选导出:操作项,进入无代码模型导出筛选页,选择要导出的设计数据。

    一键导出

    点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
    image.png
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    筛选导出

    点击‘筛选导出’,进入无代码模型导出筛选页:
    image.png
    筛选页面按照‘模型类型’、‘可用/废弃’、‘来源’选择或输入查找条件,点击‘搜索’,进行条件搜索,查找满足条件无代码模型:
    image.png
    点击‘重置’按钮,清空已输入查找条件:
    image.png
    点击列表标题栏勾选框,可进行全选/取消全选操作,全选——选择全部模型,取消全选——取消所有已勾选项:
    image.png
    勾选要导出模型,点击‘导出’按钮:
    image.png
    回到应用中心,右上角提示导出信息:
    image.png
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    界面导出

    ‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>界面导出,弹出界面导出信息项弹窗,‘导出类型’选择‘迁移导出’:
    image.png

    一键导出

    点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
    image.png
    界面导出会将所选菜单项、菜单目录路径、菜单绑定页面、页面使用的自定义组件全部导出为json文件。
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    筛选导出

    点击‘筛选导出’,进入应用环境——>界面导出筛选页面,显示当前应用下所有菜单项:
    image.png
    查询项‘菜单名称’输入名称,点击‘搜索’按钮,进行模糊查找匹配的菜单项:
    image.png
    点击‘清除’按钮,清除已输入的查询内容:
    image.png
    勾选菜单项后,点击‘导出’按钮:
    image.png
    回到应用中心页面,同时页面右上角提示导出进行中信息:
    image.png
    界面导出会将所选菜单项、上级菜单目录项、菜单绑定页面、页面使用的自定义组件全部导出为json文件。
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    流程导出

    点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>流程导出,弹出导出信息弹窗:
    image.png
    ‘导出类型’选择‘迁移导出’。

    一键导出

    点击‘一键导出’:
    image.png
    关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
    image.png
    一键导出流程数据会按照应用技术名称,将当前应用下所有流程、元数据、涉及的业务数据如审批用户、角色等全部导出为json文件。
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    筛选导出

    点击‘筛选导出’:
    image.png
    进入流程数据筛选页面,显示当前应用(技术名称)下所有已发布流程:
    image.png
    支持按照流程名称(模糊匹配)、触发方式(模型触发、定时触发、日期触发、子流程)进行筛选;输入筛选条件,点击搜索按钮,查找匹配结果:
    image.png
    点击‘清除’按钮,清空筛选内容:
    image.png
    勾选列表流程项,点击‘导出’按钮:
    image.png
    返回应用中心,同时页面右上角提示导出信息:
    image.png
    流程导出会将应用(技术名称)下的所有已发布流程及相关元数据、业务数据全部导出为json文件。
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    集成导出

    点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>集成导出,弹出集成导出信息项弹窗,‘导出类型’选择‘迁移导出’:
    image.png

    一键导出

    点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
    image.png
    一键导出集成数据会按照应用技术名称,将所有已发布数据流程;以及所有已启用连接器(与应用无关)、已启用开放接口(与应用无关)全部导出为json文件。
    导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

    筛选导出

    点击‘筛选导出’:
    image.png
    进入集成数据筛选页面,默认显示‘连接器’标签页——>应用(已启用)数据项列表:
    image.png
    可选项:

  • 连接器:应用(已启用状态)、数据库(已启用状态)、与应用无关。

  • 数据流程:已发布状态,且属于发起导出应用(技术名称)下的数据流程。

  • 开放平台:API接口(已启用状态)、与应用无关。

以上各项在列表中展示的数据均可勾选并支持导出为json文件:
image.png
勾选列表数据项,点击‘导出’按钮:
image.png
image.png
回到应用中心,右上角显示导出提示信息:
image.png
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

数据可视化导出

点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>数据可视化导出,弹出数据可视化导出信息项弹窗,‘导出类型’选择‘迁移导出’:
image.png

一键导出

点击‘一键导出’:
image.png
关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
image.png
一键导出数据可视化会将所有已发布图表(含路径目录)、报表(含路径目录)、数据大屏(含路径目录)、图表模版全部导出为json文件。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

点击‘筛选导出’:
image.png
进入数据可视化筛选列表页面,默认显示‘图表’标签页,并展示已发布图表数据项列表:
image.png
标签页:

  • 图表:显示所有已发布状态图表,以树形结构展示,支持按照‘图表名称’模糊匹配查找。
  • 报表:显示所有已发布状态报表,以树形结构展示,支持按照‘报表名称’模糊匹配查找。
  • 数据大屏:显示所有已发布状态数据大屏,以树形结构展示,支持按照‘数据大屏名称’模糊匹配查找。
  • 图表模版:显示所有图表模版,列表形式展示,支持按照‘图表名称’模糊匹配查找。

image.png
勾选列表数据项,点击‘导出’按钮:
image.png
关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:
image.png
筛选导出数据可视化数据会将所有已发布图表(含路径目录)、报表(含路径目录)、数据大屏(含路径目录)、图表模版全部导出为json文件。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

标品导出

点击‘业务应用——>应用中心’,进入应用中心,点击‘应用列表’标签项;选择‘已安装’应用,点击操作,出现操作菜单:
image.png
选择‘设计导出’,显示支持导出的各设计项:
image.png

模型导出

点击‘业务应用——>应用中心’,进入应用中心;点击已安装应用——>操作,出现操作菜单:
image.png
选择‘设计导出——>模型导出’:
image.png
打开导出信息弹窗:
image.png

一键导出

导出过程同《1.1.1.1 设计导出/环境迁移导出/模型导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

导出过程同《1.1.1.2 设计导出/环境迁移导出/模型导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

界面导出

点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>界面导出,‘导出类型’选择‘标品导出’:
image.png

一键导出

导出过程同《1.1.2.1 设计导出/环境迁移导出//界面导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

导出过程同《1.1.2.2 设计导出/环境迁移导出/界面导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

流程导出

点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>流程导出,‘导出类型’选择‘标品导出’:
image.png

一键导出

导出过程同《1.1.3.1 设计导出/环境迁移导出/流程导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

导出过程同《1.1.3.2 设计导出/环境迁移导出/流程导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

集成导出

点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>集成导出,‘导出类型’选择‘标品导出’:
image.png

一键导出

导出过程同《1.1.4.1 设计导出/环境迁移导出/集成导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

导出过程同《1.1.4.2 设计导出/环境迁移导出/集成导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

数据可视化导出

点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>数据可视化导出,‘导出类型’选择‘标品导出’:
image.png

一键导出

导出过程同《1.1.5.1 设计导出/环境迁移导出/数据可视化导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

筛选导出

导出过程同《1.1.5.2 设计导出/环境迁移导出/数据可视化导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。
导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。

导出任务查看

点击‘业务应用——>应用环境’,进入应用环境:
image.png
点击‘设计导出’,显示导出任务信息列表:
image.png
点击导出任务项操作栏‘详情’,进入导出任务详情查看页:
image.png
点击‘关联文件’,可保存下载导出文件:
image.png
点击‘返回’按钮:
image.png
回到导出任务信息列表页。

设计导入

环境迁移导入

进入导入目标环境,点击‘业务应用——>应用中心’,进入应用中心;选择要导入设计数据的已安装应用:
image.png

模型导入

导入

选择‘模型导入’:
image.png
打开导入文件上传信息弹窗:
image.png
选择要导入的json文件:
image.png
选择文件后,显示待导入文件:
image.png
点击‘确定’按钮,执行设计数据迁移导入:
image.png
如果选择的导入文件类型为非迁移导出文件,则右上方提示(其它设计类型迁移导入文件类型同此):
image.png
导入文件选择正确,点击确定后,右上角提示导入信息:
image.png
点击‘设计器——>模型设计器’:
image.png

验证导入结果

进入导入环境模型设计器,查看导入数据是否已成功导入:
image.png
image.png

界面导入

导入

选择‘界面导入’:
image.png
打开导入文件上传弹窗:
image.png
选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息:
image.png

验证导入结果

进入界面设计器,检查导出数据是否正确导入:
image.png
image.png
image.png

流程导入

导入

选择‘流程导入’:
image.png
打开导入文件上传弹窗页面:
image.png
选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息:
image.png

验证导入结果

进入流程设计器,检查导出数据是否正确导入:
image.png
image.png

集成导入

导入

选择‘集成导入’:
image.png
打开导入文件上传弹窗:
image.png
选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息:
image.png

验证导入结果

进入集成设计器,检查导出数据是否正确导入。
验证连接器:
image.png
image.png
验证数据流程:
image.png
image.png
验证开放接口:
image.png
image.png

数据可视化导入

导入

选择‘数据可视化导入’:
image.png
打开导入文件上传弹窗:
image.png
选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息:
image.png

验证导入结果

进入数据可视化,检查导出数据是否正确导入:
验证图表:
image.png
image.png
验证报表:
image.png
image.png
验证数据大屏:
image.png
image.png
验证图表模版:
image.png
image.png

设计导入任务查看

导入环境,点击‘业务应用——>应用环境’,进入应用环境;点击‘设计导入’:
image.png
显示所有设计导入信息列表:
image.png
点击‘详情’,查看设计导入详细信息:
image.png
点击‘返回’按钮,回到导入信息列表展示页:
image.png

同步部署

部署环境管理

创建部署环境

选择:业务应用——>应用环境,进入应用环境;默认显示当前所有已配置环境:
image.png

删除部署环境配置

未勾选任何已配置部署环境时,删除按钮不可用:
image.png
勾选一条或多条已配置环境信息,点击”删除“,可完成已配置部署环境删除:
image.png

编辑部署环境配置

点击部署环境配置项操作栏‘编辑’操作,进入部署环境配置项编辑页:
image.png
支持对所有配置项数据进行修改编辑;其中标红项为必须,即不能为空,且名称不能重复。
点击‘返回’按钮,放弃本次编辑,回到部署环境配置项列表页:
image.png
点击‘确定’按钮,保存编辑内容,并回到部署环境配置列表展示页:
image.png

部署环境详情查看

点击部署环境配置项,操作栏‘详情’,进入部署环境配置项详情查看页面:
image.png
点击‘返回’按钮,回到部署环境配置列表展示页:
image.png

确认部署目标环境配置

进入应用环境,点击‘部署环境配置’,显示当前已配置环境列表:
image.png
检查是否已配置同步部署目标环境,如已存在,无需再次配置。
image.png

模型部署

应用中心选择已安装应用——>操作——>同步部署——>模型部署:
image.png
打开模型部署弹窗:
image.png
选择部署环境(必须):
image.png

一键部署

点击‘一键部署’按钮:
image.png
回到应用中心,页面右上方出现一键部署提示信息:
image.png

筛选部署

点击‘筛选部署’按钮:
image.png
进入模型筛选页面,操作同《1.1.1.2 设计导出/环境迁移导出/模型导出/筛选导出》,区别是筛选完成后需要点击‘同步’按钮,即可无需导出导入过程,直接将已选择模型同步部署至目标环境:
image.png

部署结果验证

进入部署目标环境/模型设计器,查看模型同步部署结果,操作同《2.1.1.2 设计导入/环境迁移导入/模型导入/验证导入结果》。

界面部署

应用中心选择已安装应用——>操作——>同步部署——>界面部署:
image.png
打开部署弹窗:
image.png
选择部署环境(必须):
image.png

一键部署

点击‘一键部署’按钮:
image.png
回到应用中心,页面右上方出现一键部署提示信息:
image.png

筛选部署

点击‘筛选部署’按钮:
image.png
进入筛选页面,操作同《1.1.2.2 设计导出/环境迁移导出/界面导出/筛选导出》,区别是筛选完成后需要点击‘同步’按钮,即可无需导出导入过程,直接将已选择数据同步部署至目标环境:
image.png

验证部署结果

进入部署目标环境/界面设计器,查看界面同步部署结果,操作同《2.1.2.2 设计导入/环境迁移导入/界面导入/验证导入结果》。

流程部署

应用中心选择已安装应用——>操作——>同步部署——>流程部署:
image.png
打开流程部署弹窗:
image.png
选择部署环境(必须):
image.png

一键部署

点击‘一键部署’按钮:
image.png
回到应用中心,页面右上方出现一键部署提示信息:
image.png
当前应用(技术名称)下所有已启用状态流程、所使用元数据、所使用业务数据,同步部署至目标环境。

筛选部署

点击‘筛选部署’按钮:
image.png
进入筛选页面,操作同《1.1.3.2 设计导出/环境迁移导出/流程导出/筛选导出》,区别是筛选完成后需要点击‘同步’按钮,即可无需导出导入过程,直接将已选择数据同步部署至目标环境:
image.png

验证部署结果

进入部署目标环境/流程设计器,查看同步部署结果,操作同《2.1.3.2 设计导入/环境迁移导入/流程导入/验证导入结果》。

集成部署

应用中心选择已安装应用——>操作——>同步部署——>集成部署:
image.png
打开部署弹窗:
image.png
选择部署环境(必须):
image.png

一键部署

点击‘一键部署’按钮:
image.png
回到应用中心,页面右上方出现一键部署提示信息:
image.png
当前应用(技术名称)下所有已启用连接器、已发布数据流程、已启用数据库(与应用无关)、已启用开放接口(与应用无关),同步部署至目标环境。

筛选部署

点击‘筛选部署’按钮:
image.png
进入筛选页面,操作同《1.1.4.2 设计导出/环境迁移导出/集成导出/筛选导出》,区别是筛选完成后需要点击‘同步’按钮,即可无需导出导入过程,直接将已选择数据同步部署至目标环境:
image.png

验证部署结果

进入部署目标环境/集成设计器,查看同步部署结果,操作同《2.1.4.2 设计导入/环境迁移导入/集成导入/验证导入结果》。

数据可视化部署

应用中心选择已安装应用——>操作——>同步部署——>数据可视化部署:
image.png
打开部署弹窗:
image.png
选择部署环境(必须):
image.png

一键部署

点击‘一键部署’按钮:
image.png
回到应用中心,页面右上方出现一键部署提示信息:
image.png
当前环境所有图表、报表、数据大屏,以及所有图表模板(无发布状态),同步部署至目标环境。

筛选部署

点击‘筛选部署’按钮:
image.png
进入筛选页面,操作同《1.1.5.2 设计导出/环境迁移导出/数据可视化导出/筛选导出》,区别是筛选完成后需要点击‘同步’按钮,即可无需导出导入过程,直接将已选择数据同步部署至目标环境:
image.png

验证部署结果

进入部署目标环境/数据可视化,查看同步部署结果,操作同《2.1.5.2 设计导入/环境迁移导入/数据可视化导入/验证导入结果》。

部署任务查看

发起环境部署任务查看

进入部署发起环境,点击‘业务应用——>应用环境’,进入应用环境后点击‘部署任务’,显示部署任务信息列表:
image.png
点击‘详情’,查看部署任务详细信息:
image.png
点击‘返回’按钮:
image.png
返回部署任务信息展示列表。

目标环境部署任务查看

进入部署目标环境,点击‘业务应用——>应用环境’,进入应用环境后点击‘部署任务’,显示部署任务信息列表:
image.png
其它操作同《3.7.1 同步部署/部署任务查看/发起环境部署任务查看》。

Oinone社区 作者:shao原创文章,如若转载,请注明出处:https://doc.oinone.top/designer/14947.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

Like (0)
shao's avatarshao数式管理员
Previous 2024年8月7日 pm10:28
Next 2024年8月8日 pm12:19

相关推荐

  • 如何实现页面间的跳转

    介绍 在日常的业务中,我们经常需要在多个模型的页面之间跳转,例如从商品的行可以直接点击链接跳转到类目详情,还有查看该订单发起的售后单列表,这里将给大家展示如何在oinone中如何实现这些功能。 方法一、通过界面设计器的无代码能力配置 表格行跳转到表单页/详情页 拖入一个跳转动作到表格行,保存动作后,在左侧的动作属性面板底部有个请求配置,里面的上下文属性就是配置跳转参数的地方,点击添加按钮可以增加一行参数 点击添加按钮后,可以看到新增了一行,行内有2个输入框,左侧输入框为目标视图模型的字段,右侧输入框为当前视图模型的表达式 注意 表达式中activeRecord关键字代表当前行的数据对象 “上下文”相关知识点 当前页面的模型和跳转后的页面模型相同的情况下,会字段带上当前行数据的id作为路由参数 上下文是从当前页面跳转到下个页面带的自定义参数 上下文会作为跳转后的页面数据加载函数的入参,后端的该函数需要根据该条件查询到数据返回给前端,典型的例子就是编辑页,根据id查询对象的其他字段信息返回 跳转后页面的数据加载函数可以在动作场景的时候选择加载函数,也可以在页面的加载函数处设置 方法二、通过低代码方式在自定义代码中调用 oinone提供了内置函数executeViewAction实现该功能 import { DefaultComparisonOperator, executeViewAction, QueryExpression, RuntimeViewAction, ViewActionTarget, ViewType } from '@kunlun/dependencies'; export class JumpActionWidget { protected goToObjectView() { executeViewAction( { viewType: ViewType.Form, moduleName: 'resource', model: 'resource.ResourceCountry', name: 'redirectUpdatePage', target: ViewActionTarget.Router } as RuntimeViewAction, undefined, undefined, { // 此处为id参数,目前只有表单和详情页需要 id: '12223', // 此处为上下文参数,context内对象的key是目标页面需要传递的默认值 context: JSON.stringify({code: 'xxx'}), // 此处为跳转后左侧菜单展开选中的配置 menu: JSON.stringify({"selectedKeys":["国家"],"openKeys":["地址库","地区"]}) } ); } protected goToListView() { const searchConditions: QueryExpression[] = []; searchConditions.push({ leftValue: ['countryCode'], // 查询条件的字段 operator: DefaultComparisonOperator.EQUAL, right: 'CN' // 字段的值 }); executeViewAction( { viewType: ViewType.Table, moduleName: 'resource', model: 'resource.ResourceCity', name: 'resource#市', target: ViewActionTarget.OpenWindow } as RuntimeViewAction, undefined, undefined, { // searchConditions相当于domain,不会随页面搜索项重置动作一起被清空 searchConditions: encodeURIComponent(JSON.stringify(searchConditions)), // searchBody的字段会填充搜索区域的字段组件,会随页面搜索项重置动作一起被清空 searchBody: JSON.stringify({code: 'CN'}), menu: JSON.stringify({"selectedKeys":["国家"],"openKeys":["地址库","地区"]}) } ); } } 扩展知识点 为什么executeViewAction跳转到的新页面不是入参的moduleName属性对应的模块? 答:跳转后所在的模块优先级为: 第一个入参的resModuleName属性对应的模块 执行executeViewAction时所在的模块 第一个入参的moduleName属性对应的模块 如何快速获取选中菜单的值? 答:先通过页面菜单手动打开页面,然后在浏览器自带调试工具的控制台执行decodeURIComponent(location.href),其中的menu参数就是我们需要的值

    2024年5月13日
    3.7K00
  • 工作流动态表单使用说明

    需求背景 为了提高操作效率并简化流程设计过程,应对伙伴们反映的在流程设计器中,即使填写/审批流程相同,不同模型也需重新配置的问题,我们引入了“动态表单”功能。此功能旨在减少重复配置的需求,通过设置节点名称和绑定视图,便可实现审批流程相同而视图不同,从而使得相同的审批流程可以被高效重复利用。 核心功能是:通过自定义函数实现视图的动态渲染,如图所示《动态表单函数》。 自定义动态表单函数 动态表单函数定义规则如下: namespace:强制为 WorkflowFunctionConstant.FUNCTION_NAMESPACE。 fun:强制以 WorkflowFunctionConstant.WORKFLOW_CUSTOM_VIEW_FUNCTION_PREFIX 为前缀。 入参说明: 参数1:节点数据,例如,配合instanceof可以判断当前是填写节点(WriteNode)还是审批节点(ApprovalNode)。 参数2:触发节点的模型数据,如果您的触发节点不确定,可以通过Map接收参数。 参数3:该节点所配置数据来源的数据。 出参说明:视图,如果出参为null,流程终止运行,错误信息提示为“流程节点执行失败,动态表单函数获取视图为空”。 @Slf4j @Component @Fun(WorkflowFunctionConstant.FUNCTION_NAMESPACE) public class DynamicFormCustom { /** * 根据动态表单任务获取视图 * * @param node 节点数据 * @param dynamicFormTask 触发节点数据 * @param dataObj 源数据 */ @Function.fun(WorkflowFunctionConstant.WORKFLOW_CUSTOM_VIEW_FUNCTION_PREFIX + "fetchDynamicFormFunction") @Function.Advanced(displayName = "[内置]获取动态表单函数") @Function(name = "fetchDynamicFormFunction") public View fetchDynamicFormFunction(Node node, DynamicFormTask dynamicFormTask, Map<String, Object> dataObj) { DynamicFormTaskNode dynamicFormTaskNode = fetchDynamicFormTaskNode(node, dynamicFormTask); if (dynamicFormTaskNode == null) { return null; } dynamicFormTaskNode.fieldQuery(DynamicFormTaskNode::getView); return dynamicFormTaskNode.getView(); } private DynamicFormTaskNode fetchDynamicFormTaskNode(Node node, DynamicFormTask dynamicFormTask) { List<DynamicFormTaskNode> dynamicFormTaskNodeList = Models.origin().queryListByWrapper(Pops.<DynamicFormTaskNode>lambdaQuery() .from(DynamicFormTaskNode.MODEL_MODEL) .eq(DynamicFormTaskNode::getNodeName, node.getNodeName()) .eq(DynamicFormTaskNode::getTaskCode, dynamicFormTask.getCode()) ); if (CollectionUtils.isEmpty(dynamicFormTaskNodeList)) { return null; } if (dynamicFormTaskNodeList.size() > 1) { log.error("工作流动态获取表单函数视图匹配多个,{}", JsonUtils.toJSONString(dynamicFormTaskNodeList)); } return dynamicFormTaskNodeList.get(0); } } 相关链接 工作流动态表单最佳实践

    2025年2月7日
    1.2K00
  • 【界面设计器】左树右表

    阅读之前 你应该: 熟悉模型的增删改查相关内容。【界面设计器】模型增删改查基础 名词解释 主体:在视图中提供数据源的主要组件,并且所有动作都围绕着该主体展开。 一级搜索:在表格视图中,上方直观可见的搜索区,为表格提供筛选功能。 二级搜索:与一级搜索不同的是,其搜索条件是通过某些组件的行为追加到一级搜索条件之上的筛选功能。 概述 平台中对于左树右表提供了两种类型的展示形式。 在表格视图中的左树右表,是以表格为主体,树组件为表格提供了二级搜索功能。选中树节点时将对表格追加节点的搜索条件,并重新执行查询。 在树视图中,是以树为主体,其展开的视图可以是表格、表单、详情等其他视图。 PS:不论是树、级联这些视图组件,还是树选择、级联这些字段组件,其配置数据结构的方式是不尽相同的。唯一的区别在于最终到达的目标模型来源不同。 场景1 为了方便接下来的描述,我们需要先构建一个基本的业务场景,这个场景中包含【商品】和【商品类目】两个模型。 在【商品】的表格左侧添加【商品类目】树,选择某个商品类目后,可以根据商品类目进行筛选,查询所属类目下的全部商品。 其中【商品类目】使用【卡片级联】的展示方式进行管理。 其模型定义如下: 商品(Item) 名称 API名称 业务类型 是否多值 长度(单值长度) 关联模型 关联字段 ID id 整数 否 – – – – 编码 code 文本 否 128 – – – 名称 name 文本 否 128 – – 所属类目 category 多对一 否 – 商品类目(ItemCategory) categoryId – id 所属类目ID categoryId 整数 否 – – – 商品类目(ItemCategory) 名称 API名称 业务类型 是否多值 长度(单值长度) 关联模型 关联字段 ID id 整数 否 128 – – 编码 code 文本 否 128 – – – 名称 name 文本 否 128 – – 上级类目 parent 多对一 是 – 商品类目(ItemCategory) parentId – id 上级类目ID parentId 整数 否 – – – PS:实际业务场景中,【商品类目】通常使用编码进行关联,即parentCode – code;不仅如此,通常还会添加treeCode字段,以此来实现高效查询当前节点的所有子节点的能力。在演示模型中,我们不必关注这些内容。 创建【商品】视图 设置联动关系 这里我们需要配置的是【商品类目】的树结构,因此,在【第1级关联】中的模型选择【商品类目】。 在【商品类目】中是通过【上级类目】进行的自关联,因此,在【第1级关联】中的【自关联关系字段】选择【上级类目】。 在选中【商品类目】节点后,需要对右侧表格发起查询。其筛选条件是通过【商品】中的【所属类目】进行筛选的。因此,在【第1级关联】中的【表格关联关系字段】选择【所属类目】。那么,在表格发起查询前,会根据【所属类目】字段的关联关系配置自动添加筛选条件。 配置如下图所示: 创建【商品类目】视图 设置联动关系 这里我们需要配置的是【商品类目】的树结构(级联只是树结构的另一种表现形式) 细心的同学可能发现这里没有【表格关联关系字段】,因此,我们仅需配置【自关联关系字段】即可。 配置如下图所示: 为【商品类目】添加增删改查基础功能 与表格视图不同的是,行内动作区被放在了第一个卡片中的动作区,其他配置方式完全一致。 在这里需要理解的是,一个树节点对应的是表格中的一行。 【商品类目】使用展开视图进行编辑(可选) 打开【支持展开视图】开关,并设置展开视图。这里我们用表单视图进行编辑操作。 和其他表单一样,我们将必要的字段和动作拖入对应区域即可。 由于展开视图只会在选中节点时出现,因此我们仅需提供更新功能即可。 这里需要注意: 提交动作默认打开了【返回上一页】的功能,在当前场景中,更新动作提交数据后,没有上一页需要返回,因此需要关闭【返回上一页】的开关。 提交动作默认打开了【刷新当前视图】的功能,在当前场景中,更新按钮处于【展开视图】中,仅刷新当前视图是不够的,当数据发生变更时,我们需要将级联组件一并刷新,因此需要打开【刷新主视图】的开关。 PS:【编辑】动作和【展开视图编辑】功能是重复的,在使用时应该只选择其中一种。 【商品类目】限制仅支持四级,并为每一个卡片添加标题(可选) 移除【第1级关联】中的【自关联关系字段】,依次添加2、3、4级关联,选择【商品类目】模型,将自动选中【层级关联关系字段】为【上级类目】,并输入每一级关联的标题即可。 这里需要注意的是,在【第1级关联】中需要添加筛选条件,使其只能查询到根节点。 PS:这里的限制仅为交互上的限制,在创建/更新时,如果可以在服务端限制上级类目的选择,以及数据提交时的校验,效果更佳。 【商品类目】的【创建/编辑】使用弹窗打开(可选) 有时我们希望用户在页面中的操作尽可能的流畅,在表单规模较小的情况下,我们也可以使用【弹窗/抽屉】这类交互来优化用户体验。 小贴士: 弹窗打开的方式提供三种页面设计模式,绑定已有页面、使用新页面、复制已有页面。 使用新页面和复制已有页面的方式只能进行一次性的视图设计,无法进行复用。 使用绑定已有页面的方式可以使得视图进行复用,但复用的视图也只能同步弹窗的内容部分,弹窗底部的动作仅会在创建动作时复制一次。 跳转动作的打开方式以及页面设计模式等属于元数据信息,无法通过属性面板进行修改,因此只能通过重新创建新动作的方式进行修改。 鉴于业务的复杂和多变,通常情况下我们只采用【绑定已有页面】的方式为弹窗设计内容部分。这样在交互发生变更时,可以更好的适应变化。 场景2 为了方便接下来的描述,我们需要再构建一个基本的业务场景,这个场景中包含【公司】和【部门】两个模型。 【公司】模型的管理能力使用标准的【增删改查】视图。(此处不进行演示) 在【部门】的表格左侧添加【公司】-【部门】树,在选择某个公司后,可以根据所属公司进行筛选,查询所属公司下的全部部门。在选择某个部门后,可以根据上级部门进行筛选,查询该部门下的子部门(不包含子部门的子部门)。 PS:如这里要求查询该部门下的全部子部门,需要服务端配合。 其模型定义如下: 公司(Company) 名称 API名称 业务类型 是否多值 长度(单值长度) 关联模型 关联字段 ID id 整数 否 – – – – 编码 code 文本 否 128 – – – 名称 name 文本…

    2023年11月1日
    4.8K00
  • 接口日志内容记录频率限制功能说明

    为有效避免接口调用日志记录占用过多存储空间,从而减少对数据库资源的消耗,自5.2.0之后的版本,对于成功请求的集成接口与开放接口,其日志将不再进行完整记录。请求及响应参数将依据默认的千分之一概率进行选择性完整记录。 修改日志完整记录频率 日志完整记录频率默认0.01,即千分之一。 取值范围0~1,0为完全不记录,1为100%记录。 pamirs: eip: log: frequency: 0.01 临时开启某接口日志完整记录 在“集成接口”应用中,可临时针对某一接口开启完整日志记录功能,此功能适用于集成接口与开放接口。 在“集成设计器”中也支持此功能。 注意事项 请求失败的接口不会受到配置的影响,日志内容将被完整记录。

    2024年10月8日
    1.1K00
  • 如何把平台功能菜单加到项目中?

    概述 在使用Oinone低代码平台进行项目开发的过程中,会存在把平台默认提供的菜单加到自己的项目中。这篇文章介绍实现方式,以角色管理为例。 1. 低代码情况 即项目是通过后端代码初始化菜单的方式。 通常在 XXXMenu.java类通过@UxMenu注解的方式,代码片段如下: 此种情况与添加项目本地的菜单无区别,具体代码: @UxMenu(value = "账号管理", icon = "icon-yonghuguanli") class AccountManage { @UxMenu("用户管理") @UxRoute(value = CustomerCompanyUserProxy.MODEL_MODEL, title = "用户管理") class CompanyUserManage { } @UxMenu("角色管理") @UxRoute(value = AuthRole.MODEL_MODEL, module = AdminModule.MODULE_MODULE, title = "角色管理") class RoleManage { } @UxMenu("操作日志") @UxRoute(value = OperationLog.MODEL_MODEL, module = AdminModule.MODULE_MODULE/***菜单所挂载的模块**/) class OperateLog { } } 2. 无代码情况 在界面设计器中,新建菜单–>选择绑定已有页面,进行发布即可。

    2024年4月19日
    2.0K00

Leave a Reply

Please Login to Comment