MeterGroupTree.jsx 2.05 KB
Newer Older
DarkForst's avatar
DarkForst committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
import React,{useState} from 'react';
import { connect } from 'umi';
import { TreeSelect } from 'antd'
// 部门树
const DepartTree = (props) => {
    const { treeData, onChange } = props
    let allUser = []
    const initTreeData = (tree) => {
        if (!tree || tree?.length === 0) return;
        // return tree && tree?.length > 0 && 
        if(tree && tree?.length > 0){
            const arr =  tree?.map(item => {
                if(item.meterAttrList && item.meterAttrList.length > 0){
                    const children = initTreeData(item.meterAttrList);
                    return {
                        title: item.name,
                        key: `par-${item.id}`,
                        id: item.id,
                        children,
                        selectable: true,
                        unitName: item.unitName || ''
                    }
                }
                return {
                    title: item.name,
                    key: `${item.id}`,
                    id: item.id,
                    selectable: true,
                    unitName: item.unitName || ''
                }
            })
            return arr
        }
    }
    const treeDataList = initTreeData(treeData)
    const onSelect = (value, node) => {
        // console.log(value, node)
        // const arr = node?.children?.length > 0 ? [...meterArr , ...node?.children] : [...meterArr , node]
        // setData(arr)
        // onChange(node.id)
        // props?.selectParams(arr)
    }
    const changeAction = (value) => {
        console.log(value)
        props?.selectParams(value)
    }

    return <TreeSelect
        // value={value}
        style={{ width: '100%' }}
        // allowClear
        placeholder="请选择"
        treeData={treeDataList}
        onSelect={onSelect}
        onChange={changeAction}
        multiple
        showSearch
        treeNodeFilterProp="title"
    />
}

export default connect(({ user,commonDevice, loading }) => ({
    user,commonDevice,
    loading:loading.models.commonDevice || loading.models.user
}))(DepartTree)