jordium-gantt-vue3 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -44
- package/dist/{index-DzqWi3On.js → index-C_3O1oxW.js} +9479 -8704
- package/dist/index-DEDOVZMn.cjs +311 -0
- package/dist/{index.es-D1U0igb5.js → index.es-C-aB3hUm.js} +1 -1
- package/dist/{index.es-DnxPRsaB.cjs → index.es-DYYT_Is3.cjs} +1 -1
- package/dist/jordium-gantt-vue3.cjs.js +1 -1
- package/dist/jordium-gantt-vue3.css +1 -1
- package/dist/jordium-gantt-vue3.es.js +1 -1
- package/package.json +1 -1
- package/dist/index-jixcvDKd.cjs +0 -311
package/README.md
CHANGED
|
@@ -56,36 +56,33 @@ pnpm add jordium-gantt-vue3
|
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
|
-
> 💡 **徽章下载**:
|
|
60
|
-
> - npm 版本徽章:https://img.shields.io/npm/v/jordium-gantt-vue3.svg
|
|
61
|
-
> - MIT 许可证徽章:https://img.shields.io/badge/license-MIT-blue.svg
|
|
62
|
-
> - Vue 版本徽章:https://img.shields.io/badge/vue-3.x-green.svg
|
|
63
|
-
> - TypeScript 徽章:https://img.shields.io/badge/typescript-5.x-blue.svg
|
|
64
|
-
|
|
65
59
|
## 📁 项目结构
|
|
66
60
|
|
|
67
61
|
```
|
|
68
62
|
jordium-gantt-vue3/
|
|
69
|
-
├── src/
|
|
70
|
-
│ ├── components/
|
|
71
|
-
│
|
|
72
|
-
│
|
|
73
|
-
│
|
|
74
|
-
│
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
├── dist/ # 构建产物
|
|
85
|
-
├── docs/ # 文档
|
|
86
|
-
└── package.json
|
|
63
|
+
├── src/ # 组件源码与核心逻辑
|
|
64
|
+
│ ├── components/ # 主要 Vue 组件
|
|
65
|
+
│ ├── models/ # 数据类型与配置
|
|
66
|
+
│ ├── composables/ # 组合式函数
|
|
67
|
+
│ ├── styles/ # 样式文件
|
|
68
|
+
│ └── index.ts # 入口导出
|
|
69
|
+
├── demo/ # 组件开发与交互演示(本地开发/预览用)
|
|
70
|
+
├── packageDemo/ # npm 包集成演示(模拟外部项目集成效果)
|
|
71
|
+
├── dist/ # 构建产物(发布/静态站点/打包输出)
|
|
72
|
+
├── docs/ # 相关文档(如部署、API 说明等)
|
|
73
|
+
├── design/ # 设计资源与截图
|
|
74
|
+
├── public/ # 公共静态资源
|
|
75
|
+
├── README.md # 中文说明文档
|
|
76
|
+
├── README-EN.md # 英文说明文档
|
|
77
|
+
└── ... # 其他配置、脚本与元数据
|
|
87
78
|
```
|
|
88
79
|
|
|
80
|
+
- `demo/`:用于本地开发和功能演示,包含完整的交互页面。
|
|
81
|
+
- `packageDemo/`:用于模拟 npm 包在外部项目中的集成与使用场景。
|
|
82
|
+
- `dist/`:构建输出目录,包含发布到 npm 或静态站点的产物。
|
|
83
|
+
- `docs/`:项目相关文档,如部署说明、API 参考等。
|
|
84
|
+
- 其余目录请参考注释。
|
|
85
|
+
|
|
89
86
|
## 🔧 API 参考
|
|
90
87
|
|
|
91
88
|
### GanttChart 属性
|
|
@@ -117,11 +114,72 @@ jordium-gantt-vue3/
|
|
|
117
114
|
|
|
118
115
|
### GanttChart 事件
|
|
119
116
|
|
|
120
|
-
| 事件名
|
|
121
|
-
|
|
117
|
+
| 事件名 | 参数 | 说明 |
|
|
118
|
+
|----------------------|----------------------------|------------------------------|
|
|
122
119
|
| `taskbar-drag-end` | `task: Task` | 任务条拖拽结束 |
|
|
123
120
|
| `taskbar-resize-end` | `task: Task` | 任务条大小调整结束 |
|
|
124
121
|
| `milestone-drag-end` | `milestone: Task` | 里程碑拖拽结束 |
|
|
122
|
+
| `predecessor-added` | `{ targetTask, newTask }` | 添加前置任务后触发。<br>参数说明:<br>• `targetTask`:被添加前置任务的目标任务(Task对象)<br>• `newTask`:新添加的前置任务(Task对象) |
|
|
123
|
+
| `successor-added` | `{ targetTask, newTask }` | 添加后置任务后触发。<br>参数说明:<br>• `targetTask`:被添加后置任务的目标任务(Task对象)<br>• `newTask`:新添加的后置任务(Task对象) |
|
|
124
|
+
| `task-deleted` | `{ task }` | 删除任务后触发 |
|
|
125
|
+
| `task-added` | `{ task }` | 新建任务后触发 |
|
|
126
|
+
| `task-updated` | `{ task }` | 更新任务后触发 |
|
|
127
|
+
|
|
128
|
+
#### 计时事件用法示例
|
|
129
|
+
|
|
130
|
+
```vue
|
|
131
|
+
<GanttChart
|
|
132
|
+
...
|
|
133
|
+
@timer-started="onTimerStarted"
|
|
134
|
+
@timer-stopped="onTimerStopped"
|
|
135
|
+
/>
|
|
136
|
+
|
|
137
|
+
<script setup>
|
|
138
|
+
function onTimerStarted(task) {
|
|
139
|
+
// 这里可以自定义提示、日志或业务逻辑
|
|
140
|
+
alert(`任务【${task.name}】开始计时:${new Date(task.timerStartTime).toLocaleString()}`)
|
|
141
|
+
}
|
|
142
|
+
function onTimerStopped(task) {
|
|
143
|
+
alert(`任务【${task.name}】停止计时`)
|
|
144
|
+
}
|
|
145
|
+
</script>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### 任务事件用法示例
|
|
149
|
+
|
|
150
|
+
```vue
|
|
151
|
+
<GanttChart
|
|
152
|
+
...
|
|
153
|
+
@predecessor-added="onPredecessorAdded"
|
|
154
|
+
@successor-added="onSuccessorAdded"
|
|
155
|
+
@task-deleted="onTaskDeleted"
|
|
156
|
+
@task-added="onTaskAdded"
|
|
157
|
+
@task-updated="onTaskUpdated"
|
|
158
|
+
/>
|
|
159
|
+
|
|
160
|
+
<script setup>
|
|
161
|
+
function onPredecessorAdded(e) {
|
|
162
|
+
// e: { targetTask: Task, newTask: Task }
|
|
163
|
+
alert(`任务【${e.targetTask.name}】添加前置任务【${e.newTask.name}】`)
|
|
164
|
+
}
|
|
165
|
+
function onSuccessorAdded(e) {
|
|
166
|
+
// e: { targetTask: Task, newTask: Task }
|
|
167
|
+
alert(`任务【${e.targetTask.name}】添加后置任务【${e.newTask.name}】`)
|
|
168
|
+
}
|
|
169
|
+
function onTaskDeleted(e) {
|
|
170
|
+
// e: { task: Task }
|
|
171
|
+
alert(`任务【${e.task.name}】已删除`)
|
|
172
|
+
}
|
|
173
|
+
function onTaskAdded(e) {
|
|
174
|
+
// e: { task: Task }
|
|
175
|
+
alert(`任务【${e.task.name}】已创建`)
|
|
176
|
+
}
|
|
177
|
+
function onTaskUpdated(e) {
|
|
178
|
+
// e: { task: Task }
|
|
179
|
+
alert(`任务【${e.task.name}】已更新`)
|
|
180
|
+
}
|
|
181
|
+
</script>
|
|
182
|
+
```
|
|
125
183
|
|
|
126
184
|
### 数据类型
|
|
127
185
|
|
|
@@ -129,24 +187,30 @@ jordium-gantt-vue3/
|
|
|
129
187
|
|
|
130
188
|
**Task 任务类型**
|
|
131
189
|
```typescript
|
|
132
|
-
interface Task {
|
|
133
|
-
id: number
|
|
134
|
-
name: string
|
|
135
|
-
predecessor?:
|
|
136
|
-
assignee?: string
|
|
137
|
-
startDate?: string
|
|
138
|
-
endDate?: string
|
|
139
|
-
progress?: number
|
|
140
|
-
estimatedHours?: number
|
|
141
|
-
actualHours?: number
|
|
142
|
-
parentId?: number
|
|
143
|
-
children?: Task[]
|
|
144
|
-
collapsed?: boolean
|
|
145
|
-
isParent?: boolean
|
|
146
|
-
type?: string
|
|
147
|
-
description?: string
|
|
148
|
-
icon?: string
|
|
149
|
-
level?: number
|
|
190
|
+
export interface Task {
|
|
191
|
+
id: number // 任务唯一ID
|
|
192
|
+
name: string // 任务名称
|
|
193
|
+
predecessor?: number[] // 前置任务ID数组
|
|
194
|
+
assignee?: string // 负责人
|
|
195
|
+
startDate?: string // 开始日期(ISO字符串)
|
|
196
|
+
endDate?: string // 结束日期(ISO字符串)
|
|
197
|
+
progress?: number // 进度百分比 0-100
|
|
198
|
+
estimatedHours?: number // 预估工时
|
|
199
|
+
actualHours?: number // 实际工时
|
|
200
|
+
parentId?: number // 上级任务ID
|
|
201
|
+
children?: Task[] // 子任务数组
|
|
202
|
+
collapsed?: boolean // 是否折叠
|
|
203
|
+
isParent?: boolean // 是否为父任务
|
|
204
|
+
type?: string // 任务类型(如 task、story、milestone 等)
|
|
205
|
+
description?: string // 任务描述
|
|
206
|
+
icon?: string // 图标
|
|
207
|
+
level?: number // 层级
|
|
208
|
+
// 计时相关字段
|
|
209
|
+
isTimerRunning?: boolean // 计时是否进行中
|
|
210
|
+
timerStartTime?: number // 计时开始时间(时间戳)
|
|
211
|
+
timerEndTime?: number // 计时结束时间(时间戳)
|
|
212
|
+
timerStartDesc?: string // 计时开始时的描述
|
|
213
|
+
timerElapsedTime?: number // 已累计计时时长(秒)
|
|
150
214
|
}
|
|
151
215
|
```
|
|
152
216
|
|