wuyouming666
2023-12-07 9bc80fd0aab5bd3d58aad90038685195f4966dee
CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -11,33 +11,41 @@
        }}</router-link> -->
        <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
        }}</router-link>
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual')
         <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
        }}</router-link>
      </el-breadcrumb>
  
      <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
        <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" @click="closeSocket()" 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 to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter2')
          }}</router-link>
            <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning1')
          }}</router-link>
            <router-link to="/Electrical/Positioning2" tag="el-button" type="text"  active-class="blue-button">{{ $t('Positioning2')
          }}</router-link>
           <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{
        $t('ManualonePosition')
      }}</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('AutomaticParameterSetting')
      <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State')
      }}</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" tag="el-button" type="text" active-class="blue-button">{{
        $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 to="/Electrical/Positioning1" 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>
    </el-breadcrumb>
  
    <el-row :gutter="40">
@@ -53,12 +61,12 @@
            <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
              <el-button v-if="item.button && language==='en-US'" :name="item.button.name" v-model="item.button.value" class="action-button"
  @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)"
  :class="{ 'green-button':  (item.button.value === 0  && item.button.name !==  'Clear ID' ) ,'red-button': item.button.value === 2 && (item.button.name !==  'Clear ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !==  'Clear ID' ) }">{{ item.button.name }}</el-button>
  :class="{ 'green-button':  (item.button.value === 0  && item.button.name !==  'Clear ID' ) ,'red-button': item.button.value === 2 && (item.button.name !==  'Clear ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !==  'Clear ID' ),'id': item.button.value === 1 && (item.button.name ==  'Clear ID' ) }">{{ item.button.name }}</el-button>
           
  <el-button v-if="item.button && language==='zh-CN'" :name="item.button.name" v-model="item.button.value" class="action-button"
  @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)"
  :class="{ 'green-button':  (item.button.value === 0  && item.button.name !==  '清除ID' ) ,'red-button': item.button.value === 2 && (item.button.name !==  '清除ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !==  '清除ID' ) }">{{ item.button.name }}</el-button>
  :class="{ 'green-button':  (item.button.value === 0  && item.button.name !==  '清除ID' ) ,'red-button': 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' ) }">{{ item.button.name }}</el-button>
</div>
          </div>
@@ -66,9 +74,10 @@
            <div class="item-row">
              
              <span class="name" v-if="groupIndex === 13" style="width:250px;">{{ item.name }}</span>
              <span class="name" v-if="groupIndex === 12" style="width:250px;">{{ item.name }}</span>
              <span class="name" v-else style="width:150px;">{{ item.name }}</span>
              <el-input v-if="item.type === '0'" v-model="item.value" readonly="readonly"     style="width:400px;" class="input-box"></el-input>
              <el-input v-if="item.type === '0'" v-model="item.value" readonly="readonly"     style="width:300px;" class="input-box"></el-input>
             
             
            
@@ -85,6 +94,7 @@
  <script>
  import LanguageMixin from '../../lang/LanguageMixin'
  import data from '../../configuration/parameter2'
  // import { throttle } from 'lodash';
  let socket;
  // window.onload=function(){
@@ -142,12 +152,12 @@
  },
  
  updateButtonValue(dataGroup, itemIndex) {
  if (dataGroup[itemIndex].button.value === 1) {
  if (dataGroup[itemIndex].button.value === 0) {
    // 如果当前按钮的值是 0,将其设为 1
    this.$set(dataGroup[itemIndex].button, 'value', 0);
    this.$set(dataGroup[itemIndex].button, 'value', 1);
  } else {
    // 否则将其设为 0
    this.$set(dataGroup[itemIndex].button, 'value', 1);
    this.$set(dataGroup[itemIndex].button, 'value', 0);
  }
},
    submitDataToBackend(currentButtonName) {
@@ -165,7 +175,7 @@
  // 将得到的值添加到 data 数组中
  data2.push(resetButtonValues.flat());
  data2.push([]);
  // 在 data2 数组前面添加两个空数组
 
@@ -179,6 +189,35 @@
 
 
}
if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
  const data3 = [];
  const resetButtonValues3 = [this.jsonData[13][0].button.value];
  // 将得到的值添加到 data 数组中
  data3.push(resetButtonValues3.flat());
  data3.unshift([]);
  // 在 data3 数组前面添加两个空数组
  // 创建 jsonObject3 对象,并添加 data3 属性
  const jsonObject3 = { data: data3 };
  // 提交数据到后端
  const jsonString3 = JSON.stringify(jsonObject3);
  console.log('急停后中止/继续选择:', jsonString3);
  socket?.send(jsonString3);
  // setTimeout(()=>
  //   window.location.reload(),2000
  // )
}
},
    initWebSocket () {
 
@@ -187,7 +226,7 @@
      if (typeof WebSocket === "undefined") {
        console.log("您的浏览器不支持WebSocket");
      } else {
        let socketUrl = "ws://" + "localhost:8888" + "/springboot-vue3/api/talk/" + viewname;
        let socketUrl = "ws://" + this.$t('ip')+":8888" + "/springboot-vue3/api/talk/" + viewname;
        if (socket != null) {
          socket.close();
@@ -211,14 +250,25 @@
  let obj = JSON.parse(msg.data);
 
  const jsonData2 = this.jsonData;
  // console.log(jsonData2);
      // 如果鼠标不在输入框内,更新输入框的值
      // this.submitDataToBackend()
      const parms = obj.params;
      // const xiaoche = obj.params[3];
   
  //  console.log(obj);
//清除id
  // const handleMouseMove = throttle(function(event) {
  // const inputBox = document.querySelectorAll('.id');
  // const target = event.target;
  // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//急停按钮
    jsonData2[13][0].button.value = obj.jiting[0][0];
    //清除id
      for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
  for (let j = 0; j < arr.length; j++) {
@@ -231,6 +281,7 @@
     
}
//ID
const specialChars = /[^\w\s]/g; // 正则表达式匹配非字母、数字、下划线和空格的字符
@@ -276,6 +327,23 @@
     
}
//改变状态文字
for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
  for (let j = 0; j < arr.length; j++) {
    let obj = arr[j];
    if (obj.type === '4' && obj.button.value===1) {
      if ( obj.button.name.includes("状态")&& this.language==="zh-CN") {
      obj.button.name =obj.button.name.replace("手动","自动") ;
    }
    if ( obj.button.name.includes("Status")) {
      obj.button.name =obj.button.name.replace("Manual","Auto") ;
    }
  }
}
}
//扫描枪扫码的ID
jsonData2.forEach((item) => {
@@ -316,11 +384,13 @@
  }
//  console.log(jsonData2);
// }, 50);
// document.addEventListener('mouseover', handleMouseMove);
  
};
// };
@@ -374,6 +444,11 @@
  </script>
  
  <style scoped>
  html,body{
width:100%;
height:85%;
}
  .item-row {
  display: flex;
  align-items: center;
@@ -399,5 +474,9 @@
.yellow-button{
  background-color: blue;
}
.id{
  background-color: green;
}
  </style>