From 767fd92e1e79bd000a4fc56e78d44cc27603fa3b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 07 四月 2022 14:50:22 +0800
Subject: [PATCH] #

---
 static/js/app.js                 |    2 
 static/js/object/ObjectSelect.js |   37 +++++++++++-
 static/js/utils/DataShow.js      |   51 +++++++++++++++++
 views/index.html                 |    3 +
 static/js/object/StoreGoods.js   |   20 ++++++
 static/css/main.css              |   11 +++
 6 files changed, 119 insertions(+), 5 deletions(-)

diff --git a/static/css/main.css b/static/css/main.css
index 173419c..56eafa0 100644
--- a/static/css/main.css
+++ b/static/css/main.css
@@ -1,3 +1,14 @@
+#label {
+    position: absolute;
+    padding: 10px;
+    background: rgba(255, 255, 255, 0.6);
+    line-height: 1;
+    color:#000000;
+    border-radius: 5px;
+    display:none;
+    z-index: 99;
+}
+
 #sidebar{
     /*瀹氫綅*/
     position: absolute;
diff --git a/static/js/app.js b/static/js/app.js
index d3c5c04..e5f3e7d 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -180,7 +180,7 @@
 			this.composer.addPass( this.fxaaPass );
 		}
 		this.initObjectSelect = function(){
-			new ObjectSelect(this.scene, this.camera, this.outlinePass);
+			new ObjectSelect(this.scene, this.camera, this.outlinePass, this);
 		}
 		this.initPointLockControl = function(object){
 			this.controls = new PointerLockControls( this.camera, document.body );
diff --git a/static/js/object/ObjectSelect.js b/static/js/object/ObjectSelect.js
index 1c03e22..5ff7e0a 100644
--- a/static/js/object/ObjectSelect.js
+++ b/static/js/object/ObjectSelect.js
@@ -1,5 +1,5 @@
 
-function ObjectSelect(_scene, _camera,outlinePass) {
+function ObjectSelect(_scene, _camera, outlinePass, object) {
     var raycaster = new THREE.Raycaster();
     var mouse = new THREE.Vector2();
     let selectedObjects = [];
@@ -22,11 +22,40 @@
 
 
         if (intersects.length === 0) {
+            $("#label").attr("style", "display:none;");//闅愯棌璇存槑鎬ф爣绛�
             return;
         }
-        selectedObjects = [];
-        selectedObjects.push(intersects[0].object);
-        outlinePass.selectedObjects = selectedObjects;
+
+        let objName = intersects[0].object.name;
+        if (objName) {
+            let dest = objName.split("-")[0];
+            if (dest) {
+                // 搴撳瓨
+                if (dest.length === 7) {
+                    $("#label").attr("style", "display:block;");
+                    $("#label").css({left: x, top: y - 40});
+
+                    let dataShow = new DataShow();
+
+                    selectedObjects.pop();
+                    selectedObjects.push(intersects[0].object);
+                    $("#label").html(dataShow.showHint());
+                // 杩愯涓�
+                } else if (dest.length === 4) {
+
+                } else {
+                    $("#label").attr("style", "display:none;");
+                }
+            } else {
+                $("#label").attr("style", "display:none;");
+            }
+        } else {
+            $("#label").attr("style", "display:none;");
+        }
+
+        // selectedObjects = [];
+        // selectedObjects.push(intersects[0].object);
+        // outlinePass.selectedObjects = selectedObjects;
     }
 
 }
diff --git a/static/js/object/StoreGoods.js b/static/js/object/StoreGoods.js
index 1f24897..fff753f 100644
--- a/static/js/object/StoreGoods.js
+++ b/static/js/object/StoreGoods.js
@@ -44,6 +44,11 @@
                         positionZ = (item.bay1-1)*-ref.binHeight || 0;
 
                         clone.name = item.loc_no + "-" + "Pallet";
+                        clone.traverse (function (child) {
+                            if (child instanceof THREE.Mesh) {
+                                child.name = item.loc_no + "-" + child.name;
+                            }
+                        })
                         break;
                     case 2:
                         positionX = ref.position.x || 0;
@@ -55,6 +60,11 @@
                         positionZ -= 138 + 20;
 
                         clone.name = item.wrkNo + "-" + "Pallet";
+                        clone.traverse (function (child) {
+                            if (child instanceof THREE.Mesh) {
+                                child.name = item.wrkNo + "-" + child.name;
+                            }
+                        })
                         break;
                     default:
                         console.error("InitPallet param[type] error ===>> " + type);
@@ -104,6 +114,11 @@
                     positionZ = (item.bay1-1)*-ref.binHeight || 0;
 
                     clone.name = item.loc_no + "-" + "Goods";
+                    clone.traverse (function (child) {
+                        if (child instanceof THREE.Mesh) {
+                            child.name = item.loc_no + "-" + child.name;
+                        }
+                    })
                     break;
                 case 2:
                     positionX = ref.position.x || 0;
@@ -115,6 +130,11 @@
                     positionZ -= 138 + 20;
 
                     clone.name = item.wrkNo + "-" + "Goods";
+                    clone.traverse (function (child) {
+                        if (child instanceof THREE.Mesh) {
+                            child.name = item.wrkNo + "-" + child.name;
+                        }
+                    })
                     break;
                 default:
                     console.error("InitGoods param[type] error ===>> " + type);
diff --git a/static/js/utils/DataShow.js b/static/js/utils/DataShow.js
new file mode 100644
index 0000000..8836e97
--- /dev/null
+++ b/static/js/utils/DataShow.js
@@ -0,0 +1,51 @@
+
+function DataShow(type,no) {
+    this.type=type;
+    this.no=no;
+    this.colRowDistributionChart = null;
+    this.RowDistributionChart = null;
+}
+DataShow.prototype.showHint=function(){
+    let htmltext='';
+    return htmltext='<p>浠撳簱缂栫爜锛�'+ 12312 +'</p>';
+
+    let dataAnalyze = new DataAnalyze(this.no);
+   if(this.type=='StoreSign'||this.type=='Store')
+   {
+       let store= dataAnalyze.getStore(this.no);
+       htmltext='<p>浠撳簱缂栫爜锛�'+store.No +'</p>';
+       htmltext+='<p>浠撳簱鍚嶇О锛�'+store.Name +'</p>';
+       htmltext+='<p>鎬诲簱瀛橈細'+dataAnalyze.getStoreTotalBin(this.no) +'</p>';
+       htmltext+='<p>宸插崰搴撳瓨锛�'+dataAnalyze.getStoreOccurpyBin(this.no) +'</p>';
+       htmltext+='<p>浠婃棩鍏ュ簱锛�'+dataAnalyze.getStoreTotalBin(this.no) +'</p>';
+       htmltext+='<p>浠婃棩鍑哄簱锛�'+dataAnalyze.getStoreOccurpyBin(this.no) +'</p>';
+       htmltext+='<p1>鎻愮ず锛氬弻鍑诲彲鏌ョ湅璇︾粏淇℃伅</p1>';
+   }
+    else if(this.type=='StoreGroup')
+    {
+        let group= dataAnalyze.getGroup(this.no);
+        htmltext='<p>缂栫爜锛�'+group.No +'</p>';
+        htmltext+='<p>鍚嶇О锛�'+group.Name +'</p>';
+        htmltext+='<p>鎬诲簱瀛橈細'+dataAnalyze.getGroupTotalBin(this.no) +'</p>';
+        htmltext+='<p>宸插崰搴撳瓨锛�'+dataAnalyze.getGroupOccurpyBin(this.no) +'</p>';
+        htmltext+='<p>浠婃棩鍏ュ簱锛�'+dataAnalyze.getGroupTotalBin(this.no) +'</p>';
+        htmltext+='<p>浠婃棩鍑哄簱锛�'+dataAnalyze.getGroupOccurpyBin(this.no) +'</p>';
+        htmltext+='<p1>鎻愮ず锛氬弻鍑诲彲鏌ョ湅璇︾粏淇℃伅</p1>';
+    }
+    else if(this.type=='StoreGoods')
+    {
+        let bin= dataAnalyze.getBin(this.no);
+        htmltext='<p>缂栫爜锛�'+bin.No +'</p>';
+        htmltext+='<p>鍚嶇О锛�'+bin.Name +'</p>';
+        htmltext+='<p>鏉$爜鍙凤細'+bin.Barcode +'</p>';
+        htmltext+='<p>鐘舵�侊細'+bin.State +'</p>';
+    }
+    return htmltext;
+}
+
+
+
+
+
+
+
diff --git a/views/index.html b/views/index.html
index f0f7009..cf9d409 100644
--- a/views/index.html
+++ b/views/index.html
@@ -23,9 +23,12 @@
     <script type="text/javascript" src="../static/js/object/CrnTask.js"></script>
     <script type="text/javascript" src="../static/js/object/Floor.js"></script>
     <script type="text/javascript" src="../static/js/object/ObjectSelect.js"></script>
+    <script type="text/javascript" src="../static/js/utils/DataShow.js"></script>
 </head>
 <body>
 
+<div id="label"></div>
+
 <!-- 鎺у埗闈㈡澘 -->
 <div id="sidebar">
     <button id="sidebar-btn" onclick="sidebar()">灞曠ず</button>

--
Gitblit v1.9.1