From 46c17ea395352fc3d2bd3d5e5163f601f4d466c1 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期五, 17 五月 2024 15:28:17 +0800 Subject: [PATCH] 题目传参 --- src/books/childHealth/view/content/index.vue | 123 +++++++++++++++++++++++++++++------------ 1 files changed, 87 insertions(+), 36 deletions(-) diff --git a/src/books/childHealth/view/content/index.vue b/src/books/childHealth/view/content/index.vue index 729678f..924583c 100644 --- a/src/books/childHealth/view/content/index.vue +++ b/src/books/childHealth/view/content/index.vue @@ -1,6 +1,7 @@ <template> <div class="page-main" @scroll="throttledScrollHandler"> - <div class="page-content"> + <div class="page-content" :style="{fontSize: fontSize ? fontSize + 'px' : '16px', + transform: `scale(${pageZoom ? pageZoom : 1})`}"> <pageHeader v-if="showCatalogList.indexOf(0) > -1"></pageHeader> <chapterOne v-if="showCatalogList.indexOf(1) > -1"></chapterOne> <chapterTwo v-if="showCatalogList.indexOf(2) > -1"></chapterTwo> @@ -49,9 +50,17 @@ throttledScrollHandler: null }; }, + computed:{ + fontSize() { + return this.$store.state.qiankun.fontSize + }, + pageZoom() { + return this.$store.state.qiankun.scale / 100 + } + }, watch: { showCatalogList: { - handler(newVal) { + handler(newVal, oldVal) { if ( this.$store.state.qiankun && this.$store.state.qiankun.catalogChange @@ -80,9 +89,13 @@ gotoPage: (catalog, page) => { this.gotoPage(catalog, page); }, - // 娓叉煋绗旇銆侀珮浜� + // 娓叉煋绗旇銆侀珮浜�佸垝绾� renderSign: (type, data) => { this.renderSign(type, data); + }, + // 鍒犻櫎绗旇銆侀珮浜�佸垝绾� + delSign: (data) => { + this.delSign(data); } }); } @@ -92,10 +105,17 @@ // this.gotoPage(5, 100); // setTimeout(() => { // this.renderSign("Note", { - // page: 100, - // txt: "鍓嶅効绔ョ敓闀垮彂鑲茬殑褰卞搷鏄竴涓笎", + // id: "2ACA9359", + // txt: "钀ュ吇绱犲拰鐑噺锛屾墠鑳�", + // page: "100", + // type: "Highlight", // color: "#F5E12A" // }); + // setTimeout(() => { + // this.delSign({ + // ids: ["2ACA9359"] + // }); + // }, 2000); // }, 1000); // }, 3000); }, @@ -141,18 +161,17 @@ } } // showCatalogList 褰撳墠鏄剧ず鐨勪笁涓珷鑺傦紝watch鐩戝惉浼犻�掔粰涓诲簲鐢� - console.log(this.showCatalogList); // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆 this.previousScrollTop = event.target.scrollTop; // 杩斿洖椤电爜鍜岀珷鑺備俊鎭� - if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) - this.$store.state.qiankun.pageChange({ - page: 100, - catalog: 5, - catalogId: "", - catalogName: "" - }); + // if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) + // this.$store.state.qiankun.pageChange({ + // page: 100, + // catalog: 5, + // catalogId: "", + // catalogName: "" + // }); }, gotoPage(catalog, page) { if (catalog >= 0 && catalog <= this.catalogLength) { @@ -184,32 +203,64 @@ } }, renderSign(type, data) { - const pageDom = ( + const existence = ( this.container ? this.container : document - ).querySelector(`[page="${data.page}"]`); - let reg = new RegExp(`${data.txt}`, "ig"); - switch (type) { - case "Highlight": - // 楂樹寒 - pageDom.innerHTML = pageDom.innerHTML.replace( - reg, - `<span style="background: ${data.color};" class="highLight">${data.txt}</span>` + ).querySelector(`[dataid="${data.id}"]`); + // 鍘婚噸 + if (!existence) { + const pageDom = ( + this.container ? this.container : document + ).querySelector(`[page="${data.page}"]`); + let reg = new RegExp(`${data.txt}`, "ig"); + switch (type) { + case "Highlight": + // 楂樹寒 + pageDom.innerHTML = pageDom.innerHTML.replace( + reg, + `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>` + ); + break; + case "Dashing": + // 鍒掔嚎 + pageDom.innerHTML = pageDom.innerHTML.replace( + reg, + `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>` + ); + break; + case "Note": + // 绗旇 + pageDom.innerHTML = pageDom.innerHTML.replace( + reg, + `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}" style="cursor: pointer" /></span>` + ); + break; + } + } + }, + delSign({ ids, type }) { + if (ids && ids.length) { + for (let i = 0; i < ids.length; i++) { + const id = ids[i]; + const dom = ( + this.container ? this.container : document + ).querySelector(`[dataid="${id}"]`); + dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( + dom.outerHTML, + dom.outerText ); - break; - case "Dashing": - // 鍒掔嚎 - pageDom.innerHTML = pageDom.innerHTML.replace( - reg, - `<span style="text-decoration-color:${data.color};" class="underline">${data.txt}</span>` + } + } + if (type) { + const doms = ( + this.container ? this.container : document + ).querySelectorAll(`[datatype="${type}"]`); + for (let i = 0; i < doms.length; i++) { + const dom = doms[i]; + dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( + dom.outerHTML, + dom.outerText ); - break; - case "Note": - // 绗旇 - pageDom.innerHTML = pageDom.innerHTML.replace( - reg, - `<span style="border-bottom-color:${data.color}" class="notesline">${data.txt}</span><img src="${NoteIcon}" style="cursor: pointer" />` - ); - break; + } } } }, -- Gitblit v1.9.1