diff --git a/src/components/drawer/index.jsx b/src/components/drawer/index.jsx
index 9ef1c57..0cac1cc 100644
--- a/src/components/drawer/index.jsx
+++ b/src/components/drawer/index.jsx
@@ -36,6 +36,7 @@ export default class DrawerComponents extends React.Component {
showJob: true,
isModalOpen: false,
jobResponsibility: '',
+ personId: '',
};
}
@@ -47,6 +48,7 @@ export default class DrawerComponents extends React.Component {
this.setState({
jobResponsibility: node.jobResponsibility,
isModalOpen: true,
+ personId: node.id,
});
}
};
@@ -356,6 +358,7 @@ export default class DrawerComponents extends React.Component {
showJob,
jobResponsibility,
isModalOpen,
+ personId,
} = this.state;
let arr = [];
if (detailType == 'chart') {
@@ -453,6 +456,17 @@ export default class DrawerComponents extends React.Component {
>
关闭
,
+ ,
]}
>
{jobResponsibility}
diff --git a/src/components/topBar/index.jsx b/src/components/topBar/index.jsx
index bc46d83..9697367 100644
--- a/src/components/topBar/index.jsx
+++ b/src/components/topBar/index.jsx
@@ -21,9 +21,16 @@ const { TextArea } = Input;
import moment from 'moment';
import 'moment/locale/zh-cn';
import locale from 'antd/lib/date-picker/locale/zh_CN';
-import { HomeOutlined } from '@ant-design/icons';
+import { HomeOutlined, FolderOpenOutlined } from '@ant-design/icons';
moment.locale('zh-cn');
+const defaultLevelOpt = [
+ { value: '1', label: '全部' },
+ { value: '2', label: '一级' },
+ { value: '3', label: '二级' },
+ { value: '4', label: '三级' },
+];
+
export class TopBar extends React.Component {
constructor(props) {
super(props);
@@ -32,9 +39,11 @@ export class TopBar extends React.Component {
rootTreeData: [], //根节点异步树
treeLoadedKeys: [],
treeExpandedKeys: [],
+ deptTreeData: [],
requestData: {
fclass: '0',
root: undefined,
+ department: undefined,
level: '2',
fisvitual: '0',
hidedept: '0',
@@ -42,6 +51,7 @@ export class TopBar extends React.Component {
open: false,
confirmLoading: false,
description: '',
+ levelOpt: defaultLevelOpt,
};
}
@@ -142,8 +152,58 @@ export class TopBar extends React.Component {
});
onRootChange = (value) => {
- let requestData = { ...this.state.requestData, root: value };
- this.setState({ requestData });
+ const { fclass } = this.state.requestData;
+ if (fclass != '0') {
+ //顺胜项目二开 增加部门节点树
+ this.getDeptTreeData(
+ `/api/bs/hrmorganization/orgchart/getDepartmentTree?fclass=${fclass}&subcompany=${value}`,
+ );
+ }
+ this.handleFormChange({ department: undefined, root: value });
+ };
+
+ /**
+ * 部门节点树
+ */
+ getDeptTreeData = (url) => {
+ fetch(url)
+ .then((res) => res.json())
+ .then((data) => {
+ if (data.api_status) {
+ let arr = [...data.departmentTree];
+ arr.map((item, index) => {
+ item.icon = ;
+ });
+ this.setState({
+ deptTreeData: arr,
+ });
+ }
+ });
+ };
+
+ onDeptChange = (value, label, extra) => {
+ var opt = this.buildLevelOpt(0);
+ var level = '1';
+ if (value != undefined) {
+ level = extra.triggerNode.props.level;
+ opt = this.buildLevelOpt(level);
+ }
+ this.handleFormChange({
+ department: value,
+ level: level === '1' ? level : `${level + 1}`,
+ });
+ this.setState({ levelOpt: opt });
+ };
+
+ /**
+ * 虚拟维度部门层级构建
+ */
+ buildLevelOpt = (level) => {
+ let opt = [{ value: '1', label: '全部' }];
+ for (let index = 1; index <= level; index++) {
+ opt.push({ value: `${index + 1}`, label: `${index}级` });
+ }
+ return opt;
};
onTreeExpand = (expandedKeys) => {
@@ -188,7 +248,16 @@ export class TopBar extends React.Component {
render() {
const { disabled, type } = this.props;
- const { rootTreeData, open, confirmLoading, treeExpandedKeys } = this.state;
+ const {
+ rootTreeData,
+ open,
+ confirmLoading,
+ treeExpandedKeys,
+ requestData,
+ deptTreeData,
+ levelOpt,
+ } = this.state;
+ const { fclass, department } = requestData;
return (
@@ -198,18 +267,22 @@ export class TopBar extends React.Component {