@@ -39,20 +39,20 @@ const toolbarConfig = {
3939 showTheme: true ,
4040 showFullscreen: true ,
4141 showTimeScale: true , // 控制日|周|月时间刻度按钮组的可见性
42- timeScaleDimensions: [' day' , ' week' , ' month' , ' quarter' , ' year' ], // 设置时间刻度按钮的展示维度,包含所有时间维度
42+ timeScaleDimensions: [' hour ' , ' day' , ' week' , ' month' , ' quarter' , ' year' ], // 设置时间刻度按钮的展示维度,包含所有时间维度
4343 defaultTimeScale: ' week' ,
4444 showExpandCollapse: true , // 显示全部展开/折叠按钮
4545}
4646
4747// TaskList列配置
4848const availableColumns = ref <TaskListColumnConfig []>([
49- // { key: 'predecessor', label: '前置任务', visible: true },
50- // { key: 'assignee', label: '负责人', visible: true },
49+ { key: ' predecessor' , label: ' 前置任务' , visible: true },
50+ { key: ' assignee' , label: ' 负责人' , visible: true },
5151 { key: ' startDate' , label: ' 开始日期' , visible: true },
52- // { key: 'endDate', label: '结束日期', visible: true },
53- // { key: 'estimatedHours', label: '预估工时', visible: true },
54- // { key: 'actualHours', label: '实际工时', visible: true },
55- // { key: 'progress', label: '进度', visible: true },
52+ { key: ' endDate' , label: ' 结束日期' , visible: true },
53+ { key: ' estimatedHours' , label: ' 预估工时' , visible: true },
54+ { key: ' actualHours' , label: ' 实际工时' , visible: true },
55+ { key: ' progress' , label: ' 进度' , visible: true },
5656])
5757
5858// TaskList宽度配置
@@ -172,14 +172,14 @@ const handleMilestoneDelete = async (milestoneId: number) => {
172172 window .dispatchEvent (
173173 new CustomEvent (' milestone-deleted' , {
174174 detail: { milestoneId },
175- })
175+ }),
176176 )
177177
178178 // 触发强制更新事件,确保Timeline重新渲染
179179 window .dispatchEvent (
180180 new CustomEvent (' milestone-data-changed' , {
181181 detail: { milestones: milestones .value },
182- })
182+ }),
183183 )
184184 }
185185
@@ -273,7 +273,7 @@ const handleTaskUpdate = (updatedTask: Task) => {
273273 showMessage (
274274 formatTranslation (' newParentTaskNotFound' , { parentId: taskToAdd .parentId }),
275275 ' warning' ,
276- { closable: true }
276+ { closable: true },
277277 )
278278 tasks .value .push (taskToAdd )
279279 }
@@ -321,7 +321,7 @@ const handleTaskAdd = (newTask: Task) => {
321321 const maxId = Math .max (
322322 ... tasks .value .map (t => t .id || 0 ),
323323 ... milestones .value .map (m => m .id || 0 ),
324- 0
324+ 0 ,
325325 )
326326 newTask .id = maxId + 1
327327 }
@@ -416,7 +416,7 @@ const handleStoryDeleteWithChildren = (storyToDelete: Task) => {
416416 ' success' ,
417417 {
418418 closable: false ,
419- }
419+ },
420420 )
421421 return true
422422 }
@@ -478,7 +478,7 @@ const handleStoryDeleteOnly = (storyToDelete: Task) => {
478478 ' success' ,
479479 {
480480 closable: false ,
481- }
481+ },
482482 )
483483 return true
484484 }
@@ -552,7 +552,7 @@ function handleTaskbarDragOrResizeEnd(newTask) {
552552 ` 开始: ${oldTask .startDate } → ${newTask .startDate }\n ` +
553553 ` 结束: ${oldTask .endDate } → ${newTask .endDate } ` ,
554554 ' info' ,
555- { closable: true }
555+ { closable: true },
556556 )
557557}
558558function handleMilestoneDragEnd(newMilestone ) {
@@ -562,7 +562,7 @@ function handleMilestoneDragEnd(newMilestone) {
562562 ` 里程碑【${newMilestone .name }】\n ` +
563563 ` 开始: ${oldMilestone .endDate } → ${newMilestone .startDate } ` ,
564564 ' info' ,
565- { closable: true }
565+ { closable: true },
566566 )
567567}
568568
@@ -629,7 +629,7 @@ function onTimerStarted(task: Task) {
629629 showMessage (
630630 ` Demo 任务【${task .name }】\n 开始计时:${new Date (task .timerStartTime ).toLocaleString ()}\n 计时说明:${task .timerStartDesc ? task .timerStartDesc : ' ' } ` ,
631631 ' info' ,
632- { closable: true }
632+ { closable: true },
633633 )
634634}
635635function onTimerStopped(task : Task ) {
@@ -645,7 +645,7 @@ function onTimerStopped(task: Task) {
645645}
646646
647647function taskDebug(item : any ) {
648- console .log (' Task Debug:' , item )
648+ // console.log('Task Debug:', item)
649649}
650650 </script >
651651
@@ -694,7 +694,7 @@ function taskDebug(item: any) {
694694 >
695695 <path d =" M3 6h18v2H3V6zm0 5h18v2H3v-2zm0 5h18v2H3v-2z" fill =" currentColor" />
696696 </svg >
697- TaskList 配置
697+ {{ t.taskListConfig.title }}
698698 </h3 >
699699 <button class =" collapse-button" :class =" { collapsed: isConfigPanelCollapsed }" >
700700 <svg
@@ -742,11 +742,11 @@ function taskDebug(item: any) {
742742 fill =" none"
743743 />
744744 </svg >
745- 宽度设置
745+ {{ t.taskListConfig.width.title }}
746746 </h4 >
747747 <div class =" width-controls" >
748748 <div class =" width-control" >
749- <label class =" width-label" >默认宽度 :</label >
749+ <label class =" width-label" >{{ t.taskListConfig.width.defaultWidth }} :</label >
750750 <input
751751 v-model.number =" taskListWidth.defaultWidth"
752752 type =" number"
@@ -758,7 +758,7 @@ function taskDebug(item: any) {
758758 <span class =" width-unit" >px</span >
759759 </div >
760760 <div class =" width-control" >
761- <label class =" width-label" >最小宽度 :</label >
761+ <label class =" width-label" >{{ t.taskListConfig.width.minWidth }} :</label >
762762 <input
763763 v-model.number =" taskListWidth.minWidth"
764764 type =" number"
@@ -770,7 +770,7 @@ function taskDebug(item: any) {
770770 <span class =" width-unit" >px</span >
771771 </div >
772772 <div class =" width-control" >
773- <label class =" width-label" >最大宽度 :</label >
773+ <label class =" width-label" >{{ t.taskListConfig.width.maxWidth }} :</label >
774774 <input
775775 v-model.number =" taskListWidth.maxWidth"
776776 type =" number"
@@ -795,7 +795,7 @@ function taskDebug(item: any) {
795795 >
796796 <path d =" M3 6h18v2H3V6zm0 5h18v2H3v-2zm0 5h18v2H3v-2z" fill =" currentColor" />
797797 </svg >
798- 列显示
798+ {{ t.taskListConfig.columns.title }}
799799 </h4 >
800800 <div class =" column-controls" >
801801 <label v-for =" column in availableColumns" :key =" column.key" class =" column-control" >
@@ -804,7 +804,7 @@ function taskDebug(item: any) {
804804 :checked =" column.visible"
805805 @change =" toggleColumn(column.key, $event)"
806806 />
807- <span class =" column-label" >{{ column.label }}</span >
807+ <span class =" column-label" >{{ (t as any)[column.key] || column.label }}</span >
808808 </label >
809809 </div >
810810 </div >
@@ -850,7 +850,12 @@ function taskDebug(item: any) {
850850 @task-updated =" e => showMessage(`Demo 任务[${e.task.name}] 已更新`, 'info')"
851851 >
852852 <template #custom-task-content =" item " >
853- <HtmlContent :item =" taskDebug(item)" :task =" item.task" :type =" item.type" />
853+ <HtmlContent
854+ :item =" taskDebug(item)"
855+ :task =" item.task"
856+ :type =" item.type"
857+ :style =" item.dynamicStyles"
858+ />
854859 </template >
855860 </GanttChart >
856861 </div >
@@ -1022,7 +1027,7 @@ function taskDebug(item: any) {
10221027}
10231028
10241029.width-label {
1025- flex : 0 0 80 px ;
1030+ flex : 0 0 100 px ;
10261031 font-size : 13px ;
10271032 color : var (--text-secondary );
10281033}
0 commit comments