修改 LeftTree引入地址

master
853931625@qq.com 2025-11-04 10:30:37 +08:00
parent 9a76737033
commit ec3c5bc3ad
8 changed files with 7 additions and 154 deletions

View File

@ -1,147 +0,0 @@
import { Input, Tree } from "antd";
import { useEffect, useState } from "react";
const { Search } = Input;
const LeftTree = (props) => {
const {
onClick,
expandedKeys: externalExpandedKeys,
} = props;
const [treeData, setTreeData] = useState([]);
const [expandedKeys, setExpandedKeys] = useState([]);
const [searchValue, setSearchValue] = useState("");
const [autoExpandParent, setAutoExpandParent] = useState(true);
const getData = () => {
setTreeData([
{
title: "parent 1",
key: "0-0",
children: [
{
title: "parent 1-0",
key: "0-0-0",
children: [
{
title: "leaf",
key: "0-0-0-0",
},
{
title: "leaf",
key: "0-0-0-1",
},
],
},
{
title: "parent 1-1",
key: "0-0-1",
},
],
},
]);
};
useEffect(() => {
getData();
}, []);
useEffect(() => {
setExpandedKeys(externalExpandedKeys);
}, [externalExpandedKeys]);
// 展开所有包含匹配项的父节点
const getAllExpandedKeys = (data, searchValue, keys = []) => {
data.forEach((node) => {
if (node.children) {
if (node.title.includes(searchValue)
|| node.children.some(child => child.title.includes(searchValue))) {
keys.push(node.key);
}
getAllExpandedKeys(node.children, searchValue, keys);
}
});
return keys;
};
const onExpand = (newExpandedKeys) => {
setExpandedKeys(newExpandedKeys);
setAutoExpandParent(false);
};
const onFilterTreeData = (value) => {
setSearchValue(value);
setAutoExpandParent(true);
if (!value) {
setExpandedKeys([]);
return;
}
const expandedKeys = getAllExpandedKeys(treeData, value);
setExpandedKeys(expandedKeys);
};
const onSearch = (value) => {
if (value === searchValue)
return;
onFilterTreeData(value);
};
// 渲染带高亮的标题
const renderTitle = (title) => {
if (!searchValue)
return title;
const index = title.indexOf(searchValue);
if (index === -1)
return title;
const beforeStr = title.substring(0, index);
const afterStr = title.substring(index + searchValue.length);
return (
<span>
{beforeStr}
<span style={{ color: "#f50" }}>{searchValue}</span>
{afterStr}
</span>
);
};
// 递归处理树节点标题显示
const processTreeData = (data) => {
return data.map(node => ({
...node,
title: renderTitle(node.title),
children: node.children ? processTreeData(node.children) : undefined,
}));
};
const processedTreeData = processTreeData(treeData);
const onSelect = (selectedKeys, event) => {
onClick?.(selectedKeys, event);
};
return (
<div style={{ width: 300 }}>
<Search
style={{ marginBottom: 8 }}
placeholder="输入关键字进行过滤"
onSearch={onSearch}
/>
<Tree
onExpand={onExpand}
onSelect={onSelect}
autoExpandParent={autoExpandParent}
expandedKeys={expandedKeys}
treeData={processedTreeData}
/>
</div>
);
};
export default LeftTree;

View File

@ -1,12 +1,12 @@
import { Button, Form, message, Modal, Space, Tag } from "antd";
import { useEffect, useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import { PHONE } from "zy-react-library/regular";
import LeftTree from "~/components/LeftTree";
const DEPARTMENT_LEVEL_ENUM = [
{ id: "departmentLevel0001", name: "分公司" },

View File

@ -1,11 +1,11 @@
import { Button, Form, message, Modal, Space, Tag } from "antd";
import { useEffect, useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import LeftTree from "~/components/LeftTree";
function Position() {
const [addModalOpen, setAddModalOpen] = useState(false);

View File

@ -1,11 +1,11 @@
import { Button, Form, message, Modal, Space } from "antd";
import { useState } from "react";
import ImportFile from "zy-react-library/components/ImportFile";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import LeftTree from "~/components/LeftTree";
import Scheduling from "~/pages/Container/Enterprise/User/components/Scheduling";
function List(props) {

View File

@ -1,12 +1,12 @@
import { Button, Form, message, Modal, Space, Tag } from "antd";
import { useEffect, useState } from "react";
import FormBuilder from "zy-react-library/components/FormBuilder";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import { PHONE } from "zy-react-library/regular";
import LeftTree from "~/components/LeftTree";
const DEPARTMENT_LEVEL_ENUM = [
{ id: "1", name: "公司级" },

View File

@ -3,11 +3,11 @@ import { useState } from "react";
import AddIcon from "zy-react-library/components/Icon/AddIcon";
import ImportIcon from "zy-react-library/components/Icon/ImportIcon";
import ImportFile from "zy-react-library/components/ImportFile";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import LeftTree from "~/components/LeftTree";
export const PERSONNEL_TYPE_ENUM = [
{ id: "0", name: "非流动人员" },

View File

@ -9,7 +9,7 @@ function Info() {
column={1}
bordered
items={[
{ label: "企业名称", children: "Zhou" },
{ label: "分公司名称", children: "Zhou" },
{ label: "企业状态", children: "Zhou" },
{ label: "开户人", children: "Zhou" },
{ label: "统一社会信用代码", children: "Zhou" },

View File

@ -1,9 +1,9 @@
import { Button, Form, message, Modal } from "antd";
import LeftTree from "zy-react-library/components/LeftTree/Department/Gwj/index";
import Search from "zy-react-library/components/Search";
import Table from "zy-react-library/components/Table";
import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
import useTable from "zy-react-library/hooks/useTable";
import LeftTree from "~/components/LeftTree";
export const PERSONNEL_TYPE_ENUM = [
{ id: "0", name: "非流动人员" },