@titaui/pc 1.9.41 → 1.9.45
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 +3 -3
- package/lib/components/common-share/publishMblog.js +1 -1
- package/lib/components/communication/CommunicationAttachments.js +1 -1
- package/lib/components/communication/ConvertUserName.js +3 -4
- 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-like-ranking/index.css +11 -12
- package/lib/components/dynamic/dynamic-like-ranking/index.js +10 -8
- package/lib/components/dynamic/dynamic-like-ranking/item.js +10 -12
- package/lib/components/dynamic/online-broadcast/data.js +14 -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 +3 -2
- 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/mblog/components/ConfirmPop.js +1 -1
- package/lib/components/mblog/components/MblogAction.js +1 -1
- package/lib/components/mblog/components/MblogContent.js +1 -1
- package/lib/components/mblog/index.js +1 -1
- 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/img/stop-taking.png +0 -0
- package/lib/components/stop-taking-modal/index.css +77 -0
- package/lib/components/stop-taking-modal/index.js +91 -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/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/index.js +2 -0
- 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/open-data.js +11 -9
- package/package.json +1 -1
- package/src/components/change-okr-modal/index.tsx +2 -2
- package/src/components/common-share/publishMblog.tsx +1 -1
- package/src/components/communication/ConvertUserName.tsx +2 -3
- package/src/components/create-okr-modal/fields/okr-visibility-detail.tsx +2 -1
- package/src/components/dynamic/dynamic-like-ranking/index.scss +12 -12
- package/src/components/dynamic/dynamic-like-ranking/index.tsx +17 -11
- package/src/components/dynamic/dynamic-like-ranking/item.tsx +23 -28
- package/src/components/dynamic/online-broadcast/data.ts +16 -2
- package/src/components/edit-kr-wight/EditKrWightModal.tsx +1 -0
- package/src/components/stop-taking-modal/img/stop-taking.png +0 -0
- package/src/components/stop-taking-modal/index.scss +73 -0
- package/src/components/stop-taking-modal/index.tsx +51 -0
- package/src/index.js +1 -0
- package/src/utils/open-data.js +21 -11
- package/yarn-error.log +16 -15807
|
@@ -18,7 +18,7 @@ const Auth = new DynamicManagerAuth();
|
|
|
18
18
|
|
|
19
19
|
const DynamicLikeRanking: FC = () => {
|
|
20
20
|
const [rankingData, setRankingData] = useState([]);
|
|
21
|
-
const [type, setType] = useState(getLocale(
|
|
21
|
+
const [type, setType] = useState(getLocale("Mod_all"));
|
|
22
22
|
const [date, setDate] = useState({ createDate: "", endDate: "" });
|
|
23
23
|
useEffect(() => {
|
|
24
24
|
const { createDate, endDate } = date;
|
|
@@ -62,10 +62,10 @@ const DynamicLikeRanking: FC = () => {
|
|
|
62
62
|
setType(item);
|
|
63
63
|
let createDate = "";
|
|
64
64
|
let endDate = "";
|
|
65
|
-
if (item == getLocale(
|
|
65
|
+
if (item == getLocale("Feed_Tab_Title_Thismonth")) {
|
|
66
66
|
createDate = showMonthFirstDay();
|
|
67
67
|
endDate = showNextMonthFirstDay();
|
|
68
|
-
} else if (item == getLocale(
|
|
68
|
+
} else if (item == getLocale("Feed_Tab_Title_Thisweek")) {
|
|
69
69
|
createDate = showWeekFirstDay();
|
|
70
70
|
endDate = showNextWeekFirstDay();
|
|
71
71
|
}
|
|
@@ -73,7 +73,11 @@ const DynamicLikeRanking: FC = () => {
|
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
const TabBar = () => {
|
|
76
|
-
const typeData = [
|
|
76
|
+
const typeData = [
|
|
77
|
+
getLocale("Mod_all"),
|
|
78
|
+
getLocale("Feed_Tab_Title_Thisweek"),
|
|
79
|
+
getLocale("Feed_Tab_Title_Thismonth"),
|
|
80
|
+
];
|
|
77
81
|
return (
|
|
78
82
|
<div className={`${preCls}__tab-bar`}>
|
|
79
83
|
{typeData.map((item, key) => {
|
|
@@ -102,7 +106,7 @@ const DynamicLikeRanking: FC = () => {
|
|
|
102
106
|
src={require("./image/like-ranking.svg")}
|
|
103
107
|
></img>
|
|
104
108
|
<span className={classNames(`${preCls}__header-text`)}>
|
|
105
|
-
{getLocale(
|
|
109
|
+
{getLocale("Feed_Title_Likeranking")}
|
|
106
110
|
</span>
|
|
107
111
|
</div>
|
|
108
112
|
{Auth.hasPraiseAuth() && (
|
|
@@ -110,7 +114,7 @@ const DynamicLikeRanking: FC = () => {
|
|
|
110
114
|
className={classNames(`${preCls}__header-right`)}
|
|
111
115
|
onClick={handleLinkToPraiseRaking}
|
|
112
116
|
>
|
|
113
|
-
{getLocale(
|
|
117
|
+
{getLocale("Feed_Set_Pop_Butt_More")}
|
|
114
118
|
</div>
|
|
115
119
|
)}
|
|
116
120
|
</div>
|
|
@@ -125,11 +129,13 @@ const DynamicLikeRanking: FC = () => {
|
|
|
125
129
|
</span>
|
|
126
130
|
</div>
|
|
127
131
|
))}
|
|
128
|
-
{rankingData &&
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
{rankingData && rankingData.length > 0 && (
|
|
133
|
+
<div className={classNames(`${preCls}__content-table-items`)}>
|
|
134
|
+
{rankingData.map((item, index) => {
|
|
135
|
+
return <Item userInfo={item} key={index}></Item>;
|
|
136
|
+
})}
|
|
137
|
+
</div>
|
|
138
|
+
)}
|
|
133
139
|
</div>
|
|
134
140
|
</div>
|
|
135
141
|
</div>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import React, { FC } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
1
|
+
import React, { FC, Fragment } from "react";
|
|
3
2
|
import Avatar from "../../avatar";
|
|
4
3
|
import { formatNum } from "../../../utils/bs-global";
|
|
5
4
|
import { OpenUserName } from "../../../utils/open-data";
|
|
6
|
-
import Tooltip from
|
|
5
|
+
import Tooltip from "../../tooltip";
|
|
7
6
|
import { getLocale } from "../../../utils/getLocale";
|
|
8
7
|
import "./index.scss";
|
|
9
8
|
const preCls = "danamic-like-ranking__item";
|
|
@@ -42,7 +41,7 @@ const Item: FC<any> = ({ userInfo }) => {
|
|
|
42
41
|
if (!userInfo || Object.keys(userInfo).length === 0) return null;
|
|
43
42
|
const { rankNum, user, pariseNums } = userInfo;
|
|
44
43
|
const { avatar, name, userId, userType } = user;
|
|
45
|
-
|
|
44
|
+
|
|
46
45
|
// 之后要用
|
|
47
46
|
// const url = getUrlForUserPage({
|
|
48
47
|
// userId: userId,
|
|
@@ -54,32 +53,28 @@ const Item: FC<any> = ({ userInfo }) => {
|
|
|
54
53
|
// };
|
|
55
54
|
|
|
56
55
|
return (
|
|
57
|
-
<
|
|
58
|
-
<div className={
|
|
59
|
-
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
/>
|
|
74
|
-
</div>
|
|
56
|
+
<Fragment>
|
|
57
|
+
<div className={`${preCls}-pre`}>{formatRaking(rankNum)}</div>
|
|
58
|
+
<div className={`${preCls}-avatar`}>
|
|
59
|
+
<Avatar
|
|
60
|
+
name={name}
|
|
61
|
+
src={avatar.small}
|
|
62
|
+
color={avatar.color}
|
|
63
|
+
userId={userId}
|
|
64
|
+
size={{ width: 28, textNum: 1, fontSize: 14 }}
|
|
65
|
+
/>
|
|
66
|
+
</div>
|
|
67
|
+
<div className={`${preCls}-name`}>
|
|
68
|
+
<Tooltip.Text
|
|
69
|
+
text={<OpenUserName id={userId} name={name} />}
|
|
70
|
+
maxWidth={120}
|
|
71
|
+
/>
|
|
75
72
|
</div>
|
|
76
|
-
<div className={
|
|
77
|
-
<
|
|
78
|
-
|
|
79
|
-
{getLocale('Mod_Kudos')}
|
|
80
|
-
</div>
|
|
73
|
+
<div className={`${preCls}-like-text`}>
|
|
74
|
+
<span className={`${preCls}-like-num`}>{formatNum(pariseNums)}</span>
|
|
75
|
+
{getLocale("Mod_Kudos")}
|
|
81
76
|
</div>
|
|
82
|
-
</
|
|
77
|
+
</Fragment>
|
|
83
78
|
);
|
|
84
79
|
};
|
|
85
80
|
|
|
@@ -14,18 +14,32 @@ if (source === 860) {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export const onlineBroadcastData = [
|
|
17
|
+
{
|
|
18
|
+
hasOnline: true,
|
|
19
|
+
preContent: '「OKR」支持手动进行目标打分',
|
|
20
|
+
preHref: 'https://wiki.tita.com/x/GYCeAQ',
|
|
21
|
+
isNew: true,
|
|
22
|
+
date: '1/12',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
hasOnline: true,
|
|
26
|
+
preContent: '「考核」支持批量公布考核结果 ',
|
|
27
|
+
preHref: 'https://wiki.tita.com/x/L4CeAQ',
|
|
28
|
+
isNew: true,
|
|
29
|
+
date: '1/11',
|
|
30
|
+
},
|
|
17
31
|
{
|
|
18
32
|
hasOnline: true,
|
|
19
33
|
preContent: 'Tita「Learning」 全新上线',
|
|
20
34
|
preHref: 'https://wiki.tita.com/x/doNrAQ',
|
|
21
|
-
isNew:
|
|
35
|
+
isNew: false,
|
|
22
36
|
date: '12/26',
|
|
23
37
|
},
|
|
24
38
|
{
|
|
25
39
|
hasOnline: true,
|
|
26
40
|
preContent: '「OKR」支持设置子目标权重',
|
|
27
41
|
preHref: 'https://wiki.tita.com/x/mIFrAQ',
|
|
28
|
-
isNew:
|
|
42
|
+
isNew: false,
|
|
29
43
|
date: '12/18',
|
|
30
44
|
},
|
|
31
45
|
{
|
|
Binary file
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
.tt-stop-taking-model {
|
|
2
|
+
width: 420px;
|
|
3
|
+
height: 338px;
|
|
4
|
+
background: #FFFFFF;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
position: relative;
|
|
7
|
+
padding: 40px;
|
|
8
|
+
border-radius: 0px 0px 32px 32px;
|
|
9
|
+
&__background{
|
|
10
|
+
width: 420px;
|
|
11
|
+
height: 192px;
|
|
12
|
+
position: absolute;
|
|
13
|
+
top: -102px;
|
|
14
|
+
left: 0;
|
|
15
|
+
background-image: url('./img/stop-taking.png');
|
|
16
|
+
background-repeat: no-repeat;
|
|
17
|
+
background-size: 420px 192px;
|
|
18
|
+
background-position: 0 0;
|
|
19
|
+
}
|
|
20
|
+
&__close{
|
|
21
|
+
width: 17px;
|
|
22
|
+
height: 17px;
|
|
23
|
+
font-size: 17px;
|
|
24
|
+
color: #fff;
|
|
25
|
+
position: absolute;
|
|
26
|
+
right: 3px;
|
|
27
|
+
top: -68px;
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&__head {
|
|
32
|
+
margin-top: 18px;
|
|
33
|
+
font-size: 24px;
|
|
34
|
+
font-weight: 600;
|
|
35
|
+
color: #141C28;
|
|
36
|
+
line-height: 34px;
|
|
37
|
+
letter-spacing: 2px;
|
|
38
|
+
position: relative;
|
|
39
|
+
z-index: 2;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&__content {
|
|
43
|
+
margin-top: 12px;
|
|
44
|
+
font-size: 14px;
|
|
45
|
+
color: #3F4755;
|
|
46
|
+
line-height: 22px;
|
|
47
|
+
|
|
48
|
+
&-line2{
|
|
49
|
+
margin-top: 4px;
|
|
50
|
+
}
|
|
51
|
+
&-line3{
|
|
52
|
+
margin-top: 12px;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&__action {
|
|
57
|
+
margin: 28px auto 0;
|
|
58
|
+
width: 188px;
|
|
59
|
+
height: 40px;
|
|
60
|
+
background: #2879FF;
|
|
61
|
+
box-shadow: 0px 8px 12px 0px rgba(40, 121, 255, 0.3);
|
|
62
|
+
border-radius: 20px;
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
color: #FFFFFF;
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
&:hover{
|
|
70
|
+
background: #5C8EFF;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { ReactElement, useState, useCallback } from "react";
|
|
2
|
+
import { Modal } from "tita-ui";
|
|
3
|
+
import { getLocale } from "../../utils/getLocale";
|
|
4
|
+
import { localStorage } from "../../utils/local-storage"
|
|
5
|
+
import "./index.scss";
|
|
6
|
+
|
|
7
|
+
const preCls = "tt-stop-taking-model";
|
|
8
|
+
const storage = new localStorage()
|
|
9
|
+
|
|
10
|
+
function StopTakingModel(): ReactElement {
|
|
11
|
+
const [visible, setVisible] = useState<any>(() => {
|
|
12
|
+
const bol = storage.getItem('stopTaking')
|
|
13
|
+
if(typeof(storage.getItem('stopTaking'))==='boolean'){
|
|
14
|
+
return bol
|
|
15
|
+
}
|
|
16
|
+
return true
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const handleClose = useCallback(() => {
|
|
20
|
+
setVisible(false);
|
|
21
|
+
storage.setItem('stopTaking',false)
|
|
22
|
+
}, []);
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<Modal visible={visible} customContent footer={null} width={420}>
|
|
26
|
+
|
|
27
|
+
<div className={preCls}>
|
|
28
|
+
<div className={`${preCls}__background`}></div>
|
|
29
|
+
<span className={`tu-icon-close ${preCls}__close`} onClick={handleClose} ></span>
|
|
30
|
+
<div className={`${preCls}__head`}>亲爱的用户</div>
|
|
31
|
+
<div className={`${preCls}__content`}>
|
|
32
|
+
<div className={`${preCls}__content-line1`}>
|
|
33
|
+
您好~
|
|
34
|
+
</div>
|
|
35
|
+
<div className={`${preCls}__content-line2`}>
|
|
36
|
+
为了给您带来更好的安全与稳定体验,Tita
|
|
37
|
+
将在周五晚上进行升级,预计耗时一天,介时将无法使用
|
|
38
|
+
Tita,请您提前安排好工作,感谢您的支持与理解!
|
|
39
|
+
</div>
|
|
40
|
+
<div className={`${preCls}__content-line3`}>
|
|
41
|
+
升级时间:
|
|
42
|
+
<span style={{color:'#2879ff',fontWeight:500}}>1.21 (周五) 23:00 - 1.22 (周六) 23:59</span>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
<div className={`${preCls}__action`} onClick={()=>window.open('https://wiki.tita.com/x/RICeAQ')} >了解详情</div>
|
|
46
|
+
</div>
|
|
47
|
+
</Modal>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default StopTakingModel;
|
package/src/index.js
CHANGED
|
@@ -68,6 +68,7 @@ export { default as TitaChart } from "./components/tita-chart";
|
|
|
68
68
|
export { default as Tooltip } from "./components/tooltip";
|
|
69
69
|
export { default as TooltipText } from './components/tooltip/tooltip-text';
|
|
70
70
|
export { default as UpdateModal } from "./components/update-modal";
|
|
71
|
+
import { default as StopTakingModal } from "./components/stop-taking-modal"
|
|
71
72
|
export { default as upload } from "./components/upload";
|
|
72
73
|
export { default as Upvote } from "./components/upvote";
|
|
73
74
|
export { default as VersionChangeModal } from "./components/version-change-modal";
|
package/src/utils/open-data.js
CHANGED
|
@@ -109,23 +109,31 @@ export const parseTag = (str) => {
|
|
|
109
109
|
var source = window.BSGlobal.tenantInfo.Source,
|
|
110
110
|
ua = navigator.userAgent.toLowerCase();
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const strReg = /<\w+[\w\s"'\/=\:\.]*?(?:userId|departmentId)=["']\S+?["'][\w\s"'\/=\:\.]*?>[\w\W]*?<\/\w+?>/;
|
|
112
|
+
const reg =
|
|
113
|
+
/<\w+[\w\W]*?(userId|departmentId)=["'](\S+?)["'][\w\W]*?>@([\w\W]*?)<\/\w+>/g;
|
|
114
|
+
const strReg =
|
|
115
|
+
/<\w+[\w\s"'\/=\:\.]*?(?:userId|departmentId)=["']\S+?["'][\w\s"'\/=\:\.]*?>[\w\W]*?<\/\w+?>/;
|
|
117
116
|
const openDatas = [];
|
|
118
117
|
let matchStr = reg.exec(str);
|
|
119
118
|
|
|
119
|
+
// if (source != 860 && ua.indexOf('micromessenger') == -1)
|
|
120
|
+
// return <span dangerouslySetInnerHTML={{ '__html': str }} />;
|
|
121
|
+
|
|
120
122
|
while (matchStr != null) {
|
|
121
|
-
const OpenDataCompoent =
|
|
123
|
+
const OpenDataCompoent =
|
|
124
|
+
matchStr[1] == "userId" ? OpenUserName : OpenDepartmentName;
|
|
122
125
|
if (!OpenDataCompoent) {
|
|
123
|
-
openDatas.push(
|
|
126
|
+
openDatas.push(
|
|
127
|
+
<span
|
|
128
|
+
dangerouslySetInnerHTML={{ __html: matchStr[0] }}
|
|
129
|
+
onClick={(e) => e.stopPropagation()}
|
|
130
|
+
/>
|
|
131
|
+
);
|
|
124
132
|
} else {
|
|
125
133
|
openDatas.push(
|
|
126
|
-
<span style={{
|
|
134
|
+
<span style={{ color: "#1890ff" }} onClick={(e) => e.stopPropagation()}>
|
|
127
135
|
@<OpenDataCompoent id={matchStr[2]} name={matchStr[3]} />
|
|
128
|
-
</span
|
|
136
|
+
</span>
|
|
129
137
|
);
|
|
130
138
|
}
|
|
131
139
|
matchStr = reg.exec(str);
|
|
@@ -135,12 +143,14 @@ export const parseTag = (str) => {
|
|
|
135
143
|
const renderData = [];
|
|
136
144
|
|
|
137
145
|
for (let i = 0; i < commonStrs.length; i++) {
|
|
138
|
-
renderData.push(
|
|
146
|
+
renderData.push(
|
|
147
|
+
<span dangerouslySetInnerHTML={{ __html: commonStrs[i] }} />
|
|
148
|
+
);
|
|
139
149
|
renderData.push(openDatas[i]);
|
|
140
150
|
}
|
|
141
151
|
|
|
142
152
|
return renderData;
|
|
143
|
-
}
|
|
153
|
+
};
|
|
144
154
|
|
|
145
155
|
export const parseString = (str) => {
|
|
146
156
|
//@ts-ignore
|