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 | 147 ++++++++++++++++++++++++------------------------- 1 files changed, 72 insertions(+), 75 deletions(-) diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue index 118cadf..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,13 +7,10 @@ <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: "child-health", components: { - pageHeader, pageContent, examinations, }, @@ -23,24 +19,15 @@ type: "option", idPathList: [], cardList: [], + isMouseDown: false, + showToolBox: false, + move: false, }; }, 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 = { @@ -390,71 +377,81 @@ } }, handleMouseUp(e) { - 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" - ); - 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" + 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" ); - // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶 - 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, - }); + 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 }, - 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; + + 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