wu
2024-01-18 4f3aa71ed602c1abbafa638591b20abc3c7be224
CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -48,13 +48,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"
@@ -64,36 +64,25 @@
        >{{ $t("ManualonePosition") }}</router-link
      >
      <router-link
        to="/Electrical/Servomanualone"
        tag="el-button"
        type="text"
        active-class="blue-button"
        >{{ $t("Servomanualone") }}</router-link
      >
      <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
      }}</router-link> -->
      <router-link v-if="hasPermission" to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">
    {{ $t('Servomanualone') }}
  </router-link>
      <router-link   v-if="hasPermission" to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
        $t('Address parameter settings')
      }}</router-link>
      <router-link   v-if="hasPermission" to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
        $t('Speed parameter settings')
      }}</router-link>
      <router-link
        to="/Electrical/Positioning1"
<router-link  v-if="hasPermission"
        to="/Electrical/InteractionState"
        tag="el-button"
        type="text"
        active-class="blue-button"
        >{{ $t("Address parameter settings") }}</router-link
      >
      <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
        $t('Positioning2')
      }}</router-link> -->
      <!--
      <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition2')
      }}</router-link> -->
      <router-link
        to="/Electrical/AutomaticParameterSetting"
        tag="el-button"
        type="text"
        active-class="blue-button"
        >{{ $t("Speed parameter settings") }}</router-link
        >{{ $t("InteractionState") }}</router-link
      >
    </el-breadcrumb>
@@ -140,8 +129,15 @@
                    item.button.value === 2 && item.button.name !== 'Clear ID',
                  'yellow-button':
                    item.button.value === 1 && item.button.name !== 'Clear ID',
                  id:
                  'id':
                    item.button.value === 1 && item.button.name === 'Clear ID',
                    'A01jiting':item.button.value === 0 && item.button.name === 'A01Abort/ResumeTasks',
                    'A02jiting':item.button.value === 0 && item.button.name === 'A02Abort/ResumeTasks',
                    'emgHMI':item.button.value === 0 && item.button.name === 'emgHMI',
                    'GA01jiting':item.button.value ===1 && item.button.name === 'A01Abort/ResumeTasks',
                    'GA02jiting':item.button.value === 1 && item.button.name === 'A02Abort/ResumeTasks',
                    'GemgHMI':item.button.value === 1 && item.button.name === 'emgHMI'
                }"
                >{{ item.button.name }}</el-button
              >
@@ -162,7 +158,14 @@
                    item.button.value === 2 && item.button.name !== '清除ID',
                  'yellow-button':
                    item.button.value === 1 && item.button.name !== '清除ID',
                  id: item.button.value === 1 && item.button.name === '清除ID',
                  'id': item.button.value === 1 && item.button.name === '清除ID',
                  'A01jiting':item.button.value === 0 && item.button.name === 'A01终止/继续',
                  'A02jiting':item.button.value === 0 && item.button.name === 'A02终止/继续',
                  'emgHMI':item.button.value === 0 && item.button.name === '软急停',
                  'GA01jiting':item.button.value === 1 && item.button.name === 'A01终止/继续',
                  'GA02jiting':item.button.value === 1 && item.button.name === 'A02终止/继续',
                  'GemgHMI':item.button.value === 1 && item.button.name === '软急停'
                }"
                >{{ item.button.name }}</el-button
              >
@@ -186,7 +189,7 @@
  <el-input
                v-if="item.type === '0' && groupIndex==15"
                v-model="item.value"
                @keyup.enter.native="timeout"
                @keyup.enter.native="timeout($event)"
                style="width: 300px"
                class="input-box2"
              ></el-input>
@@ -209,6 +212,9 @@
  <script>
import LanguageMixin from "../../lang/LanguageMixin";
import data from "../../configuration/parameter2";
import {
SelectPermissionByUserName, currentUsername
} from "../../api/home";
// import { throttle } from 'lodash';
let socket;
@@ -226,6 +232,9 @@
      jsonData: data,
      inputValue: "",
      language: this.$i18n.locale,
      hasPermission: false // 默认没有权限
      // 加载整个data.json文件作为jsonData
    };
@@ -240,6 +249,17 @@
      this.replaceChineseWithEnglish();
    }
    this.$forceUpdate();
    currentUsername().then(res => {
                SelectPermissionByUserName(res.data).then(res => {
                    res.data.permission.forEach(item => {
                        if (item.permissionId == "36" && item.state == 1) {
                            this.hasPermission = true;
                        }
                    });
                });
            });
  },
  computed: {},
@@ -274,7 +294,7 @@
      }
    },
    //范围 0-100
    timeout(){
    timeout(event){
    
        const data3 = [];
@@ -306,7 +326,7 @@
        // setTimeout(()=>
        //   window.location.reload(),2000
        // )
        event.target.blur(); // 取消输入框焦点
    },
@@ -338,16 +358,27 @@
        const jsonString2 = JSON.stringify(jsonObject2);
        console.log("所有Type为0的value:", jsonString2);
        socket?.send(jsonString2);
        // 延迟2秒发送指定内容
setTimeout(() => {
  const jsonObject = { data: [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [], []] };
  const jsonString = JSON.stringify(jsonObject);
  console.log("发送的内容:", jsonString);
  socket?.send(jsonString);
}, 1000);
      }
      if (
        currentButtonName === "A01Abort/ResumeTasks" ||
        currentButtonName === "A01终止/继续" ||
        currentButtonName === "A02Abort/ResumeTasks" ||
        currentButtonName === "A02终止/继续"
        currentButtonName === "A02终止/继续" ||
        currentButtonName === "软急停" ||
        currentButtonName === "emgHMI"
      ) {
        const data3 = [];
        const resetButtonValues3 = [this.jsonData[13][0].button.value2,this.jsonData[14][0].button.value2];
        const resetButtonValues3 = [this.jsonData[13][0].button.value2,this.jsonData[14][0].button.value2,this.jsonData[16][0].button.value2];
        // 将得到的值添加到 data 数组中
        data3.push(resetButtonValues3.flat());
@@ -362,6 +393,16 @@
        const jsonString3 = JSON.stringify(jsonObject3);
        console.log("急停后中止/继续选择:", jsonString3);
        socket?.send(jsonString3);
        setTimeout(() => {
  const jsonObject = { data: [ [],[0, 0, 0], []] };
  const jsonString = JSON.stringify(jsonObject);
  console.log("发送的回弹内容:", jsonString);
  socket?.send(jsonString);
}, 1000);
        // setTimeout(()=>
        //   window.location.reload(),2000
        // )
@@ -396,22 +437,25 @@
        socket.onopen = function () {
          console.log("websocket已打开");
        };
        let isMouseInInputBox = false; // 标记鼠标是否在输入框内
//         let isMouseInInputBox = false; // 标记鼠标是否在输入框内
        let isUpdated = false;  // 定义标志变量
const inputBox = document.querySelectorAll('.input-box2');
inputBox.forEach(box => {
  box.addEventListener('mouseenter', () => {
    isMouseInInputBox = true;
  });
  box.addEventListener('mouseleave', () => {
    isMouseInInputBox = false;
  });
});
// const inputBox = document.querySelectorAll('.input-box2');
// inputBox.forEach(box => {
//   box.addEventListener('mouseenter', () => {
//     isMouseInInputBox = true;
//   });
//   box.addEventListener('mouseleave', () => {
//     isMouseInInputBox = false;
//   });
// });
        // 收到消息
        socket.onmessage = (msg) => {
          if (!msg.data) {
            return; // 如果收到空数据,则直接返回,不执行后续逻辑
          }
          if (document.activeElement.tagName.toLowerCase() === 'input') {
    return;
  }
          let obj = JSON.parse(msg.data);
@@ -425,10 +469,11 @@
          // const inputBox = document.querySelectorAll('.id');
          // const target = event.target;
          if (parms && !isMouseInInputBox) {
          if (parms ) {
            //急停按钮
            jsonData2[13][0].button.value = obj.jiting[0][0];
            jsonData2[14][0].button.value = obj.jiting[0][1];
            jsonData2[16][0].button.value = obj.jiting[0][2];
            
           
@@ -505,6 +550,8 @@
                }
              }
            }
            this.$forceUpdate();
            //扫描枪扫码的ID
            jsonData2.forEach((item) => {
@@ -641,4 +688,26 @@
.id {
  background-color: green;
}
.A02jiting{
  background-color: #66b1ff;
}
.A01jiting{
background-color: #66b1ff;
}
.emgHMI{
  background-color: #66b1ff;
}
.GA02jiting{
  background-color: green;
}
.GA01jiting{
  background-color: green;
}
.GemgHMI{
  background-color: green;
}
</style>