| | |
| | | }); |
| | | } else { |
| | | this.activeBook = await this.config.getBookConfig( |
| | | this.config.resourceCtx + "childHealth" |
| | | // childHealth |
| | | this.config.resourceCtx + "lifeCare" |
| | | ); |
| | | this.config.activeBook = this.activeBook; |
| | | this.config.goodsStore = this.activeBook.storeRefcode; |
| | |
| | | .padding-93 { |
| | | padding: 0 93px 0px 93px; |
| | | } |
| | | .padding-102 { |
| | | padding: 0 102px 0 102px; |
| | | } |
| | | .pb-104 { |
| | | padding-bottom: 104px; |
| | | } |
| | |
| | | outline: none; |
| | | } |
| | | } |
| | | .preface-odd-header { |
| | | height: 104px; |
| | | display: flex; |
| | | align-items: center; |
| | | li:first-child { |
| | | width: 15px; |
| | | height: 100%; |
| | | } |
| | | li:last-child { |
| | | display: flex; |
| | | align-items: center; |
| | | span:first-child { |
| | | display: inline-block; |
| | | padding: 5px 10px; |
| | | border-radius: 8px 0 0 8px; |
| | | color: #fff; |
| | | font-weight: bold; |
| | | } |
| | | span:last-child { |
| | | min-width: 40px; |
| | | min-height: 30px; |
| | | line-height: 30px; |
| | | padding: 0 5px; |
| | | display: inline-block; |
| | | } |
| | | } |
| | | .chapter-left-bc{ |
| | | background-color: #639bc2; |
| | | } |
| | | .chapter-right-bc { |
| | | background-color: #bbd4ec; |
| | | } |
| | | .chapter-right-cl { |
| | | color: #639bc2; |
| | | } |
| | | } |
| | | .parimary-btn { |
| | | cursor: pointer; |
| | | margin-left: 5px; |
| | |
| | | .error-icon { |
| | | color: red; |
| | | } |
| | | .icon-box { |
| | | display: inline-block; |
| | | width: 18px; |
| | | height: 18px; |
| | | } |
| | | } |
| | |
| | | class="input-bottom-border fz-18" |
| | | @blur="handleQuestion('one')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.one.isRight" |
| | | ></i> |
| | | <i class="el-icon-close error-icon" v-if="questionData.warnUp.one.isRight == false"></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.one.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <div class="right" style="width: 48%"> |
| | |
| | | /> |
| | | </p> |
| | | <p class="center"> |
| | | 2.<input class="input-bottom-border fz-18" /> |
| | | 2.<input |
| | | class="input-bottom-border fz-18" |
| | | v-model="questionData.warnUp.two.value" |
| | | @blur="handleQuestion('two')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.two.isRight" |
| | | ></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.two.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | |
| | | <el-image :src="imgThree" :preview-src-list="[imgThree]" /> |
| | | </p> |
| | | <p class="center"> |
| | | 3.<input class="input-bottom-border fz-18" /> |
| | | 3.<input |
| | | class="input-bottom-border fz-18" |
| | | v-model="questionData.warnUp.three.value" |
| | | @blur="handleQuestion('three')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.three.isRight" |
| | | ></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.three.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <div class="right" style="width: 48%"> |
| | |
| | | /> |
| | | </p> |
| | | <p class="center"> |
| | | 4.<input class="input-bottom-border fz-18" /> |
| | | 4.<input |
| | | class="input-bottom-border fz-18" |
| | | v-model="questionData.warnUp.four.value" |
| | | @blur="handleQuestion('four')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.four.isRight" |
| | | ></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.four.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | |
| | | <el-image :src="imgFive" :preview-src-list="[imgFive]" /> |
| | | </p> |
| | | <p class="center"> |
| | | 5.<input class="input-bottom-border fz-18" /> |
| | | 5.<input |
| | | class="input-bottom-border fz-18" |
| | | v-model="questionData.warnUp.five.value" |
| | | @blur="handleQuestion('five')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.five.isRight" |
| | | ></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.five.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | <div class="right" style="width: 48%"> |
| | |
| | | /> |
| | | </p> |
| | | <p class="center"> |
| | | 6.<input class="input-bottom-border fz-18" /> |
| | | 6.<input |
| | | class="input-bottom-border fz-18" |
| | | v-model="questionData.warnUp.six.value" |
| | | @blur="handleQuestion('six')" |
| | | /> |
| | | <span class="icon-box"> |
| | | <i |
| | | class="el-icon-check correct-icon" |
| | | v-if="questionData.warnUp.six.isRight" |
| | | ></i> |
| | | <i |
| | | class="el-icon-close error-icon" |
| | | v-if="questionData.warnUp.six.isRight == false" |
| | | ></i> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <p> |
| | | <p class="t0"> |
| | | <b>Ⅱ.What other symbols can you think of?</b> |
| | | <button class="parimary-btn" @click="showAnswer('seven')"> |
| | | 显示答案 |
| | | </button> |
| | | </p> |
| | | <p> |
| | | <p class="t0"> |
| | | <input |
| | | v-model="questionData.warnUp.seven" |
| | | class="input-bottom-border w100 fz-18" |
| | |
| | | <span class="contet-num-box">2</span> |
| | | </div> |
| | | </div> |
| | | <div class="page-box" page="8"> |
| | | <ul class="preface-odd-header w100 fl ju-bt"> |
| | | <li class=""></li> |
| | | <li> |
| | | <span class="chapter-left-bc">MODULE 1</span> |
| | | <span class="chapter-right-bc fw-bl chapter-right-cl">CHINA,A WONDERLAND</span> |
| | | </li> |
| | | </ul> |
| | | <div class="padding-102"> |
| | | <div class="bodystyle"> |
| | | <h3 id="c002"><span class="bjh3">Listening</span></h3> |
| | | <p> |
| | |
| | | <p class="center"> |
| | | <img class="img-g" alt="" src="../../assets/images/0013-2.jpg" /> |
| | | </p> |
| | | <p>1.How was Chinese culture introduced to the world in ancient times?</p> |
| | | <p> |
| | | 1.How was Chinese culture introduced to the world in ancient times? |
| | | </p> |
| | | <p> |
| | | 2.China offers so much to see and explore.What took you by surprise |
| | | about China? |
| | | </p> |
| | | <p class="center"><b>My Experience in Wonderland</b></p> |
| | | <p class="block"> |
| | | “So how was your journey to China?” asks Alexandra.“Highly enjoyable,” |
| | | responds Alice.“You should visit it sometime.” |
| | | “So how was your journey to China?” asks Alexandra.“Highly |
| | | enjoyable,” responds Alice.“You should visit it sometime.” |
| | | </p> |
| | | <p class="right"> |
| | | —<i>Alice in Wonderland </i>(“Through the Looking Glass”) |
| | | </p> |
| | | <p> |
| | | My incredible journey to China started in 2017 when I got selected as a |
| | | foreign student for PhD studies at one university.When I arrived in |
| | | China,I was like Alice in Alice in Wonderland.I was curious about the |
| | | people,the culture,the cuisine and of course the huge variety of |
| | | landscapes. |
| | | My incredible journey to China started in 2017 when I got selected |
| | | as a foreign student for PhD studies at one university.When I |
| | | arrived in China,I was like Alice in Alice in Wonderland.I was |
| | | curious about the people,the culture,the cuisine and of course the |
| | | huge variety of landscapes. |
| | | </p> |
| | | <p> |
| | | I found many great people and made several Chinese friends along the |
| | | way.These friends made me see China through the eyes of the locals.I |
| | | always found Chinese people very friendly and hospitable towards |
| | | foreigners.These Chinese friends made my understanding of Chinese |
| | | culture and civilization much easier,enjoyable and memorable.I consider |
| | | China my second home and love it like my own country! |
| | | culture and civilization much easier,enjoyable and memorable.I |
| | | consider China my second home and love it like my own country! |
| | | </p> |
| | | <p> |
| | | You cannot explore China properly if you do not try its delicious |
| | | variety of food.If you ate a new kind of food every day for one whole |
| | | year,the list of Chinese food would still never end! Though I love to |
| | | eat almost all kinds of Chinese cuisine,I found Sichuan and Hunan |
| | | cuisine quite mouth-watering and stimulating.For a foodie like me,China |
| | | is a heaven.I simply cannot live without Chinese food. |
| | | variety of food.If you ate |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div class="preface-bottom"> |
| | | <span class="contet-num-box">3</span> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <div class="bodystyle"> |
| | | <p> |
| | | a new kind of food every day for one whole year,the list of Chinese food |
| | | would still never end! Though I love to eat almost all kinds of Chinese |
| | | cuisine,I found Sichuan and Hunan cuisine quite mouth-watering and |
| | | stimulating.For a foodie like me,China is a heaven.I simply cannot live |
| | | without Chinese food. |
| | | </p> |
| | | <p> |
| | | Like I said earlier,China is a huge wonderland.It has thousands of years |
| | |
| | | value: "", |
| | | isRight:null, |
| | | }, |
| | | seven:{ |
| | | value: "", |
| | | isRight:null, |
| | | }, |
| | | seven: "", |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | }, |
| | | handleQuestion(type) { |
| | | if (type == "one") { |
| | | return this.questionData.warnUp.one.value ? this.questionData.warnUp.one.isRight = this.questionData.warnUp.one.value == "你好" : this.questionData.warnUp.one.isRight = null |
| | | this.questionData.warnUp.one.value |
| | | ? (this.questionData.warnUp.one.isRight = |
| | | this.questionData.warnUp.one.value == "你好") |
| | | : (this.questionData.warnUp.one.isRight = null); |
| | | } else if (type == "two") { |
| | | this.questionData.warnUp.two.value |
| | | ? (this.questionData.warnUp.two.isRight = |
| | | this.questionData.warnUp.two.value == "你好") |
| | | : (this.questionData.warnUp.two.isRight = null); |
| | | } else if (type == "three") { |
| | | this.questionData.warnUp.three.value |
| | | ? (this.questionData.warnUp.three.isRight = |
| | | this.questionData.warnUp.three.value == "你好") |
| | | : (this.questionData.warnUp.three.isRight = null); |
| | | } else if (type == "four") { |
| | | this.questionData.warnUp.four.value |
| | | ? (this.questionData.warnUp.four.isRight = |
| | | this.questionData.warnUp.four.value == "你好") |
| | | : (this.questionData.warnUp.four.isRight = null); |
| | | } else if (type == "five") { |
| | | this.questionData.warnUp.five.value |
| | | ? (this.questionData.warnUp.five.isRight = |
| | | this.questionData.warnUp.five.value == "你好") |
| | | : (this.questionData.warnUp.five.isRight = null); |
| | | } else if (type == "six") { |
| | | this.questionData.warnUp.six.value |
| | | ? (this.questionData.warnUp.six.isRight = |
| | | this.questionData.warnUp.six.value == "你好") |
| | | : (this.questionData.warnUp.six.isRight = null); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped></style> |
| | | <style lang="less" scoped> |
| | | p { |
| | | font-size: 16px !important; |
| | | } |
| | | .bodystyle { |
| | | margin: 0 !important; |
| | | } |
| | | </style> |
| | |
| | | font-size: 26px !important; |
| | | color: #000 !important; |
| | | } |
| | | .preface-odd-header { |
| | | height: 104px; |
| | | display: flex; |
| | | align-items: center; |
| | | li:first-child { |
| | | width: 15px; |
| | | height: 100%; |
| | | } |
| | | li:last-child { |
| | | display: flex; |
| | | align-items: center; |
| | | span:first-child { |
| | | display: inline-block; |
| | | padding: 5px 10px; |
| | | border-radius: 8px 0 0 8px; |
| | | color: #fff; |
| | | font-weight: bold; |
| | | } |
| | | span:last-child { |
| | | width: 40px; |
| | | height: 30px; |
| | | display: inline-block; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |
| | |
| | | .page-content-box { |
| | | font-family: "宋体", SimSun, sans-serif; |
| | | |
| | | .topImg { |
| | | padding-top: 0 !important; |
| | | margin-bottom: 2em; |
| | | } |
| | | |
| | | p input { |
| | | width: 20px; |
| | | } |
| | |
| | | border-bottom: 1px solid #dfb27d; |
| | | position: absolute; |
| | | right: 30px; |
| | | top: 30px; |
| | | top: 3px; |
| | | } |
| | | |
| | | .content { |
| | |
| | | height: 35px; |
| | | position: absolute; |
| | | left: 25px; |
| | | top: 100px; |
| | | top: 75px; |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | |
| | | } |
| | | } |
| | | |
| | | .chapter01Table { |
| | | width: 100%; |
| | | |
| | | .textareaInput { |
| | | width: 100%; |
| | |
| | | color: #000; |
| | | background-color: #eee; |
| | | } |
| | | |
| | | .chapter01Table { |
| | | width: 100%; |
| | | |
| | | |
| | | .textareaInput:focus { |
| | | border: 1px solid #999 !important; |
| | |
| | | |
| | | tr th { |
| | | font-weight: normal; |
| | | } |
| | | } |
| | | |
| | | .table162 { |
| | | tr th { |
| | | padding: 8px 0; |
| | | } |
| | | |
| | | tr td { |
| | | border: 1px solid #999; |
| | | text-align: center; |
| | | padding: 15px 0; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | |
| | |
| | | font-size: 18px; |
| | | text-align: justify; |
| | | padding: 10% 10%; |
| | | padding-top: 25%; |
| | | line-height: 30px; |
| | | padding-top: 15%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | |
| | | margin-left: 0%; |
| | | margin-right: 0%; |
| | | text-indent: 0em; |
| | | color: #666; |
| | | } |
| | | |
| | | .center1 { |
| | |
| | | #b004, |
| | | #b005, |
| | | #b006 { |
| | | position: absolute; |
| | | top: 0; |
| | | margin-bottom: 100px; |
| | | } |
| | | |
| | | h3 { |
| | |
| | | } |
| | | |
| | | h4 { |
| | | font-family: "FZLTZHJW"; |
| | | font-family: "宋体"; |
| | | font-weight: bold; |
| | | color: #f49a4c; |
| | | font-size: 1.1em; |
| | | margin-top: 0.2em; |
| | | margin-bottom: 1em; |
| | | margin-bottom: 40px; |
| | | text-indent: 0em; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .img-0 { |
| | | width: 60%; |
| | | width: 100%; |
| | | } |
| | | |
| | | .imz { |
| | |
| | | |
| | | .block { |
| | | font-size: 18px; |
| | | line-height: 30px; |
| | | line-height: 25px; |
| | | font-family: '仿宋'; |
| | | font-weight: 600; |
| | | color: #666; |
| | | } |
| | | |
| | | .bk-h3 { |
| | |
| | | <template> |
| | | <div class="public-books"> |
| | | <front001 /> |
| | | <front002 /> |
| | | <front003 /> |
| | | <front004 /> |
| | | <front005 /> |
| | | <front006 /> |
| | | <ChapterOne /> |
| | | <ChapterTwo /> |
| | | <ChapterThree /> |
| | | <ChapterFour /> |
| | | <ChapterFive /> |
| | | <!-- <chapterSix /> --> |
| | | <div |
| | | class="public-books" |
| | | @mouseup="handleMouseUp" |
| | | :style="{ |
| | | fontSize: fontSize ? fontSize + 'px' : '16px', |
| | | transform: `scale(${pageZoom ? pageZoom : 1})`, |
| | | }" |
| | | > |
| | | <front001 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <front002 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <front003 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <front004 v-if="showCatalogList.indexOf(0) > -1"/> |
| | | <front005 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <front006 v-if="showCatalogList.indexOf(0) > -1" /> |
| | | <ChapterOne v-if="showCatalogList.indexOf(1) > -1" /> |
| | | <ChapterTwo v-if="showCatalogList.indexOf(2) > -1" /> |
| | | <ChapterThree v-if="showCatalogList.indexOf(3) > -1" /> |
| | | <ChapterFour v-if="showCatalogList.indexOf(4) > -1" /> |
| | | <ChapterFive v-if="showCatalogList.indexOf(5) > -1" /> |
| | | <chapterSix v-if="showCatalogList.indexOf(6) > -1" /> |
| | | <!-- <chapterSeven /> --> |
| | | <!-- <chapterEight /> --> |
| | | <!-- <chapterNine /> --> |
| | |
| | | |
| | | export default { |
| | | name: "temp-book", |
| | | data() { |
| | | return { |
| | | catalogLength: 13, // 总章节数 |
| | | showCatalogList: [], // 显示的章节 |
| | | loadThreshold: 300, // 触发加载阈值 |
| | | throttleThreshold: 100, // 节流阈值 |
| | | previousScrollTop: 0, |
| | | throttledScrollHandler: null, |
| | | observer: null |
| | | } |
| | | }, |
| | | watch: { |
| | | showCatalogList: { |
| | | handler(newVal, oldVal) { |
| | | if ( |
| | | this.$store.state.qiankun && |
| | | this.$store.state.qiankun.catalogChange |
| | | ) { |
| | | // 调用父层方法 |
| | | this.$store.state.qiankun.catalogChange({ |
| | | showCatalogList: newVal |
| | | }); |
| | | } |
| | | // 启动页码观察 |
| | | setTimeout(() => { |
| | | this.initObservation(); |
| | | this.initThemeColor(); |
| | | }, 500); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | // 默认加载章节 |
| | | this.showCatalogList = [0]; |
| | | // 滚动监听节流 |
| | | this.throttledScrollHandler = _.throttle( |
| | | this.scrollFun, |
| | | this.throttleThreshold, |
| | | { leading: true, trailing: false } |
| | | ); |
| | | // 定义子层方法 |
| | | if (this.setGlobalState) { |
| | | // 提供页面跳转功能 |
| | | this.setGlobalState({ |
| | | gotoPage: (catalog, page) => { |
| | | this.gotoPage(catalog, page); |
| | | }, |
| | | // 渲染笔记、高亮、划线 |
| | | renderSign: (type, data) => { |
| | | this.renderSign(type, data); |
| | | }, |
| | | // 删除笔记、高亮、划线 |
| | | delSign: (data) => { |
| | | this.delSign(data); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 创建一个新的 Intersection Observer 实例,用于观察目标元素和执行相应的回调函数。 |
| | | // new IntersectionObserver(callback, options):使用之前定义的 callback 回调函数和 options 配置选项来初始化 Intersection Observer 实例。 |
| | | this.observer = new IntersectionObserver(this.pageChangeCallback, { |
| | | root: null, // 指定根元素,这里设为 null,表示选取整个视窗作为根元素。 |
| | | rootMargin: "0px", // 指定根元素的边界,这里设为 "0px",表示根元素的边界和视窗的边界重合 |
| | | threshold: 0.5 // 指定交叉比例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。 |
| | | }); |
| | | |
| | | // 启动页码观察 |
| | | setTimeout(() => { |
| | | this.initObservation(); |
| | | this.initThemeColor(); |
| | | }, 500); |
| | | |
| | | // 测试页面跳转 |
| | | // setTimeout(() => { |
| | | // this.gotoPage(5, 100); |
| | | // setTimeout(() => { |
| | | // this.renderSign("Note", { |
| | | // id: "2ACA9359", |
| | | // txt: "营养素和热量,才能", |
| | | // page: "100", |
| | | // type: "Highlight", |
| | | // color: "#F5E12A" |
| | | // }); |
| | | // setTimeout(() => { |
| | | // this.delSign({ |
| | | // ids: ["2ACA9359"] |
| | | // }); |
| | | // }, 2000); |
| | | // }, 1000); |
| | | // }, 3000); |
| | | }, |
| | | components: { |
| | | front001, |
| | | front002, |
| | |
| | | chapter016, |
| | | chapter017, |
| | | }, |
| | | methods: {}, |
| | | computed: { |
| | | fontSize() { |
| | | return this.$store.state.qiankun.fontSize; |
| | | }, |
| | | pageZoom() { |
| | | return this.$store.state.qiankun.scale / 100; |
| | | }, |
| | | }, |
| | | methods: { |
| | | getParentWithClass(element, className) { |
| | | while (element.parentElement) { |
| | | element = element.parentElement; |
| | | if (element.classList.contains(className)) { |
| | | return element; |
| | | } |
| | | } |
| | | }, |
| | | handleMouseUp(e) { |
| | | 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, |
| | | }); |
| | | } |
| | | } |
| | | } else { |
| | | if (this.$store.state.qiankun.windowSelection) { |
| | | this.$store.state.qiankun.windowSelection({ |
| | | chapterNum: "", |
| | | txt: "", |
| | | page: "", |
| | | x: e.x, |
| | | y: e.y, |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 滚动监听 |
| | | scrollFun(event) { |
| | | // 判断向上滚动还是向下滚动 |
| | | if (event.target.scrollTop > this.previousScrollTop) { |
| | | // 向下 |
| | | const currentScrollTop = |
| | | event.target.scrollTop + event.target.offsetHeight; |
| | | if ( |
| | | currentScrollTop >= |
| | | event.target.scrollHeight - this.loadThreshold |
| | | ) { |
| | | // 到达阈值 |
| | | if ( |
| | | this.showCatalogList[this.showCatalogList.length - 1] < |
| | | this.catalogLength |
| | | ) { |
| | | // 加载下一章 |
| | | this.showCatalogList.push( |
| | | this.showCatalogList[this.showCatalogList.length - 1] + 1 |
| | | ); |
| | | if (this.showCatalogList.length > 3) { |
| | | // 超过三章隐藏顶部一章 |
| | | this.showCatalogList.shift(); |
| | | } |
| | | } |
| | | } |
| | | } else if (event.target.scrollTop < this.previousScrollTop) { |
| | | // 向上 |
| | | const currentScrollTop = event.target.scrollTop; |
| | | if (currentScrollTop <= this.loadThreshold) { |
| | | // 到达阈值 |
| | | if (this.showCatalogList[0] > 0) { |
| | | // 加载上一章 |
| | | this.showCatalogList.unshift(this.showCatalogList[0] - 1); |
| | | if (this.showCatalogList.length > 3) { |
| | | // 超过三章隐藏底部一章 |
| | | this.showCatalogList.pop(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // showCatalogList 当前显示的三个章节,watch监听传递给主应用 |
| | | // 更新上一次滚动的位置 |
| | | this.previousScrollTop = event.target.scrollTop; |
| | | }, |
| | | // 章节、页面跳转 |
| | | gotoPage(catalog, page) { |
| | | if (catalog >= 0 && catalog <= this.catalogLength) { |
| | | // 处理渲染章节 |
| | | if (catalog == 0) { |
| | | this.showCatalogList = [0, 1]; |
| | | } else if (catalog == this.catalogLength) { |
| | | this.showCatalogList = [ |
| | | this.catalogLength - 2, |
| | | this.catalogLength - 1, |
| | | this.catalogLength |
| | | ]; |
| | | } else { |
| | | this.showCatalogList = [catalog - 1, catalog, catalog + 1]; |
| | | } |
| | | setTimeout(() => { |
| | | // 跳转页码 |
| | | const pageDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelector(`[page="${page}"]`); |
| | | if (pageDom) { |
| | | pageDom.scrollIntoView(); |
| | | } else { |
| | | console.log("页码错误!"); |
| | | } |
| | | }, 500); |
| | | } else { |
| | | console.log("章节错误!"); |
| | | } |
| | | }, |
| | | |
| | | // 渲染标记 |
| | | renderSign(type, data) { |
| | | const existence = ( |
| | | this.container ? this.container : document |
| | | ).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 |
| | | ); |
| | | } |
| | | } |
| | | 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 |
| | | ); |
| | | } |
| | | } |
| | | }, |
| | | initObservation() { |
| | | const sections = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".page-box"); |
| | | sections.forEach((section) => { |
| | | //observer 观察每个元素,以便在它们进入或离开视窗时触发回调函数。 |
| | | const isObserver = section.getAttribute("observer"); |
| | | if (!isObserver) { |
| | | this.observer.observe(section); |
| | | section.setAttribute("observer", "1"); |
| | | } |
| | | }); |
| | | }, |
| | | initThemeColor() { |
| | | // 获取各种需要主题色的节点 |
| | | const colorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-color"); |
| | | const backgroundColorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-back"); |
| | | const borderColorDom = ( |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".theme-border"); |
| | | console.log(this.config,'this.configthis.config'); |
| | | // 获取配置的主题色 |
| | | const bookThemeColor = |
| | | this.config.activeBook && this.config.activeBook.bookThemeColor |
| | | ? this.config.activeBook.bookThemeColor |
| | | : null; |
| | | const chapterThemeColor = |
| | | this.config.activeBook && this.config.activeBook.chapterThemeColor |
| | | ? this.config.activeBook.chapterThemeColor |
| | | : null; |
| | | const pageThemeColor = |
| | | this.config.activeBook && this.config.activeBook.pageThemeColor |
| | | ? this.config.activeBook.pageThemeColor |
| | | : null; |
| | | colorDom.forEach((domItem) => { |
| | | // 获取章节、页码 |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // 向上匹配主题色 |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.color = themeColor; |
| | | } |
| | | }); |
| | | backgroundColorDom.forEach((domItem) => { |
| | | // 获取章节、页码 |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // 向上匹配主题色 |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.backgroundColor = themeColor; |
| | | } |
| | | }); |
| | | borderColorDom.forEach((domItem) => { |
| | | // 获取章节、页码 |
| | | let pageDom = this.getParentWithClass(domItem, "page-box"); |
| | | let chapterDom = this.getParentWithClass(domItem, "chapter"); |
| | | let page, chapterNum; |
| | | if (pageDom) page = pageDom.getAttribute("page"); |
| | | if (chapterDom) chapterNum = chapterDom.getAttribute("num"); |
| | | // 向上匹配主题色 |
| | | const themeColor = |
| | | page && pageThemeColor && pageThemeColor[page] |
| | | ? pageThemeColor[page] |
| | | : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] |
| | | ? chapterThemeColor[chapterNum] |
| | | : bookThemeColor; |
| | | if (themeColor) { |
| | | domItem.style.borderColor = themeColor; |
| | | } |
| | | }); |
| | | }, |
| | | getParentWithClass(element, className) { |
| | | while (element.parentElement) { |
| | | element = element.parentElement; |
| | | if (element.classList.contains(className)) { |
| | | return element; |
| | | } |
| | | } |
| | | }, |
| | | pageChangeCallback(entries, observer) { |
| | | //entries:代表观察到的目标元素的集合。 observer:代表观察者对象。 |
| | | entries.forEach((entry) => { |
| | | //entry.isIntersecting:检查当前目标元素是否与根元素相交。 |
| | | if (entry.isIntersecting) { |
| | | const target = entry.target; |
| | | //entry.target:获取当前目标元素 |
| | | const page = target.getAttribute("page"); |
| | | const catalogDom = this.tool.getParentNodeByClassName( |
| | | target, |
| | | "chapter" |
| | | ); |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | console.log("page", page, catalog); |
| | | // 返回页码和章节信息 |
| | | if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) |
| | | this.$store.state.qiankun.pageChange({ |
| | | page: page, |
| | | catalog: catalog |
| | | }); |
| | | // const sections = Array.from(document.querySelectorAll(".section")); |
| | | //sections:获取所有具有 .section 类名的元素,并转换为数组。 |
| | | // let index = sections.findIndex((section) => section === target) + 1; |
| | | //index:查找当前目标元素在 sections 数组中的索引,并加 1,用于确定当前页码。 |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b001"> |
| | | <img class="img-0" alt="" src="../image/dy1.jpg" /> |
| | | </h2> |
| | |
| | | @blur="onBlurChange('desc3')" |
| | | ></textarea> |
| | | </div> |
| | | <p><br /></p> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 云测试:单元一应用与实践<img |
| | |
| | | v-if="chapter001.idOpenThree && chapter001.qustionData[9]" |
| | | class="tips-file" |
| | | > |
| | | <examinations |
| | | :primaryColor="'#f49a4c'" |
| | | :cardList="chapter001.qustionData[9]" |
| | | /> |
| | | <examinations :cardList="chapter001.qustionData[9]" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import getResourcePath from "@/assets/methods/resources.js"; |
| | | import getQuestionData from "@/assets/methods/examination.js"; |
| | | // import getResourcePath from "@/assets/methods/resources.js"; |
| | | // import getQuestionData from "@/assets/methods/examination.js"; |
| | | import testData from "../js/examinationList.js"; |
| | | import examinations from "@/components/examinations/index.vue"; |
| | | // import examinations from "@/components/examinations/index.vue"; |
| | | |
| | | export default { |
| | | name: "chapter001", |
| | |
| | | }; |
| | | }, |
| | | components: { |
| | | examinations, |
| | | // examinations, |
| | | }, |
| | | async created() { |
| | | created() { |
| | | const localData = JSON.parse(localStorage.getItem("chapter001")); |
| | | if (localData) { |
| | | this.chapter001 = { ...Object.assign(this.chapter001, localData) }; |
| | | } |
| | | |
| | | this.chapter001.videOneUrl = getResourcePath( |
| | | "68ebd5c05bcb742999a9ebdce4b4bd53" |
| | | ); |
| | | this.chapter001.qustionData = await getQuestionData("1", testData[1]); |
| | | // this.chapter001.videOneUrl = getResourcePath("68ebd5c05bcb742999a9ebdce4b4bd53"); |
| | | // this.qustionData = await getQuestionData('1',testData[1]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b002"><img class="img-0" alt="" src="../image/dy2.jpg" /></h2> |
| | | <div class="bk"> |
| | | <div class="bj1"> |
| | |
| | | <h4 id="d015"> |
| | | ▶▶ 应用与实践<span class="fontsz1">>>>>>>>></span> |
| | | </h4> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 云测试:单元二应用与实践<img |
| | | src="../icons/sub.png" |
| | | @click="activityThree" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div |
| | | v-if="chapter002.idOpenThree && chapter002.qustionData[23]" |
| | | class="tips-file" |
| | | > |
| | | <examinations |
| | | :primaryColor="'#f49a4c'" |
| | | :cardList="chapter002.qustionData[23]" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <p><br /></p> |
| | | <p><b>一、单选题</b></p> |
| | | <p> |
| | |
| | | @blur="onBlurChange('desc')" |
| | | ></textarea> |
| | | </div> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 云测试:单元二应用与实践<img |
| | | src="../icons/sub.png" |
| | | @click="activityThree" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div |
| | | v-if="chapter002.idOpenThree && chapter002.qustionData[2]" |
| | | class="tips-file" |
| | | > |
| | | <examinations :cardList="chapter002.qustionData[2]" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import getResourcePath from "@/assets/methods/resources.js"; |
| | | import getQuestionData from "@/assets/methods/examination.js"; |
| | | // import getResourcePath from "@/assets/methods/resources.js"; |
| | | // import getQuestionData from "@/assets/methods/examination.js"; |
| | | import testData from "../js/examinationList.js"; |
| | | import examinations from "@/components/examinations/index.vue"; |
| | | // import examinations from "@/components/examinations/index.vue"; |
| | | |
| | | export default { |
| | | name: "chapter002", |
| | |
| | | }; |
| | | }, |
| | | components: { |
| | | examinations, |
| | | // examinations, |
| | | }, |
| | | async created() { |
| | | created() { |
| | | const localData = JSON.parse(localStorage.getItem("chapter002")); |
| | | if (localData) { |
| | | this.chapter002 = { ...Object.assign(this.chapter002, localData) }; |
| | | } |
| | | this.chapter002.videOneUrl = getResourcePath( |
| | | "6e471afdbeb95a8891f1551cbb0cd4fd" |
| | | ); |
| | | this.chapter002.videOneUrl116 = getResourcePath( |
| | | "b727b78f8036a38cbd054816a81da7f8" |
| | | ); |
| | | // this.chapter002.videOneUrl = getResourcePath("6e471afdbeb95a8891f1551cbb0cd4fd"); |
| | | // this.chapter002.videOneUrl116 = getResourcePath('b727b78f8036a38cbd054816a81da7f8') |
| | | this.chapter002.videOneUrl116 = |
| | | "https:/jsek.bnuic.com/file/api/ApiDownload?md5=b727b78f8036a38cbd054816a81da7f8"; |
| | | this.chapter002.videOneUrl = |
| | | "https:/jsek.bnuic.com/file/api/ApiDownload?md5=6e471afdbeb95a8891f1551cbb0cd4fd"; |
| | | this.chapter002.qustionData = await getQuestionData("2", testData[2]); |
| | | // this.qustionData = await getQuestionData("2",testData[2]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b003"> |
| | | <img class="img-0" alt="" src="../image/dy3.jpg" /> |
| | | </h2> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text7')" |
| | | ></textarea> |
| | | <p class="left">1~2岁</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text8')" |
| | | ></textarea> |
| | | <p class="left">2~3岁</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text9')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text32')" |
| | | ></textarea> |
| | | <p class="left">影响因素</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text33')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | /> |
| | | </div> |
| | | <div |
| | | v-if="chapter003.idOpenThree && chapter003.qustionData[48]" |
| | | v-if="chapter003.idOpenThree && chapter003.qustionData[3]" |
| | | class="tips-file" |
| | | > |
| | | <examinations |
| | | :primaryColor="'#f49a4c'" |
| | | :cardList="chapter003.qustionData[48]" |
| | | /> |
| | | <examinations :cardList="chapter003.qustionData[3]" /> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="bk-sys"> |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import getResourcePath from "@/assets/methods/resources.js"; |
| | | import getQuestionData from "@/assets/methods/examination.js"; |
| | | // import getResourcePath from "@/assets/methods/resources.js"; |
| | | // import getQuestionData from "@/assets/methods/examination.js"; |
| | | import testData from "../js/examinationList.js"; |
| | | import examinations from "@/components/examinations/index.vue"; |
| | | // import examinations from "@/components/examinations/index.vue"; |
| | | |
| | | export default { |
| | | name: "chapter003", |
| | |
| | | }; |
| | | }, |
| | | components: { |
| | | examinations, |
| | | // examinations, |
| | | }, |
| | | async created() { |
| | | created() { |
| | | const localData = JSON.parse(localStorage.getItem("chapter003")); |
| | | if (localData) { |
| | | this.chapter003 = { ...Object.assign(this.chapter003, localData) }; |
| | |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=eb604885f7c01cdf2d95df839c9c233a"; |
| | | this.chapter003.videoTevUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=f12a50c2ac57da78ff02f3d5f430163b"; |
| | | this.chapter003.qustionData = await getQuestionData("3",testData[3]); |
| | | // this.chapter003.qustionData = await getQuestionData("3",testData[3]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b004"> |
| | | <img class="img-0" alt="" src="../image/dy4.jpg" /> |
| | | </h2> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text1')" |
| | | ></textarea> |
| | | <p class="left">大便</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text2')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text3')" |
| | | ></textarea> |
| | | <p class="left">13~24月龄</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text4')" |
| | | ></textarea> |
| | | <p class="left">25~36月龄</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text5')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | /> |
| | | </div> |
| | | <div |
| | | v-if="chapter004.idOpenThree && chapter004.qustionData[65]" |
| | | v-if="chapter004.idOpenThree && chapter004.qustionData[4]" |
| | | class="tips-file" |
| | | > |
| | | <examinations |
| | | :primaryColor="'#f49a4c'" |
| | | :cardList="chapter004.qustionData[65]" |
| | | /> |
| | | <examinations :cardList="chapter004.qustionData[4]" /> |
| | | </div> |
| | | </div> |
| | | <p><br /></p> |
| | |
| | | <p class="block">B.吞咽反射</p> |
| | | <p class="block">C.吸吮反射</p> |
| | | <p class="block">D.条件反射</p> |
| | | <p> |
| | | 7.培养良好的二便习惯和生活方式有利于( <input |
| | | <p>7.培养良好的二便习惯和生活方式有利于( <input |
| | | v-model="chapter004.radio.text7" |
| | | @blur="onRadioText()" |
| | | /> )。 |
| | | </p> |
| | | /> )。</p> |
| | | <p class="block">A.提高婴幼儿动作的灵活性</p> |
| | | <p class="block">B.提高婴幼儿的社会交往能力</p> |
| | | <p class="block">C.提高婴幼儿机体的工作效率</p> |
| | | <p class="block">D.促进婴幼儿的智力发展</p> |
| | | <p> |
| | | 8.培养婴幼儿的二便习惯要( <input |
| | | <p>8.培养婴幼儿的二便习惯要( <input |
| | | v-model="chapter004.radio.text8" |
| | | @blur="onRadioText()" |
| | | /> )。 |
| | | </p> |
| | | /> )。</p> |
| | | <p class="block">A.抓准间隔时间提前提醒</p> |
| | | <p class="block">B.提早训练</p> |
| | | <p class="block">C.以家长的威严制服婴儿</p> |
| | | <p class="block">D.用食物逗引婴儿</p> |
| | | <p> |
| | | 9.婴幼儿二便后不正确的清洁方法是( <input |
| | | <p>9.婴幼儿二便后不正确的清洁方法是( <input |
| | | v-model="chapter004.radio.text9" |
| | | @blur="onRadioText()" |
| | | /> )。 |
| | | </p> |
| | | /> )。</p> |
| | | <p class="block">A.便后洗手</p> |
| | | <p class="block">B.用温水洗屁股</p> |
| | | <p class="block">C.便后便盆清洗消毒</p> |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import getResourcePath from "@/assets/methods/resources.js"; |
| | | import getQuestionData from "@/assets/methods/examination.js"; |
| | | // import getResourcePath from "@/assets/methods/resources.js"; |
| | | // import getQuestionData from "@/assets/methods/examination.js"; |
| | | import testData from "../js/examinationList.js"; |
| | | import examinations from "@/components/examinations/index.vue"; |
| | | // import examinations from "@/components/examinations/index.vue"; |
| | | export default { |
| | | name: "chapter004", |
| | | components: { |
| | | examinations, |
| | | // examinations |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | async created() { |
| | | created() { |
| | | const localData = JSON.parse(localStorage.getItem("chapter004")); |
| | | if (localData) { |
| | | this.chapter004 = { ...Object.assign(this.chapter004, localData) }; |
| | | } |
| | | this.chapter004.videOneUrl = getResourcePath("c276be12bae3b1df0b3ce4aa01b14e1e"); |
| | | this.chapter004.videoTwoUrl = getResourcePath("7eb7fe2e3c13885a96143110ca4f5654"); |
| | | this.chapter004.videoFourUrl = getResourcePath("1b04691b60e5b5b207b3a4967c495d29"); |
| | | // this.chapter004.videOneUrl = getResourcePath("c276be12bae3b1df0b3ce4aa01b14e1e"); |
| | | // this.chapter004.videoTwoUrl = getResourcePath("7eb7fe2e3c13885a96143110ca4f5654"); |
| | | // this.chapter004.videoFourUrl = getResourcePath("1b04691b60e5b5b207b3a4967c495d29"); |
| | | this.chapter004.videOneUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=c276be12bae3b1df0b3ce4aa01b14e1e"; |
| | | this.chapter004.videoTwoUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=7eb7fe2e3c13885a96143110ca4f5654"; |
| | | this.chapter004.videoFourUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=1b04691b60e5b5b207b3a4967c495d29"; |
| | | this.chapter004.qustionData = await getQuestionData("4", testData[4]); |
| | | // this.chapter004.qustionData = await getQuestionData("4",testData[4]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b005"> |
| | | <img class="img-0" alt="" src="../image/dy5.jpg" /> |
| | | </h2> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text3')" |
| | | ></textarea> |
| | | <p class="left">1~2岁</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text4')" |
| | | ></textarea> |
| | | <p class="left">2~3岁</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text5')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text13')" |
| | | ></textarea> |
| | | <p class="left">冬季</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text14')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text20')" |
| | | ></textarea> |
| | | <p class="left">婴幼儿的年龄</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text21')" |
| | | ></textarea> |
| | | <p class="left">你采用的介绍方式</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text22')" |
| | | ></textarea> |
| | | <p class="left">具体的语言</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text23')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text24')" |
| | | ></textarea> |
| | | <p class="left">具体介绍的内容</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text25')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text27')" |
| | | ></textarea> |
| | | <p class="left">内容</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text28')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text29')" |
| | | ></textarea> |
| | | <p class="left">停止喂哺的表现</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text30')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text38')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text40')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text41')" |
| | | ></textarea> |
| | | <p class="left">具体内容</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text42')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text43')" |
| | | ></textarea> |
| | | <p class="left">具体内容</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text44')" |
| | | ></textarea> |
| | | <p class="left">主要原因</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text45')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text52')" |
| | | ></textarea> |
| | | <p class="left">营养性缺铁性贫血儿</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text53')" |
| | | ></textarea> |
| | | <p class="left">营养不良儿</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text54')" |
| | | ></textarea> |
| | | <p class="left">易反复感染疾病的体弱儿</p> |
| | |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | class="textareaInput" |
| | | @blur="onBlurChange('text55')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | /> |
| | | </div> |
| | | <div |
| | | v-if="chapter005.idOpenThree && chapter005.qustionData[94]" |
| | | v-if="chapter005.idOpenThree && chapter005.qustionData[3]" |
| | | class="tips-file" |
| | | > |
| | | <examinations |
| | | :primaryColor="'#f49a4c'" |
| | | :cardList="chapter005.qustionData[94]" |
| | | /> |
| | | <examinations :cardList="chapter005.qustionData[3]" /> |
| | | </div> |
| | | </div> |
| | | <p><br /></p> |
| | | <!-- <p><br /></p> |
| | | <div class="bk-sys"> |
| | | <div class="bj1-sys"> |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import getResourcePath from "@/assets/methods/resources.js"; |
| | | import getQuestionData from "@/assets/methods/examination.js"; |
| | | // import getResourcePath from "@/assets/methods/resources.js"; |
| | | // import getQuestionData from "@/assets/methods/examination.js"; |
| | | import testData from "../js/examinationList.js"; |
| | | import examinations from "@/components/examinations/index.vue"; |
| | | // import examinations from "@/components/examinations/index.vue"; |
| | | |
| | | export default { |
| | | name: "chapter005", |
| | |
| | | }; |
| | | }, |
| | | components: { |
| | | examinations, |
| | | // examinations, |
| | | }, |
| | | async created() { |
| | | created() { |
| | | const localData = JSON.parse(localStorage.getItem("chapter005")); |
| | | if (localData) { |
| | | this.chapter005 = { ...Object.assign(this.chapter005, localData) }; |
| | | } |
| | | this.chapter005.videOneUrl = getResourcePath("439b0bde62a5098875c77e2492676577"); |
| | | this.chapter005.videoTwoUrl = getResourcePath("1a878261410b01ee8e4e0602a1fe935f"); |
| | | this.chapter005.videoFourUrl = getResourcePath("6cf2619beb704b3d79de04f0775c8ba3"); |
| | | this.chapter005.videoFiveUrl = getResourcePath("8400384441ad9236d5eab24f500ec2c7"); |
| | | // this.chapter005.videOneUrl = getResourcePath("439b0bde62a5098875c77e2492676577"); |
| | | // this.chapter005.videoTwoUrl = getResourcePath("1a878261410b01ee8e4e0602a1fe935f"); |
| | | // this.chapter005.videoFourUrl = getResourcePath("6cf2619beb704b3d79de04f0775c8ba3"); |
| | | // this.chapter005.videoFiveUrl = getResourcePath("8400384441ad9236d5eab24f500ec2c7"); |
| | | this.chapter005.videOneUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=439b0bde62a5098875c77e2492676577"; |
| | | this.chapter005.videoTwoUrl = |
| | |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=6cf2619beb704b3d79de04f0775c8ba3"; |
| | | this.chapter005.videoFiveUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=8400384441ad9236d5eab24f500ec2c7"; |
| | | this.chapter005.qustionData = await getQuestionData("5",testData[5]); |
| | | // this.chapter005.qustionData = await getQuestionData("5",testData[5]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | |
| | | <template> |
| | | <div class="page-content-box"> |
| | | <div class="page-box"> |
| | | <div class="bodystyle"> |
| | | <div class="bodystyle topImg"> |
| | | <h2 id="b006"><img class="img-0" alt="" src="../image/dy6.jpg" /></h2> |
| | | <div class="bk"> |
| | | <div class="bj1"> |
| | |
| | | <div class="bodystyle"> |
| | | <p>3.学习阅读手册,填写表1-6-1并回答问题。</p> |
| | | <p class="img">表1-6-1 各年龄段婴幼儿一日饮水量统计表</p> |
| | | <p class="center"> |
| | | <!-- <p class="center"> |
| | | <img class="img-a" alt="" src="../image/0114-1.jpg" /> |
| | | </p> |
| | | </p> --> |
| | | <div> |
| | | <table class="table111 table122"> |
| | | <thead> |
| | | <tr> |
| | | <th |
| | | :style="{ |
| | | width: |
| | | index == chapter006.headersData.length - 1 ? '200px' : '', |
| | | }" |
| | | v-for="(header, index) in chapter006.headersData" |
| | | :key="index" |
| | | > |
| | | {{ header }} |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr |
| | | v-for="(row, rowIndex) in chapter006.tableData161" |
| | | :key="rowIndex" |
| | | > |
| | | <td v-for="(cell, cellIndex) in row" :key="cellIndex"> |
| | | <template v-if="cell === ''"> |
| | | <input |
| | | type="text" |
| | | v-model="chapter006.tableData161[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCell(rowIndex, cellIndex, $event.target.value) |
| | | " |
| | | /> |
| | | </template> |
| | | <template v-else> |
| | | <input |
| | | :readonly="cellIndex == 0" |
| | | type="text" |
| | | :value="chapter006.tableData161[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCell(rowIndex, cellIndex, $event.target.value) |
| | | " |
| | | /> |
| | | </template> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <p>水是喝得越多越好吗?你知道什么是水中毒吗?请解释。</p> |
| | | <div class="bk-tx"> |
| | | <textarea |
| | |
| | | v-model="chapter006.textAreaItem.text15" |
| | | style="border: 0" |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | rows="5" |
| | | maxlength="200" |
| | | @blur="onBlurChange('text15')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | v-model="chapter006.textAreaItem.text16" |
| | | style="border: 0" |
| | | placeholder="请输入内容" |
| | | rows="3" |
| | | maxlength="100" |
| | | rows="5" |
| | | maxlength="200" |
| | | @blur="onBlurChange('text16')" |
| | | ></textarea> |
| | | </div> |
| | |
| | | </div> |
| | | <p>3.头脑风暴。小组成员归纳总结完成表1-6-2。</p> |
| | | <p class="img">表1-6-2 婴幼儿良好饮水习惯的培养</p> |
| | | <p class="center"> |
| | | <!-- <p class="center"> |
| | | <img class="img-a" alt="" src="../image/0120-2.jpg" /> |
| | | </p> |
| | | </p> --> |
| | | <div> |
| | | <table class="table111 table122 table162"> |
| | | <thead> |
| | | <tr> |
| | | <th |
| | | :style="{ |
| | | width: index == 0 ? '200px' : '', |
| | | }" |
| | | v-for="(header, index) in chapter006.headersData162" |
| | | :key="index" |
| | | > |
| | | {{ header }} |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr> |
| | | <td rowspan="3" style="background-color: #eee"> |
| | | 主公饮水的习惯 |
| | | </td> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text1" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text2" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text3" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan="3" style="background-color: #eee"> |
| | | 愿意喝白开水的习惯 |
| | | </td> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text4" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text5" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text6" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan="3" style="background-color: #eee"> |
| | | 其他良好的饮水习惯 |
| | | </td> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text7" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text8" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <input |
| | | v-model="chapter006.tableData162.text9" |
| | | @blur="updateCell162" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <p><br /></p> |
| | | </div> |
| | | </div> |
| | | <div class="page-box"> |
| | |
| | | <p> |
| | | 2~4人为一组开展实训操作,其中一人操作,其他同学观摩。操作者一边实操一边讲解操作要领,其他同学按照准备饮水物品的评分标准给操作者打分。 |
| | | </p> |
| | | <p><br /></p> |
| | | <div class="bk-sys"> |
| | | <!-- <div class="bk-sys"> |
| | | <div class="bj1-sys"> |
| | | <p class="left"> |
| | | <img class="img-gn1" alt="" src="../image/dy-sys.png" /> |
| | |
| | | <img class="img-h" alt="" src="../image/0122-1.jpg" /> |
| | | </p> |
| | | <p class="img">准备饮水物品的评分标准</p> |
| | | </div> --> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 准备饮水物品的评分标准<img |
| | | src="../icons/task.png" |
| | | @click="activityGroup" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div v-if="chapter006.isGroupOpen" class="tips-file"> |
| | | <table class="table111 table122"> |
| | | <thead> |
| | | <tr> |
| | | <th |
| | | :style="{ |
| | | width: |
| | | index == 1 || index == chapter006.groupData.length - 1 |
| | | ? '100px' |
| | | : '', |
| | | }" |
| | | v-for="(header, index) in chapter006.publicHeader" |
| | | :key="index" |
| | | > |
| | | {{ header }} |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr |
| | | v-for="(row, rowIndex) in chapter006.groupData" |
| | | :key="rowIndex" |
| | | > |
| | | <td v-for="(cell, cellIndex) in row" :key="cellIndex"> |
| | | <template v-if="cell === ''"> |
| | | <input |
| | | type="text" |
| | | v-model="chapter006.groupData[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCellGroup( |
| | | rowIndex, |
| | | cellIndex, |
| | | $event.target.value |
| | | ) |
| | | " |
| | | /> |
| | | </template> |
| | | <template v-else-if="cellIndex == 4"> |
| | | <input |
| | | type="text" |
| | | v-model="chapter006.groupData[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCellGroup( |
| | | rowIndex, |
| | | cellIndex, |
| | | $event.target.value |
| | | ) |
| | | " |
| | | /> |
| | | </template> |
| | | <template v-else> |
| | | {{ cell }} |
| | | </template> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <p><b>④总结与反思</b></p> |
| | | <p>1.操作中容易出现哪些失误?造成这些失误的原因分别是什么?</p> |
| | |
| | | >>>>>>>>></span |
| | | > |
| | | </h4> |
| | | <p><br /></p> |
| | | <!-- <p><br /></p> |
| | | <div class="bk-sys"> |
| | | <div class="bj1-sys"> |
| | | <p class="left"> |
| | |
| | | <img class="img-h" alt="" src="../image/0122-2.jpg" /> |
| | | </p> |
| | | <p class="img">喝水</p> |
| | | </div> --> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 视频:喝水<img |
| | | src="../icons/video.png" |
| | | @click="activityOne" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div |
| | | class="tips-file" |
| | | v-if="chapter006.isOpenOne && chapter006.videOneUrl" |
| | | > |
| | | <video |
| | | webkit-playsinline="true" |
| | | x-webkit-airplay="true" |
| | | playsinline="true" |
| | | x5-video-orientation="h5" |
| | | x5-video-player-fullscreen="true" |
| | | x5-playsinline="" |
| | | controls |
| | | class="video-border w100" |
| | | :src="chapter006.videOneUrl" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <p><br /></p> |
| | | <p><b>①活动准备</b></p> |
| | | <p>1.物品准备:水杯、水桶、餐桌、毛巾。</p> |
| | | <p> |
| | |
| | | @blur="onBlurChange('text22')" |
| | | ></textarea> |
| | | </div> |
| | | <p><br /></p> |
| | | <div class="bk-sys"> |
| | | <!-- <p><br /></p> --> |
| | | <!-- <div class="bk-sys"> |
| | | <div class="bj1-sys"> |
| | | <p class="left"> |
| | | <img class="img-gn1" alt="" src="../image/dy-sys.png" /> |
| | |
| | | <img class="img-h" alt="" src="../image/0123-1.jpg" /> |
| | | </p> |
| | | <p class="img">指导婴幼儿集体饮水的评分标准</p> |
| | | </div> --> |
| | | <div class="tips-bk"> |
| | | <div class="bj-tip"> |
| | | 指导婴幼儿集体饮水的评分标准<img |
| | | src="../icons/task.png" |
| | | @click="activityScore1" |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div v-if="chapter006.isScore1Open" class="tips-file"> |
| | | <table class="table111 table122"> |
| | | <thead> |
| | | <tr> |
| | | <th |
| | | :style="{ |
| | | width: |
| | | index == 1 || index == chapter006.scoreData1.length - 1 |
| | | ? '100px' |
| | | : '', |
| | | }" |
| | | v-for="(header, index) in chapter006.publicHeader" |
| | | :key="index" |
| | | > |
| | | {{ header }} |
| | | </th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr |
| | | v-for="(row, rowIndex) in chapter006.scoreData1" |
| | | :key="rowIndex" |
| | | > |
| | | <td v-for="(cell, cellIndex) in row" :key="cellIndex"> |
| | | <template v-if="cell === ''"> |
| | | <input |
| | | type="text" |
| | | v-model="chapter006.scoreData1[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCellGroup( |
| | | rowIndex, |
| | | cellIndex, |
| | | $event.target.value |
| | | ) |
| | | " |
| | | /> |
| | | </template> |
| | | <template v-else-if="cellIndex == 4"> |
| | | <input |
| | | type="text" |
| | | v-model="chapter006.scoreData1[rowIndex][cellIndex]" |
| | | @blur=" |
| | | updateCellGroup( |
| | | rowIndex, |
| | | cellIndex, |
| | | $event.target.value |
| | | ) |
| | | " |
| | | /> |
| | | </template> |
| | | <template v-else> |
| | | {{ cell }} |
| | | </template> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <p><b>③实训练习</b></p> |
| | | <p> |
| | |
| | | isScore2Open: true, |
| | | isScore3Open: true, |
| | | qustionData: {}, |
| | | // 七步洗手法评分。。 |
| | | // 准备饮水物品的评分标准 |
| | | publicHeader: ["序号", "考核内容", "配分", "评分标准", "扣分", "得分"], |
| | | groupData: [ |
| | | [ |
| | | 1, |
| | | "物品准备", |
| | | 16, |
| | | "奶粉(在有效期内 )、消毒过的奶瓶、纯净水、保温瓶、凉水杯(恒温水壶)、洗手盆、洗手液、毛巾(准备不全,每缺少一项扣 2 分,扣完为止)", |
| | | 10, |
| | | "水桶、水桶专用清洁巾、水杯专用百洁布、小刷子、水杯等用品(准备不全,每缺少一项扣2分,扣完为止)", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 2, |
| | | "操作者准备", |
| | | 8, |
| | | "束起头发,剪短指甲,摘除手表及首饰,洗净双手(说明或操作不准确每项扣 2 分)", |
| | | 10, |
| | | "束起头发,剪短指甲,摘除手表及首饰,洗净双手,穿上围兜并戴上头巾和口罩(说明或操作不准确每项扣2分,扣完为止)", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 3, |
| | | "准备工作", |
| | | 15, |
| | | "检查奶粉包装,保证奶粉在保质期内,清洁无污染(说明或操作不准确每项扣 2 分,共 6 分),阅读奶粉调配说明书,根据婴儿的月龄及产品包装上的喂哺表,计算应调配的液体量(说明或操作不准确扣 4分),一手取消毒好的奶瓶,另一手拧开奶瓶盖,使之朝上置于安全位置(说明或操作不准确扣 5 分)", |
| | | "清洁、消毒水桶", |
| | | 40, |
| | | "用流动的水冲洗水桶,按照桶口—桶内壁—桶底—桶盖内侧、外侧—桶外壁)—桶外底的顺序依次擦拭,由内向外将水桶冲洗干净(说明或操作不合格每项扣2分),打开水桶下方的水龙头,使流动的水从水龙头出水口流,关上水龙头,倒入1/3开水,盖上盖子,用力左右摇晃水桶,使开水接触到桶内壁的每个角落。打开水桶下方的水龙头,让开水冲洗出水口(说明或操作不合格扣10分),采用消毒液擦拭的方法对水桶的外壁进行消毒(说明或操作不合格扣10分)。", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 4, |
| | | "精准取量", |
| | | 26, |
| | | "参考奶粉包装上的用量说明,按婴儿的体重,把温水(38 ℃~ 40 ℃)倒入奶瓶中达合适的刻度(说明或操作不准确扣 5 分),眼睛与奶瓶平视,观察水量是否合适(说明或操作不准确扣 8 分),眼睛与奶瓶平视,观察水量是否合适(说明或操作不准确扣5分),打开奶粉罐,用奶粉专用的计量勺取适量奶粉,每一量勺多出量勺上沿的奶粉都用奶粉盒(筒)口平面处刮平(说明或操作不准确扣8分),将勺中奶粉于奶瓶正上方倒入奶瓶中(说明或操作不准确扣5分)。", |
| | | "摆放水桶", |
| | | 5, |
| | | "放置好水桶后,盖好顶部盖子,下方水龙头朝外,方便婴幼儿接水(说明或操作不合格扣5分)。", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 5, |
| | | "均匀溶解", |
| | | "清洁、消毒水杯", |
| | | 15, |
| | | "旋紧奶嘴盖,按一个方向水平轻轻摇晃(或左右旋转)瓶身,使奶粉溶解(说明或操作不准确扣10分),将奶瓶倾斜45°,检查瓶底的奶粉是否充分溶解。若瓶底有奶粉未溶解,重复以上操作至奶粉完全溶解,使瓶内奶液浓度均匀(说明或操作不准确扣5分)。", |
| | | "用专用百洁布按照杯口—杯内壁—杯底—杯外壁的顺序擦拭,最后用小刷子刷洗水杯的把手(说明或操作不合格扣5分),用流动的水将水杯冲洗干净,依次放入待消毒的容器中(说明或操作不合格扣5分),放入消毒柜,进行消毒;消毒完毕后,将杯子倒扣放置沥干(说明或操作不合格扣5分)。", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 6, |
| | | "测试奶温", |
| | | "摆放水杯", |
| | | 10, |
| | | "将奶瓶倒置,使乳汁滴于喂哺者前臂内侧皮肤上测试奶温,感觉温度不烫手,便可给婴儿食用(说明或操作不合格扣10分)", |
| | | "将消过毒的水杯放入水杯架;拿杯子时,手不碰杯口,柄朝外,杯口朝上(说明或操作不合格扣10分)", |
| | | "", |
| | | "", |
| | | ], |
| | |
| | | ], |
| | | [8, "测试奶温", 5, "控制在5分钟内(超过时间扣5分)", "", ""], |
| | | ], |
| | | // 表格1-5-1 |
| | | headersData: ["序号", "营养素", "主要功能", "食物来源", "缺乏症(状)"], // 表头 |
| | | tableData151: [ |
| | | // 二维数组作为表格数据 |
| | | ["1", "", "", "", ""], |
| | | ["2", "", "", "", ""], |
| | | ["3", "", "", "", ""], |
| | | ["4", "", "", "", ""], |
| | | ["5", "", "", "", ""], |
| | | ["6", "", "", "", ""], |
| | | ["7", "", "", "", ""], |
| | | // 指导婴幼儿集体饮水的评分标准 |
| | | scoreData1: [ |
| | | [ |
| | | 1, |
| | | "物品准备", |
| | | 8, |
| | | "水杯、水桶、餐桌、毛巾(准备不全,每缺少一项扣2分,扣完为止)", |
| | | "", |
| | | "", |
| | | ], |
| | | // 1-5-2 |
| | | headers152: ["餐点", "时间", "饭菜名称", "所含食物及数量"], // 表头 |
| | | tableData152: [ |
| | | // 二维数组作为表格数据 |
| | | ["", "", "", ""], |
| | | ["", "", "", ""], |
| | | [ |
| | | 2, |
| | | "操作者准备", |
| | | 12, |
| | | "束起头发,剪短指甲,摘除手表及首饰,穿上围兜,戴上头巾和口罩,用七步洗手法洗净双手(说明或操作不准确每项扣2分,扣完为止)", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 3, |
| | | "指导喝水", |
| | | 70, |
| | | "引导婴幼儿在喝水前应先用七步洗手法清洗双手,然后取自己的杯子(语言或示范动作不准确扣10分),将温度和水量适中的水倒入婴幼儿的水杯中,放置在婴幼儿的正前方(动作或操作不准确扣10分),指导婴幼儿喝水时正确地拿水杯:右手持杯柄,左手扶杯身,避免水洒出或滑落(语言或示范动作不准确扣10分),提醒婴幼儿轻轻端起水杯,提醒婴幼儿吹一吹,轻轻用嘴唇试一试,避免烫嘴,喝水时要一口一口慢慢喝,不要边走边喝,喝水时不说笑(语言或示范动作不准确扣20分),帮助或者提醒婴幼儿将嘴巴擦干净(语言或示范动作不准确扣10分),用语言提醒婴幼儿喝完水后,将水杯放回水杯架对应的位置(忘记用语言提示者扣10分)。", |
| | | "", |
| | | "", |
| | | ], |
| | | [ |
| | | 4, |
| | | "整理物品", |
| | | 5, |
| | | "用品归位,清理收纳(说明或操作不合格扣5分)", |
| | | "", |
| | | "", |
| | | ], |
| | | [5, " 时间要求", 15, "控制在5分钟内(超过时间扣5分)", "", ""], |
| | | ], |
| | | // 表格1-6-1 |
| | | headersData: [ |
| | | "年龄(岁)", |
| | | "体重(千克)", |
| | | "总摄入量(毫升)", |
| | | "每千克体重摄入量(毫升)", |
| | | ], // 表头 |
| | | tableData161: [ |
| | | ["", "", "", ""], |
| | | ["", "", "", ""], |
| | | ["", "", "", ""], |
| | | ["", "", "", ""], |
| | | ["", "", "", ""], |
| | | ], |
| | | // 1-5-3 |
| | | headers153: ["适合月龄", "7-2月龄", "13-24月龄", "24以上月龄"], // 表头 |
| | | tableData153: [ |
| | | // 二维数组作为表格数据 |
| | | ["食物名称", "", "", ""], |
| | | ["材料准备", "", "", ""], |
| | | ["制作步骤", "", "", ""], |
| | | ["注意事项", "", "", ""], |
| | | ["你的评价", "", "", ""], |
| | | ], |
| | | // 1-5-4 |
| | | headers154: ["餐具名称", "使用阶段", "款式特点"], |
| | | tableData154: [ |
| | | ["", "", ""], |
| | | ["", "", ""], |
| | | ["", "", ""], |
| | | ["", "", ""], |
| | | ["", "", ""], |
| | | ], |
| | | // 1-6-2 |
| | | headersData162: ["婴幼儿良好的饮水习惯", "培养方法"], // 表头 |
| | | tableData162: {}, |
| | | textAreaItem: {}, |
| | | radio: {}, |
| | | }, |
| | |
| | | if (localData) { |
| | | this.chapter006 = { ...Object.assign(this.chapter006, localData) }; |
| | | } |
| | | // this.chapter006.videOneUrl = getResourcePath("439b0bde62a5098875c77e2492676577"); |
| | | // this.chapter006.videoTwoUrl = getResourcePath("1a878261410b01ee8e4e0602a1fe935f"); |
| | | // this.chapter006.videoFourUrl = getResourcePath("6cf2619beb704b3d79de04f0775c8ba3"); |
| | | // this.chapter006.videoFiveUrl = getResourcePath("8400384441ad9236d5eab24f500ec2c7"); |
| | | // this.chapter006.videOneUrl = getResourcePath("04fafb0e896ffe0379edd6d695a92b13"); |
| | | this.chapter006.videOneUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=439b0bde62a5098875c77e2492676577"; |
| | | this.chapter006.videoTwoUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=1a878261410b01ee8e4e0602a1fe935f"; |
| | | this.chapter006.videoFourUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=6cf2619beb704b3d79de04f0775c8ba3"; |
| | | this.chapter006.videoFiveUrl = |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=8400384441ad9236d5eab24f500ec2c7"; |
| | | "https://jsek.bnuic.com/file/api/ApiDownload?md5=04fafb0e896ffe0379edd6d695a92b13"; |
| | | // this.chapter006.qustionData = await getQuestionData("5",testData[5]); |
| | | }, |
| | | methods: { |
| | | activityOne() { |
| | | this.chapter006.isOpenOne = !this.chapter006.isOpenOne; |
| | | }, |
| | | activityTwo() { |
| | | this.chapter006.isOpenTwo = !this.chapter006.isOpenTwo; |
| | | }, |
| | | activityThree() { |
| | | this.chapter006.idOpenThree = !this.chapter006.idOpenThree; |
| | | }, |
| | | activityFour() { |
| | | this.chapter006.isOpenFour = !this.chapter006.isOpenFour; |
| | | activityScore1() { |
| | | this.chapter006.isScore1Open = !this.chapter006.isScore1Open; |
| | | localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | }, |
| | | activityFive() { |
| | | this.chapter006.isOpenFive = !this.chapter006.isOpenFive; |
| | | updateCellScore1(rowIndex, cellIndex, value) { |
| | | // 更新单元格数据 |
| | | this.$set(this.chapter006.scoreData1[rowIndex], cellIndex, value); |
| | | if (cellIndex == 4) { |
| | | this.$set( |
| | | this.chapter006.scoreData1[rowIndex], |
| | | 5, |
| | | this.chapter006.scoreData1[rowIndex][2] - |
| | | this.chapter006.scoreData1[rowIndex][cellIndex] |
| | | ); |
| | | } |
| | | localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | }, |
| | | activityGroup() { |
| | | this.chapter006.isGroupOpen = !this.chapter006.isGroupOpen; |
| | |
| | | }, |
| | | updateCell(rowIndex, cellIndex, value) { |
| | | // 更新单元格数据 |
| | | this.$set(this.chapter006.tableData151[rowIndex], cellIndex, value); |
| | | this.$set(this.chapter006.tableData161[rowIndex], cellIndex, value); |
| | | localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | }, |
| | | updateCell152(rowIndex, cellIndex, value) { |
| | | // updateCell152(rowIndex, cellIndex, value) { |
| | | // // 更新单元格数据 |
| | | // this.$set(this.chapter006.tableData152[rowIndex], cellIndex, value); |
| | | // localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | // }, |
| | | updateCell162(rowIndex, cellIndex, value) { |
| | | // 更新单元格数据 |
| | | this.$set(this.chapter006.tableData152[rowIndex], cellIndex, value); |
| | | localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | }, |
| | | updateCell153(rowIndex, cellIndex, value) { |
| | | // 更新单元格数据 |
| | | this.$set(this.chapter006.tableData153[rowIndex], cellIndex, value); |
| | | localStorage.setItem("chapter006", JSON.stringify(this.chapter006)); |
| | | }, |
| | | onBlurChange() { |