static/css/main.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
static/js/app.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
static/js/object/ObjectSelect.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
static/js/object/StoreGoods.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
static/js/utils/DataShow.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
views/index.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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; 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 ); 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; } } 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); static/js/utils/DataShow.js
New file @@ -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; } 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>