浏览代码

合并冲突

jwyu 2 年之前
父节点
当前提交
cb5a929a04
共有 4 个文件被更改,包括 44 次插入36 次删除
  1. 二进制
      src/assets/ppt-icon.png
  2. 15 0
      src/style/global.scss
  3. 14 3
      src/views/report/ChapterDetail.vue
  4. 15 33
      src/views/report/Detail.vue

二进制
src/assets/ppt-icon.png


+ 15 - 0
src/style/global.scss

@@ -308,4 +308,19 @@ img {
     font-weight: 400;
     font-weight: 400;
     color: #E3B377;
     color: #E3B377;
   }
   }
+}
+//预览ppt时样式
+.ppt-preview-box{
+  @media screen and (min-width: 1600px){
+    .el-image-viewer__close{
+      top: 10vh;
+      right: calc(50% - 700px);
+    }
+    .el-image-viewer__next{
+      right: calc(50% - 700px);
+    }
+    .el-image-viewer__prev{
+      left: calc(50% - 700px);
+    }
+  }
 }
 }

+ 14 - 3
src/views/report/ChapterDetail.vue

@@ -32,6 +32,8 @@ let frompage=ref(route.query.frompage||'')//如果来自报告详情页 则展
 //获取报告对应的ppt图片
 //获取报告对应的ppt图片
 const pptIcon=new URL('../../assets/ppt-icon.png', import.meta.url).href
 const pptIcon=new URL('../../assets/ppt-icon.png', import.meta.url).href
 let pptImgs=ref([])
 let pptImgs=ref([])
+let showPreViewPPT=ref(false)
+let preViewPPTIndex=ref(0)
 const getReportPPTImgs=async (e)=>{
 const getReportPPTImgs=async (e)=>{
     const res=await apiReportPPtImgs({
     const res=await apiReportPPtImgs({
         report_id:Number(e.report_id),
         report_id:Number(e.report_id),
@@ -388,12 +390,11 @@ const posterParams=computed(()=>{
                             </div>
                             </div>
                         </div>
                         </div>
                         <el-image
                         <el-image
-                            style="width: 24px; height: 24px;position: absolute;right:0;bottom:0"
+                            style="width: 54px; height: 54px;position: fixed;right:33px;bottom:200px;z-index: 99;cursor: pointer;"
                             :src="pptIcon"
                             :src="pptIcon"
-                            :preview-src-list="pptImgs"
-                            :initial-index="0"
                             fit="cover"
                             fit="cover"
                             v-if="pptImgs.length>0"
                             v-if="pptImgs.length>0"
+                            @click="showPreViewPPT=true"
                         />
                         />
                     </div>
                     </div>
                     <AudioBox :data="audioData" v-if="info.report_chapter_item.video_url&&info.report_chapter_item.video_play_seconds>0"></AudioBox>
                     <AudioBox :data="audioData" v-if="info.report_chapter_item.video_url&&info.report_chapter_item.video_play_seconds>0"></AudioBox>
@@ -502,6 +503,16 @@ const posterParams=computed(()=>{
         :url-list="preViewImgs"
         :url-list="preViewImgs"
     />
     />
 
 
+    <!-- 预览ppt -->
+    <div class="ppt-preview-box" v-if="showPreViewPPT">
+        <el-image-viewer
+            v-if="showPreViewPPT"
+            :initial-index="preViewPPTIndex"
+            @close="showPreViewPPT=false"
+            :url-list="pptImgs"
+        />
+    </div>
+
     <!-- 免责申明 -->
     <!-- 免责申明 -->
     <el-dialog v-model="showDisclaimers" title="免责声明" center draggable width="40%">
     <el-dialog v-model="showDisclaimers" title="免责声明" center draggable width="40%">
         <div class="disclaimers-box">
         <div class="disclaimers-box">

+ 15 - 33
src/views/report/Detail.vue

@@ -26,6 +26,8 @@ let reportId=ref(route.query.reportId||'')
 //获取报告对应的ppt图片
 //获取报告对应的ppt图片
 const pptIcon=new URL('../../assets/ppt-icon.png', import.meta.url).href
 const pptIcon=new URL('../../assets/ppt-icon.png', import.meta.url).href
 let pptImgs=ref([])
 let pptImgs=ref([])
+let showPreViewPPT=ref(false)
+let preViewPPTIndex=ref(0)
 const getReportPPTImgs=async ()=>{
 const getReportPPTImgs=async ()=>{
     const res=await apiReportPPtImgs({
     const res=await apiReportPPtImgs({
         report_id:Number(reportId.value),
         report_id:Number(reportId.value),
@@ -433,12 +435,11 @@ const formatTitle=(e)=>{
                             </div>
                             </div>
                         </div>
                         </div>
                         <el-image
                         <el-image
-                            style="width: 24px; height: 24px;position: absolute;right:0;bottom:0"
+                            style="width: 54px; height: 54px;position: fixed;right:33px;bottom:200px;z-index: 99;cursor: pointer;"
                             :src="pptIcon"
                             :src="pptIcon"
-                            :preview-src-list="pptImgs"
-                            :initial-index="0"
                             fit="cover"
                             fit="cover"
                             v-if="pptImgs.length>0"
                             v-if="pptImgs.length>0"
+                            @click="showPreViewPPT=true"
                         />
                         />
                     </div>
                     </div>
                     <!-- 音频模块 -->
                     <!-- 音频模块 -->
@@ -541,6 +542,17 @@ const formatTitle=(e)=>{
         :url-list="preViewImgs"
         :url-list="preViewImgs"
     />
     />
 
 
+    <!-- 预览ppt -->
+    <div class="ppt-preview-box" v-if="showPreViewPPT">
+        <el-image-viewer
+            v-if="showPreViewPPT"
+            :initial-index="preViewPPTIndex"
+            @close="showPreViewPPT=false"
+            :url-list="pptImgs"
+        />
+    </div>
+    
+
     <!-- 免责申明 -->
     <!-- 免责申明 -->
     <el-dialog v-model="showDisclaimers" title="免责声明" center draggable width="40%">
     <el-dialog v-model="showDisclaimers" title="免责声明" center draggable width="40%">
         <div class="disclaimers-box">
         <div class="disclaimers-box">
@@ -576,44 +588,14 @@ const formatTitle=(e)=>{
             &::before{
             &::before{
                 content: '';
                 content: '';
                 width: 6px;
                 width: 6px;
-                // height: 30px;
                 display: inline-block;
                 display: inline-block;
                 background-color: #F3A52F;
                 background-color: #F3A52F;
                 margin-right: 10px;
                 margin-right: 10px;
-                // position: relative;
-                // top: 10px;
-            }
-            @media screen and (min-width: 1600px){
-                ::v-deep(.el-image-viewer__close){
-                    top: 10vh;
-                    right: calc(50% - 700px);
-                }
-                ::v-deep(.el-image-viewer__next){
-                    right: calc(50% - 700px);
-                }
-                ::v-deep(.el-image-viewer__prev){
-                    left: calc(50% - 700px);
-                }
             }
             }
-            
         }
         }
         .abstract{
         .abstract{
             font-size: 18px;
             font-size: 18px;
-            // font-weight: bold;
             margin-bottom: 20px;
             margin-bottom: 20px;
-            // margin-top: 20px;
-            // display: flex;
-            // align-items: center;
-            // &::before{
-            //     flex-shrink: 0;
-            //     content: '';
-            //     display: block;
-            //     width: 6px;
-            //     min-height: 30px;
-            //     background-color: #F3A52F;
-            //     margin-right: 10px;
-            //     position: relative;
-            // }
         }
         }
         .rich-content{
         .rich-content{
             margin-top: 30px;
             margin-top: 30px;