@titaui/pc 1.9.51 → 1.9.52
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 +1 -1
- package/lib/components/change-okr-modal/Item.js +1 -1
- package/lib/components/change-okr-modal/filterTab.js +1 -1
- package/lib/components/change-okr-modal/index.js +1 -1
- package/lib/components/communication/CommunicationAttachments.js +1 -1
- package/lib/components/communication/ConvertUserName.js +1 -1
- package/lib/components/communication/index.js +1 -1
- package/lib/components/create-okr-modal/objectType.js +1 -1
- package/lib/components/date-picker/BodyItem.js +1 -1
- package/lib/components/date-picker/CalendarBody.js +1 -1
- package/lib/components/date-picker/CalendarHeader.js +1 -1
- package/lib/components/date-picker/index.js +1 -1
- package/lib/components/date-range-picker/index.js +1 -1
- package/lib/components/delete-confirm-pop/ConfirmPop.js +1 -1
- package/lib/components/eReport/eReportListEmpty.js +1 -1
- package/lib/components/eReport/eReportLists/reportList.js +1 -1
- package/lib/components/eReport/eReportShare/index.js +1 -1
- package/lib/components/eReport/eReportShare/toast/index.js +1 -1
- package/lib/components/edit-kr-wight/EditKrWightModal.js +1 -1
- package/lib/components/edit-kr-wight/FormItemV2.js +1 -1
- package/lib/components/emotions-selector/selector-content.js +1 -1
- package/lib/components/emotions-selector/selector-pop.js +1 -1
- package/lib/components/ereport-list/index.js +1 -1
- package/lib/components/error-boundary/index.js +1 -1
- package/lib/components/hr-header/{arrow.png → img/arrow.png} +0 -0
- package/lib/components/hr-header/img/notice.png +0 -0
- package/lib/components/hr-header/index.css +21 -0
- package/lib/components/hr-header/index.js +2 -2
- package/lib/components/mblog/components/ConfirmPop.js +1 -1
- package/lib/components/mblog/components/MblogAction.js +2 -11
- package/lib/components/mblog/components/MblogContent.js +1 -1
- package/lib/components/mblog/index.js +1 -1
- package/lib/components/nav-top/components/user-message/hrMessage.js +203 -0
- package/lib/components/nav-top/components/user-message/images/notice.png +0 -0
- package/lib/components/nav-top/components/user-message/index.css +87 -0
- package/lib/components/nav-top/components/user-message/msg/index.js +11 -9
- package/lib/components/okr-detail/auth.js +1 -1
- package/lib/components/okr-detail/components/base-okr-type/confirm/buttonv2.js +1 -1
- package/lib/components/okr-detail/components/base-okr-type/confirm/confirm.js +1 -1
- package/lib/components/okr-detail/components/base-okr-type/object-type.js +1 -1
- package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.js +1 -1
- package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/kr-push-score.js +1 -1
- package/lib/components/okr-review/ReviewPop/components/ReviewBody/index.js +1 -1
- package/lib/components/okr-review/ReviewPop/components/Toast/index.js +1 -1
- package/lib/components/okr-review/ReviewPop/index.js +1 -1
- package/lib/components/okr-review/components/ReviewItem/index.js +1 -1
- package/lib/components/okr-review/components/confirm-pop/ConfirmPop.js +1 -1
- package/lib/components/okr-review/index.js +1 -1
- package/lib/components/operation-records/OperationRecordItem.js +1 -1
- package/lib/components/operation-records/index.js +1 -1
- package/lib/components/point-demo/input/index.js +1 -1
- package/lib/components/praise-record/PraiseRecordItem.js +1 -1
- package/lib/components/praise-record/index.js +1 -1
- package/lib/components/range-picker-pop/index.js +1 -1
- package/lib/components/range-selector-pop/RangeList.js +1 -1
- package/lib/components/range-selector-pop/RangeSelectorPop.js +1 -1
- package/lib/components/select/Option.js +1 -1
- package/lib/components/select/index.js +1 -1
- package/lib/components/tita-chart/errorBoundary/index.js +1 -1
- package/lib/components/upload/components/uploadedPreview.js +1 -1
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload-photo-modal/index.js +1 -1
- package/lib/components/viewer/ImageListRender.js +1 -1
- package/lib/components/viewer/index.js +1 -1
- package/lib/components-v1/animate/AnimateChild.js +1 -1
- package/lib/components-v1/animate/animate.js +1 -1
- package/lib/components-v1/avatar/index.js +1 -1
- package/lib/components-v1/buttonv2/ButtonOutlined.js +1 -1
- package/lib/components-v1/buttonv2/ButtonRounded.js +1 -1
- package/lib/components-v1/buttonv2/DefaultButton.js +1 -1
- package/lib/components-v1/confirm/index.js +1 -1
- package/lib/components-v1/dropDownSelector/StatelessDropdown.js +1 -1
- package/lib/components-v1/dropDownSelector/dropDownSelector.js +1 -1
- package/lib/components-v1/input/Input.js +1 -1
- package/lib/components-v1/input/InputNumber.js +1 -1
- package/lib/components-v1/placement/placement.js +1 -1
- package/lib/components-v1/placement/placementInner.js +1 -1
- package/lib/components-v1/pop/Pop.js +1 -1
- package/lib/components-v1/pop/PopInner.js +1 -1
- package/lib/components-v1/portals/Portals.js +1 -1
- package/lib/components-v1/progress/CircleProgress.js +1 -1
- package/lib/components-v1/progress/LineProgress.js +1 -1
- package/lib/components-v1/progress/index.js +1 -1
- package/lib/components-v1/radio/radio.js +1 -1
- package/lib/components-v1/radio/radioGroup.js +1 -1
- package/lib/components-v1/search/index.js +1 -1
- package/lib/components-v1/select/Option.js +1 -1
- package/lib/components-v1/select/index.js +1 -1
- package/lib/components-v1/tabs/index.js +1 -1
- package/lib/components-v1/textarea/index.js +1 -1
- package/lib/components-v1/transition/index.js +1 -1
- package/lib/components-v1/userSelector/UserSelectorPop.js +1 -1
- package/lib/components-v1/userSelector/components/MultiMode/CommonList.js +1 -1
- package/lib/components-v1/userSelector/components/MultiMode/DepartmentList.js +1 -1
- package/lib/components-v1/userSelector/components/MultiMode/DepartmentTree.js +1 -1
- package/lib/components-v1/userSelector/components/MultiMode/SubsList.js +1 -1
- package/lib/components-v1/userSelector/components/MultiMode/index.js +1 -1
- package/lib/components-v1/userSelector/components/SearchBar.js +1 -1
- package/lib/components-v1/userSelector/components/SingleMode.js +1 -1
- package/lib/components-v1/userSelector/components/UserItem.js +1 -1
- package/lib/components-v1/userSelector/index.js +1 -1
- package/lib/pages/aha2021/index.js +3 -6
- package/lib/pages/appointment-demo/input/index.js +1 -1
- package/lib/pages/group-management/components/input-form/index.js +1 -1
- package/lib/utils/auth.js +1 -1
- package/package.json +1 -1
- package/src/components/hr-header/{arrow.png → img/arrow.png} +0 -0
- package/src/components/hr-header/img/notice.png +0 -0
- package/src/components/hr-header/index.scss +19 -0
- package/src/components/hr-header/index.tsx +2 -2
- package/src/components/mblog/components/MblogAction.tsx +2 -2
- package/src/components/nav-top/components/user-message/hrMessage.tsx +136 -0
- package/src/components/nav-top/components/user-message/images/notice.png +0 -0
- package/src/components/nav-top/components/user-message/index.scss +81 -0
- package/src/components/nav-top/components/user-message/msg/index.tsx +85 -48
- package/src/components/upload-photo-modal/index.tsx +1 -1
- package/src/pages/aha2021/index.tsx +2 -6
- package/yarn-error.log +15807 -16
|
@@ -23,7 +23,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
23
23
|
|
|
24
24
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
25
25
|
|
|
26
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); }
|
|
26
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
27
27
|
|
|
28
28
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
29
29
|
|
package/lib/utils/auth.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.hasSuperior = exports.OAuth = exports.KRAuth = exports.EAuth = exports.D
|
|
|
9
9
|
|
|
10
10
|
var _bsGlobal = require("./bs-global");
|
|
11
11
|
|
|
12
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); }
|
|
12
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
13
13
|
|
|
14
14
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
15
|
|
package/package.json
CHANGED
|
File without changes
|
|
Binary file
|
|
@@ -46,6 +46,25 @@
|
|
|
46
46
|
transition: transform .2s ease;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
&__notice {
|
|
50
|
+
width: 42px;
|
|
51
|
+
height: 42px;
|
|
52
|
+
background: linear-gradient(180deg, #4E90FF 0%, #2879FF 100%);
|
|
53
|
+
box-shadow: 0px 4px 12px 0px rgba(40, 121, 255, 0.3), inset 0px 0px 6px 2px rgba(255, 255, 255, 0.5);
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
border-radius: 50%;
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
position: absolute;
|
|
60
|
+
bottom: 36px;
|
|
61
|
+
right: 24px;
|
|
62
|
+
z-index: 2;
|
|
63
|
+
img {
|
|
64
|
+
width: 32px;
|
|
65
|
+
height: 42px;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
49
68
|
}
|
|
50
69
|
.tencent-hr-header-popup {
|
|
51
70
|
position: relative;
|
|
@@ -88,7 +88,7 @@ function HrHeader({}: Props): ReactElement {
|
|
|
88
88
|
<div key='more' className={classNames(preCls + '__item')}>
|
|
89
89
|
<a>更多</a>
|
|
90
90
|
<img
|
|
91
|
-
src={require('./arrow.png')}
|
|
91
|
+
src={require('./img/arrow.png')}
|
|
92
92
|
style={{ transform: `rotate(${isShowMore ? 180 : 0}deg)` }}
|
|
93
93
|
/>
|
|
94
94
|
</div>
|
|
@@ -107,7 +107,7 @@ function HrHeader({}: Props): ReactElement {
|
|
|
107
107
|
>
|
|
108
108
|
<span className={preCls + '__user'}>
|
|
109
109
|
{getLoginUserInfo().Name}
|
|
110
|
-
<img src={require('./arrow.png')} style={{ transform: `rotate(${isShowUserMenu ? 180 : 0}deg)` }}/>
|
|
110
|
+
<img src={require('./img/arrow.png')} style={{ transform: `rotate(${isShowUserMenu ? 180 : 0}deg)` }}/>
|
|
111
111
|
</span>
|
|
112
112
|
</Popup>
|
|
113
113
|
</div>
|
|
@@ -205,14 +205,14 @@ export default class MblogAction extends PureComponent<Props> {
|
|
|
205
205
|
)}
|
|
206
206
|
</LeftBtnGroupWrapper>
|
|
207
207
|
<RightBtnGroupWrapper className="action__right">
|
|
208
|
-
{this.props.isShowSendSms && !isLocal() && (
|
|
208
|
+
{/* {this.props.isShowSendSms && !isLocal() && (
|
|
209
209
|
<Tooltip container={document.body} content={this.props.sendSmsTipText}>
|
|
210
210
|
<RightBtn onMouseDown={this._sentMsgClickHandler}>
|
|
211
211
|
<span className={['checkbox-icon', isSendSms ? 'tu-icon-check-active' : 'tu-icon-xuan'].join(' ')}></span>
|
|
212
212
|
<span>{getLocale('Mod_SMS')}</span>
|
|
213
213
|
</RightBtn>
|
|
214
214
|
</Tooltip>
|
|
215
|
-
)}
|
|
215
|
+
)} */}
|
|
216
216
|
{
|
|
217
217
|
this.props.isShowRange && (
|
|
218
218
|
<BtnPrivate id="1" data-name="range" className={disableRangeSelect ? 'disabled' : ''} disabled={disableRangeSelect}>
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import Popup from '../../../popup';
|
|
4
|
+
import ConditionRender from '../../../condition-render';
|
|
5
|
+
import Message from './msg';
|
|
6
|
+
import { getBSGlobal, getUserInfo } from '../../../../utils/bs-global';
|
|
7
|
+
import { popupAlign } from './constant';
|
|
8
|
+
import RedPack from './components/red-pack';
|
|
9
|
+
import { getMessages } from '../../request.apis';
|
|
10
|
+
import Bell from './images/bell@3x.png';
|
|
11
|
+
import './index.scss';
|
|
12
|
+
|
|
13
|
+
const prefixCls = 'titaui-user-message';
|
|
14
|
+
|
|
15
|
+
const HrMessage = () => {
|
|
16
|
+
const [ infosNum, setInfosNum ] = useState(0);
|
|
17
|
+
const [ allData, setAllData ] = useState([]);
|
|
18
|
+
const [ redPackNum, setRedPackNum ] = useState(0);
|
|
19
|
+
const [ popupVisible, setPopupVisible ] = useState(false);
|
|
20
|
+
const [ preData, setPreData ] = useState(0);
|
|
21
|
+
const [ firstTab, setFirstTab ] = useState('todos');
|
|
22
|
+
|
|
23
|
+
const handleShowInfos = () => {
|
|
24
|
+
setPopupVisible(true);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const handleIntervalRequestMessageInfo = () => {
|
|
28
|
+
getMessages().then((res) => {
|
|
29
|
+
if (res.Code === 1) {
|
|
30
|
+
setAllData(res.Data.indicators);
|
|
31
|
+
const indicators = res.Data.indicators;
|
|
32
|
+
const todos = indicators.find((item) => item.type === 'todoIndicator');
|
|
33
|
+
const informs = indicators.find((item) => item.type === 'messageIndicator');
|
|
34
|
+
const replys = indicators.find((item) => item.type === 'mLeaveandComment');
|
|
35
|
+
const reminds = indicators.find((item) => item.type === 'Tx');
|
|
36
|
+
let total = 0;
|
|
37
|
+
// @与回复的数量在通知里面包含了
|
|
38
|
+
if (reminds && reminds.value) {
|
|
39
|
+
total += reminds.value;
|
|
40
|
+
}
|
|
41
|
+
if (informs) {
|
|
42
|
+
total += informs.value;
|
|
43
|
+
}
|
|
44
|
+
if (todos) {
|
|
45
|
+
total += todos.value;
|
|
46
|
+
}
|
|
47
|
+
setPreData(infosNum);
|
|
48
|
+
setInfosNum(total);
|
|
49
|
+
if (todos && todos.value) {
|
|
50
|
+
setFirstTab('todos');
|
|
51
|
+
} else if (informs && !replys && informs.value) {
|
|
52
|
+
setFirstTab('informs');
|
|
53
|
+
} else if (replys && informs.value - replys.value === 0) {
|
|
54
|
+
setFirstTab('replys');
|
|
55
|
+
} else if (replys && informs.value - replys.value > 0) {
|
|
56
|
+
setFirstTab('informs');
|
|
57
|
+
} else if (reminds && reminds.value){
|
|
58
|
+
setFirstTab('reminds');
|
|
59
|
+
} else {
|
|
60
|
+
setFirstTab("todos")
|
|
61
|
+
}
|
|
62
|
+
// 判断是企业勋章
|
|
63
|
+
const enterpriseMedalMsg = indicators.filter((item) => {
|
|
64
|
+
return item.messageType === 1 && item.indicatorType === 1969002;
|
|
65
|
+
});
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
enterpriseMedalMsg.length > 0 && window.util.upaasEnterpriseMedal();
|
|
68
|
+
|
|
69
|
+
// upaas 勋章
|
|
70
|
+
const medalDetail = getBSGlobal('medalDetail');
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
medalDetail && window.util.upaasMedal()(medalDetail);
|
|
73
|
+
|
|
74
|
+
// 红包
|
|
75
|
+
const mRedPackIndicator = indicators.filter((item) => {
|
|
76
|
+
return item.type === 'mRedPackIndicator';
|
|
77
|
+
});
|
|
78
|
+
mRedPackIndicator.length > 0 && setRedPackNum(mRedPackIndicator[0].value);
|
|
79
|
+
|
|
80
|
+
// 祝福,拆礼物
|
|
81
|
+
const blessIndicator = indicators.filter((item) => {
|
|
82
|
+
return item.type === 'mZhufu';
|
|
83
|
+
});
|
|
84
|
+
const weeklyReportIndicator = indicators.filter((item) => {
|
|
85
|
+
return item.type === 'mWeekStatisticIndicator';
|
|
86
|
+
});
|
|
87
|
+
if (blessIndicator.length === 1) {
|
|
88
|
+
const userInfo = getUserInfo();
|
|
89
|
+
const options = {
|
|
90
|
+
needMask: true,
|
|
91
|
+
toUserId: userInfo.Id,
|
|
92
|
+
blessingTime: blessIndicator[0]['latestUpdateDate']
|
|
93
|
+
};
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
window.util.openGift(options);
|
|
96
|
+
}
|
|
97
|
+
if(weeklyReportIndicator.length){
|
|
98
|
+
window?.Talent.app.vent.trigger('open-weekly-report-modal')
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
setPreData(infosNum);
|
|
106
|
+
handleIntervalRequestMessageInfo();
|
|
107
|
+
setInterval(handleIntervalRequestMessageInfo, 15000);
|
|
108
|
+
}, []);
|
|
109
|
+
|
|
110
|
+
return (
|
|
111
|
+
<div>
|
|
112
|
+
<Popup
|
|
113
|
+
popup={
|
|
114
|
+
<Message
|
|
115
|
+
onItemClick={setPopupVisible}
|
|
116
|
+
allData={allData}
|
|
117
|
+
handleIntervalRequestMessageInfo={handleIntervalRequestMessageInfo}
|
|
118
|
+
firstTab={firstTab}
|
|
119
|
+
tabs={['todos','informs','replys']}
|
|
120
|
+
/>
|
|
121
|
+
}
|
|
122
|
+
popupVisible={popupVisible}
|
|
123
|
+
popupTransitionName={classNames(`${prefixCls}__popup-right-bottom`)}
|
|
124
|
+
popupAlign={popupAlign}
|
|
125
|
+
mask={false}
|
|
126
|
+
destroyPopupOnHide={true}
|
|
127
|
+
>
|
|
128
|
+
<div className={classNames(`${prefixCls}__hr-notice`)} onClick={handleShowInfos}>
|
|
129
|
+
<img src={require("./images/notice.png")} />
|
|
130
|
+
</div>
|
|
131
|
+
</Popup>
|
|
132
|
+
<RedPack redPackNum={redPackNum} />
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
};
|
|
136
|
+
export default HrMessage;
|
|
Binary file
|
|
@@ -68,6 +68,59 @@
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
+
&__popup-right-bottom {
|
|
72
|
+
&-enter {
|
|
73
|
+
opacity: 0;
|
|
74
|
+
animation-duration: 0.2s;
|
|
75
|
+
animation-fill-mode: both;
|
|
76
|
+
animation-timing-function: linear;
|
|
77
|
+
animation-play-state: paused;
|
|
78
|
+
&-active {
|
|
79
|
+
animation-name: titaPopupInRB;
|
|
80
|
+
animation-play-state: running;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
&-appear {
|
|
84
|
+
opacity: 0;
|
|
85
|
+
animation-duration: 0.2s;
|
|
86
|
+
animation-fill-mode: both;
|
|
87
|
+
animation-timing-function: linear;
|
|
88
|
+
animation-play-state: paused;
|
|
89
|
+
&-active {
|
|
90
|
+
animation-name: titaPopupInRB;
|
|
91
|
+
animation-play-state: running;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
&-leave {
|
|
95
|
+
animation-duration: 0.1s;
|
|
96
|
+
animation-fill-mode: both;
|
|
97
|
+
animation-timing-function: linear;
|
|
98
|
+
animation-play-state: paused;
|
|
99
|
+
&-active {
|
|
100
|
+
animation-name: titaPopupOutRB;
|
|
101
|
+
animation-play-state: running;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
&__hr-notice {
|
|
106
|
+
width: 42px;
|
|
107
|
+
height: 42px;
|
|
108
|
+
background: linear-gradient(180deg, #4E90FF 0%, #2879FF 100%);
|
|
109
|
+
box-shadow: 0px 4px 12px 0px rgba(40, 121, 255, 0.3), inset 0px 0px 6px 2px rgba(255, 255, 255, 0.5);
|
|
110
|
+
cursor: pointer;
|
|
111
|
+
border-radius: 50%;
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
position: absolute;
|
|
116
|
+
bottom: 36px;
|
|
117
|
+
right: 24px;
|
|
118
|
+
z-index: 2;
|
|
119
|
+
img {
|
|
120
|
+
width: 32px;
|
|
121
|
+
height: 42px;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
71
124
|
}
|
|
72
125
|
|
|
73
126
|
@keyframes titaPopupInRT {
|
|
@@ -84,6 +137,20 @@
|
|
|
84
137
|
}
|
|
85
138
|
}
|
|
86
139
|
|
|
140
|
+
@keyframes titaPopupInRB {
|
|
141
|
+
0% {
|
|
142
|
+
opacity: 0;
|
|
143
|
+
transform-origin: 100% 100%;
|
|
144
|
+
transform: scale(0, 0);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
100% {
|
|
148
|
+
opacity: 1;
|
|
149
|
+
transform-origin: 100% 100%;
|
|
150
|
+
transform: scale(1, 1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
87
154
|
@keyframes titaPopupOutRT {
|
|
88
155
|
0% {
|
|
89
156
|
opacity: 1;
|
|
@@ -98,6 +165,20 @@
|
|
|
98
165
|
}
|
|
99
166
|
}
|
|
100
167
|
|
|
168
|
+
@keyframes titaPopupOutRB {
|
|
169
|
+
0% {
|
|
170
|
+
opacity: 1;
|
|
171
|
+
transform-origin: 100% 100%;
|
|
172
|
+
transform: scale(1, 1);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
100% {
|
|
176
|
+
opacity: 0;
|
|
177
|
+
transform-origin: 100% 100%;
|
|
178
|
+
transform: scale(0, 0);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
101
182
|
@keyframes bell-shake {
|
|
102
183
|
5%,
|
|
103
184
|
25%,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {useState,useEffect} from "react";
|
|
1
|
+
import React, { useState, useEffect } from "react";
|
|
2
2
|
import classNames from "classnames";
|
|
3
3
|
import Tabs, { TabPane } from "../../../../tabs";
|
|
4
4
|
import Reply from "../components/reply";
|
|
@@ -12,9 +12,14 @@ import "./index.scss";
|
|
|
12
12
|
|
|
13
13
|
const prefixCls = "titaui-user-message-msg";
|
|
14
14
|
|
|
15
|
-
|
|
16
15
|
const UserMessage = (props) => {
|
|
17
|
-
const {
|
|
16
|
+
const {
|
|
17
|
+
onItemClick,
|
|
18
|
+
allData,
|
|
19
|
+
handleIntervalRequestMessageInfo,
|
|
20
|
+
firstTab,
|
|
21
|
+
tabs = ["todos", "informs", "replys", "reminds"],
|
|
22
|
+
} = props;
|
|
18
23
|
|
|
19
24
|
const [remindTotal, setRemindTotal] = useState(0);
|
|
20
25
|
|
|
@@ -35,19 +40,19 @@ const UserMessage = (props) => {
|
|
|
35
40
|
} else {
|
|
36
41
|
setRemindTotal(remindTotal - 1);
|
|
37
42
|
}
|
|
38
|
-
}
|
|
43
|
+
};
|
|
39
44
|
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
getMessages().then(res => {
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
getMessages().then((res) => {
|
|
42
47
|
if (res.Code === 1) {
|
|
43
48
|
res.Data.indicators.forEach((item) => {
|
|
44
49
|
if (item.type === "Tx") {
|
|
45
|
-
setRemindTotal(item.value)
|
|
50
|
+
setRemindTotal(item.value);
|
|
46
51
|
}
|
|
47
|
-
})
|
|
52
|
+
});
|
|
48
53
|
}
|
|
49
54
|
});
|
|
50
|
-
}, [])
|
|
55
|
+
}, []);
|
|
51
56
|
|
|
52
57
|
return (
|
|
53
58
|
<div className={classNames(`${prefixCls}`)}>
|
|
@@ -57,48 +62,80 @@ const UserMessage = (props) => {
|
|
|
57
62
|
defaultActiveKey={firstTab}
|
|
58
63
|
animated={{ inkBar: true, tabPane: false }}
|
|
59
64
|
>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
{tabs.includes("todos") && (
|
|
66
|
+
<TabPane
|
|
67
|
+
tab={
|
|
68
|
+
<TabTitle
|
|
69
|
+
data={getData("todoIndicator")}
|
|
70
|
+
title={getLocale("Top_Message_title_Todos")}
|
|
71
|
+
tab={"todos"}
|
|
72
|
+
/>
|
|
73
|
+
}
|
|
74
|
+
key="todos"
|
|
75
|
+
>
|
|
76
|
+
<Todos onItemClick={onItemClick} />
|
|
77
|
+
</TabPane>
|
|
78
|
+
)}
|
|
79
|
+
{tabs.includes("informs") && (
|
|
80
|
+
<TabPane
|
|
81
|
+
tab={
|
|
82
|
+
<TabTitle
|
|
83
|
+
data={
|
|
84
|
+
getData("messageIndicator") - getData("mLeaveandComment")
|
|
85
|
+
}
|
|
86
|
+
title={getLocale("Menu_Title_Notice")}
|
|
87
|
+
tab={"informs"}
|
|
88
|
+
/>
|
|
89
|
+
}
|
|
90
|
+
key="informs"
|
|
91
|
+
>
|
|
92
|
+
<Inform
|
|
93
|
+
onItemClick={onItemClick}
|
|
94
|
+
handleIntervalRequestMessageInfo={
|
|
95
|
+
handleIntervalRequestMessageInfo
|
|
96
|
+
}
|
|
66
97
|
/>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
98
|
+
</TabPane>
|
|
99
|
+
)}
|
|
100
|
+
{tabs.includes("replys") && (
|
|
101
|
+
<TabPane
|
|
102
|
+
tab={
|
|
103
|
+
<TabTitle
|
|
104
|
+
data={getData("mLeaveandComment")}
|
|
105
|
+
title={getLocale("Top_Message_title_@&Replies")}
|
|
106
|
+
tab={"replys"}
|
|
107
|
+
/>
|
|
108
|
+
}
|
|
109
|
+
key="replys"
|
|
110
|
+
>
|
|
111
|
+
<Reply
|
|
112
|
+
onItemClick={onItemClick}
|
|
113
|
+
handleIntervalRequestMessageInfo={
|
|
114
|
+
handleIntervalRequestMessageInfo
|
|
115
|
+
}
|
|
78
116
|
/>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
117
|
+
</TabPane>
|
|
118
|
+
)}
|
|
119
|
+
{tabs.includes("reminds") && (
|
|
120
|
+
<TabPane
|
|
121
|
+
tab={
|
|
122
|
+
<TabTitle
|
|
123
|
+
data={remindTotal}
|
|
124
|
+
title={getLocale("Top_Message_title_AlarmReminders")}
|
|
125
|
+
tab={"reminds"}
|
|
126
|
+
/>
|
|
127
|
+
}
|
|
128
|
+
key="reminds"
|
|
129
|
+
>
|
|
130
|
+
<Remind
|
|
131
|
+
onItemClick={onItemClick}
|
|
132
|
+
handleIntervalRequestMessageInfo={
|
|
133
|
+
handleIntervalRequestMessageInfo
|
|
134
|
+
}
|
|
135
|
+
handleIgnoreTask={handleIgnoreTask}
|
|
90
136
|
/>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
>
|
|
94
|
-
<Reply onItemClick={onItemClick} handleIntervalRequestMessageInfo={handleIntervalRequestMessageInfo}/>
|
|
95
|
-
</TabPane>
|
|
96
|
-
<TabPane
|
|
97
|
-
tab={<TabTitle data={remindTotal} title={getLocale('Top_Message_title_AlarmReminders')} tab={"reminds"} />}
|
|
98
|
-
key="reminds"
|
|
99
|
-
>
|
|
100
|
-
<Remind onItemClick={onItemClick} handleIntervalRequestMessageInfo={handleIntervalRequestMessageInfo} handleIgnoreTask={handleIgnoreTask}/>
|
|
101
|
-
</TabPane>
|
|
137
|
+
</TabPane>
|
|
138
|
+
)}
|
|
102
139
|
</Tabs>
|
|
103
140
|
</div>
|
|
104
141
|
</div>
|
|
@@ -199,7 +199,7 @@ const ChangePhoto = (props: Props) => {
|
|
|
199
199
|
</ConditionRender>
|
|
200
200
|
<ConditionRender condition={type === "browser"}>
|
|
201
201
|
<img src={cropData} className={`${preCls}__preview-browser-img`}/>
|
|
202
|
-
<span className={`${preCls}__preview-browser-name`}
|
|
202
|
+
<span className={`${preCls}__preview-browser-name`}>Tita</span>
|
|
203
203
|
<span className={`${preCls}__preview-browser-title`}>{item?.previewTitle}</span>
|
|
204
204
|
</ConditionRender>
|
|
205
205
|
</div>
|
|
@@ -10,6 +10,7 @@ import { isOfficialSite, isPlatform } from "../../utils/platform";
|
|
|
10
10
|
import "./index.scss";
|
|
11
11
|
import { getTenantInfo } from "../../utils/helpers";
|
|
12
12
|
import HrHeader from "../../components/hr-header";
|
|
13
|
+
import HrMessage from "../../components/nav-top/components/user-message/hrMessage";
|
|
13
14
|
|
|
14
15
|
const preCls = `titaui-aha-2021`;
|
|
15
16
|
|
|
@@ -86,12 +87,7 @@ const PageLayout = (props) => {
|
|
|
86
87
|
</div>
|
|
87
88
|
)}
|
|
88
89
|
{isTencentHr && (
|
|
89
|
-
|
|
90
|
-
className={classNames(`${preCls}__notice`)}
|
|
91
|
-
onClick={onClickNotice}
|
|
92
|
-
>
|
|
93
|
-
<img src={require('./img/notice.png')}/>
|
|
94
|
-
</div>
|
|
90
|
+
<HrMessage/>
|
|
95
91
|
)}
|
|
96
92
|
<PointDemo />
|
|
97
93
|
</div>
|