From 47aeb7c228e407d642118fe84280645c8def5d67 Mon Sep 17 00:00:00 2001 From: 1708-huayu <57060237+1708-huayu@users.noreply.github.com> Date: Mon, 23 Jun 2025 18:49:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:tree=E9=AB=98=E5=BA=A6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/layout.tsx | 2 +- src/app/page.module.css | 4 +++- src/app/task/drag/layout.tsx | 14 ++++++------ src/app/task/layout.tsx | 4 +++- src/lib/definitions.ts | 4 ++-- src/ui/task/drag/DroppableTable.tsx | 33 +++++++++++++++++++++------- src/ui/task/project/TreeTablePro.tsx | 2 +- 7 files changed, 42 insertions(+), 21 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 47b37e0..863b8d6 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -22,7 +22,7 @@ export default function RootLayout({ - {children} + {children} ); } diff --git a/src/app/page.module.css b/src/app/page.module.css index 1fa1b81..e47e119 100644 --- a/src/app/page.module.css +++ b/src/app/page.module.css @@ -3,8 +3,10 @@ flex-direction: column; justify-content: space-between; align-items: center; + box-sizing: border-box; + height: 100vh; padding: 6rem; - min-height: 100vh; + } .description { display: inherit; diff --git a/src/app/task/drag/layout.tsx b/src/app/task/drag/layout.tsx index 5745068..9207eb8 100644 --- a/src/app/task/drag/layout.tsx +++ b/src/app/task/drag/layout.tsx @@ -44,14 +44,14 @@ export default function Layout({children}: { children: React.ReactNode }) { return (
- {/* 不紧急不重要 */} - task.priority == '1')}/> - {/* 紧急不重要 */} - task.priority == '2')}/> - {/* 不紧急重要 */} - task.priority == '3')}/> {/* 紧急重要 */} - task.priority == '4')}/> + task.priority == '3')}/> + {/* 不紧急重要 */} + task.priority == '2')}/> + {/* 紧急不重要 */} + task.priority == '1')}/> + {/* 不紧急不重要 */} + task.priority == '0')}/>
); diff --git a/src/app/task/layout.tsx b/src/app/task/layout.tsx index e4acc0d..82394b0 100644 --- a/src/app/task/layout.tsx +++ b/src/app/task/layout.tsx @@ -37,7 +37,9 @@ export default function Layout({children}: { children: React.ReactNode }) { }}> - {children} +
+ {children} +
diff --git a/src/lib/definitions.ts b/src/lib/definitions.ts index 82a9ed8..562c502 100644 --- a/src/lib/definitions.ts +++ b/src/lib/definitions.ts @@ -42,8 +42,8 @@ export type DataType = TaskMessage&{ key: React.ReactNode; type:number; action?:React.ReactNode; - expectedStartTime?:string; - expectedEndTime?:string; + expectedStartTime?:string|Dayjs; + expectedEndTime?:string|Dayjs; expectedTimeRange?:(string|Dayjs|undefined)[]; actualStartTime?:Date; actualEndTime?:Date; diff --git a/src/ui/task/drag/DroppableTable.tsx b/src/ui/task/drag/DroppableTable.tsx index ed8d39c..cc75767 100644 --- a/src/ui/task/drag/DroppableTable.tsx +++ b/src/ui/task/drag/DroppableTable.tsx @@ -2,9 +2,11 @@ import React, {CSSProperties, useEffect} from "react"; import {Draggable, Droppable} from "react-beautiful-dnd"; -import {Table, TableProps, Tooltip} from "antd"; +import {ConfigProvider, Table, TableProps, Tooltip} from "antd"; import {DataType} from "@/lib/definitions"; import './index.modules.css' +import dayjs, {Dayjs} from "dayjs"; +import {taskPriorityList} from "@/lib/task/project/data"; interface DroppableTableProps // extends DragDropContextProps { @@ -16,13 +18,13 @@ export const DroppableTable: React.FC = (props) => { const [stateName, setStateName] = React.useState(""); useEffect(() => { - if(props.tableCode=='1'){ + if(props.tableCode=='0'){ setStateName('不紧急不重要'); - }else if (props.tableCode=='2'){ + }else if (props.tableCode=='1'){ setStateName('紧急不重要'); - }else if (props.tableCode=='3'){ + }else if (props.tableCode=='2'){ setStateName('不紧急重要'); - }else if (props.tableCode=='4'){ + }else if (props.tableCode=='3'){ setStateName('紧急重要'); } }, [props]); @@ -40,8 +42,12 @@ export const DroppableTable: React.FC = (props) => { const getListStyle = (isDraggingOver:boolean) => ({ background: isDraggingOver ? "lightblue" : "lightgrey", + overflow:'hidden' }); + function isDayjs(obj: unknown): obj is Dayjs { + return obj != null && typeof (obj as Dayjs).format === 'function'; + } // 渲染表格行 // @ts-ignore @@ -71,8 +77,8 @@ export const DroppableTable: React.FC = (props) => { {record.name} {record?.description} {record.state} - 起:{record.expectedStartTime}
- 止:{record.expectedEndTime} + 起:{record.expectedStartTime? dayjs(record.expectedStartTime).format("YYYY-MM-DD HH:mm") :""}
+ 止:{record.expectedStartTime? dayjs(record.expectedStartTime).format("YYYY-MM-DD HH:mm") : ""} )} @@ -85,13 +91,23 @@ export const DroppableTable: React.FC = (props) => { }; return ( - + {(provided,snapshot) => (
+ item.code === props.tableCode)?.color + /* 这里是你的组件 token */ + }, + }, + }} + > dataSource={props.taskList} scroll={calculateScrollHeight()} @@ -151,6 +167,7 @@ export const DroppableTable: React.FC = (props) => { }} pagination={false} /> + {provided.placeholder}
)} diff --git a/src/ui/task/project/TreeTablePro.tsx b/src/ui/task/project/TreeTablePro.tsx index c6a59e3..607e4a4 100644 --- a/src/ui/task/project/TreeTablePro.tsx +++ b/src/ui/task/project/TreeTablePro.tsx @@ -289,7 +289,7 @@ const TreeTablePro: React.FC = () => { } }} dateFormatter="string" - scroll={{y: 580}} + // scroll={{y: 580}} // headerTitle="任务管理" toolBarRender={() => toolBarRenderList}>