var parent = window.parent;
var layer;
(function () {
layui.use(['laypage', 'layer', 'laydate'], function () {
layer = layui.layer;
});
var svg = document.querySelector('#menu')
var items = svg.querySelectorAll('.item')
var trigger = document.querySelector('.menu-trigger')
var open = false
var angle = 45
var playComplete = true
function show() {
open = true
var tl = new TimelineLite()
tl.to(items, 0.2, {scale: 1, ease: Back.easeOut.config(4)}, 0.1)
for (var i = 0; i < items.length; i++) {
tl.to(items[i], 0.7, {rotation: -i * angle + 'deg', ease: Bounce.easeOut}, 0.35)
}
trigger.classList.add('active')
svg.style.pointerEvents = 'auto'
// close the nav when document is clicked
document.addEventListener('click', hide)
};
function hide() {
open = false
var tl = new TimelineLite()
for (var i = 0; i < items.length; i++) {
tl.to(items[i], 0.3, {rotation: 0, ease: Circ.easeOut}, 0.05)
}
tl.to(items, 0.3, {scale: 0, ease: Back.easeIn}, 0.3)
tl.call(function () {
trigger.classList.remove('active')
})
svg.style.pointerEvents = 'none'
// remove document click event
document.removeEventListener('click', hide)
};
function toggle(evn) {
if (!event) var event = window.event
event.stopPropagation()
open ? hide() : show()
};
// set up event handler
trigger.onclick = toggle
svg.onclick = function (e) {
e.stopPropagation()
};
// 更新按钮点击
document.querySelector('.circle-menu .update').onclick = function () {
layer.msg("暂不支持该功能!");
};
// 透传按钮点击
document.querySelector('.circle-menu .passthrough').onclick = function () {
layer.msg("暂不支持该功能!");
// layer.open({
// type: 1,
// skin: 'circle-menu-layer layer-passthrough-wrap',
// shade: 0.65,
// resize: false,
// move: false,
// area: ['600px', '500px'],
// title: '命令透传',
// content:
// '
' +
// '
' +
// '
不可编辑文本
' +
// '
' +
// '
' +
// '
'
// ,
// btn: ['透传', '关闭'],
// btnAlign: 'c',
// yes: function () {
// transCommand(deviceId);
// },
// btn2: function () {
// layer.closeAll();
// }
// });
}
// 动作按钮点击
document.querySelector('.circle-menu .action').onclick = function () {
console.log(category);
// renderActionInfo();
if(category == "2002" || category == "2003" || category == "2017"){
//layer.alert("暂不支持远程操作!");
// loadDeviceActionList(deviceId, companyId);
renderActionInfo();
}else {
layer.msg("暂不支持该功能!");
}
};
// 定时按钮点击
document.querySelector('.circle-menu .timing').onclick = function () {
layer.msg("暂不支持该功能!");
// layer.open({
// type: 1,
// skin: 'circle-menu-layer layer-timing-wrap',
// shade: 0.65,
// resize: false,
// move: false,
// area: ['600px', '450px'],
// title: '定时信息',
// content: "" +
// "" +
// "" +
// "定时器说明 | " +
// "动作名称 | " +
// "
" +
// "" +
// "" +
//
// // "\n" +
// // "每天下午17:30分执行 | " +
// // "关闭 | " +
// // "
" +
// // "" +
// // "每天下午17:30分执行 | " +
// // "关闭 | " +
// // "
" +
// // "" +
// // "每天下午17:30分执行 | " +
// // " 关闭 | " +
// // "
" +
//
// "" +
// "
",
// btn: ['关闭'],
// btnAlign: 'c',
// yes: function () {
// layer.closeAll();
// }
// });
}
})();
executeAction = function(actionId,newValue) {
layer.msg("开始执行动作……");
var data = {"deviceId": deviceId, "actionId": actionId, "newValue":newValue};
$.ajax({
type: 'POST',
url: '../../basic/device/control/do-action',
dataType: 'JSON',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (result) {
layer.close(1);
if ("0000" == result.code) {
layer.msg("动作指令发送成功……");
} else {
layer.msg(result.msg);
}
}
});
};
//根据业务设备ID更新监控信息
function queryAttr(deviceId) {
var data = {"deviceId": deviceId};
$.ajax({
type: 'POST',
url: '../../basic/device/control/query-attr',
dataType: 'JSON',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (result) {
// console.log(result);
layer.close(1);
if ("0000" == result.code) {
layer.msg("指令发送成功……");
} else {
layer.msg(result.msg);
}
}
});
};
//根据业务设备ID更新监控信息
function transCommand(deviceId) {
var tranValue = $("#tranValue").val();
var data = {"deviceId": deviceId,"tranValue":tranValue};
$.ajax({
type: 'GET',
url: 'control/trans-command',
dataType: 'JSON',
contentType: 'application/json',
data: data,
success: function (result) {
$("#orderResposeStr").html(JSON.stringify(result));
}
});
};
function loadDeviceActionList(deviceId, companyId) {
var data = {"companyId": companyId, "deviceId": deviceId};
$.ajax({
type: 'POST',
url: '../../basic/device/control/list-action',
dataType: 'JSON',
contentType: 'application/json',
data: JSON.stringify(data),
success: function (result) {
if (result.code != "0000") {
layer.alert(result.msg);
return;
}
var list = result.data;
renderActionButton(list);
}
});
}
function renderActionButton(list) {
var parent = window.parent;
var config = {
type: 1,
skin: 'circle-menu-layer layer-action-wrap',
shade: 0.65,
resize: false,
move: true,
area: ['600px', '400px'],
title: '设备动作',
content:
'' +
'
' +
'动作1' +
'动作2' +
'动作3' +
'
' +
'
' +
'动作4' +
'动作5' +
'动作6' +
'
' +
'
' +
'动作7' +
'动作8' +
'动作9' +
'
' +
'
'
,
btn: ['关闭'],
btnAlign: 'c',
yes: function () {
layer.closeAll();
}
};
//根据配置动作重新调整内容
var content = '';
if (list) {
var height = 350;
var tag = 0;
list.forEach(function (data, index) {
if (tag == 0) {
if (index > 5) {
height += 64;
}
content += '
';
}
if(companyId == "3126"){
content += '' + data.actionName + '';
}else{
content += '' + data.actionName + '';
}
// content += '' + data.actionName + '';
tag++;
if (tag == 3) {
content += '
';
tag = 0;
}
if (0 != tag && index == (list.length - 1)) {
content += '
';
}
});
content += '';
config.content = content;
config.area = ["600px", (height + "px")];
layer.open(config);
}
}
function confirm(id, passcode, name) {
var content = "";
if(category == "2002" && passcode == "11"){
content += "
请输入温度值
";
content += "
";
content += "
";
}else{
content += "
确认执行操作“ " + name + " ”吗?
";
}
content += "
";
var config = {
type: 1,
skin: 'circle-menu-layer layer-action-confirm',
shade: 0.65,
resize: false,
move: true,
area: ['480px', '300px'],
title: '提示',
content: content,
btn: ['确认','关闭'],
btnAlign: 'c',
yes: function () {
if(category == "2002" && passcode == "11"){
var value = $("#text").val();
if(value >= 16 && value <= 30){
layer.closeAll();
$("#msg").text("");
executeAction(id,value);
}else {
$("#msg").text("提示:空调温度设定范围是16~30!");
}
}else {
layer.closeAll();
executeAction(id,0);
}
},
btn2: function(index, layero){
layer.close(1);
$("#msg").text("");
}
};
layer.open(config);
}
function renderActionInfo(){
action();
}