From 4b3467e05cb0e2b68bc3e8ef08827e9e874562c8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 13 十二月 2021 10:43:39 +0800
Subject: [PATCH] #

---
 static/js/object/Route.js     |   20 ++++++++++
 static/js/app.js              |   11 ++++-
 /dev/null                     |   10 -----
 static/js/data/Task.js        |    2 
 views/index.html              |   11 +++++
 static/js/object/RouteLine.js |   17 ++++++++
 static/js/utils.js            |   13 ++++++
 static/js/object/StoreCrn.js  |    3 +
 8 files changed, 72 insertions(+), 15 deletions(-)

diff --git a/static/js/app.js b/static/js/app.js
index 9b020f1..6af6ee1 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -14,6 +14,7 @@
 		this.firstTime = 1;
 		this.stats = null;
 		this.goodTypes=[];//瀛樺偍鎵�鏈夌殑搴撲綅绫诲瀷
+		this.wrkNo = 0;
 
 		this.start = function () {
 			this.initMain();
@@ -37,7 +38,7 @@
 			this.stats.begin();
 			this.renderer.render(this.scene, this.camera);
 			this.stats.end();
-			this.modelMove();
+			// this.modelMove();
 		}
 		this.initScene = function () {
 			this.scene = new THREE.Scene();
@@ -263,7 +264,9 @@
 		this.queryTask = function () {
 			if (this.firstTime === 1) {
 				queryTaskCurrent();
-				console.log(TaskData);
+				if (this.wrkNo !== TaskData.wrkNo) {
+					this.wrkNo = TaskData.wrkNo;
+				}
 			}
 		}
 		this.getExistedGoodType=function(state){
@@ -351,7 +354,9 @@
 				});
 		}
 		this.modelMove = function () {
-
+			// console.log(1)
+			let crnBody = getArrVal(this.objects, "name", "1-body");
+			console.log(crnBody.position)
 		}
 	},
 
diff --git a/static/js/data/Task.js b/static/js/data/Task.js
index 5a46531..cf108a8 100644
--- a/static/js/data/Task.js
+++ b/static/js/data/Task.js
@@ -8,7 +8,7 @@
         data: {},
         async: false,
         success: function (res) {
-            TaskData = res;
+            TaskData = res.data;
         }
     })
 }
diff --git a/static/js/object/Route.js b/static/js/object/Route.js
new file mode 100644
index 0000000..b27209b
--- /dev/null
+++ b/static/js/object/Route.js
@@ -0,0 +1,20 @@
+/**
+ *  points:[
+     {x:-100,y:1,z:50},
+     {x:-500,y:1,z:50},
+     {x:-800,y:1,z:50},
+     {x:-800,y:1,z:420},
+     {x:-1400,y:1,z:420},
+     {x:-1400,y:1,z:480},
+     {x:-100,y:1,z:480},
+     {x:-100,y:1,z:50}
+    ]
+ */
+function Route(option) {
+    let curvePoints=[];
+    for(let i=0;i<option.points.length;i++) {
+        let point=option.points[i];
+        curvePoints.push(new THREE.Vector3(point.x, point.y, point.z));
+    }
+    return new THREE.CatmullRomCurve3(curvePoints,false/*鏄惁闂悎*/,'catmullrom',0.000000001);
+}
diff --git a/static/js/object/RouteLine.js b/static/js/object/RouteLine.js
new file mode 100644
index 0000000..4056340
--- /dev/null
+++ b/static/js/object/RouteLine.js
@@ -0,0 +1,17 @@
+
+// 灏嗘洸绾挎樉绀哄嚭鏉�
+function RouteLine(curve,option) {
+    let points = curve.getPoints(100);
+    let geometry = new THREE.Geometry();
+    //geometry.vertices = curve.getSpacedPoints(100);
+    // 鎶婁粠鏇茬嚎杞ㄨ抗涓婅幏寰楃殑椤剁偣鍧愭爣璧嬪�肩粰鍑犱綍浣�
+    geometry.vertices = points;
+    var material = new THREE.LineBasicMaterial({
+        color: 0x4488ff
+    });
+    let line = new THREE.Line(geometry, material);
+    line.uuid=option.No;
+    line.name=option.Name;
+    line.type="Route";
+    return line;
+}
diff --git a/static/js/object/StoreCrn.js b/static/js/object/StoreCrn.js
index 829dd1c..fa10a4c 100644
--- a/static/js/object/StoreCrn.js
+++ b/static/js/object/StoreCrn.js
@@ -15,6 +15,7 @@
         transparent: true,
         opacity: .3
     }))
+    a.name = option.crnNo + "-body";
     a.position.x = option.crnBody.position.x;
     a.position.y = option.crnBody.position.y + this.crnBodyHeight/2;
     a.position.z = option.crnBody.position.z - this.crnBodyWidth/2;
@@ -25,6 +26,7 @@
         transparent: true,
         opacity: .5
     }))
+    b.name = option.crnNo + "-load";
     b.position.x = option.crnLoad.position.x;
     b.position.y = option.crnLoad.position.y + this.crnLoadHeight/2;
     b.position.z = option.crnLoad.position.z - this.crnLoadWidth/2 + 5;
@@ -35,6 +37,7 @@
         transparent: true,
         opacity: 1
     }))
+    c.name = option.crnNo + "-fork";
     c.position.x = option.crnFork.position.x;
     c.position.y = option.crnFork.position.y + this.crnLoadHeight/2;
     c.position.z = option.crnFork.position.z - this.crnLoadWidth/2;
diff --git a/static/js/object/baobiao1.html b/static/js/object/baobiao1.html
deleted file mode 100644
index 566549b..0000000
--- a/static/js/object/baobiao1.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Title</title>
-</head>
-<body>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/static/js/utils.js b/static/js/utils.js
index e69de29..2999835 100644
--- a/static/js/utils.js
+++ b/static/js/utils.js
@@ -0,0 +1,13 @@
+
+function getArrVal(arrObj, key, condition) {
+    if (!arrObj instanceof Array) {
+        return null;
+    }
+    for (var i = 0;i<arrObj.length;i++) {
+        let element = arrObj[i];
+        if (element[key] === condition) {
+            return element;
+        }
+    }
+    return null;
+}
diff --git a/views/index.html b/views/index.html
index 9f88b44..7d41ee1 100644
--- a/views/index.html
+++ b/views/index.html
@@ -8,6 +8,7 @@
 		<link rel="stylesheet" href="../static/css/main.css">
 		<script type="text/javascript" src="../static/js/lib/jquery-3.3.1.min.js"></script>
 		<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
+		<script type="text/javascript" src="../static/js/utils.js"></script>
 		<script type="text/javascript" src="../static/js/common.js"></script>
 		<script type="text/javascript" src="../static/js/data/Warehouse.js"></script>
 		<script type="text/javascript" src="../static/js/data/Task.js"></script>
@@ -18,9 +19,14 @@
 		<script type="text/javascript" src="../static/js/object/StoreCrn.js"></script>
 		<script type="text/javascript" src="../static/js/object/StoreShelf.js"></script>
 		<script type="text/javascript" src="../static/js/object/StoreGoods.js"></script>
+		<script type="text/javascript" src="../static/js/object/Route.js"></script>
+		<script type="text/javascript" src="../static/js/object/RouteLine.js"></script>
 		<script type="text/javascript" src="../static/js/lib/btnHide.js"></script>
 	</head>
 	<body style="position: relative">
+		<div style="position: absolute;top: 0;right: 0">
+			<button id="print">鎵撳嵃</button>
+		</div>
 		<div id="groundglass"></div>
 		<div id="sidebar">
 			<p1>涓壃-鏅鸿兘绔嬩綋浠撳簱</p1>
@@ -59,7 +65,6 @@
 			</div>
 		</div>
 		<div id="container"></div>
-
 		<script type="module">
 
 			import * as THREE from '../static/js/three.module.js';
@@ -75,6 +80,10 @@
 			// 	player.setSize( window.innerWidth, window.innerHeight );
 			// } );
 
+			document.getElementById("print").addEventListener('click', function () {
+				console.log(player.objects);
+				player.modelMove();
+			}, false);
 
 		</script>
 		<script type="text/javascript">

--
Gitblit v1.9.1