@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.
Files changed (124) hide show
  1. package/lib/components/change-okr-modal/Filter.js +1 -1
  2. package/lib/components/change-okr-modal/Item.js +1 -1
  3. package/lib/components/change-okr-modal/filterTab.js +1 -1
  4. package/lib/components/change-okr-modal/index.js +1 -1
  5. package/lib/components/communication/CommunicationAttachments.js +1 -1
  6. package/lib/components/communication/ConvertUserName.js +1 -1
  7. package/lib/components/communication/index.js +1 -1
  8. package/lib/components/create-okr-modal/objectType.js +1 -1
  9. package/lib/components/date-picker/BodyItem.js +1 -1
  10. package/lib/components/date-picker/CalendarBody.js +1 -1
  11. package/lib/components/date-picker/CalendarHeader.js +1 -1
  12. package/lib/components/date-picker/index.js +1 -1
  13. package/lib/components/date-range-picker/index.js +1 -1
  14. package/lib/components/delete-confirm-pop/ConfirmPop.js +1 -1
  15. package/lib/components/dynamic/dynamic.js +4 -2
  16. package/lib/components/eReport/eReportListEmpty.js +1 -1
  17. package/lib/components/eReport/eReportLists/reportList.js +1 -1
  18. package/lib/components/eReport/eReportShare/index.js +1 -1
  19. package/lib/components/eReport/eReportShare/toast/index.js +1 -1
  20. package/lib/components/edit-kr-wight/EditKrWightModal.js +1 -1
  21. package/lib/components/edit-kr-wight/FormItemV2.js +1 -1
  22. package/lib/components/emotions-selector/selector-content.js +1 -1
  23. package/lib/components/emotions-selector/selector-pop.js +1 -1
  24. package/lib/components/ereport-list/index.js +1 -1
  25. package/lib/components/error-boundary/index.js +1 -1
  26. package/lib/components/hr-header/{arrow.png → img/arrow.png} +0 -0
  27. package/lib/components/hr-header/img/notice.png +0 -0
  28. package/lib/components/hr-header/index.css +21 -0
  29. package/lib/components/hr-header/index.js +9 -3
  30. package/lib/components/mblog/components/ConfirmPop.js +1 -1
  31. package/lib/components/mblog/components/MblogAction.js +2 -11
  32. package/lib/components/mblog/components/MblogContent.js +1 -1
  33. package/lib/components/mblog/index.js +1 -1
  34. package/lib/components/nav-top/components/user-message/hrMessage.js +203 -0
  35. package/lib/components/nav-top/components/user-message/images/notice.png +0 -0
  36. package/lib/components/nav-top/components/user-message/index.css +87 -0
  37. package/lib/components/nav-top/components/user-message/msg/index.js +11 -9
  38. package/lib/components/okr-detail/auth.js +1 -1
  39. package/lib/components/okr-detail/components/base-okr-type/confirm/buttonv2.js +1 -1
  40. package/lib/components/okr-detail/components/base-okr-type/confirm/confirm.js +1 -1
  41. package/lib/components/okr-detail/components/base-okr-type/object-type.js +1 -1
  42. package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.js +1 -1
  43. package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/kr-push-score.js +1 -1
  44. package/lib/components/okr-review/ReviewPop/components/ReviewBody/index.js +1 -1
  45. package/lib/components/okr-review/ReviewPop/components/Toast/index.js +1 -1
  46. package/lib/components/okr-review/ReviewPop/index.js +1 -1
  47. package/lib/components/okr-review/components/ReviewItem/index.js +1 -1
  48. package/lib/components/okr-review/components/confirm-pop/ConfirmPop.js +1 -1
  49. package/lib/components/okr-review/index.js +1 -1
  50. package/lib/components/operation-records/OperationRecordItem.js +1 -1
  51. package/lib/components/operation-records/index.js +1 -1
  52. package/lib/components/point-demo/input/index.js +1 -1
  53. package/lib/components/praise-record/PraiseRecordItem.js +1 -1
  54. package/lib/components/praise-record/index.js +1 -1
  55. package/lib/components/range-picker-pop/index.js +1 -1
  56. package/lib/components/range-selector-pop/RangeList.js +1 -1
  57. package/lib/components/range-selector-pop/RangeSelectorPop.js +1 -1
  58. package/lib/components/select/Option.js +1 -1
  59. package/lib/components/select/index.js +1 -1
  60. package/lib/components/stop-taking-modal/index.js +3 -0
  61. package/lib/components/tita-chart/errorBoundary/index.js +1 -1
  62. package/lib/components/upload/components/uploadedPreview.js +1 -1
  63. package/lib/components/upload/index.js +1 -1
  64. package/lib/components/upload-photo-modal/index.js +1 -1
  65. package/lib/components/viewer/ImageListRender.js +1 -1
  66. package/lib/components/viewer/index.js +1 -1
  67. package/lib/components-v1/animate/AnimateChild.js +1 -1
  68. package/lib/components-v1/animate/animate.js +1 -1
  69. package/lib/components-v1/avatar/index.js +1 -1
  70. package/lib/components-v1/buttonv2/ButtonOutlined.js +1 -1
  71. package/lib/components-v1/buttonv2/ButtonRounded.js +1 -1
  72. package/lib/components-v1/buttonv2/DefaultButton.js +1 -1
  73. package/lib/components-v1/confirm/index.js +1 -1
  74. package/lib/components-v1/dropDownSelector/StatelessDropdown.js +1 -1
  75. package/lib/components-v1/dropDownSelector/dropDownSelector.js +1 -1
  76. package/lib/components-v1/input/Input.js +1 -1
  77. package/lib/components-v1/input/InputNumber.js +1 -1
  78. package/lib/components-v1/placement/placement.js +1 -1
  79. package/lib/components-v1/placement/placementInner.js +1 -1
  80. package/lib/components-v1/pop/Pop.js +1 -1
  81. package/lib/components-v1/pop/PopInner.js +1 -1
  82. package/lib/components-v1/portals/Portals.js +1 -1
  83. package/lib/components-v1/progress/CircleProgress.js +1 -1
  84. package/lib/components-v1/progress/LineProgress.js +1 -1
  85. package/lib/components-v1/progress/index.js +1 -1
  86. package/lib/components-v1/radio/radio.js +1 -1
  87. package/lib/components-v1/radio/radioGroup.js +1 -1
  88. package/lib/components-v1/search/index.js +1 -1
  89. package/lib/components-v1/select/Option.js +1 -1
  90. package/lib/components-v1/select/index.js +1 -1
  91. package/lib/components-v1/tabs/index.js +1 -1
  92. package/lib/components-v1/textarea/index.js +1 -1
  93. package/lib/components-v1/transition/index.js +1 -1
  94. package/lib/components-v1/userSelector/UserSelectorPop.js +1 -1
  95. package/lib/components-v1/userSelector/components/MultiMode/CommonList.js +1 -1
  96. package/lib/components-v1/userSelector/components/MultiMode/DepartmentList.js +1 -1
  97. package/lib/components-v1/userSelector/components/MultiMode/DepartmentTree.js +1 -1
  98. package/lib/components-v1/userSelector/components/MultiMode/SubsList.js +1 -1
  99. package/lib/components-v1/userSelector/components/MultiMode/index.js +1 -1
  100. package/lib/components-v1/userSelector/components/SearchBar.js +1 -1
  101. package/lib/components-v1/userSelector/components/SingleMode.js +1 -1
  102. package/lib/components-v1/userSelector/components/UserItem.js +1 -1
  103. package/lib/components-v1/userSelector/index.js +1 -1
  104. package/lib/pages/aha2021/index.js +3 -6
  105. package/lib/pages/appointment-demo/input/index.js +1 -1
  106. package/lib/pages/group-management/components/input-form/index.js +1 -1
  107. package/lib/utils/auth.js +1 -1
  108. package/lib/utils/bs-global.js +1 -1
  109. package/package.json +1 -1
  110. package/src/components/dynamic/dynamic.tsx +1 -2
  111. package/src/components/hr-header/{arrow.png → img/arrow.png} +0 -0
  112. package/src/components/hr-header/img/notice.png +0 -0
  113. package/src/components/hr-header/index.scss +19 -0
  114. package/src/components/hr-header/index.tsx +7 -3
  115. package/src/components/mblog/components/MblogAction.tsx +2 -2
  116. package/src/components/nav-top/components/user-message/hrMessage.tsx +136 -0
  117. package/src/components/nav-top/components/user-message/images/notice.png +0 -0
  118. package/src/components/nav-top/components/user-message/index.scss +81 -0
  119. package/src/components/nav-top/components/user-message/msg/index.tsx +85 -48
  120. package/src/components/stop-taking-modal/index.tsx +2 -0
  121. package/src/components/upload-photo-modal/index.tsx +1 -1
  122. package/src/pages/aha2021/index.tsx +2 -6
  123. package/src/utils/bs-global.js +1 -1
  124. 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"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
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"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
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"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
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
 
@@ -56,7 +56,7 @@ var getUploadMaxSize = function getUploadMaxSize() {
56
56
  exports.getUploadMaxSize = getUploadMaxSize;
57
57
 
58
58
  function isWx() {
59
- return (getTenantInfo().Source == 860 || getTenantInfo().Source == 964) && getTenantInfo().corpCreateType != 2;
59
+ return getTenantInfo().Source == 860 && getTenantInfo().corpCreateType != 2;
60
60
  }
61
61
  /*
62
62
  *通过AppId,来查询是否开通这个产品
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@titaui/pc",
3
- "version": "1.9.51",
3
+ "version": "1.9.55",
4
4
  "nameCN": "",
5
5
  "description": "",
6
6
  "main": "src/index.js",
@@ -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);
@@ -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;
@@ -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 { onItemClick, allData,handleIntervalRequestMessageInfo,firstTab} = props;
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
- <TabPane
61
- tab={
62
- <TabTitle
63
- data={getData("todoIndicator")}
64
- title={getLocale('Top_Message_title_Todos')}
65
- tab={"todos"}
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
- key="todos"
69
- >
70
- <Todos onItemClick={onItemClick} />
71
- </TabPane>
72
- <TabPane
73
- tab={
74
- <TabTitle
75
- data={(getData("messageIndicator"))-(getData("mLeaveandComment"))}
76
- title={getLocale('Menu_Title_Notice')}
77
- tab={"informs"}
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
- key="informs"
81
- >
82
- <Inform onItemClick={onItemClick} handleIntervalRequestMessageInfo={handleIntervalRequestMessageInfo}/>
83
- </TabPane>
84
- <TabPane
85
- tab={
86
- <TabTitle
87
- data={getData("mLeaveandComment")}
88
- title={getLocale('Top_Message_title_@&Replies')}
89
- tab={"replys"}
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
- key="replys"
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`}>一体化人才管理云平台</span>
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
- <div
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>
@@ -36,7 +36,7 @@ export const getUploadMaxSize = () => {
36
36
  };
37
37
 
38
38
  export function isWx() {
39
- return (getTenantInfo().Source == 860 || getTenantInfo().Source == 964) && getTenantInfo().corpCreateType != 2
39
+ return (getTenantInfo().Source == 860) && getTenantInfo().corpCreateType != 2
40
40
  }
41
41
 
42
42
  /*