| | |
| | | import Http from '@/utils/http'; |
| | | import Edit from './components/edit' |
| | | import { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter } from '@/components/TableSearch' |
| | | import { transformTreeData } from '@/utils/tree-util' |
| | | |
| | | const handleSave = async (val) => { |
| | | const hide = message.loading('正在添加'); |
| | |
| | | const [currentRow, setCurrentRow] = useState(); |
| | | const [searchParam, setSearchParam] = useState({}); |
| | | const [boxHeight, setBoxHeight] = useState(); |
| | | const [deptTreeData, setDeptTreeData] = useState([]); |
| | | |
| | | useEffect(() => { |
| | | const handleResize = () => setBoxHeight(window.innerHeight - 368); |
| | | window.addEventListener('resize', handleResize); |
| | | handleResize(); |
| | | |
| | | Http.doPostPromise('/api/dept/tree', {}, (res) => { |
| | | const treeData = transformTreeData(res.data); |
| | | setDeptTreeData(treeData); |
| | | }) |
| | | |
| | | return () => window.removeEventListener('resize', handleResize); |
| | | }, [boxHeight]); |
| | | }, []); |
| | | |
| | | const columns = [ |
| | | { |
| | |
| | | blockNode |
| | | defaultExpandAll |
| | | onSelect={(selectedKeys, info) => { |
| | | console.log(selectedKeys, info); |
| | | console.log(selectedKeys[0]); |
| | | }} |
| | | treeData={[ |
| | | { |
| | | title: 'parent 1', |
| | | key: '0-0', |
| | | children: [ |
| | | { |
| | | title: 'parent 1-0', |
| | | key: '0-0-0', |
| | | disabled: true, |
| | | children: [ |
| | | { |
| | | title: 'leaf', |
| | | key: '0-0-0-0', |
| | | disableCheckbox: true, |
| | | }, |
| | | { |
| | | title: 'leaf', |
| | | key: '0-0-0-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | title: 'parent 1-1', |
| | | key: '0-0-1', |
| | | children: [{ title: <span style={{ color: '#1677ff' }}>sss</span>, key: '0-0-1-0' }], |
| | | }, |
| | | ], |
| | | }, |
| | | ]} |
| | | treeData={deptTreeData} |
| | | /> |
| | | </Card> |
| | | </Col> |
| | |
| | | |
| | | export function transformTreeData(originalData) { |
| | | return originalData.map(item => { |
| | | let newItem = { |