12 Star 7 Fork 14

葡萄城 / HZG-ElementPlusPluginSourceCode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Element Plus Plugin

快速开始

(插件的使用帮助说明在第二部分,请下拉查看)

编译

  • 依赖 typescript 4.4.4, 请确保电脑安装有 4x版本以上的SDK。
  • 插件会在 设计器的默认安装路径下 获取引用,如果你的设计器是自定义的安装路径,需要更新引用的路径,具体可阅读 活字格-插件开发-插件开发流程

分支管理

  • master 是发布的最新版本,和插件商城 最新版本对应。
  • dev 开发人员会在该分支上开发,你可以在此分支获取最新的代码,仅限学习和测试,请勿在生产环境中使用。

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

目录

Element UI插件说明

说明

Element UI是一个基于vue的一个ui框架,该框架基于vue提供了很多美观易用的组件供我们开发页面使用。



Element UI 单元格类型

EL-日历

使用场景

  • 可以直接创建一个日历

使用方式

设计时

运行时

单元格设置

名称 说明
默认值
日历项目命令-编辑值变更命令 日历选择更改时触发
日历项目命令-编辑双击命令 双击某一日时触发
日历日程命令-编辑单击命令 单击日程触发的命令
日历日程命令-编辑双击命令 双击日程触发的命令
配置日程 绑定日程数据源,绑定表列为日程的值、时间、文本
周起始日 设置每周的起始日期

备注

当空间不足时,日程会展示为一个灰点


EL-头像

使用场景

  • 可以替代使用图片单元格格式作为头像

  • 优势在于:支持使用系统用户、支持找不到头像时显示用户名、支持角标

  • 劣势在于:不支持将单元格类型添加到列表视图、不支持样式模板

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令 点击单元格时执行的命令
默认头像
头像形状 圆形|正方形
显示模式 填充|包含|覆盖|原始尺寸|缩小
通知角标 角标大小是固定的,而不是按单元格大小缩放
显示系统用户头像 勾选:单元格值为当前用户的系统用户名。如值为张三则显示张三的头像,如果用户没有设置头像,单元格会显示用户名,通常配合用户信息视图显示用户列表的头像 如需使用当前用户的头像,可以使用%CurrentUser%关键字作为单元格的值。 不勾选:单元格值为图像路径

不勾选


EL-面包屑

使用场景

  • 显示当前页面的位置,便于浏览返回

使用方式

  • 初始化面包屑单元格值的三种方法
  1. 使用静态值

    a.将面包屑单元格放置到每个页面,在设计时设置默认值

  2. 使用数据库配置

    a.将面包屑单元格放入母版页

    b.创建一个表作为“站点”地图,如下:

    页面名称 页面路径
    用户 主页/用户管理/用户
    角色 主页/用户管理/角色
    组织 主页/用户管理/组织
    导入 主页/数据/导入
    ...

    c.在页面加载命令中,通过设置变量命令查询当前页面的名称,进一步查询页面路径,然后通过设置单元格属性命令设置面包屑的值

  3. 使用菜单单元格类型配置

    a.设置一个单元格为菜单类型

    b.在页面加载命令中,从菜单中获取页面路径,然后更改面包屑的值为该路径

设计时

运行时

单元格设置

名称 说明
编辑点击命令 点击面包屑时将执行命令
默认值
分隔符

EL-级联选择器

使用场景

  • 如果选项具有清晰的层次结构,则可以使用 级联选择器来查看和选择。

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令 值更改时将执行命令
数据验证 配置单元格数据验证,仅在更新命令执行或请求服务器命令执行时验证
单元格权限 基于用户角色控制可见/可用权限
默认值
选项来自数据库 设置选项是否与数据库绑定
配置选项 设置非绑定数据库时的选项
绑定数据源 勾选选项来自数据库后,设置具体的绑定
子菜单展开方式 展示下一级菜单的方式,点击/鼠标悬停
占位文本 未选择时的默认显示
选项分隔符 设置不同级别值间得到分割符
多选 是否允许多选
多选下折叠标签 必须多选启用。设置是否折叠更多的标签
标签样式 必须多选启用。设置标签的样式,成功|信息|警告|危险
允许选择任意一级选项 勾选后,取消父子节点关联,可以选择任意一级选项
输入框中显示完整路径 是否展示标签的完整路径
值返回完整路径 必须多选禁用。设置单元格的值时是否包含完整路径。
可搜索选项 设置是否允许在选择器内进行关键字搜索
显示清空按钮 勾选时,当选择器内不为空,鼠标悬停时下拉按钮会变为清空按钮
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置数据源(对象树) 使用动态 JSON 对象树作为数据源,JSON 格式示例见备注。 示例中假设'值属性'为value,'标签属性名'为label,'下级属性名'为'children'。 通常,JSON数据源可以通过HTTP请求命令从Web服务获取,也可以通过服务端命令获取
可用操作-设置数据源(二维表) 使用二维表JSON对象树作为数据源,JSON 格式示例见备注。 示例中假设‘值属性’为value,‘标签属性名’为label,‘父级值属性’为‘parentValue’。 二维表格式是数据库中常见的多级数据保存格式。
可用操作-获取选中的节点 必须多选启用。 获取选中项目并将数组返回到变量 参数:只是叶子节点:勾选后,只返回选中的叶子节点
可用操作-重新加载绑定项目 必须绑定数据源启用。 如果改变数据绑定后,绑定项未自动重新加载数据,使用这个操作可以强制重新加载绑定项

备注

  • 对象树-JSON
[
    {
        "value": 1,
        "label": "Department1",
        "children": [
            {
                "value": 2,
                "label": "Sub-department1"
            },
            {
                "value": 3,
                "label": "Sub-department2",
                "children": [
                    {
                       "value": 4,
                       "label": "Sub-department2-1"
                    }
                ]
            }
        ]
    },
    {
        "value": 5,
        "label": "Department2"
    },
    {
        "value": 6,
        "label": "Department3"
    }
]
  • 二维表-JSON
[
    {"value": 1, "label": "Department1", "parentValue": null},
    {"value": 2, "label": "Department1-1", "parentValue": 1},
    {"value": 3, "label": "Department1-2", "parentValue": 1},
    {"value": 4, "label": "Department1-2-1", "parentValue": 3},
    {"value": 5, "label": "Department2", "parentValue": null},
    {"value": 6, "label": "Department3", "parentValue": null}
]

EL-日期选择器

优劣对比

与活字格内置单元格类型-日期对比

优势:

  • 更现代的UI界面

  • 更丰富的类型,支持按年/月/日/周/日期时间/月份范围/日期范围/日期时间范围

  • 更便于选择历史年份

  • 支持头部图表

  • 支持添加清空按钮

劣势

  • 不支持添加进表格

  • 不支持获得焦点时全选文本内容

  • 不支持设置单元格样式

  • 不支持使用单元格格式

  • 不支持下拉按钮显示设置

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令
数据验证
单元格权限
默认值
显示类型 设置不同的选择类型
开始日期占位文本 必须是范围模式。设置开始日期占位文本
范围分隔符 必须是范围模式。设置分隔符样式
结束日期占位文本 必须是范围模式。设置结束日期占位文本
占位文本 必须不是范围模式。
显示在输入框中的格式 参考见:https://element.eleme.io/#/en-US/component/date-picker 可以使用[]作为转义字符
周起始日 必须类型为日/周/日期时间/日期范围/日期时间范围时
头部图表
显示清空按钮
只读
禁用
可用操作-获取选择范围 必须是范围模式。此命令可以获取用户选择的起始值和结束值,并将其保留到数据库或者作为查询条件进行查询。 策略: · 如果类型是月份范围,当用户选择 2000/1 到 2000/3,结果开始值为 "2000/1/1 00:00:00" ,结果结束值为 "2000/3/31 23:59:59.999" · 如果类型是日期范围,当用户选择 2000/1/1 到 2000/3/5,结果开始值为 "2000/1/1 00:00:00" ,结果结束值为 "2000/3/5 23:59:59.999"

EL-输入框

优劣对比

与活字格内置单元格类型-文本框对比

优势:

  • 更现代的UI界面

  • 支持设置最大输入长度

  • 支持尾部图表

  • 支持添加清空按钮

劣势

  • 不支持添加进表格

  • 不支持值唯一校验

  • 不支持获得焦点时全选文本内容

  • 不支持设置单元格样式

  • 不支持使用单元格格式

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令
数据验证 在数据表更新、请求服务端命令时验证
单元格权限
默认值
类型 文本框、多行文本框、密码框
最大长度
最大长度-显示输入字数统计 必须最大长度已设置,且为文本框、多行文本框。
占位文本
头部图标
尾部图标
只读
禁用
显示清空按钮 设置后,当内容非空时会出现
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置焦点 调用操作单元格命令,使输入框获取键盘焦点
可用操作-选中文字 调用操作单元格命令,使输入框获取键盘焦点并全选文字

EL-计数器

优劣对比

与活字格内置单元格类型-数字对比

优势:

  • 更现代的UI界面

  • 支持设置最大/最小输入值

劣势

  • 不支持添加进表格

  • 不支持获得焦点时全选文本内容

  • 不支持千分位

  • 不支持设置单元格样式

  • 不支持使用单元格格式

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令
数据验证
单元格权限 根据用户角色控制可见/可用
默认值
最小值
最大值
步长 设置后,点击控制按钮会以步长值增长/减小
只能输入步长的倍数 勾选后,则无法输入非步长整数倍的值
小数位数 默认0
占位为本
使用控制按钮 设置是否显示控制按钮
控制按钮显示在右侧 设置控制按钮位置及样式
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
设置最小值 调用操作单元格命令,设置最小值
设置最大值 调用操作单元格命令,设置最大值
设置步长
设置焦点

EL-导航菜单

优劣对比

与活字格内置单元格类型-菜单对比

优势:

  • 更现代的UI界面

  • 可以从数据库生成菜单项目

劣势:

  • 不支持使用单元格样式

使用方式

设计时

垂直/水平

运行时

单元格设置

名称 说明
编辑选择命令 选择叶子节点时执行
编辑点击命令 选择任意项目时执行
从数据库生成菜单项目 勾选后,从数据库生成菜单
配置菜单项 不勾选从数据库生成菜单项目时进行菜单配置。同内置菜单类型
绑定数据源 勾选从数据库生成菜单项目。设置选择项、查询条件、查询行数、排序等等
布局 垂直/水平
水平折叠收起菜单 必须垂直布局
开启折叠动画 必须垂直布局。设置是否展示折叠动画
只保持一个子菜单的展开 必须垂直布局
子菜单打开的触发方式 必须水平布局。设置鼠标悬停/点击时打开子菜单
主题 浅色/深色/自定义
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
获取选择项路径 选择路径是一个数组,例如[Home/Categroy/xxxPage]。可以使用TEXTJOIN("/",1,valuePath)将其转换为字符串,或者通过循环命令访问每一级路径
设置折叠
重新加载绑定项目 必须勾选从数据库生成菜单项目。如果切换数据源后数据没有自动加载,点击强制重新加载绑定项目。
隐藏菜单项
设置徽标

EL-分页

优劣对比

与活字格内置单元格类型-分页导航按钮对比

优势:

  • 更现代的UI界面

  • 弹性布局设置

  • 可展示总项数

  • 允许用户在运行中更改每页展示行数

  • 可设置只有一页时自动隐藏

使用方式

设计时

运行时

单元格设置

名称 说明
分页变更命令 当页面索引、页面展示行数由用户通过界面操作变更时调用命令
选择Element表格 控制选择的数据源
选择表格/选择Element表格 根据选择Element表格的勾选情况,展示不同的名称,绑定目标类型的数据源
每页显示行数 设置一页显示多少记录,总页数会自动同步
最大页码按钮显示数 设置同时最多显示的页码按钮树
控件布局 设置控件元素,调整每页显示行数/上一页/页号/下一页/直接前往/空白间距/总行数
调整每页显示行数配置 必须调整每页显示行数开启。设置前端手动调整每页行数时的选项
上一页文本 设置后,用文本替换左箭头作为上一页按钮
下一页文本 设置后,用文本替换右箭头作为下一页按钮
使用小型分页样式
为分页按钮添加背景色
只有一页时隐藏 只有一页时隐藏分页单元格
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
设置当前每页显示行数
设置当前页码
设置总行数 当未绑定数据源时使用
执行命令

EL-进度条

使用场景

  • 用户想要使用进度条展示数字

使用方式

设计时

单元格设置

名称 说明
编辑值变更命令 当进度条值变更时执行命令
显示类型 线性/环形/仪表盘型
进度条的宽度 默认为6,单位固定为像素,控制进度条的宽度
进度条当前状态 空/成功/异常/警告,只有空时定义的显示文本会生效,其他状态显示为对应图标
颜色 必须进度条状态为空。设置生效进度的颜色
显示进度条文字内容
进度条显示文字内置在进度条内 必须进度条显示类型为线性。勾选后,进度条文字显示在进度条内
自定义显示文本 必须进度条状态为空生效。设置显示文本,默认为空,为空时显示百分比文本。用户使用公式,例如‘=“共使用了”&A1&“G空间”’,显示为:“共使用了30G空间”
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-更改背景颜色
可用操作-更改当前状态

EL-评分

使用场景

  • 需要打分时

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令
最大分值
低分和中等分数的界限值 设置低分和中分的界限,低分默认为深灰色,中等分数默认为黄色
高分和中等分数的界限值 设置中分和高分的界限,高分数默认为深黄黄色
显示内容 空/辅助文字/分数(自动显示当前星数)
配置辅助文字 必须显示内容设置为辅助文字。设置文字列表,自动对应当前星数,第一项对应1星。文字列表数量少于最大分值时,高分显示为空;文字列表数量大于最大分值时,多余文字不会被对应。
未选中图标的颜色
选中图标的颜色 设置0-3项,依次对应低、中、高分的颜色,高分没有对应会沿用低一档的颜色
只读
只读时未选中图标的颜色
允许半选 允许选择半星

EL-选择器

优劣对比

与活字格内置单元格类型-组合框按钮对比

优势:

  • 更现代的UI界面

  • 支持服务端搜索(详细解释见单元格设置-服务端搜索)

  • 移动端也支持输入

  • 支持服务端搜索结果缓存(详细解释见单元格设置-绑定数据源)

劣势:

  • 不支持添加进表格

  • 不支持获得焦点时全选文本内容

  • 不支持设置单元格样式

  • 不支持使用单元格格式

  • 不支持设置下拉列数

  • 不支持控制下拉按钮

  • 不支持设置下拉框宽度

  • 不支持设置最大下拉个数

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令 值变动时执行命令
数据验证
单元格权限
默认值
从数据库生成选项 设置数据源是否绑定数据库。若绑定数据库,选择器在生成选项时会自动去重
配置选项 未绑定数据库时设置选项
绑定数据源 必须勾选从数据库生成选项。除了选择项、查询条件、行数等类似数据表查询的设置外,还有一个其他设置,可以设置开启缓存并设置缓存过期时间。此处缓存是指查询结果会放在服务器的内存中,直到过期,在高并发场景下,相同查询不会反复访问数据库,可以大幅降低数据库压力。 此外,保留的缓存不可以设置权限过滤,所以开启缓存后,为不同用户设置的不同查询结果是不会生效的。如需权限控制查询内容,请不要开启此功能。
添加空项 必须绑定数据库生成选项。
占位文本
选项为空时显示的文本
多选 是否允许多选
多选模式下折叠Tag 必须允许多选。
多选时最多选择的项目数 必须允许多选。
可搜索选项 设置用户是否可以在输入框中输入关键字搜索项目
服务端搜索 必须绑定数据库生成选项。服务端搜索是针对组合框的性能提升。使用内置单元格类型组合框时,如果进行了搜索,组合框会先获取对应绑定数据,再在页面内进行搜索计算。使用EL-选择器并启用了服务端搜索时,进行搜索,选择器会将选项传给服务端,由服务端进行数据筛选后,仅回传搜索结果。对于搜索选项数量较大时,性能会有明显提升。
保留搜索关键字 必须允许多选。必须绑定数据库生成选项。在输入搜索条件后,选择一项后是否清空输入的搜索条件。
允许用户创建新条目 允许用户输入值创造不存在的项并选择
搜索结果为空时显示文本
显示清空按钮
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置数据源(字符串数组) 使用动态 JSON 字符串数组作为单元格的数据源,例如: [ "香蕉", "苹果", "鸭梨" ] 通常,数据源可以通过HTTP请求命令从Web服务获取,也可以通过服务端命令获取
可用操作-设置数据源(对象数组) 使用动态 JSON 字符串数组作为单元格的数据源,例如: [ {"value": 1, "label": "香蕉"}, {"value": 2, "label": "苹果"}, {"value": 3, "label": "鸭梨"} ] 以上数据假设‘值属性’为value,‘显示文本’为label 通常,JSON数据源可以通过HTTP请求命令从Web服务获取,也可以通过服务端命令获取
设置焦点
获取显示文本
重新加载绑定项目 必须绑定数据库生成选项。

限制

  • EL-选择器不支持虚拟 DOM,这意味着下拉菜单中的每个项目都会创建至少一个 DOM。 如果下拉列表中有数千个项目时,性能会很差。 这种情况下,最好是使用绑定模式,并启用“可搜索选项”和“服务端搜索”

  • 以下情况下,绑定数据库源后查询行数会返回异常

    1. 使用从数据库生成选项,但数据源中有重复数据

    2. 设置查询行数

    3. 返回结果可能小于查询行数的设定值。因为选择器会自动去重,且这步操作在数据源查询后,所以当数据源查询的结果行中有重复数据时,选项会变少。(例如:数据库查询结果为:1,1,2,2,3,...,但设定了查询行数为3,则返回1,1,2给EL-选择器作为选项,此时选择器自动去重,导致最后选项只有2项为1和2)


EL-滑块

使用场景

  • 创建一个在固定范围内的自由滑动的滑块

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令 值变动时触发命令
单元格权限
配置标记
默认值
最小值
最大值
步长
布局 横向/竖向
范围选择 启用后有两个滑块,可以选择一个范围
显示输入框 可以输入值控制滑块
显示输入框的控制按钮 生成类似计数器的
显示间断点 显示滑块的停止点。注意,每个可用值都会生成一个停止点。需要调整最大值、最小值、步长,以确保效果。
显示提示信息 当拖动及悬停时显示自定义信息
自定义提示信息 自定义显示内容。可用参数滑块值
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
设置最小值
设置最大值
设置标记
获取选择范围 必须勾选范围选择

EL-步骤条

使用场景

  • 引导用户按照流程完成任务

  • 步骤可根据实际应用场景设置

使用方式

设计时

运行时

单元格设置

名称 说明
编辑值变更命令 步骤变更时触发命令
选项来自数据库
配置步骤项目
绑定数据源 必须选项来自数据库。设置选择项、查询条件、查询行数、排序、缓存
当前步骤的状态 表示当前步骤的状态,不同状态有不同的样式,共有5种:等待、过程、完成、错误、成功
结束步骤的状态 表示结束(已完成)步骤的状态,状态及样式同当前步骤状态的设置。 此外,如果已完成步骤状态是错误,进程状态将始终为等待
布局 横向/纵向
简洁风格
居中对齐
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置当前步骤的状态

EL-标签页头

使用场景

  • 样式更为现代的标签页头

使用方式

设计时

运行时

单元格设置

名称 说明
编辑标签点击命令
默认值 配置选项卡的默认项。 使用“/”分隔项目,例如 “用户/配置/角色/任务”
配置标签项
从数据库生成选项
风格类型 下边框线/选项卡/卡片
位置 上/下/左/右,设置标签页头的位置
平均分配宽度 必须位置为上/下,勾选后当前标签头会占满空间
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-隐藏标签项

EL-标签

使用场景

  • 使用标签进行选择和标记

使用方式

设计时

运行时

单元格设置

名称 说明
编辑值变更命令
编辑标签点击命令
单元格权限
配置颜色列表 设置颜色列表,从上到下依次生效,用完时会从第一个颜色项重新开始,不断循环。 如果希望所有标签使用相同颜色,则颜色列表保留一项即可
默认值
分隔符
尺寸 大/中/小
主题 深色/浅色/线框
标签间距 默认10
允许添加标签
添加标签设置 设置添加标签按钮的宽度、按钮文本、间距等
自动移除重复项 标签文本重复时,仅显示第一项
显示边框描边
只读

EL-时间线

使用场景

  • 创建时间线(时间轴图)

使用方式

设计时

运行时

单元格设置

名称 说明
从数据库生成项目 是否从数据库生成项目
配置项目/绑定数据源
排序 默认/按时间戳升序排序/按时间戳降序排序
节点尺寸 小/大
隐藏时间戳 勾选后将隐藏时间线上的时间戳
时间戳显示位置 必须未勾选隐藏时间戳。文本下方/文本上方
时间戳格式 必须未勾选隐藏时间戳。
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置数据源 使用动态 JSON 对象作为单元格的数据源,JSON 格式示例如下: [ {"content": "Activity start", "timestamp": "2018-04-15"}, {"content": "Approved", "timestamp": "2018-04-13"}, {"content": "Create Success", "timestamp": "2018-04-11"} ] 上面的数据假设“内容属性名”为content,“时间属性名”是timestamp 通常,JSON数据源可以通过 HTTP 请求命令从Web服务获取,也可以通过服务端命令获取
可用操作-重新加载绑定项目

EL-时间选择器

优劣对比

与活字格内置单元格类型-时间对比

优势:

  • 更现代的UI界面

  • 支持设置时间选择模式

  • 支持时间范围选择

  • 支持头部图标

  • 支持清空按钮

劣势

  • 不支持添加进表格

  • 不支持获得焦点时全选文本内容

  • 不支持设置单元格样式

  • 不支持使用单元格格式

  • 不支持下拉按钮显示设置

使用方式

设计时

运行时

单元格设置

名称 说明
编辑命令
数据验证
单元格权限
默认值
开始时间 设置可选择的开始时间,范围外时间可见但不可选择
结束时间 设置可选择的结束时间,范围外时间可见但不可选择
模式 固定时间点/任意时间点
范围选择 必须模式为任意时间点。选择开始时间和结束时间
开始时间占位文本 必须启用范围选择
范围分隔符 必须启用范围选择
开始时间占位文本 必须启用范围选择
占位文本 必须禁用范围选择
头部图标
显示清空按钮
文本框可输入
只读
禁用
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-获取选择范围 必须启用范围选择

EL-穿梭框

使用场景

  • 另一种形式的多选

使用方式

说明:对vue有基础知识的开发者,可以通过这个类型提供的一些接口,定义自己的UI。

  • customRender(h, option):

    1. 这个方法可以自定义UI

    2. 用户使用Javascript命令修改此方法

    3. 此函数种有两个参数:

      i.h,表示vue框架中的render方法,它会返回virtual dom

      ii.option,该参数来自于EL-穿梭框,表示穿梭框数据源中的每一项

    4. 此方法返回一个virtual dom

  • refreshUI:此方法用于在用户更改 render后重新构建EL-穿梭框,因为 vue 不知道渲染已更改,需要您手动刷新

  • getValueFromElement:获取单元格的值

案例

  • 任务:创建一个UI类似下图的穿梭框

  • 步骤:

    1. 编辑页面加载命令

      (1选择“JavaScript命令”

      (2编辑javascript:

      • 给穿梭框设置一个单元格名称

      • 获取穿梭框的单元格类型

      • 定义个性化render

      • 更换穿梭框的render

      • 刷新UI

    2. 编码元素样式

      (1为穿梭框设定一个CSS类名

      (2编码CSS文件并提交

    3. 如何获取要提交的自定义值

      (1通过getValueFromElement获取单元格类型值

      (2通过cellType.vue.data获取穿梭框数据源

      (3通过自定义数据源和单元格类型值来定义自己的值

  • 项目附件:见Example project中的 EL-穿梭框.fgcc

设计时

运行时

单元格设置

名称 说明
编辑命令
默认值
从数据库生成选项
配置选项/绑定数据源
左侧列表标题
右侧列表标题
右侧列表元素的排序策略 保持与数据源相同的顺序/新加入的元素排在最后/新加入的元素排在最前
可搜索
搜索框占位文本
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-重新加载绑定项目 必须从数据库生成选项。

EL-文件上传

优劣对比

与活字格内置单元格类型-附件对比

优势:

  • 更现代的UI界面

劣势

  • 不支持添加进表格

  • 不支持使用单元格格式

  • 不支持拖放上传文件

使用方式

设计时

运行时

单元格设置

名称 说明
单元格权限
最大允许上传个数 限制可以上传的最大文件数。 默认不限制。 如果用户尝试上传的文件数超过限制,将弹出警告
上传的文件类型 接受上传文件的扩展名。 默认为“.jpg, .jpeg, .png” 如果用户尝试上传无效文件,将弹出警告
最大文件大小(单位:MB) 上传文件大小限制,单位MB,默认1MB 删除值置空或将值设置为 0 均表示没有限制 如果用户尝试上传的文件数超过限制,将弹出警告
文件布局类型 文件名/图文列表/照片墙
上传按钮文本 必须文件布局类型为文件名/图文列表
提示信息 必须文件布局类型为文件名/图文列表
支持在对话框中多选文件
禁用
只读

EL-表格

使用场景

  • 使用element的表格类型

使用方式

设计时

运行时

单元格设置

名称 说明
表格名 EL-表格的唯一识别符,可以用于EL-分页中绑定表
行点击命令 当行被单击时触发 自有参数:行数据。即被点击的行数据
行双击命令 当行被双击时触发 自有参数:行数据。即被点击的行数据
编辑当前行变更命令 当当前行变动时触发,行单击命令和行双击命令都可能触发 自有参数:行数据。即被点击的行数据
数据源 设定绑定的数据表
自动根据数据源生成列
手动配置表格列 必须取消勾选自动根据数据源生成列。手动设置每列配置。
显示操作按钮 是否于表格末尾显示操作按钮
配置操作按钮 配置操作按钮的行为和样式。
操作列宽度
在表尾显示合计行
合计行第一列的文本
表格的尺寸 大|中|小
显示表头
显示行号
显示选择列
列的宽度是否自撑开
带有纵向边框
斑马纹
高亮当前行
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置当前行
可用操作-重载表格

补充说明

对于基础的筛选和查询功能,在EL-表格中和原生的表格不太一样,具体解释如下:

  • 表头筛选:取消勾选自动根据数据源生成列,在配置表格列中,勾选开启数据过滤,需要多选时勾选数据过滤是否多选。
  • 表格查询:对于数据源绑定表的,直接将期望的查询语句设置在 设置数据源 界面中的查询条件中,并将空值查询策略设置为全部记录,这样就可以直接通过文本框进行查询。

EL-树形控件

使用场景

  • 使用element的树形类型,支持拖拽和多选

使用方式

设计时

运行时

单元格设置

名称 说明
编辑选择命令 每当有节点被选中时触发。每个节点都有值、显示文本、父节点值三个属性,可以结合属性区分不同节点
编辑点击命令 每当单击节点时触发。同上,支持使用每个节点的三个属性
编辑拖拽命令 必须开启拖拽节点功能。每当拖拽节点时触发。支持参数:拖动节点值、放置目标节点的值、拖动类型(目标节点之上、内部、之下三种类型)
数据源 配置数据源。常规绑定,直接设置每个节点;绑定数据源,绑定至目标表,目标表至少包含两列,ID列,上级ID列,用来构建树中上下级结构
内容为空时展示的文本 没有数据时显示的内容
节点支持多选 开启后,树节点支持多选
单击节点时选中节点 开启后,点击节点即可选中节点,无需点击选择框
允许选择任意一级选项 开启后,取消父子节点关联,可以自由选择任意一级选项
默认展开所有节点 开启后,运行时,默认展开所有节点
单击节点时展开或收起节点 开启后,点击节点即可展开/收起节点,无需点击展开/收起按钮
展开一个树节点时,折叠其他树节点 开启后,展开一个树节点时,其他已展开节点自动折叠
高亮当前选中节点 开启后,选中节点将会有明显的背景颜色
开启拖拽节点功能 开启后,树节点支持拖拽,拖拽后触发拖拽命令
可用操作 直接拖拽可用操作到页面上,自动生成操作单元格命令
可用操作-设置数据源(对象树) 使用动态JSON对象树作为单元格的数据源。产品内此功能的参数设置部分下有详细解释
可用操作-设置数据源(二维表) 使用二维表JSON对象树作为单元格的数据源。产品内此功能的参数设置部分下有详细解释
可用操作-获取选中节点 必须启用多选。支持获取当前被勾选的叶子节点,获取当前被勾选的半选节点(半选节点指子节点被部分选择的父节点)
可用操作-设置选中节点 必须启用多选。设置勾选节点,支持只勾选叶子节点
可用操作-获取当前选中节点 支持获取当前选中的节点的值
可用操作-设置当前选中节点 支持设置当前选中的节点的值
可用操作-获取半选中节点 必须启用多选,获取半选节点的值
可用操作-设置某个节点的勾选状态 设置值为输入参数的节点的勾选状态,是否被选中(未勾选则为取消选中),是否同样操作所有子节点
可用操作-重新加载绑定项目

补充说明

树中的所有节点都会被实时渲染,因此,在处理超过有1000个子节点的数据时,性能会比较低。


EL-虚拟表格

使用场景

  • 一种基础的只读的树形表格,以表格的形式展示树形数据

使用方式

设计时

运行时

单元格设置

名称 说明
表格名 EL-表格的唯一识别符,可以用于EL-分页中绑定表
编辑行点击命令 当行被单击时触发 自有参数:行数据。即被点击的行数据
编辑行双击命令 当行被双击时触发 自有参数:行数据。即被点击的行数据
数据类型 设定绑定的数据类型。表格数据与树形数据,本单元格中主要支持树形数据展示
设置数据源 设定绑定的数据表
配置表格列 手动配置展示的列。列名、绑定字段、格式字符串、列宽、固定列位置、对齐方式、表头对齐方式
默认展开方式 必须使用树形数据。设置运行时树形结构展开折叠的状态。全部展开、展开到指定层级、全部收起。
展开到指定层级 必须设置默认展开方式为展开到指定层级。输入整数,从1开始,1即全部收起,2即多展开一层下级,以此类推。
显示行列号 显示行号。
显示操作列 显示操作列。默认有编辑、删除,可在设置中添加新的按钮
显示操作按钮 是否于表格末尾显示操作按钮
可用操作-设置数据源(对象树) 使用动态JSON对象树作为单元格的数据源。产品内此功能的参数设置部分下有详细解释
可用操作-设置数据源(二维表) 使用二维表JSON对象树作为单元格的数据源。产品内此功能的参数设置部分下有详细解释
可用操作-配置列属性
可用操作-重载表格

Element UI 命令

EL-通知

使用场景

  • 在页面角落弹出提醒信息

使用方式

效果示例

命令选项

名称 说明
标题
内容
主题样式 成功|警告|信息|失败
显示时长(单位:毫秒) 显示时间,单位为毫秒。设置为 0 不会自动关闭。
弹出位置 右上角|左下角|右下角|左下角
偏移距离(单位:像素) 所有通知框实例都应该具有相同的偏移量。
显示关闭按钮
上下文 用于存储将在点击通知命令中使用的上下文值(例如 ID)
点击通知执行命令...

主题样式

  • 成功

  • 警告

  • 信息

  • 失败


EL-消息

使用场景

  • 可以在用户活动后展示反馈信息,【EL-通知】常用于显示系统发送的被动通知。

使用方式

效果示例

命令选项

名称 说明
消息内容
主题样式 成功|警告|信息|失败
显示时长(单位:毫秒) 显示时间,单位为毫秒。设置为 0 不会自动关闭。
偏移距离(单位:像素) 设置消息框距离窗口顶部的偏移量
显示关闭按钮
文字居中

主题样式

  • 成功

  • 警告

  • 信息

  • 失败


EL-弹框

使用场景

  • 更现代的消息框UI,可用于替换html警报或确认对话框

使用方式

效果示例

命令选项

名称 说明
标题
正文内容
主题样式 无|成功|警告|信息|失败
显示确定按钮
确定按钮的文本
显示取消按钮
显示关闭按钮
弹框结果至变量 定义一个变量。 当消息框关闭时,将结果值保存到变量中。 然后,其他命令可以基于消息框结果进行不同的执行。 单击确定返回结果为【confirm】 单击取消返回结果为【cancel】 单击关闭按钮返回结果为【close】
高级设置-显示输入框
高级设置-居中布局
高级设置-可通过点击遮罩关闭弹窗
高级设置-可通过按下ESC键关闭弹窗
高级设置-将取消与关闭进行区分 未勾选时,取消和关闭的返回结果都是【cancel】。勾选时,见弹框结果至变量(本表格第8行)

主题样式

  • 成功

  • 警告

  • 信息

  • 失败



Element UI自定义

允许开发人员使用代码自定义组件UI

策略

  • 支持使用html

  • 支持使用vue模板

  • 支持使用Element组件

限制

  • 不支持使用虚拟节点

  • 不支持使用自定义组件


自定义EL-回到顶部

说明

  • 允许开发者自定义回到顶部的UI

  • 支持自定义回到顶部的内容

使用指南

  • 在页面中设置一个【EL-回到顶部】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • "back-top-custom-render" 表示回到顶部的 css 名称

  • 请设置变量“FgcElement”、“BackTopSlots”、“Content”的名称与演示代码相同,否则将不起作用

var FgcElement = FgcElement || {};

FgcElement.BackTopSlots = FgcElement.BackTopSlots || {};

FgcElement.BackTopSlots.Content = FgcElement.BackTopSlots.Content || {};


FgcElement.BackTopSlots.Content["back-top-custom-render"] = function(){
    return "<div style='color: red;'>UP</div>";
}
  • 设置前

  • 设置后


自定义EL-日历

说明

  • 允许用户自定义日历标头与单元内容

使用指南

  • 在页面中设置一个【EL-日历】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • “calendar-custom-render”是您为【EL-日历】指定的 CSS 名称。

  • 请设置变量“FgcElement”、“CalendarSlots”、“Header”、“Cell”的名称与演示代码相同,否则将不起作用

  • 定义日历标头的示例代码中的关键字“data”是 【EL-日历】中的内置数据

  • 定义单元格内容的示例代码中的关键字“data”是 【EL-日历】中的内置数据

// data of header
interface data {
  date: String // current month
}
// data of cell
interface data {
  type: String,
   isSelected: Boolean,
   day: Number,
    date: String
}
var FgcElement = FgcElement || {};
 
FgcElement.CalendarSlots = FgcElement.CalendarSlots || {};
 
FgcElement.CalendarSlots.Header = FgcElement.CalendarSlots.Header || {};
 
FgcElement.CalendarSlots.Cell = FgcElement.CalendarSlots.Cell || {};
 
 
FgcElement.CalendarSlots.Header["calendar-custom-render"] = function(){
    return `
    <span>Custom header content</span>
      <span>{{ data.date }}</span>
      <el-button-group>
        <el-button size="small">Previous Year</el-button>
        <el-button size="small">Previous Month</el-button>
        <el-button size="small">Today</el-button>
        <el-button size="small">Next Month</el-button>
        <el-button size="small">Next Year</el-button>
      </el-button-group>
    `;
}
 
FgcElement.CalendarSlots.Cell["calendar-custom-render"] = function(){
    return `
    <p>
        {{ data.day.split('-').slice(1).join('-') }}
        {{ data.isSelected ? '✔️' : '' }}
      </p>
    `
}
  • 设置前

  • 设置后


自定义EL-级联选择器

说明

  • 允许用户自定义级联节点UI

使用指南

  • 在页面中设置一个【EL-级联选择器】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • “cascader-custom-render”是您为【EL-级联选择器】指定的 CSS 名称。

  • 请设置变量“FgcElement”、“CascaderSlots”、“Node”的名称与演示代码相同,否则将不起作用

  • 示例代码中的关键字“data”和“node”是【EL-级联选择器】中的内置数据

interface data {
  node: Node,
  data: Data
}
// node and data are current Node object and node data respectively.

interface Data {
  value: String,
  label: String,
  children: Array<Data>
}
var FgcElement = FgcElement || {};
 
FgcElement.CascaderSlots = FgcElement.CascaderSlots || {};
 
FgcElement.CascaderSlots.Node = FgcElement.CascaderSlots.Node || {};
 
FgcElement.CascaderSlots.Node["cascader-custom-render"] = function(){
    return `
      <span>{{ data.label }}</span>
      <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
      `
}
  • 设置前

  • 设置后


自定义EL-日期选择器

说明

  • 允许用户自定义范围分隔符和单元格内容UI

使用指南

  • 在页面中设置一个【EL-日期选择器】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • date-picker-custom-render”是您为【EL-日期选择器】指定的 CSS 名称。

  • 请设置变量“FgcElement”、“DatePickerSlots”、“RangeSeparater”、“Cell”的名称与演示代码相同,否则将不起作用

  • 示例代码中的关键字“cell”是【EL-日期选择器】中每个日期单元格内的内置数据

interface cell {
  column: number
  customClass: string
  disabled: boolean
  end: boolean
  inRange: boolean
  row: number
  selected: Dayjs
  isCurrent: boolean
  isSelected: boolean
  start: boolean
  text: number
  timestamp: number
  date: Date
  dayjs: Dayjs
  type: 'normal' | 'today' | 'week' | 'next-month' | 'prev-month'
}
var FgcElement = FgcElement || {};

FgcElement.DatePickerSlots = FgcElement.DatePickerSlots || {};

FgcElement.DatePickerSlots.RangeSeparater = FgcElement.DatePickerSlots.RangeSeparater || {};

FgcElement.DatePickerSlots.Cell = FgcElement.DatePickerSlots.Cell || {};


FgcElement.DatePickerSlots.RangeSeparater["date-picker-custom-render"] = function(){
    return "<span>XXX</span>";
}

FgcElement.DatePickerSlots.Cell["date-picker-custom-render"] = function(){
    return "<div style='color: red;'>{{ cell.text }}</div>"
} 
  • 设置前

  • 设置后


自定义EL-导航菜单

说明

  • 允许用户自定义数据源树下叶子节点的UI

使用指南

  • 在页面中设置一个【EL-导航菜单】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • “nav-menu-custom-render”是您为【EL-导航菜单】指定的 CSS 名称。

  • 请设置变量“FgcElement”、“MenuItemSlots”、“Content”的名称与演示代码相同,否则将不起作用

  • 示例代码中的关键字“item”是用户定义的每个叶子节点

var FgcElement = FgcElement || {};
 
FgcElement.MenuItemSlots = FgcElement.MenuItemSlots || {};
 
FgcElement.MenuItemSlots.Content = FgcElement.MenuItemSlots.Content || {};
 
FgcElement.MenuItemSlots.Content["nav-menu-custom-render"] = function(){
    return "<div style='color: red;'>{{ item.label}}</div>"
}
  • 设置前

  • 设置后


自定义EL-选择器

说明

  • 允许用户使用【EL-选择器】的代码以自定义UI

  • 支持自定义选择前缀和选项内容

使用指南

  • 在页面中设置一个【EL-选择器】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • “select-custom-render”是您为【EL-选择器】指定的 CSS 名称。

  • 请设置变量“FgcElement”、“SelectSlots”、“Prefix”、“Option”的名称与演示代码相同,否则将不起作用

  • 示例代码中的关键字“Option”是数据源中的每一项

interface option
{

  value: number | string

  label: string

}
var FgcElement = FgcElement || {};

FgcElement.SelectSlots = FgcElement.SelectSlots || {};

FgcElement.SelectSlots.Prefix = FgcElement.SelectSlots.Prefix || {};

FgcElement.SelectSlots.Option = FgcElement.SelectSlots.Option || {};

FgcElement.SelectSlots.Prefix["select-custom-render"] = function(){
    return "<span>X</span>";
}

FgcElement.SelectSlots.Option["select-custom-render"] = function(){
    return "<div style='color: red;'>{{ option.label }}</div>";
}
  • 设置前

  • 设置后


自定义EL-表格

说明

  • 允许开发者自定义表格单元格的UI

使用指南

  • 在页面中设置一个【EL-表格】类型的单元格

  • 为该单元格赋一个CSS类名

  • 将你的javascript上传进设计器的“设置→自定义JavaScript/CSS”中

  • 代码演示

  • "column-custom-render" 表示回到顶部的 css 名称

  • 设置 javascript 代码自定义表格单元格的外观,将表格单元格文本颜色变为红色。

var FgcElement = FgcElement || {};

FgcElement.TableColumnSlots = FgcElement.TableColumnSlots || {};

FgcElement.TableColumnSlots.Content = FgcElement.TableColumnSlots.Content || {};

FgcElement.TableColumnSlots.Content["column-custom-render"] = function (scope) {
    return `<div style="color: red;">{{ scope.row[scope.column.property] }}<div>`
}
  • 设置前

  • 设置后

MIT License Copyright (c) 2022 葡萄城 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

活字格UI组件-ElementPlus插件源代码 展开 收起
MIT
取消

发行版 (4)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/GrapeCity/hzg-element-plus-plugin-source-code.git
git@gitee.com:GrapeCity/hzg-element-plus-plugin-source-code.git
GrapeCity
hzg-element-plus-plugin-source-code
HZG-ElementPlusPluginSourceCode
master

搜索帮助