Browse Source

3dModeling UIAnchor.js 沈瑞清 commit at 2021-03-17

沈瑞清 4 năm trước cách đây
mục cha
commit
2d7fc4b5ff
1 tập tin đã thay đổi với 80 bổ sung0 xóa
  1. 80 0
      3dModeling/sgec111/UIAnchor.js

+ 80 - 0
3dModeling/sgec111/UIAnchor.js

@@ -112,3 +112,83 @@ function create_element(dName, deviceTypes, floorNum, ownercode) {
 				<span class="span-l font" style="float: left;margin: 0px 0px 0px 1px;">${dName}</span>
 			</div>
 		</div>`
+    }
+
+    $('#div3d').append($(sign));
+    var newElem = document.getElementById(dName);
+    // var newElem = srcElem.cloneNode(true);
+    newElem.style.display = "block";
+    newElem.setAttribute("onclick", "deviceIcon_click('" + deviceTypes + "','" + floorNum + "','" + ownercode + "')");
+    app.domElement.insertBefore(newElem, srcElem);
+    return newElem;
+}
+// 物体顶界面
+var ui = null;
+var uis = [];
+function create_ui(deviceType, floorNum, deviceList) {
+    var deviceTypes = deviceType;
+    destroy_ui();
+    create_html();
+    deviceIcon = [];
+    for (var j = 0; j < deviceList.length; j++) {
+        if (deviceList[j].dwtype == deviceType) {
+            deviceIcon.push(deviceList[j]);
+        }
+    }
+    if (deviceType == 'YTVA') {
+        deviceType = '摄像头';
+    } else if (deviceType == 'YTWP') {
+        deviceType = '水表';
+    } else if (deviceType == 'YTCI') {
+        deviceType = '环境监测';
+    } else if (deviceType == 'YTEF') {
+        deviceType = '电气火灾';
+    } else if (deviceType == 'YTFC') {
+        deviceType = '消防控制柜';
+    } else if (deviceType == 'YTSM') {
+        deviceType = '烟感';
+    } else if (deviceType == 'YTLL') {
+        deviceType = '液位';
+    }
+    else if (deviceType == 'YTWI') {
+        deviceType = '水浸';
+    }
+    let num;
+    if(floorNum == -1){
+        num = 'B1'
+    }else{
+        num = 'F' + floorNum;
+    }
+    var carList = app.query("#" + num)[0].query(deviceType)
+    var carList1 = app.query("#" + num)[0]
+    console.log(carList)
+    console.log(deviceIcon.length)
+    //   app.query("#" + id)[0].query('.Thing').forEach(function (obj){
+    //     var car = app.query("#"+obj.id)[0];
+    //     panelArr.push(uiAnchor(car));
+    // })
+    for (var i = 0; i < deviceIcon.length; i++) {
+        dName = deviceIcon[i].device_name;
+        var ownercode = deviceIcon[i].owner_code
+        console.log(dName,ownercode,carList[i])
+        ui = app.create({
+            type: 'UIAnchor',
+            parent: carList[i],
+            element: create_element(dName, deviceTypes, floorNum, ownercode),
+            localPosition: [0, 2, 0],
+            pivot: [0.5, 1] //  [0,0]即以界面左上角定位,[1,1]即以界面右下角进行定位
+        });
+        uis.push(ui);
+    }
+
+}
+// 删除界面
+function destroy_ui() {
+    if (uis) {
+        for (var i = 0; i < uis.length; i++) {
+            uis[i].destroy();
+        }
+        uis = [];
+    }
+
+}