五种日历视图,一个 Salesforce 组件
人们实际提出的排期问题里,有一半用月历来回答并不合适。下面说说我们为什么又加了四种视图,以及如何让视图选择变成一个配置字段,而不必重新搭建。
每个日历最初都是月历,因为“日历”这个词让人想到的就是它。然后大家开始问它答不上来的问题:“周四下午谁有空?”“4 号会议室下周是不是排满了?”“哪个技术员超出容量了?”这些数据月历里都有,只是得一点点去找。
现在,MultiDatePick 能以五种方式呈现同一批记录。一个组件、一套字段映射、一条保存路径,再加一个改变布局的视图设置。
五种视图,各自回答一个问题
每种视图都为一个问题而设计。底层是同一批记录,按这个问题需要的方式呈现。
14 号有什么安排?
一次显示一个月,每天按当天预订的状态填色。混合多种状态的日期会显示其中的每一种状态。这是默认视图,多数情况下仍是最合适的选择。
可交互
哪个资源有空,什么时候有空?
资源纵向排列,日期横向展开。跨三天的预订显示为一整条横条,重叠的预订分道堆叠,容量条显示每天的占用程度。可从单日缩放到整月,拖动横条即可移动或拉长预订。详细了解时间轴视图。
可交互
周四下午 2 点谁有空?
横向七天,纵向为营业时间,每项预订按实际时长显示。重叠的预订以各自的状态颜色并排显示,旁边留出空白区域,方便再加一项。
可交互
接下来有什么安排?
未来 60 天的平铺列表,按日期分组,显示时间、状态以及您选择的字段。在手机上和交接班时都很好读。
只读
使用率和日程视图特意设计为只读:它们用来回答问题,而不是接受预订。其余三种视图完全可交互。
五种视图,对预订只有一种定义
这类故事通常的结局是再做一个组件:有自己的字段、自己的保存逻辑,还有自己的 bug。而在这里,五种视图通过同一套字段映射读取同一批记录,遵守相同的冲突规则和屏蔽日期,并通过同一条保存路径写入。从日历切换到时间轴,不会改变预订的含义,因为预订只有一种定义。
由两个设置控制:
视图(View)
组件打开时显示的布局:日历、时间轴、周、使用率或日程。
可用视图(Available Views)
切换器中提供的视图。留空则提供全部五种,也可以缩小到适合本页面的两种。
于是一个组件就变成了三种不同的工具。招聘人员的面试安排页面默认打开周视图,因为面试是按钟点安排的问题。设施经理的会议室预订页面默认打开日历,旁边提供时间轴和使用率,因为会议室是容量问题。墙上的展示屏默认打开日程,完全不提供可编辑的视图。
每个放置位置单独选择视图
全组织统一的日历设置几乎毫无用处,因为一家公司问的从来不是同一个问题。销售想看下周,运营想看下季度,班组经理想按小时看今天,财务想要一个使用率数字。
视图在组件的每个放置位置上单独设置。把 MultiDatePick 放在四个记录页面、一个 Flow 屏幕、一个主页和一个公开的 Experience Cloud 站点上,每个位置都可以是同一批对象的不同视图。无需再次安装,也无需同步多套字段映射。
时间轴还有两个专属设置:
| 设置项 | 作用 | API 名称 |
|---|---|---|
| 时间轴窗口(天)(Timeline Window (Days)) | 屏幕上同时显示多少天,默认 14 天。如果显示整月的列,每项预订只有约二十像素宽,所有标签都会被截断,所以这个时间窗口是为了保持视图清晰易读。若想显示整月,请设为 0。 | timelineWindowDays |
| 视图中最大资源数(Max View Resources) | 绘制多少行资源,最繁忙的排在前面。避免八十间会议室的列表把视图变成一堵墙。 | maxViewResources |
当某个资源有多项重叠预订时,它的行会折叠为带计数的一条,单击后展开为每项预订一道。信息密度由用户自己选择,而不是被数据强加。
把资源查找指向 User,就变成了人员排班
资源查找可以指向任何对象。指向会议室,就是会议室预订;指向设备,就是设备借用。指向 User,上面的每种视图都会变成人员调度工具:时间轴是值班表,周视图是班次网格,使用率是团队容量仪表板。比起会议室,经理们更常问的是“哪个人超出了容量”。
库中正好有两个现成配置:团队容量规划 默认打开使用率热力图,员工排班表 默认打开时间轴。两者都以 User 作为资源。
库中的每个配置现在都已预选好视图
选择默认视图需要判断,而照搬一个比自己定一个更容易。所以 Config Library 中的每个配置现在都同时指定了默认视图和切换器列表,依据的是每个配置的实际用途:
导入其中任何一个,把字段名重新映射到您自己的架构,视图选择也会一并带过来。
一个组件,五种视图,无需二次安装。
在在线演示中切换全部五种视图,或在 Config Library 中查看每个场景默认打开哪种视图。
- $20/用户/月,全部功能
- 30 天免费试用,无需信用卡
- 100% Salesforce 原生
- 无需 Apex
- 即将登陆 Salesforce AppExchange