hwh
2024-09-18 0b56fe0aa8ed38fd2d4370fe8a1e6d8d59f9cd08
Web/src/views/device/deviceInfo/index.vue
@@ -90,7 +90,7 @@
   var res = await listStatus();
   state.value = res.data.result.modService;
   stackers.value = res.data.result.listPlc.filter(s => s.type == 0);
   conveyors.value = res.data.result.listPlc.filter(s => s.type == 1 || s.type == 4);
   conveyors.value = res.data.result.listPlc.filter(s => s.type == 1);
   var res2 = await listPosition();
   res2.data.result.forEach(s => {
@@ -147,19 +147,46 @@
      }
      else if (data.type == 0) {
         // 更新堆垛机数据
         const foundCell = cellsDataLine.value.find(cell => cell.Code === data.stationNum);
         if (foundCell) {
            //修改高度
            foundCell.BoxHeight = data.boxHeight;
         }
         updateStacker(data)
         // const foundCell = cellsDataLine.value.find(cell => cell.Code === data.stationNum);
         // if (foundCell) {
         //    //修改高度
         //    foundCell.BoxHeight = data.boxHeight;
         // }
      }
   });
});
const handleSwitchChange = (field: string, value: boolean) => {
   const param = { [field]: value };
   debugger;
   signalR.invoke('UpdateService', param);
};
//更新堆垛机
// updateStacker({ stationNum: '10', boxHeight: 200 })
function updateStacker(data: any) {
   debugger;
   const foundCell = cellsDataLine.value.find(cell => cell.Code === data.stationNum);
   if (foundCell) {
      const startHeight = foundCell.BoxHeight;
      const targetHeight = data.boxHeight;
      const duration = 1000; // 动画持续时间(毫秒)
      const interval = 50; // 更新间隔(毫秒)
      const step = (targetHeight - startHeight) / (duration / interval);
      const update = () => {
         if ((step > 0 && foundCell.BoxHeight < targetHeight) || (step < 0 && foundCell.BoxHeight > targetHeight)) {
            foundCell.BoxHeight += step;
            if ((step > 0 && foundCell.BoxHeight >= targetHeight) || (step < 0 && foundCell.BoxHeight <= targetHeight)) {
               foundCell.BoxHeight = targetHeight; // 确保最终值准确
               clearInterval(timer);
            }
         } else {
            clearInterval(timer);
         }
      };
      const timer = setInterval(update, interval);
   }
}
// 更新输送线数据的通用函数
function updateCellData(cellsData: any[], data: any) {