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 |  135 +++++++++++++++++++++++++++++----------------
 1 files changed, 87 insertions(+), 48 deletions(-)

diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue
index 4c92694..a1e4711 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>
+  <div class="temp-book" @mouseup="handleMouseUp" @mousedown="handleMouseDown" @mousemove="handleMousemove">
     <pageContent></pageContent>
   </div>
 </template>
@@ -8,20 +7,21 @@
 <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
+    examinations,
   },
   data() {
     return {
       type: "option",
       idPathList: [],
-      cardList: []
+      cardList: [],
+      isMouseDown: false,
+      showToolBox: false,
+      move: false,
     };
   },
   mounted() {
@@ -36,10 +36,10 @@
         productId: this.config.bookId,
         favoriteTypes: "FavoriteBookCity",
         itemFields: {
-          "SysType=": "CmsFolder"
+          "SysType=": "CmsFolder",
         },
         coverSize: {
-          height: 300
+          height: 300,
         },
         fields: {
           seriesName: [],
@@ -61,8 +61,8 @@
           pdf: [],
           protectedEpub: [],
           probationPage: [], //pdf璇曡椤垫暟
-          freeEpubPage: [] //epub璇曡鐧惧垎姣�
-        }
+          freeEpubPage: [], //epub璇曡鐧惧垎姣�
+        },
       };
       this.MG.store.getProductDetail(query).then((res) => {
         console.log("鍥句功淇℃伅", res.datas.cmsDatas[0].datas);
@@ -89,12 +89,12 @@
           isDownload: [],
           jsek_resourceBrief: [],
           jsek_link: [],
-          jsek_questionBank: []
+          jsek_questionBank: [],
         },
         pading: {
           start: 0,
-          size: 999
-        }
+          size: 999,
+        },
       };
       this.MG.store
         .getProductDetail(query)
@@ -128,8 +128,8 @@
         cmsPath: data.productLinkPath,
         pading: {
           start: 0,
-          size: 999
-        }
+          size: 999,
+        },
       };
       this.MG.store.getProductDetail(query).then((res) => {
         console.log("棰樼洰", res.datas.cmsDatas[0].datas);
@@ -147,7 +147,7 @@
         pathList.push({
           path: pathitem.productLinkPath,
           catalogName: pathitem.name,
-          infoList: []
+          infoList: [],
         });
         this.$data.cardList = pathList;
         // 鑾峰彇棰樼洰
@@ -165,12 +165,12 @@
             Embedded_QuestionBank_StemStyle: [],
             Embedded_QuestionBank_OptionStyle: [],
             Embedded_QuestionBank_KnowledgePoint: [],
-            Embedded_QuestionBank_Difficulty: []
+            Embedded_QuestionBank_Difficulty: [],
           },
           pading: {
             start: 0,
-            size: 999
-          }
+            size: 999,
+          },
         };
         this.MG.store.getProductDetail(query).then((res) => {
           let oldList;
@@ -180,7 +180,7 @@
               (item) => item.path == pathitem.productLinkPath
             ).infoList;
             this.setData({
-              submitStatus: true
+              submitStatus: true,
             });
           }
           res.datas.cmsDatas[0].datas.forEach((item, index) => {
@@ -220,7 +220,7 @@
               isRight: oldObj ? oldObj.isRight : null,
               isComplete: oldObj ? oldObj.isComplete : false,
               isCollect: false,
-              isUnfold: "" // 鎺у埗瑙f瀽鐨勬姌鍙犻潰鏉挎槸鍚﹀睍寮�
+              isUnfold: "", // 鎺у埗瑙f瀽鐨勬姌鍙犻潰鏉挎槸鍚﹀睍寮�
             };
             // 澶氶�夊拰濉┖绛旀鑲负鏁扮粍锛岃杞崲JSON鏍煎紡
             if (
@@ -241,7 +241,7 @@
                 if (item == "input") {
                   questionObj.stem[i] = {
                     num: index,
-                    data: "input"
+                    data: "input",
                   };
                   if (!oldObj) questionObj.userAnswer[index] = "";
                   index++;
@@ -368,7 +368,6 @@
         });
       }
     },
-
     getParentWithClass(element, className) {
       while (element.parentElement) {
         element = element.parentElement;
@@ -378,42 +377,82 @@
       }
     },
     handleMouseUp(e) {
-      const txt = window.getSelection()?.toString();
-      const selection = window.getSelection();
-      if (selection.type != "none") {
-        let node = selection.anchorNode.parentNode.parentNode.parentNode;
-        let nextHtml = node.firstChild.innerHTML;
-        let pageHtml = this.getParentWithClass(
-          selection.anchorNode,
-          "page-box"
-        );
-        if (txt && node) {
-          const page = node.getAttribute("page");
-          // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶
-          if (this.$store.state.qiankun.windowSelection)
+      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
+                y: e.y,
               },
               "sendData"
             );
-          this.$store.state.qiankun.windowSelection({
-            txt,
-            selection,
-            node,
-            page,
-            x: e.x,
-            y: e.y
-          });
+            // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶
+            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