From 5c483396c08bb7f89c36825603a163f86dba70dd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 18 三月 2022 13:01:45 +0800
Subject: [PATCH] #

---
 static/js/object/CrnTask.js |   94 +++++++++++++++++++++++++++++-----------------
 1 files changed, 59 insertions(+), 35 deletions(-)

diff --git a/static/js/object/CrnTask.js b/static/js/object/CrnTask.js
index 6a81258..0acf3d2 100644
--- a/static/js/object/CrnTask.js
+++ b/static/js/object/CrnTask.js
@@ -4,12 +4,20 @@
 const zOffset = -480;
 
 const xOffset0 = -1735;
-const yOffset0 = -108;
+const yOffset0 = -117;
 const zOffset0 = -480;
 
 const xOffset1 = -1735;
-const yOffset1 = -107;
+const yOffset1 = -116;
 const zOffset1 = -475;
+
+const palletX = -18;
+const palletY = 2;
+const palletZ = -46;
+
+const goodsX = -17;
+const goodsY = 5;
+const goodsZ = -6;
 
 // 鍫嗗灈鏈哄綋鍓嶈繍琛岀姸鎬佸璞�
 function CrnTask(crnData, object) {
@@ -38,6 +46,12 @@
     that.crnLoad = null;
     that.crnFork = null;
 
+    that.pallet = null;
+    that.goods = null;
+
+    that.sourceLocNo = null;
+    that.locNo = null;
+
     let curves = [];
 
     let init = function () {
@@ -53,8 +67,9 @@
         that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body");
         that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load");
         that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork");
+
         if (that.crnBody===null || that.crnLoad===null || that.crnFork==null) {
-            console.log(that.crnNo + "鍙峰爢鍨涙満娌℃湁鍒濆鍖�");
+            // console.log(that.crnNo + "鍙峰爢鍨涙満娌℃湁鍒濆鍖�");
         }
     };
     init();
@@ -66,16 +81,25 @@
         }
         if (that.crnBody===null) {
             that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body");
-            return;
+            // return;
         }
         if (that.crnLoad===null) {
             that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load");
-            return;
+            // return;
         }
         if (that.crnFork===null) {
             that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork");
-            return;
+            // return;
         }
+        if (crnData.sourceLocNo != null) {
+            that.sourceLocNo = crnData.sourceLocNo;
+            that.pallet = getArrVal(object.objects, "name", crnData.sourceLocNo + "-Pallet");
+            that.goods = getArrVal(object.objects, "name", crnData.sourceLocNo + "-Goods");
+        }
+        if (crnData.locNo != null) {
+            that.locNo = crnData.locNo;
+        }
+
         if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) {
             return;
         }
@@ -85,7 +109,7 @@
         that.preLev = that.lev;
         that.preX = that.x;
         that.preY = that.y;
-        that.preY = that.y;
+        that.preZ = that.z;
         that.prePosition = JSON.parse(JSON.stringify(that.position));
         that.preForkPos = that.forkPos;
         // 褰撳墠
@@ -105,6 +129,7 @@
                 start: false,
                 progress: 0,
                 part: 'fork',
+                loaded: crnData.loaded,
                 route: new Route([
                     {
                         x: that.prePosition.x,
@@ -126,6 +151,8 @@
                 start: false,
                 progress: 0,
                 part: 'load',
+                loaded: crnData.loaded,
+                loadPos: crnData.loadPos,
                 route: new Route([
                     {
                         x: that.crnLoad.position.x,
@@ -141,29 +168,11 @@
             })
         }
 
-        // 鍫嗗灈鏈烘湰浣撹繍鍔ㄨ建杩�
-        if (that.prePosition.z !== that.position.z && false) {
-            curves.push({
-                start: false,
-                progress: 0,
-                part: 'body',
-                route: new Route([
-                    {
-                        x: that.crnBody.position.x,
-                        y: that.crnBody.position.y,
-                        z: that.prePosition.z
-                    },
-                    {
-                        x: that.crnBody.position.x,
-                        y: that.crnBody.position.y,
-                        z: that.position.z
-                    }
-                ])
-            })
-        }
-
         curves.map((value, index) => {
-            console.log(value.part + " --> " + JSON.stringify(value.route.points))
+            if (that.crnNo === 1) {
+                // console.log(crnData)
+                // console.log(value.part + " --> " + JSON.stringify(value.route.points))
+            }
         });
 
         curves[0].start = true;
@@ -180,6 +189,15 @@
                         if (i !== curves.length - 1) {
                             curves[i+1].start = true;
                         } else {
+                            // if (that.locNo != null) {
+                            //     if (that.pallet != null) {
+                            //         that.pallet.name = that.locNo + "-Pallet";
+                            //     }
+                            //     if (that.goods != null) {
+                            //         that.goods.name = that.locNo + "-Goods";
+                            //     }
+                            // }
+                            // reset
                             curves = [];
                             that.run = false;
                         }
@@ -187,16 +205,22 @@
                         let point = curves[i].route.getPoint(curves[i].progress);
                         if ( point && point.x ) {
                             switch (curves[i].part) {
-                                case 'body':
-                                    that.crnBody.position.set(point.x, point.y, point.z);
-                                    break
                                 case 'load':
-                                    that.crnBody.position.z = point.z + zOffset;
-                                    that.crnLoad.position.set(point.x, point.y + yOffset0, point.z + zOffset0);
-                                    that.crnFork.position.set(point.x, point.y + yOffset1, point.z + zOffset1);
+                                    that.crnBody.position.z = point.z + zOffset - that.crnBody.userData.crnBodyWidth/2;
+                                    that.crnLoad.position.set(point.x, point.y + yOffset0, point.z + zOffset0 - that.crnLoad.userData.crnLoadWidth/2 + 5);
+                                    that.crnFork.position.set(point.x, point.y + yOffset1, point.z + zOffset1 - that.crnLoad.userData.crnLoadWidth/2);
+                                    if (curves[i].loaded === 1 && that.pallet) {
+                                        that.pallet.position.set(point.x - xOffset + palletX, point.y + palletY, point.z + palletZ);
+                                        that.goods.position.set(point.x - xOffset + goodsX, point.y + goodsY, point.z + goodsZ);
+                                    }
                                     break
                                 case 'fork':
                                     that.crnFork.position.set(point.x + xOffset1, point.y, point.z);
+                                    // todo:luxiaotao 鎵樼洏+璐х墿 杩愬姩 涓嶆槸鏍规嵁loaded锛屾槸鏍规嵁涓婁笅瀹氫綅
+                                    if (curves[i].loaded === 1 && that.pallet) {
+                                        that.pallet.position.setX(point.x + palletX);
+                                        that.goods.position.setX(point.x + goodsX);
+                                    }
                                     break
                                 default:
                                     break

--
Gitblit v1.9.1