@titaui/pc 1.11.36 → 1.11.39-beta.1

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 (64) hide show
  1. package/lib/components/avatar/name-avatar/index.css +1 -0
  2. package/lib/components/avatar/name-avatar/index.js +22 -13
  3. package/lib/components/avatar/text-avatar/index.css +2 -2
  4. package/lib/components/avatar/text-avatar/index.js +2 -2
  5. package/lib/components/button/rect-btn/index.css +45 -11
  6. package/lib/components/button/rect-btn/index.js +12 -6
  7. package/lib/components/change-okr-modal/index.js +2 -1
  8. package/lib/components/checkbox/index.css +3 -3
  9. package/lib/components/create-okr-modal/index.js +45 -41
  10. package/lib/components/create-okr-modal/request-api.js +1 -1
  11. package/lib/components/dialog-confirm/index.css +2 -2
  12. package/lib/components/drawer/headerAction.js +5 -1
  13. package/lib/components/drawer/headerDrop.js +42 -4
  14. package/lib/components/drawer/index.css +33 -0
  15. package/lib/components/drawer/index.js +26 -3
  16. package/lib/components/dynamic/new-ui.css +4 -4
  17. package/lib/components/nav-top/components/menu/img/new.svg +30 -0
  18. package/lib/components/nav-top/components/menu/img/wecome-temp.png +0 -0
  19. package/lib/components/nav-top/components/menu/index.css +91 -0
  20. package/lib/components/nav-top/components/menu/index.js +72 -24
  21. package/lib/components/nav-top/index.js +6 -2
  22. package/lib/components/okr-detail/base-info/other-infos/date-cycle/index.js +20 -4
  23. package/lib/components/okr-detail/base-info/other-infos/principal/index.js +9 -1
  24. package/lib/components/okr-detail/components/header/index.js +10 -3
  25. package/lib/components/okr-detail/components/header/o-name.js +10 -3
  26. package/lib/components/okr-detail/components/o-classify.js +5 -1
  27. package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/index.js +13 -14
  28. package/lib/components/okr-detail/detail-header/constant.js +53 -0
  29. package/lib/components/okr-detail/detail-header/delete-confirm/delete-confirm.js +98 -43
  30. package/lib/components/okr-detail/detail-header/delete-confirm/index.css +55 -0
  31. package/lib/components/okr-detail/detail-header/index.css +11 -0
  32. package/lib/components/okr-detail/detail-header/index.js +228 -234
  33. package/lib/components/okr-detail/helper.js +108 -0
  34. package/lib/components/okr-detail/index.js +21 -4
  35. package/lib/components/okr-detail/okr-list/index.js +8 -3
  36. package/lib/components/okr-detail/request-apis.js +10 -4
  37. package/lib/components/okr-flow/child-node/index.css +1 -1
  38. package/lib/components/okr-flow/export-modal/index.js +47 -2
  39. package/lib/components/okr-period-selector/index.js +9 -5
  40. package/lib/components/okr-period-selector/select-cycle.js +23 -19
  41. package/lib/components/operation-records/index.js +1 -1
  42. package/lib/components/operation-records/style.js +1 -1
  43. package/lib/components/task-relation-modal/request-api.js +2 -1
  44. package/lib/components/task-tree/task-item-node/e-status-dropdown.js +33 -13
  45. package/lib/components/task-tree/task-item-node/e-task.js +2 -2
  46. package/lib/components/task-tree/task-item-node/index.css +16 -4
  47. package/lib/components/textarea/index.css +142 -0
  48. package/lib/components/textarea/index.js +259 -0
  49. package/lib/components/time-picker/time-picker.js +34 -102
  50. package/lib/components/time-picker/timer-picker-input.js +0 -6
  51. package/lib/components/toast/index.js +5 -3
  52. package/lib/index.js +40 -0
  53. package/lib/pages/new-okr-list/header/common.js +52 -0
  54. package/lib/pages/new-okr-list/header/index.css +45 -0
  55. package/lib/pages/new-okr-list/header/index.js +38 -16
  56. package/lib/pages/new-okr-list/header/operate-record.js +131 -0
  57. package/lib/pages/new-okr-list/index.js +3 -1
  58. package/lib/pages/new-okr-list/list/index.js +19 -2
  59. package/lib/pages/new-okr-list/request-api.js +8 -2
  60. package/lib/pages/okr-map/unsupport-ie/index.js +3 -5
  61. package/lib/utils/format-time.js +8 -1
  62. package/lib/utils/open-data.js +5 -1
  63. package/package.json +1 -1
  64. package/lib/components/okr-detail/detail-header/delete-confirm/style.js +0 -38
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _helper = require("../okr-detail/helper");
13
+
12
14
  var _popup = _interopRequireDefault(require("../popup"));
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -44,7 +46,9 @@ var HeaderDropItem = function HeaderDropItem(_ref) {
44
46
  colorInDrop = _ref.colorInDrop,
45
47
  hoverColorInDrop = _ref.hoverColorInDrop,
46
48
  _onClick = _ref.onClick,
47
- onClose = _ref.onClose;
49
+ onClose = _ref.onClose,
50
+ approvalSetting = _ref.approvalSetting,
51
+ detailInfo = _ref.detailInfo;
48
52
 
49
53
  var _useState = (0, _react.useState)(false),
50
54
  _useState2 = _slicedToArray(_useState, 2),
@@ -52,7 +56,37 @@ var HeaderDropItem = function HeaderDropItem(_ref) {
52
56
  setHover = _useState2[1];
53
57
 
54
58
  var hasIcon = !!icon && typeof icon === "string";
55
- return /*#__PURE__*/_react["default"].createElement("div", {
59
+ var applyState = detailInfo === null || detailInfo === void 0 ? void 0 : detailInfo.applyState;
60
+ var OkrAndKrApprovalTypes = detailInfo === null || detailInfo === void 0 ? void 0 : detailInfo.OkrAndKrApprovalTypes;
61
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, icon === 'tu-icon-del' ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (0, _helper.getApprovalOkr)(approvalSetting, 'deleteOkr', applyState, OkrAndKrApprovalTypes) ? /*#__PURE__*/_react["default"].createElement("div", {
62
+ className: "header-drop-item",
63
+ style: {
64
+ color: hover ? hoverColorInDrop || hoverColor : colorInDrop || color
65
+ },
66
+ onClick: function onClick(e) {
67
+ _onClick && _onClick(e);
68
+ onClose(false);
69
+ },
70
+ onMouseOver: function onMouseOver() {
71
+ return setHover(true);
72
+ },
73
+ onMouseOut: function onMouseOut() {
74
+ return setHover(false);
75
+ }
76
+ }, hasIcon && /*#__PURE__*/_react["default"].createElement("div", {
77
+ className: "header-drop-item-icon",
78
+ style: {
79
+ color: hover ? hoverIconColorInDrop || hoverColorInDrop || hoverColor : iconColorInDrop || colorInDrop || color
80
+ }
81
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("span", {
82
+ className: icon
83
+ }) : icon), title) : /*#__PURE__*/_react["default"].createElement("div", {
84
+ className: "header-drop-item-approval"
85
+ }, hasIcon && /*#__PURE__*/_react["default"].createElement("div", {
86
+ className: "header-drop-item-icon"
87
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("span", {
88
+ className: icon
89
+ }) : icon), title)) : /*#__PURE__*/_react["default"].createElement("div", {
56
90
  className: "header-drop-item",
57
91
  style: {
58
92
  color: hover ? hoverColorInDrop || hoverColor : colorInDrop || color
@@ -74,19 +108,23 @@ var HeaderDropItem = function HeaderDropItem(_ref) {
74
108
  }
75
109
  }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("span", {
76
110
  className: icon
77
- }) : icon), title);
111
+ }) : icon), title));
78
112
  };
79
113
 
80
114
  var HeaderDrop = function HeaderDrop(_ref2) {
81
115
  var visible = _ref2.visible,
82
116
  onVisibleChange = _ref2.onVisibleChange,
83
117
  items = _ref2.items,
84
- children = _ref2.children;
118
+ children = _ref2.children,
119
+ approvalSetting = _ref2.approvalSetting,
120
+ detailInfo = _ref2.detailInfo;
85
121
  var renderDrop = (0, _react.useMemo)(function () {
86
122
  return /*#__PURE__*/_react["default"].createElement("div", {
87
123
  className: "titaui-drawer-header-action-drop-wrapper"
88
124
  }, items.map(function (item) {
89
125
  return /*#__PURE__*/_react["default"].createElement(HeaderDropItem, _extends({}, item, {
126
+ detailInfo: detailInfo,
127
+ approvalSetting: approvalSetting,
90
128
  onClose: function onClose() {
91
129
  return onVisibleChange(false);
92
130
  }
@@ -164,6 +164,39 @@
164
164
  background-repeat: no-repeat;
165
165
  }
166
166
 
167
+ .titaui-drawer-header-action-drop-wrapper .header-drop-item-approval {
168
+ height: 32px;
169
+ display: flex;
170
+ align-items: center;
171
+ padding: 0 23px;
172
+ cursor: pointer;
173
+ color: #BFC7D5;
174
+ }
175
+
176
+ .titaui-drawer-header-action-drop-wrapper .header-drop-item-approval-icon {
177
+ font-size: 18px;
178
+ color: inherit;
179
+ width: 18px;
180
+ height: 18px;
181
+ cursor: pointer;
182
+ margin-right: 10px;
183
+ background-size: contain;
184
+ background-position: center center;
185
+ background-repeat: no-repeat;
186
+ }
187
+
188
+ .titaui-drawer-header-action-drop-wrapper .header-drop-item-approval-icon > span {
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ color: inherit;
193
+ width: 18px;
194
+ height: 18px;
195
+ background-size: contain;
196
+ background-position: center center;
197
+ background-repeat: no-repeat;
198
+ }
199
+
167
200
  .drawer-left .drawer-content-wrapper,
168
201
  .drawer-right .drawer-content-wrapper,
169
202
  .drawer-left .drawer-content,
@@ -25,7 +25,9 @@ require("./index.css");
25
25
 
26
26
  var _context = _interopRequireDefault(require("../drawer-manager/context"));
27
27
 
28
- var _excluded = ["visible", "placement", "children", "mask", "width", "className", "contentWrapperStyle", "onClose", "style", "afterVisibleChange", "destroyOnClose", "bodyStyle", "zIndex"];
28
+ var _dom = require("./utils/dom");
29
+
30
+ var _excluded = ["visible", "placement", "children", "mask", "width", "className", "contentWrapperStyle", "onClose", "style", "afterVisibleChange", "destroyOnClose", "bodyStyle", "zIndex", "autoClosable"];
29
31
 
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
33
 
@@ -70,6 +72,8 @@ var Drawer = function Drawer(props) {
70
72
  bodyStyle = props.bodyStyle,
71
73
  _props$zIndex = props.zIndex,
72
74
  zIndex = _props$zIndex === void 0 ? 1200 : _props$zIndex,
75
+ _props$autoClosable = props.autoClosable,
76
+ autoClosable = _props$autoClosable === void 0 ? false : _props$autoClosable,
73
77
  rest = _objectWithoutProperties(props, _excluded);
74
78
 
75
79
  var handleAfterVisibleChange = (0, _react.useCallback)(function (opened) {
@@ -89,6 +93,20 @@ var Drawer = function Drawer(props) {
89
93
  return children;
90
94
  }
91
95
 
96
+ var autoClose = function autoClose(e) {
97
+ if ((0, _dom.hasAncestorElement)(e.target, 'document-mouse-event-ignore,rc-tooltip,titaui-popup,rc-dialog-root,common-modal,in-modal,task-hot-add')) return;
98
+ onClose();
99
+ };
100
+
101
+ (0, _react.useEffect)(function () {
102
+ if (autoClosable) {
103
+ document.addEventListener('mousedown', autoClose);
104
+ }
105
+
106
+ return function () {
107
+ document.removeEventListener('mousedown', autoClose);
108
+ };
109
+ }, []);
92
110
  return /*#__PURE__*/_react["default"].createElement(DrawerContext.Provider, {
93
111
  value: {
94
112
  close: function close() {
@@ -123,7 +141,10 @@ function DrawerHeader(_ref) {
123
141
  content = _ref.content,
124
142
  style = _ref.style,
125
143
  onClose = _ref.onClose,
126
- actionComponent = _ref.actionComponent;
144
+ actionComponent = _ref.actionComponent,
145
+ onlyShowContent = _ref.onlyShowContent,
146
+ approvalSetting = _ref.approvalSetting,
147
+ detailInfo = _ref.detailInfo;
127
148
  var drawer = (0, _react.useContext)(DrawerContext);
128
149
  var manager = (0, _react.useContext)(_context["default"]);
129
150
  var showClose = closable && (!!onClose || !!drawer);
@@ -152,9 +173,11 @@ function DrawerHeader(_ref) {
152
173
  style: {
153
174
  flex: 1
154
175
  }
155
- }), /*#__PURE__*/_react["default"].createElement("div", null, actionComponent), displayActions.map(function (action) {
176
+ }), /*#__PURE__*/_react["default"].createElement("div", null, onlyShowContent), /*#__PURE__*/_react["default"].createElement("div", null, actionComponent), displayActions.map(function (action) {
156
177
  return /*#__PURE__*/_react["default"].createElement(_headerAction["default"], action);
157
178
  }), !!collapsedActions.length && /*#__PURE__*/_react["default"].createElement(_headerAction["default"], {
179
+ approvalSetting: approvalSetting,
180
+ detailInfo: detailInfo,
158
181
  title: (0, _getLocale.getLocale)('Mod_MoreOperate'),
159
182
  icon: "tu-icon-10",
160
183
  children: collapsedActions
@@ -129,7 +129,7 @@
129
129
  }
130
130
 
131
131
  .titaui-new-ui-dynamic__no-more-data::before {
132
- content: "";
132
+ content: '';
133
133
  display: inline-block;
134
134
  margin-right: 12px;
135
135
  width: 192px;
@@ -139,7 +139,7 @@
139
139
  }
140
140
 
141
141
  .titaui-new-ui-dynamic__no-more-data::after {
142
- content: "";
142
+ content: '';
143
143
  display: inline-block;
144
144
  margin-left: 12px;
145
145
  width: 192px;
@@ -150,8 +150,8 @@
150
150
 
151
151
  .titaui-new-ui-dynamic__go-to-top {
152
152
  position: fixed;
153
- bottom: 128px;
154
- right: 24px;
153
+ bottom: 20px;
154
+ right: 86px;
155
155
  display: flex;
156
156
  align-items: center;
157
157
  justify-content: center;
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="36px" height="26px" viewBox="0 0 36 26" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>气泡</title>
4
+ <defs>
5
+ <path d="M26.0757238,0 C26.0757238,0 26.5924276,0.590963041 26.752784,2.04150869 C26.8839846,3.22831876 26.7408566,3.5759702 26.6844729,3.66315551 L26.6693863,3.6833642 L26.6693863,3.6833642 C26.6636971,3.68904201 27.2516704,3.6353181 27.3942094,3.25925071 C27.5358931,2.88547554 28.1011492,5.62102555 27.2497105,6.55512322 C27.2725189,6.60410922 27.2788178,6.63812034 27.2701648,6.65847289 C27.7385548,7.67365164 28,8.80629392 28,10 C28,14.418278 24.418278,18 20,18 L8,18 C3.581722,18 5.41083001e-16,14.418278 0,10 C-5.41083001e-16,5.581722 3.581722,2 8,2 L20,2 C20.4454205,2 20.8823388,2.03640207 21.3079422,2.10639354 C21.2551772,2.04616026 21.2417596,2.01501277 21.2749755,2.02035937 C21.4000713,1.99627315 21.6377016,1.90182651 22.0846325,1.61171738 C22.9398664,1.05657029 23.1002227,0.823766663 23.1002227,0.823766663 C23.1002227,0.823766663 23.2249443,1.19983405 23.1714922,1.53113152 C23.1180401,1.86242898 23.064588,2.05941666 23.064588,2.05941666 C23.064588,2.05941666 24.2583519,1.98778477 24.9888641,1.27146594 C25.7193764,0.555147099 26.0757238,0 26.0757238,0 Z" id="path-1"></path>
6
+ <filter x="-25.0%" y="-27.8%" width="150.0%" height="177.8%" filterUnits="objectBoundingBox" id="filter-2">
7
+ <feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
8
+ <feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
9
+ <feColorMatrix values="0 0 0 0 0.941176471 0 0 0 0 0.368627451 0 0 0 0 0.368627451 0 0 0 0.4 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
10
+ </filter>
11
+ </defs>
12
+ <g id="控件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
13
+ <g id="top-面谈" transform="translate(-797.000000, -7.000000)">
14
+ <g id="一级菜单" transform="translate(204.000000, 3.000000)">
15
+ <g id="气泡" transform="translate(597.000000, 6.000000)">
16
+ <text id="new" font-family="Arial-BoldMT, Arial" font-size="12" font-weight="bold" line-spacing="18" fill="#FFFFFF">
17
+ <tspan x="1" y="11">new</tspan>
18
+ </text>
19
+ <g id="hot" fill-rule="nonzero">
20
+ <g id="形状">
21
+ <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
22
+ <use fill="#F05E5E" xlink:href="#path-1"></use>
23
+ </g>
24
+ <path d="M4.61115455,12.8702703 L4.61115455,10.2702703 C4.61115455,9.62882883 4.65224568,9.18918919 4.73442794,8.95135135 C4.8166102,8.71351351 4.96855182,8.52252252 5.1902528,8.37837838 C5.41195378,8.23423423 5.662323,8.16216216 5.94136044,8.16216216 C6.15923899,8.16216216 6.34558249,8.21261261 6.50039093,8.31351351 C6.65519937,8.41441441 6.76700547,8.55585586 6.83580923,8.73783784 C6.90461298,8.91981982 6.93901486,9.32072072 6.93901486,9.94054054 L6.93901486,9.94054054 L6.93901486,12.8702703 L8.5501694,12.8702703 L8.5501694,9.3027027 C8.5501694,8.85945946 8.52054557,8.51891892 8.46129789,8.28108108 C8.40205021,8.04324324 8.29693337,7.83063063 8.14594735,7.64324324 C7.99496134,7.45585586 7.77230475,7.3018018 7.47797759,7.18108108 C7.18365042,7.06036036 6.85874381,7 6.50325775,7 C5.69672487,7 5.0277995,7.32432432 4.49648163,7.97297297 L4.49648163,7.97297297 L4.49648163,7.12972973 L3,7.12972973 L3,12.8702703 L4.61115455,12.8702703 Z M12.6669273,13 C13.3358527,13 13.8929719,12.854955 14.3382851,12.5648649 C14.7835983,12.2747748 15.1094605,11.8522523 15.3158718,11.2972973 L15.3158718,11.2972973 L13.7104509,11.0432432 C13.622535,11.3315315 13.4925723,11.5405405 13.3205629,11.6702703 C13.1485536,11.8 12.9364087,11.8648649 12.6841282,11.8648649 C12.3133524,11.8648649 12.0037356,11.7396396 11.7552776,11.4891892 C11.5068196,11.2387387 11.3768569,10.8882883 11.3653896,10.4378378 L11.3653896,10.4378378 L15.4018765,10.4378378 C15.4248111,9.27387387 15.1744418,8.40990991 14.6507688,7.84594595 C14.1270958,7.28198198 13.4123013,7 12.5063852,7 C11.6998523,7 11.0328382,7.26936937 10.5053427,7.80810811 C9.97784728,8.34684685 9.71409956,9.09189189 9.71409956,10.0432432 C9.71409956,10.8396396 9.91477717,11.4990991 10.3161324,12.0216216 C10.8245157,12.6738739 11.608114,13 12.6669273,13 Z M13.8021892,9.50810811 L11.3940579,9.50810811 C11.3902354,9.09369369 11.5029971,8.76576577 11.732343,8.52432432 C11.9616888,8.28288288 12.2521936,8.16216216 12.6038572,8.16216216 C12.9325862,8.16216216 13.2116237,8.27657658 13.4409695,8.50540541 C13.6703154,8.73423423 13.7907219,9.06846847 13.8021892,9.50810811 L13.8021892,9.50810811 Z M19.4154287,12.8702703 L20.447485,9.17837838 L21.4967422,12.8702703 L23.0448267,12.8702703 L25,7.12972973 L23.41178,7.12972973 L22.2478499,10.8918919 L21.2329945,7.12972973 L19.6791764,7.12972973 L18.6299192,10.8918919 L17.4889236,7.12972973 L15.9236383,7.12972973 L17.8501433,12.8702703 L19.4154287,12.8702703 Z" id="new" fill="#FFFFFF"></path>
25
+ </g>
26
+ </g>
27
+ </g>
28
+ </g>
29
+ </g>
30
+ </svg>
@@ -117,6 +117,97 @@
117
117
  position: relative;
118
118
  }
119
119
 
120
+ .titaui-nav-top-menu__tips {
121
+ position: relative;
122
+ }
123
+
124
+ .titaui-nav-top-menu__tips-new {
125
+ width: 36px;
126
+ height: 26px;
127
+ position: absolute;
128
+ top: 4px;
129
+ right: -12px;
130
+ }
131
+
132
+ .titaui-nav-top-menu__tips-box {
133
+ width: 308px;
134
+ height: 142px;
135
+ box-sizing: border-box;
136
+ padding: 16px;
137
+ background: #5c8eff;
138
+ box-shadow: 0px 8px 24px 0px rgba(127, 145, 180, 0.3);
139
+ border: 1px solid #eff0f1;
140
+ border-radius: 12px;
141
+ z-index: 99;
142
+ }
143
+
144
+ .titaui-nav-top-menu__tips-box-head {
145
+ padding-left: 24px;
146
+ background-image: url("./img/wecome-temp.png");
147
+ background-position: 0 0;
148
+ background-repeat: no-repeat;
149
+ background-size: 20px 20px;
150
+ }
151
+
152
+ .titaui-nav-top-menu__tips-box-title {
153
+ display: block;
154
+ font-size: 14px;
155
+ color: #ffffff;
156
+ line-height: 22px;
157
+ font-weight: 600;
158
+ }
159
+
160
+ .titaui-nav-top-menu__tips-box-content {
161
+ font-size: 12px;
162
+ color: #ffffff;
163
+ line-height: 20px;
164
+ margin-top: 10px;
165
+ }
166
+
167
+ .titaui-nav-top-menu__tips-box-ok {
168
+ height: 28px;
169
+ margin-top: 8px;
170
+ margin-left: 210px;
171
+ background: #ffffff;
172
+ box-shadow: 0px -4px 12px 0px rgba(127, 145, 180, 0.2);
173
+ border-radius: 14px;
174
+ box-sizing: border-box;
175
+ padding: 3px 17px;
176
+ font-size: 14px;
177
+ color: #2879ff;
178
+ line-height: 22px;
179
+ cursor: pointer;
180
+ }
181
+
182
+ .titaui-nav-top-menu__tips-triangle {
183
+ position: absolute;
184
+ top: -4px;
185
+ left: 50%;
186
+ margin-left: -4px;
187
+ width: 0;
188
+ height: 0;
189
+ border-left: 5px solid transparent;
190
+ border-right: 5px solid transparent;
191
+ border-bottom: 5px solid #fff;
192
+ }
193
+
194
+ .titaui-nav-top-menu__tips-triangle::after {
195
+ content: '';
196
+ width: 0;
197
+ height: 0;
198
+ position: absolute;
199
+ left: -4px;
200
+ top: 2px;
201
+ border-left: solid 4px transparent;
202
+ border-right: solid 4px transparent;
203
+ border-bottom: solid 4px #5c8eff;
204
+ z-index: 99;
205
+ }
206
+
207
+ .titaui-nav-top-menu__tips-hide {
208
+ display: none;
209
+ }
210
+
120
211
  .titaui-nav-top-menu .rc-overflow-item {
121
212
  position: relative;
122
213
  }
@@ -21,6 +21,8 @@ var _conditionRender = _interopRequireDefault(require("../../../../components/co
21
21
 
22
22
  var _useGlobalValue3 = _interopRequireDefault(require("../../useGlobalValue"));
23
23
 
24
+ var _new = _interopRequireDefault(require("./img/new.svg"));
25
+
24
26
  require("./index.css");
25
27
 
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -52,6 +54,15 @@ var popupAlign = {
52
54
  },
53
55
  targetOffset: [0, 0]
54
56
  };
57
+ var NewFeatureGuidePopupAlign = {
58
+ offset: [104, -5],
59
+ overflow: {
60
+ adjustX: true,
61
+ adjustY: true
62
+ },
63
+ targetOffset: [0, 0]
64
+ };
65
+ var NEWMENUS = '#/interview';
55
66
 
56
67
  var Menu = function Menu(_ref) {
57
68
  var menus = _ref.menus,
@@ -59,8 +70,13 @@ var Menu = function Menu(_ref) {
59
70
 
60
71
  var _useState = (0, _react.useState)(false),
61
72
  _useState2 = _slicedToArray(_useState, 2),
62
- popupVisible = _useState2[0],
63
- setPopupVisible = _useState2[1];
73
+ isKnow = _useState2[0],
74
+ setIsKonw = _useState2[1];
75
+
76
+ var _useState3 = (0, _react.useState)(false),
77
+ _useState4 = _slicedToArray(_useState3, 2),
78
+ popupVisible = _useState4[0],
79
+ setPopupVisible = _useState4[1];
64
80
 
65
81
  var _useGlobalValue = (0, _useGlobalValue3["default"])(),
66
82
  _useGlobalValue2 = _slicedToArray(_useGlobalValue, 1),
@@ -84,33 +100,66 @@ var Menu = function Menu(_ref) {
84
100
  }
85
101
  };
86
102
 
87
- var handleClickToLearning = function handleClickToLearning() {
88
- window.open("".concat(apiPath, "/").concat(userId, "/eLearningHome#/"), '_self');
103
+ var handleClick = function handleClick() {
104
+ setIsKonw(true);
105
+ localStorage.setItem("isNewMenuItem__".concat(userId), "".concat(userId));
89
106
  };
90
107
 
108
+ (0, _react.useEffect)(function () {
109
+ var isKnow = localStorage.getItem("isNewMenuItem__".concat(userId));
110
+
111
+ if (isKnow) {
112
+ setIsKonw(true);
113
+ }
114
+ }, []);
115
+
116
+ var popup = /*#__PURE__*/_react["default"].createElement("div", {
117
+ className: "".concat(prefix, "__tips")
118
+ }, /*#__PURE__*/_react["default"].createElement("div", {
119
+ className: (0, _classnames["default"])("".concat(prefix, "__tips-box"), _defineProperty({}, "".concat(prefix, "__tips-hide"), isKnow))
120
+ }, /*#__PURE__*/_react["default"].createElement("div", {
121
+ className: "".concat(prefix, "__tips-box-head")
122
+ }, /*#__PURE__*/_react["default"].createElement("h2", {
123
+ className: "".concat(prefix, "__tips-box-title")
124
+ }, "1 : 1 \u9762\u8C08\uFF08\u4E00\u5BF9\u4E00\u9762\u8C08\uFF09\u4E0A\u7EBF\u5566\uFF01"), /*#__PURE__*/_react["default"].createElement("p", {
125
+ className: "".concat(prefix, "__tips-box-content")
126
+ }, "\u52A9\u529B\u7ECF\u7406\u548C\u4E0B\u7EA7\u8FDB\u884C\u6301\u7EED\u6C9F\u901A\uFF0C\u4E3A\u4E0D\u540C\u573A\u666F\u63D0\u4F9B\u4E30\u5BCC\u7684\u6C9F\u901A\u6A21\u677F\uFF0C\u5373\u523B\u4E86\u89E3\uFF0CGo~")), /*#__PURE__*/_react["default"].createElement("div", {
127
+ className: "".concat(prefix, "__tips-box-ok"),
128
+ onClick: handleClick
129
+ }, "\u597D\u54D2")), /*#__PURE__*/_react["default"].createElement("div", {
130
+ className: (0, _classnames["default"])("".concat(prefix, "__tips-triangle"), _defineProperty({}, "".concat(prefix, "__tips-hide"), isKnow))
131
+ }));
132
+
91
133
  var renderRawItem = function renderRawItem(menu) {
134
+ var href = menu.href;
135
+
136
+ if (menu.title === 'Learning') {
137
+ href = "".concat(apiPath, "/").concat(userId, "/eLearningHome#/");
138
+ }
139
+
92
140
  return /*#__PURE__*/_react["default"].createElement(_rcOverflow["default"].Item, {
93
141
  component: "span"
94
142
  }, /*#__PURE__*/_react["default"].createElement(_conditionRender["default"], {
95
- condition: menu.title !== 'Learning'
143
+ condition: menu.id
144
+ }, /*#__PURE__*/_react["default"].createElement(_popup["default"], {
145
+ popupVisible: !isKnow,
146
+ popup: menu.href === NEWMENUS ? popup : null,
147
+ mask: false,
148
+ action: ['focus'],
149
+ popupAlign: NewFeatureGuidePopupAlign
96
150
  }, /*#__PURE__*/_react["default"].createElement("a", {
97
151
  className: (0, _classnames["default"])("".concat(prefix, "__menu-show"), _defineProperty({}, "".concat(prefix, "__menu-show--active"), activeMenuId === menu.id)),
98
- href: "".concat(menu.href),
152
+ href: href,
99
153
  target: "_self",
100
154
  onClick: function onClick() {
101
155
  return handleTracker(menu);
102
156
  }
103
157
  }, menu.title, menu.href === '#dynamic' && feedNum > 0 && /*#__PURE__*/_react["default"].createElement("div", {
104
158
  className: (0, _classnames["default"])("".concat(prefix, "__menu--hasNum"), _defineProperty({}, "".concat(prefix, "__menu--hasNum-active"), activeMenuId === menu.id && menu.href === '#dynamic'))
105
- }, feedNum > 100 ? '99+' : feedNum))), /*#__PURE__*/_react["default"].createElement(_conditionRender["default"], {
106
- condition: menu.title === 'Learning'
107
- }, /*#__PURE__*/_react["default"].createElement("span", {
108
- className: (0, _classnames["default"])("".concat(prefix, "__menu-show"), _defineProperty({}, "".concat(prefix, "__menu-show--active"), activeMenuId === menu.id)),
109
- onClick: function onClick() {
110
- handleTracker(menu);
111
- handleClickToLearning();
112
- }
113
- }, menu.title)));
159
+ }, feedNum > 100 ? '99+' : feedNum), menu.href === NEWMENUS && /*#__PURE__*/_react["default"].createElement("img", {
160
+ src: _new["default"],
161
+ className: "".concat(prefix, "__tips-new")
162
+ })))));
114
163
  };
115
164
 
116
165
  var renderRest = function renderRest(items) {
@@ -122,18 +171,17 @@ var Menu = function Menu(_ref) {
122
171
  var popContent = /*#__PURE__*/_react["default"].createElement("div", {
123
172
  className: "".concat(prefix, "__hide-menus")
124
173
  }, items.map(function (menu) {
174
+ var href = menu.href;
175
+
176
+ if (menu.title === 'Learning') {
177
+ href = "".concat(apiPath, "/").concat(userId, "/eLearningHome#/");
178
+ }
179
+
125
180
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_conditionRender["default"], {
126
- condition: menu.title !== 'Learning'
127
- }, /*#__PURE__*/_react["default"].createElement("a", {
128
- className: (0, _classnames["default"])("".concat(prefix, "__menu-hide"), _defineProperty({}, "".concat(prefix, "__menu-hide--active"), activeMenuId === menu.id)),
129
- href: "".concat(menu.href),
130
- key: menu.id,
131
- target: "_self"
132
- }, menu.title)), /*#__PURE__*/_react["default"].createElement(_conditionRender["default"], {
133
- condition: menu.title === 'Learning'
181
+ condition: menu.id
134
182
  }, /*#__PURE__*/_react["default"].createElement("a", {
135
183
  className: (0, _classnames["default"])("".concat(prefix, "__menu-hide"), _defineProperty({}, "".concat(prefix, "__menu-hide--active"), activeMenuId === menu.id)),
136
- href: "".concat(apiPath, "/").concat(userId, "/eLearningHome#/"),
184
+ href: href,
137
185
  key: menu.id,
138
186
  target: "_self"
139
187
  }, menu.title)));
@@ -15,6 +15,8 @@ var _bsGlobal = require("../../utils/bs-global");
15
15
 
16
16
  var _userOwnMenu = _interopRequireDefault(require("./components/user-own-menu"));
17
17
 
18
+ var _useGlobalValue = _interopRequireDefault(require("./useGlobalValue"));
19
+
18
20
  var _menu = _interopRequireDefault(require("./components/menu"));
19
21
 
20
22
  var _userMessage = _interopRequireDefault(require("./components/user-message"));
@@ -170,5 +172,7 @@ var NavTop = function NavTop() {
170
172
  }, /*#__PURE__*/_react["default"].createElement(_userOwnMenu["default"], null)));
171
173
  };
172
174
 
173
- var _default = NavTop;
174
- exports["default"] = _default;
175
+ var _default = NavTop; // @ts-ignore
176
+
177
+ exports["default"] = _default;
178
+ NavTop.useGlobalValue = _useGlobalValue["default"];
@@ -13,6 +13,10 @@ var _okrPeriodSelector = _interopRequireDefault(require("../../../../okr-period-
13
13
 
14
14
  var _getLocale = require("../../../../../utils/getLocale");
15
15
 
16
+ var _context = require("../../../context");
17
+
18
+ var _helper = require("../../../helper");
19
+
16
20
  require("./index.css");
17
21
 
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -40,14 +44,22 @@ var DateCycle = function DateCycle(_ref) {
40
44
  _ref$canEdit = _ref.canEdit,
41
45
  canEdit = _ref$canEdit === void 0 ? false : _ref$canEdit;
42
46
 
47
+ var _useContext = (0, _react.useContext)(_context.CommonContext),
48
+ okrInfo = _useContext.okrInfo,
49
+ approvalSetting = _useContext.approvalSetting;
50
+
51
+ var canCycleEdit = canEdit && (0, _helper.getApprovalOkr)(approvalSetting, "changeOkrTime", okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.applyState, okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.OkrAndKrApprovalTypes);
52
+
43
53
  var _useState = (0, _react.useState)(false),
44
54
  _useState2 = _slicedToArray(_useState, 2),
45
55
  isFocus = _useState2[0],
46
56
  setIsFocus = _useState2[1];
47
57
 
48
58
  var handleButtonFocus = (0, _react.useCallback)(function () {
49
- canEdit && setIsFocus(true);
50
- }, [canEdit]);
59
+ if (canCycleEdit) {
60
+ setIsFocus(true);
61
+ }
62
+ }, [canCycleEdit]);
51
63
  var handleButtonBlur = (0, _react.useCallback)(function () {
52
64
  setIsFocus(false);
53
65
  }, []);
@@ -57,9 +69,10 @@ var DateCycle = function DateCycle(_ref) {
57
69
  clickCallback = _ref2.clickCallback,
58
70
  text = _ref2.text;
59
71
  return /*#__PURE__*/_react["default"].createElement("button", {
72
+ type: "button",
60
73
  onFocus: handleButtonFocus,
61
74
  onBlur: handleButtonBlur,
62
- className: "base-info-date-cycle__button ".concat(isFocus ? "base-info-date-cycle__button--focus" : "", " ").concat(!canEdit && "base-info-date-cycle__button--disable"),
75
+ className: "base-info-date-cycle__button ".concat(isFocus ? "base-info-date-cycle__button--focus" : "", " ").concat(!canCycleEdit && "base-info-date-cycle__button--disable"),
63
76
  ref: btnRef,
64
77
  onClick: clickCallback
65
78
  }, /*#__PURE__*/_react["default"].createElement("span", {
@@ -78,10 +91,13 @@ var DateCycle = function DateCycle(_ref) {
78
91
  cycle: cycle,
79
92
  setCycle: setCycle,
80
93
  okrId: okrId,
81
- canEdit: canEdit,
94
+ canEdit: canCycleEdit,
82
95
  getCycleRange: true
83
96
  }));
84
97
  };
85
98
 
99
+ DateCycle.defaultProps = {
100
+ canEdit: false
101
+ };
86
102
  var _default = DateCycle;
87
103
  exports["default"] = _default;
@@ -21,6 +21,10 @@ var _popConfirm = _interopRequireDefault(require("../../../../../components-v1/p
21
21
 
22
22
  var _getLocale = require("../../../../../utils/getLocale");
23
23
 
24
+ var _context2 = require("../../../context");
25
+
26
+ var _helper = require("../../../helper");
27
+
24
28
  require("./index.css");
25
29
 
26
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -60,6 +64,10 @@ var Principal = function Principal(_ref) {
60
64
  selectUser = _useState2[0],
61
65
  setSelectUser = _useState2[1];
62
66
 
67
+ var _useContext = (0, _react.useContext)(_context2.CommonContext),
68
+ okrInfo = _useContext.okrInfo,
69
+ approvalSetting = _useContext.approvalSetting;
70
+
63
71
  var handleSelected = function handleSelected(_ref2) {
64
72
  var _ref3 = _slicedToArray(_ref2, 1),
65
73
  user = _ref3[0];
@@ -114,7 +122,7 @@ var Principal = function Principal(_ref) {
114
122
  }, (0, _getLocale.getLocale)("Mod_Owner")), /*#__PURE__*/_react["default"].createElement("div", {
115
123
  className: "base-info-other-infos__principal-user",
116
124
  ref: selectUserRef
117
- }, canEdit ? /*#__PURE__*/_react["default"].createElement(_popConfirm["default"], {
125
+ }, canEdit && (0, _helper.getApprovalOkr)(approvalSetting, "changeOkrName", okrInfo.applyState, okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.OkrAndKrApprovalTypes) ? /*#__PURE__*/_react["default"].createElement(_popConfirm["default"], {
118
126
  ref: popConfirmRef,
119
127
  showArrow: false,
120
128
  style: {
@@ -31,6 +31,8 @@ var _progress = _interopRequireDefault(require("../../../progress"));
31
31
 
32
32
  var _utils = require("../../../progress/utils");
33
33
 
34
+ var _helper = require("../../helper");
35
+
34
36
  var _tooltip = _interopRequireDefault(require("../../../tooltip"));
35
37
 
36
38
  var _auth = require("../../../../utils/auth");
@@ -85,6 +87,8 @@ function Header(props) {
85
87
  setGeneralOkrClassify = _useContext.setGeneralOkrClassify,
86
88
  showOkrEvalute = _useContext.showOkrEvalute;
87
89
 
90
+ var commonContext = (0, _react.useContext)(_context.CommonContext);
91
+ var approvalSetting = commonContext.approvalSetting;
88
92
  var showOScore = (_window = window) === null || _window === void 0 ? void 0 : (_window$BSGlobal = _window.BSGlobal) === null || _window$BSGlobal === void 0 ? void 0 : (_window$BSGlobal$OkrA = _window$BSGlobal.OkrAdvancedSetting) === null || _window$BSGlobal$OkrA === void 0 ? void 0 : (_window$BSGlobal$OkrA2 = _window$BSGlobal$OkrA.KRSetting) === null || _window$BSGlobal$OkrA2 === void 0 ? void 0 : _window$BSGlobal$OkrA2.OScore;
89
93
  var _okrInfo$progressGrow = okrInfo.progressGrow,
90
94
  progressGrow = _okrInfo$progressGrow === void 0 ? 0 : _okrInfo$progressGrow,
@@ -156,7 +160,7 @@ function Header(props) {
156
160
  }, /*#__PURE__*/_react["default"].createElement("div", {
157
161
  className: "".concat(precls, "__avatar")
158
162
  }, /*#__PURE__*/_react["default"].createElement(_oAvatar["default"], {
159
- editable: editable,
163
+ editable: editable && (okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.applyState) !== 1,
160
164
  okrId: okrInfo.workId
161
165
  })), /*#__PURE__*/_react["default"].createElement("div", {
162
166
  className: "".concat(precls, "__content")
@@ -164,7 +168,10 @@ function Header(props) {
164
168
  editable: editable,
165
169
  okrName: okrName,
166
170
  setIsEdit: setIsEdit,
167
- okrStatus: okrInfo.status
171
+ okrStatus: okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.status,
172
+ OkrAndKrApprovalTypes: okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.OkrAndKrApprovalTypes,
173
+ applyState: okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.applyState,
174
+ approvalSetting: approvalSetting
168
175
  }, /*#__PURE__*/_react["default"].createElement(_oClassify["default"], {
169
176
  editable: editable,
170
177
  okrId: okrInfo.workId,
@@ -187,7 +194,7 @@ function Header(props) {
187
194
  })), /*#__PURE__*/_react["default"].createElement("span", {
188
195
  className: "".concat(precls, "__action-item")
189
196
  }, /*#__PURE__*/_react["default"].createElement(_oCycle["default"], {
190
- editable: editable,
197
+ editable: editable && (0, _helper.getApprovalOkr)(approvalSetting, "changeOkrTime", okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.applyState, okrInfo === null || okrInfo === void 0 ? void 0 : okrInfo.OkrAndKrApprovalTypes),
191
198
  okrId: okrInfo.workId
192
199
  })), /*#__PURE__*/_react["default"].createElement("span", {
193
200
  className: "".concat(precls, "__action-item")