lex-xin před 2 měsíci
rodič
revize
93f47b9963

+ 1 - 1
src/business-components/user-detail/index.tsx

@@ -109,7 +109,7 @@ export default defineComponent({
                       <div class={[styles.buyNum, styles.buyNumOther]}>
                         {this.userInfo.type === 'live' ? (
                           <span>
-                            {this.userInfo.buyNum}人
+                            {this.userInfo.buyNum}人
                             {this.userInfo.lessonPrice <= 0 &&
                             this.userInfo.auditVersion === 0
                               ? '领取'

+ 2 - 1
src/student/live-class/live-detail.module.less

@@ -23,6 +23,7 @@
 
     h3 {
       display: flex;
+      align-items: center;
       font-size: 14px;
       font-weight: 500;
       color: #333333;
@@ -47,7 +48,7 @@
   .btnMore {
     display: flex;
     justify-content: space-around;
-    padding: 20px 28px 30px;
+    padding: 10px 28px 30px;
     background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, #FFFFFF 100%), #FFFDFD;
     box-shadow: 0px 0px 2px 0px rgba(216,216,216,0.5);
 

+ 6 - 0
src/student/video-class/video-class-detail.module.less

@@ -1,5 +1,6 @@
 .video-class-detail {
   min-height: 100vh;
+  --message-field: 30px;
 
   .videoDesc {
     background-color: #fff;
@@ -94,4 +95,9 @@
   bottom: 0;
   left: 0;
   right: 0;
+  :global {
+    .van-field {
+      padding-bottom: var(--message-field);
+    }
+  }
 }

+ 2 - 2
src/student/video-class/video-class-detail.tsx

@@ -419,9 +419,9 @@ export default defineComponent({
               style={{
                 // height: `calc(100vh - 380px - ${this.navHeight}px)`,
                 overflowY: 'auto',
-                height: `calc(100vh - var(--van-tabs-line-height) - var(--header-height) - (var(--van-cell-vertical-padding) * 2 + var( --van-cell-line-height)))`,
+                height: `calc(100vh - var(--van-tabs-line-height) - var(--message-field) - var(--header-height) - (var(--van-cell-vertical-padding) * 2 + var( --van-cell-line-height)))`,
                 marginBottom:
-                  'calc(var(--van-cell-vertical-padding) * 2 + var( --van-cell-line-height))'
+                  'calc(var(--van-cell-vertical-padding) * 2 + var( --van-cell-line-height) + var(--message-field))'
               }}
             >
               {this.dataShow ? (

+ 1 - 1
src/student/video-class/video-detail.module.less

@@ -17,7 +17,7 @@
   .btnMore {
     display: flex;
     justify-content: space-around;
-    padding: 20px 28px 30px;
+    padding: 10px 28px 30px;
     background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, #FFFFFF 100%), #FFFDFD;
     box-shadow: 0px 0px 2px 0px rgba(216,216,216,0.5);
 

+ 4 - 0
src/styles/index.less

@@ -124,6 +124,10 @@ body {
   margin-bottom: 16px !important;
 }
 
+.mb24 {
+  margin-bottom: 24px !important;
+}
+
 .mt8 {
   margin-top: 8px !important;
 }

+ 1 - 1
src/teacher/live-class/live-detail.module.less

@@ -24,7 +24,7 @@
 .btnMore {
   display: flex;
   justify-content: space-around;
-  padding: 20px 28px 30px;
+  padding: 10px 28px 30px;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%),
     #fffdfd;
   box-shadow: 0px 0px 2px 0px rgba(216, 216, 216, 0.5);

+ 6 - 14
src/teacher/live-class/live-detail.tsx

@@ -210,6 +210,7 @@ export default defineComponent({
         {this.myself ? (
           <SectionDetail title="课程列表" icon="courseList" border={true}>
             <CoursePlanStep
+              showState
               courseInfo={this.courseInfo}
               courseId={Number(this.courseId) || 0}
             />
@@ -231,10 +232,10 @@ export default defineComponent({
                   courseId={Number(this.courseId) || 0}
                 />
               </Tab>
-              <Tab title="上课学" titleClass="van-hairline--bottom">
+              <Tab title="上课学" titleClass="van-hairline--bottom">
                 {this.studentList.map((item: any) => (
                   <UserList
-                    class="mb16"
+                    class="mb24"
                     users={{
                       avatar: item.avatar,
                       studentId: item.studentId,
@@ -258,10 +259,7 @@ export default defineComponent({
           <>
             {this.courseOffStatus && (
               <TheSticky position="bottom">
-                <div
-                  class={['btnGroup']}
-                  style={{ paddingTop: '10px', background: '#fff' }}
-                >
+                <div class={['btnGroup']}>
                   <Button
                     block
                     round
@@ -276,10 +274,7 @@ export default defineComponent({
 
             {this.joinRoom == '1' && this.liveStatus.liveStatus !== 2 && (
               <TheSticky position="bottom">
-                <div
-                  class={['btnGroup', styles.btnMore]}
-                  style={{ paddingTop: '10px', background: '#fff' }}
-                >
+                <div class={['btnGroup', styles.btnMore]}>
                   <Button block round type="primary" onClick={this.onJoinRoom}>
                     进入直播间
                   </Button>
@@ -289,10 +284,7 @@ export default defineComponent({
 
             {this.share == '1' && this.courseInfo.length > 0 && (
               <TheSticky position="bottom">
-                <div
-                  class={['btnGroup', styles.btnMore]}
-                  style={{ paddingTop: '10px', background: '#fff' }}
-                >
+                <div class={['btnGroup', styles.btnMore]}>
                   <Button
                     block
                     round

+ 6 - 6
src/teacher/statistics/home-statistics-detail/echats/index.module.less

@@ -137,7 +137,7 @@
   // }
 
   .popupSection {
-    padding: 0 16px 30px;
+    padding: 0 16px 40px;
     .title {
       display: flex;
       justify-content: space-between;
@@ -226,11 +226,11 @@
         color: #999999;
         cursor: pointer;
 
-        &.active {
-          border: 1px solid #2dc7aa;
-          color: #2dc7aa;
-          background: #e9fff8;
-        }
+        // &.active {
+        //   border: 1px solid #2dc7aa;
+        //   color: #2dc7aa;
+        //   background: #e9fff8;
+        // }
       }
       .hasValue {
         color: #333;

+ 3 - 2
src/teacher/statistics/home-statistics-detail/echats/index.tsx

@@ -10,7 +10,7 @@ import {
 } from 'vue'
 import styles from './index.module.less'
 import icon1 from '../../images/icon1.png'
-import iconArrow from '../../images/icon-arrow.png'
+// import iconArrow from '../../images/icon-arrow.png'
 import iconArrow1 from '../../images/icon-arrow1.png'
 import iconArrow11 from '../../images/icon-arrow1-1.png'
 import * as echarts from 'echarts/core'
@@ -81,7 +81,8 @@ const lineChartOption = (xAxisData: any, seriesData: any, countMaxCount = 5) =>
         margin: 16
       },
       axisTick: {
-        show: false
+        show: true,
+        alignWithLabel: true
       },
       axisPointer: {
         handle: {

+ 2 - 1
src/teacher/statistics/home-statistics-detail/list/index.module.less

@@ -32,6 +32,7 @@
     left: 0;
     background: #ffffff;
     border-radius: 10px 10px 0 0;
+    z-index: 1;
 
     .title {
       display: flex;
@@ -59,7 +60,7 @@
   }
   .tipSection {
     background: #fff;
-    padding-bottom: 18px;
+    padding-bottom: 6px;
   }
   .incomeTip {
     font-size: 13px;

+ 2 - 1
src/teacher/statistics/home-statistics/index.tsx

@@ -76,7 +76,8 @@ const lineChartOption = (
       lineStyle: { color: '#F2F2F2' },
       boundaryGap: true,
       axisTick: {
-        show: false
+        show: true,
+        alignWithLabel: true
       },
       axisLabel: {
         margin: 16

binární
src/teacher/statistics/images/arrow-up-active.png


binární
src/teacher/statistics/images/arrow-up.png


+ 2 - 1
src/teacher/statistics/practice-statistics-detail/echats/index.tsx

@@ -83,7 +83,8 @@ const lineChartOption = (params: {
         // inside: false
       },
       axisTick: {
-        show: false
+        show: true,
+        alignWithLabel: true
       },
       axisPointer: {
         handle: {

+ 3 - 5
src/teacher/statistics/practice-statistics-detail/index.module.less

@@ -273,15 +273,13 @@
       }
     }
     .upArrow, .downArrow {
-      font-size: 12px;
-      position: absolute;
+      width: 8px;
     }
     .upArrow {
-      bottom: -2px;
-      transform: rotate(180deg);
+      margin-bottom: 2px;
     }
     .downArrow {
-      top: -2px;
+      transform: rotate(180deg);
     }
   }
 }

+ 64 - 37
src/teacher/statistics/practice-statistics-detail/index.tsx

@@ -4,6 +4,8 @@ import iconArrow1 from '../images/icon-arrow1.png'
 import iconArrow11 from '../images/icon-arrow1-1.png'
 import icon1 from '../images/icon-1.png'
 import icon2 from '../images/icon-2.png'
+import ArrowUp from '../images/arrow-up.png'
+import ArrowUpActive from '../images/arrow-up-active.png'
 import iconDownload from '../images/icon-download.png'
 import { Button, DatetimePicker, Icon, Popup, Toast } from 'vant'
 import Echats from './echats'
@@ -57,20 +59,28 @@ export default defineComponent({
     sessionStorage.removeItem(catchKey)
 
     const searchStatus = ref(false)
-    const currentType = ref<TIME_TYPE>(catchSearch.currentType !== undefined ?  catchSearch.currentType : 'MONTH')
+    const currentType = ref<TIME_TYPE>(
+      catchSearch.currentType !== undefined ? catchSearch.currentType : 'HALF_YEAR'
+    )
 
     const searchObj = reactive({
-      tempSubjectId: catchSearch.subjectId || '' as any,
-      type: catchSearch.currentType !== undefined ?  catchSearch.currentType : 'MONTH' as TIME_TYPE
+      tempSubjectId: catchSearch.subjectId || ('' as any),
+      type:
+        catchSearch.currentType !== undefined
+          ? catchSearch.currentType
+          : ('MONTH' as TIME_TYPE)
     })
-    const timeRange = catchSearch.startTime && catchSearch.endTime ? {
-      startTime: catchSearch.startTime,
-      endTime: catchSearch.endTime
-    } : getTimeRange(currentType.value)
+    const timeRange =
+      catchSearch.startTime && catchSearch.endTime
+        ? {
+            startTime: catchSearch.startTime,
+            endTime: catchSearch.endTime
+          }
+        : getTimeRange(currentType.value)
     const forms = reactive({
       loading: false,
       dataShow: true,
-      subjectId: catchSearch.subjectId || '' as any, // 选择的声部
+      subjectId: catchSearch.subjectId || ('' as any), // 选择的声部
       subjectList: [] as any,
       startTimeStatus: false,
       startTimeClosedStatus: false,
@@ -333,16 +343,19 @@ export default defineComponent({
 
     /** 跳转详情 */
     const toDetail = (item: any) => {
-      sessionStorage.setItem(catchKey, JSON.stringify({
-        startTime: forms.startTimeStr,
-        endTime: forms.endTimeStr,
-        currentType: currentType.value,
-        subjectId: forms.subjectId
-      }))
+      sessionStorage.setItem(
+        catchKey,
+        JSON.stringify({
+          startTime: forms.startTimeStr,
+          endTime: forms.endTimeStr,
+          currentType: currentType.value,
+          subjectId: forms.subjectId
+        })
+      )
       router.push({
         path: '/exercise-detail',
         query: {
-          studentId: item.userId || '',
+          studentId: item.userId || ''
         }
       })
     }
@@ -477,38 +490,32 @@ export default defineComponent({
                         >
                           练习时长
                           <div class={styles.filters}>
-                            <i class={['iconfont iconfont-down', styles.upArrow]} style={{ color: forms.sortField === 'totalPracticeTime' &&
+                            {/* <i class={['iconfont iconfont-down', styles.upArrow]} style={{ color: forms.sortField === 'totalPracticeTime' &&
                                 forms.sortType === 'ASC'
                                   ? 'rgba(223, 128, 16, 1)'
                                   : 'rgba(0, 0, 0, 0.20)' }}></i>
                             <i class={['iconfont iconfont-down', styles.downArrow]} style={{ color: forms.sortField === 'totalPracticeTime' &&
                                 forms.sortType === 'DESC'
                                   ? 'rgba(223, 128, 16, 1)'
-                                  : 'rgba(0, 0, 0, 0.20)' }}></i>
-                            {/* <Icon
-                              classPrefix="iconfont"
-                              name="down"
-                              class={styles.upArrow}
-                              size={12}
-                              color={
+                                  : 'rgba(0, 0, 0, 0.20)' }}></i> */}
+                            <img
+                              src={
                                 forms.sortField === 'totalPracticeTime' &&
                                 forms.sortType === 'ASC'
-                                  ? 'rgba(223, 128, 16, 1)'
-                                  : 'rgba(0, 0, 0, 0.20)'
+                                  ? ArrowUpActive
+                                  : ArrowUp
                               }
+                              class={styles.upArrow}
                             />
-                            <Icon
-                              classPrefix="iconfont"
-                              name="down"
-                              class={styles.downArrow}
-                              size={12}
-                              color={
+                            <img
+                              src={
                                 forms.sortField === 'totalPracticeTime' &&
                                 forms.sortType === 'DESC'
-                                  ? 'rgba(223, 128, 16, 1)'
-                                  : 'rgba(0, 0, 0, 0.20)'
+                                  ? ArrowUpActive
+                                  : ArrowUp
                               }
-                            /> */}
+                              class={styles.downArrow}
+                            />
                           </div>
                         </div>
                       </th>
@@ -520,14 +527,34 @@ export default defineComponent({
                         >
                           平均练习时长
                           <div class={styles.filters}>
-                            <i class={['iconfont iconfont-down', styles.upArrow]} style={{ color: forms.sortField === 'averagePracticeTime' &&
+                            {/* <i class={['iconfont iconfont-down', styles.upArrow]} style={{ color: forms.sortField === 'averagePracticeTime' &&
                                 forms.sortType === 'ASC'
                                   ? 'rgba(223, 128, 16, 1)'
                                   : 'rgba(0, 0, 0, 0.20)' }}></i>
                             <i class={['iconfont iconfont-down', styles.downArrow]} style={{ color: forms.sortField === 'averagePracticeTime' &&
                                 forms.sortType === 'DESC'
                                   ? 'rgba(223, 128, 16, 1)'
-                                  : 'rgba(0, 0, 0, 0.20)' }}></i>
+                                  : 'rgba(0, 0, 0, 0.20)' }}></i> */}
+
+                            <img
+                              src={
+                                forms.sortField === 'averagePracticeTime' &&
+                                forms.sortType === 'ASC'
+                                  ? ArrowUpActive
+                                  : ArrowUp
+                              }
+                              class={styles.upArrow}
+                            />
+                            <img
+                              src={
+                                forms.sortField === 'averagePracticeTime' &&
+                                forms.sortType === 'DESC'
+                                  ? ArrowUpActive
+                                  : ArrowUp
+                              }
+                              class={styles.downArrow}
+                            />
+                            <img />
                           </div>
                         </div>
                       </th>
@@ -560,7 +587,7 @@ export default defineComponent({
                 <ColResult
                   classImgSize="SMALL"
                   btnStatus={false}
-                  tips="暂无数据~"
+                  tips="暂无数据"
                 />
               )}
             </div>

+ 15 - 0
src/teacher/video-class/video-detail.module.less

@@ -24,4 +24,19 @@
     width: 164px !important;
     height: 92px !important;
   }
+
+  .btnMore {
+    display: flex;
+    justify-content: space-around;
+    padding: 10px 28px 30px;
+    background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, #FFFFFF 100%), #FFFDFD;
+    box-shadow: 0px 0px 2px 0px rgba(216,216,216,0.5);
+
+    :global {
+      .van-button {
+        width: 100%;
+        font-size: 16px;
+      }
+    }
+  }
 }

+ 3 - 3
src/teacher/video-class/video-detail.tsx

@@ -258,7 +258,7 @@ export default defineComponent({
                   >
                     {this.buyUserList.map((item: any) => (
                       <UserList
-                        class="mb16"
+                        class="mb24"
                         users={{
                           avatar: item.avatar,
                           studentId: item.userId,
@@ -284,7 +284,7 @@ export default defineComponent({
           <>
             {this.share == '1' && this.detailList.length > 0 && (
               <TheSticky position="bottom">
-                <div class={['btnGroup']} style={{ background: '#fff', paddingTop: '10px' }}>
+                <div class={['btnGroup', styles.btnMore]}>
                   <Button
                     block
                     round
@@ -300,7 +300,7 @@ export default defineComponent({
             )}
             {this.share != '1' && this.detailList.length > 0 && (
               <TheSticky position="bottom">
-                <div class={['btnGroup']} style={{ background: '#fff', paddingTop: '10px' }}>
+                <div class={['btnGroup', styles.btnMore]}>
                   <Button
                     block
                     round

+ 4 - 1
src/views/music/list/index.module.less

@@ -11,7 +11,7 @@
     input {
       caret-color: #2dc7aa;
     }
-    .van-icon-clear {
+    .van-search .van-icon-clear {
       color: #fff !important;
     }
   }
@@ -24,6 +24,9 @@
     height: calc(100vh - var(--header-height));
     overflow: hidden;
     overflow-y: auto;
+    &::-webkit-scrollbar {
+      display: none;
+    }
   }
 }