没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-04-14 10:35:21.060|阅读 3 次
概述:DHTMLX 产品支持构建功能丰富的预订系统,从而简化针对不同行业的预约安排。Scheduler 组件丰富的功能(可自定义的日历视图、重复事件等)与 Booking 小部件现成的预订管理 UI 相结合,满足您构建现代化 Web 预订解决方案所需。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
DHTMLX JS 预约日历小部件旨在帮助开发团队构建功能丰富的自定义预约系统,方便用户在网络上进行预约。
它更强大的地方在于它与DHTMLX Scheduler的无缝集成,使开发人员能够构建更先进、功能更丰富的调度解决方案。在本指南中,我们将引导您完成在前端整合这两个组件的过程。
很难想象现代酒店、医疗诊所或美容院会缺少可靠的预订系统。这类工具能够帮助客户轻松便捷地在线预约,从而简化运营流程。
找到一个满足特定业务模式所有技术要求和功能需求的现成解决方案并非易事。而这正是 DHTMLX Booking and Scheduler 的优势所在。使用这些完全兼容的 JavaScript UI 组件,开发团队可以构建符合特定需求的定制预约安排解决方案,并节省时间和精力。
下面,我们将展示了如何在医疗中心的单一解决方案中将 DHTMLX Booking与Scheduler相结合。
该演示包括三个主要部分——医生安排、预约和客户预约。
有必要提一下我们演示中每个部分使用的主要功能概念:
这种集成中最棘手的部分是将调度程序事件转换为预订时段,这发生在服务器端。
在本文中,您将学习如何配置这两个 DHTMLX 组件,从而为实现服务器端的主要目标做好准备。
在深入研究我们演示中实现的所有三个部分的配置特性之前,我们想澄清与时间段(即可预订的时间单位)、重复和时间戳相关的几个重要细节。
在 DHTMLX Booking 中处理时间段有两种方法:
由于预订小部件目前仅支持每周重复事件,因此有必要在其配置中排除 Scheduler 中可用的其他重复选项。
最后,我们必须指出,Booking 使用的是本地时区的时间戳。处理全球时间戳时,需要在将这些时间戳发送给 Booking 之前进行相应的转换(反之亦然),然后再保存数据。转换说明请参阅此页面。
让我们回顾一下如何分别配置每个部分并强调这个过程的主要方面。
if (schedulerWidget) schedulerWidget.destructor();
schedulerWidget = Scheduler.getSchedulerInstance();
schedulerWidget.plugins({
timeline: true,
daytimeline: true,
recurring: true,
tooltip: true,
minical: true
});
schedulerWidget.createTimelineView({
name: "timeline",
...
});
schedulerWidget.init("doctor_scheduler", utcDate, "timeline");
首先,你需要加载医生的日程安排。之后,初始化并绑定 Scheduler 实例以便与后端集成,所有数据都将存储在后端:
schedulerWidget.load(URL("/doctors/worktime"));
if (dp) dp.destructor();
dp = new scheduler.DataProcessor(URL("/doctors/worktime"));
dp.init(scheduler);
由于“预订”小部件既可以适用于每周计划,也可以适用于任意日期,因此您需要调整 Scheduler 以创建重复的每周事件。为此,您可以通过`schedulerWidget.form_blocks.recurring.render`设置一个自定义表单来编辑重复事件:
schedulerWidget.form_blocks.recurring.render = () => {
return /* custom HTML for form */;
};
除了时间线视图和事件循环之外,此部分的配置还包括其他扩展(插件),例如迷你日历和工具提示。
使用 Scheduler API 中提供的模板,您可以更改时间线元素的外观、指定过去事件的显示以及在事件栏和工具提示中添加自定义内容。
您需要使用我们的 JavaScript 预订小部件来添加此部分。它提供了大部分开箱即用的功能,因此您只需初始化小部件并同步数据即可。
将所有全局时间戳转换为本地时间戳后,初始化预订小部件并从后端加载医生的数据及其时间表和已预订的时段。
bookingWidget = new booking.Booking("#root", { start: utcDate(), end: utcDate(/*add 2 years*/), }) fetch(URL("/units")) .then(res => res.json()) .then(units => { // convert timestamps ... bookingWidget.setConfig({ data: units }); });
您需要创建一个处理时间段预订的处理程序,并将本地时间戳转换为全局时间戳。该处理程序向服务器发送 POST 请求,数据保存在“客户预订”部分显示数据时使用的同一集合中:
bookingWidget.setConfirmHandler(event => {
const { confirm, slot, data } = event;
const info = { /*event data*/}; // convert timestamps
fetch(URL("/doctors/reservations"), {
method: "POST",
body: JSON.stringify(info),
}).then(response => {
if (response.ok) confirm.done();
else confirm.error();
});
});
最后,我们可以进入客户预订部分。
它的配置与 Doctor Schedule 部分类似,但配置本身不同。
对于本节,您将使用周单位设置单位视图:
if (schedulerWidget) schedulerWidget.destructor();
schedulerWidget = Scheduler.getSchedulerInstance();
schedulerWidget.plugins({
units: true,
...
});
schedulerWidget.createUnitsView({
name: "week_unit",
property: "doctor_id",
list: doctors,
days: 3,
});
schedulerWidget.init("client_scheduler", utcDate, "week_unit");
首先,你需要获取医生和预约(即客户预约)的数据。作为准备步骤,你需要将时间转换为当地时区。
要从后端加载此数据,您需要以下代码:
Promise.all([
schedulerWidget.ajax.get(URL("/doctors")),
schedulerWidget.ajax.get(URL("/doctors/reservations")),
]).then(([doctorsReq, eventsReq]) => {
let events = JSON.parse(eventsReq.response);
...
schedulerWidget.parse(events);
});
此部分的配置包括单位视图、只读模式、迷你日历(日期选择器)以及包含事件详情的弹出窗口(快速信息)。除此之外,我们还为快速信息窗口和单位视图中的垂直文本显示添加了一些自定义功能。
就是这样。这些是实现预订解决方案前端部分所需的主要步骤,就像我们在演示中使用 DHTMLX 组件一样。
如您所见,DHTMLX 产品支持构建功能丰富的预订系统,从而简化针对不同行业的预约安排。Scheduler 组件丰富的功能(可自定义的日历视图、重复事件等)与 Booking 小部件现成的预订管理 UI 相结合,为您提供了构建现代化 Web 预订解决方案所需的一切。
关于慧都科技:
慧都科技是专注软件工程、智能制造、石油工程三大行业的数字化解决方案服务商。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技DHTMLX在中国的官方授权代理商,提供DHTMLX系列产品免费试用,咨询,正版销售等于一体的专业化服务。DHTMLX专注于JavaScript和HTML5 UI小部件和库,以帮助开发人员更快地构建功能丰富的、交互式的Web界面。 遵循现代网络开发的标准和做法,DHTMLX提供针对桌面和移动设备定制的优秀Web应用程序框架。
下载|体验更多DHTMLX,请咨询,或拨打产品热线:023-68661681
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都网可视化项目时间线对于有效规划和跟踪至关重要。在本篇博文中,您将学习如何使用 C# 在 Excel 中创建甘特图。只需几行代码,即可自动生成动态、美观的甘特图。
本文将为大家介绍DevExpress XAF如何将.NET Aspire集成到Blazor项目中,欢迎下载最新版组件体验!
在线协同文档编辑器ONLYOFFICE现已支持阿里通义千问( Qwen),带来先进的 AI 功能,实现更智能的文档编辑。本指南将向您展示如何将 Qwen 连接到 ONLYOFFICE,并充分利用其功能。
需要从 PDF 文档中删除特定页面?本快速指南将向您展示如何仅用几行代码删除不需要的页面。
一个用于构建跨浏览器Web应用和移动应用的强大JavaScript UI库。
DHTMLX Scheduler一个类似于Google日历的强大JavaScript日程安排控件。
DHTMLX Gantt针对您的解决方案的交互式JavaScript / HTML5甘特图
DHTMLX Spreadsheet高度可定制的JavaScript电子表格组件,可安全、方便地编辑和格式化数据。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢