【界面设计器】树下拉/级联

阅读之前

你应该:

名词解释

  • 字段组件:为字段提供交互能力的组件,一个字段对应一个组件。
  • 关联关系字段:在模型中与其他模型建立关联关系的字段。
  • 可选项:选择组件使用的具体选项,可以是静态的,也可以是动态的。
  • 选中:用户在使用选择组件时,针对某一选项标记或提取这一选项。

概述

本章内容主要是对【界面设计器】左树右表内容中提及的字段相关内容的补充,并非完整教程,有不清楚的地方可以交替阅读进行理解。

场景

沿用【界面设计器】左树右表中的两个场景。

我们可以做出这些优化:

将【商品类目】的【上级类目】组件改为【级联】组件。其第1级为【商品类目】,使用自关联依次展开。

将【部门】的【上级部门】组件改为【树下拉】组件。其第1级为【公司】,第2级为【部门】,【部门】使用自关联依次展开。

PS:本章不提供任何步骤介绍,请根据场景内容自行探索。

扩展知识

具备选择行为的组件

常用的选择组件可以进行一些基本的划分。

从可选数量来看
  • 单选:只能选一个值。
  • 多选:可以选择多个值。
从业务类型来看
  • 枚举(Enum):通过数据字典提供可选项。
  • 布尔(Boolean):可以看作一个特殊的枚举,其可选范围只有
  • 一对一(O2O)多对一(M2O)对一(X2O)类型仅支持单选,通过关联模型的数据源提供可选项。
  • 一对多(O2M)以及多对多(M2M)对多(X2M)类型仅支持多选,通过关联模型的数据源提供可选项。
从交互形态来看
  • 单选框(Radio)
  • 多选框(Checkbox)
  • 下拉选择(Select)
  • 树下拉(TreeSelect)
  • 级联(Cascader)

其中,树下拉(TreeSelect)级联(Cascader)组件要求数据源可以构成树结构,因此通常使用这两个字段组件的都是关联关系字段

下拉选择(Select)

在介绍树下拉/级联之前,我们有必要先了解一下在关联关系字段中使用下拉选择(Select)这一字段组件的表现情况。

根据关联关系字段对应的关联模型,我们可以获得其组件所需的可选项,在用户进行选中后,该组件将获得一个选项值,并且在表单提交、计算公式等被使用。

通常情况下,我们通过queryPage接口获取分页后的可选项列表,再通过点击/滚动方式获得其他页的可选项供用户选择。

树下拉(TreeSelect)/级联(Cascader)

与上述介绍的下拉选择(Select)不同点在于,其可选项是通过【联动关系】配置进行获取的,它并不要求直接获取到真正可以被选择的可选项,而是通过树结构依次展开的。用户可选择的可选项一定是与关联关系字段对应的关联模型相同的树节点。对于无法选择的节点,其主要作用在于将数据进行划分,以便于用户进行选择。

由于树节点具备特殊性,无法直接使用平台的任何一个模型。因此树结构被定义在UiTreeNode模型中,该模型是描述树结构的基本模型,其提供了多个接口为树结构的查询提供了基本能力。

通常情况下,在创建页面,我们通过UiTreeNode模型的fetchChildren接口依次获取其子节点。在编辑页面,我们通过fetchAllreverselyQueryreverselyQueryWithSize这三个接口获取回填的数据,根据不同情况进行调用。虽然使用来不同的接口,但最终都会使用当前模型的queryPage接口获取数据。

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

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

(0)
oinone的头像oinone
上一篇 2023年6月20日 pm4:07
下一篇 2023年11月2日 pm1:58

相关推荐

  • 无代码docker启动说明(5.1.0)

    1. 安装docker 1.1 Linux内核系统(以CentOS7为例) 1.1.1 检查防火墙 查看防火墙是否开启 systemctl status firewalld 如防火墙处于开启状态 有2种处理方式,选择其中一种,开发环境如内网环境建议选择处理方案1 处理方案1:停止防火墙 systemctl stop firewalld 处理方案2:开放docker镜像内置中间件透出的端口 88:web访问端口 8099:后端Java服务端口 19876:rocketmq的namesrv端口: 6378:缓存redis的端口 3307:数据库mysql的端口 2182:zookeeper的端口 20880:dubbo的通信端口 10991:rocketmq的broker端口 查看防火墙已经开放的端口 firewall-cmd –list-ports 防火墙新增开放端口示例: firewall-cmd –permanent –zone=public –add-port=88/tcp 新增以后生效需要重新加载防火墙 systemctl reload firewalld 查看端口是否开放成功 firewall-cmd –list-ports 也可以从外部使用telnet命令检查端口是否开放成功,如telnet 192.168.0.121 3307 1.1.2 官方安装地址(docker如已安装请忽略): https://docs.docker.com/engine/install/centos/ yum install -y yum-utils yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo 如果docker这个源异常可以用阿里云的源 #yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #启动docker systemctl start docker #查看是否安装成功 docker -v 如果无法访问官网,参考阿里云安装Docker CE镜像https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11lhSNtT 1.1.3 可使用一键安装脚本(docker如已安装请忽略) wget https://pamirs.oss-cn-hangzhou.aliyuncs.com/docker/quick-install.sh sh quick-install.sh 1.1.4 Docker部署常见问题 https://doc.oinone.top/install/20670.html 1.2 无公网环境Linux系统 需要根据指定的版本以及内核架构来生成对应docker以及镜像包 1.3 window环境 https://docs.docker.com/desktop/install/windows-install/ 2. 解压提供的部署.zip 部署.zip包含: settings-3.6.3.xml:拉取平台jar的maven仓库settings,对应maven版本3.6.x settings-3.8.x.xml:拉取平台jar的maven仓库settings,对应maven版本3.8.x oinone-op-ds-all-full:包含所有中间件及前后端工程,用于启动docker结构和脚本(需拷贝到服务器) oinone-op-ds-all-mini:仅包含前后端工程,用于启动docker结构和脚本(需拷贝到服务器) license:平台证书 docker-mvn-npm账号.md oinone-example:后端示例工程 ss-front-modules:前端示例工程 3. 对应版本的docker镜像拉取 镜像地址 镜像概述 harbor.oinone.top/oinone/oinone-designer-full-v5.1:5.1.16 包含所有中间件及前后端工程(v5.1:5.1.16为示例版本号,实际以Oinone发出来的为准) harbor.oinone.top/oinone/oinone-designer-mini-v5.1:5.1.16 仅包含前后端工程(v5.1:5.1.16为示例版本号,实际以Oinone发出来的为准) 注意:docker镜像拉取的账号密码在部署.zip里面(docker-mvn-npm账号.md) docker login –username=用户名 harbor.oinone.top docker pull harbor.oinone.top/oinone/xxx 4. 修改startup.sh/cmd文件 doker的结构包 oinone-op-ds-all-full 或oinone-op-ds-all-mini 上传到服务器上;下面的操作都是这该文件夹下进行 4.1 linux环境修改参数 在startup.sh文件中找到如下 configDir=$(pwd)version=版本号IP=192.168.0.121 修改对应的IP为docker宿主机IP 4.2 window环境修改参数 在startup.cmd文件中找到如下set configDir=%CD%set version=版本号set IP=192.168.0.121 修改对应的IP为docker宿主机IP 5. 修改mq/broker.conf 注意:使用oinone-op-ds-all-mini版本,无需进行该步操作(直接跳过)注意:使用oinone-op-ds-all-full版本,才需进行该步操作 修改其中brokerIP1的IP从192.168.0.121改成宿主机IP brokerClusterName = DefaultCluster namesrvAddr=127.0.0.1:9876 brokerIP1=192.168.0.121 brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 …… 5. 修改config/application.yml 注意:使用oinone-op-ds-all-full版本,无需进行该步操作(直接跳过)注意:使用oinone-op-ds-all-mini版本,才需进行该步操作 修改中间件的配置(oinone-op-ds-all-full版本无需修改),把中间件对应的IP、端口或密码,改成实际提供服务IP、端口或密码。包括: zookeeper mysql rocket-mq redis oss配置 7. 启动Docker 7.1 linux环境启动 在终端执行 sh startup.sh 7.2 window环境启动 用PowerShell 执行 .\startup.cmd 7.3 查看日志,检查是否启动成功 在logs目录下可看到日志文件,第一次启动时间会相对长一些,等看到日志文件中输出 启动耗时…

    2024年8月19日
    2.0K00
  • 元数据多环境在线发布功能说明

    该功能依赖应用环境(designer_metadata)模块, 请确保体验环境的后端yml配置有该依赖 一 产品功能说明 设计同步部署 设计同步部署功能实现不同环境设计数据一键同步的目标,即将A环境设计完成的模型、界面、等设计数据一键部署至B环境。使用此功能,需要在‘应用中心’安装‘应用环境’:‘应用环境’安装完成,进入发起同步部署环境——>业务应用——>‘应用环境’,对要进行快速部署的发起环境、目标环境进行配置:在进行多个环境同步部署设计数据时,必须正确配置发起环境、目标环境。完成配置后,在应用中心,选择目标‘已安装’应用,在操作下拉菜单选择待部署设计类型,即可按照指引完成操作: 设计导出 设计导出功能具备将已安装应用所属(应用技术名称)设计元数据,如模型、界面、流程、集成设计、数据可视化导出为json文件的能力,具备筛选导出、一键导出两种方式以满足不同业务场景需要。目标是实现在多个环境通过技术接口调用、或通过应用中心导入界面完成导入,使设计元数据在不同环境之间快速迁移同步: :::info 因平台允许多个应用名称相同,能够唯一定位具体应用使用的是‘应用技术名称’,因此识别应用标识的依据为应用技术名称。::: 设计导入 迁移导入 对于已导出设计元数据json文件,如果导出类型为‘迁移导出’,可以在不同环境,通过应用中心——>已安装应用——>设计导入(迁移),实现设计数据导入: 标品导入 对于导出类型为‘标品导出’的设计元数据,目前只支持通过技术接口形式完成导入,暂不支持界面进行可视化导入操作。 导出导入任务 不同环境设计元数据以导入json文件方式进行迁移的基础是设计导出,基于界面导入实现设计元数据在不同环境进行迁移场景、或通过技术接口导入以实现标品升级的场景,存在导出类型为迁移导出、标品导出的区别。使用此功能的操作者需要依据实际需求场景进行相应导出类型的选择。 导出任务查看 对于已经执行导出的任务,可通过‘应用环境——>设计导出’查看导出任务信息: 导入任务查看 对于已经执行导入的任务,可通过‘应用环境——>设计导入’查看导入任务状态、进度、详细信息: 部署任务 部署任务功能用于查看设计数据同步部署功能任务状态、详细信息;分为发起环境任务查看、目标环境任务查看。无论是发起环境,或是目标环境,均通过所属环境‘应用环境’中‘部署任务’功能进行查看: 二 产品功能操作手册 设计导出 环境迁移导出 点击‘业务应用——>应用中心’,进入应用中心,默认显示‘应用列表’标签页:选择‘已安装’应用——>操作,出现操作菜单:选择‘设计导出’,显示支持导出的各设计项: 模型导出 操作菜单选择‘模型导出’:打开模型导出信息弹窗:在弹窗页中存在要素信息项及操作项: 导出类型:选择‘迁移导出’。 文件名称:默认为‘应用名称+设计类型’。 导出模式:异步模式,不可修改。 导出格式:JSON文件,不可修改。 一键导出:操作项,直接导出当前应用下的所有无代码模型,不需要筛选。 筛选导出:操作项,进入无代码模型导出筛选页,选择要导出的设计数据。 一键导出 点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 点击‘筛选导出’,进入无代码模型导出筛选页:筛选页面按照‘模型类型’、‘可用/废弃’、‘来源’选择或输入查找条件,点击‘搜索’,进行条件搜索,查找满足条件无代码模型:点击‘重置’按钮,清空已输入查找条件:点击列表标题栏勾选框,可进行全选/取消全选操作,全选——选择全部模型,取消全选——取消所有已勾选项:勾选要导出模型,点击‘导出’按钮:回到应用中心,右上角提示导出信息:导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 界面导出 ‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>界面导出,弹出界面导出信息项弹窗,‘导出类型’选择‘迁移导出’: 一键导出 点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:界面导出会将所选菜单项、菜单目录路径、菜单绑定页面、页面使用的自定义组件全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 点击‘筛选导出’,进入应用环境——>界面导出筛选页面,显示当前应用下所有菜单项:查询项‘菜单名称’输入名称,点击‘搜索’按钮,进行模糊查找匹配的菜单项:点击‘清除’按钮,清除已输入的查询内容:勾选菜单项后,点击‘导出’按钮:回到应用中心页面,同时页面右上角提示导出进行中信息:界面导出会将所选菜单项、上级菜单目录项、菜单绑定页面、页面使用的自定义组件全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 流程导出 点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>流程导出,弹出导出信息弹窗:‘导出类型’选择‘迁移导出’。 一键导出 点击‘一键导出’:关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:一键导出流程数据会按照应用技术名称,将当前应用下所有流程、元数据、涉及的业务数据如审批用户、角色等全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 点击‘筛选导出’:进入流程数据筛选页面,显示当前应用(技术名称)下所有已发布流程:支持按照流程名称(模糊匹配)、触发方式(模型触发、定时触发、日期触发、子流程)进行筛选;输入筛选条件,点击搜索按钮,查找匹配结果:点击‘清除’按钮,清空筛选内容:勾选列表流程项,点击‘导出’按钮:返回应用中心,同时页面右上角提示导出信息:流程导出会将应用(技术名称)下的所有已发布流程及相关元数据、业务数据全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 集成导出 点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>集成导出,弹出集成导出信息项弹窗,‘导出类型’选择‘迁移导出’: 一键导出 点击‘一键导出’,关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:一键导出集成数据会按照应用技术名称,将所有已发布数据流程;以及所有已启用连接器(与应用无关)、已启用开放接口(与应用无关)全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 点击‘筛选导出’:进入集成数据筛选页面,默认显示‘连接器’标签页——>应用(已启用)数据项列表:可选项: 连接器:应用(已启用状态)、数据库(已启用状态)、与应用无关。 数据流程:已发布状态,且属于发起导出应用(技术名称)下的数据流程。 开放平台:API接口(已启用状态)、与应用无关。 以上各项在列表中展示的数据均可勾选并支持导出为json文件:勾选列表数据项,点击‘导出’按钮:回到应用中心,右上角显示导出提示信息:导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 数据可视化导出 点击‘业务应用——>应用中心’,进入应用中心,选择已安装应用——>操作——>设计导出——>数据可视化导出,弹出数据可视化导出信息项弹窗,‘导出类型’选择‘迁移导出’: 一键导出 点击‘一键导出’:关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:一键导出数据可视化会将所有已发布图表(含路径目录)、报表(含路径目录)、数据大屏(含路径目录)、图表模版全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 点击‘筛选导出’:进入数据可视化筛选列表页面,默认显示‘图表’标签页,并展示已发布图表数据项列表:标签页: 图表:显示所有已发布状态图表,以树形结构展示,支持按照‘图表名称’模糊匹配查找。 报表:显示所有已发布状态报表,以树形结构展示,支持按照‘报表名称’模糊匹配查找。 数据大屏:显示所有已发布状态数据大屏,以树形结构展示,支持按照‘数据大屏名称’模糊匹配查找。 图表模版:显示所有图表模版,列表形式展示,支持按照‘图表名称’模糊匹配查找。 勾选列表数据项,点击‘导出’按钮:关闭弹窗,回到应用中心,右上角出现导出进行中提示信息:筛选导出数据可视化数据会将所有已发布图表(含路径目录)、报表(含路径目录)、数据大屏(含路径目录)、图表模版全部导出为json文件。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 标品导出 点击‘业务应用——>应用中心’,进入应用中心,点击‘应用列表’标签项;选择‘已安装’应用,点击操作,出现操作菜单:选择‘设计导出’,显示支持导出的各设计项: 模型导出 点击‘业务应用——>应用中心’,进入应用中心;点击已安装应用——>操作,出现操作菜单:选择‘设计导出——>模型导出’:打开导出信息弹窗: 一键导出 导出过程同《1.1.1.1 设计导出/环境迁移导出/模型导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 导出过程同《1.1.1.2 设计导出/环境迁移导出/模型导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 界面导出 点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>界面导出,‘导出类型’选择‘标品导出’: 一键导出 导出过程同《1.1.2.1 设计导出/环境迁移导出//界面导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 导出过程同《1.1.2.2 设计导出/环境迁移导出/界面导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 流程导出 点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>流程导出,‘导出类型’选择‘标品导出’: 一键导出 导出过程同《1.1.3.1 设计导出/环境迁移导出/流程导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 导出过程同《1.1.3.2 设计导出/环境迁移导出/流程导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 集成导出 点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>集成导出,‘导出类型’选择‘标品导出’: 一键导出 导出过程同《1.1.4.1 设计导出/环境迁移导出/集成导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 导出过程同《1.1.4.2 设计导出/环境迁移导出/集成导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 数据可视化导出 点击‘业务应用——>应用中心’,进入应用中心;选择已安装应用——>操作——>设计导出——>数据可视化导出,‘导出类型’选择‘标品导出’: 一键导出 导出过程同《1.1.5.1 设计导出/环境迁移导出/数据可视化导出/一键导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 筛选导出 导出过程同《1.1.5.2 设计导出/环境迁移导出/数据可视化导出/筛选导出》,区别是标品导出json文件无法通过前端页面导入其它环境,只能通过技术接口导入。导出任务状态信息、导出任务详细信息查看方式参见《1.3 设计导出/导出任务查看》。 导出任务查看 点击‘业务应用——>应用环境’,进入应用环境:点击‘设计导出’,显示导出任务信息列表:点击导出任务项操作栏‘详情’,进入导出任务详情查看页:点击‘关联文件’,可保存下载导出文件:点击‘返回’按钮:回到导出任务信息列表页。 设计导入 环境迁移导入 进入导入目标环境,点击‘业务应用——>应用中心’,进入应用中心;选择要导入设计数据的已安装应用: 模型导入 导入 选择‘模型导入’:打开导入文件上传信息弹窗:选择要导入的json文件:选择文件后,显示待导入文件:点击‘确定’按钮,执行设计数据迁移导入:如果选择的导入文件类型为非迁移导出文件,则右上方提示(其它设计类型迁移导入文件类型同此):导入文件选择正确,点击确定后,右上角提示导入信息:点击‘设计器——>模型设计器’: 验证导入结果 进入导入环境模型设计器,查看导入数据是否已成功导入: 界面导入 导入 选择‘界面导入’:打开导入文件上传弹窗:选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息: 验证导入结果 进入界面设计器,检查导出数据是否正确导入: 流程导入 导入 选择‘流程导入’:打开导入文件上传弹窗页面:选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息: 验证导入结果 进入流程设计器,检查导出数据是否正确导入: 集成导入 导入 选择‘集成导入’:打开导入文件上传弹窗:选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息: 验证导入结果 进入集成设计器,检查导出数据是否正确导入。验证连接器:验证数据流程:验证开放接口: 数据可视化导入 导入 选择‘数据可视化导入’:打开导入文件上传弹窗:选择要导入的json文件上传后,点击‘确定’按钮,关闭弹窗,右上角显示导入提示信息: 验证导入结果 进入数据可视化,检查导出数据是否正确导入:验证图表:验证报表:验证数据大屏:验证图表模版: 设计导入任务查看 导入环境,点击‘业务应用——>应用环境’,进入应用环境;点击‘设计导入’:显示所有设计导入信息列表:点击‘详情’,查看设计导入详细信息:点击‘返回’按钮,回到导入信息列表展示页: 同步部署 部署环境管理 创建部署环境 选择:业务应用——>应用环境,进入应用环境;默认显示当前所有已配置环境: 删除部署环境配置 未勾选任何已配置部署环境时,删除按钮不可用:勾选一条或多条已配置环境信息,点击”删除“,可完成已配置部署环境删除: 编辑部署环境配置 点击部署环境配置项操作栏‘编辑’操作,进入部署环境配置项编辑页:支持对所有配置项数据进行修改编辑;其中标红项为必须,即不能为空,且名称不能重复。点击‘返回’按钮,放弃本次编辑,回到部署环境配置项列表页:点击‘确定’按钮,保存编辑内容,并回到部署环境配置列表展示页: 部署环境详情查看 点击部署环境配置项,操作栏‘详情’,进入部署环境配置项详情查看页面:点击‘返回’按钮,回到部署环境配置列表展示页: 确认部署目标环境配置 进入应用环境,点击‘部署环境配置’,显示当前已配置环境列表:检查是否已配置同步部署目标环境,如已存在,无需再次配置。 模型部署…

    2024年8月8日
    1.7K00
  • 【界面设计器】左树右表

    阅读之前 你应该: 熟悉模型的增删改查相关内容。【界面设计器】模型增删改查基础 名词解释 主体:在视图中提供数据源的主要组件,并且所有动作都围绕着该主体展开。 一级搜索:在表格视图中,上方直观可见的搜索区,为表格提供筛选功能。 二级搜索:与一级搜索不同的是,其搜索条件是通过某些组件的行为追加到一级搜索条件之上的筛选功能。 概述 平台中对于左树右表提供了两种类型的展示形式。 在表格视图中的左树右表,是以表格为主体,树组件为表格提供了二级搜索功能。选中树节点时将对表格追加节点的搜索条件,并重新执行查询。 在树视图中,是以树为主体,其展开的视图可以是表格、表单、详情等其他视图。 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日
    3.2K00
  • Docker部署常见问题

    问题1:容器启动出现library initialization failed – unable to allocate file descriptor table – out of memory异常如何处理? 原因 不同操作系统安装Docker后,容器运行环境并不一致,需要对Docker运行参数进行调整。 解决方案 编辑/etc/systemd/system/docker.service文件, 有些系统该文件位置:/lib/systemd/system/docker.service 查看docker的systemd(docker.service)配置位置 systemctl status docker 查看docker的systemd配置位置 将下列参数进行修改 LimitNOFILE=65535 LimitNPROC=65535 LimitCORE=65535 执行以下脚本 systemctl daemon-reload systemctl restart docker 问题2:容器启动出现library initialization failed – unable to allocate file descriptor table – out of memorypanic: signal: aborted (core dumped)异常如何处理? 问题现象 1、 按照【问题1】的设置进行配置后,仍然不生效; 2、 尝试修改宿主机系统内核的ulimits,重启docker仍报错。修改docker.service(文件位置:/etc/systemd/system/docker.service文件, 有些系统该文件位置:/lib/systemd/system/docker.service) 解决方案 查看docker的systemd(docker.service)配置位置【问题1】中的办法 在ExecStart命令后加上创建容器的默认ulimit配置,如下,设置容器启动时的ulimit为65535:65535 –default-ulimit nofile=65535:65535 配置好后: ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock –default-ulimit nofile=65535:65535 执行以下脚本 systemctl daemon-reload systemctl restart docker 资料参考:https://blog.csdn.net/weixin_42241322/article/details/137122868 问题3:拉取设计器镜像报错 报错信息,拉取镜像harbor.oinone.top连不上。 docker login –username=schhsw_oinone harbor.oinone.top i Info → A Personal Access Token (PAT) can be used instead. To create a PAT, visit https://app.docker.com/settings Password: time="2025-02-27T11:24:58+08:00" level=info msg="Error logging in to endpoint, trying next endpoint" error="Get \"https://harbor.oinone.top/v2/\": dial tcp 0.0.0.0:443: connect: connection refused" Get "https://harbor.oinone.top/v2/": dial tcp 0.0.0.0:443: connect: connection refused kfpt@kfpt-virtual-machine:~$ sudo -i root@kfpt-virtual-machine:~# docker login –username=schhsw_oinone harbor.oinone.top i Info → A Personal Access Token (PAT) can be used instead. To create a PAT, visit https://app.docker.com/settings Password: Error response from daemon: Get "https://harbor.oinone.top/v2/": dial tcp 0.0.0.0:443: connect: connection refused 排查过程: 排除到后面发现原因是DNS配置的问题,换了一个阿里云的IP就可以了

    2025年3月13日
    90200
  • 前端低无一体使用教程

    介绍 客户在使用oinone平台的时候,有一些个性化的前端展示或交互需求,oinone作为开发平台,不可能提前预置好一个跟客户需求一模一样的组件,这个时候我们提供了一个“低无一体”模块,可以反向生成API代码,生成对应的扩展工程和API依赖包,再由专业前端研发人员基于扩展工程(kunlun-sdk),利用API包进行开发并上传至平台,这样就可以在界面设计器的组件里切换为我们通过低无一体自定义的新组件。 低无一体的具体体现 “低”— 指低代码,在sdk扩展工程内编写的组件代码 “无”— 指无代码,在页面设计器的组件功能处新建的组件定义 低无一体的组件跟直接在自有工程内写组件的区别? 低无一体的组件复用性更高,可以在本工程其他页面和其他业务工程中再次使用。 组件、元件介绍 元件 — 指定视图类型(viewType) + 指定业务类型(ttype)字段的个性化交互展示。组件 — 同一类个性化交互展示的元件的集合。组件是一个大一点的概念,比如常用的 Input 组件,他的元件在表单视图有字符串输入元件、密码输入元件,在详情和表格展示的时候就是只读的,页面最终使用的其实是元件。通过组件+ttype+视图类型+是否多值+组件名可以找到符合条件的元件,组件下有多个元件会根据最优匹配规则找到最合适的具体元件。 如何使用低无一体 界面设计器组件管理页面添加组件 进入组件的元件管理页面 点击“添加元件” 设计元件的属性 这里以是否“显示清除按钮”作为自定义属性从左侧拖入到中间设计区域,然后发布 点击“返回组件” 鼠标悬浮到卡片的更多按钮的图标,弹出下拉弹出“低无一体”的按钮 在弹窗内点击“生成SDK”的按钮 生成完成后,点击“下载模板工程” 解压模板工程kunlun-sdk.zip 解压后先查看README.MD,了解一下工程运行要点,可以先运行 npm i 安装依赖 再看kunlun-plugin目录下已经有生成好的组件对应的ts和vue文件 下面在vue文件内增加自定义代码,可以运行 npm run dev 在开发模式下调试看效果 <template> <div class="my-form-string-input"> <oio-input :value="realValue" @update:value="change" > <template #prepend>MyPrepend</template> </oio-input> </div> </template> <script lang="ts"> import { defineComponent, ref } from 'vue'; import { OioInput } from '@kunlun/vue-ui-antd'; export default defineComponent({ name: 'customField1', components: { OioInput }, props: { value: { type: String }, change: { type: Function }, }, setup(props) { const realValue = ref<string | null | undefined>(props.value); return { realValue }; } }); </script> <style lang="scss"> .my-form-string-input { border: 1px solid red; } </style> 确定改好代码后运行 npm run build,生成上传所需的js和css文件 可以看到 kunlun-plugin目录下多出了dist目录,我们需要的是 kunlun-plugin.umd.js 和 kunlun-plugin.css 这2个文件 再次回到组件的“低无一体”管理弹窗页面,上传上面生成的js和css文件,并点击“确定”保存,到这里我们的组件就新增完成了。 下面我们再到页面设计器的页面中使用上面设计的组件(这里的表单页面是提前准备好的,这里就不介绍如何新建表单页面了) 将左侧组件库拉直最底部,可以看到刚刚新建的组件,将其拖至中间设计区域,我们可以看到自定义组件的展示结果跟刚刚的代码是对应上的(ps: 如果样式未生效,请刷新页面查看,因为刚刚上传的js和css文件在页面初始加载的时候才会导入进来,刚刚上传的动作未导入新上传的代码文件),再次点击设计区域中的自定义组件,可以看到右侧属性设置面板也出现了元件设计时拖入的属性。 最后再去运行时的页面查看效果,与代码逻辑一致! 注意事项 为什么我上传了组件后页面未生效? 检查前端启动工程的低无一体是否配置正确

    2023年11月6日
    2.8K00

Leave a Reply

登录后才能评论