Commit 5904da8d by ethanlamzs

异步加载对应的树数据

1 parent bb3a56b0
......@@ -33,40 +33,44 @@ export const linkmangroups = [
}
];
export const linkmanglist = [
{
"userid": "zhangsan",
"name": "李四",
"department": [2,3],
"order": [1, 2],
"position": "后台工程师",
"mobile": "15913215421",
"gender": "1",
"email": "zhangsan@gzdev.com",
"isleader": 0,
"avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
"telephone": "020-123456",
"english_name": "jackzhang",
"status": 1,
"extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
},
{
"userid": "zhangsan-2",
"name": "ZHANGSN",
"department": [2,4],
"order": [1, 2],
"position": "后台工程师",
"mobile": "15913215421",
"gender": "1",
"email": "zhangsan@gzdev.com",
"isleader": 0,
"avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
"telephone": "020-123456",
"english_name": "jackzhang",
"status": 1,
"extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
},
];
export const linkmanglist =
{
"groupid":2,
"members":[
{
"id": "zhangsan",
"name": "李四",
"department": [2,3],
"order": [1, 2],
"position": "后台工程师",
"mobile": "15913215421",
"gender": "1",
"email": "zhangsan@gzdev.com",
"isleader": 0,
"avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
"telephone": "020-123456",
"english_name": "jackzhang",
"status": 1,
"extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
},
{
"id": "zhangsan-2",
"name": "ZHANGSN",
"department": [2,4],
"order": [1, 2],
"position": "后台工程师",
"mobile": "15913215421",
"gender": "1",
"email": "zhangsan@gzdev.com",
"isleader": 0,
"avatar": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0",
"telephone": "020-123456",
"english_name": "jackzhang",
"status": 1,
"extattr": {"attrs":[{"name":"爱好","value":"旅游"},{"name":"卡号","value":"1234567234"}]}
},
]
};
export default {
linkmangroups,
......
import {queryWxSchLkGroup} from '../services/devutil'
import {queryWxSchLkGroup,querySchoolMember} from '../services/devutil'
import linkman from '../../mock/linkman';
export default{
......@@ -6,14 +7,13 @@ export default{
state:{
groups:[],
linkmans:[],
linkmanMap:{},
},
effects:{
*groups({payload},{call,put}){
const response = yield call(queryWxSchLkGroup,payload);
console.log(response);
yield put({
type:'loadWXLinkmanGroup',
payload:response,
......@@ -22,8 +22,8 @@ export default{
},
*lklist({payload},{call,put}){
console.log('lklist');
const response = yield call(querySchoolMember,payload);
console.log(response);
yield put({
type:'loadGroupOfLinkman',
payload:response,
......@@ -44,10 +44,14 @@ export default{
},
loadGroupOfLinkman(state,action){
let {linkmanMap} = state;
if (!linkmanMap)
linkmanMap={ }
linkmanMap['g_'+action.payload.groupid] = action.payload.members;
return {
...state,
linkmans:action.payload,
}
...state,
linkmanMap:linkmanMap,
};
},
}
......
......@@ -35,6 +35,7 @@ import Trend from '../../components/Trend';
import { R_OK } from 'constants';
import numeral from 'numeral';
import linkman from '../../../mock/linkman';
const TreeNode = Tree.TreeNode;
......@@ -66,16 +67,15 @@ export default class schoolmgr extends Component{
resolve();
return;
}
setTimeout(() => {
treeNode.props.dataRef.children = [
{ title: 'Child Node', key: `${treeNode.props.eventKey}-0` },
{ title: 'Child Node', key: `${treeNode.props.eventKey}-1` },
];
this.setState({
treeData: [...this.state.treeData],
});
resolve();
}, 1000);
const { dispatch } = this.props;
dispatch({
type: 'linkman/lklist',
});
resolve();
return;
});
}
......@@ -89,10 +89,24 @@ export default class schoolmgr extends Component{
</TreeNode>
);
}
return <TreeNode title={item.name} key={item.id} dataRef={item} />;
return (<TreeNode title={item.name} key={item.id} dataRef={item}>
{this.renderTreeLefs(item.id)}
</TreeNode>);
});
}
renderTreeLefs = (groupid)=>{
const {linkman:{linkmanMap}} = this.props;
if(linkmanMap['g_'+groupid]){
return linkmanMap['g_'+groupid].map((item)=>{
return (<TreeNode isLeaf title={item.name} key={item.id} dataRef={item}>
</TreeNode>);
});
}
else
return "";
}
render(){
......@@ -108,7 +122,6 @@ export default class schoolmgr extends Component{
const {linkman:{groups}} = this.props;
console.log('render()');
console.log(groups);
return <div>
......@@ -138,6 +151,7 @@ export default class schoolmgr extends Component{
<Row gutter={24}>
<Col xl={16} lg={24} md={24} sm={24} xs={24}>
<div >
<div><span>企业号通讯录结构</span></div>
<Tree checkable loadData={this.onLoadData}>
{this.renderTreeNodes(groups)}
</Tree>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!