From b4596c8a18d1e6641c6aa553fefed097f725b1f5 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期二, 14 五月 2024 21:16:55 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout

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

diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue
index 4ca6f0f..a1e4711 100644
--- a/src/books/childHealth/view/index.vue
+++ b/src/books/childHealth/view/index.vue
@@ -1,20 +1,16 @@
 <template>
-  <div class="temp-book">
-    <pageHeader></pageHeader>
+  <div class="temp-book" @mouseup="handleMouseUp" @mousedown="handleMouseDown" @mousemove="handleMousemove">
     <pageContent></pageContent>
-    <!-- <examinations :questionList="cardList" :type="type"></examinations> -->
   </div>
 </template>
 
 <script>
 import examinations from "./components/examinations/index.vue";
 import { getPublicImage } from "@/assets/js/middleGround/tool";
-import pageHeader from "./header/index.vue";
 import pageContent from "./content/index.vue";
 export default {
-  name: "temp-book",
+  name: "child-health",
   components: {
-    pageHeader,
     pageContent,
     examinations,
   },
@@ -23,10 +19,14 @@
       type: "option",
       idPathList: [],
       cardList: [],
+      isMouseDown: false,
+      showToolBox: false,
+      move: false,
     };
   },
   mounted() {
     this.getBookInfo();
+    console.log(this.$store.state.qiankun, "this.$store.state.qiankun");
   },
   methods: {
     getBookInfo() {
@@ -368,6 +368,90 @@
         });
       }
     },
+    getParentWithClass(element, className) {
+      while (element.parentElement) {
+        element = element.parentElement;
+        if (element.classList.contains(className)) {
+          return element;
+        }
+      }
+    },
+    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,
+              });
+            }
+          }
+          this.$data.isMouseDown = false;
+        }
+      }
+      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