diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/GanttBlockProvider.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/GanttBlockProvider.tsx
index c931ae21f..907233d13 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/GanttBlockProvider.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/GanttBlockProvider.tsx
@@ -77,12 +77,13 @@ const InternalGanttBlockProvider = (props) => {
};
export const GanttBlockProvider = (props) => {
- const params = { filter: props.params.filter, paginate: false, sort: props.fieldNames.start };
+ const params = { filter: props.params.filter, paginate: false, sort: ['id'] };
const collection = useCollection_deprecated();
if (collection?.tree) {
params['tree'] = true;
}
+
return (
@@ -143,7 +144,6 @@ export const useGanttBlockProps = () => {
}
}
}, [ctx?.service?.loading]);
- console.log(tasks);
return {
fieldNames: ctx.fieldNames,
timeRange: ctx.timeRange,
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/gantt.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/gantt.tsx
index 738bcb0f9..239a39731 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/gantt.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/gantt.tsx
@@ -13,6 +13,7 @@ import {
useTableBlockContext,
useToken,
withDynamicSchemaProps,
+ useDesignable,
} from '@nocobase/client';
import { message } from 'antd';
import { debounce } from 'lodash';
@@ -99,12 +100,9 @@ export const Gantt: any = withDynamicSchemaProps((props: any) => {
const { styles } = useStyles();
const { token } = useToken();
const api = useAPIClient();
- const currentTheme = api.auth.getOption('theme');
- const tableRowHeight = currentTheme === 'compact' ? 45 : 55.56;
+ const currentTheme = JSON.parse(api.auth.getOption('theme'))?.uid;
const {
- headerHeight = document.querySelector('.ant-table-thead')?.clientHeight || 0, // 与 antd 表格头部高度一致
listCellWidth = '155px',
- rowHeight = tableRowHeight,
ganttHeight = 0,
preStepsCount = 1,
barFill = 60,
@@ -137,6 +135,9 @@ export const Gantt: any = withDynamicSchemaProps((props: any) => {
expandAndCollapseAll,
fieldNames,
} = useProps(props); // 新版 UISchema(1.0 之后)中已经废弃了 useProps,这里之所以继续保留是为了兼容旧版的 UISchema
+ const { designable } = useDesignable();
+ const headerHeight = currentTheme.includes('compact') ? 45 : designable ? 65 : 55;
+ const rowHeight = currentTheme.includes('compact') ? 45 : 65;
const ctx = useGanttBlockContext();
const appInfo = useCurrentAppInfo();
const { t } = useTranslation();
@@ -520,7 +521,10 @@ export const Gantt: any = withDynamicSchemaProps((props: any) => {
box-shadow: none !important;
}
.ant-table-row {
- height: ${tableRowHeight}px;
+ height: ${rowHeight}px;
+ }
+ .ant-table-thead {
+ height: ${headerHeight}px;
}
`)}
>
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/task-gantt-content.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/task-gantt-content.tsx
index 7bc38e0a8..39581a92c 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/task-gantt-content.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/components/gantt/task-gantt-content.tsx
@@ -221,7 +221,10 @@ export const TaskGanttContent: React.FC = ({
} else if (action === 'dblclick') {
!!onDoubleClick && onDoubleClick(task);
} else if (action === 'click') {
- !!onClick && onClick(task);
+ const targetElement = event.target as HTMLElement; // 将 event.target 转换为 HTMLElement 类型
+ if (targetElement.tagName === 'rect') {
+ !!onClick && onClick(task);
+ }
}
// Change task event start
else if (action === 'move') {
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/components/other/style.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/components/other/style.tsx
index 544d78853..10680a63e 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/components/other/style.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/components/other/style.tsx
@@ -5,7 +5,7 @@ const useStyles = createStyles(({ token, css }) => {
scrollWrapper: css`
overflow: auto;
position: absolute;
- bottom: -4px;
+ bottom: -8px;
max-width: 100%;
scrollbarWidth: thin;
height: 1.2rem;
diff --git a/packages/plugins/@nocobase/plugin-gantt/src/client/components/task-item/task-item.tsx b/packages/plugins/@nocobase/plugin-gantt/src/client/components/task-item/task-item.tsx
index 8bf555947..fe97c2313 100644
--- a/packages/plugins/@nocobase/plugin-gantt/src/client/components/task-item/task-item.tsx
+++ b/packages/plugins/@nocobase/plugin-gantt/src/client/components/task-item/task-item.tsx
@@ -100,7 +100,7 @@ export const TaskItem: React.FC = (props) => {
{taskItem}