闫增涛
2024-05-23 e5a42538eda99a4860bddc417e107ef230df8837
合书
12个文件已修改
1467 ■■■■ 已修改文件
src/App.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/English/assets/main.less 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/English/view/components/chapter001.vue 187 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/English/view/components/header.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/css/default.less 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/index.vue 454 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter001.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter002.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter003.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter004.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter005.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/lifeCare/view/chapter006.vue 496 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -46,7 +46,8 @@
      });
    } 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;
src/books/English/assets/main.less
@@ -706,6 +706,9 @@
  .padding-93 {
    padding: 0 93px 0px 93px;
  }
  .padding-102 {
    padding: 0 102px 0 102px;
  }
  .pb-104 {
    padding-bottom: 104px;
  }
@@ -788,6 +791,42 @@
      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;
@@ -807,4 +846,9 @@
  .error-icon {
    color: red;
  }
  .icon-box {
    display: inline-block;
    width: 18px;
    height: 18px;
  }
}
src/books/English/view/components/chapter001.vue
@@ -56,11 +56,16 @@
                  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%">
@@ -72,7 +77,21 @@
                />
              </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>
@@ -83,7 +102,21 @@
                <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%">
@@ -95,7 +128,21 @@
                />
              </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>
@@ -106,7 +153,21 @@
                <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%">
@@ -118,17 +179,31 @@
                />
              </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"
@@ -140,6 +215,15 @@
        <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>
@@ -159,41 +243,54 @@
      <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
@@ -494,10 +591,7 @@
            value: "",
            isRight:null,
          },
          seven:{
            value: "",
            isRight:null,
          },
          seven: "",
        },
      },
    };
@@ -510,11 +604,46 @@
    },
    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>
src/books/English/view/components/header.vue
@@ -197,29 +197,5 @@
  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>
src/books/lifeCare/css/default.less
@@ -28,6 +28,11 @@
  .page-content-box {
    font-family: "宋体", SimSun, sans-serif;
    .topImg {
      padding-top: 0 !important;
      margin-bottom: 2em;
    }
    p input {
      width: 20px;
    }
@@ -52,7 +57,7 @@
          border-bottom: 1px solid #dfb27d;
          position: absolute;
          right: 30px;
          top: 30px;
          top: 3px;
        }
        .content {
@@ -61,7 +66,7 @@
          height: 35px;
          position: absolute;
          left: 25px;
          top: 100px;
          top: 75px;
          display: flex;
          justify-content: flex-start;
          align-items: center;
@@ -150,8 +155,6 @@
      }
    }
    .chapter01Table {
      width: 100%;
      .textareaInput {
        width: 100%;
@@ -162,6 +165,10 @@
        color: #000;
        background-color: #eee;
      }
    .chapter01Table {
      width: 100%;
      .textareaInput:focus {
        border: 1px solid #999 !important;
@@ -206,6 +213,19 @@
      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;
      }
    }
@@ -443,8 +463,7 @@
      font-size: 18px;
      text-align: justify;
      padding: 10% 10%;
      padding-top: 25%;
      line-height: 30px;
      padding-top: 15%;
      box-sizing: border-box;
    }
@@ -547,6 +566,7 @@
      margin-left: 0%;
      margin-right: 0%;
      text-indent: 0em;
      color: #666;
    }
    .center1 {
@@ -606,8 +626,7 @@
    #b004,
    #b005,
    #b006 {
      position: absolute;
      top: 0;
      margin-bottom: 100px;
    }
    h3 {
@@ -620,12 +639,12 @@
    }
    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;
    }
@@ -644,7 +663,7 @@
    }
    .img-0 {
      width: 60%;
      width: 100%;
    }
    .imz {
@@ -990,7 +1009,10 @@
    .block {
      font-size: 18px;
      line-height: 30px;
      line-height: 25px;
      font-family: '仿宋';
      font-weight: 600;
      color: #666;
    }
    .bk-h3 {
src/books/lifeCare/index.vue
@@ -1,17 +1,24 @@
<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 /> -->
@@ -54,6 +61,97 @@
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,
@@ -79,7 +177,335 @@
    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>
src/books/lifeCare/view/chapter001.vue
@@ -1,7 +1,7 @@
<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>
@@ -1357,6 +1357,7 @@
            @blur="onBlurChange('desc3')"
          ></textarea>
        </div>
        <p><br /></p>
        <div class="tips-bk">
          <div class="bj-tip">
            云测试:单元一应用与实践<img
@@ -1369,10 +1370,7 @@
            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>
@@ -1381,10 +1379,10 @@
</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",
@@ -1539,18 +1537,16 @@
    };
  },
  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() {
src/books/lifeCare/view/chapter002.vue
@@ -1,7 +1,7 @@
<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">
@@ -1187,24 +1187,6 @@
        <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>
@@ -1282,15 +1264,30 @@
            @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",
@@ -1576,24 +1573,20 @@
    };
  },
  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() {
src/books/lifeCare/view/chapter003.vue
@@ -1,7 +1,7 @@
<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>
@@ -476,6 +476,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text7')"
          ></textarea>
          <p class="left">1~2岁</p>
@@ -485,6 +486,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text8')"
          ></textarea>
          <p class="left">2~3岁</p>
@@ -494,6 +496,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text9')"
          ></textarea>
        </div>
@@ -1659,6 +1662,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text32')"
          ></textarea>
          <p class="left">影响因素</p>
@@ -1668,6 +1672,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text33')"
          ></textarea>
        </div>
@@ -2279,13 +2284,10 @@
            />
          </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">
@@ -2415,10 +2417,10 @@
  </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",
@@ -2805,9 +2807,9 @@
    };
  },
  components: {
    examinations,
    // examinations,
  },
  async created() {
  created() {
    const localData = JSON.parse(localStorage.getItem("chapter003"));
    if (localData) {
      this.chapter003 = { ...Object.assign(this.chapter003, localData) };
@@ -2845,7 +2847,7 @@
      "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() {
src/books/lifeCare/view/chapter004.vue
@@ -1,7 +1,7 @@
<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>
@@ -144,6 +144,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text1')"
          ></textarea>
          <p class="left">大便</p>
@@ -153,6 +154,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text2')"
          ></textarea>
        </div>
@@ -182,6 +184,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text3')"
          ></textarea>
          <p class="left">13~24月龄</p>
@@ -191,6 +194,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text4')"
          ></textarea>
          <p class="left">25~36月龄</p>
@@ -200,6 +204,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text5')"
          ></textarea>
        </div>
@@ -1115,13 +1120,10 @@
            />
          </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>
@@ -1216,32 +1218,26 @@
        <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>
@@ -1251,14 +1247,14 @@
  </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 {
@@ -1316,21 +1312,21 @@
      },
    };
  },
  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() {
src/books/lifeCare/view/chapter005.vue
@@ -1,7 +1,7 @@
<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>
@@ -255,6 +255,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text3')"
          ></textarea>
          <p class="left">1~2岁</p>
@@ -264,6 +265,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text4')"
          ></textarea>
          <p class="left">2~3岁</p>
@@ -273,6 +275,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text5')"
          ></textarea>
        </div>
@@ -648,6 +651,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text13')"
          ></textarea>
          <p class="left">冬季</p>
@@ -657,6 +661,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text14')"
          ></textarea>
        </div>
@@ -1124,6 +1129,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text20')"
          ></textarea>
          <p class="left">婴幼儿的年龄</p>
@@ -1133,6 +1139,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text21')"
          ></textarea>
          <p class="left">你采用的介绍方式</p>
@@ -1142,6 +1149,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text22')"
          ></textarea>
          <p class="left">具体的语言</p>
@@ -1151,6 +1159,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text23')"
          ></textarea>
        </div>
@@ -1165,6 +1174,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text24')"
          ></textarea>
          <p class="left">具体介绍的内容</p>
@@ -1174,6 +1184,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text25')"
          ></textarea>
        </div>
@@ -1219,6 +1230,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text27')"
          ></textarea>
          <p class="left">内容</p>
@@ -1228,6 +1240,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text28')"
          ></textarea>
        </div>
@@ -1289,6 +1302,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text29')"
          ></textarea>
          <p class="left">停止喂哺的表现</p>
@@ -1298,6 +1312,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text30')"
          ></textarea>
        </div>
@@ -1864,6 +1879,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text38')"
          ></textarea>
        </div>
@@ -2011,6 +2027,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text40')"
          ></textarea>
        </div>
@@ -2025,6 +2042,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text41')"
          ></textarea>
          <p class="left">具体内容</p>
@@ -2034,6 +2052,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text42')"
          ></textarea>
        </div>
@@ -2048,6 +2067,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text43')"
          ></textarea>
          <p class="left">具体内容</p>
@@ -2057,6 +2077,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text44')"
          ></textarea>
          <p class="left">主要原因</p>
@@ -2066,6 +2087,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text45')"
          ></textarea>
        </div>
@@ -2224,6 +2246,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text52')"
          ></textarea>
          <p class="left">营养性缺铁性贫血儿</p>
@@ -2233,6 +2256,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text53')"
          ></textarea>
          <p class="left">营养不良儿</p>
@@ -2242,6 +2266,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text54')"
          ></textarea>
          <p class="left">易反复感染疾病的体弱儿</p>
@@ -2251,6 +2276,7 @@
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            class="textareaInput"
            @blur="onBlurChange('text55')"
          ></textarea>
        </div>
@@ -2594,15 +2620,13 @@
            />
          </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">
@@ -2720,10 +2744,10 @@
  </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",
@@ -3148,17 +3172,17 @@
    };
  },
  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 =
@@ -3167,7 +3191,7 @@
      "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() {
src/books/lifeCare/view/chapter006.vue
@@ -1,7 +1,7 @@
<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">
@@ -151,9 +151,55 @@
      <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
@@ -393,8 +439,8 @@
            v-model="chapter006.textAreaItem.text15"
            style="border: 0"
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            rows="5"
            maxlength="200"
            @blur="onBlurChange('text15')"
          ></textarea>
        </div>
@@ -417,8 +463,8 @@
            v-model="chapter006.textAreaItem.text16"
            style="border: 0"
            placeholder="请输入内容"
            rows="3"
            maxlength="100"
            rows="5"
            maxlength="200"
            @blur="onBlurChange('text16')"
          ></textarea>
        </div>
@@ -460,9 +506,110 @@
        </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">
@@ -518,8 +665,7 @@
        <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" />
@@ -529,6 +675,73 @@
            <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>
@@ -558,7 +771,7 @@
            >>>>>>>>></span
          >
        </h4>
        <p><br /></p>
        <!-- <p><br /></p>
        <div class="bk-sys">
          <div class="bj1-sys">
            <p class="left">
@@ -569,7 +782,33 @@
            <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>
@@ -615,8 +854,8 @@
            @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" />
@@ -626,6 +865,73 @@
            <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>
@@ -768,54 +1074,54 @@
        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分)",
            "",
            "",
          ],
@@ -829,49 +1135,59 @@
          ],
          [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: {},
      },
@@ -885,35 +1201,34 @@
    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;
@@ -934,17 +1249,16 @@
    },
    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() {