瀏覽代碼

Merge branch 'master' into yb3.1

jwyu 3 年之前
父節點
當前提交
83aabaa6be

+ 1 - 1
mixin/index.js

@@ -50,7 +50,7 @@ module.exports = {
      * 报告时间格式化
      * 报告时间格式化
      */
      */
     formatReportTime(e){
     formatReportTime(e){
-      return moment(e).format('YYYY.MM.DD HH:mm')
+      return moment(e).format('YYYY.MM.DD')
     }
     }
 
 
   },
   },

+ 4 - 1
pages-buy/detail.vue

@@ -9,7 +9,7 @@
                         <text class="name">{{item.top_name}}</text>
                         <text class="name">{{item.top_name}}</text>
                     </view>
                     </view>
                     <view class="title">{{item.title}}</view>
                     <view class="title">{{item.title}}</view>
-                    <view class="intro">{{item.content}}</view>
+                    <view :class="['intro',item.content.substr(0,1)=='【'?'text-indent':'']">{{item.content}}</view>
                 </view>
                 </view>
             </view>
             </view>
         </view>
         </view>
@@ -201,6 +201,9 @@ page{
                 padding: 0 30rpx 24rpx 30rpx;
                 padding: 0 30rpx 24rpx 30rpx;
                 color: $global-text-color-grey;
                 color: $global-text-color-grey;
             }
             }
+            .text-indent{
+                margin-left: -12rpx;
+            }
         }
         }
     }
     }
 }
 }

+ 17 - 19
pages-report/reportList.vue

@@ -15,13 +15,12 @@
     </view>
     </view>
     <view class="report-list-wrap" :style="{paddingBottom:showAudioPop&&'90px'}" v-else>
     <view class="report-list-wrap" :style="{paddingBottom:showAudioPop&&'90px'}" v-else>
       <view class="flex item" v-for="item in list" :key="item.report_id" @click="goReportDetail(item)">
       <view class="flex item" v-for="item in list" :key="item.report_id" @click="goReportDetail(item)">
-        <image class="img" :src="item.report_img_url" mode="aspectFill" />
+        <image class="img" :src="item.report_img_url" mode="aspectFill" lazy-load />
         <view class="con">
         <view class="con">
-          <view class="title-info" v-html="item.title_info"></view>
           <view class="title" v-html="item.title"></view>
           <view class="title" v-html="item.title"></view>
-          <view class="tips" v-html="item.abstract"></view>
-          <view class="time">{{item.publish_time|formatReportTime}}</view>
-          <view :class="['audio-box',!item.auth_ok&&'grey-audio-box']" @click.stop="handleClickAudio(item)">
+          <view class="info" v-html="item.classify_name_second"></view>
+          <view class="time">{{item.stage}}期 | {{item.publish_time|formatReportTime}}</view>
+          <view :class="['audio-box',!item.auth_ok&&'grey-audio-box']" @click.stop="handleClickAudio(item)" v-if="item.auth_ok">
             <image :src="curAudioReportId==item.report_id&&!curAudioPaused?'./static/audio-s.png':'./static/audio.png'" mode="aspectFill"/>
             <image :src="curAudioReportId==item.report_id&&!curAudioPaused?'./static/audio-s.png':'./static/audio.png'" mode="aspectFill"/>
             <text>{{curAudioReportId==item.report_id&&!curAudioPaused?'暂停':'播放'}}</text>
             <text>{{curAudioReportId==item.report_id&&!curAudioPaused?'暂停':'播放'}}</text>
           </view>
           </view>
@@ -102,9 +101,9 @@ export default {
   },
   },
   onLoad(options) {
   onLoad(options) {
     this.classifyId=options.classifyId
     this.classifyId=options.classifyId
-    this.classifyName=options.classifyName
+    this.classifyName=decodeURIComponent(options.classifyName)
     // 设置title
     // 设置title
-    uni.setNavigationBarTitle({ title: decodeURIComponent(options.classifyName)+'列表' })
+    uni.setNavigationBarTitle({ title: decodeURIComponent(options.classifyName) })
     this.getList()
     this.getList()
     this.getClassifyList()
     this.getClassifyList()
   },
   },
@@ -125,7 +124,7 @@ export default {
   },
   },
   onShareAppMessage() {
   onShareAppMessage() {
     return {
     return {
-      title:this.classifyName+'列表'
+      title:`FICC【${this.classifyName}】`
     }
     }
   },
   },
   methods: {
   methods: {
@@ -234,16 +233,18 @@ page{
   }
   }
 }
 }
 .report-list-wrap {
 .report-list-wrap {
-    padding: 0 34rpx;
+  padding: 0 34rpx;
   .item {
   .item {
+    padding-bottom: 30rpx;
     margin-bottom: 30rpx;
     margin-bottom: 30rpx;
+    border-bottom: 1px solid #EDEDED;
     .img {
     .img {
       width: 120rpx;
       width: 120rpx;
       height: 160rpx;
       height: 160rpx;
-      border-radius: 16rpx;
       background-color: #f5f5f5;
       background-color: #f5f5f5;
       flex-shrink: 0;
       flex-shrink: 0;
       margin-right: 20rpx;
       margin-right: 20rpx;
+      border-radius: 16rpx;
     }
     }
     .con {
     .con {
       flex: 1;
       flex: 1;
@@ -254,16 +255,13 @@ page{
         font-weight: bold;
         font-weight: bold;
         margin-bottom: 8rpx;
         margin-bottom: 8rpx;
       }
       }
-      .title-info{
-        font-size: 28rpx;
-      }
-      .tips {
-        color: #666666;
-        margin-bottom: 10rpx;
-        min-height: 34rpx;
-      }
+      
       .time {
       .time {
+        position: absolute;
         color: #666666;
         color: #666666;
+        bottom: 0;
+        left: 0;
+        font-size: 28rpx;
       }
       }
       .audio-box {
       .audio-box {
         position: absolute;
         position: absolute;
@@ -271,7 +269,7 @@ page{
         right: 0;
         right: 0;
         width: 99rpx;
         width: 99rpx;
         height: 39rpx;
         height: 39rpx;
-        background: linear-gradient(100deg, #e3b377 0%, #ffddb1 100%);
+        background: #E3B377;
         border-radius: 20rpx;
         border-radius: 20rpx;
         color: #fff;
         color: #fff;
         font-size: 24rpx;
         font-size: 24rpx;

+ 1 - 1
pages-report/search.vue

@@ -86,7 +86,7 @@ export default {
 
 
         goReportDetail(item){
         goReportDetail(item){
             if(['晨报','周报'].includes(item.classify_name_first)){
             if(['晨报','周报'].includes(item.classify_name_first)){
-                uni.navigateTo({url: `/pages-report/chapterDetail?chapterId=${item.report_chapter_id}&fromPage=home`})
+                uni.navigateTo({url: `/pages-report/chapterDetail?chapterId=${item.report_chapter_id}&fromPage=search`})
             }else{
             }else{
                 uni.navigateTo({url:'/pages-report/reportDetail?reportId='+item.report_id})
                 uni.navigateTo({url:'/pages-report/reportDetail?reportId='+item.report_id})
             }
             }

+ 18 - 15
pages-report/specialColumn/detail.vue

@@ -27,10 +27,9 @@
             <view class="flex item" v-for="item in list" :key="item" @click="goDetail(item)">
             <view class="flex item" v-for="item in list" :key="item" @click="goDetail(item)">
                 <image class="img" :src="item.report_img_url" mode="aspectFill" lazy-load/>
                 <image class="img" :src="item.report_img_url" mode="aspectFill" lazy-load/>
                 <view class="con">
                 <view class="con">
-                    <view class="title">【第{{item.stage}}期|FICC】{{item.classify_name_second}}</view>
-                    <view class="tips" v-html="item.abstract"></view>
+                    <view class="title">【第{{item.stage}}期】{{item.classify_name_second}}</view>
                     <view class="time">{{item.publish_time|formatReportTime}}</view>
                     <view class="time">{{item.publish_time|formatReportTime}}</view>
-                    <view :class="['audio-box',!info.auth_ok&&'grey-audio-box']" @click.stop="handleClickAudio(item)">
+                    <view v-if="info.auth_ok" :class="['audio-box',!info.auth_ok&&'grey-audio-box']" @click.stop="handleClickAudio(item)">
                         <image :src="curAudioReportId==item.report_id&&!curAudioPaused?'../static/audio-s.png':'../static/audio.png'" mode="aspectFill"/>
                         <image :src="curAudioReportId==item.report_id&&!curAudioPaused?'../static/audio-s.png':'../static/audio.png'" mode="aspectFill"/>
                         <text>{{curAudioReportId==item.report_id&&!curAudioPaused?'暂停':'播放'}}</text>
                         <text>{{curAudioReportId==item.report_id&&!curAudioPaused?'暂停':'播放'}}</text>
                     </view>
                     </view>
@@ -109,7 +108,7 @@ export default {
     },
     },
     onShareAppMessage() {
     onShareAppMessage() {
         return {
         return {
-            title:this.info.classify_name_second
+            title:`FICC【${this.info.classify_name_second}】`
         }
         }
     },
     },
     methods: {
     methods: {
@@ -268,6 +267,7 @@ page{
     }
     }
     .section{
     .section{
         padding: 34rpx;
         padding: 34rpx;
+        padding-top: 60rpx;
         line-height: 1.7;
         line-height: 1.7;
         color: #666666;
         color: #666666;
         padding-bottom: 90rpx;
         padding-bottom: 90rpx;
@@ -275,30 +275,33 @@ page{
 
 
     .report-list-wrap{
     .report-list-wrap{
         .item{
         .item{
-            margin-bottom: 30rpx;
+            margin-bottom: 40rpx;
             .img{
             .img{
-                width: 120rpx;
-                height: 160rpx;
-                border-radius: 16rpx;
+                width: 118rpx;
+                height: 118rpx;
+                border-radius: 50%;
                 background-color: #f5f5f5;
                 background-color: #f5f5f5;
                 flex-shrink: 0;
                 flex-shrink: 0;
-                margin-right: 20rpx;
+                margin-right: 12rpx;
             }
             }
             .con{
             .con{
                 flex: 1;
                 flex: 1;
                 position: relative;
                 position: relative;
                 overflow: hidden;
                 overflow: hidden;
+                line-height: 1;
                 .title{
                 .title{
                     font-size: 32rpx;
                     font-size: 32rpx;
                     font-weight: bold;
                     font-weight: bold;
                     margin-bottom: 8rpx;
                     margin-bottom: 8rpx;
+                    padding-top: 10rpx;
+                    color: #333;
                 }
                 }
-                .tips{
-                    color: #666666;
-                    margin-bottom: 10rpx;
-                    min-height: 38rpx;
-                }
+                
                 .time{
                 .time{
+                    position: absolute;
+                    bottom: 0;
+                    left: 14rpx;
+                    line-height: 1.7;
                     color: #666666;
                     color: #666666;
                 }
                 }
                 .audio-box{
                 .audio-box{
@@ -307,7 +310,7 @@ page{
                     right: 0;
                     right: 0;
                     width: 99rpx;
                     width: 99rpx;
                     height: 39rpx;
                     height: 39rpx;
-                    background: linear-gradient(100deg, #E3B377 0%, #FFDDB1 100%);
+                    background: #E3B377;
                     border-radius: 20rpx;
                     border-radius: 20rpx;
                     color: #fff;
                     color: #fff;
                     font-size: 24rpx;
                     font-size: 24rpx;

+ 69 - 24
pages-report/specialColumn/list.vue

@@ -6,12 +6,15 @@
       </view>
       </view>
       <view class="list" v-else>
       <view class="list" v-else>
         <view class="flex item" v-for="item in list" :key="item.classify_id_second" @click="goDetail(item)">
         <view class="flex item" v-for="item in list" :key="item.classify_id_second" @click="goDetail(item)">
-          <image class="avatar" :src="item.home_img_url" mode="aspectFill" lazyload/>
+          <text class="stage">第{{item.stage}}期</text>
+          <image class="avatar" :src="item.home_img_url" mode="aspectFill" lazy-load></image>
           <view class="content">
           <view class="content">
-            <view class="name">{{item.classify_name_second}}</view>
-            <view class="author">主讲人:{{item.report_author}}</view>
-            <view class="van-ellipsis job">{{item.author_descript}}</view>
-            <view class="num">第{{item.stage}}期 | {{item.product_name}}</view>
+            <view class="title">{{item.classify_name_second}}</view>
+            <view class="van-ellipsis author">
+              <text style="margin-right:20rpx">{{item.report_author}}</text>
+              <text class="vip-text" v-if="item.vip_title">{{item.vip_title}}</text>
+              <text v-else>{{item.author_descript}}</text>
+            </view>
           </view>
           </view>
         </view>
         </view>
       </view>
       </view>
@@ -58,7 +61,7 @@ export default {
   },
   },
   onShareAppMessage() {
   onShareAppMessage() {
     return {
     return {
-      title:this.classifyName
+      title:`FICC【${this.classifyName}】`
     }
     }
   },
   },
   methods: {
   methods: {
@@ -90,34 +93,76 @@ page{
   padding: 34rpx;
   padding: 34rpx;
   .list{
   .list{
     .item{
     .item{
-      margin-bottom: 30rpx;
+      margin-bottom: 20rpx;
+      padding: 37rpx 30rpx 37rpx 37rpx;
+      background: #FFFFFF;
+      border: 1px solid #E6E6E6;
+      box-sizing: border-box;
+      box-shadow: 0px 0px 20rpx rgba(0, 0, 0, 0.08);
+      border-radius: 16rpx;
+      position: relative;
+      overflow: hidden;
+      align-items: center;
+      .stage{
+        position: absolute;
+        top: 0;
+        right: 0;
+        display: block;
+        background-color: #E3B377;
+        border-bottom-left-radius: 16rpx;
+        padding: 4rpx 10rpx;
+        text-align: center;
+        color: #FFFFFF;
+        font-size: 24rpx;
+        min-width: 126rpx;
+        text-align: center;
+        box-sizing: border-box;
+      }
       .avatar{
       .avatar{
+        width: 180rpx;
+        height: 180rpx;
+        border-radius: 50%;
         flex-shrink: 0;
         flex-shrink: 0;
-        margin-right: 30rpx;
-        width: 160rpx;
-        height: 214rpx;
-        border-radius: 16rpx;
-        background-color: #f5f5f5;
+        margin-right: 20rpx;
       }
       }
       .content{
       .content{
         flex: 1;
         flex: 1;
         overflow: hidden;
         overflow: hidden;
-        .name{
-          font-size: 32rpx;
-          font-weight: bold;
+        .title{
+          font-size: 34rpx;
+          font-weight: 700;
+          padding-bottom: 20rpx;
+          margin-bottom: 20rpx;
+          border-bottom: 1px solid #E6E6E6;
         }
         }
         .author{
         .author{
-          color: #666;
-          margin: 10rpx 0;
-        }
-        .job{
-          color: #666;
-        }
-        .num{
-          margin-top: 20rpx;
-          color: #E3B377;
+          font-size: 28rpx;
+          font-weight: 400;
+          .vip-text{
+            display: inline-block;
+            background-color: #FAF7EE;
+            font-size: 24rpx;
+            padding: 8rpx 15rpx;
+            border-radius: 23rpx;
+            line-height: 1;
+            position: relative;
+            padding-left: 38rpx;
+            &::before{
+              content: '';
+              display: inline-block;
+              width: 30rpx;
+              height: 30rpx;
+              background-image: url('../static/tag.png');
+              background-size: cover;
+              line-height: 1;
+              position: absolute;
+              top: 6rpx;
+              left: 8rpx;
+            }
+          }
         }
         }
       }
       }
+
     }
     }
   }
   }
 }
 }

+ 5 - 4
pages/buy/buy.vue

@@ -78,8 +78,8 @@ export default {
       .img{
       .img{
         flex-shrink: 0;
         flex-shrink: 0;
         margin-right: 28rpx;
         margin-right: 28rpx;
-        width: 120rpx;
-        height: 120rpx;
+        width: 90rpx;
+        height: 90rpx;
         background-color: $global-bg-color-grey;
         background-color: $global-bg-color-grey;
         background-size: cover;
         background-size: cover;
         position: relative;
         position: relative;
@@ -106,12 +106,13 @@ export default {
         flex: 1;
         flex: 1;
         overflow: hidden;
         overflow: hidden;
         .title{
         .title{
-          font-size: 14px;
+          font-size: 32rpx;
           font-weight: bold;
           font-weight: bold;
-          margin-bottom: 18rpx;
+          margin-bottom: 6rpx;
         }
         }
         .intro{
         .intro{
           color: $global-text-color-grey;
           color: $global-text-color-grey;
+          font-size: 28rpx;
         }
         }
         .text-indent{
         .text-indent{
           margin-left: -12rpx;
           margin-left: -12rpx;