deepsea 1 year ago
parent
commit
51cc573395
1 changed files with 285 additions and 282 deletions
  1. 285 282
      src/uwb-sample.js

+ 285 - 282
src/uwb-sample.js

@@ -11,6 +11,12 @@ import '../public/libs/tools.js'
 
 function getsqlData(sdkInstance, uwbInstance) {
   let g_PosArrayResult = null;
+
+  let textureLoader = new THREE.TextureLoader();
+  let textureReady = textureLoader.load('../images/location_ready.png');
+  let textureRunning = textureLoader.load('../images/location_running.png');
+  let textureOffline = textureLoader.load('../images/location_offline.png');
+
   if (g_PosArrayResult == null) {
     var sqlstr = "SELECT * FROM dat_bench_extend order by bench_id asc";
 
@@ -34,305 +40,302 @@ function getsqlData(sdkInstance, uwbInstance) {
       var one_second_ago = new Date(now.getTime() - 1 * 1000).Format(
         "yyyy-MM-dd hh:mm:ss.S"
       );
-      //let two_seconds_ago = (now - timedelta(seconds=2)).strftime('%Y-%m-%d %H:%M:%S.000')
-      //let one_second_ago = (now - timedelta(seconds=1)).strftime('%Y-%m-%d %H:%M:%S.000')
-      //var sqlstr = "SELECT * FROM his_location_tadiao_result_unity h, dat_bench_extend b where h.card_id = b.card_id and loc_time BETWEEN '"+two_seconds_ago+"' AND '"+one_second_ago+"'";
-      //var sqlstr =
-      //  "SELECT * FROM `his_location_tadiao_result_unity_copy1` ORDER BY loc_time limit 300";
-
-      var sqlstr = "SELECT * FROM dat_bench_extend order by bench_id asc";
-
-      //sqlstr = sqlstr.format(two_seconds_ago, two_seconds_ago)
-      console.log(sqlstr);
-      let msg = {
-        cmd: "query", // server端要进行判断的
-        data: {
-          name: "name", // 这个无所谓怎么写,有就行
-          //sql: 'select * from his_location_tadiao_result_unity limit 300'
-          sql: sqlstr,
-        },
-      };
-      // 触发事件进行从服务器获取数据
-      window.vm.$socket.emit("REPT", msg, (datas) => {
-        let g_sqlResult = datas.data;
-
-
-        let dracoLoader = new THREE.DRACOLoader();
-        THREE.DRACOLoader.setDecoderPath("../gltf/");
-        var fbxLoader1 = new THREE.GLTFLoader();
-        fbxLoader1.setDRACOLoader(dracoLoader);
-
-        fbxLoader1.load("../models/meshDraco.gltf", function (fbx) {
-
-          let result = g_sqlResult;
-          for (var item of result) {
-            let x = item.x;
-            let y = item.y;
-            let z = item.z;
-            let ang_x = 0.0;
-            let ang_y = 0.0;
-            let ang_z = 0.0;
-            let benchType = item.bench_type
-            if (item.use_fix_pos == 1) {
-              x = JSON.parse(JSON.stringify(item.fix_pos_x));
-              y = JSON.parse(JSON.stringify(item.fix_pos_y));
-              z = JSON.parse(JSON.stringify(item.fix_pos_z));
-              ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
-              ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
-              ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
-            }
-            else {
-            }
+      let dracoLoader = new THREE.DRACOLoader();
+      THREE.DRACOLoader.setDecoderPath("../gltf/");
+
+      var fbxLoader1 = new THREE.GLTFLoader();
+      fbxLoader1.setDRACOLoader(dracoLoader);
+      fbxLoader1.load("../models/meshDraco.gltf", function (fbx) {
+
+        let result = g_sqlResult;
+        for (var item of result) {
+          let x = item.x;
+          let y = item.y;
+          let z = item.z;
+          let ang_x = 0.0;
+          let ang_y = 0.0;
+          let ang_z = 0.0;
+          let benchType = item.bench_type
+          if (item.use_fix_pos == 1) {
+            x = JSON.parse(JSON.stringify(item.fix_pos_x));
+            y = JSON.parse(JSON.stringify(item.fix_pos_y));
+            z = JSON.parse(JSON.stringify(item.fix_pos_z));
+            ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
+            ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
+            ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
+          }
+          else {
+          }
 
-            var distance = 10000.0;
-
-            var xSubTmp = x;
-            var ySubTmp = y;
-            var zSubTmp = z;
-            var ang_xSubTmp = ang_x;
-            var ang_ySubTmp = ang_y;
-            var ang_zSubTmp = ang_z;
-
-            if (g_PosArrayResult) {
-              var iCount = 0;
-              for (var itemSub of g_PosArrayResult) {
-
-                iCount++;
-                var xSub = itemSub.x;
-                var ySub = itemSub.y;
-                var zSub = itemSub.z;
-                var ang_xSub = 0.0;
-                var ang_ySub = 0.0;
-                var ang_zSub = 0.0;
-                xSub = itemSub.fix_pos_x;
-                ySub = itemSub.fix_pos_y;
-                zSub = itemSub.fix_pos_z;
-                ang_xSub = itemSub.fix_angle_x;
-                ang_ySub = itemSub.fix_angle_y;
-                ang_zSub = itemSub.fix_angle_z;
-                var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
-                if (disTmp < distance) {
-                  distance = disTmp;
-                  xSubTmp = xSub;
-                  ySubTmp = ySub;
-                  zSubTmp = zSub;
-                  ang_xSubTmp = ang_xSub;
-                  ang_ySubTmp = ang_ySub;
-                  ang_zSubTmp = ang_zSub;
-                }
+          var distance = 10000.0;
+
+          var xSubTmp = x;
+          var ySubTmp = y;
+          var zSubTmp = z;
+          var ang_xSubTmp = ang_x;
+          var ang_ySubTmp = ang_y;
+          var ang_zSubTmp = ang_z;
+
+          if (g_PosArrayResult) {
+            var iCount = 0;
+            for (var itemSub of g_PosArrayResult) {
+
+              iCount++;
+              var xSub = itemSub.x;
+              var ySub = itemSub.y;
+              var zSub = itemSub.z;
+              var ang_xSub = 0.0;
+              var ang_ySub = 0.0;
+              var ang_zSub = 0.0;
+              xSub = itemSub.fix_pos_x;
+              ySub = itemSub.fix_pos_y;
+              zSub = itemSub.fix_pos_z;
+              ang_xSub = itemSub.fix_angle_x;
+              ang_ySub = itemSub.fix_angle_y;
+              ang_zSub = itemSub.fix_angle_z;
+              var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
+              if (disTmp < distance) {
+                distance = disTmp;
+                xSubTmp = xSub;
+                ySubTmp = ySub;
+                zSubTmp = zSub;
+                ang_xSubTmp = ang_xSub;
+                ang_ySubTmp = ang_ySub;
+                ang_zSubTmp = ang_zSub;
               }
             }
+          }
 
 
-            x = xSubTmp;
-            y = ySubTmp;
-            z = zSubTmp;
-            ang_x = ang_xSubTmp;
-            ang_y = ang_ySubTmp;
-            ang_z = ang_zSubTmp;
-            x = JSON.parse(JSON.stringify(xSubTmp));
-            y = JSON.parse(JSON.stringify(ySubTmp));
-            z = JSON.parse(JSON.stringify(zSubTmp));
-            ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
-            ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
-            ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
-
-            let card_id = item.card_id;
-            let bench_id = item.bench_id;
-            let show_remote_button = item.show_remote_button;
-            if (benchType == 1) {
-              console.log("控制台查看加载gltf文件返回的对象结构", fbx);
-              var childMesh = childMesh = fbx.scene.children[0].children[0];
-              let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
-              let scale = 5;
-              childMeshTmp.scale.set(scale, scale, scale)
-              //fbx.scene.children[0].scale.set(5, 5, 5)
-              //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
-              childMeshTmp.position.set(x, y, z)
-              var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
-              //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
-              var quaternion = new THREE.Quaternion();
-              childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
-              var customData = {
-                benchId: bench_id,
-                benchFlag: true,
-                bShowRemoteButton: show_remote_button == 1 ? true : false,
-              };
-              childMeshTmp.userData = customData;
-
-              // 添加水滴
-              // 加载图片纹理
-              let textureLoader = new THREE.TextureLoader();
-              let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
-              let currentBench = benchList.find(b => b.id == bench_id);
-              let texture = textureLoader.load('../images/location_'+(currentBench.status || 'offline')+'.png');
-
-              // 创建精灵对象
-              let spriteMaterial = new THREE.SpriteMaterial({
-                map: texture,
-                color: 0x4AB22E
-              });
-              let sprite = new THREE.Sprite(spriteMaterial);
-              sprite.userData = customData;
-              // sprite.scale.set(100, 100, 1);
-              sprite.position.set(x, y+10, z);
-
-              sdkInstance.sceneRenderer.scene.add(childMeshTmp)
-              sdkInstance.sceneRenderer.scene.add(sprite)
+          x = xSubTmp;
+          y = ySubTmp;
+          z = zSubTmp;
+          ang_x = ang_xSubTmp;
+          ang_y = ang_ySubTmp;
+          ang_z = ang_zSubTmp;
+          x = JSON.parse(JSON.stringify(xSubTmp));
+          y = JSON.parse(JSON.stringify(ySubTmp));
+          z = JSON.parse(JSON.stringify(zSubTmp));
+          ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
+          ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
+          ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
+
+          let card_id = item.card_id;
+          let bench_id = item.bench_id;
+          let show_remote_button = item.show_remote_button;
+          if (benchType == 1) {
+            console.log("控制台查看加载gltf文件返回的对象结构", fbx);
+            var childMesh = childMesh = fbx.scene.children[0].children[0];
+            let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
+            let scale = 5;
+            childMeshTmp.scale.set(scale, scale, scale)
+            //fbx.scene.children[0].scale.set(5, 5, 5)
+            //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
+            childMeshTmp.position.set(x, y, z)
+            var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
+            //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
+            var quaternion = new THREE.Quaternion();
+            childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
+            var customData = {
+              benchId: bench_id,
+              benchFlag: true,
+              bShowRemoteButton: show_remote_button == 1 ? true : false,
+            };
+            childMeshTmp.userData = customData;
+
+            // 添加水滴
+            let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
+            let currentBench = benchList.find(b => b.id == bench_id);
+            let texture = null;
+            if (currentBench) {
+              switch(currentBench.status) {
+                case "ready":
+                  texture = textureReady;
+                  break;
+                case "running":
+                  texture = textureRunning;
+                  break;
+                case "offline":
+                  texture = textOffline;
+                  break;
+              }
             }
+            
+
+            // 创建精灵对象
+            let spriteMaterial = new THREE.SpriteMaterial({
+              map: texture,
+              color: 0x4AB22E
+            });
+            let sprite = new THREE.Sprite(spriteMaterial);
+            sprite.userData = customData;
+            // sprite.scale.set(100, 100, 1);
+            sprite.position.set(x, y + 10, z);
+
+            sdkInstance.sceneRenderer.scene.add(childMeshTmp)
+            sdkInstance.sceneRenderer.scene.add(sprite)
+          }
 
-          };
-        })
-        var fbxLoader2 = new THREE.GLTFLoader();
-        fbxLoader2.setDRACOLoader(dracoLoader);
-
-        fbxLoader2.load("../models/mesh2Draco.gltf", function (fbx) {
-
-          let result = g_sqlResult;
-          for (var item of result) {
-            let x = item.x;
-            let y = item.y;
-            let z = item.z;
-            let ang_x = 0.0;
-            let ang_y = 0.0;
-            let ang_z = 0.0;
-            let benchType = item.bench_type
-            if (item.use_fix_pos == 1) {
-              x = JSON.parse(JSON.stringify(item.fix_pos_x));
-              y = JSON.parse(JSON.stringify(item.fix_pos_y));
-              z = JSON.parse(JSON.stringify(item.fix_pos_z));
-              ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
-              ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
-              ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
-            }
-            else {
-            }
+        };
+      })
+
+      var fbxLoader2 = new THREE.GLTFLoader();
+      fbxLoader2.setDRACOLoader(dracoLoader);
+      fbxLoader2.load("../models/mesh2Draco.gltf", function (fbx) {
+
+        let result = g_sqlResult;
+        for (var item of result) {
+          let x = item.x;
+          let y = item.y;
+          let z = item.z;
+          let ang_x = 0.0;
+          let ang_y = 0.0;
+          let ang_z = 0.0;
+          let benchType = item.bench_type
+          if (item.use_fix_pos == 1) {
+            x = JSON.parse(JSON.stringify(item.fix_pos_x));
+            y = JSON.parse(JSON.stringify(item.fix_pos_y));
+            z = JSON.parse(JSON.stringify(item.fix_pos_z));
+            ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
+            ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
+            ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
+          }
+          else {
+          }
 
-            var distance = 10000.0;
-
-            var xSubTmp = x;
-            var ySubTmp = y;
-            var zSubTmp = z;
-            var ang_xSubTmp = ang_x;
-            var ang_ySubTmp = ang_y;
-            var ang_zSubTmp = ang_z;
-
-            if (g_PosArrayResult) {
-              var iCount = 0;
-              for (var itemSub of g_PosArrayResult) {
-
-                iCount++;
-                var xSub = itemSub.x;
-                var ySub = itemSub.y;
-                var zSub = itemSub.z;
-                var ang_xSub = 0.0;
-                var ang_ySub = 0.0;
-                var ang_zSub = 0.0;
-                xSub = itemSub.fix_pos_x;
-                ySub = itemSub.fix_pos_y;
-                zSub = itemSub.fix_pos_z;
-                ang_xSub = itemSub.fix_angle_x;
-                ang_ySub = itemSub.fix_angle_y;
-                ang_zSub = itemSub.fix_angle_z;
-                var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
-                if (disTmp < distance) {
-                  distance = disTmp;
-                  xSubTmp = xSub;
-                  ySubTmp = ySub;
-                  zSubTmp = zSub;
-                  ang_xSubTmp = ang_xSub;
-                  ang_ySubTmp = ang_ySub;
-                  ang_zSubTmp = ang_zSub;
-                }
+          var distance = 10000.0;
+
+          var xSubTmp = x;
+          var ySubTmp = y;
+          var zSubTmp = z;
+          var ang_xSubTmp = ang_x;
+          var ang_ySubTmp = ang_y;
+          var ang_zSubTmp = ang_z;
+
+          if (g_PosArrayResult) {
+            var iCount = 0;
+            for (var itemSub of g_PosArrayResult) {
+
+              iCount++;
+              var xSub = itemSub.x;
+              var ySub = itemSub.y;
+              var zSub = itemSub.z;
+              var ang_xSub = 0.0;
+              var ang_ySub = 0.0;
+              var ang_zSub = 0.0;
+              xSub = itemSub.fix_pos_x;
+              ySub = itemSub.fix_pos_y;
+              zSub = itemSub.fix_pos_z;
+              ang_xSub = itemSub.fix_angle_x;
+              ang_ySub = itemSub.fix_angle_y;
+              ang_zSub = itemSub.fix_angle_z;
+              var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
+              if (disTmp < distance) {
+                distance = disTmp;
+                xSubTmp = xSub;
+                ySubTmp = ySub;
+                zSubTmp = zSub;
+                ang_xSubTmp = ang_xSub;
+                ang_ySubTmp = ang_ySub;
+                ang_zSubTmp = ang_zSub;
               }
             }
+          }
+
+
+          x = xSubTmp;
+          y = ySubTmp;
+          z = zSubTmp;
+          ang_x = ang_xSubTmp;
+          ang_y = ang_ySubTmp;
+          ang_z = ang_zSubTmp;
+          x = JSON.parse(JSON.stringify(xSubTmp));
+          y = JSON.parse(JSON.stringify(ySubTmp));
+          z = JSON.parse(JSON.stringify(zSubTmp));
+          ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
+          ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
+          ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
 
+          let card_id = item.card_id;
+          let bench_id = item.bench_id;
 
-            x = xSubTmp;
-            y = ySubTmp;
-            z = zSubTmp;
-            ang_x = ang_xSubTmp;
-            ang_y = ang_ySubTmp;
-            ang_z = ang_zSubTmp;
-            x = JSON.parse(JSON.stringify(xSubTmp));
-            y = JSON.parse(JSON.stringify(ySubTmp));
-            z = JSON.parse(JSON.stringify(zSubTmp));
-            ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
-            ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
-            ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
-
-            let card_id = item.card_id;
-            let bench_id = item.bench_id;
-
-            if (benchType == 2) {
-              console.log("控制台查看加载gltf文件返回的对象结构", fbx);
-              var childMesh = fbx.scene.children[0];
-              let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
-              let scale = 0.05;
-              childMeshTmp.scale.set(scale, scale, scale)
-              //fbx.scene.children[0].scale.set(5, 5, 5)
-              //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
-              childMeshTmp.position.set(x, y, z)
-              var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
-              //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
-              var quaternion = new THREE.Quaternion();
-              childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
-              var customData = {
-                benchId: bench_id,
-                benchFlag: true,
-              };
-              childMeshTmp.userData = customData;
-
-
-              // 添加水滴
-              // 加载图片纹理
-              let textureLoader = new THREE.TextureLoader();
-              let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
-              let currentBench = benchList.find(b => b.id == bench_id);
-              let purl = '../images/location_offline.png';
-              if (currentBench && currentBench.status) {
-                purl = '../images/location_'+(currentBench.status || 'offline')+'.png'
+          if (benchType == 2) {
+            console.log("控制台查看加载gltf文件返回的对象结构", fbx);
+            var childMesh = fbx.scene.children[0];
+            let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
+            let scale = 0.05;
+            childMeshTmp.scale.set(scale, scale, scale)
+            //fbx.scene.children[0].scale.set(5, 5, 5)
+            //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
+            childMeshTmp.position.set(x, y, z)
+            var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
+            //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
+            var quaternion = new THREE.Quaternion();
+            childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
+            var customData = {
+              benchId: bench_id,
+              benchFlag: true,
+            };
+            childMeshTmp.userData = customData;
+
+
+            // 添加水滴
+            // 加载图片纹理
+            let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
+            let currentBench = benchList.find(b => b.id == bench_id);
+            let texture = null;
+            if (currentBench) {
+              switch(currentBench.status) {
+                case "ready":
+                  texture = textureReady;
+                  break;
+                case "running":
+                  texture = textureRunning;
+                  break;
+                case "offline":
+                  texture = textOffline;
+                  break;
               }
-              let texture = textureLoader.load(purl);
-
-              // 创建精灵对象
-              let spriteMaterial = new THREE.SpriteMaterial({
-                map: texture,
-                color: 0x4AB22E
-              });
-              let sprite = new THREE.Sprite(spriteMaterial);
-              // sprite.scale.set(100, 100, 1);
-              sprite.userData = customData;
-              sprite.position.set(x, y+10, z);
-
-              sdkInstance.sceneRenderer.scene.add(childMeshTmp)
-              sdkInstance.sceneRenderer.scene.add(sprite)
             }
-          };
-          if (!sessionStorage.getItem('3dMode') || sessionStorage.getItem('3dMode') == 0) {
-            setTimeout(() => {
-              var benchPosList = [];
-              for (var item of result) {
-                var localPosition = new THREE.Vector3(item.fix_pos_x, item.fix_pos_y, item.fix_pos_z);
-                var worldPosition = uwbInstance.convertLocalToWorld(localPosition);
-                var pos = sdkInstance.getScreenPosition(worldPosition);
-                benchPosList.push(
-                  {
-                    x: pos.x,
-                    y: pos.y,
-                    benchType: item.bench_type,
-                    benchId: item.bench_id
-                  }
-                )
-              }
-              window.showBenchPos(benchPosList);
-            }, 2000
-            )
+
+            // 创建精灵对象
+            let spriteMaterial = new THREE.SpriteMaterial({
+              map: texture,
+              color: 0x4AB22E
+            });
+            let sprite = new THREE.Sprite(spriteMaterial);
+            // sprite.scale.set(100, 100, 1);
+            sprite.userData = customData;
+            sprite.position.set(x, y + 10, z);
+
+            sdkInstance.sceneRenderer.scene.add(childMeshTmp)
+            sdkInstance.sceneRenderer.scene.add(sprite)
           }
+        };
+        if (!sessionStorage.getItem('3dMode') || sessionStorage.getItem('3dMode') == 0) {
+          setTimeout(() => {
+            var benchPosList = [];
+            for (var item of result) {
+              var localPosition = new THREE.Vector3(item.fix_pos_x, item.fix_pos_y, item.fix_pos_z);
+              var worldPosition = uwbInstance.convertLocalToWorld(localPosition);
+              var pos = sdkInstance.getScreenPosition(worldPosition);
+              benchPosList.push(
+                {
+                  x: pos.x,
+                  y: pos.y,
+                  benchType: item.bench_type,
+                  benchId: item.bench_id
+                }
+              )
+            }
+            window.showBenchPos(benchPosList);
+          }, 2000
+          )
+        }
 
 
-        })
-      });
+      })
+
 
     });
   }