wuyouming666
2023-12-07 9bc80fd0aab5bd3d58aad90038685195f4966dee
CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -11,34 +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" 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"  @click="closeSocket()" 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="26">
@@ -56,8 +63,8 @@
      </el-row>
      <div class="button-row" style="display: flex; justify-content: space-between;">
        <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': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ 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': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1 }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ 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': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'huiling': item.button.name === '回零' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1,'qidong3': item.button.name === 'A01半自动启动' && item.button.value === 1,'qidong4': item.button.name === 'A02半自动启动' && item.button.value === 1,'qidong5': item.button.name === 'A02半自动' && item.button.value === 1,'jiting': item.button.name === '急停后中止/继续选择' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
        </div>
      </div>
    </el-card>
@@ -92,7 +99,7 @@
   
    this.initWebSocket();
    const language = this.$i18n.locale;
  console.log(language);
  // console.log(language);
  if (language === 'en-US') {
    this.replaceChineseWithEnglish();
  }
@@ -121,6 +128,8 @@
  }
},
submitDataToBackend(currentButtonName) {
//A01半自动启动提交
  if (currentButtonName === 'A01半自动启动' ||currentButtonName === 'A01 Semi-Auto Start') {
    const data = [];
@@ -159,6 +168,7 @@
socket?.send(jsonString);
  }
  //A02半自动启动 提交
  if (currentButtonName === 'A02半自动启动' ||currentButtonName === 'A02 Semi-Auto Start') {
    const data2 = [];
@@ -199,6 +209,8 @@
  }
  //复位提交
  if (currentButtonName === '复位' || currentButtonName === 'Reset') {
  const data2 = [];
  const resetButtonValues = this.jsonData.map(item => {
@@ -227,7 +239,7 @@
  // )
 
}
////回零提交
if (currentButtonName === '回零' || currentButtonName === 'Home') {
  const data3 = [];
  const resetButtonValues3 = this.jsonData.map(item => {
@@ -255,8 +267,35 @@
  // )
}
// if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') {
//   const data3 = [];
//   const resetButtonValues3 = this.jsonData.map(item => {
//     const buttonItem3 = item.find(subItem => subItem.button && ['Abort/resumeTasks', '急停后中止/继续选择'].includes(subItem.button.name));
//     return buttonItem3 ? buttonItem3.button.value : null;
//   }).filter(value => value !== null);
//   // 将得到的值添加到 data 数组中
//   data3.push(resetButtonValues3.flat());
//   // 在 data3 数组前面添加两个空数组
//   data3.push([], [], [],[], [], [], [],[]);
//   // 创建 jsonObject3 对象,并添加 data3 属性
//   const jsonObject3 = { data: data3 };
//   // 提交数据到后端
//   const jsonString3 = JSON.stringify(jsonObject3);
//   console.log('急停后中止/继续选择:', jsonString3);
//   socket?.send(jsonString3);
//   // setTimeout(()=>
//   //   window.location.reload(),2000
//   // )
// }
//A01半自动提交
  if (currentButtonName === 'A01半自动' || currentButtonName === 'A01 Semi-Auto' ) {
    const elements = document.getElementsByClassName('special-class');
@@ -327,18 +366,26 @@
  if (currentButtonName === 'A02半自动' || currentButtonName === 'A02 Semi-Auto' ) {
    // 获取所有class为special-class2的元素
    const elements = document.getElementsByClassName('special-class2');
  
    const data = [];
    // 遍历所有元素
    for (let i = 0; i < elements.length; i++) {
      // 如果元素隐藏
      if (elements[i].style.display === 'none') {
        // 显示元素
        elements[i].style.display = ''; // 显示元素
         this.zhi2=1;
         // 遍历jsonData
         for (let i = 0; i < this.jsonData.length; i++) {
                let arr = this.jsonData[i];
                // 遍历arr
                for (let j = 0; j < arr.length; j++) {
                  let obj2 = arr[j];
                  // 如果button的name为A02半自动或者A02 Semi-Auto
                  if (obj2.button && (obj2.button.name === "A02半自动" || obj2.button.name === "A02 Semi-Auto")) {
                    // 设置button的value为1
                    obj2.button.value = 1;
                    // console.log(obj2.button.value)
                  }
@@ -348,13 +395,18 @@
              }
      }else{
        // 如果元素显示
        elements[i].style.display = 'none';
        this.zhi2=0;
        // 遍历jsonData
        for (let i = 0; i < this.jsonData.length; i++) {
                let arr = this.jsonData[i];
                // 遍历arr
                for (let j = 0; j < arr.length; j++) {
                  let obj2 = arr[j];
                  // 如果button的name为A02半自动或者A02 Semi-Auto
                  if (obj2.button && (obj2.button.name === "A02半自动" || obj2.button.name === "A02 Semi-Auto")) {
                    // 设置button的value为0
                    obj2.button.value = 0;
                    // console.log(obj2.button.value)
                  }
@@ -365,8 +417,10 @@
      } 
    }
    // 将zhi2添加到data数组中
     data.push([this.zhi2]);
    // 将data数组添加到jsonObject中
    data.unshift([],[],[],[],[],[],[]);
@@ -399,7 +453,6 @@
          socket.close();
          socket = null;
        }
        // 开启一个websocket服务
        socket = new WebSocket(socketUrl);
@@ -415,14 +468,24 @@
  }
  let obj = JSON.parse(msg.data);
  // console.log(obj)
  //  console.log(obj)
const weihuiling=obj.weihuiling;
  const jsonData2 = this.jsonData;
  const handleMouseMove = throttle(function(event) {
  const inputBox = document.querySelectorAll('.el-card__body');
  const target = event.target;
  if (inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
  if (obj.zuhe1 && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
    //启动按钮
    jsonData2[0][9].button.value = obj.qidong[0][0];  // 第一个子数组中第一个 type=66 的 button
jsonData2[0][10].button.value = obj.qidong[0][1]; // 第一个子数组中第二个 type=66 的 button
jsonData2[1][7].button.value = obj.qidong[0][2];  // 第二个子数组中第一个 type=66 的 button
jsonData2[1][8].button.value = obj.qidong[0][3];
    // 执行更新逻辑
    for (let i = 0; i < 6; i++) {
  jsonData2[i].forEach((item, index) => {
@@ -433,7 +496,7 @@
}
//故障更新
for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
@@ -448,7 +511,7 @@
     
}
// 复位更新
for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
  for (let j = 0; j < arr.length; j++) {
@@ -462,23 +525,16 @@
     
}
for (let i = 3; i < jsonData2.length; i++) {
  let arr2 = jsonData2[i];
  for (let j = 3; j < arr2.length; j++) {
    let obj3 = arr2[j];
    if(obj3.button){
      if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" )) {
      obj3.button.value = weihuiling[0][i];
      //  console.log(obj3.button.value)
    }
    }
  }
//未回零更新
}
// console.log(jsonData2)
jsonData2[2][3].button.value = weihuiling[0][0];
jsonData2[3][3].button.value = weihuiling[0][1];
jsonData2[4][4].button.value = weihuiling[0][2];
jsonData2[5][4].button.value = weihuiling[0][3];
//进片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 9999) {
@@ -486,7 +542,7 @@
    }
  });
});
//取片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 8888) {
@@ -494,6 +550,8 @@
    }
  });
});
@@ -527,6 +585,7 @@
     
      socket?.send(JSON.stringify(this.messagepack));
    },
    //替换语言
    replaceChineseWithEnglish() {
 
   
@@ -558,7 +617,11 @@
</script>
<style scoped>
html,body{
width:100%;
height:85%;
}
.item-row {
  display: flex;
@@ -589,9 +652,26 @@
  background-color: green;
}
.qidong2 {
.qidong3 {
  background-color: green;
}
.qidong {
  background-color: green;
}
.qidong4 {
  background-color: green;
}
.qidong5 {
  background-color: green;
}
.huiling {
  background-color: green;
}
.jiting{
  background-color: green;
}
</style>