فهرست منبع

Merge branch 'fine-music-score' into jenkins

lex 2 سال پیش
والد
کامیت
947ccec1b7
4فایلهای تغییر یافته به همراه69 افزوده شده و 37 حذف شده
  1. 2 2
      src/student/main.ts
  2. 22 16
      src/teacher/income-consus/index.tsx
  3. 13 0
      src/views/music/album-detail/index.module.less
  4. 32 19
      src/views/music/album-detail/index.tsx

+ 2 - 2
src/student/main.ts

@@ -14,8 +14,8 @@ import { browser } from '@/helpers/utils'
 
 const app = createApp(App)
 
-import Vconsole from 'vconsole'
-const vconsole = new Vconsole()
+// import Vconsole from 'vconsole'
+// const vconsole = new Vconsole()
 postMessage(
   {
     api: 'getVersion'

+ 22 - 16
src/teacher/income-consus/index.tsx

@@ -151,21 +151,26 @@ export default defineComponent({
           }
         )
         const result = res.data || {}
-
         this.moneyInfo = {
-          totalSingleRate:
-            result.practiceRate +
-            result.liveRate +
-            result.videoRate +
-            result.musicRate,
-          totalShareRate:
-            result.vipShareRate +
-              result.liveShareRate +
-              result.videoShareRate +
-              result.musicShareRate +
-              result.mallShareRate +
-              result.actiRegistShareRate +
-              result.albumShareRate || 0,
+          totalSingleRate: Number(
+            (
+              result.practiceRate +
+              result.liveRate +
+              result.videoRate +
+              result.musicRate
+            ).toFixed(2)
+          ),
+          totalShareRate: Number(
+            (
+              result.vipShareRate +
+                result.liveShareRate +
+                result.videoShareRate +
+                result.musicShareRate +
+                result.mallShareRate +
+                result.actiRegistShareRate +
+                result.albumShareRate || 0
+            ).toFixed(2)
+          ),
           totalInAmount: result.totalInAmount || 0,
           practiceAmount: result.practiceAmount || 0,
           practiceRate: result.practiceRate || 0,
@@ -190,6 +195,7 @@ export default defineComponent({
           actiRegistShareAmount: result.actiRegistShareAmount || 0,
           actiRegistShareRate: result.actiRegistShareRate || 0
         }
+        console.log(this.moneyInfo)
         // 处理折线图数据
         const lineData = {
           xAxis: [] as any,
@@ -371,7 +377,7 @@ export default defineComponent({
                 <div class={styles.type}>
                   <span>专辑推荐</span>
                   <span class={styles.price}>
-                    {moneyFormat(this.moneyInfo.musicShareAmount)}
+                    {moneyFormat(this.moneyInfo.albumShareAmount)}
                   </span>
                 </div>
               </Col>
@@ -472,7 +478,7 @@ export default defineComponent({
             <div>
               <i class={styles.pie7}></i>
               <span class={styles.pieTitle}>专辑推荐</span>
-              <span>{this.moneyInfo.mallShareRate}%</span>
+              <span>{this.moneyInfo.albumShareRate}%</span>
             </div>
           </div>
         </div>

+ 13 - 0
src/views/music/album-detail/index.module.less

@@ -284,3 +284,16 @@
   color: #ffffff;
   line-height: 24px;
 }
+.buttonDiscount {
+  position: absolute;
+  top: -23px;
+  right: 15px;
+  padding: 0 10px;
+  height: 23px;
+  background: linear-gradient(180deg, #ffb635 0%, #ff4e18 100%);
+  border-radius: 8px 8px 0px 0px;
+  font-size: 14px;
+  font-weight: 600;
+  color: #ffffff;
+  line-height: 24px;
+}

+ 32 - 19
src/views/music/album-detail/index.tsx

@@ -41,6 +41,7 @@ export default defineComponent({
   setup({ onItemClick }) {
     localStorage.setItem('behaviorId', getRandomKey())
     const router = useRouter()
+    const route = useRoute()
     const params = reactive({
       search: '',
       relatedNum: 6, //相关专辑数
@@ -51,6 +52,8 @@ export default defineComponent({
     // const data = ref<any>(null)
     const rows = ref<any[]>([])
     const loading = ref(false)
+    const aId = Number(route.query.activityId) || 0
+    const studentActivityId = ref(aId)
     // const finished = ref(false)
     const isError = ref(false)
     const favorited = ref(0)
@@ -60,7 +63,6 @@ export default defineComponent({
     const color = ref<string>('#fff')
     const heightInfo = ref<any>('auto')
 
-    const route = useRoute()
     const FetchList = async (id?: any) => {
       if (loading.value) {
         return
@@ -219,8 +221,14 @@ export default defineComponent({
             userId
           }
         })
-        activityId = res.data.activityId || 0
-        shareDiscount.value = res.data.discount || 0
+        // 如果有会员则显示
+        if (
+          albumDetail.value?.musicPaymentTypes &&
+          albumDetail.value?.musicPaymentTypes.includes('VIP')
+        ) {
+          activityId = res.data.activityId || 0
+          shareDiscount.value = res.data.discount || 0
+        }
       }
       shareUrl.value = `${location.origin}/teacher#/shareAblum?id=${id}&recomUserId=${userId}&activityId=${activityId}&userType=${state.platformType}`
       console.log(shareUrl.value, 'shareUrl')
@@ -388,22 +396,27 @@ export default defineComponent({
                   </Button>
                   {albumDetail.value?.musicPaymentTypes &&
                     albumDetail.value?.musicPaymentTypes.includes('VIP') && (
-                      <Button
-                        block
-                        round
-                        type="primary"
-                        style={{ fontSize: '16px' }}
-                        onClick={() => {
-                          router.push({
-                            path: '/memberCenter',
-                            query: {
-                              ...route.query
-                            }
-                          })
-                        }}
-                      >
-                        开通会员
-                      </Button>
+                      <>
+                        <Button
+                          block
+                          round
+                          type="primary"
+                          style={{ fontSize: '16px' }}
+                          onClick={() => {
+                            router.push({
+                              path: '/memberCenter',
+                              query: {
+                                ...route.query
+                              }
+                            })
+                          }}
+                        >
+                          {studentActivityId.value > 0 && (
+                            <div class={[styles.buttonDiscount]}>专属优惠</div>
+                          )}
+                          开通会员
+                        </Button>
+                      </>
                     )}
                 </div>
               </ColSticky>