app-xiangsonghua/app-saas-src/script/index/featureFrame.js
2024-12-26 17:00:06 +08:00

331 lines
11 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apiready = function () {
var ctrl = {
init: {},
bind: {},
initPrPicker: {},
prList: [], // 配电室列表
employeeId: null, // 员工登陆时的员工id
}
ctrl.init = function () {
// 判断是否是员工登陆
var isEmployee = $api.getStorage("isEmployee");
var isKHZBY = $api.getStorage("isKHZBY");
ctrl.prList = $api.getStorage("prList");
if (isEmployee) { // 员工登录(自己员工、客户员工)
// 客户值班员,隐藏巡检安排、系统工单
if (isKHZBY) {
$('#inspection-arrange').hide();
$('#work-order').hide();
}
ctrl.bind();
ctrl.initPrPicker();
} else { // 客户登陆
// 隐藏巡检安排、系统工单
$('#inspection-arrange').hide();
$('#work-order').hide();
// 控制菜单权限
privilegeModule.getMenuList(function () {
ctrl.initMenu();
});
ctrl.bind();
ctrl.initPrPicker();
}
}
ctrl.initMenu = function () {
if (!privilegeModule.hasMenu('实时数据')) {
$('#bt-rtdata').css('display', 'none');
}
if (!privilegeModule.hasMenu('历史数据')) {
$('#bt-hisdata').css('display', 'none');
}
if (!privilegeModule.hasMenu('报警查询')) {
$('#bt-alarm').css('display', 'none');
}
if (!privilegeModule.hasMenu('能耗分析')) {
$('#bt-energy').css('display', 'none');
}
if (!privilegeModule.hasMenu('日志查询') ||
(!privilegeModule.hasMenu('巡检日志(新版)')
&& !privilegeModule.hasMenu('抢修日志(旧版)')
&& !privilegeModule.hasMenu('抢修日志')
&& !privilegeModule.hasMenu('操作票')
&& !privilegeModule.hasMenu('工作票'))) {
$('#bt-log').css('display', 'none');
}
if (!privilegeModule.hasMenu('巡检问题')) {
$('#inspect-bug').css('display', 'none');
}
if (!privilegeModule.hasMenu('视频监控')) {
$('#camera').css('display','none');
}
$('#inspection-arrange').css('display','none');
$('#work-order').css('display','none');
}
ctrl.bind = function () {
//用户点击了实时数据按钮
$api.addEvt($api.dom("#bt-rtdata"), "touchend", function () {
//侧边栏的宽度为250
var edge = api.winWidth * 0.2;
(edge < 0) && (edge = 60);
api.openDrawerLayout({
name: 'rtdata-page',
url: '../feature/rtData.html',
rightPane: {
edge: edge,
name: 'rtDataRightPanel',
url: 'widget://html/feature/rtDataRightPanel.html',
}
});
});
api.addEventListener({
name: 'userTouched'
}, function (ret, err) {
if (ret) {
$api.css($api.dom("#pr-picker-modal"), "display:none");
} else {
}
});
//用户点击了历史数据按钮
$api.addEvt($api.dom("#bt-hisdata"), "touchend", function () {
//侧边栏的宽度为250
var edge = api.winWidth * 0.2;
(edge < 0) && (edge = 60);
api.openDrawerLayout({
name: 'history-data-pag',
url: '../feature/historyData.html',
rightPane: {
edge: edge,
name: 'historyDataRightPanel',
url: 'widget://html/feature/historyDataRightPanel.html',
},
slidBackEnabled: true,
slidBackType: "edge",
vScrollBarEnabled: false,
hScrollBarEnabled: false
});
});
//用户点击了报警查询按钮
$api.addEvt($api.dom("#bt-alarm"), "touchend", function () {
//侧边栏的宽度为250
var edge = api.winWidth * 0.2;
(edge < 0) && (edge = 60);
api.openDrawerLayout({
name: 'alarm-query-page',
url: '../feature/alarmQuery.html',
rightPane: {
edge: edge,
name: 'alarmQueryRightPanel',
url: 'widget://html/feature/alarmQueryRightPanel.html',
},
});
});
//用户点击了能耗分析按钮
$api.addEvt($api.dom("#bt-energy"), "touchend", function () {
//默认横屏
api.showProgress({
title: '加载中',
text: '请稍等...',
modal: false
});
if (api.systemType == "ios") {
api.setScreenOrientation({
orientation: 'landscape_left'
});
}
var edge = 400;
api.openDrawerLayout({
name: 'rtdata-page',
url: 'widget://html/feature/energy.html',
rightPane: {
edge: edge,
name: 'rtDataRightPanel',
url: 'widget://html/feature/energyRightPanel.html',
},
slidBackEnabled: false,
animation: {
type: "none",
}
});
});
//用户点击了日志查询按钮
$api.addEvt($api.dom("#bt-log"), "touchend", function () {
api.openWin({
name: 'statistic-page',
url: '../feature/logQuery/logQuery.html'
});
});
//用户点击了设备缺陷按钮
// 跳转到logQuery-main页面在logQuery-main中加载设备缺陷列表页便于实现设备缺陷列表页刷新
$api.addEvt($api.dom("#inspect-bug"), "touchend", function () {
// api.openWin({
// name: 'inspect-log',
// url: '../feature/logQuery/logQuery-main.html',
// pageParam: {
// page: 'inspectBug'
// }
// });
//侧边栏的宽度为250
var edge = api.winWidth * 0.2;
(edge < 0) && (edge = 60);
api.openDrawerLayout({
name: 'inspect-log',
url: '../feature/logQuery/logQuery-main.html',
pageParam: {
page: 'inspectBug'
},
rightPane: {
edge: edge,
name: 'inspectBugListRightPanel',
url: 'widget://html/feature/logQuery/inspectBugListRightPanel.html',
},
});
});
// 用户点击了视频监控按钮
$api.addEvt($api.dom("#camera"), "touchend", function () {
api.openWin({
name: 'camera-page',
url: '../feature/camera.html'
});
});
// 用户点击了 “一次图” 按钮
$api.addEvt($api.dom("#circuit"), "touchend", function () {
api.openWin({
name: 'circuit-page',
url: '../feature/circuit.html'
});
});
// 用户点击了 “巡检安排” 按钮
$api.addEvt($api.dom("#inspection-arrange"), "touchend", function () {
api.openWin({
name: 'inspection-arrange-page',
url: '../feature/inspectionArrange.html'
});
});
// 用户点击了 “系统工单” 按钮
$api.addEvt($api.dom("#work-order"), "touchend", function () {
api.openWin({
name: 'system-order-page',
url: '../feature/systemOrder.html'
});
});
//收到首页传来的requestChangePr事件 呼出选择配电室面板
api.addEventListener({
name: 'requestChangePr'
}, function (ret, err) {
if ($api.getStorage('cus')) {
return;
}
ctrl.initPrPicker();
if ($('#pr-picker-modal').css('display') == 'block') {
$api.css($api.dom("#pr-picker-modal"), "display:none");
} else {
$api.css($api.dom("#pr-picker-modal"), "display:block");
}
});
api.addEventListener({
name: 'requestCloseModal'
}, function (ret, err) {
$api.css($api.dom("#pr-picker-modal"), "display:none");
});
//如果body收到touchend事件 隐藏掉modal
$api.addEvt($api.dom("body"), "touchend", function () {
$api.css($api.dom("#pr-picker-modal"), "display:none");
}, false);
//点击配电室选择器中的配电室
$("#pr-list").on("touchend", ".pr", function () {
var index = $(this).data("index");
// var list = $api.getStorage("prList");
var list = ctrl.prList;
var selected = list[index];
var powerRoom = {
prId: selected.prId,
prName: selected.prName,
configId: selected.configId,
}
$api.setStorage("powerRoom", powerRoom);
api.sendEvent({
name: 'prChanged',
extra: powerRoom
});
})
//组织页面弹通
// $("body").on("touchmove", function (e) {
// e.stopPropagation();
// return false;
// })
// add s
// $("#pr-list").on("touchmove", function (e) {
// e.stopPropagation();
// return false;
// })
// add e
}
//初始化配电室选择器
ctrl.initPrPicker = function () {
var list = ctrl.prList
list = list ? list : [];
var tpl = '<div class="pr bg-touch" data-index="{index}"><div class="icon-con"><img src="../../image/black-pr-icon.png"></div><div>{prName}</div></div>';
var length = list.length;
var html = '';
for (var i = 0; i < length; i++) {
html += tpl.replace('{index}', i).replace('{prName}', list[i].prName);
}
$("#pr-list").html(html);
}
// add 员工获取配电室列表
ctrl.getPrList = function () {
var data = {
employeeId: ctrl.employeeId,
roleId: ctrl.roleId
}
/**
* 注意在客户体验模式下要拦截此接口的数据另外在最外层的index.html中也有此接口的调用如果需要修改则两处都要该别忘了
*/
$api.get("/ems/rest/power/room/list", data, function(ret, err) {
if (ret && ret.code == 200) {
ctrl.prList = ret.body;
ctrl.initPrPicker();
}
});
}
ctrl.init();
}