闫增涛
2024-06-20 ef77d2b27d0de0d01f0f00525325c2bad36eb0a0
src/books/mathBook/view/components/chapter001.vue
@@ -239,10 +239,9 @@
        <div class="padding-116">
          <p class="fl">
            <span>
              <span class="zt-ls"><b>例2</b></span
              > 已知<i>f</i>(<i>x</i>)=|<i>x</i>|+1图像在<i>y</i>轴右边的部分如图3-17所示.试画出这个函数图像在<i>y</i>轴左边的部分.
              <span class="zt-ls"><b>例2</b></span>
               已知<i>f</i>(<i>x</i>)=|<i>x</i>|+1图像在<i>y</i>轴右边的部分如图3-17所示.试画出这个函数图像在<i>y</i>轴左边的部分.
            </span>
            <span class="btn-box" @click="isShowExampleTwo = !isShowExampleTwo">
              <svg
                xmlns="http://www.w3.org/2000/svg"
@@ -537,7 +536,7 @@
                />
              </p>
            </div>
            <p class="block">
            <p class="block tl">
              如果<i>f</i>(<i>x</i>),<i>g</i>(<i>x</i>)都是定义域为<i>D</i>的偶函数,那么<i>f</i>(<i>x</i>)+<i>g</i>(<i>x</i>)和<i>f</i>(<i>x</i>)<i>g</i>(<i>x</i>)仍是偶函数吗?
              <textarea
                cols="30"
@@ -565,7 +564,10 @@
          </p>
          <div class="bj">
            <examinations
              :cardList="questionData"
              :cardList="questionData[9]"
              :hideCollect="true"
              sourceType="json"
              inputBc="#d3edfa"
              v-if="questionData"
              :isReal="false"
            ></examinations>
@@ -576,11 +578,37 @@
    <!-- 函数控件弹窗 -->
    <el-dialog
      title=""
      :visible.sync="dialogVisible"
      width="60%"
      :append-to-body="true"
      :show-close="false"
    >
    <div slot="title" style="padding: 0 0 15px 0;position: relative;">
        <svg
          style="position: absolute; right:10px;cursor: pointer;"
          @click="dialogVisible = false"
          t="1718596022986"
          class="icon"
          viewBox="0 0 1024 1024"
          version="1.1"
          xmlns="http://www.w3.org/2000/svg"
          p-id="4252"
          width="20"
          height="20"
          xmlns:xlink="http://www.w3.org/1999/xlink"
        >
          <path
            d="M176.661601 817.172881C168.472798 825.644055 168.701706 839.149636 177.172881 847.338438 185.644056 855.527241 199.149636 855.298332 207.338438 846.827157L826.005105 206.827157C834.193907 198.355983 833.964998 184.850403 825.493824 176.661601 817.02265 168.472798 803.517069 168.701706 795.328267 177.172881L176.661601 817.172881Z"
            fill="#979797"
            p-id="4253"
          ></path>
          <path
            d="M795.328267 846.827157C803.517069 855.298332 817.02265 855.527241 825.493824 847.338438 833.964998 839.149636 834.193907 825.644055 826.005105 817.172881L207.338438 177.172881C199.149636 168.701706 185.644056 168.472798 177.172881 176.661601 168.701706 184.850403 168.472798 198.355983 176.661601 206.827157L795.328267 846.827157Z"
            fill="#979797"
            p-id="4254"
          ></path>
        </svg>
      </div>
      <iframe
        src="https://www.geogebra.org/calculator"
        frameborder="0"
@@ -589,16 +617,46 @@
    </el-dialog>
    <!-- 解题思路弹窗 -->
    <el-dialog
      title="解题思路"
      :visible.sync="thinkingDialog"
      width="40%"
      :append-to-body="true"
      :show-close="false"
    >
      <div slot="title" style="padding: 0; text-align: center; color: #333;display:flex;justify-content: center;">
        <span style=""> 解题思路 </span>
        <svg
          style="position: absolute; right:10px;cursor: pointer;"
          @click="thinkingDialog = false"
          t="1718596022986"
          class="icon"
          viewBox="0 0 1024 1024"
          version="1.1"
          xmlns="http://www.w3.org/2000/svg"
          p-id="4252"
          width="20"
          height="20"
          xmlns:xlink="http://www.w3.org/1999/xlink"
        >
          <path
            d="M176.661601 817.172881C168.472798 825.644055 168.701706 839.149636 177.172881 847.338438 185.644056 855.527241 199.149636 855.298332 207.338438 846.827157L826.005105 206.827157C834.193907 198.355983 833.964998 184.850403 825.493824 176.661601 817.02265 168.472798 803.517069 168.701706 795.328267 177.172881L176.661601 817.172881Z"
            fill="#979797"
            p-id="4253"
          ></path>
          <path
            d="M795.328267 846.827157C803.517069 855.298332 817.02265 855.527241 825.493824 847.338438 833.964998 839.149636 834.193907 825.644055 826.005105 817.172881L207.338438 177.172881C199.149636 168.701706 185.644056 168.472798 177.172881 176.661601 168.701706 184.850403 168.472798 198.355983 176.661601 206.827157L795.328267 846.827157Z"
            fill="#979797"
            p-id="4254"
          ></path>
        </svg>
      </div>
      <ul>
        <li v-for="(item, index) in thinkOne" :key="index">
          <div v-if="item.isShow" style="display: flex">
            <span class="step-num">
              <span class="step-num-box">{{ index + 1 }}</span>
            <span style="position: relative">
              <span
                style="position: absolute; top: 16px; left: 13px; color: #fff"
                >{{ index + 1 }}</span
              >
              <img
                src="../../assets/images/icon/blue-group.png"
                alt=""
@@ -616,8 +674,20 @@
          </div>
        </li>
      </ul>
      <div class="bottom-btn" @click="showNext(thinkIndex)">
        <img src="../../assets/images/icon/mouse.png" alt="" v-if="thinkIndex != 3" />
      <div
        @click="showNext(thinkIndex)"
        style="
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
        "
      >
        <img
          src="../../assets/images/icon/mouse.png"
          alt=""
          v-if="thinkIndex != 3"
        />
        <svg
          xmlns="http://www.w3.org/2000/svg"
          xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -644,16 +714,50 @@
    </el-dialog>
    <!-- 解题步骤弹窗 -->
    <el-dialog
      class="stepDialog"
      title="解题步骤"
      :visible.sync="stepDialog"
      width="40%"
      :append-to-body="true"
      :show-close="false"
    >
      <div slot="title" style="padding: 0; text-align: center; color: #333;display:flex;justify-content: center;">
        <span>
          解题步骤
        </span>
        <svg
          style="position: absolute; right:10px;cursor: pointer;"
          @click="stepDialog = false"
          t="1718596022986"
          class="icon"
          viewBox="0 0 1024 1024"
          version="1.1"
          xmlns="http://www.w3.org/2000/svg"
          p-id="4252"
          width="20"
          height="20"
          xmlns:xlink="http://www.w3.org/1999/xlink"
        >
          <path
            d="M176.661601 817.172881C168.472798 825.644055 168.701706 839.149636 177.172881 847.338438 185.644056 855.527241 199.149636 855.298332 207.338438 846.827157L826.005105 206.827157C834.193907 198.355983 833.964998 184.850403 825.493824 176.661601 817.02265 168.472798 803.517069 168.701706 795.328267 177.172881L176.661601 817.172881Z"
            fill="#979797"
            p-id="4253"
          ></path>
          <path
            d="M795.328267 846.827157C803.517069 855.298332 817.02265 855.527241 825.493824 847.338438 833.964998 839.149636 834.193907 825.644055 826.005105 817.172881L207.338438 177.172881C199.149636 168.701706 185.644056 168.472798 177.172881 176.661601 168.701706 184.850403 168.472798 198.355983 176.661601 206.827157L795.328267 846.827157Z"
            fill="#979797"
            p-id="4254"
          ></path>
        </svg>
      </div>
      <ul>
        <li v-for="(item, index) in stepOne" :key="index">
          <div v-if="item.isShow" style="display: flex">
            <span class="step-num">
              <span class="step-num-box">{{ index + 1 }}</span>
            <span style="position: relative">
              <span
                style="position: absolute; top: 16px; left: 13px; color: #fff"
                >{{ index + 1 }}</span
              >
              <img
                src="../../assets/images/icon/blue-group.png"
                alt=""
@@ -671,8 +775,20 @@
          </div>
        </li>
      </ul>
      <div class="bottom-btn" @click="showNextChange(stepIndex)">
        <img src="../../assets/images/icon/mouse.png" alt="" v-if="stepIndex != 2" />
      <div
        @click="showNextChange(stepIndex)"
        style="
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
        "
      >
        <img
          src="../../assets/images/icon/mouse.png"
          alt=""
          v-if="stepIndex != 2"
        />
        <svg
          xmlns="http://www.w3.org/2000/svg"
          xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -712,6 +828,9 @@
      type: Array,
      default: [],
    },
    questionData:{
      type:Object
    }
  },
  mounted() {
    const data = localStorage.getItem("math-chapterData");
@@ -719,7 +838,7 @@
      this.chapterData = JSON.parse(data);
    }
    this.getPath();
    this.getQuestionData();
    // this.getQuestionData();
  },
  data() {
    return {
@@ -734,9 +853,8 @@
      thinkingDialog: false,
      stepDialog: false,
      videoPath: "",
      questionData: [],
      stepIndex: 1,
      thinkIndex:1,
      thinkIndex: 1,
      chapterData: {
        isCollectImg: false,
        isCollectVideo: false,
@@ -781,40 +899,40 @@
        "a28cd862d61b5df2201406b76e9f01b0"
      );
    },
    getQuestionData() {
      axios
        .get(this.config.activeBook.resourceUrl + "/question.json")
        .then((res) => {
          let oldAnswer = localStorage.getItem(
            this.config.activeBook.name + "oldAnswerData"
          );
          if (oldAnswer) {
            oldAnswer = JSON.parse(oldAnswer);
            console.log("旧数据", oldAnswer);
            if (oldAnswer[9]) {
              for (let index = 0; index < res.data.data.length; index++) {
                const item = res.data.data[index];
                if (item.infoList.length) {
                  for (
                    let cindex = 0;
                    cindex < item.infoList.length;
                    cindex++
                  ) {
                    const citem = item.infoList[cindex];
                    const question = oldAnswer[9].find(
                      (ditem) => ditem.id == citem.id
                    );
                    if (question) {
                      citem.userAnswer = question.userAnswer;
                    }
                  }
                }
              }
            }
          }
          this.questionData = res.data.data;
        });
    },
    // getQuestionData() {
    //   axios
    //     .get(this.config.activeBook.resourceUrl + "/question.json")
    //     .then((res) => {
    //       let oldAnswer = localStorage.getItem(
    //         this.config.activeBook.name + "oldAnswerData"
    //       );
    //       if (oldAnswer) {
    //         oldAnswer = JSON.parse(oldAnswer);
    //         console.log("旧数据", oldAnswer);
    //         if (oldAnswer[9]) {
    //           for (let index = 0; index < res.data.data.length; index++) {
    //             const item = res.data.data[index];
    //             if (item.infoList.length) {
    //               for (
    //                 let cindex = 0;
    //                 cindex < item.infoList.length;
    //                 cindex++
    //               ) {
    //                 const citem = item.infoList[cindex];
    //                 const question = oldAnswer[9].find(
    //                   (ditem) => ditem.id == citem.id
    //                 );
    //                 if (question) {
    //                   citem.userAnswer = question.userAnswer;
    //                 }
    //               }
    //             }
    //           }
    //         }
    //       }
    //       this.questionData = res.data.data;
    //     });
    // },
    handleCollect(type) {
      if (type == "img") {
        this.chapterData.isCollectImg = !this.chapterData.isCollectImg;
@@ -833,15 +951,15 @@
      const number = this.thinkOne.findIndex((item, index) => index == num);
      console.log(number);
      this.thinkOne[number].isShow = true;
      if(this.thinkIndex <= 2) {
        this.thinkIndex ++
      if (this.thinkIndex <= 2) {
        this.thinkIndex++;
      }
    },
    showNextChange(num) {
      const number = this.stepOne.findIndex((item, index) => index == num);
      this.stepOne[number].isShow = true;
      if(this.stepIndex < 2) {
        this.stepIndex ++
      if (this.stepIndex < 2) {
        this.stepIndex++;
      }
    },
  },
@@ -881,4 +999,6 @@
    color: #fff;
  }
}
.stepDialog {
}
</style>