فهرست منبع

Merge branch 'iteration-temp-http' into iteration-select-courseware

lex-xin 4 ماه پیش
والد
کامیت
d4746a5a9e

+ 7 - 2
src/api/cloudTextbooks.api.ts

@@ -25,11 +25,16 @@ export const getLessonCoursewareSubjectList_gym = () => {
 }
 
 // 课程详情列表
-export const getLessonCoursewareCourseList_gym = (params: { id: string; search?: string; abortController: AbortController }) => {
+export const getLessonCoursewareCourseList_gym = (params: {
+   id: string
+   data: { search?: string; detailFlag?: string }
+   abortController: AbortController
+}) => {
    return httpAxios_gym.axioseRquest({
       signal: params.abortController.signal,
       method: "get",
-      url: `/api-teacher/lessonCourseware/getLessonCoursewareCourseList/${params.id}?search=${params.search || ""}`
+      url: `/api-teacher/lessonCourseware/getLessonCoursewareCourseList/${params.id}`,
+      params: params.data
    })
 }
 

+ 2 - 2
src/views/cloudTextbooks/chooseDialog.vue

@@ -122,7 +122,7 @@ function handleCourseClick(value: any) {
       },
       query: {
          source: "search",
-         search: queryStr.value,
+         search: tempSearch.value,
          knowledgePointId: value.knowledgePointId,
          materialId: value.id
       }
@@ -134,7 +134,7 @@ function handleChangeType(type: "classlist" | "search") {
 }
 
 function handleQuery() {
-   tempSearch.value = queryStr.value
+   tempSearch.value = queryStr.value ? JSON.parse(JSON.stringify(queryStr.value)) : ""
    handleGetDetailList(props.modalData.id, true, queryStr.value)
 }
 </script>

+ 1 - 1
src/views/cloudTextbooks/useData.ts

@@ -245,7 +245,7 @@ export const useDataDetailList = () => {
       coursewareDetailController = new AbortController()
       if (!isSearch) loading.value = true
       searchLoading.value = true
-      httpAjax(getLessonCoursewareCourseList_gym, { id, search, abortController: coursewareDetailController }).then(res => {
+      httpAjax(getLessonCoursewareCourseList_gym, { id, data: { search }, abortController: coursewareDetailController }).then(res => {
          if (!isSearch) loading.value = false
          searchLoading.value = false
          if (res.code === 200) {

+ 22 - 8
src/views/coursewarePlay/coursewarePlay.vue

@@ -326,7 +326,10 @@ async function getLessCoursewareList(id?: string) {
    searchObj.loading = true
    await httpAjax(LessonCoursewareDetailApi[userStoreHook.roles!], {
       id: id || (route.params.id as string),
-      search: searchObj.queryStr,
+      data: {
+         search: searchObj.queryStr,
+         detailFlag: "1"
+      },
       abortController: coursewareDetailController
    }).then(res => {
       searchObj.loading = false
@@ -384,6 +387,7 @@ function getCoursewareMenuList(id?: string) {
 }
 let flattenCoursewareListData: any = [] // 临时扁平化数据
 function handlePointList(pointList: any[], isSearch?: boolean) {
+   flattenCoursewareListData = []
    const list = filterPointList(pointList)
    if (!isSearch) {
       // 重置数据
@@ -432,19 +436,17 @@ function filterPointList(pointList: any[], parentData?: { ids: string[]; name: s
    })
 }
 function handleChangeCourseware(index: -1 | 1) {
+   console.log("parentId parentId  parentId")
    handleVideoPause()
    handleSongPause()
    const newIndex = index + activeCoursewareIndex.value
    if (newIndex < 0 || newIndex > flattenCoursewareList.value.length - 1) {
       return
    }
-
-   const item = flattenCoursewareList.value[activeCoursewareIndex.value]
    const newItem = flattenCoursewareList.value[newIndex]
-   const parentId = item ? item.parentData.ids[0] : ""
-   const newParentId = newItem ? newItem.parentData.ids[0] : ""
-   if (parentId !== newParentId) {
-      const parentItem = coursewareList.value.find((item: any) => item.id === parentId)
+   const newParentId = newItem ? newItem.parentData?.ids[0] : ""
+   if (newParentId) {
+      const parentItem = coursewareList.value.find((item: any) => item.id === newParentId)
       if (parentItem) {
          lessonTargetDetail.value = parentItem.lessonTargetDesc
       }
@@ -457,9 +459,21 @@ function handleCourseClick(value: any) {
    searchObj.search = searchObj.tempSearch ? JSON.parse(JSON.stringify(searchObj.tempSearch)) : ""
    coursewareList.value = deepCopy(tempCoursewareList.value)
    flattenCoursewareList.value = deepCopy(tempFlattenCoursewareList.value)
-   activeCoursewareIndex.value = flattenCoursewareList.value.findIndex((item: any) => {
+
+   const newIndex = flattenCoursewareList.value.findIndex((item: any) => {
       return value.id === item.id && value.knowledgePointId === item.knowledgePointId
    })
+
+   const newItem = flattenCoursewareList.value[newIndex]
+   const newParentId = newItem ? newItem.parentData?.ids[0] : ""
+
+   if (newParentId) {
+      const parentItem = coursewareList.value.find((item: any) => item.id === newParentId)
+      if (parentItem) {
+         lessonTargetDetail.value = parentItem.lessonTargetDesc
+      }
+   }
+   activeCoursewareIndex.value = newIndex
    drawerShow.value = false
 }
 async function handleCourseMenuClick(value: any) {