diff --git a/src/components/Common/GlobalComps/entityIcon.tsx b/src/components/Common/GlobalComps/entityIcon.tsx index 852ca0a93ea85a239e364eb7d0d4b04471622d6b..c95fa24c911387daaeec761c709adeb4f6a1a3c7 100644 --- a/src/components/Common/GlobalComps/entityIcon.tsx +++ b/src/components/Common/GlobalComps/entityIcon.tsx @@ -9,6 +9,7 @@ import { ImInfo } from 'react-icons/im'; import { IBelong } from '@/ts/core'; import { isSnowflakeId } from '@/ts/base/common'; import { TemplateType } from '@/ts/core/public/enums'; +import { useHistory } from 'react-router-dom'; interface teamTypeInfo { size?: number; @@ -108,6 +109,7 @@ const ShareIconById = (info: shareIconInfo) => { export const ShareIconItem = (info: shareIconInfo) => { const size = info.size ?? 22; const fontSize = size > 14 ? 14 : size; + const history = useHistory(); const infoMore = () => { if (info.disableInfo !== true && info.entity && size > 18) { return ( @@ -126,6 +128,11 @@ export const ShareIconItem = (info: shareIconInfo) => { onClick={(e) => { e.stopPropagation(); let typeName = info.entity?.typeName as string; + if(typeName == '单位'){ + history.push('/view'); + orgCtrl.viewEntity = info; + return false + } if (info.entity?.typeName === '商城模板') { typeName = info.entity?.template === TemplateType.dataTemplate diff --git a/src/components/DataPreview/session/WorkBench/components/Banner/Common/BannerImg.tsx b/src/components/DataPreview/session/WorkBench/components/Banner/Common/BannerImg.tsx index 3b4631f2ef3268fc50104365db30ce9594adfe18..00712c62ff44399f8fa7c3747c4e7a8fa76a4bbc 100644 --- a/src/components/DataPreview/session/WorkBench/components/Banner/Common/BannerImg.tsx +++ b/src/components/DataPreview/session/WorkBench/components/Banner/Common/BannerImg.tsx @@ -3,6 +3,7 @@ import { Carousel, Upload, message } from 'antd'; import cls from './index.module.less'; import { ICompany, IPerson, ITarget } from '@/ts/core'; import { model } from '@/ts/base'; +import ViewProvider from '@/ts/core/provider/view'; interface IProps { bannerImg: any[]; @@ -33,6 +34,16 @@ const Banner: React.FC = (props) => { } }); } + } else { + const view = ViewProvider.getInstance(); + view && view.loadBanner().then(async (res: any) => { + if (res && res[props.bannerkey]) { + const finBannerdata = res[props.bannerkey].filter( + (item: any) => !!item.shareLink, + ); + finBannerdata.length > 0 && setContent(finBannerdata); + } + }); } }, [props]); diff --git a/src/components/DataPreview/session/setting/components/banner/index.tsx b/src/components/DataPreview/session/setting/components/banner/index.tsx index 92f8fed550c455f9ab7799fc8116301267c90be0..eca3151e86eb2be64161ca1029046c728959e138 100644 --- a/src/components/DataPreview/session/setting/components/banner/index.tsx +++ b/src/components/DataPreview/session/setting/components/banner/index.tsx @@ -61,6 +61,8 @@ const BannerSetting: React.FC = ({ target.cacheObj.get('banner').then(async (res: any) => { const finData = data ? data : []; const finBannerdata = { ...(res || {}), [bannerkey]: finData }; + let bannerColl = target.resource.genColl('public-read-banner'); + bannerColl.insert(finBannerdata); const cacheRes = await target.cacheObj.set('banner', finBannerdata); if (!cacheRes) return message.error('存错错误!'); setPics(finData); diff --git a/src/components/TargetActivity/ActivityMessage/index.tsx b/src/components/TargetActivity/ActivityMessage/index.tsx index 3debdedfdb5bcb23afec89cd89127e19ea2eddb5..074625ce8807c30543537ea093667ccac6116499 100644 --- a/src/components/TargetActivity/ActivityMessage/index.tsx +++ b/src/components/TargetActivity/ActivityMessage/index.tsx @@ -24,12 +24,14 @@ export const ActivityMessage: React.FC = ({ const [metadata, setMetadata] = useState(item.metadata); const [showShareForward, setShowShareForward] = useState(false); useEffect(() => { - const id = item.subscribe(() => { - setMetadata(item.metadata); - }); - return () => { - item.unsubscribe(id); - }; + if(item.subscribe){ + const id = item.subscribe(() => { + setMetadata(item.metadata); + }); + return () => { + item.unsubscribe(id); + }; + } }, [item]); const renderContent = () => { switch (metadata.typeName) { diff --git a/src/executor/operate/pubActivity/index.tsx b/src/executor/operate/pubActivity/index.tsx index d7393c09a957aacfabf189cf067ccc1eea8b25d9..7bc599da50f97811567966e0cb3fadc154a0ff4f 100644 --- a/src/executor/operate/pubActivity/index.tsx +++ b/src/executor/operate/pubActivity/index.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import FullScreenModal from '@/components/Common/fullScreen'; -import { Button, Form, Input } from 'antd'; +import { Button, Form, Input, Select, Radio } from 'antd'; import SelectMultFiles from '@/components/TargetActivity/SelectMultFiles'; import { IActivity, MessageType } from '@/ts/core'; import { model } from '@/ts/base'; @@ -14,9 +14,19 @@ const ActivityPublisher: React.FC<{ const [resource, setResource] = useState([]); const [message, setMessage] = useState(''); const [linkInfo, setLinkInfo] = useState(''); + const [contentType, setContentType] = useState('动态'); + const [toViewPage, setToViewPage] = useState(false); const publishActivity = () => { if (message) { - props.activity.send(message, MessageType.Text, resource, [], linkInfo); + props.activity.send( + message, + MessageType.Text, + resource, + [], + linkInfo, + contentType, + toViewPage, + ); props.finish(); } }; @@ -65,6 +75,36 @@ const ActivityPublisher: React.FC<{ }} /> + {props.activity.typeName === '单位' && ( + <> + +