|
@@ -57,7 +57,7 @@ const VideoSelectModal: React.FC<VideoSelectModalProps> = ({ planType, visible,
|
|
setLoading(false);
|
|
setLoading(false);
|
|
});
|
|
});
|
|
if (res && res.code === 0) {
|
|
if (res && res.code === 0) {
|
|
- const mappedVideos = res.data.objs.map(video => ({ ...video, scene: 0 as const }));
|
|
|
|
|
|
+ const mappedVideos = res.data.objs.map(video => ({ ...video, scene: videoList.find(v => v.videoId === video.videoId)?.scene || 0 as 0 | 1 }));
|
|
setVideoList(mappedVideos);
|
|
setVideoList(mappedVideos);
|
|
setVideoListAll(old => [...old, ...mappedVideos]);
|
|
setVideoListAll(old => [...old, ...mappedVideos]);
|
|
setTotal(res.data.totalSize);
|
|
setTotal(res.data.totalSize);
|
|
@@ -98,7 +98,11 @@ const VideoSelectModal: React.FC<VideoSelectModalProps> = ({ planType, visible,
|
|
|
|
|
|
const handleOk = () => {
|
|
const handleOk = () => {
|
|
const selectedVideos = videoListAll.filter(video => selectedVideoIds.has(video.videoId));
|
|
const selectedVideos = videoListAll.filter(video => selectedVideoIds.has(video.videoId));
|
|
- onOk(selectedVideos);
|
|
|
|
|
|
+ // 去重
|
|
|
|
+ const uniqueSelectedVideos = selectedVideos.filter((video, index, self) =>
|
|
|
|
+ index === self.findIndex((t) => t.videoId === video.videoId)
|
|
|
|
+ );
|
|
|
|
+ onOk(uniqueSelectedVideos);
|
|
};
|
|
};
|
|
|
|
|
|
const playVideo = (video: WeVideoItem) => {
|
|
const playVideo = (video: WeVideoItem) => {
|
|
@@ -139,6 +143,7 @@ const VideoSelectModal: React.FC<VideoSelectModalProps> = ({ planType, visible,
|
|
width={800}
|
|
width={800}
|
|
placement="right"
|
|
placement="right"
|
|
loading={loading}
|
|
loading={loading}
|
|
|
|
+ destroyOnClose
|
|
styles={{ footer: { textAlign: 'right', padding: '10px 24px' } }}
|
|
styles={{ footer: { textAlign: 'right', padding: '10px 24px' } }}
|
|
footer={
|
|
footer={
|
|
<div className="flex justify-between items-center">
|
|
<div className="flex justify-between items-center">
|