Selaa lähdekoodia

🐞 fix: 模块空状态

wolyshaw 3 vuotta sitten
vanhempi
commit
52a4859f53

+ 11 - 2
src/student/music/album/index.tsx

@@ -5,6 +5,7 @@ import request from '@/helpers/request'
 import Item from './item'
 import SelectTag from '../search/select-tag'
 import { useRoute } from 'vue-router'
+import ColResult from '@/components/col-result'
 
 export default defineComponent({
   name: 'Album',
@@ -62,7 +63,9 @@ export default defineComponent({
         <List
           loading={loading.value}
           finished={finished.value}
-          finished-text="没有更多了"
+          finished-text={
+            data.value && data.value.rows.length ? '没有更多了' : ''
+          }
           onLoad={FetchList}
           error={isError.value}
         >
@@ -76,7 +79,13 @@ export default defineComponent({
           </Sticky>
           {data.value && data.value.rows.length
             ? data.value.rows.map(item => <Item data={item} />)
-            : null}
+            : !loading.value && (
+                <ColResult
+                  tips="暂无曲目"
+                  classImgSize="SMALL"
+                  btnStatus={false}
+                />
+              )}
         </List>
 
         <Popup

+ 11 - 2
src/student/music/list/index.tsx

@@ -5,6 +5,7 @@ import request from '@/helpers/request'
 import Item from './item'
 import SelectTag from '../search/select-tag'
 import { useRoute } from 'vue-router'
+import ColResult from '@/components/col-result'
 
 export default defineComponent({
   name: 'MusicList',
@@ -62,7 +63,9 @@ export default defineComponent({
         <List
           loading={loading.value}
           finished={finished.value}
-          finished-text="没有更多了"
+          finished-text={
+            data.value && data.value.rows.length ? '没有更多了' : ''
+          }
           onLoad={FetchList}
           error={isError.value}
         >
@@ -75,7 +78,13 @@ export default defineComponent({
           </Sticky>
           {data.value && data.value.rows.length
             ? data.value.rows.map(item => <Item data={item} />)
-            : null}
+            : !loading.value && (
+                <ColResult
+                  tips="暂无曲目"
+                  classImgSize="SMALL"
+                  btnStatus={false}
+                />
+              )}
         </List>
         <Popup
           show={tagVisibility.value}

+ 1 - 5
src/student/music/list/item.tsx

@@ -29,11 +29,7 @@ export default defineComponent({
     const toggleFavorite = async () => {
       favoriteLoading.value = true
       try {
-        await request.post('/api-student/music/sheet/favorite', {
-          params: {
-            id: data.id
-          }
-        })
+        await request.post('/api-student/music/sheet/favorite/' + data.id)
         favorite.value = !favorite.value
       } catch (error) {}
       favoriteLoading.value = false

+ 24 - 16
src/student/music/search/index.tsx

@@ -8,6 +8,7 @@ import styles from './index.module.less'
 import classNames from 'classnames'
 import request from '@/helpers/request'
 import SelectTag from './select-tag'
+import ColResult from '@/components/col-result'
 
 export default defineComponent({
   name: 'MusicSearch',
@@ -95,22 +96,26 @@ export default defineComponent({
               />
             </div>
           )}
-          <Cell
-            class={styles.title}
-            title="专辑"
-            is-link
-            to={{
-              path: '/music-album',
-              query: {
-                search: keyword.value,
-                tagids: tagids.value
-              }
-            }}
-            value="更多"
-          />
-          {albumRows.value.map(item => (
-            <AlbumItem data={item} />
-          ))}
+          {albumRows.value.length > 0 && (
+            <>
+              <Cell
+                class={styles.title}
+                title="专辑"
+                is-link
+                to={{
+                  path: '/music-album',
+                  query: {
+                    search: keyword.value,
+                    tagids: tagids.value
+                  }
+                }}
+                value="更多"
+              />
+              {albumRows.value.map(item => (
+                <AlbumItem data={item} />
+              ))}
+            </>
+          )}
           <Cell
             class={styles.title}
             title="曲谱"
@@ -127,6 +132,9 @@ export default defineComponent({
           {sheetRows.value.map(item => (
             <MusicItem data={item} />
           ))}
+          {!loading.value && sheetRows.value.length === 0 && (
+            <ColResult tips="暂无曲目" classImgSize="SMALL" btnStatus={false} />
+          )}
           <Popup
             show={tagVisibility.value}
             round