@titaui/pc 1.9.51 → 1.9.55
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/dynamic/dynamic.js +4 -2
- 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 +9 -3
- 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/stop-taking-modal/index.js +3 -0
- 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/lib/utils/bs-global.js +1 -1
- package/package.json +1 -1
- package/src/components/dynamic/dynamic.tsx +1 -2
- 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 +7 -3
- 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/stop-taking-modal/index.tsx +2 -0
- package/src/components/upload-photo-modal/index.tsx +1 -1
- package/src/pages/aha2021/index.tsx +2 -6
- package/src/utils/bs-global.js +1 -1
- 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
|
|
|
@@ -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/lib/utils/bs-global.js
CHANGED
|
@@ -56,7 +56,7 @@ var getUploadMaxSize = function getUploadMaxSize() {
|
|
|
56
56
|
exports.getUploadMaxSize = getUploadMaxSize;
|
|
57
57
|
|
|
58
58
|
function isWx() {
|
|
59
|
-
return
|
|
59
|
+
return getTenantInfo().Source == 860 && getTenantInfo().corpCreateType != 2;
|
|
60
60
|
}
|
|
61
61
|
/*
|
|
62
62
|
*通过AppId,来查询是否开通这个产品
|
package/package.json
CHANGED
|
@@ -78,8 +78,7 @@ const Dynamic: FC = () => {
|
|
|
78
78
|
setActiveFirstLevelTabKey(1004);
|
|
79
79
|
setActiveSecondLevelTabKey(1018);
|
|
80
80
|
// @ts-ignore
|
|
81
|
-
const secondTabsArr = tabsInfo.find((item) => item.CodeId === 1004)
|
|
82
|
-
.ChildMenus;
|
|
81
|
+
const secondTabsArr = tabsInfo.find((item) => item.CodeId === 1004)?.ChildMenus || [];
|
|
83
82
|
setSecondTabs(secondTabsArr);
|
|
84
83
|
resetValue();
|
|
85
84
|
setIsChangeConditionLoading(true);
|
|
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;
|
|
@@ -8,6 +8,10 @@ import './index.scss';
|
|
|
8
8
|
|
|
9
9
|
interface Props {}
|
|
10
10
|
const preCls = 'tencent-hr-header';
|
|
11
|
+
const handleLogout = () => {
|
|
12
|
+
axios.get(window.BSGlobal.apiPath+'/Account/Logout');
|
|
13
|
+
|
|
14
|
+
}
|
|
11
15
|
function HrHeader({}: Props): ReactElement {
|
|
12
16
|
const [menus, setMenus] = useState<any[]>([]);
|
|
13
17
|
const [isShowMore, setIsShowMore] = useState(false);
|
|
@@ -88,7 +92,7 @@ function HrHeader({}: Props): ReactElement {
|
|
|
88
92
|
<div key='more' className={classNames(preCls + '__item')}>
|
|
89
93
|
<a>更多</a>
|
|
90
94
|
<img
|
|
91
|
-
src={require('./arrow.png')}
|
|
95
|
+
src={require('./img/arrow.png')}
|
|
92
96
|
style={{ transform: `rotate(${isShowMore ? 180 : 0}deg)` }}
|
|
93
97
|
/>
|
|
94
98
|
</div>
|
|
@@ -101,13 +105,13 @@ function HrHeader({}: Props): ReactElement {
|
|
|
101
105
|
popupPlacement="bottom"
|
|
102
106
|
popup={
|
|
103
107
|
<div className='tencent-hr-header-popup'>
|
|
104
|
-
<a className='tencent-hr-header-popup__item' href={'/_logout?r='+(new Date().getTime())}>退出</a>
|
|
108
|
+
<a className='tencent-hr-header-popup__item' target="_self" href={'/_logout?r='+(new Date().getTime())} onClick={handleLogout}>退出</a>
|
|
105
109
|
</div>
|
|
106
110
|
}
|
|
107
111
|
>
|
|
108
112
|
<span className={preCls + '__user'}>
|
|
109
113
|
{getLoginUserInfo().Name}
|
|
110
|
-
<img src={require('./arrow.png')} style={{ transform: `rotate(${isShowUserMenu ? 180 : 0}deg)` }}/>
|
|
114
|
+
<img src={require('./img/arrow.png')} style={{ transform: `rotate(${isShowUserMenu ? 180 : 0}deg)` }}/>
|
|
111
115
|
</span>
|
|
112
116
|
</Popup>
|
|
113
117
|
</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>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { ReactElement, useState, useCallback } from "react";
|
|
2
2
|
import { Modal } from "tita-ui";
|
|
3
3
|
import { getLocale } from "../../utils/getLocale";
|
|
4
|
+
import {getTenantInfo} from '../../utils/bs-global'
|
|
4
5
|
import { localStorage } from "../../utils/local-storage";
|
|
5
6
|
import "./index.scss";
|
|
6
7
|
|
|
@@ -9,6 +10,7 @@ const storage = new localStorage();
|
|
|
9
10
|
|
|
10
11
|
function StopTakingModel(): ReactElement {
|
|
11
12
|
const [visible, setVisible] = useState<any>(() => {
|
|
13
|
+
if(getTenantInfo().Source == 964) return false;
|
|
12
14
|
const stopTaking: any = storage.getItem("stopTaking");
|
|
13
15
|
if (stopTaking?.date) {
|
|
14
16
|
const oldDate = new Date(stopTaking?.date).getDate();
|
|
@@ -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>
|
package/src/utils/bs-global.js
CHANGED
|
@@ -36,7 +36,7 @@ export const getUploadMaxSize = () => {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export function isWx() {
|
|
39
|
-
return (getTenantInfo().Source == 860
|
|
39
|
+
return (getTenantInfo().Source == 860) && getTenantInfo().corpCreateType != 2
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/*
|