unknown
2024-05-28 62b664eba4027b412609c81fd3d418a66bf5bfc5
Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
8个文件已修改
1个文件已添加
9194 ■■■■ 已修改文件
package-lock.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/childHealth/view/content/components/chapter001.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/childHealth/view/content/components/header.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/childHealth/view/content/index.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/embedded/assets/images/icon/share.svg 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/embedded/assets/main.less 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/embedded/view/components/chapter001.vue 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yarn.lock 8975 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json
@@ -10,6 +10,7 @@
      "dependencies": {
        "axios": "^1.6.8",
        "core-js": "^3.8.3",
        "drawflow": "^0.0.59",
        "element-ui": "^2.15.14",
        "lodash": "^4.17.21",
        "moment": "^2.30.1",
@@ -5639,6 +5640,11 @@
      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
      "dev": true,
      "license": "BSD-2-Clause"
    },
    "node_modules/drawflow": {
      "version": "0.0.59",
      "resolved": "https://registry.npmjs.org/drawflow/-/drawflow-0.0.59.tgz",
      "integrity": "sha512-HJM/8trYzignViTMzUSpskRclDhE62jM6oxjgqEJQBbkX9QvDG7JJwRlvdjqnjfL192Pdb0aIysrZMUqG8/vyg=="
    },
    "node_modules/duplexer": {
      "version": "0.1.2",
@@ -16977,6 +16983,11 @@
      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
      "dev": true
    },
    "drawflow": {
      "version": "0.0.59",
      "resolved": "https://registry.npmjs.org/drawflow/-/drawflow-0.0.59.tgz",
      "integrity": "sha512-HJM/8trYzignViTMzUSpskRclDhE62jM6oxjgqEJQBbkX9QvDG7JJwRlvdjqnjfL192Pdb0aIysrZMUqG8/vyg=="
    },
    "duplexer": {
      "version": "0.1.2",
      "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
src/App.vue
@@ -101,5 +101,7 @@
.notesline {
  padding-bottom: 2px;
  border-bottom: 2px solid;
  cursor: pointer;
}
</style>
src/books/childHealth/view/content/components/chapter001.vue
@@ -4314,7 +4314,12 @@
export default {
  name: "chapter-one",
  components: { examinations },
  props: {},
  props: {
    showPageList:{
      type:Array,
      default:[]
    }
  },
  data() {
    return {
      // 学习一
src/books/childHealth/view/content/components/header.vue
@@ -197,6 +197,12 @@
export default {
  name: "page-header",
  components: { evenHeaderVue },
  props: {
    showPageList: {
      type: Array,
      default: [],
    },
  },
};
</script>
src/books/childHealth/view/content/index.vue
@@ -1,19 +1,58 @@
<template>
  <div class="page-main" @scroll="throttledScrollHandler">
    <div class="page-content">
      <pageHeader v-if="showCatalogList.indexOf(0) > -1"></pageHeader>
      <chapterOne v-if="showCatalogList.indexOf(1) > -1"></chapterOne>
      <chapterTwo v-if="showCatalogList.indexOf(2) > -1"></chapterTwo>
      <chapterThree v-if="showCatalogList.indexOf(3) > -1"></chapterThree>
      <chapterFour v-if="showCatalogList.indexOf(4) > -1"></chapterFour>
      <chapterFive v-if="showCatalogList.indexOf(5) > -1"></chapterFive>
      <chapterSix v-if="showCatalogList.indexOf(6) > -1"></chapterSix>
      <chapterSeven v-if="showCatalogList.indexOf(7) > -1"></chapterSeven>
      <chapterEight v-if="showCatalogList.indexOf(8) > -1"></chapterEight>
      <chapterNine v-if="showCatalogList.indexOf(9) > -1"></chapterNine>
      <chapterTen v-if="showCatalogList.indexOf(10) > -1"></chapterTen>
      <chapterEleven v-if="showCatalogList.indexOf(11) > -1"></chapterEleven>
      <chapterTwelve v-if="showCatalogList.indexOf(12) > -1"></chapterTwelve>
      <pageHeader
        v-if="showCatalogList.indexOf(0) > -1"
        :showPageList="loadPageList"
      ></pageHeader>
      <chapterOne
        v-if="showCatalogList.indexOf(1) > -1"
        :showPageList="loadPageList"
      ></chapterOne>
      <chapterTwo
        v-if="showCatalogList.indexOf(2) > -1"
        :showPageList="loadPageList"
      ></chapterTwo>
      <chapterThree
        v-if="showCatalogList.indexOf(3) > -1"
        :showPageList="loadPageList"
      ></chapterThree>
      <chapterFour
        v-if="showCatalogList.indexOf(4) > -1"
        :showPageList="loadPageList"
      ></chapterFour>
      <chapterFive
        v-if="showCatalogList.indexOf(5) > -1"
        :showPageList="loadPageList"
      ></chapterFive>
      <chapterSix
        v-if="showCatalogList.indexOf(6) > -1"
        :showPageList="loadPageList"
      ></chapterSix>
      <chapterSeven
        v-if="showCatalogList.indexOf(7) > -1"
        :showPageList="loadPageList"
      ></chapterSeven>
      <chapterEight
        v-if="showCatalogList.indexOf(8) > -1"
        :showPageList="loadPageList"
      ></chapterEight>
      <chapterNine
        v-if="showCatalogList.indexOf(9) > -1"
        :showPageList="loadPageList"
      ></chapterNine>
      <chapterTen
        v-if="showCatalogList.indexOf(10) > -1"
        :showPageList="loadPageList"
      ></chapterTen>
      <chapterEleven
        v-if="showCatalogList.indexOf(11) > -1"
        :showPageList="loadPageList"
      ></chapterEleven>
      <chapterTwelve
        v-if="showCatalogList.indexOf(12) > -1"
        :showPageList="loadPageList"
      ></chapterTwelve>
      <chapterThirteen
        v-if="showCatalogList.indexOf(13) > -1"
      ></chapterThirteen>
@@ -47,7 +86,9 @@
      throttleThreshold: 100, // 节流阈值
      previousScrollTop: 0,
      throttledScrollHandler: null,
      observer: null
      observer: null,
      loadPageObserver: null,
      loadPageList: []
    };
  },
  watch: {
@@ -103,6 +144,12 @@
      root: null, // 指定根元素,这里设为 null,表示选取整个视窗作为根元素。
      rootMargin: "0px", // 指定根元素的边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
      threshold: 0.5 // 指定交叉比例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
    });
    this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
      root: null, // 指定根元素,这里设为 null,表示选取整个视窗作为根元素。
      rootMargin: "0px", // 指定根元素的边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
      threshold: 0 // 指定交叉比例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
    });
    // 启动页码观察
@@ -237,7 +284,7 @@
            // 笔记
            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}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}" style="cursor: pointer" /></span>`
              `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')">${data.txt}<img src="${NoteIcon}"/></span>`
            );
            break;
        }
@@ -277,9 +324,14 @@
      sections.forEach((section) => {
        //observer 观察每个元素,以便在它们进入或离开视窗时触发回调函数。
        const isObserver = section.getAttribute("observer");
        const isLoadObserver = section.getAttribute("loadObserver");
        if (!isObserver) {
          this.observer.observe(section);
          section.setAttribute("observer", "1");
        }
        if (!isLoadObserver) {
          this.loadPageObserver.observe(section);
          section.setAttribute("loadObserver", "1");
        }
      });
    },
@@ -396,6 +448,22 @@
          //index:查找当前目标元素在 sections 数组中的索引,并加 1,用于确定当前页码。
        }
      });
    },
    loadPageCallback(entries, observer) {
      entries.forEach((entry) => {
        if (entry.isIntersecting) {
          const target = entry.target;
          const page = target.getAttribute("page");
          if (this.loadPageList.indexOf(page) == -1) {
            this.loadPageList.push(Number(page));
            console.log(this.loadPageList,"this.loadPageList");
            if (this.loadPageList.length > 5) {
              // 超过三章隐藏顶部一章
              this.loadPageList.shift();
            }
          }
        }
      });
    }
  },
  components: {
src/books/embedded/assets/images/icon/share.svg
New file
@@ -0,0 +1,7 @@
<svg t="1716802335492" class="icon" viewBox="0 0 1024 1024" version="1.1"
  xmlns="http://www.w3.org/2000/svg" p-id="1782" xmlns:xlink="http://www.w3.org/1999/xlink"
  width="15" height="15">
  <path
    d="M354.986667 219.428571v73.142858H195.047619v536.380952h585.142857V548.571429h73.142857V828.952381a73.142857 73.142857 0 0 1-73.142857 73.142857H195.047619a73.142857 73.142857 0 0 1-73.142857-73.142857V292.571429a73.142857 73.142857 0 0 1 73.142857-73.142858h159.939048z m383.829333-100.473904l172.397714 172.373333-181.00419 181.028571-51.736381-51.712L757.784381 341.333333H670.47619c-139.068952 0-252.245333 110.884571-255.902476 249.07581L414.47619 597.333333v97.52381h-73.142857v-97.52381C341.333333 415.548952 488.69181 268.190476 670.47619 268.190476h114.127239l-97.499429-97.523809 51.712-51.712z"
    p-id="1783"></path>
</svg>
src/books/embedded/assets/main.less
@@ -827,6 +827,11 @@
      fill: #501438;
    }
  }
  .share-box {
    margin-left: 5px;
    cursor: pointer;
    fill: #501438;
  }
}
body {
  background-color: #e6e6e6;
src/books/embedded/view/components/chapter001.vue
@@ -451,8 +451,25 @@
          <p class="imgdescript">图1-14 TPC7062K与三菱FX系列PLC通信接线</p>
        </div>
        <p class="content">评分表见表1-1。</p>
        <p class="table-title">
          表1-1 评分表 <i class="el-icon-share cu-pr"></i>
        <p class="table-title fl ju-cn al-cn">
          <span>表1-1 评分表</span>
          <!-- <i class="el-icon-share cu-pr"></i> -->
          <svg
            t="1716802335492"
            class="share-box icon"
            viewBox="0 0 1024 1024"
            version="1.1"
            xmlns="http://www.w3.org/2000/svg"
            p-id="1782"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            width="18"
            height="18"
          >
            <path
              d="M354.986667 219.428571v73.142858H195.047619v536.380952h585.142857V548.571429h73.142857V828.952381a73.142857 73.142857 0 0 1-73.142857 73.142857H195.047619a73.142857 73.142857 0 0 1-73.142857-73.142857V292.571429a73.142857 73.142857 0 0 1 73.142857-73.142858h159.939048z m383.829333-100.473904l172.397714 172.373333-181.00419 181.028571-51.736381-51.712L757.784381 341.333333H670.47619c-139.068952 0-252.245333 110.884571-255.902476 249.07581L414.47619 597.333333v97.52381h-73.142857v-97.52381C341.333333 415.548952 488.69181 268.190476 670.47619 268.190476h114.127239l-97.499429-97.523809 51.712-51.712z"
              p-id="1783"
            ></path>
          </svg>
        </p>
        <table border="1" cellpadding="4" cellspacing="0">
          <tr class="table-bc">
@@ -698,11 +715,25 @@
        </div>
        <!-- 内容 -->
        <p class="content">评分表见表1-2。</p>
        <div class="qrbodyPic">
          <p class="table-title">
            表1-2 评分表 <i class="el-icon-share cu-pr"></i>
          <span> 表1-2 评分表 </span>
          <svg
            t="1716802335492"
            class="share-box icon"
            viewBox="0 0 1024 1024"
            version="1.1"
            xmlns="http://www.w3.org/2000/svg"
            p-id="1782"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            width="18"
            height="18"
          >
            <path
              d="M354.986667 219.428571v73.142858H195.047619v536.380952h585.142857V548.571429h73.142857V828.952381a73.142857 73.142857 0 0 1-73.142857 73.142857H195.047619a73.142857 73.142857 0 0 1-73.142857-73.142857V292.571429a73.142857 73.142857 0 0 1 73.142857-73.142858h159.939048z m383.829333-100.473904l172.397714 172.373333-181.00419 181.028571-51.736381-51.712L757.784381 341.333333H670.47619c-139.068952 0-252.245333 110.884571-255.902476 249.07581L414.47619 597.333333v97.52381h-73.142857v-97.52381C341.333333 415.548952 488.69181 268.190476 670.47619 268.190476h114.127239l-97.499429-97.523809 51.712-51.712z"
              p-id="1783"
            ></path>
          </svg>
          </p>
        </div>
        <table border="1" cellpadding="4" cellspacing="0">
          <tr class="table-bc">
            <td class="table-cn" colspan="2">
@@ -1307,11 +1338,25 @@
          <img src="../../assets/images/header-one.png" alt="" />
        </div>
        <p class="content">功能测试表如表1-3所示,评分表如表1-4所示。</p>
        <div class="qrbodyPic">
          <p class="table-title">
            表1-3 功能测试表 <i class="el-icon-share cu-pr"></i>
          表1-3 功能测试表
          <svg
            t="1716802335492"
            class="share-box icon"
            viewBox="0 0 1024 1024"
            version="1.1"
            xmlns="http://www.w3.org/2000/svg"
            p-id="1782"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            width="18"
            height="18"
          >
            <path
              d="M354.986667 219.428571v73.142858H195.047619v536.380952h585.142857V548.571429h73.142857V828.952381a73.142857 73.142857 0 0 1-73.142857 73.142857H195.047619a73.142857 73.142857 0 0 1-73.142857-73.142857V292.571429a73.142857 73.142857 0 0 1 73.142857-73.142858h159.939048z m383.829333-100.473904l172.397714 172.373333-181.00419 181.028571-51.736381-51.712L757.784381 341.333333H670.47619c-139.068952 0-252.245333 110.884571-255.902476 249.07581L414.47619 597.333333v97.52381h-73.142857v-97.52381C341.333333 415.548952 488.69181 268.190476 670.47619 268.190476h114.127239l-97.499429-97.523809 51.712-51.712z"
              p-id="1783"
            ></path>
          </svg>
          </p>
        </div>
        <table border="1" cellpadding="4" cellspacing="0" class="w100">
          <tr class="table-bc">
            <td class="table-cn">
@@ -1342,11 +1387,25 @@
            <td><input style="width: 100%" class="border-0" /></td>
          </tr>
        </table>
        <div class="qrbodyPic">
          <p class="table-title">
            表1-4 评分表 <i class="el-icon-share cu-pr"></i>
        <p class="table-title mt-20">
          表1-4 评分表
          <svg
            t="1716802335492"
            class="share-box icon"
            viewBox="0 0 1024 1024"
            version="1.1"
            xmlns="http://www.w3.org/2000/svg"
            p-id="1782"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            width="18"
            height="18"
          >
            <path
              d="M354.986667 219.428571v73.142858H195.047619v536.380952h585.142857V548.571429h73.142857V828.952381a73.142857 73.142857 0 0 1-73.142857 73.142857H195.047619a73.142857 73.142857 0 0 1-73.142857-73.142857V292.571429a73.142857 73.142857 0 0 1 73.142857-73.142858h159.939048z m383.829333-100.473904l172.397714 172.373333-181.00419 181.028571-51.736381-51.712L757.784381 341.333333H670.47619c-139.068952 0-252.245333 110.884571-255.902476 249.07581L414.47619 597.333333v97.52381h-73.142857v-97.52381C341.333333 415.548952 488.69181 268.190476 670.47619 268.190476h114.127239l-97.499429-97.523809 51.712-51.712z"
              p-id="1783"
            ></path>
          </svg>
          </p>
        </div>
        <table border="1" cellpadding="2" cellspacing="0">
          <tr class="table-bc">
            <td class="table-cn" colspan="2">
yarn.lock
Diff too large