import React, { useContext, useMemo, useEffect, useState } from "react"; import { DeleteOutlined, HolderOutlined } from "@ant-design/icons"; import type { DragEndEvent } from "@dnd-kit/core"; import { DndContext } from "@dnd-kit/core"; import type { SyntheticListenerMap } from "@dnd-kit/core/dist/hooks/utilities"; import { restrictToVerticalAxis } from "@dnd-kit/modifiers"; import { arrayMove, SortableContext, useSortable, verticalListSortingStrategy, } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { Button, Table, Space, Divider, Typography } from "antd"; import type { TableColumnsType } from "antd"; import { Staff } from "@nicestack/common"; import { useStaff } from "@web/src/hooks/useStaff"; import { api } from "@web/src/utils/trpc"; import { TableRowSelection } from "antd/es/table/interface"; import DepartmentSelect from "../department/department-select"; import DomainSelect from "../domain/domain-select"; import StaffDrawer from "./staff-drawer"; import StaffImportDrawer from "./staff-import-drawer"; interface RowContextProps { setActivatorNodeRef?: (element: HTMLElement | null) => void; listeners?: SyntheticListenerMap; } const RowContext = React.createContext({}); const DragHandle: React.FC = () => { const { setActivatorNodeRef, listeners } = useContext(RowContext); return ( {/* Display total number of staff */} 共查询到{data?.totalCount}条记录 i.id)} strategy={verticalListSortingStrategy}> { setCurrentPage(page); setPageSize(pageSize); }, }} components={{ body: { row: Row } }} columns={columns} dataSource={dataSource} loading={isLoading} rowSelection={rowSelection} /> ); }; export default StaffTable;