From 0a6e149ec5684f243bdadb0b8ef780cb71000ace Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 06 四月 2022 15:48:35 +0800
Subject: [PATCH] #

---
 static/js/object/StaTask.js    |   14 ++++++
 static/js/object/StoreGoods.js |   62 ++++++++++++++++++++++++++-----
 2 files changed, 65 insertions(+), 11 deletions(-)

diff --git a/static/js/object/StaTask.js b/static/js/object/StaTask.js
index 0f79d58..eb2f998 100644
--- a/static/js/object/StaTask.js
+++ b/static/js/object/StaTask.js
@@ -1,8 +1,10 @@
-import {StoreGoods} from './StoreGoods.js';
+import {InitPallet, InitGoods} from './StoreGoods.js';
 
 // 杈撻�佺嚎褰撳墠杩愯鐘舵�佸璞�
 function StaTask(staData, object) {
     let that = this;
+
+    that.object = object;
 
     that.no = 0;
     that.run = false;
@@ -11,10 +13,17 @@
     that.inlet = -1;
     that.outlet = -1;
 
+    that.position = null;
+
     let init = function () {
         that.no = staData.no;
         that.inlet = staData.inlet;
         that.outlet = staData.outlet;
+
+        let item = getArrVal(conveyObjects.objects, "no", that.no+"");
+        if (!that.position && item) {
+            that.position = item.position;
+        }
     }
     init();
 
@@ -23,11 +32,14 @@
             console.error(staData.no + "鍙疯緭閫佺嚎鏇存柊澶辫触");
             return;
         }
+
         if (that.loaded === 0 && staData.loaded === 1) {
             // 鏃犺揣 ===>> 鏈夎揣
 
             // 1.鍏ュ簱绗竴绔� 銆愭柊澧炪��
             if (that.inlet === 1) {
+                InitPallet(that.object);
+                InitGoods(that.object);
 
             // 2.鏉ヨ嚜鍏朵粬绔欑偣鐨勮揣鐗� 銆愮Щ鍔ㄣ��
             } else {
diff --git a/static/js/object/StoreGoods.js b/static/js/object/StoreGoods.js
index 9621405..eb50d8b 100644
--- a/static/js/object/StoreGoods.js
+++ b/static/js/object/StoreGoods.js
@@ -10,6 +10,13 @@
 const goodsY = 5;
 const goodsZ = -6;
 
+/**
+ * 鍒濆鍖栨墭鐩樻ā鍨�
+ * @param scene 鍦烘櫙
+ * @param palletList 鎵樼洏鏁版嵁鍒楄〃
+ * @param ref 鍙傜収鐗�
+ * @param type 鍙傜収鐗╃被鍨嬶細1 - 璐ф灦锛�    2 - 杈撻�佺嚎
+ */
 function InitPallet(scene, palletList, ref, type) {
     const manager = new THREE.LoadingManager();
     new OBJLoader( manager )
@@ -27,11 +34,24 @@
 
             palletList.map(item => {
                 let clone = obj.clone();
-                let positionX = ref.positionX || 0;
-                let positionY = ref.bottomHight + (item.lev1-1)*ref.binHeight || 0;
-                let positionZ = (item.bay1-1)*-ref.binHeight || 0;
+                let positionX;
+                let positionY;
+                let positionZ;
+                switch (type) {
+                    case 1:
+                        positionX = ref.positionX || 0;
+                        positionY = ref.bottomHight + (item.lev1-1)*ref.binHeight || 0;
+                        positionZ = (item.bay1-1)*-ref.binHeight || 0;
 
-                clone.name = item.loc_no + "-" + "Pallet";
+                        clone.name = item.loc_no + "-" + "Pallet";
+                        break;
+                    case 2:
+
+                        break;
+                    default:
+                        console.error("InitPallet param[type] error ===>> " + type);
+                }
+
                 clone.position.x = palletX + positionX;
                 clone.position.y = palletY + positionY;
                 clone.position.z = palletZ + positionZ;
@@ -40,6 +60,13 @@
         });
 }
 
+/**
+ * 鍒濆鍖栬揣鐗╂ā鍨�
+ * @param scene 鍦烘櫙
+ * @param goodsList 璐х墿鏁版嵁鍒楄〃
+ * @param ref 鍙傜収鐗�
+ * @param type 鍙傜収鐗╃被鍨嬶細1 - 璐ф灦锛�    2 - 杈撻�佺嚎
+ */
 function InitGoods(scene, goodsList, ref, type) {
     const manager = new THREE.LoadingManager();
     const goodsWrapImg = new THREE.TextureLoader( manager ).load( '../static/img/goodsWrap.jpg' );
@@ -59,11 +86,24 @@
 
         goodsList.map(item => {
             let clone = obj.clone();
-            let positionX = ref.positionX || 0;
-            let positionY = ref.bottomHight + (item.lev1-1)*ref.binHeight || 0;
-            let positionZ = (item.bay1-1)*-ref.binHeight || 0;
+            let positionX;
+            let positionY;
+            let positionZ;
+            switch (type) {
+                case 1:
+                    positionX = ref.positionX || 0;
+                    positionY = ref.bottomHight + (item.lev1-1)*ref.binHeight || 0;
+                    positionZ = (item.bay1-1)*-ref.binHeight || 0;
 
-            clone.name = item.loc_no + "-" + "Goods";
+                    clone.name = item.loc_no + "-" + "Goods";
+                    break;
+                case 2:
+
+                    break;
+                default:
+                    console.error("InitGoods param[type] error ===>> " + type);
+            }
+
             clone.position.x = goodsX + positionX;
             clone.position.y = goodsY + positionY;
             clone.position.z = goodsZ + positionZ;
@@ -74,9 +114,11 @@
 
 function StoreGoods(object, data, shelf) {
     let that = this;
+
     that.data = data;
     that.object = object;
     that.shelf = shelf;
+
     let palletList = [];
     let goodsList = [];
 
@@ -91,10 +133,10 @@
             }
         }
         if (palletList.length > 0) {
-            InitPallet(that.object, palletList, that.shelf);
+            InitPallet(that.object, palletList, that.shelf, 1);
         }
         if (goodsList.length > 0) {
-            InitGoods(that.object, goodsList, that.shelf);
+            InitGoods(that.object, goodsList, that.shelf, 1);
         }
     }
     init();

--
Gitblit v1.9.1