wuyouming666
2024-01-22 64cad8c9b74d1450e873ce378110a7ed8c1aef56
CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -43,13 +43,13 @@
        active-class="blue-button"
        >{{ $t("Automatic State") }}</router-link
      >
      <router-link
      <!-- <router-link
        to="/Electrical/ManualJog"
        tag="el-button"
        type="text"
        active-class="blue-button"
        >{{ $t("ManualJog") }}</router-link
      >
      > -->
      <router-link
        to="/Electrical/ManualonePosition"
@@ -90,6 +90,14 @@
        active-class="blue-button"
        >{{ $t("Speed parameter settings") }}</router-link
      >
      <router-link
        to="/Electrical/InteractionState"
        tag="el-button"
        type="text"
        active-class="blue-button"
        >{{ $t("InteractionState") }}</router-link
      >
    </el-breadcrumb>
    <el-row :gutter="26">
@@ -116,7 +124,7 @@
                  <el-input
                    v-if="item.type === '0' && groupIndex === 0"
                    v-model="item.value"
                    @keyup.enter.native="zuhe1"
                    @keyup.enter.native="zuhe1($event)"
                    class="input-box"
                    :class="{
                      'special-class': groupIndex === 0,
@@ -127,7 +135,7 @@
                  <el-input
                    v-else-if="item.type === '0' && groupIndex === 1"
                    v-model="item.value"
                    @keyup.enter.native="zuhe2"
                    @keyup.enter.native="zuhe2($event)"
                    class="input-box"
                    :class="{
                      'special-class': groupIndex === 0,
@@ -317,7 +325,7 @@
        this.$set(dataGroup[itemIndex].button, "value", 1);
      }
    },
    zuhe1() {
    zuhe1(event) {
      const data = [];
      for (let i = 0; i < 1; i++) {
@@ -328,7 +336,36 @@
          });
        const values = inputData.map((item) => item.value);
        // console.log(values)
        if (values.length > 0) {
if (!(values[1] == "1" || values[1] == "2")) {
  values.shift();
  this.$message.error("Out of range");
  return false;
}
// if (!(values[2] < "380" ) ) {
//   values.shift();
//   this.$message.error("Out of range");
//   return false;
// }
if (!(values[4] >= "1" && values[4]  <= "210")  && values[4]  !== "1000") {
  values.shift();
  this.$message.error("Out of range");
  return false;
}
if (!(values[5] >= "1" && values[5]  <= "210")  && values[5]  !== "1000") {
  values.shift();
  this.$message.error("Out of range");
  return false;
}
}
        data.push(values);
      }
@@ -342,8 +379,13 @@
          });
        const values = inputData.map((item) => item.value);
        data.push(values);
        const pattern = /^[\w ]{1,14}$/;   // 匹配长度为14的数字、字母、空格的组合
if (!pattern.test(values[0])) {
  values.shift();
  this.$message.error("Please enter a 14-character string.");
  return false;
}
       data.push(values);
      }
      data.push([], [], []);
@@ -353,8 +395,9 @@
      const jsonString = JSON.stringify(jsonObject);
      console.log("所有Type为0的value:", jsonString);
      socket?.send(jsonString);
      event.target.blur(); // 取消输入框焦点
    },
    zuhe2() {
    zuhe2(event) {
      const data2 = [];
      for (let i = 1; i < 2; i++) {
@@ -365,6 +408,29 @@
          });
        const values2 = inputData.map((item) => item.value);
        if (values2.length > 0) {
if (!(values2[1] >= "1" && values2[1]  <= "210")  && values2[1]  !== "1000") {
  values2.shift();
  this.$message.error("Out of range");
  return false;
}
if (!(values2[2] >= "1" && values2[2]  <= "210")  && values2[2]  !== "1000") {
  values2.shift();
  this.$message.error("Out of range");
  return false;
}
if (!(values2[3] == "1" || values2[3] == "2")) {
  values2.shift();
  this.$message.error("Out of range");
  return false;
}
}
        data2.push(values2);
      }
@@ -380,7 +446,12 @@
          });
        const values2 = inputData.map((item) => item.value);
        const pattern = /^[\w ]{1,14}$/;  // 匹配长度为14的数字、字母、空格的组合
if (!pattern.test(values2[0])) {
  values2.shift();
  this.$message.error("Please enter a 14-character string.");
  return false;
}
        data2.push(values2);
        data2.push([], [], []);
      }
@@ -391,6 +462,7 @@
      const jsonString = JSON.stringify(jsonObject);
      console.log("所有Type为0的value:", jsonString);
      socket?.send(jsonString);
      event.target.blur(); // 取消输入框焦点
    },
    submitDataToBackend(currentButtonName) {
      const data = [];
@@ -438,7 +510,7 @@
      }
      if (currentButtonName === "回零" || currentButtonName === "Home") {
        const data3 = [];
        const resetButtonValues3 = this.jsonData
          .map((item) => {
            const buttonItem3 = item.find(
@@ -451,14 +523,14 @@
          .filter((value) => value !== null);
        // 将得到的值添加到 data 数组中
        data3.push(resetButtonValues3.flat());
        data.push(resetButtonValues3.flat());
        // 在 data3 数组前面添加两个空数组
        data3.unshift([], [], []);
        data3.push([], [], [], []);
        data.unshift([], [], []);
        data.push([], [], [], []);
        // 创建 jsonObject3 对象,并添加 data3 属性
        jsonObject = { data: data3 };
        jsonObject = { data };
      }
      if (
        currentButtonName === "A01半自动" ||
@@ -593,6 +665,19 @@
      const jsonString = JSON.stringify(jsonObject);
      console.log("所有Type为0的value:", jsonString);
      socket?.send(jsonString);
      setTimeout(() => {
    const reversedData = data.map(values => values.map(value => {
      return   (!value || value === 0) ? 0 : 0 ;
    }));
    const reversedJsonObject = { data: reversedData };
    // 提交数据到后端
    const reversedJsonString = JSON.stringify(reversedJsonObject);
    console.log('反转后:', reversedJsonString);
    socket?.send(reversedJsonString);
  }, 1000);
    },
    initWebSocket() {
@@ -620,17 +705,17 @@
          console.log("websocket已打开");
        };
        let isMouseInInputBox = false; // 标记鼠标是否在输入框内
        // let isMouseInInputBox = false; // 标记鼠标是否在输入框内
        const inputBox = document.querySelectorAll(".input-box");
        inputBox.forEach((box) => {
          box.addEventListener("mouseenter", () => {
            isMouseInInputBox = true;
          });
          box.addEventListener("mouseleave", () => {
            isMouseInInputBox = false;
          });
        });
        // const inputBox = document.querySelectorAll(".input-box");
        // inputBox.forEach((box) => {
        //   box.addEventListener("mouseenter", () => {
        //     isMouseInInputBox = true;
        //   });
        //   box.addEventListener("mouseleave", () => {
        //     isMouseInInputBox = false;
        //   });
        // });
        socket.onmessage = (msg) => {
          if (!msg.data) {
@@ -641,8 +726,11 @@
          // console.log(obj)
          const weihuiling = obj.weihuiling;
          const jsonData2 = this.jsonData;
          if (document.activeElement.tagName.toLowerCase() === 'input') {
    return;
  }
          if (obj.zuhe1 && !isMouseInInputBox) {
          if (obj.zuhe1 ) {
            //启动按钮
            // 执行更新逻辑
@@ -713,6 +801,23 @@
              }
            }
            for (let i = 0; i < jsonData2.length; i++) {
              let arr = jsonData2[i];
              for (let j = 0; j < arr.length; j++) {
                let obj2 = arr[j];
                if (
                  obj2.button &&
                  (obj2.button.name === "回零" || obj2.button.name === "Home")
                ) {
                  obj2.button.value = obj.huiling[0][i];
                  //  console.log(obj2.button.value)
                }
              }
            }
            //未回零更新
            jsonData2[2][3].button.value = weihuiling[0][0];