hwh
2024-09-18 0b56fe0aa8ed38fd2d4370fe8a1e6d8d59f9cd08
优化堆垛机交互
3个文件已修改
45 ■■■■ 已修改文件
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/device/deviceInfo/data.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/device/deviceInfo/index.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -430,7 +430,7 @@
                            }
                        }
                    }
                    Thread.Sleep(1000);
                    Thread.Sleep(300);
                }
                catch (Exception ex)
                {
Web/src/views/device/deviceInfo/data.ts
@@ -1,6 +1,6 @@
import { ref } from 'vue';
//堆垛机数据
const cellsDataLine = ref([
const cellsDataLine = ref<any>([
    { Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
    { Id: 2, Code: '10', LineCode: '01', EndLocat: '01010101', IsShow: 0, IsUse: 0, BoxHeight: 0 },
    { Id: 3, Code: '003', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
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) {