Browse Source

更新选择声部逻辑

曲谱,视频课,直播课;所有选择声部的逻辑统一,如果没有声部,则查询全部声部,有声部则查询当前用的声部,如果有多个则查询第一个声部;
lex 2 years ago
parent
commit
3f08769b98

+ 1 - 1
src/helpers/hooks.ts

@@ -19,7 +19,7 @@ export const useSubjectId = (
   type = 'get' as 'get' | 'set'
 ) => {
   // 判断是否在关键字
-  console.log(key, value, type)
+  // console.log(key, value, type)
   if (!key) return ''
   if (type === 'get') {
     let subject = localStorage.getItem(key)

+ 16 - 16
src/student/teacher-dependent/teacher-elegant.tsx

@@ -16,21 +16,15 @@ import { SubjectEnum, useSubjectId } from '@/helpers/hooks'
 
 export default defineComponent({
   data() {
-    // const sessionSubjectId = sessionStorage.getItem('elegantSubjectId')
-    const subjects: any = useSubjectId(SubjectEnum.ELEGANT)
-    const sessionSubjectId = Number(subjects.id)
     return {
-      sessionSubjectId,
       searchStatus: false,
       openStatus: false,
       subjectList: [],
       params: {
         username: '',
         page: 1,
-        subjectId: (sessionSubjectId ||
-          state.user.data?.subjectId ||
-          null) as any,
-        subjectName: ''
+        subjectId: null as any,
+        subjectName: '全部声部'
       },
       dataShow: true, // 判断是否有数据
       loading: false,
@@ -44,18 +38,24 @@ export default defineComponent({
       const res = await request.get('/api-student/subject/subjectSelect')
       this.subjectList = res.data || []
     } catch {}
-    let subjectName = ''
-    this.subjectList.forEach((item: any) => {
-      item.subjects?.forEach((child: any) => {
-        if (child.id === Number(this.sessionSubjectId)) {
-          subjectName = child.name
+    // 判断是否在缓存
+    const subjects: any = useSubjectId(SubjectEnum.ELEGANT)
+    if (subjects.id) {
+      this.params.subjectId = Number(subjects.id)
+      this.params.subjectName = subjects.name
+    } else {
+      const list = this.subjectList
+      const subjectIds = state.user.data?.subjectId || ''
+      const subjectId = subjectIds ? Number(subjectIds.split(',')[0]) : null
+      list.forEach((subject: any) => {
+        if (subject.id === subjectId) {
+          this.params.subjectId = subjects.id
+          this.params.subjectName = subjects.name
         }
       })
-    })
-    this.params.subjectName = subjectName || state.user.data?.subjectName || ''
+    }
     await this.getList()
     sessionStorage.removeItem('teacherHomeTabs')
-    // sessionStorage.removeItem('elegantSubjectId')
   },
   computed: {
     filterDot() {

+ 16 - 30
src/views/live-class/index.tsx

@@ -15,12 +15,6 @@ import { SubjectEnum, useSubjectId } from '@/helpers/hooks'
 export default defineComponent({
   name: 'liveClass',
   data() {
-    const subjects: any = useSubjectId(SubjectEnum.LIVE)
-    const sessionSubjectId = Number(subjects.id)
-    const subjectIds = state.user.data?.subjectId || ''
-    const subjectId = subjectIds ? Number(subjectIds.split(',')[0]) : null
-
-    console.log(sessionSubjectId, subjectId, 'subject')
     return {
       apiSuffix:
         state.platformType === 'STUDENT' ? '/api-student' : '/api-teacher',
@@ -31,11 +25,10 @@ export default defineComponent({
       searchStatus: false,
       openStatus: false,
       subjectList: [],
-      sessionSubjectId,
       params: {
         search: '',
-        subjectId: (sessionSubjectId || subjectId || null) as any,
-        subjectName: '全部',
+        subjectId: null as any,
+        subjectName: '全部声部',
         groupStatus: 'APPLY',
         page: 1,
         rows: 20
@@ -51,28 +44,21 @@ export default defineComponent({
     } catch {
       //
     }
-    const list = this.subjectList
-    const userSubjectId = this.params.subjectId
-      ? [this.params.subjectId]
-      : state.user.data?.subjectId.split(',').map(n => parseInt(n)) || [
-          this.params.subjectId
-        ]
-    let isRest = true
-    for (let i = 0; i < list.length; i++) {
-      const subjects = (list[i] as any).subjects || []
-      for (let j = 0; j < subjects.length; j++) {
-        if (userSubjectId.includes(subjects[j].id)) {
-          this.params.subjectId = subjects[j].id
-          this.params.subjectName = subjects[j].name
-          isRest = false
-          break
+    // 判断是否在缓存
+    const subjects: any = useSubjectId(SubjectEnum.LIVE)
+    if (subjects.id) {
+      this.params.subjectId = Number(subjects.id)
+      this.params.subjectName = subjects.name
+    } else {
+      const list = this.subjectList
+      const subjectIds = state.user.data?.subjectId || ''
+      const subjectId = subjectIds ? Number(subjectIds.split(',')[0]) : null
+      list.forEach((subject: any) => {
+        if (subject.id === subjectId) {
+          this.params.subjectId = subjects.id
+          this.params.subjectName = subjects.name
         }
-      }
-    }
-    // console.log(isRest, 'isRest')
-    if (isRest && list.length && (list[0] as any).subjects) {
-      this.params.subjectId = (list[0] as any).subjects[0].id
-      this.params.subjectName = (list[0] as any).subjects[0].name
+      })
     }
     this.getList()
   },

+ 0 - 1
src/views/music/album/index.tsx

@@ -34,7 +34,6 @@ export default defineComponent({
       const subjectName = users.subjectName
         ? users.subjectName.split(',')[0]
         : ''
-      console.log(subjectName, subjectId, subjects)
       if (subjectId) {
         useSubjectId(
           SubjectEnum.SEARCH,

+ 0 - 2
src/views/music/search/header.tsx

@@ -24,7 +24,6 @@ const selectTagRef = ref()
 export default defineComponent({
   name: 'MusicSearchHeader',
   setup() {
-    console.log(state.user.data, 'music-search-header')
     const subjects: any = useSubjectId(SubjectEnum.SEARCH)
     // 判断是否已有数据
     if (!subjects.id) {
@@ -35,7 +34,6 @@ export default defineComponent({
       const subjectName = users.subjectName
         ? users.subjectName.split(',')[0]
         : ''
-      console.log(subjectName, subjectId, subjects)
       if (subjectId) {
         useSubjectId(
           SubjectEnum.SEARCH,

+ 1 - 0
src/views/order-detail/use-coupons/index.tsx

@@ -89,6 +89,7 @@ export default defineComponent({
             couponCategory: this.couponCategory,
             couponType: 'FULL_DISCOUNT',
             useState: 'USABLE',
+            orderUse: 1,
             page: 1,
             rows: 100
           }

+ 17 - 26
src/views/video-class/index.tsx

@@ -15,10 +15,6 @@ import { SubjectEnum, useSubjectId } from '@/helpers/hooks'
 export default defineComponent({
   name: 'VideoClass',
   data() {
-    const subjects: any = useSubjectId(SubjectEnum.VIDEO)
-    const sessionSubjectId = Number(subjects.id)
-    const subjectIds = state.user.data?.subjectId || ''
-    const subjectId = subjectIds ? Number(subjectIds.split(',')[0]) : null
     return {
       apiSuffix:
         state.platformType === 'STUDENT' ? '/api-student' : '/api-teacher',
@@ -29,8 +25,8 @@ export default defineComponent({
       finished: false,
       params: {
         search: '',
-        lessonSubject: (sessionSubjectId || subjectId || null) as any,
-        subjectName: '全部',
+        lessonSubject: null as any,
+        subjectName: '全部声部',
         page: 1,
         rows: 20
       },
@@ -48,27 +44,22 @@ export default defineComponent({
     } catch {
       //
     }
-    const list = this.subjectList
-    const userSubjectId = this.params.lessonSubject
-      ? [this.params.lessonSubject]
-      : state.user.data?.subjectId.split(',').map(n => parseInt(n)) || [
-          this.params.lessonSubject
-        ]
-    let isRest = true
-    for (let i = 0; i < list.length; i++) {
-      const subjects = (list[i] as any).subjects || []
-      for (let j = 0; j < subjects.length; j++) {
-        if (userSubjectId.includes(subjects[j].id)) {
-          this.params.lessonSubject = subjects[j].id
-          this.params.subjectName = subjects[j].name
-          isRest = false
-          break
+
+    // 判断是否在缓存
+    const subjects: any = useSubjectId(SubjectEnum.VIDEO)
+    if (subjects.id) {
+      this.params.lessonSubject = Number(subjects.id)
+      this.params.subjectName = subjects.name
+    } else {
+      const list = this.subjectList
+      const subjectIds = state.user.data?.subjectId || ''
+      const subjectId = subjectIds ? Number(subjectIds.split(',')[0]) : null
+      list.forEach((subject: any) => {
+        if (subject.id === subjectId) {
+          this.params.lessonSubject = subjects.id
+          this.params.subjectName = subjects.name
         }
-      }
-    }
-    if (isRest && list.length && (list[0] as any).subjects) {
-      this.params.lessonSubject = (list[0] as any).subjects[0].id
-      this.params.subjectName = (list[0] as any).subjects[0].name
+      })
     }
     this.getList()
   },