闫增涛
2024-06-25 ad1249855f81b4e146a0140df29ae69b09a1ca11
src/components/dragQuestion/index.vue
@@ -193,6 +193,8 @@
      maxX: null,
      maxY: null,
      spaceList: [],
      submitState:false,
      isLift:false
    };
  },
  mounted() {
@@ -204,6 +206,8 @@
    // 3.限制鼠标松开要在空格的范围内
    mousedown(e) {
      e.preventDefault();
      if(this.submitState) return false
      this.isLift = false
      console.log("鼠标按下", e);
      this.moveDom = e.toElement;
      this.parentDom = this.getParentWithClass(e.toElement, "question-box");
@@ -236,6 +240,7 @@
              e.y >= item.minY &&
              e.y <= item.maxY
            ) {
              if(!this.isLift) return false
              this.$set(
                this.drageQuestion[this.questionIndex].userAnswer,
                index,
@@ -245,6 +250,7 @@
                }
              );
              this.moveDom.style.display = "none";
              this.moveDom = null;
            }
          }
        }
@@ -253,8 +259,11 @@
    // 鼠标抬起
    mouseup(e) {
      if (this.moveDom) {
        this.moveDom = null;
        // this.moveDom = null;
      }
      this.isLift = true
    },
    // 获取题目空格坐标
    getSpaceInfo(parentDom) {
@@ -263,10 +272,10 @@
      for (let index = 0; index < list.length; index++) {
        const itemInfo = list[index].getBoundingClientRect();
        arr.push({
          minX: itemInfo.x,
          maxX: itemInfo.x + itemInfo.width,
          minY: itemInfo.y,
          maxY: itemInfo.y + itemInfo.height,
          minX: itemInfo.x -10,
          maxX: itemInfo.x + itemInfo.width + 10,
          minY: itemInfo.y -10 ,
          maxY: itemInfo.y + itemInfo.height + 10,
        });
      }
      this.spaceList = arr;
@@ -298,6 +307,7 @@
    },
    // 提交
    submitData() {
      this.submitState = true
      let arr = [];
      const data = this.drageQuestion;
      for (let index = 0; index < data.length; index++) {
@@ -306,13 +316,13 @@
          let citem = item.userAnswer[cindex];
          arr[cindex] = citem.value
        }
        item.isRight = arr == item.answer
        item.isRight = JSON.stringify(arr)  == JSON.stringify(item.answer)
        item.isComplete = true
      }
      console.log(arr,this.drageQuestion[0]);
    },
    redio() {
      this.submitState = false
      localStorage.removeItem(
        this.config.activeBook.name + "-drag-" + this.page
      );
@@ -409,6 +419,7 @@
}
.drag-bottom-btn {
  width: 100%;
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
@@ -420,7 +431,7 @@
}
.analysis {
  margin: 20px 0;
  width: 94%;
  width: 100%;
  // margin-left: 12px;
}
.judge-icon {
@@ -463,9 +474,8 @@
          text-align: left;
          display: flex;
          span:nth-child(1) {
            display: inline-block;
            text-indent: 0;
            width: 82px;
            width: 100px;
          }
        }
        .correctBox {
@@ -485,7 +495,7 @@
          color: #ee1818;
          span {
            height: min-content;
            width: 100px;
            width: 115px;
          }
          .errorBox {
            width: 100px;