weaver_trunk_cli/pc4mobx/hrm/stores/domain/orgTree.js

52 lines
1010 B
JavaScript

import {
observable,
action,
} from 'mobx';
import {
WeaLocaleProvider,
} from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
export default class OrgTreeStore {
constructor(rootStore) {
this.rootStore = rootStore;
}
get orgTreeProps() {
return {
needSearch: true,
noCache: true,
isLoadAllSub: true,
inputLeftDom: `<b>${getLabel(25332, '组织结构')}</b>`,
treeNodeClick: (event, ids, nodeids, nodes) => this.handleOrgTreeNodeClick(event, ids, nodeids, nodes)
}
}
nodeInfo = {
id,
type,
pid,
name
}
@observable triggerRefresh = false;
@action trigger = () => {
this.triggerRefresh = !this.triggerRefresh;
}
handleOrgTreeNodeClick = (event, ids, nodeids, nodes) => {
this.convertDatasToIdType(nodes);
this.rootStore.handleOrgTreeNodeClick && this.rootStore.handleOrgTreeNodeClick(nodeInfo);
}
convertDatasToIdType = (nodes) => {
if (nodes) {
['id', 'type', 'pid', 'name'].forEach(v => {
this.nodeInfo[v] = nodes[0][v];
});
}
}
}