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

---
 src/books/childHealth/view/index.vue |   94 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 76 insertions(+), 18 deletions(-)

diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue
index 03fd85d..3f1ec31 100644
--- a/src/books/childHealth/view/index.vue
+++ b/src/books/childHealth/view/index.vue
@@ -1,6 +1,5 @@
 <template>
   <div class="temp-book" @mouseup="handleMouseUp">
-    <pageHeader></pageHeader>
     <pageContent></pageContent>
   </div>
 </template>
@@ -8,12 +7,11 @@
 <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";
+import {mapState} from 'vuex'
 export default {
-  name: "temp-book",
+  name: "child-health",
   components: {
-    pageHeader,
     pageContent,
     examinations,
   },
@@ -26,7 +24,20 @@
   },
   mounted() {
     this.getBookInfo();
+    console.log(this.$store.state.qiankun, "this.$store.state.qiankun");
   },
+  // computed: {
+  //   ...mapState(['lineHeightList'])
+  // },
+  // wathch: {
+  //   lineHeightList:{
+  //     handler(){
+  //       console.log('鐩戝惉鍒發ineHeightList鍙樺寲');
+  //       this.handleDom()
+  //     },
+  //     deep:true
+  //   }
+  // },
   methods: {
     getBookInfo() {
       let query = {
@@ -367,7 +378,6 @@
         });
       }
     },
-
     getParentWithClass(element, className) {
       while (element.parentElement) {
         element = element.parentElement;
@@ -378,20 +388,68 @@
     },
     handleMouseUp(e) {
       const txt = window.getSelection()?.toString();
-      const node = window.getSelection();
-      let html = node.anchorNode.parentNode.parentNode.parentNode;
-      let nextHtml = html.firstChild.innerHTML;
-      let pageHtml = this.getParentWithClass(node.anchorNode,'page-box')
-      if (txt) {
-        console.log(pageHtml);
+      const selection = window.getSelection();
+      if (selection.type != "none") {
+        let node = selection.anchorNode.parentNode;
+        let pageHtml = this.getParentWithClass(
+          selection.anchorNode,
+          "page-box"
+        );
+        console.log("瀛愰」", selection.anchorNode);
+        let chapterDom = this.getParentWithClass(
+          selection.anchorNode,
+          "chapter"
+        );
+        let chapterNum;
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        console.log("绗竴澶勫垽鏂�", txt, pageHtml);
+        if (txt && pageHtml) {
+          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,
+            });
+          }
+        }
       }
-      if (html) {
-        const page = html.getAttribute("page");
-        console.log("page", page,this.$actions);
-        this.$actions.setGlobalState({
-          aa:page
-        })
-        
+    },
+    handleDom() {
+      const selection = window.getSelection();
+      let textDom = this.getParentWithClass(selection.anchorNode, "page-box");
+      for (let i = 0; i < this.$store.state.lineHeightList.length; i++) {
+        let item = this.$store.state.lineHeightList[i];
+        let rReg = new RegExp(`${item.selectText}`, "ig");
+        let text = textDom.innerHTML;
+        console.log(item.selectNode, "item.selectNode.innerHTML");
+        let nodeHtml = item.selectNode;
+        let nHtml = "";
+        nHtml = nodeHtml.replace(
+          rReg,
+          `<span style="background: ${item.color};padding: 2px;cursor: pointer">${item.selectText}</span>`
+        );
+        console.log(nHtml);
+        let rHtml = "";
+        rHtml = text.replace(nodeHtml, nHtml);
+        textDom.innerHTML = rHtml;
       }
     },
   },

--
Gitblit v1.9.1