inBuilder 低代码平台新特性推荐 - 第十八期
今天来给大家带来的是 inBuilder 低代码平台特性推荐系列第十八期——表单设计器集成预约日历组件。
一、场景介绍
项目上希望用日历的形式展示某地点在一段时间内的预约记录,表单设计器新增支持创建日历预约视图,并配置预约属性。
二、运行效果
![](https://static001.geekbang.org/infoq/31/31e66b6db9c023cef613b0e2cbef0f64.png)
三、前置步骤:
此需求的场景里,要求有两个实体结构,一个是预约的地点表(例如会议室),一个是预约的记录表(例如会议室预约记录表)。所以我们首先创建两个业务实体:
01 预约地点实体
以会议室为例,常用字段有地点编号(必需)、地点名称(必需)、备注、容纳人数、是否有投影等。
![](https://static001.geekbang.org/infoq/e8/e84e52bb38e244780bf15fd2082e5b40.png)
02 预约记录表
以会议室预约为例,常用字段有地点(关联预约地点实体、必需)、预定标题(可以是预定主题等内容,必需)、开始时间(必需)、结束时间(必需)、预定类型等。
![](https://static001.geekbang.org/infoq/90/901decad91b289cce1315a7a6961c73e.png)
四、开发步骤
以下步骤,以会议室预定为例,说明了如何在表单设计器中创建预约日历视图并维护预约控件的属性。
01 列表启用多视图
以管理列表表单为例,首先在控件树中右键选择【表格节点】,右键菜单点击【启用多视图】
![](https://static001.geekbang.org/infoq/ef/eff7a0907acb885f2d358c8b983e745a.png)
02 在多视图中新增日历视图
![](https://static001.geekbang.org/infoq/d2/d240f9156eedb1b727baf9eb15ac7b47.png)
添加成功后,可以通过视图切换按钮,将页面切换到日历模式:
![](https://static001.geekbang.org/infoq/d3/d39b720577dc5c14505f604f893bfafa.png)
03 维护日历外观类属性
设计器已默认初始了日历控件的部分属性,若项目有样式类需求,可以在此进行调整。
默认视图类型:日历控件左上角,支持切换日视图和周视图,默认展示日视图。
地点列宽度:日历控件左侧地点列宽度。
日视图行高:日视图下表格每行的高度。
周视图行高:周视图下表格每行的高度。
周视图列宽度:周视图下表格每列的宽度。
![](https://static001.geekbang.org/infoq/56/56e4f5a8a6390b537719897211439eeb.png)
04 地点配置
地点列标题
![](https://static001.geekbang.org/infoq/22/224c6ad3d0285ec24a7924b2cca0899d.png)
地点数据源
首先需要根据地点(会议室实体)创建一个地点的维护表单,例如列卡类维护表单。
![](https://static001.geekbang.org/infoq/a5/a5e205f2f185501c61c8729afa1a48e1.png)
然后,回到日历预约表单,地点数据源选择的是地点维护表单对应的 VO。选择后,设计器自动填充数据源请求 url 和数据源请求类型,开发者无需修改。
![](https://static001.geekbang.org/infoq/0e/0e1d88878a65022d4e2b682e10189525.png)
地点展示模板
![](https://static001.geekbang.org/infoq/fb/fb46bcacaf053576eaed95e14cfadeb1.png)
模板编辑器中已预置了地点展示模板,可以在此模板中选择需要展示的字段,操作步骤如下动图所示:
![](https://static001.geekbang.org/infoq/b3/b3965236a74d839c1a005628b4a396f0.png)
地点标识字段、地点名称字段
![](https://static001.geekbang.org/infoq/b2/b2b1166a26a1d6f95d9936a96117281e.png)
05 日视图配置
在日视图展示模式下,表格中以横条展示预定信息。
![](https://static001.geekbang.org/infoq/a2/a2c9749cf99543b72fc826e9644c24f8.png)
日视图预定信息模板
模板编辑器中已预置了预定信息模板,可以在此模板中选择需要展示的字段,操作步骤如下动图所示:
![](https://static001.geekbang.org/infoq/f5/f54abcd6cf3dcee5b38eb7938496b63d.png)
日视图自定义样式
若需要根据某字段来区分横条的样式(例如背景颜色),可以配置自定义样式。
![](https://static001.geekbang.org/infoq/ab/ab3c74860e76898476ce5a5491ade920.png)
新增预定文本
用户将鼠标放在空白单元格上时,单元格显示的文本
![](https://static001.geekbang.org/infoq/78/78361157480fa5e4907fc93ad1122e41.png)
06 预定配置
依次选择预定实体中的关键字段。
地点标识字段:选择关联的会议室字段
![](https://static001.geekbang.org/infoq/21/2166878dfedab90d8154b085d224735d.png)
预定主题名称字段:选择预定主题字段
开始时间字段、结束时间字段:选择预定的开始时间、结束时间字段
07 详情卡片配置
详情卡片是指用户点击某条预定记录时弹出的卡片:
![](https://static001.geekbang.org/infoq/ff/ff3f9848a3c703d7e0be6d332e59dc17.png)
展示列:用户希望在详情卡片中展示的字段。
![](https://static001.geekbang.org/infoq/41/41c9ae203b7e50cfc4da427da21b80b5.png)
详情徽章模板:用户希望在详情卡片中以徽章的格式展示某个字段,通常为类型字段。
![](https://static001.geekbang.org/infoq/65/65c15ca2ba468907a063e5023d120428.png)
模板编辑器中已预置了徽章模板,可以在此模板中选择需要展示的字段,操作步骤如下动图所示:
![](https://static001.geekbang.org/infoq/06/0654f506136c786eb7c4fcaefc5a3cc1.png)
详情卡片自定义样式:详情卡片的样式类,通常用于配置一些背景色。
此例中配置的背景色与日视图自定义样式一致。
![](https://static001.geekbang.org/infoq/2d/2d6e1c8bb2abcdd6b1a77db0e667861e.png)
08 配置新增预定事件
用户点击空白单元格时,需要跳转到卡片页面进行预定信息的新增操作。我们需要在新增事件中选择一个卡片页面。
![](https://static001.geekbang.org/infoq/85/8554655fa7d4e33722c24d1cf735dbd7.png)
欢迎大家下载inBuilder开源社区版,体验上述特性,开启低代码开发之旅!
评论