|
|
@ -7,9 +7,17 @@ import ToolBar from '../components/toolBar';
|
|
|
|
import moment from 'moment';
|
|
|
|
import moment from 'moment';
|
|
|
|
import qs from 'qs';
|
|
|
|
import qs from 'qs';
|
|
|
|
import { message } from 'antd';
|
|
|
|
import { message } from 'antd';
|
|
|
|
|
|
|
|
import jsPDF from 'jspdf';
|
|
|
|
|
|
|
|
let active = 'top';
|
|
|
|
export default function userPage() {
|
|
|
|
export default function userPage() {
|
|
|
|
const [data, setData] = useState(null);
|
|
|
|
const [data, setData] = useState(null);
|
|
|
|
|
|
|
|
const [requestRes, setRequestRes] = useState({
|
|
|
|
|
|
|
|
date: moment(new Date()).format('YYYY-MM-DD'),
|
|
|
|
|
|
|
|
fclass: '0',
|
|
|
|
|
|
|
|
root: '0',
|
|
|
|
|
|
|
|
level: '3',
|
|
|
|
|
|
|
|
fisvitual: '0',
|
|
|
|
|
|
|
|
});
|
|
|
|
const [progressTop, setProgressTop] = useState(50);
|
|
|
|
const [progressTop, setProgressTop] = useState(50);
|
|
|
|
let addNodeChildFunc = null;
|
|
|
|
let addNodeChildFunc = null;
|
|
|
|
let orgChart = null;
|
|
|
|
let orgChart = null;
|
|
|
@ -79,13 +87,15 @@ export default function userPage() {
|
|
|
|
|
|
|
|
|
|
|
|
// 获取数据
|
|
|
|
// 获取数据
|
|
|
|
useEffect(() => {
|
|
|
|
useEffect(() => {
|
|
|
|
|
|
|
|
document.cookie =
|
|
|
|
|
|
|
|
'ecology_JSessionid=aaa1QNMWge48Bh-3oq6oy; JSESSIONID=aaa1QNMWge48Bh-3oq6oy; loginidweaver=1; languageidweaver=7; loginuuids=1; __randcode__=0bef9a3b-51e8-452a-8558-5080bdee23ba';
|
|
|
|
d3.json(
|
|
|
|
d3.json(
|
|
|
|
// "/user/data"
|
|
|
|
// "/user/data"
|
|
|
|
'/api/bs/hrmorganization/orgchart/userData?fclass=0&root=0&date=' +
|
|
|
|
'/api/bs/hrmorganization/orgchart/userData?fclass=0&root=0&date=' +
|
|
|
|
moment(new Date()).format('YYYY-MM-DD'),
|
|
|
|
moment(new Date()).format('YYYY-MM-DD'),
|
|
|
|
).then((data) => {
|
|
|
|
).then((data) => {
|
|
|
|
setData(data.data);
|
|
|
|
setData(data.data);
|
|
|
|
setHasRight(data.hasRight);
|
|
|
|
setHasRight(data?.hasRight);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}, [true]);
|
|
|
|
}, [true]);
|
|
|
|
|
|
|
|
|
|
|
@ -110,21 +120,32 @@ export default function userPage() {
|
|
|
|
// tool bar start
|
|
|
|
// tool bar start
|
|
|
|
const handleTopLayoutClick = (progressBtn) => {
|
|
|
|
const handleTopLayoutClick = (progressBtn) => {
|
|
|
|
progressBtn.current.style.top = 50 + 'px';
|
|
|
|
progressBtn.current.style.top = 50 + 'px';
|
|
|
|
orgChart && orgChart.layout('top').render();
|
|
|
|
orgChart &&
|
|
|
|
|
|
|
|
orgChart
|
|
|
|
|
|
|
|
.setCentered(orgChart.getChartState().root.id)
|
|
|
|
|
|
|
|
.layout('top')
|
|
|
|
|
|
|
|
.render();
|
|
|
|
|
|
|
|
active = 'top';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const handleLeftLayoutClick = (progressBtn) => {
|
|
|
|
const handleLeftLayoutClick = (progressBtn) => {
|
|
|
|
progressBtn.current.style.top = 50 + 'px';
|
|
|
|
progressBtn.current.style.top = 50 + 'px';
|
|
|
|
orgChart && orgChart.layout('left').render();
|
|
|
|
orgChart &&
|
|
|
|
|
|
|
|
orgChart
|
|
|
|
|
|
|
|
.layout('left')
|
|
|
|
|
|
|
|
.setCentered(orgChart.getChartState().root.id)
|
|
|
|
|
|
|
|
.render();
|
|
|
|
|
|
|
|
active = 'left';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const handleZoomIn = (progressBtn) => {
|
|
|
|
const handleZoomIn = (progressBtn) => {
|
|
|
|
if (progressBtn) {
|
|
|
|
if (progressBtn) {
|
|
|
|
let top = parseInt(progressBtn.current.style.top) - 10;
|
|
|
|
let top = parseInt(progressBtn.current.style.top) - 10;
|
|
|
|
if (top <= 0) {
|
|
|
|
if (top >= 0) {
|
|
|
|
top = 30;
|
|
|
|
progressBtn.current.style.top = top + 'px';
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
progressBtn.current.style.top = top + 'px';
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
orgChart && orgChart.zoomIn();
|
|
|
|
orgChart && orgChart.zoomIn();
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -132,10 +153,11 @@ export default function userPage() {
|
|
|
|
const handleZoomOut = (progressBtn) => {
|
|
|
|
const handleZoomOut = (progressBtn) => {
|
|
|
|
if (progressBtn) {
|
|
|
|
if (progressBtn) {
|
|
|
|
let top = parseInt(progressBtn.current.style.top) + 10;
|
|
|
|
let top = parseInt(progressBtn.current.style.top) + 10;
|
|
|
|
if (top >= 100) {
|
|
|
|
if (top <= 100) {
|
|
|
|
top = 70;
|
|
|
|
progressBtn.current.style.top = top + 'px';
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
progressBtn.current.style.top = top + 'px';
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
orgChart && orgChart.zoomOut();
|
|
|
|
orgChart && orgChart.zoomOut();
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -147,6 +169,7 @@ export default function userPage() {
|
|
|
|
function downloadPdf(chart) {
|
|
|
|
function downloadPdf(chart) {
|
|
|
|
chart.exportImg({
|
|
|
|
chart.exportImg({
|
|
|
|
save: false,
|
|
|
|
save: false,
|
|
|
|
|
|
|
|
full: true,
|
|
|
|
onLoad: (base64) => {
|
|
|
|
onLoad: (base64) => {
|
|
|
|
var pdf = new jsPDF();
|
|
|
|
var pdf = new jsPDF();
|
|
|
|
var img = new Image();
|
|
|
|
var img = new Image();
|
|
|
@ -182,14 +205,31 @@ export default function userPage() {
|
|
|
|
fetch(api)
|
|
|
|
fetch(api)
|
|
|
|
.then((res) => res.json())
|
|
|
|
.then((res) => res.json())
|
|
|
|
.then((data) => {
|
|
|
|
.then((data) => {
|
|
|
|
if (data.data && data.data.length > 0) {
|
|
|
|
if (data.data) {
|
|
|
|
setData(data.data);
|
|
|
|
if (!data.data.length) {
|
|
|
|
} else {
|
|
|
|
setData([{}]);
|
|
|
|
message.warning('暂无数据');
|
|
|
|
message.warning('暂无数据');
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
setData(data?.data);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
|
|
|
if (active == 'left') {
|
|
|
|
|
|
|
|
orgChart &&
|
|
|
|
|
|
|
|
orgChart
|
|
|
|
|
|
|
|
.setCentered(orgChart.getChartState().root.id)
|
|
|
|
|
|
|
|
.layout('left')
|
|
|
|
|
|
|
|
.render();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
orgChart &&
|
|
|
|
|
|
|
|
orgChart
|
|
|
|
|
|
|
|
.setCentered(orgChart.getChartState().root.id)
|
|
|
|
|
|
|
|
.layout('top')
|
|
|
|
|
|
|
|
.render();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, [data]);
|
|
|
|
// top bar end
|
|
|
|
// top bar end
|
|
|
|
|
|
|
|
|
|
|
|
const nodeContentRender = (d, i, arr, state) => {
|
|
|
|
const nodeContentRender = (d, i, arr, state) => {
|
|
|
@ -204,9 +244,16 @@ export default function userPage() {
|
|
|
|
let jobtitleUrl = `/spa/organization/static/index.html#/main/organization/jobExtend/${d.data.fobjid}`;
|
|
|
|
let jobtitleUrl = `/spa/organization/static/index.html#/main/organization/jobExtend/${d.data.fobjid}`;
|
|
|
|
// 人员地址
|
|
|
|
// 人员地址
|
|
|
|
let userUrl = `/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/${d.data.fleader}`;
|
|
|
|
let userUrl = `/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/${d.data.fleader}`;
|
|
|
|
|
|
|
|
// 岗位人员地址
|
|
|
|
// 通讯录
|
|
|
|
let postUserUrl = `/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/${d.data.fobjid}`;
|
|
|
|
let addressBookUrl = '/spa/hrm/index_mobx.html#/main/hrm/addressBook';
|
|
|
|
//集团通讯录
|
|
|
|
|
|
|
|
let addressBookGroupUrl = `/spa/hrm/index_mobx.html#/main/hrm/addressBook/?virtualtype=${d.data.fecid}`;
|
|
|
|
|
|
|
|
// 分部通讯录
|
|
|
|
|
|
|
|
let addressBookUrl = `/spa/hrm/index_mobx.html#/main/hrm/addressBook/?subcompanyid1=${d.data.fecid}`;
|
|
|
|
|
|
|
|
// 部门通讯录
|
|
|
|
|
|
|
|
let addressBookDepartmentUrl = `/spa/hrm/index_mobx.html#/main/hrm/addressBook/?departmentid=${d.data.fecid}`;
|
|
|
|
|
|
|
|
// 岗位通讯录
|
|
|
|
|
|
|
|
let addressBookPostUrl = `/spa/hrm/index_mobx.html#/main/hrm/addressBook/?departmentid=${d.data.fobjparentId}`;
|
|
|
|
|
|
|
|
|
|
|
|
if (d.data.ftype == 0 || d.data.ftype == 1 || d.data.ftype == 2) {
|
|
|
|
if (d.data.ftype == 0 || d.data.ftype == 1 || d.data.ftype == 2) {
|
|
|
|
return `<div>
|
|
|
|
return `<div>
|
|
|
@ -218,7 +265,7 @@ export default function userPage() {
|
|
|
|
top: -8px;
|
|
|
|
top: -8px;
|
|
|
|
background: #F7F9FD;
|
|
|
|
background: #F7F9FD;
|
|
|
|
z-index: 100;
|
|
|
|
z-index: 100;
|
|
|
|
padding: 0px 10px;
|
|
|
|
padding: 0px 10px;
|
|
|
|
font-size: 16px;
|
|
|
|
font-size: 16px;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
@ -236,36 +283,58 @@ export default function userPage() {
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
<div style="background: url('./img/user-card/user-card.png'); height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 30px;" onclick="window.open('${userUrl}', '_blank')">
|
|
|
|
<div style=" height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 30px;position:relative;z-index:2">
|
|
|
|
<div onclick="window.open('${userUrl}', '_blank')" style="display: inline-block; background: url('./img/user-card/avatar-outer.png'); background-size: 100% 100%; width: 90px; height: 90px; text-align:center; vertical-align: top; margin-left: 11px;box-sizing: border;">
|
|
|
|
<div style='position:absolute;z-index:-1;top:0'>
|
|
|
|
<img src="${
|
|
|
|
<img src='./img/user-card/user-card.png'></div>
|
|
|
|
d.data.fleaderimg
|
|
|
|
<div style="display: inline-block; background-size: 100% 100%; width: 90px; height: 90px; text-align:center; vertical-align: top; margin-left: 11px;box-sizing: border;">
|
|
|
|
? d.data.fleaderimg
|
|
|
|
<img src='./img/user-card/avatar-outer.png' style='position:absolute;width:90px;height:90px;left:11px'/>
|
|
|
|
: './img/default_avator.png'
|
|
|
|
<img src="${
|
|
|
|
}" style="width: 58px; height: 58px; border-radius: 50%; margin-top: 16px;"/>
|
|
|
|
d.data.fleaderimg
|
|
|
|
|
|
|
|
? d.data.fleaderimg
|
|
|
|
|
|
|
|
: d.data.ftype == 0
|
|
|
|
|
|
|
|
? './img/company.png'
|
|
|
|
|
|
|
|
: './img/default_avator.png'
|
|
|
|
|
|
|
|
}" style="width: 58px; height: 58px;position:absolute;left:29px; border-radius: 50%; margin-top: 16px;position:absolute;left:29px"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div style="display: inline-block; margin-left: 6px;">
|
|
|
|
<div style="display: inline-block; margin-left: 6px;width:60%" >
|
|
|
|
|
|
|
|
<div onclick="${
|
|
|
|
|
|
|
|
d.data.fleadername ? `window.open('${userUrl}', '_blank')` : ''
|
|
|
|
|
|
|
|
}">
|
|
|
|
<div style="
|
|
|
|
<div style="
|
|
|
|
font-size: 13px;
|
|
|
|
font-size: 13px;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
color: #333333;
|
|
|
|
color: #333333;
|
|
|
|
margin-bottom: 9px;
|
|
|
|
margin-bottom: 9px;"
|
|
|
|
">${d.data.fleadername}</div>
|
|
|
|
>${d.data.fleadername}</div>
|
|
|
|
<div style="
|
|
|
|
<div style="
|
|
|
|
font-size: 13px;
|
|
|
|
font-size: 13px;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #333333;
|
|
|
|
color: #333333;
|
|
|
|
margin-bottom: 19px;
|
|
|
|
margin-bottom: 19px;
|
|
|
|
">${d.data.fname} / ${d.data.fleaderjob}</div>
|
|
|
|
white-space:nowrap;
|
|
|
|
<div style="display: flex;" onclick="window.open('${addressBookUrl}', '_blank')">
|
|
|
|
overflow:hidden;
|
|
|
|
<div style="height: 28px;border: 1px solid #00C2FF; border-radius: 10px; line-height: 24px; padding: 0px 5px; min-width: 69px;">编制: ${
|
|
|
|
text-overflow:ellipsis;"
|
|
|
|
|
|
|
|
title="${d.data.fname}${
|
|
|
|
|
|
|
|
d.data.fleaderjob ? `/${d.data.fleaderjob}` : ''
|
|
|
|
|
|
|
|
}">${d.data.fname}${
|
|
|
|
|
|
|
|
d.data.fleaderjob ? `/${d.data.fleaderjob}` : ''
|
|
|
|
|
|
|
|
}</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div style="display: flex;" >
|
|
|
|
|
|
|
|
<div style="height: 28px;border: 1px solid #00C2FF; border-radius: 10px; line-height: 24px; padding: 0px 5px; min-width: 60px;">编制: ${
|
|
|
|
d.data.fplan
|
|
|
|
d.data.fplan
|
|
|
|
}</div>
|
|
|
|
}</div>
|
|
|
|
<div style="height: 28px;border: 1px solid #00C2FF; border-radius: 10px; line-height: 24px; padding: 0px 5px; min-width: 69px; margin-left: 10px;">在岗: ${
|
|
|
|
<div style="height: 28px;border: 1px solid #00C2FF; border-radius: 10px; line-height: 24px; padding: 0px 5px; min-width: 60px; margin-left: 10px;" onclick="event.stopPropagation();window.open('${
|
|
|
|
d.data.fonjob
|
|
|
|
d.data.ftype == 0
|
|
|
|
}</div>
|
|
|
|
? addressBookGroupUrl
|
|
|
|
|
|
|
|
: d.data.ftype == 1
|
|
|
|
|
|
|
|
? addressBookUrl
|
|
|
|
|
|
|
|
: d.data.ftype == 2
|
|
|
|
|
|
|
|
? addressBookDepartmentUrl
|
|
|
|
|
|
|
|
: ''
|
|
|
|
|
|
|
|
}', '_blank')">在岗: ${d.data.fonjob}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -281,19 +350,20 @@ export default function userPage() {
|
|
|
|
top: -8px;
|
|
|
|
top: -8px;
|
|
|
|
background: #F7F9FD;
|
|
|
|
background: #F7F9FD;
|
|
|
|
z-index: 100;
|
|
|
|
z-index: 100;
|
|
|
|
padding: 0px 10px;
|
|
|
|
padding: 0px 10px;
|
|
|
|
font-size: 16px;
|
|
|
|
font-size: 16px;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
color: #000000;
|
|
|
|
color: #000000;
|
|
|
|
" onclick="window.open('${
|
|
|
|
" onclick="window.open('${jobtitleUrl}', '_blank')">${d.data.fname}</span>
|
|
|
|
jobtitleUrl + d.data.fnumber
|
|
|
|
|
|
|
|
}', '_blank')">${d.data.fname}</span>
|
|
|
|
|
|
|
|
<span style="margin-left: 70px;">
|
|
|
|
<span style="margin-left: 70px;">
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
<div style="background: url('./img/user-card/user-card.png'); height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 40px;">
|
|
|
|
<div style=" height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 40px;">
|
|
|
|
|
|
|
|
<div style='position:absolute;z-index:-1;top:16px'>
|
|
|
|
|
|
|
|
<img src='./img/user-card/user-card.png'>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<img src="./img/user-card/jobicon.png" style="margin-left: 20px; vertical-align: top;"/>
|
|
|
|
<img src="./img/user-card/jobicon.png" style="margin-left: 20px; vertical-align: top;"/>
|
|
|
|
<div style="display: inline-block; margin-left: 15px;">
|
|
|
|
<div style="display: inline-block; margin-left: 15px;">
|
|
|
|
<div style="
|
|
|
|
<div style="
|
|
|
@ -302,17 +372,15 @@ export default function userPage() {
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
color: #333333;
|
|
|
|
color: #333333;
|
|
|
|
margin-bottom: 23px;
|
|
|
|
margin-bottom: 23px;
|
|
|
|
" onclick="window.open('${
|
|
|
|
" onclick="window.open('${jobtitleUrl}', '_blank')">${d.data.fname}</div>
|
|
|
|
jobtitleUrl + d.data.fnumber
|
|
|
|
|
|
|
|
}', '_blank')">${d.data.fname}</div>
|
|
|
|
|
|
|
|
<div style="
|
|
|
|
<div style="
|
|
|
|
font-size: 13px;
|
|
|
|
font-size: 13px;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #333333;
|
|
|
|
color: #333333;
|
|
|
|
" onclick="window.open('${addressBookUrl}', '_blank')">
|
|
|
|
" >
|
|
|
|
<span>编制:${d.data.fplan}</span>
|
|
|
|
<span>编制:${d.data.fplan}</span>
|
|
|
|
<span style="margin-left: 10px;">在岗:${d.data.fonjob}</span>
|
|
|
|
<span style="margin-left: 10px;" onclick="window.open('${addressBookPostUrl}', '_blank')">在岗:${d.data.fonjob}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -320,27 +388,54 @@ export default function userPage() {
|
|
|
|
</div>`;
|
|
|
|
</div>`;
|
|
|
|
} else if (d.data.ftype == 4) {
|
|
|
|
} else if (d.data.ftype == 4) {
|
|
|
|
return `<div>
|
|
|
|
return `<div>
|
|
|
|
<div style="position: relative;" onclick="window.open('${userUrl}', '_blank')">
|
|
|
|
<div style="position: relative;" >
|
|
|
|
<img src="./img/user-card/card-label-start.png" />
|
|
|
|
<img src="./img/user-card/card-label-start.png" />
|
|
|
|
<span >
|
|
|
|
<span >
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line1.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
<img src="./img/user-card/line2.png" />
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
<div style="background: url('./img/user-card/user-card.png'); height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 30px;">
|
|
|
|
<div style="height: 152px;background-size: 100% 100%;box-sizing: border-box;padding-top: 30px;">
|
|
|
|
<div style="display: inline-block; background: url('./img/user-card/avatar-outer.png'); background-size: 100% 100%; width: 90px; height: 90px; text-align:center; vertical-align: top; margin-left: 11px;box-sizing: border;">
|
|
|
|
<div style='position:absolute;z-index:-1;top:16px'>
|
|
|
|
<img src="${
|
|
|
|
<img src='./img/user-card/user-card.png'>
|
|
|
|
d.data.fleaderimg
|
|
|
|
|
|
|
|
? d.data.fleaderimg
|
|
|
|
|
|
|
|
: './img/default_avator.png'
|
|
|
|
|
|
|
|
}" style="width: 58px; height: 58px; border-radius: 50%; margin-top: 16px;"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div style="display: inline-block; margin-left: 6px;">
|
|
|
|
<div style="display: inline-block; background-size: 100% 100%; width: 90px; height: 90px; text-align:center; vertical-align: top; margin-left: 11px;box-sizing: border;">
|
|
|
|
<div style="
|
|
|
|
<img src='./img/user-card/avatar-outer.png' style='position:absolute;width:90px;height:90px;left:11px'/>
|
|
|
|
font-size: 13px;
|
|
|
|
<img src="${
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
d.data.fleaderimg
|
|
|
|
color: #333333;
|
|
|
|
? d.data.fleaderimg
|
|
|
|
margin-bottom: 9px;
|
|
|
|
: './img/default_avator.png'
|
|
|
|
">${d.data.fname}</div>
|
|
|
|
}" style="width: 58px; height: 58px; border-radius: 50%; margin-top: 16px;"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div style="display: inline-block; margin-left: 6px;width:60%;height:100%" onclick="window.open('${postUserUrl}', '_blank')">
|
|
|
|
|
|
|
|
<div style='display:flex;align-items:center;margin-bottom:19px;margin-top:15px'>
|
|
|
|
|
|
|
|
<div style="
|
|
|
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
|
|
|
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
|
|
|
|
|
|
|
|
color: #333333;"
|
|
|
|
|
|
|
|
>${d.data.fname}</div>
|
|
|
|
|
|
|
|
<div style="
|
|
|
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
|
|
color: #999;
|
|
|
|
|
|
|
|
white-space:nowrap;
|
|
|
|
|
|
|
|
overflow:hidden;
|
|
|
|
|
|
|
|
flex:1;
|
|
|
|
|
|
|
|
font-size:12px;
|
|
|
|
|
|
|
|
transform:scale(0.8);
|
|
|
|
|
|
|
|
margin-left:-5px;
|
|
|
|
|
|
|
|
text-overflow:ellipsis;"
|
|
|
|
|
|
|
|
title="${d.data.fleaderlv ? d.data.fleaderlv : ''}/${
|
|
|
|
|
|
|
|
d.data.fleaderst ? d.data.fleaderst : ''
|
|
|
|
|
|
|
|
}">${
|
|
|
|
|
|
|
|
d.data.fleaderlv
|
|
|
|
|
|
|
|
? d.data.fleaderst
|
|
|
|
|
|
|
|
? `(${d.data.fleaderlv}/`
|
|
|
|
|
|
|
|
: `(${d.data.fleaderlv})`
|
|
|
|
|
|
|
|
: ''
|
|
|
|
|
|
|
|
}${d.data.fleaderst ? `${d.data.fleaderst})` : ''}</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div style="
|
|
|
|
<div style="
|
|
|
|
font-size: 13px;
|
|
|
|
font-size: 13px;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
|
|
|
@ -389,15 +484,14 @@ export default function userPage() {
|
|
|
|
handleExport(type);
|
|
|
|
handleExport(type);
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
onSearch={(requestData) => {
|
|
|
|
onSearch={(requestData) => {
|
|
|
|
|
|
|
|
setRequestRes(requestData);
|
|
|
|
handleSearch(requestData);
|
|
|
|
handleSearch(requestData);
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
url="/api/bs/hrmorganization/orgchart/getCondition?type=user"
|
|
|
|
url="/api/bs/hrmorganization/orgchart/getCondition?type=user"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<ToolBar
|
|
|
|
<ToolBar
|
|
|
|
onTopLayoutClick={(progressBtn) => handleTopLayoutClick(progressBtn)}
|
|
|
|
onTopLayoutClick={handleTopLayoutClick}
|
|
|
|
onLeftLayoutClick={(progressBtn) =>
|
|
|
|
onLeftLayoutClick={handleLeftLayoutClick}
|
|
|
|
handleLeftLayoutClick(progressBtn)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
onZoomOut={(progressBtn) => handleZoomOut(progressBtn)}
|
|
|
|
onZoomOut={(progressBtn) => handleZoomOut(progressBtn)}
|
|
|
|
onZoomIn={(progressBtn) => handleZoomIn(progressBtn)}
|
|
|
|
onZoomIn={(progressBtn) => handleZoomIn(progressBtn)}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
@ -411,6 +505,7 @@ export default function userPage() {
|
|
|
|
nodeWidth={nodeWidthRender}
|
|
|
|
nodeWidth={nodeWidthRender}
|
|
|
|
nodeHeight={nodeHeightRender}
|
|
|
|
nodeHeight={nodeHeightRender}
|
|
|
|
nodeContent={nodeContentRender}
|
|
|
|
nodeContent={nodeContentRender}
|
|
|
|
|
|
|
|
requestRes={requestRes}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
)
|
|
|
|