/**
* 创建UIAnchor界面
* @param {Object} obj - 创建界面的父物体
* @param {String} value - 创建界面的类型
*/
function createUIAnchor(floorNum) {
let anchorCreateJson = {
type: "UIAnchor",
// element: $(".pictureMarker")[0],
// position: [100, -10, -21],
// parent: app.query('#1F1FS01')[0],
// pivotPixel: [parseFloat($(".textAndPictureMarker").css("width")) / 2, parseFloat($(".textAndPictureMarker").css("height"))],
}
var s = app.query('#' + floorNum)[0];
let n = Math.ceil(Math.random() * 10)
anchorCreateJson.element = $(".textAndPictureMarker")[0];
//anchorCreateJson.position = [5, 2, n];
anchorCreateJson.parent = app.query('#' + floorNum)[0];
anchorCreateJson.pivotPixel = [parseFloat($(".textAndPictureMarker").css("width")) / 2, parseFloat($(".textAndPictureMarker").css("height"))];
let tempTopCard = app.create(anchorCreateJson); // 创建顶牌
tempTopCard.visible = true; // 设置初始顶牌状态
}
function deviceIcon_click(dwtype, floorNum, ownercode) {
let funcName = "icon_click";
var data = {
'dwtype': dwtype,
'level': floorNum,
'id': ownercode
}
var message = {
'funcName': funcName, // 所要调用父页面里的函数名
'param': data
}
// 向父窗体(用户主页面)发送消息
// 第一个参数是具体的信息内容,
// 第二个参数是接收消息的窗口的源(origin),即"协议 + 域名 + 端口"。也可以设为*,表示不限制域名,向所有窗口发送
window.parent.postMessage(message, '*');
}
//======================================================================================================================
// 添加html
function create_html() {
var sign =
`
`
$('#div3d').append($(sign));
}
function create_element(dName, deviceTypes, floorNum, ownercode) {
var srcElem = document.getElementById('board');
if (deviceTypes == 'YTVA') {
var sign =
`
`
} else if (deviceTypes == 'YTWP') {
var sign =
`
`
} else if (deviceTypes == 'YTCI') {
var sign =
`
`
} else if (deviceTypes == 'YTEF') {
var sign =
`
`
} else if (deviceTypes == 'YTFC') {
var sign =
`
`
} else if (deviceTypes == 'YTSM') {
var sign =
`
`
} else if (deviceTypes == 'YTLL') {
var sign =
`
`
} else if (deviceTypes == 'YTWI') {
var sign =
`
`
}
$('#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 = [];
}
}