From 67d22fb0aeb9fe90b766abae0e41cb04aebc1296 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期五, 17 五月 2024 15:45:09 +0800
Subject: [PATCH] 页码监听

---
 src/books/childHealth/view/index.vue |  139 ++++++++++++++++------------------------------
 1 files changed, 49 insertions(+), 90 deletions(-)

diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue
index 7683b14..9a515d1 100644
--- a/src/books/childHealth/view/index.vue
+++ b/src/books/childHealth/view/index.vue
@@ -1,33 +1,27 @@
 <template>
-  <div class="temp-book" @mouseup="handleMouseUp" @mousedown="handleMouseDown" @mousemove="handleMousemove">
+  <div class="temp-book" @mouseup="handleMouseUp">
     <pageContent></pageContent>
   </div>
 </template>
 
 <script>
-import examinations from "./components/examinations/index.vue";
-import testData from '../assets/examinationList.json'
 import pageContent from "./content/index.vue";
 export default {
   name: "child-health",
   components: {
-    pageContent,
-    examinations,
+    pageContent
   },
   data() {
     return {
-      bookData:{},
+      bookData: {},
       type: "option",
       idPathList: [],
       cardList: [],
-      isMouseDown: false,
-      showToolBox: false,
-      move: false,
+      isMouseDown: false
     };
   },
   mounted() {
     this.getBookInfo();
-    console.log(this.$store.state.qiankun, "this.$store.state.qiankun");
   },
   methods: {
     getBookInfo() {
@@ -37,10 +31,10 @@
         productId: this.config.bookId,
         favoriteTypes: "FavoriteBookCity",
         itemFields: {
-          "SysType=": "CmsFolder",
+          "SysType=": "CmsFolder"
         },
         coverSize: {
-          height: 300,
+          height: 300
         },
         fields: {
           seriesName: [],
@@ -62,13 +56,12 @@
           pdf: [],
           protectedEpub: [],
           probationPage: [], //pdf璇曡椤垫暟
-          freeEpubPage: [], //epub璇曡鐧惧垎姣�
-        },
+          freeEpubPage: [] //epub璇曡鐧惧垎姣�
+        }
       };
       this.MG.store.getProductDetail(query).then((res) => {
-        console.log("鍥句功淇℃伅",res.datas.cmsDatas[0].datas); 
-        this.$data.bookData =  res.datas.cmsDatas[0].datas
-
+        this.$data.bookData = res.datas;
+        this.$store.commit("setRootCmsItemId", res.datas.rootCmsItemId);
       });
     },
     getParentWithClass(element, className) {
@@ -80,82 +73,48 @@
       }
     },
     handleMouseUp(e) {
-      if (this.$data.move) {
-        const txt = window.getSelection()?.toString();
-        const selection = window.getSelection();
-        if (selection.type != "none") {
-          let node = selection.anchorNode.parentNode;
-          let pageHtml = this.getParentWithClass(
-            selection.anchorNode,
-            "page-box"
-          );
-          let chapterDom = this.getParentWithClass(
-            selection.anchorNode,
-            "chapter"
-          );
-          let chapterNum;
-          if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-          if (txt && pageHtml) {
-            this.$dsta.showToolBox = true;
-            const page = pageHtml.getAttribute("page");
-            console.log(
-              {
-                chapterNum,
-                txt,
-                selection,
-                node,
-                page,
-                x: e.x,
-                y: e.y,
-              },
-              "sendData"
-            );
-            // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶
-            console.log("绗簩澶勫垽鏂�", this.$store.state.qiankun);
-            if (this.$store.state.qiankun.windowSelection) {
-              this.$store.state.qiankun.windowSelection({
-                txt,
-                selection,
-                node,
-                page,
-                x: e.x,
-                y: e.y,
-              });
-            }
+      const selection = (
+        this.container ? this.container : window
+      ).getSelection();
+      const txt = selection.toString();
+      if (selection.type != "none" && txt) {
+        let node = selection.anchorNode.parentNode;
+        let pageHtml = this.getParentWithClass(
+          selection.anchorNode,
+          "page-box"
+        );
+        let chapterDom = this.getParentWithClass(
+          selection.anchorNode,
+          "chapter"
+        );
+        let chapterNum;
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        if (pageHtml) {
+          const page = pageHtml.getAttribute("page");
+          // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶
+          if (this.$store.state.qiankun.windowSelection) {
+            this.$store.state.qiankun.windowSelection({
+              chapterNum,
+              txt,
+              page,
+              x: e.x,
+              y: e.y
+            });
           }
-          this.$data.isMouseDown = false;
+        }
+      } else {
+        if (this.$store.state.qiankun.windowSelection) {
+          this.$store.state.qiankun.windowSelection({
+            chapterNum: "",
+            txt: "",
+            page: "",
+            x: "",
+            y: ""
+          });
         }
       }
-      this.$data.move = false
-    },
-
-    handleMouseDown() {
-      this.$data.isMouseDown = true;
-      this.$data.showToolBox = false;
-    },
-    handleMousemove() {
-      if (this.$data.isMouseDown) {
-        this.$data.move = true;
-      }
-    },
-
-    // handleMouseUp(e) {
-    //   if (move.value) {
-    //     const txt = window.getSelection()?.toString();
-    //     selectText.value = txt;
-    //     const node = window.getSelection();
-    //     let html = node.anchorNode.parentNode.parentNode;
-    //     dialogToolData.chapter = html.firstChild.innerHTML;
-    //     if (txt) {
-    //       showToolBox.value = true;
-    //       dialogToolData.top = e.y;
-    //       dialogToolData.left = e.x;
-    //     }
-    //     isMouseDown.value = false;
-    //   }
-    //   move.value = false;
-    // },
-  },
+    }
+  }
 };
 </script>
 

--
Gitblit v1.9.1