From a47e8ae08413b99a7fcd4195a535687234b0160f Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期二, 28 五月 2024 19:21:49 +0800
Subject: [PATCH] 页码

---
 src/books/childHealth/view/content/index.vue |   82 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 75 insertions(+), 7 deletions(-)

diff --git a/src/books/childHealth/view/content/index.vue b/src/books/childHealth/view/content/index.vue
index cde9392..4dd0a6a 100644
--- a/src/books/childHealth/view/content/index.vue
+++ b/src/books/childHealth/view/content/index.vue
@@ -1,6 +1,13 @@
 <template>
   <div class="page-main" @scroll="throttledScrollHandler">
-    <div class="page-content">
+    <div
+      class="page-content"
+      :style="{
+        fontSize: fontSize ? fontSize + 'px' : '16px',
+        transform: `scale(${pageZoom ? pageZoom : 1})`,
+        transformOrigin: 'center top'
+      }"
+    >
       <pageHeader
         v-if="showCatalogList.indexOf(0) > -1"
         :showPageList="loadPageList"
@@ -8,46 +15,57 @@
       <chapterOne
         v-if="showCatalogList.indexOf(1) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterOne>
       <chapterTwo
         v-if="showCatalogList.indexOf(2) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterTwo>
       <chapterThree
         v-if="showCatalogList.indexOf(3) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterThree>
       <chapterFour
         v-if="showCatalogList.indexOf(4) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterFour>
       <chapterFive
         v-if="showCatalogList.indexOf(5) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterFive>
       <chapterSix
         v-if="showCatalogList.indexOf(6) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterSix>
       <chapterSeven
         v-if="showCatalogList.indexOf(7) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterSeven>
       <chapterEight
         v-if="showCatalogList.indexOf(8) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterEight>
       <chapterNine
         v-if="showCatalogList.indexOf(9) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterNine>
       <chapterTen
         v-if="showCatalogList.indexOf(10) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterTen>
       <chapterEleven
         v-if="showCatalogList.indexOf(11) > -1"
         :showPageList="loadPageList"
+        :questionData="questionData"
       ></chapterEleven>
       <chapterTwelve
         v-if="showCatalogList.indexOf(12) > -1"
@@ -55,6 +73,7 @@
       ></chapterTwelve>
       <chapterThirteen
         v-if="showCatalogList.indexOf(13) > -1"
+        :showPageList="loadPageList"
       ></chapterThirteen>
     </div>
   </div>
@@ -77,6 +96,8 @@
 import chapterThirteen from "./components/chapter013.vue";
 import NoteIcon from "@/assets/images/biji.png";
 import _ from "lodash";
+import getQuestionList from "@/assets/methods/examination";
+import testData from "../../assets/examinationList";
 export default {
   data() {
     return {
@@ -88,8 +109,17 @@
       throttledScrollHandler: null,
       observer: null,
       loadPageObserver: null,
-      loadPageList: []
+      loadPageList: [],
+      questionData: {}
     };
+  },
+  computed: {
+    fontSize() {
+      return this.$store.state.qiankun.fontSize;
+    },
+    pageZoom() {
+      return this.$store.state.qiankun.scale / 100;
+    }
   },
   watch: {
     showCatalogList: {
@@ -284,7 +314,7 @@
             // 绗旇
             pageDom.innerHTML = pageDom.innerHTML.replace(
               reg,
-              `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}"/></span>`
+              `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut">${data.txt}<img src="${NoteIcon}"/></span>`
             );
             break;
         }
@@ -322,6 +352,16 @@
         this.container ? this.container : document
       ).querySelectorAll(".page-box");
       sections.forEach((section) => {
+        if (this.config.activeBook && this.config.activeBook.tryPageCount) {
+          const page = section.getAttribute("page");
+          if (Number(page) > this.config.activeBook.tryPageCount) {
+            let chapterDom = this.getParentWithClass(section, "chapter");
+            const chapterNum = chapterDom.getAttribute("num");
+            this.catalogLength = Number(chapterNum) - 1;
+            section.remove();
+            return false;
+          }
+        }
         //observer 瑙傚療姣忎釜鍏冪礌锛屼互渚垮湪瀹冧滑杩涘叆鎴栫寮�瑙嗙獥鏃惰Е鍙戝洖璋冨嚱鏁般��
         const isObserver = section.getAttribute("observer");
         const isLoadObserver = section.getAttribute("loadObserver");
@@ -435,7 +475,7 @@
             "chapter"
           );
           const catalog = catalogDom.getAttribute("num");
-          console.log("page", page, catalog);
+          console.log(page, "page", catalog, "catalog");
           // 杩斿洖椤电爜鍜岀珷鑺備俊鎭�
           if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
             this.$store.state.qiankun.pageChange({
@@ -450,13 +490,41 @@
       });
     },
     loadPageCallback(entries, observer) {
-      entries.forEach((entry) => {
+      entries.forEach(async (entry) => {
         if (entry.isIntersecting) {
           const target = entry.target;
           const page = target.getAttribute("page");
           if (this.loadPageList.indexOf(page) == -1) {
+            //
+            const catalogDom = this.tool.getParentNodeByClassName(
+              target,
+              "chapter"
+            );
+            const catalog = catalogDom.getAttribute("num");
+            if (!this.questionData[page]) {
+              if (testData && testData[catalog]) {
+                if (testData[catalog][page]) {
+                  if (Array.isArray(testData[catalog][page])) {
+                    this.questionData[page] = await getQuestionList(
+                      page,
+                      testData[catalog][page],
+                      this.config.activeBook
+                    );
+                  } else {
+                    const obj = {};
+                    for (let key in testData[catalog][page]) {
+                      obj[key] = await getQuestionList(
+                        [],
+                        testData[catalog][page][key],
+                        this.config.activeBook
+                      );
+                    }
+                    this.questionData[page] = obj;
+                  }
+                }
+              }
+            }
             this.loadPageList.push(Number(page));
-            console.log(this.loadPageList,"this.loadPageList");
             if (this.loadPageList.length > 5) {
               // 瓒呰繃5椤�
               this.loadPageList.shift();
@@ -464,7 +532,7 @@
           }
         }
       });
-    }
+    },
   },
   components: {
     pageHeader,

--
Gitblit v1.9.1