From 65a4045a8b0e19e6a01767e033a9ec3d570c524a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BA=E7=8B=A8?= <18119604035@163.com> Date: Wed, 29 Mar 2023 13:36:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E4=B8=8A=E8=AF=BE=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E3=80=81=E7=BC=96=E8=BE=91=E8=AF=BE=E6=97=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compenents/upload-video-sub/index.tsx | 47 +++++++++++++++------ src/pages/course/compenents/create.tsx | 25 ++++++++--- src/pages/course/compenents/hour-update.tsx | 12 +++++- src/pages/course/compenents/update.tsx | 10 ----- 4 files changed, 64 insertions(+), 30 deletions(-) diff --git a/src/compenents/upload-video-sub/index.tsx b/src/compenents/upload-video-sub/index.tsx index c93f2e4..d7819fb 100644 --- a/src/compenents/upload-video-sub/index.tsx +++ b/src/compenents/upload-video-sub/index.tsx @@ -109,10 +109,19 @@ export const UploadVideoSub = (props: PropsInterface) => { setCheckedList(list); setIndeterminate(!!list.length && list.length < plainOptions.length); setCheckAll(list.length === plainOptions.length); + const defalut = [...props.defaultCheckedList]; + let localKeys: any = []; + list.map((item: any) => { + if (defalut.indexOf(item) === -1) { + localKeys.push(item); + } + }); + let arrVideos: any = []; - for (let i = 0; i < list.length; i++) { + + for (let i = 0; i < localKeys.length; i++) { videoList.map((item: any, index: number) => { - if (item.id === list[i]) { + if (item.id === localKeys[i]) { arrVideos.push({ name: item.name, type: item.type, @@ -123,8 +132,7 @@ export const UploadVideoSub = (props: PropsInterface) => { } }); } - - props.onSelected(list, arrVideos); + props.onSelected(localKeys, arrVideos); }; const onCheckAllChange = (e: CheckboxChangeEvent) => { @@ -132,18 +140,29 @@ export const UploadVideoSub = (props: PropsInterface) => { setCheckedList(e.target.checked ? arr : []); setIndeterminate(false); setCheckAll(e.target.checked); - let arrVideos: any = []; - videoList.map((item: any, index: number) => { - arrVideos.push({ - name: item.name, - type: item.type, - rid: item.id, - duration: videosExtra[item.id].duration, - disabled: plainOptions[index].disabled, - }); + const defalut = [...props.defaultCheckedList]; + let localKeys: any = []; + arr.map((item: any) => { + if (defalut.indexOf(item) === -1) { + localKeys.push(item); + } }); + let arrVideos: any = []; + for (let i = 0; i < localKeys.length; i++) { + videoList.map((item: any, index: number) => { + if (item.id === localKeys[i]) { + arrVideos.push({ + name: item.name, + type: item.type, + rid: item.id, + duration: videosExtra[item.id].duration, + disabled: plainOptions[index].disabled, + }); + } + }); + } if (e.target.checked) { - props.onSelected(arr, arrVideos); + props.onSelected(localKeys, arrVideos); } else { props.onSelected([], []); } diff --git a/src/pages/course/compenents/create.tsx b/src/pages/course/compenents/create.tsx index cb586aa..231cc5e 100644 --- a/src/pages/course/compenents/create.tsx +++ b/src/pages/course/compenents/create.tsx @@ -72,6 +72,7 @@ export const CourseCreate: React.FC = ({ setThumb(defaultThumb1); setChapterType(0); setChapters([]); + setChapterHours([]); setHours([]); setTreeData([]); }, [form, open]); @@ -213,16 +214,20 @@ export const CourseCreate: React.FC = ({ }; const selectData = (arr: any, videos: any) => { - setHours(arr); - setTreeData(videos); + let keys = [...hours]; + let data = [...treeData]; + keys = keys.concat(arr); + data = data.concat(videos); + setHours(keys); + setTreeData(data); setVideoVisible(false); }; const selectChapterData = (arr: any, videos: any) => { const data = [...chapters]; const keys = [...chapterHours]; - keys[addvideoCurrent] = arr; - data[addvideoCurrent].hours = videos; + keys[addvideoCurrent] = keys[addvideoCurrent].concat(arr); + data[addvideoCurrent].hours = data[addvideoCurrent].hours.concat(videos); setChapters(data); setChapterHours(keys); setVideoVisible(false); @@ -361,6 +366,16 @@ export const CourseCreate: React.FC = ({ setChapters(data); }; + const changeChapterHours = (arr: any) => { + const newArr: any = []; + for (let i = 0; i < arr.length; i++) { + arr[i].map((item: any) => { + newArr.push(item); + }); + } + return newArr; + }; + return ( <> = ({
{ diff --git a/src/pages/course/compenents/hour-update.tsx b/src/pages/course/compenents/hour-update.tsx index 9829d13..8572ac8 100644 --- a/src/pages/course/compenents/hour-update.tsx +++ b/src/pages/course/compenents/hour-update.tsx @@ -346,6 +346,16 @@ export const CourseHourUpdate: React.FC = ({ }); }; + const changeChapterHours = (arr: any) => { + const newArr: any = []; + for (let i = 0; i < arr.length; i++) { + arr[i].map((item: any) => { + newArr.push(item); + }); + } + return newArr; + }; + return ( <> = ({
{ diff --git a/src/pages/course/compenents/update.tsx b/src/pages/course/compenents/update.tsx index 0308f2b..f09c120 100644 --- a/src/pages/course/compenents/update.tsx +++ b/src/pages/course/compenents/update.tsx @@ -96,16 +96,6 @@ export const CourseUpdate: React.FC = ({ }); }; - const checkChild = (departments: any[], id: number) => { - for (let key in departments) { - for (let i = 0; i < departments[key].length; i++) { - if (departments[key][i].id === id) { - return departments[key][i]; - } - } - } - }; - const checkArr = (departments: any[], id: number) => { const arr = []; for (let i = 0; i < departments[id].length; i++) {