skyblued 2 년 전
부모
커밋
a4a141c658

+ 4 - 3
src/components/musicLIstItem/index.module.less

@@ -161,8 +161,8 @@
       }
     }
     .touchButtonO {
-      &:hover {
-      }
+      margin-bottom: 65px;
+      display: flex;
       .touchButton {
         background: #fff;
         border-radius: 12px;
@@ -173,7 +173,8 @@
         border-radius: 10px;
         border: 1px solid #4ca751;
         display: flex;
-        margin-bottom: 65px;
+        margin-left: 10px;
+        
         .touchButtonWrap {
           width: 54px;
           height: 100%;

+ 20 - 15
src/components/musicLIstItem/index.tsx

@@ -108,21 +108,26 @@ export default defineComponent({
                   <p>查看详情</p>
                 </div>
               ) : (
-                <div
-                  class={[
-                    classes.touchButton,
-                    classes[state.item.chargeType?.toLocaleLowerCase()]
-                  ]}
-                >
-                  <div class={classes.touchButtonWrap}>
-                    <img src={chargeImg[state.item.chargeType]} alt="" />
-                  </div>
-                  <div class={classes.touchButtonText}>
-                    {chargeTypes[state.item.chargeType]
-                      ? chargeTypes[state.item.chargeType]
-                      : '点播'}
-                  </div>
-                </div>
+                <>
+                  {state.item.paymentType && state.item.paymentType.map((tag: string) => (
+                    <div
+                      class={[
+                        classes.touchButton,
+                        classes[tag?.toLocaleLowerCase()]
+                      ]}
+                    >
+                      <div class={classes.touchButtonWrap}>
+                        <img src={chargeImg[tag]} alt="" />
+                      </div>
+                      <div class={classes.touchButtonText}>
+                        {chargeTypes[tag]
+                          ? chargeTypes[tag]
+                          : '点播'}
+                      </div>
+                    </div>
+                  ))}
+                  
+                </>
               )}
             </div>
             {/* <img class={classes.arrow} src={arrow} alt="" /> */}

+ 7 - 1
src/views/albumDetail/index.tsx

@@ -65,6 +65,9 @@ export default defineComponent({
             page: state.pageInfo.page,
             rows: state.pageInfo.limit,
             clientType: getUserType()
+          },
+          params: {
+            clientType: getUserType()
           }
         })
         state.details = res.data
@@ -74,7 +77,10 @@ export default defineComponent({
         } else {
           state.isshowData = false
         }
-        state.musicList = res.data.musicSheetList.rows
+        state.musicList = Array.isArray(res.data.musicSheetList.rows) && res.data.musicSheetList.rows.map(n => {
+          if (typeof n.paymentType === "string") n.paymentType = n.paymentType.split(',')
+          return n
+        }) || []
         state.hotList = res.data.hotMusicAlbum
         state.hotTagList = res.data.musicTagNames.split(',') || []
         state.relatedMusicAlbum = res.data.relatedMusicAlbum

+ 4 - 4
src/views/albumDetail/modals/musicLIstItem/index.module.less

@@ -175,9 +175,8 @@
       right: 0;
       top: 38px;
       position: absolute;
-      &:hover {
-
-      }
+      margin-bottom: 65px;
+      display: flex;
       .touchButton {
         background: #fff;
         border-radius: 12px;
@@ -188,7 +187,8 @@
         border-radius: 10px;
         border: 1px solid #4ca751;
         display: flex;
-        margin-bottom: 65px;
+        margin-left: 10px;
+        
         .touchButtonWrap {
           width: 54px;
           height: 100%;

+ 16 - 15
src/views/albumDetail/modals/musicLIstItem/index.tsx

@@ -96,21 +96,22 @@ export default defineComponent({
                       <p>查看</p>
                     </div>
                   ) : (
-                    <div
-                      class={[
-                        classes.touchButton,
-                        classes[state.item.chargeType?.toLocaleLowerCase()]
-                      ]}
-                    >
-                      {/* <div class={classes.touchButtonWrap}>
-                    <img src={chargeImg[state.item.chargeType]} alt="" />
-                  </div> */}
-                      <div class={classes.touchButtonText}>
-                        {chargeTypes[state.item.chargeType]
-                          ? chargeTypes[state.item.chargeType]
-                          : '点播'}
-                      </div>
-                    </div>
+                    <>
+                      {state.item.paymentType && state.item.paymentType.map((tag: string) => (
+                        <div
+                          class={[
+                            classes.touchButton,
+                            classes[tag?.toLocaleLowerCase()]
+                          ]}
+                        >
+                          <div class={classes.touchButtonText}>
+                            {chargeTypes[tag]
+                              ? chargeTypes[tag]
+                              : '点播'}
+                          </div>
+                        </div>
+                      ))}
+                    </>
                   )}
                 </div>
               </div>

+ 2 - 0
src/views/home/index.tsx

@@ -44,6 +44,8 @@ export default defineComponent({
             albumStatus: 1,
             page: 1,
             rows: 8,
+          },
+          params:{
             clientType: getUserType()
           }
         })

+ 12 - 8
src/views/muiscDetial/index.tsx

@@ -161,6 +161,7 @@ export default defineComponent({
             }
           }
         )
+        res.data.paymentType = res.data.paymentType.split(',')
         state.musicDetail = res.data
         state.musicList = res.data.teacher.musicSheetList
         state.subjectList = res.data.background
@@ -533,14 +534,17 @@ export default defineComponent({
                 <div class={classes.right}>
                   <div class={classes.musicInfo}>
                     <h2>
-                      <span
-                        class={[
-                          classes.musicTag,
-                          classes[chargeClass[state.musicDetail.chargeType]]
-                        ]}
-                      >
-                        {chargeTypes[state.musicDetail.chargeType]}
-                      </span>
+                      {state.musicDetail.paymentType && state.musicDetail.paymentType.map((tag: string) => (
+                        <span
+                          class={[
+                            classes.musicTag,
+                            classes[chargeClass[tag]]
+                          ]}
+                        >
+                          {chargeTypes[tag]}
+                        </span>
+                      ))}
+                      
                       {state.musicDetail.musicSheetName}
                     </h2>
                     <div class={classes.collectWrap}>

+ 2 - 0
src/views/musicLibrary/index.tsx

@@ -54,6 +54,8 @@ export default defineComponent({
             page: 1,
             subjectIds: subjectId ? subjectId : null,
             rows: 10,
+          },
+          params:{
             clientType: getUserType()
           }
         })

+ 2 - 0
src/views/musicLibrary/modals/searchAlbum.tsx

@@ -50,6 +50,8 @@ export default defineComponent({
             ...state.search,
             page: state.pageInfo.page,
             rows: state.pageInfo.limit,
+          },
+          params:{
             clientType: getUserType()
           }
         })

+ 6 - 1
src/views/musicLibrary/modals/searchMusic.tsx

@@ -66,11 +66,16 @@ export default defineComponent({
             page: state.pageInfo.page,
             rows: state.pageInfo.limit,
             state: 1,
+          },
+          params:{
             clientType: getUserType()
           }
         })
 
-        state.musicList = res.data.rows
+        state.musicList = res.data.rows.map(n => {
+          if (typeof n.paymentType === "string") n.paymentType = n.paymentType.split(',')
+          return n
+        })
         state.pageInfo.total = res.data.total
         if( state.pageInfo.total == 0){
           state.isshowData = true

+ 15 - 12
src/views/user-info/music-class/item.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, reactive, watch } from 'vue'
+import { defineComponent, PropType, reactive, watch } from 'vue'
 import icon from './images/icon.png'
 import classes from './index.module.less'
 import detaile from './images/detaile.png'
@@ -18,6 +18,7 @@ type Props = {
   titleImg: string
   chargeType: string
   auditStatus?: string
+  paymentType: []
 }
 const chargeTypes = {
   CHARGE: '点播',
@@ -29,7 +30,7 @@ export default defineComponent({
   name: 'music-item',
   props: {
     item: {
-      type: Object as () => Props,
+      type: Object as () => Props ,
       default: () => ({})
     },
     onClick: {
@@ -71,16 +72,18 @@ export default defineComponent({
             <div class={classes.textWrap}>
               <p>
                 {state.item.musicSheetName}
-                <div
-                  class={[
-                    classes.touchButton,
-                    classes[state.item.chargeType?.toLocaleLowerCase()]
-                  ]}
-                >
-                  {chargeTypes[state.item.chargeType]
-                    ? chargeTypes[state.item.chargeType]
-                    : '点播'}
-                </div>
+                {state.item.paymentType && state.item.paymentType.map((tag: string) => (
+                  <div
+                    class={[
+                      classes.touchButton,
+                      classes[tag?.toLocaleLowerCase()]
+                    ]}
+                  >
+                    {chargeTypes[tag]
+                      ? chargeTypes[tag]
+                      : '点播'}
+                  </div>
+                ))}
               </p>
               <div class={classes.authorInfo}>
                 <span>作曲: {state.item.composer}</span>

+ 6 - 2
src/views/user-info/music-class/list.tsx

@@ -57,7 +57,10 @@ export default defineComponent({
             }
           }
         )
-        this.list = data.list.rows || []
+        this.list = Array.isArray(data.list.rows) && data.list.rows.map(n => {
+          if (typeof n.paymentType === 'string') n.paymentType = n.paymentType.split(',')
+          return n
+        }) || []
         this.pageInfo.total = data.list.total
         if (data.list.total <= 0) {
           this.dataShow = true
@@ -160,7 +163,8 @@ export default defineComponent({
                       subjectNames: item.subjectNames,
                       titleImg: item.titleImg,
                       composer: item.composer,
-                      chargeType: item.chargeType
+                      chargeType: item.chargeType,
+                      paymentType: item.paymentType || []
                     }}
                     class={[
                       styles.musicListItem,