vue实现甘特图

目录

实现效果

一、安装依赖

二、使用

二、绕过license


实现效果

一、安装依赖

npm i --save vue-gantt-schedule-timeline-calendar

实现甘特图需先安装上述依赖,安装依赖实际上是通过gantt-schedule-timeline-calendar来实现的。所以node_module中因包含以下两个包。以下是我安装依赖时包的版本情况

{
    "vue-gantt-schedule-timeline-calendar":"^3.0.44",
    "gantt-schedule-timeline-calendar":"3.35.2"
}

注意:gantt-schedule-timeline-calendar需授权才可使用。如商用请使用正版。

二、使用

上述示例完整代码在 vue-gantt-schedule-timeline-calendar依赖中提供。具体位置如下:

node_modules/vue-gantt-schedule-timeline-calendar/src/Example.vue

二、绕过license

以下仅用于学习参考

上图是运行效果,在控制台会有两条license请求,可以看到请求发出的文件位置 。点击可定位到位置。

license会做认证,认证通过可正常使用,如未授权则会显示如下

接下来看下源代码,通过控制台信息找到文件。

上图是我版本的代码,由于代码被编译了,每个版本有所出入。

分析代码后发现绕过license有两种方式:

1、替换license验证地址,换成我们自己的请求,保证响应成功。(需POST请求)

2、将验证失败的动作去掉。

上述两种方案,我最终采用的第2种。

首先说一下第二种方案:

图上custom是用于定位代码走向添加的打印信息。 最终发现验证失败走向的是custom4。删除下方即可。

b=!1,r=k,U()

第一种方案

图中标注的u即请求url地址,换成我们自己的即可。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现一个基本的甘特图,你需要掌握 Vue3 的基本语法和一些组件库,例如 Ant Design Vue。以下是一个简单的实现方法: 1.创建一个任务组件 在这个任务组件中,你需要定义一些属性来描述任务的时间和名称,同时你还需要在组件中写一个模板来展示这些任务的信息。你可以使用 Ant Design VueTimeline 组件来实现这一点。 2.创建一个甘特图组件 在这个甘特图组件中,你需要定义一些属性来描述任务的开始和结束时间,以及任务的名称。同时,你还需要在组件中写一个模板来展示这些任务的信息。你可以使用 Ant Design VueTimeline 组件来实现这一点。 3.将任务组件添加到甘特图组件中 你可以使用 v-for 指令来遍历任务数组,并将任务组件添加到甘特图组件中。 下面是一个简单的示例代码: ```html <template> <div class="gantt-chart"> <a-timeline :mode="'left'" :reverse="true"> <a-timeline-item v-for="task in tasks" :key="task.id" :color="task.color"> <div class="task"> <p>{{ task.name }}</p> <p>{{ task.start }} - {{ task.end }}</p> </div> </a-timeline-item> </a-timeline> </div> </template> <script> import { ATimeline, ATimelineItem } from "ant-design-vue"; export default { name: "GanttChart", components: { ATimeline, ATimelineItem, }, props: { tasks: Array, }, }; </script> <style scoped> .task { margin: 0; } </style> ``` 在这个示例代码中,我们创建了一个名为 GanttChart 的组件,并使用了 Ant Design VueTimeline 组件来实现甘特图。我们还定义了一个属性 tasks,它是一个任务数组,用于描述甘特图中的任务信息。最后,我们将任务组件添加到 Timeline 组件中,并使用 v-for 指令来遍历任务数组。 当你在父组件中使用这个 GanttChart 组件时,你只需要将任务数组传递给它即可。例如: ```html <template> <div> <gantt-chart :tasks="tasks" /> </div> </template> <script> import GanttChart from "./GanttChart"; export default { name: "App", components: { GanttChart, }, data() { return { tasks: [ { id: 1, name: "Task 1", start: "2021-10-01", end: "2021-10-05", color: "blue", }, { id: 2, name: "Task 2", start: "2021-10-06", end: "2021-10-10", color: "green", }, { id: 3, name: "Task 3", start: "2021-10-11", end: "2021-10-15", color: "red", }, ], }; }, }; </script> ``` 在这个示例代码中,我们创建了一个名为 App 的父组件,并将 GanttChart 组件添加到其中。我们还定义了一个名为 tasks 的数据属性,它是一个任务数组,用于描述甘特图中的任务信息。最后,我们将 tasks 数组传递给 GanttChart 组件的 tasks 属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值