From cc8eff15ca66810cd35957c46f195bff1646a99f Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期一, 27 五月 2024 17:19:22 +0800 Subject: [PATCH] 学前儿童page-box加if --- src/books/childHealth/view/index.vue | 203 +++++++++++++++----------------------------------- 1 files changed, 61 insertions(+), 142 deletions(-) diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue index 5468af4..3c0e84d 100644 --- a/src/books/childHealth/view/index.vue +++ b/src/books/childHealth/view/index.vue @@ -1,85 +1,35 @@ <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 pageContent from "./content/index.vue"; -// import testData from '../assets/examinationList' -// import getQuestionData from '@/assets/methods/examination' export default { - name: "child-health", components: { - pageContent, - examinations, + pageContent }, data() { - return { - bookData:{}, - type: "option", - idPathList: [], - cardList: [], - isMouseDown: false, - move: false, - }; + return {}; }, - mounted() { - this.getBookInfo(); - console.log(this.$store.state.qiankun, "this.$store.state.qiankun"); - }, - methods: { - getBookInfo() { - let query = { - path: "*", - queryType: "*", - productId: this.config.bookId, - favoriteTypes: "FavoriteBookCity", - itemFields: { - "SysType=": "CmsFolder", - }, - coverSize: { - height: 300, - }, - fields: { - seriesName: [], - author: [], - isbn: [], - publicationDate: [], - bookClassification: [], - paperPrice: [], - JDLink: [], - tmallLink: [], - dangdangLink: [], - weidianLink: [], - content: [], - authorIntroduction: [], - // isApplyPaperBook: [], - // isApplyEBook: [], - isApplyBook: [], - isSell: [], - pdf: [], - protectedEpub: [], - probationPage: [], //pdf璇曡椤垫暟 - freeEpubPage: [], //epub璇曡鐧惧垎姣� - }, - }; - this.MG.store.getProductDetail(query).then((res) => { - console.log("鍥句功淇℃伅",res.datas); - this.$data.bookData = res.datas - this.$store.commit('setRootCmsItemId',res.datas.rootCmsItemId) - // const questiondata = testData - // for(let key in testData) { - // for(let tkey in testData[key]) { - // console.log(testData[key][tkey]); - // questiondata[key][tkey] = getQuestionData(res.datas.rootCmsItemId,testData[key][tkey]) - // } - // } - // this.$store.commit('setQuestionData',questiondata) - // console.log(questiondata); - }); + computed: { + fontSize() { + return this.$store.state.qiankun.fontSize; }, + pageZoom() { + return this.$store.state.qiankun.scale / 100; + } + }, + mounted() {}, + methods: { getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; @@ -89,82 +39,51 @@ } }, 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) { - 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; - }, - 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> -<style lang="less" scoped></style> -../assets/examinationList.js../assets/examinationList.js \ No newline at end of file +<style lang="less"> +@import "../assets/main.less"; +</style> -- Gitblit v1.9.1