Commit 5904da8d by ethanlamzs

异步加载对应的树数据

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