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