组织架构图更新根节点
This commit is contained in:
parent
2b8751d7dd
commit
dce9480ee9
|
|
@ -110,11 +110,14 @@ export default class TimeLine extends React.Component {
|
||||||
key={item.key}
|
key={item.key}
|
||||||
className={styles.timeline}
|
className={styles.timeline}
|
||||||
color={item.color}
|
color={item.color}
|
||||||
style={{
|
|
||||||
color: item.color == 'blue' ? '#1890ff' : 'dimgray',
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
<div onClick={this.handleLineClick.bind(this, item)}>
|
<div
|
||||||
|
className={styles.title}
|
||||||
|
style={{
|
||||||
|
color: item.color == 'blue' ? '#1890ff' : 'dimgray',
|
||||||
|
}}
|
||||||
|
onClick={this.handleLineClick.bind(this, item)}
|
||||||
|
>
|
||||||
{item.title}
|
{item.title}
|
||||||
</div>
|
</div>
|
||||||
{item.key != 0 && (
|
{item.key != 0 && (
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline :hover {
|
// .timeline .title:hover {
|
||||||
color: #1890ff;
|
// color: #1890ff;
|
||||||
}
|
// }
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
color: dimgray;
|
color: dimgray;
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ const { TextArea } = Input;
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import 'moment/locale/zh-cn';
|
import 'moment/locale/zh-cn';
|
||||||
import locale from 'antd/lib/date-picker/locale/zh_CN';
|
import locale from 'antd/lib/date-picker/locale/zh_CN';
|
||||||
import { HomeOutlined } from '@ant-design/icons';
|
import { HomeOutlined, FolderOutlined } from '@ant-design/icons';
|
||||||
moment.locale('zh-cn');
|
moment.locale('zh-cn');
|
||||||
import { getLabel } from '../../util/i18n.js';
|
import { getLabel } from '../../util/i18n.js';
|
||||||
import { SmileOutlined } from '@ant-design/icons';
|
import { SmileOutlined } from '@ant-design/icons';
|
||||||
|
|
@ -45,6 +45,8 @@ export class TopBar extends React.Component {
|
||||||
open: false,
|
open: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
description: '',
|
description: '',
|
||||||
|
timelineId: '0',
|
||||||
|
treeKey: 1,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,10 +59,29 @@ export class TopBar extends React.Component {
|
||||||
this.setState({ requestData });
|
this.setState({ requestData });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleTreeData(treeData = [], timelineId) {
|
||||||
|
this.setState({
|
||||||
|
rootTreeData: treeData,
|
||||||
|
timelineId: timelineId,
|
||||||
|
treeKey: this.state.treeKey + 1,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
onChange = (e) => {
|
onChange = (e) => {
|
||||||
this.setState({ description: e.target.value });
|
this.setState({ description: e.target.value });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
generateKey = (
|
||||||
|
length = 5,
|
||||||
|
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
|
||||||
|
) => {
|
||||||
|
let result = '';
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 弹窗确认
|
* 弹窗确认
|
||||||
*/
|
*/
|
||||||
|
|
@ -117,6 +138,9 @@ export class TopBar extends React.Component {
|
||||||
}
|
}
|
||||||
arr.map((item, index) => {
|
arr.map((item, index) => {
|
||||||
item.icon = <HomeOutlined />;
|
item.icon = <HomeOutlined />;
|
||||||
|
if (item.type == 2) {
|
||||||
|
item.icon = <FolderOutlined />;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this.setState({
|
this.setState({
|
||||||
rootTreeData: arr,
|
rootTreeData: arr,
|
||||||
|
|
@ -135,11 +159,14 @@ export class TopBar extends React.Component {
|
||||||
const { id } = treeNode;
|
const { id } = treeNode;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const { fclass } = this.state.requestData;
|
const { fclass } = this.state.requestData;
|
||||||
|
const { timelineId } = this.state;
|
||||||
let api =
|
let api =
|
||||||
'/api/bs/hrmorganization/orgchart/getSubCompanyTree?subcompany=' +
|
'/api/bs/hrmorganization/orgchart/getSubCompanyTree?subcompany=' +
|
||||||
id +
|
id +
|
||||||
'&fclass=' +
|
'&fclass=' +
|
||||||
fclass;
|
fclass +
|
||||||
|
'&id=' +
|
||||||
|
timelineId;
|
||||||
this.getNodeTreeNode(api);
|
this.getNodeTreeNode(api);
|
||||||
resolve(undefined);
|
resolve(undefined);
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
@ -192,7 +219,8 @@ export class TopBar extends React.Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { disabled, type, labelData } = this.props;
|
const { disabled, type, labelData } = this.props;
|
||||||
const { rootTreeData, open, confirmLoading, treeExpandedKeys } = this.state;
|
const { rootTreeData, open, confirmLoading, treeExpandedKeys, treeKey } =
|
||||||
|
this.state;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={style.topbarWrapper}>
|
<div className={style.topbarWrapper}>
|
||||||
|
|
@ -229,9 +257,11 @@ export class TopBar extends React.Component {
|
||||||
))}
|
))}
|
||||||
</Select>
|
</Select>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={6}>
|
|
||||||
|
<Col span={8}>
|
||||||
{getLabel(547294, labelData)}:
|
{getLabel(547294, labelData)}:
|
||||||
<TreeSelect
|
<TreeSelect
|
||||||
|
key={treeKey}
|
||||||
treeDataSimpleMode
|
treeDataSimpleMode
|
||||||
allowClear
|
allowClear
|
||||||
style={{ width: '65%' }}
|
style={{ width: '65%' }}
|
||||||
|
|
@ -244,7 +274,7 @@ export class TopBar extends React.Component {
|
||||||
treeIcon
|
treeIcon
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={6}>
|
<Col span={5}>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
style={{ marginTop: '5px', marginLeft: 100 }}
|
style={{ marginTop: '5px', marginLeft: 100 }}
|
||||||
checked={this.state.requestData.hidedept == '1'}
|
checked={this.state.requestData.hidedept == '1'}
|
||||||
|
|
@ -266,7 +296,7 @@ export class TopBar extends React.Component {
|
||||||
/>
|
/>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={6}>
|
<Col span={5}>
|
||||||
{getLabel(547299, labelData)}:
|
{getLabel(547299, labelData)}:
|
||||||
<Select
|
<Select
|
||||||
defaultValue="3"
|
defaultValue="3"
|
||||||
|
|
@ -304,7 +334,8 @@ export class TopBar extends React.Component {
|
||||||
/>
|
/>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={16}>
|
|
||||||
|
<Col span={10}>
|
||||||
{this.state.requestData.fclass == '0' && (
|
{this.state.requestData.fclass == '0' && (
|
||||||
<span>
|
<span>
|
||||||
<Button
|
<Button
|
||||||
|
|
|
||||||
|
|
@ -375,6 +375,8 @@ export default function companyPage() {
|
||||||
hidedept: '0',
|
hidedept: '0',
|
||||||
};
|
};
|
||||||
topbar.handleFormChange({ ...resetParams });
|
topbar.handleFormChange({ ...resetParams });
|
||||||
|
//根节点初始化
|
||||||
|
topbar.handleTreeData([], timeline.id);
|
||||||
topbar.getNodeTreeNode(
|
topbar.getNodeTreeNode(
|
||||||
`/api/bs/hrmorganization/orgchart/getSubCompanyTree?fclass=${fclass}&id=${timeline.id}`,
|
`/api/bs/hrmorganization/orgchart/getSubCompanyTree?fclass=${fclass}&id=${timeline.id}`,
|
||||||
false,
|
false,
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ export default function userPage() {
|
||||||
// 获取数据
|
// 获取数据
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.cookie =
|
document.cookie =
|
||||||
'ecology_JSessionid=aaav03Zyuvq3A9TG0PEdz; JSESSIONID=aaav03Zyuvq3A9TG0PEdz; Systemlanguid=7; languageidweaver=7; loginuuids=1; loginidweaver=sysadmin; __randcode__=62316935-a99b-4cbf-a23f-0ac9c37db0da';
|
'ecology_JSessionid=aaaLiDqzA0rZHgPBdxGez; JSESSIONID=aaaLiDqzA0rZHgPBdxGez; Systemlanguid=7; languageidweaver=7; loginuuids=1; loginidweaver=sysadmin; __randcode__=7b9b3b9b-a780-4d6a-b8d5-22d0f8aaf11a';
|
||||||
d3.json(
|
d3.json(
|
||||||
'/api/bs/hrmorganization/orgchart/userData?fclass=0&fisvitual=0&root=0&level=3&id=0',
|
'/api/bs/hrmorganization/orgchart/userData?fclass=0&fisvitual=0&root=0&level=3&id=0',
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue