187 lines
5.8 KiB
JavaScript
187 lines
5.8 KiB
JavaScript
apiready = function() {
|
||
var ctrl = {
|
||
alarmId: null,
|
||
websocket: null,
|
||
alarm: null,
|
||
|
||
init: {},
|
||
bind: {},
|
||
getAlarm: {},
|
||
renderAlarm: {},
|
||
initWebsocket: {},
|
||
|
||
renderFilter: {} //渲染报警列表前的拦截器,用于处理体验账号模式下的数据
|
||
}
|
||
|
||
//初始化
|
||
ctrl.init = function() {
|
||
// 适配安卓状态栏
|
||
CommonModel.fitInStatusBar();
|
||
this.alarmId = api.pageParam.id;
|
||
ctrl.employeeId = $api.getStorage('employeeId');
|
||
this.bind();
|
||
this.getAlarm();
|
||
}
|
||
|
||
//事件绑定
|
||
ctrl.bind = function() {
|
||
|
||
//点击返回按钮
|
||
$api.addEvt($api.dom("#back"), 'touchend', function() {
|
||
|
||
api.closeWin();
|
||
|
||
// if(ctrl.websocket){
|
||
// ctrl.websocket.close();
|
||
// }
|
||
|
||
}, false);
|
||
|
||
//退出app 关闭socket
|
||
api.addEventListener({
|
||
name: 'pause'
|
||
}, function(ret, err) {
|
||
// ctrl.websocket.close();
|
||
});
|
||
|
||
//应用恢复 打开websocket
|
||
api.addEventListener({
|
||
name: 'resume'
|
||
}, function(ret, err) {
|
||
// ctrl.initWebsocket(ctrl.alarm.serverIp, ctrl.alarm.varType, ctrl.alarm.varIndex);
|
||
});
|
||
|
||
// “生成工单” 按钮 点击
|
||
$api.addEvt($api.dom("#create-order-btn"), 'touchend', function() {
|
||
api.confirm({
|
||
title: '',
|
||
msg: '确定要生成工单吗',
|
||
buttons: ['确定', '取消']
|
||
}, function(ret, err) {
|
||
var index = ret.buttonIndex;
|
||
if (index == 1) { // 确定
|
||
ctrl.createOrder();
|
||
}
|
||
});
|
||
})
|
||
}
|
||
|
||
ctrl.getAlarm = function() {
|
||
var data = {
|
||
alarmId: this.alarmId
|
||
}
|
||
|
||
var url = "/ems/rest/alarm";
|
||
|
||
$api.get(url, data, function(ret, err) {
|
||
|
||
if (!err && ret && ret.code === 200) {
|
||
$api.css($api.dom("#content"), 'display:block');
|
||
$api.css($api.dom("#empty-tips"), 'display:none');
|
||
ctrl.renderAlarm(ret.body);
|
||
if (ret.body.handleStatus == 0) {
|
||
$api.css($api.dom("#create-order-btn"), 'display:block');
|
||
}
|
||
ctrl.alarm = ret.body;
|
||
} else {
|
||
$api.css($api.dom("#content"), 'display:none');
|
||
$api.css($api.dom("#empty-tips"), 'display:block');
|
||
}
|
||
|
||
});
|
||
}
|
||
|
||
//渲染报警列表前的拦截器,用于处理体验账号模式下的数据
|
||
ctrl.renderFilter = function(alarm) {
|
||
if ($api.getStorage('cus') && alarm.prName) {
|
||
alarm.prName = $api.guestPrName;
|
||
}
|
||
}
|
||
|
||
ctrl.renderAlarm = function(alarm) {
|
||
//渲染报警列表前的拦截器,用于处理体验账号模式下的数据
|
||
ctrl.renderFilter(alarm);
|
||
|
||
$api.text($api.dom("#pr-name"), alarm.prName);
|
||
|
||
var unit = alarm.unit ? alarm.unit : '';
|
||
|
||
var content = '<div>报警描述:' + alarm.alarmDesc + '</div>';
|
||
|
||
if (alarm.ddNum) {
|
||
content += ("<div>调度号:" + alarm.ddNum + "</div>");
|
||
}
|
||
|
||
if ($api.getStorage('cus')) {
|
||
content = content.replace($api.guestKeysPattern, $api.guestName);
|
||
}
|
||
|
||
if (alarm.varType == "1") { // AI
|
||
var alarmValue = ((alarm.alarmValue || alarm.alarmValue == 0) ? alarm.alarmValue.toFixed(2) : '');
|
||
content += '<div>报警值:' + alarmValue + unit + '</div>';
|
||
content += '<div>报警设定值:' +
|
||
((alarm.lowLimit || alarm.lowLimit == 0) ? "下限 " + alarm.lowLimit + unit : '') +
|
||
((alarm.lowLimit || alarm.lowLimit == 0) && (alarm.topLimit || alarm.topLimit == 0) ? "," : '') +
|
||
((alarm.topLimit || alarm.topLimit == 0) ? "上限 " + alarm.topLimit + unit : '') +
|
||
'</div>';
|
||
} else {
|
||
if (alarm.showValue) {
|
||
content += ('<div>报警值:' + alarm.valueDefine + '</div>')
|
||
}
|
||
}
|
||
|
||
// 处理状态
|
||
content += '<div>处理状态:' + ['未处理', '处理中', '已处理', '已确认'][alarm.handleStatus] + '</div>'
|
||
|
||
// 如果已确认 显示确认的原因
|
||
if (alarm.handleStatus == 3) {
|
||
content += '<div>确认原因:' + alarm.reason + '</div>';
|
||
}
|
||
|
||
// content += '<div>历史报警:' + alarm.historyAlarmCount + '次</div>';
|
||
// content += '<div>历史抢修:' + alarm.historyQxCount + '次</div>';
|
||
var alarmTime = (alarm.alarmTime ? moment(alarm.alarmTime).format("YYYY-MM-DD HH:mm:ss") : "")
|
||
if (alarm.lastAlarmTime) {
|
||
var lastAlarmTime = moment(alarm.lastAlarmTime).format("YYYY-MM-DD HH:mm:ss");
|
||
content += '<div>本次报警时间:' + alarmTime + '</div>';
|
||
content += '<div>上次报警时间:' + lastAlarmTime + '</div>';
|
||
} else {
|
||
content += ('<div>本次报警时间:' + alarmTime + '</div>');
|
||
}
|
||
|
||
$api.html($api.dom("#content-body"), content);
|
||
|
||
|
||
}
|
||
|
||
/**
|
||
* 弹出提示框
|
||
*/
|
||
ctrl.toast = function (msg) {
|
||
api.toast({
|
||
msg: msg,
|
||
duration: 3000,
|
||
locaiton: 'top'
|
||
});
|
||
};
|
||
|
||
// 生成工单
|
||
ctrl.createOrder = function () {
|
||
var url = '/test/gong-dan/alarmTransferToWorkOrder/'
|
||
+ ctrl.employeeId + '/'
|
||
+ ctrl.alarmId;
|
||
|
||
$api.post(url, function(ret, err) {
|
||
if (!err && ret && ret.code == "200") {
|
||
ctrl.toast('生成成功')
|
||
|
||
api.closeWin();
|
||
} else {
|
||
ctrl.toast('生成失败,' + ret.msg)
|
||
}
|
||
})
|
||
};
|
||
|
||
ctrl.init();
|
||
}
|