Bladeren bron

fix: 修复三级页问题

zhangyuhan 4 jaren geleden
bovenliggende
commit
a52b6ef945
2 gewijzigde bestanden met toevoegingen van 31 en 20 verwijderingen
  1. 1 1
      jydocs-mobile/src/api/ajax.ts
  2. 30 19
      jydocs-mobile/src/views/details/details.vue

+ 1 - 1
jydocs-mobile/src/api/ajax.ts

@@ -13,7 +13,7 @@ const $ajax = axios.create({
 /* 拦截器 */
 $ajax.interceptors.request.use(config => {
   // 在请求发送之前做一些事
-  console.log('--发送之前--', config)
+  // console.log('--发送之前--', config)
   if (config.method === 'post' || config.method === 'POST') {
     if (typeof config.data !== 'string') {
       config.data = qs.stringify(config.data)

+ 30 - 19
jydocs-mobile/src/views/details/details.vue

@@ -1,10 +1,8 @@
 <template>
-    <div class="details-p">
-        <div class="de-tops">
-          <div class="word">
-            <i class="word-imgs" :class="'van-icon van-icon-diy-' + fileType(detailData.docFileType)"></i>
-          </div>
-          <span><i>{{detailData.docName}}</i></span>
+    <div class="details-p"  @scroll="showMorePage">
+        <div class="top-title-group flex-r-c">
+          <van-icon :name="'diy-' + fileType(detailData.docFileType)"></van-icon>
+          <div class="flex">{{detailData.docName}}</div>
         </div>
         <div class="middles">
             <h3>摘要</h3>
@@ -17,11 +15,12 @@
                 <van-icon class="word01" :name="'diy-' + fileType(detailData.docFileType)" />
                 <span class="flex">{{detailData.docName}}</span>
               </h3>
-             <!-- <span class="pages"><i id="page_num"></i> / <i>{{detailData.docPageSize}}</i></span> -->
+<!--              <span class="pages"><i id="page_num"></i> / <i>{{detailData.docPageSize}}</i></span>-->
           </div>
         </van-sticky>
         <div class="botts" v-show="buyed == 1">
-            <pdf  v-for="i in pdfPage.pageNum" :key="i"  :src="pdfPage.url" :page="i"></pdf>
+            <pdf  v-for="i in getPageNum"
+                  :key="i"  :src="pdfPage.url" :page="i"></pdf>
         </div>
         <van-goods-action>
             <van-goods-action-icon class="no-icon">
@@ -123,6 +122,10 @@ export default class extends Vue {
     this.onList()
   }
 
+  get getPageNum () {
+    return this.pdfPage.pageNum
+  }
+
   get Offset () {
     const tempN = document.querySelector('.j-header.jy-app-header') as HTMLDivElement
     if (tempN) {
@@ -132,6 +135,10 @@ export default class extends Vue {
     }
   }
 
+  showMorePage (e: Event) {
+    console.log(e, 'ss')
+  }
+
   getNumPages (url: string) {
     const loadingTask = pdf.createLoadingTask(url)
     loadingTask.promise.then((pdf: any) => {
@@ -176,15 +183,6 @@ export default class extends Vue {
 
   stickyScroll (data: any) {
     const tops = data.scrollTop
-    let base = 0
-    // console.log(this.pData.heightList)
-    for (let i = 0; i < this.pData.heightList.length; i++) {
-      base += this.pData.heightList[i]
-      if (tops <= base) {
-        this.updateText({ type: 'num', value: i + 1 })
-        break
-      }
-    }
     if (data.isFixed) {
       this.fixed = true
     } else {
@@ -296,9 +294,22 @@ export default class extends Vue {
     overflow: scroll;
     padding-bottom: 80px;
     box-sizing: border-box;
+  .top-title-group {
+    padding: 24px 16px;
+    box-sizing: border-box;
+    background-color: #fff;
+    color: #171826;
+    font-size: 20px;
+    line-height: 30px;
+    letter-spacing: 0px;
+    text-align: left;
+    .van-icon {
+      margin-right: 8px;
+    }
+  }
     .de-tops {
+        min-height: 70px;
         display: flex;
-        flex-direction: initial;
         background: #fff;
         padding: 0 16px;
         .word {
@@ -312,7 +323,7 @@ export default class extends Vue {
             height: 24px;
           }
         }
-        span {
+        .sp-text {
           display: flex;
           flex-wrap: wrap;
           padding: 24px 0;