@titaui/pc 1.9.27 → 1.9.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/common-share/index.css +2 -2
- package/lib/components/confidence/index.css +1 -2
- package/lib/components/confidence/index.js +3 -3
- package/lib/components/create-okr-modal/fields/index.css +1 -0
- package/lib/components/create-okr-modal/fields/input-with-err-popup.js +3 -1
- package/lib/components/dialog/index.css +21 -0
- package/lib/components/dialog/index.js +25 -5
- package/lib/components/dialog/loading.png +0 -0
- package/lib/components/dynamic/dynamic-item/dynamic-create-o/index.css +1 -0
- package/lib/components/dynamic/dynamic-item/dynamic-share-to-dynamic/index.js +3 -1
- package/lib/components/grid-layout/commen-components/scroll-tips.js +4 -4
- package/lib/components/grid-layout/near-visitors/visitor.js +2 -2
- package/lib/components/grid-layout/sub-employee-okr/person-okr.js +2 -2
- package/lib/components/grid-page/commen-components/scroll-tips.js +4 -4
- package/lib/components/grid-page/near-visitors/visitor.js +2 -2
- package/lib/components/help-card/image/liaojie.svg +9 -0
- package/lib/components/help-card/index.css +7 -6
- package/lib/components/help-card/index.js +1 -1
- package/lib/components/hr-header/arrow.png +0 -0
- package/lib/components/hr-header/index.css +92 -0
- package/lib/components/hr-header/index.js +156 -0
- package/lib/components/menus/components/flip-menu-card/index.css +1 -0
- package/lib/components/menus/components/flip-menu-card/index.js +8 -0
- package/lib/components/menus/export-modules/appraisal-menus/index.js +4 -4
- package/lib/components/menus/export-modules/okr-menus/depart-menus/index.js +2 -2
- package/lib/components/menus/export-modules/okr-menus/okr-front-menus.js +4 -4
- package/lib/components/menus/export-modules/okr-menus/subordinate-menus/index.js +4 -4
- package/lib/components/nav-top/components/user-message/components/reply/reply-item.js +1 -1
- package/lib/components/nav-top/components/user-own-menu/utils.js +2 -2
- package/lib/components/okr-detail/base-info/o-desc/index.js +3 -1
- package/lib/components/okr-detail/components/editable-input/index.js +4 -2
- package/lib/components/okr-detail/components/header/edit-name.js +3 -1
- package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.js +3 -1
- package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/kr-push-score.js +3 -1
- package/lib/components/okr-detail/okr-list/create-kr-item/heart.js +1 -1
- package/lib/components/okr-detail/okr-list/create-kr-item/index.js +1 -1
- package/lib/components/okr-detail/schedule/components/o-progress/index.js +3 -1
- package/lib/components/okr-progress/components/o-progress/index.js +3 -1
- package/lib/components/okr-progress-modal/index.js +3 -1
- package/lib/components/okr-share/index.css +2 -2
- package/lib/components/scrollbar/simplebar/simplebar.js +2 -2
- package/lib/components/search-dropdown/index.css +1 -0
- package/lib/components/user-selector/export-modules/duties-selector/index.js +5 -3
- package/lib/components/user-selector/select-tree/choose-tree/index.js +10 -2
- package/lib/components-v1/textarea/index.js +3 -1
- package/lib/pages/aha2021/index.css +13 -3
- package/lib/pages/aha2021/index.js +24 -20
- package/lib/pages/aha2021/kefu.svg +50 -0
- package/lib/pages/group-management/tree/group-form/index.js +4 -2
- package/lib/pages/home/components/data-list/index.css +26 -11
- package/lib/pages/home/components/data-list/index.js +2 -2
- package/lib/pages/home/components/data-list/nav-selector/index.js +23 -95
- package/lib/pages/home/components/data-list/table/columns/index.js +7 -7
- package/lib/pages/home/components/data-list/table/columns/updateTime.js +3 -1
- package/lib/pages/home/components/data-list/table/utils-function.js +44 -62
- package/lib/pages/home-page-data-list/index.js +2 -2
- package/lib/utils/bs-global.js +1 -1
- package/lib/utils/date-test-change.js +18 -55
- package/lib/utils/i18n-front-translate.js +12 -2
- package/package.json +1 -1
- package/src/components/common-share/index.scss +2 -2
- package/src/components/confidence/index.scss +1 -2
- package/src/components/confidence/index.tsx +3 -3
- package/src/components/create-okr-modal/fields/index.scss +1 -0
- package/src/components/create-okr-modal/fields/input-with-err-popup.tsx +2 -1
- package/src/components/dialog/index.js +19 -5
- package/src/components/dialog/index.scss +44 -2
- package/src/components/dialog/loading.png +0 -0
- package/src/components/dynamic/dynamic-item/dynamic-create-o/index.scss +1 -0
- package/src/components/dynamic/dynamic-item/dynamic-share-to-dynamic/index.tsx +2 -1
- package/src/components/grid-layout/commen-components/scroll-tips.tsx +5 -5
- package/src/components/grid-layout/near-visitors/visitor.tsx +3 -3
- package/src/components/grid-layout/sub-employee-okr/person-okr.tsx +3 -3
- package/src/components/grid-page/commen-components/scroll-tips.tsx +5 -5
- package/src/components/grid-page/near-visitors/visitor.tsx +3 -3
- package/src/components/help-card/image/liaojie.svg +9 -0
- package/src/components/help-card/index.scss +7 -6
- package/src/components/help-card/index.tsx +1 -1
- package/src/components/hr-header/arrow.png +0 -0
- package/src/components/hr-header/index.scss +82 -0
- package/src/components/hr-header/index.tsx +117 -0
- package/src/components/menus/components/flip-menu-card/index.scss +1 -0
- package/src/components/menus/components/flip-menu-card/index.tsx +7 -0
- package/src/components/menus/export-modules/appraisal-menus/index.tsx +4 -3
- package/src/components/menus/export-modules/okr-menus/depart-menus/index.tsx +2 -1
- package/src/components/menus/export-modules/okr-menus/okr-front-menus.tsx +4 -3
- package/src/components/menus/export-modules/okr-menus/subordinate-menus/index.tsx +4 -3
- package/src/components/nav-top/components/user-message/components/reply/reply-item.tsx +1 -1
- package/src/components/nav-top/components/user-own-menu/utils.ts +2 -2
- package/src/components/okr-detail/base-info/o-desc/index.tsx +2 -1
- package/src/components/okr-detail/components/editable-input/index.tsx +3 -2
- package/src/components/okr-detail/components/header/edit-name.tsx +2 -1
- package/src/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.tsx +2 -1
- package/src/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/kr-push-score.tsx +2 -1
- package/src/components/okr-detail/okr-list/create-kr-item/heart.js +1 -1
- package/src/components/okr-detail/okr-list/create-kr-item/index.tsx +1 -1
- package/src/components/okr-detail/schedule/components/o-progress/index.tsx +2 -1
- package/src/components/okr-progress/components/o-progress/index.tsx +2 -1
- package/src/components/okr-progress-modal/index.tsx +2 -1
- package/src/components/okr-share/index.scss +2 -2
- package/src/components/scrollbar/simplebar/simplebar.js +2 -1
- package/src/components/search-dropdown/index.scss +1 -0
- package/src/components/user-selector/export-modules/duties-selector/index.tsx +4 -2
- package/src/components/user-selector/select-tree/choose-tree/index.tsx +3 -1
- package/src/components-v1/textarea/index.tsx +2 -1
- package/src/pages/aha2021/index.scss +13 -3
- package/src/pages/aha2021/index.tsx +33 -13
- package/src/pages/aha2021/kefu.svg +50 -0
- package/src/pages/group-management/tree/group-form/index.js +3 -2
- package/src/pages/home/components/data-list/index.scss +22 -9
- package/src/pages/home/components/data-list/index.tsx +4 -4
- package/src/pages/home/components/data-list/nav-selector/index.tsx +81 -119
- package/src/pages/home/components/data-list/table/columns/index.tsx +7 -7
- package/src/pages/home/components/data-list/table/columns/updateTime.tsx +5 -4
- package/src/pages/home/components/data-list/table/utils-function.ts +113 -105
- package/src/pages/home-page-data-list/index.tsx +4 -4
- package/src/utils/bs-global.js +1 -1
- package/src/utils/date-test-change.ts +18 -57
- package/src/utils/i18n-front-translate.ts +8 -0
|
@@ -9,6 +9,7 @@ import { getFeedTypeAndTypeColor } from '../../util';
|
|
|
9
9
|
import { highLightWord } from '../../../../utils/tools';
|
|
10
10
|
import { getUserInfo } from '../../../../utils/bs-global';
|
|
11
11
|
import Guanlian from './img/guanlian.png';
|
|
12
|
+
import { getLocale } from '../../../../utils/getLocale';
|
|
12
13
|
import './index.scss';
|
|
13
14
|
|
|
14
15
|
const prefix = 'titaui-dynamic-share-to-dynamic';
|
|
@@ -27,7 +28,7 @@ const DynamicShare: FC<IDynamicItemContentProps> = ({ data, hasDynamicOpereateAu
|
|
|
27
28
|
const renderDesc = useMemo(() => {
|
|
28
29
|
return (
|
|
29
30
|
<Fragment>
|
|
30
|
-
<span className={prefix + '__operate-desc'}
|
|
31
|
+
<span className={prefix + '__operate-desc'}>{getLocale('Feed_sharedexcelle')}</span>
|
|
31
32
|
<span className={prefix + '-desc-operate-type'} style={{ background: feedTypeColor }} />
|
|
32
33
|
</Fragment>
|
|
33
34
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState, Fragment } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { judgeTimeSpaceFromNow } from '../../../utils/date-test-change';
|
|
3
3
|
import Avatar from '../../avatar';
|
|
4
4
|
import { OpenUserName } from '../../../utils/open-data';
|
|
5
5
|
|
|
@@ -27,11 +27,11 @@ export default function ScrollTips(props: Props) {
|
|
|
27
27
|
} = props;
|
|
28
28
|
|
|
29
29
|
const [updateTime, setUpdateTime] = useState(
|
|
30
|
-
message &&
|
|
30
|
+
message && judgeTimeSpaceFromNow(message.date)
|
|
31
31
|
);
|
|
32
32
|
|
|
33
33
|
useEffect(() => {
|
|
34
|
-
setUpdateTime(message &&
|
|
34
|
+
setUpdateTime(message && judgeTimeSpaceFromNow(message.date));
|
|
35
35
|
}, [message && message.date]);
|
|
36
36
|
|
|
37
37
|
return (
|
|
@@ -50,11 +50,11 @@ export default function ScrollTips(props: Props) {
|
|
|
50
50
|
|
|
51
51
|
export const AvatarTips = ({ message, content, styles = {} }: Props) => {
|
|
52
52
|
const [updateTime, setUpdateTime] = useState(
|
|
53
|
-
message &&
|
|
53
|
+
message && judgeTimeSpaceFromNow(message.date)
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
useEffect(() => {
|
|
57
|
-
setUpdateTime(message &&
|
|
57
|
+
setUpdateTime(message && judgeTimeSpaceFromNow(message.date));
|
|
58
58
|
}, [message && message.date]);
|
|
59
59
|
console.log(updateTime);
|
|
60
60
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef } from 'react';
|
|
2
2
|
import Tooltip from '../../tooltip';
|
|
3
3
|
import Avatar from '../../avatar';
|
|
4
|
-
import {
|
|
4
|
+
import { judgeTimeSpaceFromNow } from '../../../utils/date-test-change';
|
|
5
5
|
import { OpenUserName } from '../../../utils/open-data';
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
@@ -15,11 +15,11 @@ interface Props {
|
|
|
15
15
|
export default function Visitor(props: Props) {
|
|
16
16
|
const { iconSrc, name, dateTime, avatarColor, userId } = props;
|
|
17
17
|
|
|
18
|
-
const [visitTime, setVisitTime] = useState(
|
|
18
|
+
const [visitTime, setVisitTime] = useState(judgeTimeSpaceFromNow(dateTime));
|
|
19
19
|
const toolTipRef = useRef<any>();
|
|
20
20
|
|
|
21
21
|
useEffect(() => {
|
|
22
|
-
setVisitTime(
|
|
22
|
+
setVisitTime(judgeTimeSpaceFromNow(dateTime));
|
|
23
23
|
}, [dateTime]);
|
|
24
24
|
|
|
25
25
|
return (
|
|
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react';
|
|
|
2
2
|
import Progress from '../../progress/index'
|
|
3
3
|
import Tooltip from '../../tooltip'
|
|
4
4
|
import Avatar from '../../avatar';
|
|
5
|
-
import {
|
|
5
|
+
import { judgeTimeSpaceFromNow } from '../../../utils/date-test-change';
|
|
6
6
|
import { OpenUserName } from '../../../utils/open-data';
|
|
7
7
|
|
|
8
8
|
import './index.scss';
|
|
@@ -19,10 +19,10 @@ interface Props {
|
|
|
19
19
|
export default function PersonalOkr(props: Props) {
|
|
20
20
|
const { iconSrc, name, updateTime, num, avatarColor, userId } = props;
|
|
21
21
|
|
|
22
|
-
const [subUpdateTime, setSubUpdateTime] = useState(
|
|
22
|
+
const [subUpdateTime, setSubUpdateTime] = useState(judgeTimeSpaceFromNow(updateTime));
|
|
23
23
|
const toolTipRef = useRef<any>();
|
|
24
24
|
useEffect(() => {
|
|
25
|
-
setSubUpdateTime(
|
|
25
|
+
setSubUpdateTime(judgeTimeSpaceFromNow(updateTime));
|
|
26
26
|
}, [updateTime]);
|
|
27
27
|
return (
|
|
28
28
|
<div className="subOKRComponents-PersonalOkr">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useState, Fragment } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { judgeTimeSpaceFromNow } from '../../../utils/date-test-change';
|
|
3
3
|
import Avatar from '../../avatar';
|
|
4
4
|
import { OpenUserName } from '../../../utils/open-data';
|
|
5
5
|
|
|
@@ -27,11 +27,11 @@ export default function ScrollTips(props: Props) {
|
|
|
27
27
|
} = props;
|
|
28
28
|
|
|
29
29
|
const [updateTime, setUpdateTime] = useState(
|
|
30
|
-
message &&
|
|
30
|
+
message && judgeTimeSpaceFromNow(message.date)
|
|
31
31
|
);
|
|
32
32
|
|
|
33
33
|
useEffect(() => {
|
|
34
|
-
setUpdateTime(message &&
|
|
34
|
+
setUpdateTime(message && judgeTimeSpaceFromNow(message.date));
|
|
35
35
|
}, [message && message.date]);
|
|
36
36
|
|
|
37
37
|
return (
|
|
@@ -50,11 +50,11 @@ export default function ScrollTips(props: Props) {
|
|
|
50
50
|
|
|
51
51
|
export const AvatarTips = ({ message, content, styles = {} }: Props) => {
|
|
52
52
|
const [updateTime, setUpdateTime] = useState(
|
|
53
|
-
message &&
|
|
53
|
+
message && judgeTimeSpaceFromNow(message.date)
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
useEffect(() => {
|
|
57
|
-
setUpdateTime(message &&
|
|
57
|
+
setUpdateTime(message && judgeTimeSpaceFromNow(message.date));
|
|
58
58
|
}, [message && message.date]);
|
|
59
59
|
console.log(updateTime);
|
|
60
60
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef } from 'react';
|
|
2
2
|
import Tooltip from '../../tooltip';
|
|
3
3
|
import Avatar from '../../avatar';
|
|
4
|
-
import {
|
|
4
|
+
import { judgeTimeSpaceFromNow } from '../../../utils/date-test-change';
|
|
5
5
|
import { OpenUserName } from '../../../utils/open-data';
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
@@ -15,11 +15,11 @@ interface Props {
|
|
|
15
15
|
export default function Visitor(props: Props) {
|
|
16
16
|
const { iconSrc, name, dateTime, avatarColor, userId } = props;
|
|
17
17
|
|
|
18
|
-
const [visitTime, setVisitTime] = useState(
|
|
18
|
+
const [visitTime, setVisitTime] = useState(judgeTimeSpaceFromNow(dateTime));
|
|
19
19
|
const toolTipRef = useRef<any>();
|
|
20
20
|
|
|
21
21
|
useEffect(() => {
|
|
22
|
-
setVisitTime(
|
|
22
|
+
setVisitTime(judgeTimeSpaceFromNow(dateTime));
|
|
23
23
|
}, [dateTime]);
|
|
24
24
|
|
|
25
25
|
return (
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="240px" height="240px" viewBox="0 0 240 240" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>liaojie</title>
|
|
4
|
+
<g id="liaojie" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<path d="M120,20 C64.771525,20 20,64.771525 20,120 C20,175.228475 64.771525,220 120,220 C175.228475,220 220,175.228475 220,120 C220,64.771525 175.228475,20 120,20 Z M120,36 C166.391919,36 204,73.608081 204,120 C204,166.391919 166.391919,204 120,204 C73.608081,204 36,166.391919 36,120 C36,73.608081 73.608081,36 120,36 Z" id="椭圆形" fill="#141C28" fill-rule="nonzero"></path>
|
|
6
|
+
<path d="M120.008756,67 C111.978786,67 104.365434,69.5751522 98.5581514,74.2740154 C92.5462972,79.1476855 89.1380286,85.7464547 89.0041026,92.8525998 L89,93.4421688 C89,98.0147412 92.7048728,101.721543 97.275065,101.721543 C101.845257,101.721543 105.55013,98.0147412 105.55013,93.4421688 L105.55013,93.2882935 C105.55013,87.633082 111.918127,82.717229 120.008756,82.717229 C128.099386,82.717229 134.467382,87.633082 134.467382,93.2882935 C134.467382,97.3618411 131.236598,101.705432 126.529119,103.512236 L126.226653,103.624092 C121.998705,105.120732 118.37505,107.759616 115.76761,111.242806 C113.200769,114.69201 111.71593,119.721641 111.71593,124.292547 L111.71593,134.720625 C111.71593,139.293198 115.420803,143 119.990995,143 C124.561188,143 128.26606,139.293198 128.26606,134.720625 L128.26606,124.095087 C128.26606,121.733292 129.969128,119.083428 132.030331,118.350524 C143.332617,114.321686 151.000085,104.106804 151.000085,93.2882935 C151.0197,86.0248852 147.599248,79.251479 141.461239,74.2755365 C135.666971,69.5693086 128.057111,67 120.008756,67 Z" id="路径" fill="#2879FF" fill-rule="nonzero"></path>
|
|
7
|
+
<path d="M109,162 C109,168.075132 113.924868,173 120,173 C126.075132,173 131,168.075132 131,162 C131,155.924868 126.075132,151 120,151 C113.924868,151 109,155.924868 109,162 Z" id="路径" fill="#000000" fill-rule="nonzero"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</svg>
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
&-image {
|
|
15
15
|
width: 24px;
|
|
16
16
|
height: 24px;
|
|
17
|
-
background: url("./image/
|
|
17
|
+
background: url("./image/liaojie.svg") 50% 50% no-repeat;
|
|
18
|
+
background-size: 24px 24px;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
&-canceled {
|
|
@@ -206,20 +207,20 @@
|
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
100% {
|
|
209
|
-
transform: rotate(90deg);
|
|
210
|
+
transform: rotate(-90deg);
|
|
210
211
|
}
|
|
211
212
|
}
|
|
212
213
|
|
|
213
214
|
@keyframes titaZoomInLB {
|
|
214
215
|
0% {
|
|
215
216
|
opacity: 0;
|
|
216
|
-
transform-origin:
|
|
217
|
+
transform-origin: 100% 100%;
|
|
217
218
|
transform: scale(0, 0);
|
|
218
219
|
}
|
|
219
220
|
|
|
220
221
|
100% {
|
|
221
222
|
opacity: 1;
|
|
222
|
-
transform-origin:
|
|
223
|
+
transform-origin: 100% 100%;
|
|
223
224
|
transform: scale(1, 1);
|
|
224
225
|
}
|
|
225
226
|
}
|
|
@@ -227,13 +228,13 @@
|
|
|
227
228
|
@keyframes titaZoomOutLB {
|
|
228
229
|
0% {
|
|
229
230
|
opacity: 1;
|
|
230
|
-
transform-origin:
|
|
231
|
+
transform-origin: 100% 100%;
|
|
231
232
|
transform: scale(1, 1);
|
|
232
233
|
}
|
|
233
234
|
|
|
234
235
|
100% {
|
|
235
236
|
opacity: 0;
|
|
236
|
-
transform-origin:
|
|
237
|
+
transform-origin: 100% 100%;
|
|
237
238
|
transform: scale(0, 0);
|
|
238
239
|
}
|
|
239
240
|
}
|
|
@@ -209,7 +209,7 @@ const HelpCard: FC<HelpCardProps> = ({ ...restProps }) => {
|
|
|
209
209
|
<div {...restProps}>
|
|
210
210
|
<Popup
|
|
211
211
|
popupTransitionName="tita-popup-zoom-left-bottom"
|
|
212
|
-
placement="
|
|
212
|
+
placement="topLeft"
|
|
213
213
|
popupAlign={{
|
|
214
214
|
offset: [-32, -10],
|
|
215
215
|
overflow: {
|
|
Binary file
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
.tencent-hr-header {
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 60px;
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
padding: 0 30px;
|
|
8
|
+
flex-shrink: 0;
|
|
9
|
+
background-color: #3464E0;
|
|
10
|
+
&__title {
|
|
11
|
+
font-size: 14px;
|
|
12
|
+
font-weight: bold;
|
|
13
|
+
color: #FFFFFF;
|
|
14
|
+
margin-right: 98px;
|
|
15
|
+
}
|
|
16
|
+
&__menu-list{
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: stretch;
|
|
19
|
+
flex: 1;
|
|
20
|
+
}
|
|
21
|
+
&__item {
|
|
22
|
+
height: 100%;
|
|
23
|
+
width: 120px;
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
margin: 0 5px;
|
|
28
|
+
& > a {
|
|
29
|
+
color: #FFF;
|
|
30
|
+
}
|
|
31
|
+
img {
|
|
32
|
+
width: 12px;
|
|
33
|
+
height: 12px;
|
|
34
|
+
margin-left: 4px;
|
|
35
|
+
transition: transform .2s ease;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
&__user {
|
|
39
|
+
font-size: 14px;
|
|
40
|
+
color: #FFFFFF;
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
& > img {
|
|
43
|
+
width: 10px;
|
|
44
|
+
height: 10px;
|
|
45
|
+
margin-left: 4px;
|
|
46
|
+
transition: transform .2s ease;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
.tencent-hr-header-popup {
|
|
51
|
+
position: relative;
|
|
52
|
+
background-color: #fff;
|
|
53
|
+
box-shadow: 0px 4px 24px 0px rgba(127, 145, 180, 0.2);
|
|
54
|
+
border-radius: 12px;
|
|
55
|
+
min-width: 104px;
|
|
56
|
+
padding: 16px 0;
|
|
57
|
+
margin-top: 6px;
|
|
58
|
+
&__item {
|
|
59
|
+
display: flex;
|
|
60
|
+
height: 32px;
|
|
61
|
+
padding: 0 24px;
|
|
62
|
+
align-items: center;
|
|
63
|
+
justify-content: flex-start;
|
|
64
|
+
color: #666666;
|
|
65
|
+
&:hover{
|
|
66
|
+
background: #F5F7F9;
|
|
67
|
+
color: #3464E0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
&::before {
|
|
72
|
+
display: block;
|
|
73
|
+
content: '';
|
|
74
|
+
position: absolute;
|
|
75
|
+
top: -6px;
|
|
76
|
+
left: calc(50% - 6px);
|
|
77
|
+
border-top: none;
|
|
78
|
+
border-left: 6px solid transparent;
|
|
79
|
+
border-right: 6px solid transparent;
|
|
80
|
+
border-bottom: 6px solid #FFF;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React, { ReactElement, useState } from 'react';
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import axios from 'axios';
|
|
5
|
+
import Popup from '../popup';
|
|
6
|
+
import { getLoginUserInfo } from '../../utils/helpers';
|
|
7
|
+
import './index.scss';
|
|
8
|
+
|
|
9
|
+
interface Props {}
|
|
10
|
+
const preCls = 'tencent-hr-header';
|
|
11
|
+
function HrHeader({}: Props): ReactElement {
|
|
12
|
+
const [menus, setMenus] = useState<any[]>([]);
|
|
13
|
+
const [isShowMore, setIsShowMore] = useState(false);
|
|
14
|
+
const [isShowUserMenu, setIsShowUserMenu] = useState(false);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (true) {
|
|
17
|
+
axios.get('/_caagw/getNavInfoByCorpKey').then((res) => {
|
|
18
|
+
const data = res.data.data;
|
|
19
|
+
setMenus(data.menus);
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
setMenus([
|
|
23
|
+
{
|
|
24
|
+
appKey: 'contacts',
|
|
25
|
+
appName: '人事通讯录',
|
|
26
|
+
appUrl: 'http://contacts-wxvendor.test-caagw.yunassess.com/',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
appKey: 'regist',
|
|
30
|
+
appName: '入职管理',
|
|
31
|
+
appUrl: 'http://regist-wxvendor.test-caagw.yunassess.com/pc/',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
appKey: 'jixiaobao',
|
|
35
|
+
appName: '绩效考核',
|
|
36
|
+
appUrl: 'http://contacts-wxvendor.test-caagw.yunassess.com/',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
appKey: 'regist1',
|
|
40
|
+
appName: '入职管理1',
|
|
41
|
+
appUrl: 'http://regist-wxvendor.test-caagw.yunassess.com/pc/',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
appKey: 'contacts2',
|
|
45
|
+
appName: '人事通讯录2',
|
|
46
|
+
appUrl: 'http://contacts-wxvendor.test-caagw.yunassess.com/',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
appKey: 'regist2',
|
|
50
|
+
appName: '入职管理2',
|
|
51
|
+
appUrl: 'http://regist-wxvendor.test-caagw.yunassess.com/pc/',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
appKey: 'regist3',
|
|
55
|
+
appName: '入职管理3',
|
|
56
|
+
appUrl: 'http://regist-wxvendor.test-caagw.yunassess.com/pc/',
|
|
57
|
+
},
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
}, []);
|
|
61
|
+
return (
|
|
62
|
+
<div className={preCls}>
|
|
63
|
+
<span className={preCls + '__title'}>腾讯HR助手</span>
|
|
64
|
+
<div className={preCls + '__menu-list'}>
|
|
65
|
+
{menus.slice(0, 5).map((menu) => (
|
|
66
|
+
<div
|
|
67
|
+
key={menu.appKey}
|
|
68
|
+
className={classNames(preCls + '__item', {
|
|
69
|
+
[preCls + '__item--active']: menu.appKey == 'jixiaobao',
|
|
70
|
+
})}
|
|
71
|
+
>
|
|
72
|
+
<a href={menu.appUrl}>{menu.appName}</a>
|
|
73
|
+
</div>
|
|
74
|
+
))}
|
|
75
|
+
{menus.length > 5 && (
|
|
76
|
+
<Popup
|
|
77
|
+
popupVisible={isShowMore}
|
|
78
|
+
onPopupVisibleChange={setIsShowMore}
|
|
79
|
+
popupPlacement="bottom"
|
|
80
|
+
popup={
|
|
81
|
+
<div className='tencent-hr-header-popup'>
|
|
82
|
+
{menus.slice(6).map((menu) => (
|
|
83
|
+
<a className='tencent-hr-header-popup__item' href={menu.appUrl}>{menu.appName}</a>
|
|
84
|
+
))}
|
|
85
|
+
</div>
|
|
86
|
+
}
|
|
87
|
+
>
|
|
88
|
+
<div key='more' className={classNames(preCls + '__item')}>
|
|
89
|
+
<a>更多</a>
|
|
90
|
+
<img
|
|
91
|
+
src={require('./arrow.png')}
|
|
92
|
+
style={{ transform: `rotate(${isShowMore ? 180 : 0}deg)` }}
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
</Popup>
|
|
96
|
+
)}
|
|
97
|
+
</div>
|
|
98
|
+
<Popup
|
|
99
|
+
popupVisible={isShowUserMenu}
|
|
100
|
+
onPopupVisibleChange={setIsShowUserMenu}
|
|
101
|
+
popupPlacement="bottom"
|
|
102
|
+
popup={
|
|
103
|
+
<div className='tencent-hr-header-popup'>
|
|
104
|
+
<a className='tencent-hr-header-popup__item' href={'/_logout?r='+(new Date().getTime())}>退出</a>
|
|
105
|
+
</div>
|
|
106
|
+
}
|
|
107
|
+
>
|
|
108
|
+
<span className={preCls + '__user'}>
|
|
109
|
+
{getLoginUserInfo().Name}
|
|
110
|
+
<img src={require('./arrow.png')} style={{ transform: `rotate(${isShowUserMenu ? 180 : 0}deg)` }}/>
|
|
111
|
+
</span>
|
|
112
|
+
</Popup>
|
|
113
|
+
</div>
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export default HrHeader;
|
|
@@ -159,6 +159,13 @@ export default forwardRef((props: Props, ref) => {
|
|
|
159
159
|
} else {
|
|
160
160
|
setShowMore(false);
|
|
161
161
|
}
|
|
162
|
+
scrollArea.addEventListener('scroll', () => {
|
|
163
|
+
if(scrollArea.scrollHeight - scrollArea.offsetHeight == scrollArea.scrollTop) {
|
|
164
|
+
setShowMore(false)
|
|
165
|
+
} else {
|
|
166
|
+
setShowMore(true);
|
|
167
|
+
}
|
|
168
|
+
})
|
|
162
169
|
};
|
|
163
170
|
const observer = new MutationObserver(callback);
|
|
164
171
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from "react";
|
|
2
2
|
import classNames from "classnames";
|
|
3
3
|
import { withRouter } from "react-router";
|
|
4
|
-
import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
|
+
// import { ResizeObserver } from '@juggle/resize-observer';
|
|
5
|
+
import ResizeObserver from 'resize-observer-polyfill';
|
|
5
6
|
import FlipCard, { flipRefIns } from "../../components/flip-menu-card";
|
|
6
7
|
import MenuTree from "../../components/menu-tree";
|
|
7
8
|
import Scrollbar from '../../../scrollbar';
|
|
@@ -22,7 +23,7 @@ const AppraisalMenus = (props: Props) => {
|
|
|
22
23
|
const { onSelect = () => { }, history } = props;
|
|
23
24
|
|
|
24
25
|
const [maxHeight, setMaxHeight] = useState<number>(() => {
|
|
25
|
-
return document.body.offsetHeight -
|
|
26
|
+
return document.body.offsetHeight - 170;
|
|
26
27
|
});
|
|
27
28
|
const [selectedMenuKeys, setSelectedMenuKeys] = useState<string[]>([]);
|
|
28
29
|
|
|
@@ -74,7 +75,7 @@ const AppraisalMenus = (props: Props) => {
|
|
|
74
75
|
const obs = new ResizeObserver(entries => {
|
|
75
76
|
for (let entry of entries) {
|
|
76
77
|
const cr = entry.contentRect;
|
|
77
|
-
setMaxHeight(cr.height -
|
|
78
|
+
setMaxHeight(cr.height - 170);
|
|
78
79
|
}
|
|
79
80
|
})
|
|
80
81
|
obs.observe(document.body);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef } from "react";
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { locale } from '../../../i18n';
|
|
4
|
-
import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
|
+
// import { ResizeObserver } from '@juggle/resize-observer';
|
|
5
|
+
import ResizeObserver from 'resize-observer-polyfill';
|
|
5
6
|
import MenuTree from "../../../components/menu-tree";
|
|
6
7
|
import { getDepsAndUsers } from "../../../request-apis";
|
|
7
8
|
import { DEPART_NODE, USER_NODE } from '../../../components/menu-tree/tree-node/index';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle } from "react";
|
|
2
2
|
// import classNames from "classnames";
|
|
3
|
-
import { ResizeObserver } from '@juggle/resize-observer';
|
|
3
|
+
// import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
|
+
import ResizeObserver from 'resize-observer-polyfill';
|
|
4
5
|
import { flipRefIns } from "../../components/flip-menu-card";
|
|
5
6
|
import Scrollbar from '../../../scrollbar';
|
|
6
7
|
import MenuTree from "../../components/menu-tree";
|
|
@@ -31,7 +32,7 @@ export default forwardRef((props: Props, ref) => {
|
|
|
31
32
|
} = props;
|
|
32
33
|
|
|
33
34
|
const [maxHeight, setMaxHeight] = useState<number>(() => {
|
|
34
|
-
return document.body.offsetHeight -
|
|
35
|
+
return document.body.offsetHeight - 210;
|
|
35
36
|
});
|
|
36
37
|
const [expandedKeys, setExpandedKeys] = useState(['myokr']);
|
|
37
38
|
const [selectedMenuKeys, setSelectedMenuKeys] = useState<string[]>([]);
|
|
@@ -158,7 +159,7 @@ export default forwardRef((props: Props, ref) => {
|
|
|
158
159
|
const obs = new ResizeObserver(entries => {
|
|
159
160
|
for (let entry of entries) {
|
|
160
161
|
const cr = entry.contentRect;
|
|
161
|
-
setMaxHeight(cr.height -
|
|
162
|
+
setMaxHeight(cr.height - 210);
|
|
162
163
|
}
|
|
163
164
|
})
|
|
164
165
|
obs.observe(document.body);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef } from "react";
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import { ResizeObserver } from '@juggle/resize-observer';
|
|
3
|
+
// import { ResizeObserver } from '@juggle/resize-observer';
|
|
4
|
+
import ResizeObserver from 'resize-observer-polyfill';
|
|
4
5
|
import MenuTree from "../../../components/menu-tree";
|
|
5
6
|
import { getSubordinates } from "../../../request-apis";
|
|
6
7
|
import { ITreeNode } from "../../../types";
|
|
@@ -24,7 +25,7 @@ export default (props) => {
|
|
|
24
25
|
const [selectedMenuKeys, setSelectedMenuKeys] = useState<string[]>([]);
|
|
25
26
|
const [loginUserId] = useState(window.BSGlobal && window.BSGlobal.loginUserInfo.Id || 0);
|
|
26
27
|
const [maxHeight, setMaxHeight] = useState<number>(() => {
|
|
27
|
-
return document.body.offsetHeight -
|
|
28
|
+
return document.body.offsetHeight - 200;
|
|
28
29
|
});
|
|
29
30
|
|
|
30
31
|
useEffect(() => {
|
|
@@ -76,7 +77,7 @@ export default (props) => {
|
|
|
76
77
|
const obs = new ResizeObserver(entries => {
|
|
77
78
|
for (let entry of entries) {
|
|
78
79
|
const cr = entry.contentRect;
|
|
79
|
-
setMaxHeight(cr.height -
|
|
80
|
+
setMaxHeight(cr.height - 200);
|
|
80
81
|
}
|
|
81
82
|
})
|
|
82
83
|
obs.observe(document.body);
|
|
@@ -41,14 +41,14 @@ const getLimit = () => [
|
|
|
41
41
|
id: "manage",
|
|
42
42
|
icon: "tu-icon-myqyht",
|
|
43
43
|
title: getLocale('Per_Menu_Admin'),
|
|
44
|
-
objUrl: `${
|
|
44
|
+
objUrl: `${apiServer}/${userId}/tmHome`,
|
|
45
45
|
otherInfo: {}
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
id: "open",
|
|
49
49
|
icon: "tu-icon-my-gjgn",
|
|
50
50
|
title: getLocale('Per_Menu_AdvancedFeatures'),
|
|
51
|
-
objUrl: `${
|
|
51
|
+
objUrl: `${apiServer}/${userId}/tmHome#?iTalentFrameType=iframe&iTalentFrame=${apiServer}/${userId}/indexV2#/advancedSettings`,
|
|
52
52
|
otherInfo: {}
|
|
53
53
|
},
|
|
54
54
|
{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { FC, useState, useEffect, useRef, useCallback } from "react";
|
|
2
|
+
import { inputWordTrans } from "../../../../utils/i18n-front-translate";
|
|
2
3
|
import { getLocale } from "../../../../utils/getLocale";
|
|
3
4
|
import "./index.scss";
|
|
4
5
|
|
|
@@ -93,7 +94,7 @@ const ODesc: FC<IODescProps> = ({
|
|
|
93
94
|
if (!hasError) return <span></span>;
|
|
94
95
|
return (
|
|
95
96
|
<span className="o-desc__errror-tips">
|
|
96
|
-
|
|
97
|
+
{inputWordTrans(desc.trim().length, maxLength)}
|
|
97
98
|
</span>
|
|
98
99
|
);
|
|
99
100
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useRef, useState, useEffect } from "react";
|
|
2
|
-
import ErrorTip from "../../../tooltip/error-tip";
|
|
3
2
|
import classNames from "classnames";
|
|
3
|
+
import ErrorTip from "../../../tooltip/error-tip";
|
|
4
|
+
import { inputWordTrans } from "../../../../utils/i18n-front-translate";
|
|
4
5
|
|
|
5
6
|
import './index.scss';
|
|
6
7
|
|
|
@@ -45,7 +46,7 @@ export default (props: IProps) => {
|
|
|
45
46
|
return setErrorTip(emptyMessage || '');
|
|
46
47
|
}
|
|
47
48
|
if (val.length > maxLength) {
|
|
48
|
-
return setErrorTip(
|
|
49
|
+
return setErrorTip(inputWordTrans(val.length, maxLength));
|
|
49
50
|
}
|
|
50
51
|
setText(val);
|
|
51
52
|
setErrorTip('');
|
|
@@ -3,6 +3,7 @@ import classNames from "classnames";
|
|
|
3
3
|
import Toast from "../../../toast";
|
|
4
4
|
import { updateOkrName } from "../../request-apis";
|
|
5
5
|
import { getLocale } from "../../../../utils/getLocale";
|
|
6
|
+
import { inputWordTrans } from "../../../../utils/i18n-front-translate";
|
|
6
7
|
|
|
7
8
|
interface IEditNameProps {
|
|
8
9
|
okrName: string;
|
|
@@ -27,7 +28,7 @@ const EditNameCmp = (props: IEditNameProps) => {
|
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
if (val.length > 500) {
|
|
30
|
-
setErrorTip(
|
|
31
|
+
setErrorTip(inputWordTrans(val.length, 500));
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
setErrorTip("");
|
package/src/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import React, { PureComponent } from 'react'
|
|
|
2
2
|
import Popup from '../../../../../../popup';
|
|
3
3
|
import styled from 'styled-components'
|
|
4
4
|
import { getLocale, isEn } from "../../../../../../../utils/getLocale";
|
|
5
|
+
import { inputWordTrans } from '../../../../../../../utils/i18n-front-translate';
|
|
5
6
|
|
|
6
7
|
const Wrapper = styled.div`
|
|
7
8
|
min-width: 343px;
|
|
@@ -172,7 +173,7 @@ export default class EditPop extends PureComponent<Props> {
|
|
|
172
173
|
this.setState({
|
|
173
174
|
value: value,
|
|
174
175
|
showError: maxLength && value.length > maxLength,
|
|
175
|
-
errMsg:
|
|
176
|
+
errMsg: inputWordTrans(value.length, maxLength),
|
|
176
177
|
disable: maxLength && value.length > maxLength && disable ? true : false
|
|
177
178
|
})
|
|
178
179
|
|