From e5ac9c38a59646544e6d4b6dee0b3c5f2970118f Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期一, 20 五月 2024 14:27:26 +0800 Subject: [PATCH] 新书 --- src/books/childHealth/view/index.vue | 138 ++++++++++++++++++--------------------------- 1 files changed, 56 insertions(+), 82 deletions(-) diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue index 7683b14..5b36e70 100644 --- a/src/books/childHealth/view/index.vue +++ b/src/books/childHealth/view/index.vue @@ -1,33 +1,42 @@ <template> - <div class="temp-book" @mouseup="handleMouseUp" @mousedown="handleMouseDown" @mousemove="handleMousemove"> + <div + class="temp-book" + @mouseup="handleMouseUp" + :style="{ + fontSize: fontSize ? fontSize + 'px' : '16px', + transform: `scale(${pageZoom ? pageZoom : 1})`, + }" + > <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, }, data() { return { - bookData:{}, + bookData: {}, type: "option", idPathList: [], cardList: [], isMouseDown: false, - showToolBox: false, - move: false, }; + }, + computed: { + fontSize() { + return this.$store.state.qiankun.fontSize; + }, + pageZoom() { + return this.$store.state.qiankun.scale / 100; + }, }, mounted() { this.getBookInfo(); - console.log(this.$store.state.qiankun, "this.$store.state.qiankun"); }, methods: { getBookInfo() { @@ -66,9 +75,8 @@ }, }; 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,81 +88,47 @@ } }, 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: e.x, + y: e.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