提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:杨鹏连|2020-11-09 10:55:39.687|阅读 582 次
概述:对Vue.js爱好者来说是个好消息!我们的开发团队为如何将我们的高性能JS事件日历组件(DHTMLX Scheduler)与渐进式JavaScript框架Vue.js集成提供了详尽的指南。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
dhtmlxScheduler是一个类似于Google日历的JavaScript日程安排控件,日历事件通过Ajax动态加载,支持通过拖放功能调整事件日期和时间。事件可以按天,周,月三个种视图显示。
本文介绍了dhtmlxScheduler v5.3各小版本更新内容集合,请查看文章内容了解详细信息。
对Vue.js爱好者来说是个好消息!我们的开发团队为如何将我们的高性能JS事件日历组件(DHTMLX Scheduler)与渐进式JavaScript框架Vue.js集成提供了详尽的指南。
因此,下面是有关使用代码段和插图创建Vue Scheduler组件的分步教程。您还可以通过GitHub上的完整演示来启动开发过程。
1.如何开始
首先,我们需要创建一个应用程序框架。为此,我们将使用vue-cli。如果您没有,则可以使用命令(npm install -g @ vue / cli)使用节点软件包管理器轻松安装它。查看本文>
为了在项目中使用yarn,必须将其全局安装在系统中(npm install -g yarn)。
因此,让我们运行下一个命令来创建一个应用程序:
vue create scheduler-vue它将要求您提供项目信息。您可以选择保留默认答案,然后为每个问题按Enter键或手动选择功能。
下一步是转到应用程序目录,安装依赖项并运行您的Vue.js应用程序:
CD Scheduler - Vue对于使用yarn调用:
yarn install yarn serve对于使用npm调用:
npm install npm run dev开始吧–您的应用程序现在在以下位置运行:http:// localhost:8080
此时,我们需要获取DHTMLX Scheduler的代码-让我们运行以下命令:
yarn add dhtmlx-scheduler --save (for yarn) npm install dhtmlx-scheduler --save (for npm)当我们想将DHTMLX Scheduler添加到我们的应用程序时,我们必须创建一个组件。首先,我们将为应用程序组件创建一个文件夹–打开src文件夹并在其中创建components文件夹。之后,在components文件夹中创建Scheduler.vue文件,并将以下代码行添加到其中:
{{ src/components/Scheduler.vue }} <template> <div ref="scheduler"></div> </template> <script> import 'dhtmlx-scheduler' export default { name: 'scheduler', props: { events: { type: Array, default () { return {events: []} } } }, mounted: function () { scheduler.skin = "material"; scheduler.config.header = [ "day", "week", "month", "date", "prev", "today", "next" ]; scheduler.init(this.$refs.scheduler, new Date(2020, 0, 20), "week"); scheduler.parse(this.$props.events); } } </script> <style> @import "~dhtmlx-scheduler/codebase/dhtmlxscheduler_material.css"; </style>计划程序组件已完成。将元素添加到页面后,它将在“ scheduler”参考下初始化Scheduler 。之后,调度程序将从事件属性中加载数据。
现在,我们最终需要将该组件添加到我们的Vue.js应用程序中。打开App.vue并用下一行替换我们已经在其中存在的代码:
{{ src/App.vue }} <template> <div class="container"> <scheduler class="left-container" :events="events"></scheduler> </div> </template> <script> import Scheduler from './components/Scheduler.vue'; export default { name: 'app', components: {Scheduler}, data () { return { events: [ { id:1, start_date:"2020-01-20 6:00", end_date:"2020-01-20 15:00", text:"Event 1"}, { id:2, start_date:"2020-01-23 6:00", end_date:"2020-01-23 20:00", text:"Event 2"} ] } } } </script> <style> html, body { height: 100%; margin: 0; padding: 0; } .container { height: 100%; width: 100%; } .left-container { overflow: hidden; position: relative; height: 100vh; } </style>完成后,您将在页面上看到带有预定义事件的DHTMLX Scheduler,如下所示:
3.聆听变更并处理事件
假设我们需要跟踪和处理用户在Scheduler中所做的更改,例如,以单独的形式显示所选事件的详细信息,更新父组件的数据模型或将这些更改发送到后端。简而言之,我们需要我们的应用程序了解Scheduler内部的情况。
为此,我们可以捕获DHTMLX Scheduler的API事件并将它们$ emit给父组件。
为了更加清楚,让我们看一下如何创建一个简单的变更日志,在页面右侧的整洁列表中记录下来在Scheduler中所做的所有更改。
首先,应该在调用scheduler.init之前进入Scheduler组件并放置将跟踪和发出Scheduler更改的代码:
{{ src/components/Scheduler.vue }} scheduler.attachEvent("onEventAdded", (id, ev) => { this.$emit("event-updated", id, "inserted", ev); }); scheduler.attachEvent("onEventChanged", (id, ev) => { this.$emit("event-updated", id, "updated", ev); }); scheduler.attachEvent("onEventDeleted", (id, ev) => { this.$emit("event-updated", id, "deleted"); });该代码的作用是将处理程序添加到DHTMLX Scheduler的create / update / delete事件中。如果调用了某个特定的处理程序,它将使用参数触发组件上的Vue事件。
其次,您需要将事件侦听器附加到应用程序组件,并在另一个div中写入操作日志。让我们这样做:
{{ src/App.vue }}
<script>
import Scheduler from './components/Scheduler.vue';
export default {
name: 'app',
components: {Scheduler},
data () {
return {
events: [
{ id:1, start_date:"2020-01-20 6:00", end_date:"2020-01-20 15:00", text:"Event 1"},
{ id:2, start_date:"2020-01-23 6:00", end_date:"2020-01-23 20:00", text:"Event 2"}
],
messages: []
}
},
methods: {
addMessage (message) {
this.messages.unshift(message)
if (this.messages.length > 40) {
this.messages.pop()
}
},
logEventUpdate (id, mode, ev) {
let text = (ev && ev.text ? ` (${ev.text})`: '')
let message = `Event ${mode}: ${id} ${text}`
this.addMessage(message)
},
}
}
</script>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
.container {
height: 100%;
width: 100%;
}
.left-container {
overflow: hidden;
position: relative;
height: 100vh;
display: inline-block;
width: 82vw;
}
.right-container {
border-right: 1px solid #cecece;
float: right;
height: 100%;
width: 340px;
box-shadow: 0 0 5px 2px #aaa;
position: relative;
z-index:2;
}
.scheduler-messages {
list-style-type: none;
height: 50%;
margin: 0;
overflow-x: hidden;
overflow-y: auto;
padding-left: 5px;
}
.scheduler-messages > .scheduler-message {
background-color: #f4f4f4;
box-shadow:inset 5px 0 #d69000;
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 14px;
margin: 5px 0;
padding: 8px 0 8px 10px;
}
</style>
通过此代码,我们为我们的应用程序组件配备了:
{{ src/App.vue }} <template> <div class="container"> <scheduler class="left-container" :events="events" @event-updated="logEventUpdate"></scheduler> <div class="right-container"> <ul class="scheduler-messages"> <li class="scheduler-message" v-for="message in messages">{{message}}</li> </ul> </div> </div> </template>总结分步指南,这里我们创建了一个简单的两列DHTMLX Scheduler布局,将日志处理程序附加到我们从Scheduler模块发出的Scheduler事件中,添加了一个用于存储日志消息并绑定它们的容器到我们的日志消息堆栈。
只是为了检查一切是否正常,请尝试对DHTMLX Scheduler进行一些更改-消息应显示在右侧:
如果您按照上述说明进行操作并遇到任何困难,请与我们分享!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢