Skip to content

Commit 0ec52d4

Browse files
nelson820125gitee-org
authored andcommitted
!2 i#ICZHVS 增加task内容支持自定义渲染
Merge pull request !2 from 秋成/master
2 parents 254f19f + bf125d1 commit 0ec52d4

26 files changed

+2377
-239
lines changed

README-EN.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ jordium-gantt-vue3/
136136
| `useDefaultDrawer` | `boolean` | `true` | Use default edit drawer |
137137
| `showToolbar` | `boolean` | `true` | Show toolbar |
138138
| `toolbarConfig` | `ToolbarConfig` | `{}` | Toolbar configuration |
139+
| `taskListConfig` | `TaskListConfig` | `{}` | Task list configuration (including default width, min/max width limits, etc.) |
139140
| `localeMessages` | `Partial<Messages['zh-CN']>` | - | Custom locale messages |
140141
| `workingHours` | `WorkingHours` | - | Working hours configuration |
141142
| `onTaskDoubleClick` | `(task: Task) => void` | - | Task double-click event callback |
@@ -299,6 +300,31 @@ interface ToolbarConfig {
299300
}
300301
```
301302

303+
**TaskListConfig**
304+
```typescript
305+
interface TaskListConfig {
306+
columns?: TaskListColumnConfig[] // Column configuration array
307+
showAllColumns?: boolean // Show all columns, default true
308+
defaultWidth?: number // Default expanded width in pixels, default 320px
309+
minWidth?: number // Minimum width in pixels, default 280px, cannot be less than 280px
310+
maxWidth?: number // Maximum width in pixels, default 1160px
311+
}
312+
313+
interface TaskListColumnConfig {
314+
type?: TaskListColumnType // Column type
315+
key: string // Key for internationalization, also used as identifier
316+
label?: string // Display label
317+
cssClass?: string // CSS class name
318+
width?: number // Optional column width
319+
visible?: boolean // Whether to display, default true
320+
}
321+
322+
type TaskListColumnType =
323+
| 'name' | 'predecessor' | 'assignee'
324+
| 'startDate' | 'endDate' | 'estimatedHours'
325+
| 'actualHours' | 'progress'
326+
```
327+
302328
**WorkingHours Configuration**
303329
```typescript
304330
interface WorkingHours {
@@ -445,13 +471,21 @@ const milestones = ref([
445471
type: 'milestone'
446472
}
447473
])
474+
475+
// TaskList width configuration example
476+
const taskListConfig = {
477+
defaultWidth: 400, // Default expanded width 400px (default 320px)
478+
minWidth: 300, // Minimum width 300px (default 280px)
479+
maxWidth: 1200 // Maximum width 1200px (default 1160px)
480+
}
448481
</script>
449482
450483
<template>
451484
<div style="height: 600px;">
452485
<GanttChart
453486
:tasks="tasks"
454487
:milestones="milestones"
488+
:task-list-config="taskListConfig"
455489
/>
456490
</div>
457491
</template>

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ jordium-gantt-vue3/
137137
| `useDefaultDrawer` | `boolean` | `true` | 是否使用默认编辑抽屉 |
138138
| `showToolbar` | `boolean` | `true` | 是否显示工具栏 |
139139
| `toolbarConfig` | `ToolbarConfig` | `{}` | 工具栏配置 |
140+
| `taskListConfig` | `TaskListConfig` | `{}` | 任务列表配置(包括默认宽度、最小最大宽度限制等) |
140141
| `localeMessages` | `Partial<Messages['zh-CN']>` | - | 自定义多语言配置 |
141142
| `workingHours` | `WorkingHours` | - | 工作时间配置 |
142143
| `onTaskDoubleClick` | `(task: Task) => void` | - | 任务双击事件回调 |
@@ -313,6 +314,31 @@ interface ToolbarConfig {
313314
}
314315
```
315316

317+
**TaskListConfig 任务列表配置**
318+
```typescript
319+
interface TaskListConfig {
320+
columns?: TaskListColumnConfig[] // 列配置数组
321+
showAllColumns?: boolean // 是否显示所有列,默认true
322+
defaultWidth?: number // 默认展开宽度,单位像素,默认320px
323+
minWidth?: number // 最小宽度,单位像素,默认280px,不能小于280px
324+
maxWidth?: number // 最大宽度,单位像素,默认1160px
325+
}
326+
327+
interface TaskListColumnConfig {
328+
type?: TaskListColumnType // 列类型
329+
key: string // 用于国际化的key,也可以作为识别符
330+
label?: string // 显示标签
331+
cssClass?: string // CSS类名
332+
width?: number // 可选的列宽度
333+
visible?: boolean // 是否显示,默认true
334+
}
335+
336+
type TaskListColumnType =
337+
| 'name' | 'predecessor' | 'assignee'
338+
| 'startDate' | 'endDate' | 'estimatedHours'
339+
| 'actualHours' | 'progress'
340+
```
341+
316342
**WorkingHours 工作时间配置**
317343
```typescript
318344
interface WorkingHours {
@@ -459,13 +485,21 @@ const milestones = ref([
459485
type: 'milestone'
460486
}
461487
])
488+
489+
// TaskList宽度配置示例
490+
const taskListConfig = {
491+
defaultWidth: 400, // 默认展开宽度400px(默认320px)
492+
minWidth: 300, // 最小宽度300px(默认280px)
493+
maxWidth: 1200 // 最大宽度1200px(默认1160px)
494+
}
462495
</script>
463496
464497
<template>
465498
<div style="height: 600px;">
466499
<GanttChart
467500
:tasks="tasks"
468501
:milestones="milestones"
502+
:task-list-config="taskListConfig"
469503
/>
470504
</div>
471505
</template>

0 commit comments

Comments
 (0)