@titaui/pc 1.9.36 → 1.9.40
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/change-okr-modal/Filter.js +2 -2
- package/lib/components/communication/ConvertUserName.js +10 -16
- package/lib/components/communication/index.css +11 -0
- package/lib/components/create-okr-modal/img/check-right.svg +1 -16
- package/lib/components/create-okr-modal/img/check-wrong.svg +1 -29
- package/lib/components/dialog/index.css +2 -2
- package/lib/components/dynamic/dynamic-item/components/header/index.js +2 -2
- package/lib/components/form/form-fields/duties/duties-input.js +9 -1
- package/lib/components/form/form-fields/duties/index.css +1 -0
- package/lib/components/keyword-search/index.js +7 -2
- package/lib/components/menus/components/flip-menu-card/index.js +2 -2
- package/lib/components/menus/export-modules/appraisal-menus/index.js +2 -2
- package/lib/components/menus/export-modules/okr-menus/depart-menus/index.js +2 -2
- package/lib/components/menus/export-modules/okr-menus/menu-highlight.js +2 -0
- package/lib/components/menus/export-modules/okr-menus/okr-front-menus.js +2 -2
- package/lib/components/nav-top/components/user-message/components/remind/index.css +1 -1
- package/lib/components/okr-detail/base-info/base-info.js +1 -1
- package/lib/components/okr-detail/base-info/other-infos/principal/index.js +1 -1
- package/lib/components/okr-detail/components/header/o-avatar.js +3 -1
- package/lib/components/okr-detail/components/header/o-score.js +5 -1
- package/lib/components/okr-detail/components/okr-tree/tree-node/o-child-node/edit-child-okr-weight.js +2 -2
- package/lib/components/okr-detail/detail-header/index.js +3 -3
- package/lib/components/toast/index.js +3 -2
- package/lib/components/user-selector/select-tree/tree-nodes/tree-duties-node/index.css +0 -1
- package/lib/components/user-selector/select-tree/tree-nodes/tree-duties-node/index.js +6 -1
- package/lib/pages/aha2021/{kefu.svg → img/kefu.svg} +0 -0
- package/lib/pages/aha2021/img/notice.png +0 -0
- package/lib/pages/aha2021/index.css +23 -2
- package/lib/pages/aha2021/index.js +15 -4
- package/lib/pages/group-management/tree/delete-group-dialog/index.js +2 -2
- package/lib/pages/like-ranking/index.js +4 -3
- package/lib/pages/okr-map/share-dialog/index.js +1 -1
- package/package.json +1 -1
- package/src/components/change-okr-modal/Filter.tsx +2 -2
- package/src/components/communication/ConvertUserName.tsx +23 -26
- package/src/components/communication/index.scss +10 -0
- package/src/components/create-okr-modal/img/check-right.svg +1 -16
- package/src/components/create-okr-modal/img/check-wrong.svg +1 -29
- package/src/components/dialog/index.scss +2 -2
- package/src/components/dynamic/dynamic-item/components/header/index.tsx +2 -3
- package/src/components/form/form-fields/duties/duties-input.tsx +4 -1
- package/src/components/form/form-fields/duties/index.scss +1 -0
- package/src/components/keyword-search/index.tsx +4 -3
- package/src/components/menus/components/flip-menu-card/index.tsx +3 -3
- package/src/components/menus/export-modules/appraisal-menus/index.tsx +2 -2
- package/src/components/menus/export-modules/okr-menus/depart-menus/index.tsx +2 -2
- package/src/components/menus/export-modules/okr-menus/index.tsx +1 -1
- package/src/components/menus/export-modules/okr-menus/menu-highlight.ts +2 -0
- package/src/components/menus/export-modules/okr-menus/okr-front-menus.tsx +2 -2
- package/src/components/nav-top/components/user-message/components/remind/index.scss +1 -1
- package/src/components/okr-detail/base-info/base-info.tsx +4 -2
- package/src/components/okr-detail/base-info/other-infos/principal/index.tsx +1 -1
- package/src/components/okr-detail/components/header/o-avatar.tsx +2 -1
- package/src/components/okr-detail/components/header/o-score.tsx +2 -0
- package/src/components/okr-detail/components/okr-tree/tree-node/o-child-node/edit-child-okr-weight.tsx +2 -2
- package/src/components/okr-detail/detail-header/index.tsx +6 -6
- package/src/components/toast/index.tsx +1 -0
- package/src/components/user-selector/select-tree/tree-nodes/tree-duties-node/index.js +4 -1
- package/src/components/user-selector/select-tree/tree-nodes/tree-duties-node/index.scss +0 -1
- package/src/pages/aha2021/{kefu.svg → img/kefu.svg} +0 -0
- package/src/pages/aha2021/img/notice.png +0 -0
- package/src/pages/aha2021/index.scss +21 -3
- package/src/pages/aha2021/index.tsx +18 -4
- package/src/pages/group-management/tree/delete-group-dialog/index.js +2 -2
- package/src/pages/like-ranking/index.tsx +4 -4
- package/src/pages/okr-map/share-dialog/index.js +1 -1
|
@@ -282,8 +282,8 @@ export default class FilterComp extends PureComponent<Props, State> {
|
|
|
282
282
|
</ToolTip>
|
|
283
283
|
</a>
|
|
284
284
|
) : (
|
|
285
|
-
<ConfirmPop align='bottom left' confirmTipText='
|
|
286
|
-
<ToolTip title='
|
|
285
|
+
<ConfirmPop align='bottom left' confirmTipText={getLocale('OKR_MyO_Err_Bemembere')} onSubmit={() => this.handlerFilterOptions(2)}>
|
|
286
|
+
<ToolTip title={getLocale('OKR_MyO_Err_Showabove')} overlayStyle={{ zIndex: 999999 }}>
|
|
287
287
|
<a>{getLocale('OKR_MyO_Pop_Cancelremember')}</a>
|
|
288
288
|
</ToolTip>
|
|
289
289
|
</ConfirmPop>
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { OpenUserName } from
|
|
4
|
-
import
|
|
5
|
-
|
|
1
|
+
import classNames from "classnames";
|
|
2
|
+
import React, { PureComponent } from "react";
|
|
3
|
+
import { OpenUserName } from "../../utils/open-data";
|
|
4
|
+
import "./index.scss";
|
|
6
5
|
interface Props {
|
|
7
|
-
className?: string
|
|
8
|
-
userName: string
|
|
9
|
-
userId?: number
|
|
6
|
+
className?: string;
|
|
7
|
+
userName: string;
|
|
8
|
+
userId?: number;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
|
-
const UserLink = styled.a`
|
|
13
|
-
font-size: 14px;
|
|
14
|
-
font-weight: 600;
|
|
15
|
-
color: #3F4755;
|
|
16
|
-
line-height: 22px;
|
|
17
|
-
|
|
18
|
-
&:hover {
|
|
19
|
-
color: #2879ff;
|
|
20
|
-
}
|
|
21
|
-
`
|
|
22
|
-
|
|
23
11
|
export default class ConvertUserName extends PureComponent<Props> {
|
|
24
12
|
render() {
|
|
25
|
-
const { userName, userId, className } = this.props
|
|
13
|
+
const { userName, userId, className } = this.props;
|
|
26
14
|
if (userId) {
|
|
27
|
-
const iframeBoxUrl = `${getBSGlobal('apiPath')}/u/${getUserInfo().Id}/Home#`;
|
|
15
|
+
// const iframeBoxUrl = `${getBSGlobal('apiPath')}/u/${getUserInfo().Id}/Home#`;
|
|
28
16
|
return (
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
<a
|
|
18
|
+
className={classNames(
|
|
19
|
+
className,
|
|
20
|
+
"titaui-communication__communication-content__user-link"
|
|
21
|
+
)}
|
|
22
|
+
target="_blank"
|
|
23
|
+
// href={`${iframeBoxUrl}${encodeURIComponent("widget/italent?iTalentFrameType=iframe&iTalentFrame=&iTalentFrame=" + encodeURIComponent(getBSGlobal('titaHost') + "/" + getUserInfo().Id + "/PageBuilderForEdit#/view?to_user_id=" + userId))}`}
|
|
24
|
+
>
|
|
25
|
+
<span>
|
|
26
|
+
<OpenUserName name={userName} id={userId} />
|
|
27
|
+
</span>
|
|
28
|
+
</a>
|
|
29
|
+
);
|
|
33
30
|
}
|
|
34
|
-
return <span className={className}>{userName}</span
|
|
31
|
+
return <span className={className}>{userName}</span>;
|
|
35
32
|
}
|
|
36
33
|
}
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg width="10px" height="10px" viewBox="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<title>对号</title>
|
|
4
|
-
<g id="创建OKR" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
-
<g id="目标实时校验" transform="translate(-1015.000000, -384.000000)" fill-rule="nonzero">
|
|
6
|
-
<g id="单行" transform="translate(976.000000, 129.000000)">
|
|
7
|
-
<g id="编组-12" transform="translate(23.000000, 225.000000)">
|
|
8
|
-
<g id="对号" transform="translate(16.000000, 30.000000)">
|
|
9
|
-
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="10" height="10"></rect>
|
|
10
|
-
<path d="M0.633865976,4.59654663 L3.04772746,6.45071008 C3.04772746,6.45071008 3.18087497,6.51691307 3.34730936,6.45071008 L9.29070556,1.51474948 C9.29070556,1.51474948 10.1376717,1.33516988 9.98056404,2.22923006 C9.40729003,2.80858618 3.56375447,8.40433792 3.56375447,8.40433792 C3.56375447,8.40433792 3.18087497,8.6195776 2.8145585,8.40433792 C2.44856365,8.04006157 0.00173690497,5.37467163 0.00173690497,5.37467163 C0.00173690497,5.37467163 -0.0653192697,4.72911252 0.633865976,4.59654663 Z" id="路径" fill="#5AD8A6"></path>
|
|
11
|
-
</g>
|
|
12
|
-
</g>
|
|
13
|
-
</g>
|
|
14
|
-
</g>
|
|
15
|
-
</g>
|
|
16
|
-
</svg>
|
|
1
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M4.634 8.597l2.414 1.854s.133.066.3 0l5.943-4.936s.847-.18.69.714c-.574.58-6.417 6.175-6.417 6.175s-.383.216-.75 0c-.365-.364-2.812-3.03-2.812-3.03s-.067-.645.632-.777z" fill="#5AD8A6" fill-rule="nonzero"/></svg>
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<title>不建议</title>
|
|
4
|
-
<defs>
|
|
5
|
-
<circle id="path-1" cx="8" cy="8" r="4"></circle>
|
|
6
|
-
<filter x="-78.1%" y="-78.1%" width="256.2%" height="256.2%" filterUnits="objectBoundingBox" id="filter-2">
|
|
7
|
-
<feMorphology radius="0.25" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
|
|
8
|
-
<feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
|
|
9
|
-
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
|
10
|
-
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite>
|
|
11
|
-
<feColorMatrix values="0 0 0 0 0.964705882 0 0 0 0 0.741176471 0 0 0 0 0.0862745098 0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
|
12
|
-
</filter>
|
|
13
|
-
</defs>
|
|
14
|
-
<g id="创建OKR" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
15
|
-
<g id="激活-关键成果" transform="translate(-1011.000000, -466.000000)">
|
|
16
|
-
<g id="单行" transform="translate(976.000000, 129.000000)">
|
|
17
|
-
<g id="编组-12" transform="translate(23.000000, 267.000000)">
|
|
18
|
-
<g id="不建议" transform="translate(13.000000, 71.000000)">
|
|
19
|
-
<circle id="椭圆形" fill="#F6BD16" opacity="0.08" cx="8" cy="8" r="8"></circle>
|
|
20
|
-
<g id="椭圆形">
|
|
21
|
-
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
|
|
22
|
-
<use stroke="#FFFFFF" stroke-width="0.5" fill="#F6BD16" fill-rule="evenodd" xlink:href="#path-1"></use>
|
|
23
|
-
</g>
|
|
24
|
-
</g>
|
|
25
|
-
</g>
|
|
26
|
-
</g>
|
|
27
|
-
</g>
|
|
28
|
-
</g>
|
|
29
|
-
</svg>
|
|
1
|
+
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M9 8.317l3.246-3.246a.242.242 0 0 1 .342 0l.341.341a.242.242 0 0 1 0 .342L9.683 9l3.246 3.246a.242.242 0 0 1 0 .342l-.341.341a.242.242 0 0 1-.342 0L9 9.683 5.754 12.93a.242.242 0 0 1-.342 0l-.341-.341a.242.242 0 0 1 0-.342L8.317 9 5.07 5.754a.242.242 0 0 1 0-.342l.341-.341a.242.242 0 0 1 .342 0L9 8.317z" fill="#F05E5E" fill-rule="nonzero"/></svg>
|
|
@@ -15,11 +15,11 @@ Microsoft YaHei;
|
|
|
15
15
|
display: flex;
|
|
16
16
|
justify-content: center;
|
|
17
17
|
align-items: center;
|
|
18
|
-
z-index: 1299
|
|
18
|
+
z-index: 1299;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.rc-dialog-mask {
|
|
22
|
-
z-index: 1299
|
|
22
|
+
z-index: 1299;
|
|
23
23
|
background: rgba(20, 28, 40, 0.7) !important;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -137,12 +137,11 @@ const DynamicItemHeader: FC<IDynamicItemHeaderProps> = ({
|
|
|
137
137
|
<DialogConfirm visible={showDialogConfirm} type="warning">
|
|
138
138
|
{/* @ts-ignore */}
|
|
139
139
|
<span type="title">
|
|
140
|
-
|
|
140
|
+
{feedType === EFeedType.Share ? getLocale('OKR_MyO_Err_Delesh') : getLocale('OKR_MyO_Err_Delepost')}
|
|
141
141
|
</span>
|
|
142
142
|
{/* @ts-ignore */}
|
|
143
143
|
<span type="content">
|
|
144
|
-
|
|
145
|
-
将被删除不可恢复,请谨慎操作!
|
|
144
|
+
{feedType === EFeedType.Share ? getLocale('OKR_MyO_Err_Deleshre') : getLocale('OKR_MyO_Err_Delepostsu')}
|
|
146
145
|
</span>
|
|
147
146
|
<CancelButton type="button" onClick={cancelDeleteDynamic}>
|
|
148
147
|
{getLocale('Mod_Cancel')}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { getLocale } from '../../../../utils/getLocale';
|
|
4
|
+
import Tooltip from '../../../tooltip';
|
|
4
5
|
import './index.scss';
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
@@ -28,7 +29,9 @@ export default (props: Props) => {
|
|
|
28
29
|
return <div className={classNames(`${preCls}__input`)} onClick={onClick}>
|
|
29
30
|
{!duties ?
|
|
30
31
|
<span className={classNames(`${preCls}__input--placeholder`)}>{placeholder}</span> :
|
|
31
|
-
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
<Tooltip.Text text={ duties.name } isPercent />
|
|
34
|
+
|
|
32
35
|
}
|
|
33
36
|
{duties && <span className={classNames(`tu-icon-cross ${preCls}__input--clear`)} onClick={onHandleClear}></span>}
|
|
34
37
|
<span className={classNames(`${preCls}__input--down tu-icon-sort-down`)}></span>
|
|
@@ -12,13 +12,12 @@ interface IProps {
|
|
|
12
12
|
|
|
13
13
|
const KeywordSearch = (props: IProps) => {;
|
|
14
14
|
const { onSearch } = props;
|
|
15
|
-
const inputRef = useRef();
|
|
15
|
+
const inputRef = useRef<any>();
|
|
16
16
|
const [active, setActive] = useState(false);
|
|
17
17
|
const [keyword, setKeyword] = useState('');
|
|
18
18
|
const handleSearchClick = () => {
|
|
19
19
|
if(!active) {
|
|
20
20
|
setActive(true);
|
|
21
|
-
//@ts-ignore
|
|
22
21
|
inputRef?.current?.focus();
|
|
23
22
|
} else {
|
|
24
23
|
handleSearch()
|
|
@@ -40,7 +39,9 @@ const KeywordSearch = (props: IProps) => {;
|
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
const clearKeyword = (e) =>{
|
|
43
|
-
setKeyword('')
|
|
42
|
+
setKeyword('');
|
|
43
|
+
inputRef?.current?.focus();
|
|
44
|
+
onSearch && onSearch({keyWords: ''});
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
return <div className={classnames(precls, {[`${precls}--active`]: active})}>
|
|
@@ -154,9 +154,9 @@ export default forwardRef((props: Props, ref) => {
|
|
|
154
154
|
const el = scrollArea?.getScrollElement();
|
|
155
155
|
if (el && el.scrollHeight > el.offsetHeight) {
|
|
156
156
|
if (el.scrollHeight - el.offsetHeight == el.scrollTop) {
|
|
157
|
-
|
|
157
|
+
setShowMore(false);
|
|
158
158
|
} else {
|
|
159
|
-
|
|
159
|
+
setShowMore(true);
|
|
160
160
|
}
|
|
161
161
|
} else {
|
|
162
162
|
setShowMore(false);
|
|
@@ -294,7 +294,7 @@ export default forwardRef((props: Props, ref) => {
|
|
|
294
294
|
<div
|
|
295
295
|
className={`${preCls}__has-more`}
|
|
296
296
|
onClick={onClickShowMore}
|
|
297
|
-
|
|
297
|
+
/>
|
|
298
298
|
)}
|
|
299
299
|
</div>
|
|
300
300
|
</div>
|
|
@@ -23,7 +23,7 @@ const AppraisalMenus = (props: Props) => {
|
|
|
23
23
|
const { onSelect = () => { }, history } = props;
|
|
24
24
|
|
|
25
25
|
const [maxHeight, setMaxHeight] = useState<number>(() => {
|
|
26
|
-
return document.body.offsetHeight -
|
|
26
|
+
return document.body.offsetHeight - 150;
|
|
27
27
|
});
|
|
28
28
|
const [selectedMenuKeys, setSelectedMenuKeys] = useState<string[]>([]);
|
|
29
29
|
|
|
@@ -75,7 +75,7 @@ const AppraisalMenus = (props: Props) => {
|
|
|
75
75
|
const obs = new ResizeObserver(entries => {
|
|
76
76
|
for (let entry of entries) {
|
|
77
77
|
const cr = entry.contentRect;
|
|
78
|
-
setMaxHeight(cr.height -
|
|
78
|
+
setMaxHeight(cr.height - 150);
|
|
79
79
|
}
|
|
80
80
|
})
|
|
81
81
|
obs.observe(document.body);
|
|
@@ -53,7 +53,7 @@ export default () => {
|
|
|
53
53
|
|
|
54
54
|
// 因为要实现虚拟列表的功能,所有要动态的计算出一个菜单的高度
|
|
55
55
|
useEffect(() => {
|
|
56
|
-
setHeight(document.body.offsetHeight -
|
|
56
|
+
setHeight(document.body.offsetHeight - 164);
|
|
57
57
|
}, [])
|
|
58
58
|
|
|
59
59
|
useEffect(() => {
|
|
@@ -93,7 +93,7 @@ export default () => {
|
|
|
93
93
|
const obs = new ResizeObserver(entries => {
|
|
94
94
|
for (let entry of entries) {
|
|
95
95
|
const cr = entry.contentRect;
|
|
96
|
-
setHeight(cr.height -
|
|
96
|
+
setHeight(cr.height - 164);
|
|
97
97
|
}
|
|
98
98
|
})
|
|
99
99
|
obs.observe(document.body);
|
|
@@ -32,7 +32,7 @@ export default forwardRef((props: Props, ref) => {
|
|
|
32
32
|
} = props;
|
|
33
33
|
|
|
34
34
|
const [maxHeight, setMaxHeight] = useState<number>(() => {
|
|
35
|
-
return document.body.offsetHeight -
|
|
35
|
+
return document.body.offsetHeight - 198;
|
|
36
36
|
});
|
|
37
37
|
const [expandedKeys, setExpandedKeys] = useState(['myokr']);
|
|
38
38
|
const [selectedMenuKeys, setSelectedMenuKeys] = useState<string[]>([]);
|
|
@@ -159,7 +159,7 @@ export default forwardRef((props: Props, ref) => {
|
|
|
159
159
|
const obs = new ResizeObserver(entries => {
|
|
160
160
|
for (let entry of entries) {
|
|
161
161
|
const cr = entry.contentRect;
|
|
162
|
-
setMaxHeight(cr.height -
|
|
162
|
+
setMaxHeight(cr.height - 198);
|
|
163
163
|
}
|
|
164
164
|
})
|
|
165
165
|
obs.observe(document.body);
|
|
@@ -377,8 +377,10 @@ const BaseInfo: FC<IBaseInfoProps> = ({ okrId }) => {
|
|
|
377
377
|
<DialogConfirm visible={showDialogConfirm} type="warning">
|
|
378
378
|
{/* @ts-ignore */}
|
|
379
379
|
<span type="title">
|
|
380
|
-
|
|
381
|
-
|
|
380
|
+
{delUserType === 1
|
|
381
|
+
? getLocale("OKR_MyO_Err_Delepar")
|
|
382
|
+
: getLocale("OKR_MyO_Err_Delefol")}
|
|
383
|
+
?
|
|
382
384
|
</span>
|
|
383
385
|
<CancelButton type="button" onClick={cancelDelPerson}>
|
|
384
386
|
{getLocale("Mod_Cancel")}
|
|
@@ -59,7 +59,7 @@ const Principal: FC<IPrincipalProps> = ({user, onChangeUser, canEdit = false}) =
|
|
|
59
59
|
ref={popConfirmRef}
|
|
60
60
|
showArrow={false}
|
|
61
61
|
style={{ width: 300 }}
|
|
62
|
-
title=
|
|
62
|
+
title={getLocale('OKR_MyO_Err_Transfer')}
|
|
63
63
|
onCancel={cancelHandler}
|
|
64
64
|
onConfirm={confirmHandler}
|
|
65
65
|
>
|
|
@@ -5,6 +5,7 @@ import UserSelector from "../../../user-selector";
|
|
|
5
5
|
import { GeneralDataContext } from "../../context";
|
|
6
6
|
import { updateOkrPrincipal } from "../../request-apis";
|
|
7
7
|
import PopConfirm from "../../../../components-v1/popConfirm";
|
|
8
|
+
import { getLocale } from "../../../../utils/getLocale";
|
|
8
9
|
|
|
9
10
|
interface IProps {
|
|
10
11
|
editable: boolean;
|
|
@@ -79,7 +80,7 @@ const OAvatar = (props: IProps) => {
|
|
|
79
80
|
ref={popConfirmRef}
|
|
80
81
|
showArrow={false}
|
|
81
82
|
style={{ width: 300 }}
|
|
82
|
-
title=
|
|
83
|
+
title={getLocale('OKR_MyO_Err_Transfer')}
|
|
83
84
|
onCancel={cancelHandler}
|
|
84
85
|
onConfirm={confirmHandler}
|
|
85
86
|
>
|
|
@@ -91,8 +91,10 @@ const OScore = (props: IOScoreProps) => {
|
|
|
91
91
|
onClose={handleCancel}
|
|
92
92
|
onOk={handleOk}
|
|
93
93
|
onCancel={handleCancel}
|
|
94
|
+
getContainer={() => document.body}
|
|
94
95
|
noHeadLine
|
|
95
96
|
noFooterLine
|
|
97
|
+
zIndex={1310}
|
|
96
98
|
>
|
|
97
99
|
<div ref={formContainerRef} className={`${preCls}__form`}>
|
|
98
100
|
<Form
|
|
@@ -100,7 +100,7 @@ const EditChildOkrWeight = (props: IProps) => {
|
|
|
100
100
|
<span className={`${precls}__item-precls`} />
|
|
101
101
|
<div className={`${precls}__item-name`}>{item.workName}</div>
|
|
102
102
|
<div className={`${precls}__item-weight`}>
|
|
103
|
-
<span className={`${precls}__item-weight-label`}
|
|
103
|
+
<span className={`${precls}__item-weight-label`}>{getLocale('OKR_MyO_Err_Weights')}</span>
|
|
104
104
|
<WeightInput
|
|
105
105
|
workId={item.workId}
|
|
106
106
|
value={item.pweight}
|
|
@@ -113,7 +113,7 @@ const EditChildOkrWeight = (props: IProps) => {
|
|
|
113
113
|
</Dialog>
|
|
114
114
|
<DialogConfirm zIndex={1299} visible={showDialogConfirm} type="warning" className={`${precls}__confirm`}>
|
|
115
115
|
{/* @ts-ignore */}
|
|
116
|
-
<span type="title"
|
|
116
|
+
<span type="title">{getLocale('OKR_MyO_Err_Delefocus')}</span>
|
|
117
117
|
<CancelButton type="button" onClick={closeDialogConfirm}>
|
|
118
118
|
{getLocale('Mod_Cancel')}
|
|
119
119
|
</CancelButton>
|
|
@@ -94,10 +94,10 @@ function OkrDetailHeader({ detailInfo }: Props): ReactElement {
|
|
|
94
94
|
},
|
|
95
95
|
onChangeOkrFollow: async (follow: boolean) => {
|
|
96
96
|
const res = await openOkrHeaderConfirm(
|
|
97
|
-
follow ?
|
|
97
|
+
follow ? getLocale('OKR_MyO_Err_Focuson') : getLocale('OKR_MyO_Err_Unfollow'),
|
|
98
98
|
follow
|
|
99
|
-
?
|
|
100
|
-
:
|
|
99
|
+
? getLocale('OKR_MyO_Err_Payatten')
|
|
100
|
+
: getLocale('OKR_MyO_Err_Progress')
|
|
101
101
|
);
|
|
102
102
|
if (res) {
|
|
103
103
|
follow
|
|
@@ -114,7 +114,7 @@ function OkrDetailHeader({ detailInfo }: Props): ReactElement {
|
|
|
114
114
|
},
|
|
115
115
|
onFinishOrReOpen: async (isFinish: boolean) => {
|
|
116
116
|
const res = await openOkrHeaderConfirm(
|
|
117
|
-
isFinish ? getLocale('OKR_MyO_Areycloseobjective') :
|
|
117
|
+
isFinish ? getLocale('OKR_MyO_Areycloseobjective') : getLocale('OKR_MyO_Err_Restart')
|
|
118
118
|
);
|
|
119
119
|
if (res) {
|
|
120
120
|
isFinish
|
|
@@ -127,8 +127,8 @@ function OkrDetailHeader({ detailInfo }: Props): ReactElement {
|
|
|
127
127
|
},
|
|
128
128
|
onQuit: async () => {
|
|
129
129
|
const res = await openOkrHeaderConfirm(
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
getLocale('OKR_MyO_Err_Quit'),
|
|
131
|
+
getLocale('OKR_MyO_Err_Inchargec')
|
|
132
132
|
);
|
|
133
133
|
if (res) {
|
|
134
134
|
await deleteUser(loginUserId, detailInfo.workId, 2);
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import Tooltip from "../../../../tooltip"
|
|
2
3
|
import './index.scss';
|
|
3
4
|
|
|
4
5
|
export default props => {
|
|
5
6
|
const { data } = props;
|
|
6
7
|
return <div className="perspm-duties">
|
|
7
8
|
<span className="perspm-duties__name" title="">
|
|
8
|
-
<span>
|
|
9
|
+
<span>
|
|
10
|
+
<Tooltip.Text text={data.name} isPercent />
|
|
11
|
+
</span>
|
|
9
12
|
</span>
|
|
10
13
|
</div>
|
|
11
14
|
}
|
|
File without changes
|
|
Binary file
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
height: 100vh;
|
|
4
4
|
background: #f0f4fa;
|
|
5
|
+
overflow: hidden;
|
|
5
6
|
|
|
6
7
|
&__header {
|
|
7
8
|
height: 54px;
|
|
@@ -27,13 +28,31 @@
|
|
|
27
28
|
&__kefu {
|
|
28
29
|
width: 42px;
|
|
29
30
|
height: 42px;
|
|
30
|
-
background: url('./kefu.svg') no-repeat;
|
|
31
|
+
background: url('./img/kefu.svg') no-repeat;
|
|
31
32
|
background-size: 42px;
|
|
32
33
|
box-shadow: 0px 4px 12px 0px rgba(127, 145, 180, 0.2);
|
|
33
34
|
cursor: pointer;
|
|
34
35
|
border-radius: 50%;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
&__notice {
|
|
38
|
+
width: 42px;
|
|
39
|
+
height: 42px;
|
|
40
|
+
background: linear-gradient(180deg, #4E90FF 0%, #2879FF 100%);
|
|
41
|
+
box-shadow: 0px 4px 12px 0px rgba(40, 121, 255, 0.3), inset 0px 0px 6px 2px rgba(255, 255, 255, 0.5);
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
border-radius: 50%;
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
position: absolute;
|
|
48
|
+
bottom: 36px;
|
|
49
|
+
right: 24px;
|
|
50
|
+
z-index: 2;
|
|
51
|
+
img {
|
|
52
|
+
width: 32px;
|
|
53
|
+
height: 42px;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
37
56
|
&__help {
|
|
38
57
|
position: absolute;
|
|
39
58
|
bottom: 20px;
|
|
@@ -45,7 +64,6 @@
|
|
|
45
64
|
display: flex;
|
|
46
65
|
height: calc(100vh - 74px);
|
|
47
66
|
padding: 0 16px;
|
|
48
|
-
overflow: hidden;
|
|
49
67
|
|
|
50
68
|
&-menu {
|
|
51
69
|
position: relative;
|
|
@@ -42,6 +42,7 @@ const PageLayout = (props) => {
|
|
|
42
42
|
|
|
43
43
|
const isTrial =
|
|
44
44
|
window.BSGlobal.tenantAuthentication.Version == 1 && isOfficialSite();
|
|
45
|
+
const isTencentHr = window.BSGlobal.tenantInfo.Source == 964;
|
|
45
46
|
|
|
46
47
|
const onClickKefu = () => {
|
|
47
48
|
const kefuUrl = isTrial
|
|
@@ -50,6 +51,11 @@ const PageLayout = (props) => {
|
|
|
50
51
|
window.open(kefuUrl);
|
|
51
52
|
};
|
|
52
53
|
|
|
54
|
+
const onClickNotice = () => {
|
|
55
|
+
const url = `//${location.host}/u/${window.BSGlobal.loginUserInfo.Id}/Home#more/messages?messageType=1&isRead=2&messageSubNav=1`
|
|
56
|
+
window.open(url)
|
|
57
|
+
}
|
|
58
|
+
|
|
53
59
|
return (
|
|
54
60
|
<div className={classNames(preCls)}>
|
|
55
61
|
<div className={classNames(`${preCls}__header`)}>
|
|
@@ -59,10 +65,10 @@ const PageLayout = (props) => {
|
|
|
59
65
|
<FollowerVisitor />
|
|
60
66
|
</div>
|
|
61
67
|
<div className={classNames(`${preCls}__body`)}>{children}</div>
|
|
62
|
-
<div className={classNames(`${preCls}__help`)}>
|
|
68
|
+
{!isTencentHr && <div className={classNames(`${preCls}__help`)}>
|
|
63
69
|
<HelpCard />
|
|
64
|
-
</div>
|
|
65
|
-
{!isTrial && (
|
|
70
|
+
</div>}
|
|
71
|
+
{!isTrial && !isTencentHr && (
|
|
66
72
|
<Tooltip
|
|
67
73
|
overlay={"联系客服"}
|
|
68
74
|
placement="left"
|
|
@@ -74,11 +80,19 @@ const PageLayout = (props) => {
|
|
|
74
80
|
/>
|
|
75
81
|
</Tooltip>
|
|
76
82
|
)}
|
|
77
|
-
{isTrial && (
|
|
83
|
+
{isTrial && !isTencentHr &&(
|
|
78
84
|
<div className={`${preCls}__invite`}>
|
|
79
85
|
<InvitePeople />
|
|
80
86
|
</div>
|
|
81
87
|
)}
|
|
88
|
+
{isTencentHr && (
|
|
89
|
+
<div
|
|
90
|
+
className={classNames(`${preCls}__notice`)}
|
|
91
|
+
onClick={onClickNotice}
|
|
92
|
+
>
|
|
93
|
+
<img src={require('./img/notice.png')}/>
|
|
94
|
+
</div>
|
|
95
|
+
)}
|
|
82
96
|
<PointDemo />
|
|
83
97
|
</div>
|
|
84
98
|
);
|
|
@@ -35,10 +35,10 @@ export default props => {
|
|
|
35
35
|
visible={visible}
|
|
36
36
|
>
|
|
37
37
|
<div className={classNames(`${preCls}__dialog-dele-group-title`)} >
|
|
38
|
-
<span className="tu-icon-tishi"/><span className={classNames(`${preCls}__dialog-dele-group-title-text`)}
|
|
38
|
+
<span className="tu-icon-tishi"/><span className={classNames(`${preCls}__dialog-dele-group-title-text`)}>{getLocale('OKR_MyO_Err_Delegroup')}</span>
|
|
39
39
|
</div>
|
|
40
40
|
<div className={classNames(`${preCls}__dialog-dele-group-subtitle`)}>
|
|
41
|
-
|
|
41
|
+
{getLocale('OKR_MyO_Err_Remove')}
|
|
42
42
|
</div>
|
|
43
43
|
<div className={classNames(`${preCls}__dialog-dele-group-footer`)}>
|
|
44
44
|
<div type="button" className="btn btn-default" key="close" onClick={() => setVisible(false)}>
|
|
@@ -144,10 +144,10 @@ const LikeRanking: FC = () => {
|
|
|
144
144
|
};
|
|
145
145
|
|
|
146
146
|
const handleLinkToPraiseRaking = () => {
|
|
147
|
-
window.history.go(-1)
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
// window.history.go(-1)
|
|
148
|
+
let href = window.location.href;
|
|
149
|
+
let url = `${href.split("#")[0]}#dynamic`;
|
|
150
|
+
window.open(url, "self");
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
return (
|
|
@@ -5,7 +5,7 @@ import Dialog from '../../../components/dialog';
|
|
|
5
5
|
import preCls from '../precls';
|
|
6
6
|
import { getShareUrl } from '../request-apis';
|
|
7
7
|
import { getLocale } from '../../../utils/getLocale';
|
|
8
|
-
import Toast from '
|
|
8
|
+
import Toast from '../../../components/toast';
|
|
9
9
|
|
|
10
10
|
import './index.scss';
|
|
11
11
|
|