// 堆垛机当前运行状态对象 function CrnTask(crnData) { let that = this; // 访问公有属性,需要在变量名前加上this. that.crnNo = 0; that.run = false; // 上一数据 that.preBay = 1 ; that.preLev = 1 ; that.preX = 0; that.preY = 0; that.preZ = 0; that.preForkPos = -1; // -1, "不在定位" 0, "货叉原位" 1, "货叉在左侧远" 2, "货叉在左侧" 3, "货叉在右侧" 4, "货叉在右侧远" // 当前数据 that.bay = 1 ; that.lev = 1 ; that.x = 0; that.y = 0; that.z = 0; that.forkPos = -1; // 构造函数 let init = function () { that.crnNo = crnData.crnNo; that.bay = crnData.bay; that.lev = crnData.lev; that.x = crnData.position.x; that.y = crnData.position.y; that.z = crnData.position.z; that.forkPos = crnData.forkPos; }; init(); // 对外函数 that.modify = function (crnData) { if (that.run || that.crnNo === 0) { console.error(that.crnNo + "号堆垛机更新失败"); } else { // 上一次 that.preBay = that.bay; that.preLev = that.lev; that.preX = that.x; that.preY = that.y; that.preY = that.y; that.preForkPos = that.forkPos; // 当前 that.bay = crnData.bay; that.lev = crnData.lev; that.x = crnData.position.x; that.y = crnData.position.y; that.z = crnData.position.z; that.forkPos = crnData.forkPos; // create Route ------------------------------------------------ // new Route(); // body // new Route(); // load that.run = true; console.log(that); } } }