import React, { Component } from 'react'; import { TreeSelect } from 'antd'; import { systemComDepartGetTreeDepart } from '../../../services/api'; export default class DepartSelect extends Component { constructor(props, context) { super(props, context); this.state = { treeData: [ // 部门数据 //树 { title: '', key: '' } ], }; } componentWillMount() { this._getDepart(); } _getDepart = (cb) => { //获取部门树数据 systemComDepartGetTreeDepart().then( response => { let { data } = response; data = JSON.parse( JSON.stringify(data).replace(/\"children\":\[\]/g, '"isLeaf":true') ); function digui(arr) { return arr.map(item => { item.value = item.key + '-' + item.title; if(item.children) { item.children = digui(item.children); } return item; }); } const departs = digui(data); if(this.props.showAll) { departs.unshift({ label: '全部', value: '' }); } this.setState({ treeData: departs }, () => { cb && cb(); }); }, err => { console.log(err, 'getTreeDepart-选择部门-err'); } ); } render() { return ( ); } } export function departSelecter(TreeSelect) { return class DepartSelect extends Component { constructor(props, context) { super(props, context); this.state = { treeData: [ // 部门数据 //树 { title: '', key: '' } ], }; } componentWillMount() { this._getDepart(); } _getDepart = (cb) => { //获取部门树数据 systemComDepartGetTreeDepart().then( response => { let { data } = response; data = JSON.parse( JSON.stringify(data).replace(/\"children\":\[\]/g, '"isLeaf":true') ); function digui(arr) { return arr.map(item => { item.value = item.key + '-' + item.title; if(item.children) { item.children = digui(item.children); } return item; }); } this.setState({ treeData: digui(data) }, () => { cb && cb(); }); }, err => { console.log(err, 'getTreeDepart-选择部门-err'); } ); } render() { return ( ); } } }