GUI Code refactor
[vnfsdk/refrepo.git] / openo-portal / portal-performance / src / main / webapp / performance / js / alarmsUtil.js
index c9e1520..91717d4 100644 (file)
-/*
- * Copyright 2016, CMCC Technologies Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var alarmsUtil = {};
-var alarmTemp=[];
-
-alarmsUtil.timeRender = function (obj) {
-       if (obj.aData[obj.mDataProp] == -1 || obj.aData[obj.mDataProp] == 0) {
-               return "";
-       } else {
-               var date = new Date(obj.aData[obj.mDataProp]);
-               return commonUtil.parseDate(date, 'yyyy-MM-dd hh:mm:ss');
-       }
-};
-
-alarmsUtil.LinkRender = function (obj) {
-       return '<a href="">' + obj.aData[obj.mDataProp] + '</a>';
-};
-alarmsUtil.ackState = function (obj) {
-       
-       var innerHtml = "";
-       var ackState = obj.aData.ackState;
-       var alarmId = obj.aData.id;
-       var alarmIdArr = [alarmId];
-       var tableId="\'" + obj.oSettings.sTableId + "\'";
-       var divId="\'" + obj.oSettings.nTableWrapper.parentElement.id + "\'";
-       if (ackState == "1" && vm.ruleType == 1) {
-               innerHtml = "<a class=\"label label-sm label-info\"   onclick=\" alarmsUtil.unaffirm([" + alarmIdArr + "]," + tableId + "," + divId + ","+obj.iDataRow+")  \">Acknowledge</a>";
-       } else if(ackState == "1" && vm.ruleType == 2){
-               innerHtml = "<div class=\"label label-sm label-info\">Acknowledge</div>";
-       } else if(ackState == "2" ){
-               innerHtml = "<a class=\"label label-sm acknow-purple\"    onclick=\" alarmsUtil.affirm([" + alarmIdArr + "]," + tableId + "," + divId + ","+obj.iDataRow+")\">Unacknowledge</a>";
-       } 
-       return innerHtml;
-};
-
-alarmsUtil.Severity = function (obj) {
-
-       var innerHtml = "";
-       var Severity = obj.aData.perceivedSeverity;
-       if (Severity == "1") {
-               innerHtml = "<span style=\"color:#E24949 \"  class=\"ict-alarm \" ></span><sapn  \">Critical</sapn>";
-       } else if (Severity == "2") {
-               innerHtml = "<span style=\"color:#E59313 \" class=\"ict-alarm\" ></span><sapn \">Major</sapn>";
-       } else if (Severity == "3") {
-               innerHtml = "<span style=\"color:#F7E51B \" class=\"ict-alarm\" ></span><sapn  \">Minor</sapn>";
-       } else if (Severity == "4") {
-               innerHtml = "<span style=\"color:#61C2DE \" class=\"ict-alarm\" ></span><sapn \">Warning</sapn>";
-       }
-       return innerHtml;
-
-};
-
-alarmsUtil.operate = function (obj) {
-
-       var alarmId = obj.aData.alarmId;
-       return "<div class='row col-xs-12'><div><a href='#' class=\"btn-xs grey btn-editable\" onclick=\" alarmsUtil.congfirms('" + alarmId + "')\"><i class=\"ict-delete\"></i>清除</a></div></div>";
-
-};
-
-alarmsUtil.congfirms = function (alarmId) {
-
-       bootbox.confirm('你确定要删除该告警吗?', function (result) { //你确定要删除该用户吗?
-
-               if (result) {
-                       var sSource = "/web/rest/web/fm/curalarms?data={\"alarmId\":" + alarmId + "}&_dataSource=isc_PageRestDataSource_0&isc_metaDataPrefix=_&isc_dataFormat=json&_operationType=remove&_componentId=isc_com_zte_ums_aos_fm_view_eventview_table_AlarmTable_0";
-                       $.ajax({
-                               dataType : "json",
-                               type : "DELETE",
-                               //数据格式:[tab标签id,tabItem的名字,图片路径,tabItem的描述,更多的LInk地址]
-                               contentType : 'application/json; charset=utf-8',
-                               url : sSource,
-                               data : null,
-                               async : false,
-                               success : function (msg) {
-                                       setTimeout(function () {
-                                               refreshByCond();
-                                       }, 500);
-                               }
-                       });
-               }
-
-       });
-
-};
-
-alarmsUtil.allOperate = function (obj) {
-
-       var record = obj.aData;
-       var hasModify = commonUtil.hasRigth('uep.pfl.sm.updateuser');
-       var hasDel = commonUtil.hasRigth('uep.pfl.sm.deluser');
-       var selectUsername = new String(record.userName);
-       var innerHtml = "";
-       
-       // 如果有权限,显示操作列
-       if (hasModify) {
-               if (hasDel && selectUsername != "admin") {
-                       innerHtml = "<div class='row col-xs-12'><div class='col-xs-6 modify_user'><a class=\"btn-xs grey btn-editable\" href='#' onclick=\"vm.modifyUser('" + selectUsername + "')\"><i class=\"ict-modify\"></i>修改</a></div><div class='col-xs-6'><a href='#' class=\"btn-xs grey btn-editable\" onclick=\"smUtil.congfirms('" + selectUsername + "')\"><i class=\"ict-delete\"></i>删除</a></div></div>";
-               } else {
-                       innerHtml = "<div class='row col-xs-12'><div class='col-xs-6 modify_user'><a class=\"btn-xs grey btn-editable\" href='#' onclick=\"vm.modifyUser('" + selectUsername + "')\"><i class=\"ict-modify\"></i>修改</a></div>";
-               }
-       }
-
-       return innerHtml;
-
-};
-
-alarmsUtil.refresh = function () {
-
-       refreshByCond();
-
-}
-
-/*
-
-1.确认
-
-2.反确认
-
- */
-
-alarmsUtil.loopAffirm = function (type) {
-
-       var checkArr = $('#ict_alarms_table_div .details-check input[type="checkbox"]');
-       var aidArr = [];
-       for (var i = 0; i < checkArr.length; i++) {
-               if($(checkArr[i]).prop("checked")){
-                       if ($(checkArr[i]).attr('alarmId') != 'undefined' && $(checkArr[i]).attr('alarmId') != null) {
-                               aidArr.push($(checkArr[i]).attr('alarmId'));
-                       }
-               }
-       }
-
-       if (type == "1" && aidArr.length > 0) {
-               alarmsUtil.affirm(aidArr);
-       } else if (type == "2" && aidArr.length > 0) {
-               alarmsUtil.unaffirm(aidArr);
-       }
-
-}
-
-/*
-
-
-
- */
-
-alarmsUtil.loopDelAralms = function () {
-
-       var checkArr = $('#ict_alarms_table_div .details-check input[type="checkbox"]');
-       var aidArr = [];
-       for (var i = 0; i < checkArr.length; i++) {
-               if($(checkArr[i]).prop("checked")){
-                       if ($(checkArr[i]).attr('alarmId') != 'undefined' && $(checkArr[i]).attr('alarmId') != null) {
-                               aidArr.push($(checkArr[i]).attr('alarmId'));
-                       }
-               }
-       }
-
-       if (aidArr.length > 0) {
-               bootbox.confirm('Are you sure to delete alarm(s)', function (result) { 
-                       if (result) {
-                               var sSource = "/openoapi/umc/v1/fm/curalarms?request={\"ids\":["+ aidArr +"]}";
-                               $.ajax({
-                                       type : "DELETE", 
-                                       dataType : "json",
-                                       contentType : 'application/json; charset=utf-8',
-                                       url : sSource,
-                                       data : null,
-                                       async : false,
-                                       success : function (msg) {
-                                               setTimeout(function () {
-                                                       refreshByCond()
-                                               }, 500);
-                                       }
-                               });
-                       }
-               });
-       }
-}
-
-alarmsUtil.affirm = function (alarmIdArr,tableId,divId) {
-
-       var getData = {};
-       var request = {};
-       request.ids=[];
-       for(i=0;i<alarmIdArr.length;i++){
-               request.ids.push(alarmIdArr[i]);
-       }
-       var url = "";
-       if (vm.ruleType == 1) { //当前告警
-               request.ackState=1;
-               getData.request = JSON.stringify(request);
-               url = "/openoapi/umc/v1/fm/curalarms";
-       } else { //历史告警
-               url = "/ngict/rest/fm/hisalarms"
-       }
-
-       $.ajax({
-               type : "PUT",
-               contentType : 'application/json; charset=utf-8',
-               url : url + "?" + "request=" + JSON.stringify(request),
-               async : false,
-               success : function (msg) {
-                       setTimeout(function () {
-                               refreshByCond(tableId,divId);
-                       }, 100);
-               },      
-               error : function(msg){
-                       setTimeout(function () {
-                               refreshByCond(tableId,divId);
-                       }, 100);        
-               }
-       });
-
-}
-
-alarmsUtil.unaffirm = function (alarmIdArr,tableId,divId) {
-
-       var getData = {};
-       var request = {};
-       request.ids=[];
-       for(i=0;i<alarmIdArr.length;i++){
-               request.ids.push(alarmIdArr[i]);
-       }
-       request.ackState=2;
-       getData.request = JSON.stringify(request);
-       var url = "";
-       if (vm.ruleType == 1) { //当前告警
-               url = "/openoapi/umc/v1/fm/curalarms";
-               $.ajax({
-                       "type" : "PUT",
-                       "contentType" : 'application/json; charset=utf-8',
-                       "url" : url + "?request=" + JSON.stringify(request),
-                       async : false,
-                       success : function (msg) {
-                               setTimeout(function () {
-                                       refreshByCond(tableId,divId);
-                               }, 100);
-                       },
-                       error : function(msg){          
-                               setTimeout(function () {
-                                       refreshByCond(tableId,divId);
-                               }, 100);                
-                       }
-               });
-       } 
-
-       
-       
-}
-
-alarmsUtil.checkBox = function (obj) {
-
-       var alarmId = obj.aData.id;
-       var innerHtml = '<input type="checkbox" alarmId="' + alarmId + '"/> ';
-       return innerHtml;
-}
-
-//初始化告警码树
-alarmsUtil.initProbableCausesTree = function () {
-       //zTree设置
-       var setting = {
-               view : {
-                       selectedMulti : false, //设置是否可以同时选中多个借点。
-                       showIcon : true, //不显示图标
-                       showLine : false, //是否显示节点之间的连线
-               },
-               data : {
-                       simpleData : {
-                               enable : true //如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。
-                       }
-               },
-               callback : {
-                       onExpand : zTreeOnExpand, //每次节点展开后触发的事件。
-                       onCollapse : zTreeOnCollapse,
-                       //onClick: zTreeOnClick
-               }
-       };
-       var probableCausesNodes;
-       
-       //获取告警码树数据
-       getProbableCausesTreeNodes("");
-       //创建告警码树
-       $.fn.zTree.init($("#probableCausesTree"), setting, probableCausesNodes);
-       //获取所有现有的tree节点
-       var treeObj = $.fn.zTree.getZTreeObj("probableCausesTree");
-       initDataAtTree();
-       function initDataAtTree(){
-               getAllNodesWithoutTypeEqual2("")                
-       };
-       
-       function getAllNodesWithoutTypeEqual2(parentId){
-               var treeNodes=treeObj.getNodesByParam("parentId", parentId, null);
-               for(var i=0;i<treeNodes.length;i++){
-                       if(treeNodes[i].type===0){
-                               getProbableCausesTreeNodes(treeNodes[i].id);
-                               addNodesToTree(treeNodes[i],"probableCausesTree");
-                               getAllNodesWithoutTypeEqual2(treeNodes[i].id);
-                       }
-               }
-       }
-
-       function zTreeOnExpand(event, treeId, treeNode) {
-               var childrenNodes = treeNode.children;
-               if (!childrenNodes) { //当没有子节点的时候才加载,否则会重复加载。
-                       getProbableCausesTreeNodes(treeNode.id);
-                       addNodesToTree(treeNode,treeId);
-               }
-       };
-       
-       function addNodesToTree(treeNode, treeId) {
-               var obj = $.fn.zTree.getZTreeObj(treeId);
-               var node=obj.getNodeByParam("id", treeNode.id, null)
-               obj.addNodes(node, probableCausesNodes);
-       };
-
-       function zTreeOnCollapse(event, treeId, treeNode) {};
-
-       //告警信息中的type为0、1是父节点,2为子节点
-       function isParentNode(type) {
-               if (type != 2)
-                       return true;
-               else
-                       return false;
-       };
-       
-       function constructProblemCauseName(node){
-               if(node.type===0){
-                       return node.desc;
-               }else{
-                       return node.desc + "(" + node.value + ")";
-               }
-       }
-
-       function getProbableCausesTreeNodes(alarmCodeParentId) {
-               probableCausesNodes = new Array();
-               var getData = {};
-               var request = {};
-               request.parentId = alarmCodeParentId;
-               getData.request = JSON.stringify(request);
-               $.ajax({
-                       async : false,
-                       "dataType" : 'json',
-                       "type" : "GET",
-                       "url" : "/openoapi/umc/v1/fm/probablecausestree",
-                       "data" : getData,
-                       "contentType" : 'application/json; charset=utf-8',
-                       "success" : function (res, textStatus, jqXHR) {
-                               var nodes = res;
-                               chkDisabled = false;
-                               if (nodes) {
-                                       for (var i = 0; i < nodes.length; i++) {
-                                               probableCausesNodes.push({
-                                                       id : nodes[i].id,
-                                                       pId : nodes[i].parentId,
-                                                       name : constructProblemCauseName(nodes[i]),
-                                                       chkDisabled : false,
-                                                       isParent : isParentNode(nodes[i].type),
-                                                       parentId : alarmCodeParentId,//treenode节点
-                                                       codeId : nodes[i].value,
-                                                       type : nodes[i].type
-                                               });
-                                       }
-                               }
-                       },
-                       "error" : function () {}
-               });
-       }
-}
-
-//初始化位置树
-alarmsUtil.initDeptTree = function () {
-       //zTree设置
-       var setting = {
-               view : {
-                       selectedMulti : false, //设置是否可以同时选中多个借点。
-                       showIcon : true, //不显示图标
-                       showLine : false, //是否显示节点之间的连线
-               },
-               data : {
-                       simpleData : {
-                               enable : true //如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。
-                       }
-               },
-               callback : {
-                       onExpand : zTreeOnExpand, //每次节点展开后触发的事件。
-                       onCollapse : zTreeOnCollapse,
-                       //onClick: zTreeOnClick
-               }
-       };
-       var zNodes = [];
-       initDeptTree();
-       function initDeptTree() {
-               zNodes.push({
-                       id:"VDU",
-                       name:"VDU",
-                       isParent:true
-               },
-               {
-                       id:"HOST",
-                       name:"HOST",
-                       isParent:true
-               });
-               $.fn.zTree.init($("#deptTree"), setting, zNodes);
-               zNodes=[];
-       }
-       function getDeptTreeNode(alarmCodeParentId) {
-               if(alarmCodeParentId === "VDU"){
-                       url="/api/roc/v1/resource/vdus";
-               }else if(alarmCodeParentId === "HOST"){
-                       url="/api/roc/v1/resource/hosts";
-               }
-               $.ajax({
-                       async : false,
-                       "dataType" : 'json',
-                       "type" : "GET",
-                       "url" : url,
-                       "contentType" : 'application/json; charset=utf-8',
-                       "success" : function (res, textStatus, jqXHR) {
-                               var nodes = res.data;
-                               if (nodes) {
-                                       for (var i = 0; i < nodes.length; i++) {
-                                               zNodes.push({
-                                                       id : nodes[i].oid,
-                                                       parentId : alarmCodeParentId,//treenode节点
-                                                       name : nodes[i].name,
-                                                       isParent : false,
-                                                       oid:nodes[i].oid
-                                               });
-                                       }
-                               }
-                       },
-                       "error" : function () {}
-               });
-       }
-       function zTreeOnExpand(event, treeId, treeNode) {
-               getDeptTreeNode(treeNode.id);
-               addNodesToTree(treeNode,treeId);
-               zNodes=[];
-       };
-       function addNodesToTree(treeNode, treeId) {
-               var obj = $.fn.zTree.getZTreeObj(treeId);
-               var node=obj.getNodeByParam("id", treeNode.id, null)
-               obj.addNodes(node, zNodes);
-       };
-       function zTreeOnCollapse(event, treeId, treeNode) {};
-}
-
-//初始化所有的树
-alarmsUtil.initTree = function () {
-       //初始化告警码树和告警位置树
-       alarmsUtil.initProbableCausesTree();
-       alarmsUtil.initDeptTree();
-       
-       function initFormData(ruleType) {
-
-               $("#confirmAction").hide();
-               $("#filterType").hide();
-               $("#action").hide();
-               if (ruleType == "alarmFilter") {
-                       $("#filterType").show();
-               } else if (ruleType == "ack") {
-                       $("#confirmAction").show();
-               } else if (ruleType == "forward") {
-                       $("#action").show();
-               }
-
-       }
-
-       function getNumbers(rule) {
-
-               for (var i = 0; i < textValues.length; i++) {
-                       rule[textValues[i]] = $("input[name='" + textValues[i] + "']").val();
-               }
-
-       }
-
-       function getCheckboxs(rule) {
-
-               for (var i = 0; i < else_checkboxNames.length; i++) {
-                       rule[else_checkboxNames[i]] = $("input[name='" + else_checkboxNames[i] + "']").parent().hasClass('checked');
-               }
-               for (var item in checkboxNames_pair_spinnerIds) {
-                       rule[item] = $('#' + checkboxNames_pair_spinnerIds[item]).val();
-               }
-       }
-
-       function setCheckboxs(rule) {
-
-               for (var item in checkboxNames_pair_spinnerIds) {
-                       var value = 0;
-                       if (rule != "") {
-                               value = rule[item];
-                       }
-                       $('#' + item).val(value);
-                       setSpinnerIsEnable(item, value);
-               }
-               for (var i = 0; i < else_checkboxNames.length; i++) {
-                       $("input[name='" + else_checkboxNames[i] + "']").parent().iCheck(rule[else_checkboxNames[i]] ? 'check' : 'uncheck');
-               }
-       }
-}
-
-alarmsUtil.moveNode = function (item) {
-       if (item.hasClass("ict-arrowRight")) {
-               alarmsUtil.rightNode(item);
-       } else if (item.hasClass("ict-arrowLeft")) {
-               alarmsUtil.leftNode(item);
-       } else {
-               alarmsUtil.removeAll(item);
-       }
-}
-
-/*树添加信息到右侧的功能*/
-
-alarmsUtil.rightNode = function (item) {
-
-       var selecedNodeIds = [];
-       var treeType = item.attr('treeType');
-       var obj = $.fn.zTree.getZTreeObj(treeType);
-       var treeNodes = obj.getSelectedNodes();
-       var $table;
-
-       if (treeType == "deptTree") {
-               var $tds = $("#selectedDeptTreeTable  td");
-               $table = $("#selectedDeptTreeTable");
-               for (var i = 0; i < $tds.length; i++) {
-                       selecedNodeIds.push($tds.eq(i).attr('nodeid'));
-               }
-       } else if (treeType == "probableCausesTree") {
-               var $tds = $("#selectedProbableCausesTreeTable  td");
-               $table = $("#selectedProbableCausesTreeTable");
-               for (var i = 0; i < $tds.length; i++) {
-                       var systemTypeAndProbableCause={};
-                       systemTypeAndProbableCause.codeId=$tds.eq(i).attr('codeId');
-                       systemTypeAndProbableCause.parentid=$tds.eq(i).attr('parentid');
-                       systemTypeAndProbableCause.type=$tds.eq(i).attr('type');
-                       selecedNodeIds.push(systemTypeAndProbableCause);
-               }
-       }
-       
-       //树上被选中的元素
-       for (var i = 0; i < treeNodes.length; i++) {
-
-               var htmlStr = "";
-               var text = treeNodes[i].name;
-               var id = treeNodes[i].id;
-               var codeId = treeNodes[i].codeId;
-               var type;
-               var parentId;
-               if (treeType == "deptTree") {
-                       var oid = treeNodes[i].oid;
-                       htmlStr = "<tr><td nodeId=" + id + "  oid=" + oid + "  >" + text + "</td></tr>";
-               } else if (treeType == "probableCausesTree") {
-
-                       parentId = treeNodes[i].parentId;
-                       type = treeNodes[i].type;
-                       htmlStr = "<tr><td codeId=" + codeId + "  parentId=" + parentId + " type=" + type + "  >" + text + "</td></tr>";
-               }
-               
-               if(treeType == "probableCausesTree"){
-                       if(treeNodes[i].type === 2){
-                               for(i=0;i<selecedNodeIds.length;i++){
-                                       if(selecedNodeIds[i].codeId === codeId || selecedNodeIds[i].codeId === parentId){
-                                               bootbox.alert("此节点(子树)或其父子树已经被添加!", function () {});
-                                               return;
-                                       }
-                               }
-                       }else if(treeNodes[i].type === 1){
-                               $('#selectedProbableCausesTreeTable [parentid='+codeId+']').remove();
-                               for(i=0;i<selecedNodeIds.length;i++){
-                                       if(selecedNodeIds[i].codeId === codeId ){
-                                               bootbox.alert("此节点(子树)或其父子树已经被添加!", function () {});
-                                               return;
-                                       }
-                               }
-                       }else if(treeNodes[i].type === 0){
-                               bootbox.alert("不支持添加MOC", function () {});
-                               break;
-                       }
-               }
-
-               $table.append(htmlStr);
-
-       }
-
-       $('#selectedDeptTreeTable td').on("click", function () {
-
-               //获得所有选择的td
-               var $tds = $('#selectedDeptTree td');
-               //遍历改变样式
-               for (var i = 0; i < $tds.length; i++) {
-                       $tds.eq(i).removeClass('tallCellSelected');
-                       $tds.eq(i).parent().removeClass('checked');
-               }
-               //当前td设为选中
-               $(this).addClass('tallCellSelected');
-               $(this).parent().addClass("checked"); //tr 添加一个 checked 样式。
-       });
-
-       $('#selectedProbableCausesTreeTable td').on("click", function () {
-
-               //获得所有选择的td
-               var $tds = $('#selectedProbableCausesTreeTable td');
-               //遍历改变样式
-               for (var i = 0; i < $tds.length; i++) {
-                       $tds.eq(i).removeClass('tallCellSelected');
-                       $tds.eq(i).parent().removeClass('checked');
-               }
-               //当前td设为选中
-               $(this).addClass('tallCellSelected');
-               $(this).parent().addClass("checked"); //tr 添加一个 checked 样式。
-       });
-
-}
-
-
-
-alarmsUtil.leftNode = function (item) {
-
-       var treeType = item.attr('treeType');
-       if (treeType == "deptTree") {
-               $('#selectedDeptTreeTable').children().children(".checked").remove();
-       } else if (treeType == "probableCausesTree") {
-               $('#selectedProbableCausesTreeTable').children().children(".checked").remove();
-       }
-
-}
-
-alarmsUtil.removeAll = function (item) {
-
-       var treeType = item.attr('treeType');
-       if (treeType == "deptTree") { //如果是资源树
-               $('#selectedDeptTreeTable').children().remove();
-       } else if (treeType == "probableCausesTree") {
-               $('#selectedProbableCausesTreeTable').children().remove();
-       }
-}
-
-
-
-
-
-//调用datarangepicker组件 datarange 初始化
-
-alarmsUtil.setDateRange = function (dataRangeId, vm) {
-
-       var open = 'right';
-       var optionSet1 = {
-               startDate : "2015-08-02",
-               endDate : "2015-08-03",
-               format : 'YYYY-MM-DD h:mm A',
-               dateLimit : {
-                       days : 180
-               },
-               showWeekNumbers : false,
-               timePicker : true,
-               timePickerIncrement : 5,
-               opens : open,
-               separator : ' - ',
-               locale : {
-                       applyLabel : $.i18n.prop('ngict_fm_iui_curalarm_ok'),
-                       cancelLabel : $.i18n.prop('ngict_fm_iui_curalarm_cancel'),
-                       fromLabel : $.i18n.prop('ngict_fm_iui_curalarm_from'),
-                       toLabel : $.i18n.prop('ngict_fm_iui_curalarm_to'),
-                       daysOfWeek : [
-                               $.i18n.prop('ngict_fm_iui_curalarm_Sun'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Mon'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Tues'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Wed'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Thurs'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Fri'),
-                               $.i18n.prop('ngict_fm_iui_curalarm_Sat')
-                               ],
-                       monthNames : [$.i18n.prop('ngict_fm_iui_curalarm_January'), $.i18n.prop('ngict_fm_iui_curalarm_February'), $.i18n.prop('ngict_fm_iui_curalarm_March'), $.i18n.prop('ngict_fm_iui_curalarm_April'), $.i18n.prop('ngict_fm_iui_curalarm_May'), $.i18n.prop('ngict_fm_iui_curalarm_June'), $.i18n.prop('ngict_fm_iui_curalarm_July'), $.i18n.prop('ngict_fm_iui_curalarm_August'), $.i18n.prop('ngict_fm_iui_curalarm_September'), $.i18n.prop('ngict_fm_iui_curalarm_October'), $.i18n.prop('ngict_fm_iui_curalarm_November'), $.i18n.prop('ngict_fm_iui_curalarm_December')],
-                       firstDay : 1
-               }
-       };
-
-       //datarangepicker确认
-       $('input[id="' + dataRangeId + '"]').bind('apply.daterangepicker', function () {
-               //获取时间范围,查询
-               // 都设置为0点
-               setTime($(this));
-               // 更新tooltip内容
-               $(this).attr("data-original-title", $(this).val());
-       });
-
-       $('input[id="' + dataRangeId + '"]').daterangepicker(optionSet1);
-
-};
-
-//关闭打开datarangepicker选择器
-alarmsUtil.dateRangeEnableDisable = function (customDateRangeId) {
-
-       $('#' + customDateRangeId).on('ifChecked', function () {
-
-               if (customDateRangeId == "customAckTime") {
-                       vm.dataRangeLocationDisabled = false;
-                       if(vm.fmConds.ackTimeStarTime!=null && vm.fmConds.ackTimeEndTime!=null){
-                               vm.fmConds.ackTimeMode=0;
-                       }
-               } else if (customDateRangeId == "customRaisedTime") {
-                       vm.dataRangeTypeDisabled = false;
-                       if(vm.fmConds.alarmRaisedStartTime!=null && vm.fmConds.alarmRaisedEndTime!=null){
-                               vm.fmConds.alarmRaisedTimeMode=0;
-                       }
-               } else if (customDateRangeId == "customClearTime"){
-                       vm.dataRangeCodeDisabled = false;
-                       if(vm.fmConds.clearedTimeStartTime!=null && vm.fmConds.clearedTimeEndTime!=null){
-                               vm.fmConds.clearedTimeMode=0;
-                       }
-               }
-       });
-       //setTime($('#' + dataRangeId));
-
-       $('#' + customDateRangeId).on('ifUnchecked', function () {
-
-               if (customDateRangeId == "customAckTime") {
-
-                       vm.dataRangeLocationDisabled = true;
-                       vm.fmConds.ackTimeMode=null;
-
-               } else if (customDateRangeId == "customRaisedTime") {
-
-                       vm.dataRangeTypeDisabled = true;
-                       vm.fmConds.alarmRaisedTimeMode=null;
-                       
-               } else if (customDateRangeId == "customClearTime"){
-               
-                       vm.dataRangeCodeDisabled = true;
-                       vm.fmConds.clearedTimeMode=null;
-                       
-               }
-       });
-
-}
-
-//checkbox时间选择
-alarmsUtil.dateRangeCustom = function (vm) {
-
-       $("input[name=timeConfirm]").on("ifClicked", function () {
-               if ($(this).parent().hasClass("checked")) {
-                       $(this).iCheck('uncheck');
-               }
-       });
-
-       $("input[name=timeOccur]").on("ifClicked", function () {
-               if ($(this).parent().hasClass("checked")) {
-                       $(this).iCheck('uncheck');
-               }
-       });
-
-       $("input[name=timeClear]").on("ifClicked", function () {
-               if ($(this).parent().hasClass("checked")) {
-                       $(this).iCheck('uncheck');
-               }
-       });
-
-       $("input[cond_id=time]").on('ifChecked', function () {
-
-               var nowTime = (new Date()).toLocaleDateString();
-               var condDate = $(this).attr("cond_value");
-
-               if ($(this).attr("name") == "timeConfirm") {
-                       if (condDate == "1") {
-                               vm.fmConds.ackRelativeTime = 1 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.ackTimeMode = 1;
-                       } else if (condDate == "2") {
-                               vm.fmConds.ackRelativeTime = 2 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.ackTimeMode = 1;
-                       } else if (condDate == "7") {
-                               vm.fmConds.ackRelativeTime = 7 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.ackTimeMode = 1;
-                       }
-               }
-
-               if ($(this).attr("name") == "timeOccur") {
-                       if (condDate == "1") {
-                               vm.fmConds.alarmRaisedRelativeTime = 1 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.alarmRaisedTimeMode = 1;
-                       } else if (condDate == "2") {
-                               vm.fmConds.alarmRaisedRelativeTime = 2 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.alarmRaisedTimeMode = 1;
-                       } else if (condDate == "7") {
-                               vm.fmConds.alarmRaisedRelativeTime = 7 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.alarmRaisedTimeMode = 1;
-                       }
-               }
-
-               if ($(this).attr("name") == "timeClear") {
-                       if (condDate == "1") {
-                               vm.fmConds.clearedTimeRelativeTime =1 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.clearedTimeMode = 1;
-                       } else if (condDate == "2") {
-                               vm.fmConds.clearedTimeRelativeTime =2 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.clearedTimeMode = 1;
-                       } else if (condDate == "7") {
-                               vm.fmConds.clearedTimeRelativeTime =7 * 24 * 60 * 60 * 1000;
-                               vm.fmConds.clearedTimeMode = 1;
-                       }
-               }
-
-               //refreshByCond();
-       });
-       
-       $("input[cond_id=time]").on('ifUnchecked', function () {
-               if ($(this).attr("name") == "timeConfirm") {
-                       vm.fmConds.ackRelativeTime = null;
-                       vm.fmConds.ackTimeMode = null;
-               }else if ($(this).attr("name") == "timeOccur") {
-                       vm.fmConds.alarmRaisedRelativeTime = null;
-                       vm.fmConds.alarmRaisedTimeMode = null;
-               }else if ($(this).attr("name") == "timeClear") {
-                       vm.fmConds.clearedTimeRelativeTime = null;
-                       vm.fmConds.clearedTimeMode = null;
-               }
-       });
-
-}
-
-
-/*格式化日期*/
-Date.prototype.format = function (format) {
-
-       /*
-
-        * format="yyyy-MM-dd hh:mm:ss";
-
-        */
-       var o = {
-               "M+" : this.getMonth() + 1,
-               "d+" : this.getDate(),
-               "h+" : this.getHours(),
-               "m+" : this.getMinutes(),
-               "s+" : this.getSeconds(),
-               "q+" : Math.floor((this.getMonth() + 3) / 3),
-               "S" : this.getMilliseconds()
-       }
-       if (/(y+)/.test(format)) {
-               format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4
-                                        - RegExp.$1.length));
-       }
-       for (var k in o) {
-               if (new RegExp("(" + k + ")").test(format)) {
-                       format = format.replace(RegExp.$1, RegExp.$1.length == 1
-                                        ? o[k]
-                                        : ("00" + o[k]).substr(("" + o[k]).length));
-               }
-       }
-       return format;
-
-}
-
-//daterangepicker设置时间
-function setTime($obj) {
-
-       var title = $obj.attr('dtitle');
-       var arr = $obj.val().split(' - ');
-       //排除日历组件空字符串的情况。
-       if (arr[0] != '') {
-               var starTime = new Date(arr[0].replace(/-/g, "/")).getTime();
-               var endTime = new Date(arr[1].replace(/-/g, "/")).getTime();
-               if (title == "ackTime") {
-                       vm.fmConds.ackTimeStarTime = starTime;
-                       vm.fmConds.ackTimeEndTime = endTime;
-                       vm.fmConds.ackTimeMode=0;
-               } else if (title == "raisedTime") {
-                       vm.fmConds.alarmRaisedStartTime = starTime;
-                       vm.fmConds.alarmRaisedEndTime = endTime;
-                       vm.fmConds.alarmRaisedTimeMode=0;
-               } else if (title == "clearTime") {
-                       vm.fmConds.clearedTimeStartTime = starTime;
-                       vm.fmConds.clearedTimeEndTime = endTime;
-                       vm.fmConds.clearedTimeMode=0;
-               }
-       }
-}
-
-/*
-@param type 1 day 2 week  3 month  4 year
- */
-function reduceDate(date, val, type) {
-
-       var d = new Date(date);
-       if (type == 'day') {
-               d.setDate(d.getDate() - val);
-       } else if (type == 'week') {
-               d.setDate(d.getDate() - val * 7);
-       } else if (type == 'month') {
-               d.setMonth(d.getMonth() - val);
-       } else if (type == 'year') {
-               d.setFullYear(d.getFullYear() - val);
-       }
-       var month = d.getMonth() + 1;
-       var day = d.getDate();
-       if (month < 10) {
-               month = "0" + month;
-       }
-       if (day < 10) {
-               day = "0" + day;
-       }
-       var val = d.getFullYear() + "-" + month + "-" + day;
-       return val;
-}
-
-alarmsUtil.condSave = function (cond, saveUrl, name) {
-
-       var conds = [];
-       if (cond.severity != null && cond.severity != "undefined" && cond.severity.length > 0) {
-               var severity = '{ "type": "Severity", "data": [{"severity": "' + cond.severity + '"}]}'; //级别
-               var severityObj = window.JSON.parse(severity)
-                       conds.push(severityObj);
-       }
-       if (cond.ackState != null && cond.ackState != "undefined") {
-               var ackState = '{ "type": "AckState", "data": [{"ackState": "' + cond.ackState + '"}]}'; //级别
-               var ackStateObj = window.JSON.parse(ackState)
-                       conds.push(ackStateObj);
-       }
-       if (cond.filterState != null && cond.filterState != "undefined") {
-               var filterState = '{ "type": "FilterState", "data": [{"filterState": "' + cond.filterState + '"}]}'; //级别
-               var filterStateObj = window.JSON.parse(filterState)
-                       conds.push(filterStateObj);
-       }
-
-       if (cond.ackTimeStarTime != null && cond.ackTimeStarTime != "undefined") {
-               var ackTime = '{ "type": "AckTime", "data": [{"mode":"0","start":"' + cond.ackTimeStarTime + '","end":"' + cond.ackTimeEndTime + '" }]}'; //级别
-               var ackTimeObj = window.JSON.parse(ackTime)
-                       conds.push(ackTimeObj);
-       }
-       if (cond.alarmRaisedStartTime != null && cond.alarmRaisedStartTime != "undefined") {
-               var alarmRaisedTime = '{ "type": "RaisedTime", "data": [{"mode":"0","start":"' + cond.alarmRaisedStartTime + '","end":"' + cond.alarmRaisedEndTime + '" }]}'; //级别
-               var alarmRaisedTimeObj = window.JSON.parse(alarmRaisedTime)
-                       conds.push(alarmRaisedTimeObj);
-       }
-
-       if (cond.clearedTimeStarTime != null && cond.clearedTimeStarTime != "undefined") {
-               var clearedTime = '{ "type": "ClearedTime", "data": [{"mode":"0","start":"' + cond.clearedTimeStarTime + '","end":"' + cond.clearedTimeEndime + '" }]}'; //级别
-               var severityObj = window.JSON.parse(clearedTime)
-                       conds.push(severityObj);
-       }
-       var resJsonObj = AlarmConds.parseActiveConds2JSon(conds);
-       resJsonObj.rule.name = name;
-       resJsonObj.rule.ruleType = vm.ruleType;
-       var resStr = window.JSON.stringify(resJsonObj);
-       var dataSource = "isc_AosRestDataSource_1";
-       var operationType = "add";
-       var data1 = {
-               dataSource : dataSource,
-               operationType : operationType,
-               data : resJsonObj,
-               oldValues : null
-       };
-       $.ajax({
-               dataType : "json",
-               type : "POST",
-               contentType : 'application/json; charset=utf-8',
-               url : saveUrl,
-               data : JSON.stringify(data1),
-               async : false,
-               success : function (msg) {
-                       $('#saveModalCancle').trigger("click");
-               }
-       });
-
-}
-
-Array.prototype.contains = function (item) {
-       return RegExp("(^|,)" + item.toString() + "($|,)").test(this);
-};
-
-/*
-@param  alarmsType  1当前告警  2历史告警
-@param  condRuleId  查询条件的RuleId
- */
-alarmsUtil.queryByParma = function (alarmsType, condRuleId) {
-
-       //1.判断是当前告警还是历史告警。
-
-       var sourceUrl;
-       if (alarmsType == 1) { //当前告警
-               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":1,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';
-               vm.ruleType = 1;
-               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/curalarms";
-               vm.curalarmsType = "curalarms";
-               vm.showClear = true; //清除按钮
-
-       } else if(alarmsType == 2){ //历史告警
-
-               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":2,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';
-               vm.ruleType = 2;
-               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/hisalarms";
-               vm.hisalarmsType = "hisalarms";
-               vm.showClear = false; //清除按钮
-       }else if(alarmsType == 3){ //通知
-               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":2,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';
-               vm.ruleType = 3;
-               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/notify";
-               vm.notificationType = "notification";
-               vm.showClear = false; //清除按钮
-       }
-
-       //如果没传condRuleId 直接返回
-       if (condRuleId == null || condRuleId == "undefined") {
-               return;
-       }
-
-       //2.取出告警规则的数据。
-
-       $.ajax({
-               type : "get",
-               data : null,
-               url : sourceUrl,
-               async : false,
-               success : function (msg) {
-                       //1.遍历返回的条件数组确定是哪一个rule规则。
-                       var ruleCondArr = msg.response.data;
-                       var xmlData = "";
-                       for (var i = 0; i < ruleCondArr.length; i++) {
-                               if (ruleCondArr[i].ruleId == condRuleId) { //condRuleId
-                                       xmlData = "<xml>" + ruleCondArr[i].ruleData + "</xml>" //在jQuery裡,如果要直接将字串转成XML物件,记得前后方要加上<xml>及</xml>,才会被当成XML处理;
-                                               break;
-                               }
-                       };
-
-                       //3.解析数据的xml联动页面的组件。
-                       $(xmlData).find("CompoundCond").each(function () {
-                               //1.级别
-                               for (var i = 0; i < vm.severityTypes.length; i++) {
-                                       vm.severityTypes[i].value = false;
-                               }
-                               if ($(this).find("PerceivedSeverity").attr('value') != null && $(this).find("PerceivedSeverity ").attr('value') != 'undefined') {
-                                       var perceivedSeverityArr = $(this).find("PerceivedSeverity ").attr('value').split(',');
-                                       for (var i = 0; i < perceivedSeverityArr.length; i++) {
-                                               if (perceivedSeverityArr.contains(vm.severityTypes[i].id)) {
-                                                       vm.severityTypes[i].value = true;
-                                               }
-                                       };
-                               }
-
-                               //2.确认状态
-                               for (var i = 0; i < vm.ackStateTypes.length; i++) {
-                                       vm.ackStateTypes[i].value = false;
-                               };
-                               var ackStateV = $(this).find("AckState").attr('value');
-                               if (ackStateV != null && ackStateV != "undefined") {
-                                       var ackStateArr = ackStateV.split(',');
-                                       for (var i = 0; i < vm.ackStateTypes.length; i++) {
-                                               if (ackStateArr.contains(vm.ackStateTypes[i].id)) {
-                                                       vm.ackStateTypes[i].value = true;
-                                               }
-                                       };
-                               }
-
-                               //3.可见性
-                               if(vm.ruleType === 1){
-                                       for (var i = 0; i < vm.filterStateTypes.length; i++) {
-                                                       vm.filterStateTypes[i].value = false;
-                                               };
-                                       var filterStateV = $(this).find("FilterState").attr('value')
-                                               if (filterStateV != null && filterStateV != "undefined") {
-                                                       var filterStateArr = filterStateV.split(',');
-                                                       for (var i = 0; i < vm.filterStateTypes.length; i++) {
-                                                               if (filterStateArr.contains(vm.filterStateTypes[i].id)) {
-                                                                       vm.filterStateTypes[i].value = true;
-                                                               }
-                                                       };
-                                               }
-                               }
-                                       //4.确认时间
-
-                               var dataRangeAck = $('input[dtitle="ackTime"]'); //日历组件
-                               vm.fmConds.ackTimeStarTime = null;
-                               vm.fmConds.ackTimeEndTime = null;
-                               dataRangeAck.val('');
-                               var ackTimeStartMs = $(this).find("AckTime").attr('start');
-                               var ackTimeEndMs = $(this).find("AckTime").attr('end');
-                               if (ackTimeStartMs != null && ackTimeStartMs != "undefined" && ackTimeEndMs != null && ackTimeEndMs != "undefined") {
-                                       vm.fmConds.ackTimeStarTime = ackTimeStartMs; //确认时间
-                                       vm.fmConds.ackTimeEndTime = ackTimeEndMs;
-                                       var ackTimeStarTime = new Date(parseInt(ackTimeStartMs)).format('yyyy-MM-dd');
-                                       var ackTimeEndTime = new Date(parseInt(ackTimeEndMs)).format('yyyy-MM-dd');
-                                       dataRangeAck.val(ackTimeStarTime + ' - ' + ackTimeEndTime);
-                               }
-
-                               //5.发生时间
-                               vm.fmConds.alarmRaisedStartTime = null;
-                               vm.fmConds.alarmRaisedEndTime = null;
-                               var dataRangeRaised = $('input[dtitle="raisedTime"]'); //日历组件
-                               dataRangeRaised.val('');
-                               var raisedTimeStartMs = $(this).find("RaisedTime").attr('start');
-                               var raisedTimeEndMs = $(this).find("RaisedTime").attr('end');
-                               if (raisedTimeStartMs != null && raisedTimeStartMs != "undefined" && raisedTimeEndMs != null && raisedTimeEndMs != "undefined") {
-                                       vm.fmConds.alarmRaisedStartTime = raisedTimeStartMs; //发生时间
-                                       vm.fmConds.alarmRaisedEndTime = raisedTimeEndMs;
-                                       var raisedTimeStart = new Date(parseInt(raisedTimeStartMs)).format('yyyy-MM-dd');
-                                       var raisedTimeEnd = new Date(parseInt(raisedTimeEndMs)).format('yyyy-MM-dd');
-                                       dataRangeRaised.val(raisedTimeStart + ' - ' + raisedTimeEnd);
-                               }
-
-                               //6.清除时间
-
-
-                               //7.告警码
-
-                               vm.fmConds.probableCause = null;
-                               var probableCauseArr = $(this).find("ProbableCause").attr('value');
-                               if (probableCauseArr != null && probableCauseArr != "undefined") {
-                                       for (var i = 0; i < probableCauseArr.length; i++) {
-                                               vm.fmConds.probableCause = probableCauseArr;
-                                               // 联动
-                                       };
-                               }
-
-                               //8.告警位置
-                               vm.fmConds.probableCause = null;
-                               var newPositionCondArr = $(this).find("NewPositionCond").attr('value');
-                               if (newPositionCondArr != null && newPositionCondArr != "undefined")
-                                       for (var i = 0; i < newPositionCondArr.length; i++) {
-                                               // 联动
-                                       };
-
-                               //9.告警类型
-                               vm.fmConds.alarmType = null;
-                               var alarmTypeArr = $(this).find("AlarmType").attr('value');
-                               if (alarmTypeArr != null && alarmTypeArr != "undefined") {
-                                       for (var i = 0; i < alarmTypeArr.length; i++) {
-                                               vm.fmConds.alarmType = alarmTypeArr;
-                                       };
-                               }
-                       });
-               }
-       });
-}
-
-
-/*
- 获取系统类型中的告警码数量
-*/
-alarmsUtil.getProbableCauseCountBySystemType=function(systemType){
-       
-       //"/ngict/rest/fm/probableCause?request={"systemTypes":[6,12]}"
-       var getData={};
-       var request={};
-       request.systemTypes=systemType;
-       getData.request = JSON.stringify(request);
-       $.ajax({
-               type : "get",
-               data : getData,
-               url : "/ngict/rest/fm/probableCause",
-               async : true,
-               success : function (msg) {
-                       vm.alarmCodeSelectedCount+=msg.length;
-               }});
+/*\r
+ * Copyright 2016, CMCC Technologies Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *         http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+var alarmsUtil = {};\r
+var alarmTemp=[];\r
+\r
+alarmsUtil.timeRender = function (obj) {\r
+       if (obj.aData[obj.mDataProp] == -1 || obj.aData[obj.mDataProp] == 0) {\r
+               return "";\r
+       } else {\r
+               var date = new Date(obj.aData[obj.mDataProp]);\r
+               return commonUtil.parseDate(date, 'yyyy-MM-dd hh:mm:ss');\r
+       }\r
+};\r
+\r
+alarmsUtil.LinkRender = function (obj) {\r
+       return '<a href="">' + obj.aData[obj.mDataProp] + '</a>';\r
+};\r
\r
+alarmsUtil.ackState = function (obj) {\r
+       \r
+       var innerHtml = "";\r
+       var ackState = obj.aData.ackState;\r
+       var alarmId = obj.aData.id;\r
+       var alarmIdArr = [alarmId];\r
+       var tableId="\'" + obj.oSettings.sTableId + "\'";\r
+       var divId="\'" + obj.oSettings.nTableWrapper.parentElement.id + "\'";\r
+       if (ackState == "1" && vm.ruleType == 1) {\r
+               innerHtml = "<a class=\"label label-sm label-info\"   onclick=\" alarmsUtil.unaffirm([" + alarmIdArr + "]," + tableId + "," + divId + ","+obj.iDataRow+")  \">Acknowledge</a>";\r
+       } else if(ackState == "1" && vm.ruleType == 2){\r
+               innerHtml = "<div class=\"label label-sm label-info\">Acknowledge</div>";\r
+       } else if(ackState == "2" ){\r
+               innerHtml = "<a class=\"label label-sm acknow-purple\"    onclick=\" alarmsUtil.affirm([" + alarmIdArr + "]," + tableId + "," + divId + ","+obj.iDataRow+")\">Unacknowledge</a>";\r
+       } \r
+       return innerHtml;\r
+};\r
+\r
+alarmsUtil.Severity = function (obj) {\r
+\r
+       var innerHtml = "";\r
+       var Severity = obj.aData.perceivedSeverity;\r
+       if (Severity == "1") {\r
+               innerHtml = "<span style=\"color:#E24949 \"  class=\"ict-alarm \" ></span><sapn  \">Critical</sapn>";\r
+       } else if (Severity == "2") {\r
+               innerHtml = "<span style=\"color:#E59313 \" class=\"ict-alarm\" ></span><sapn \">Major</sapn>";\r
+       } else if (Severity == "3") {\r
+               innerHtml = "<span style=\"color:#F7E51B \" class=\"ict-alarm\" ></span><sapn  \">Minor</sapn>";\r
+       } else if (Severity == "4") {\r
+               innerHtml = "<span style=\"color:#61C2DE \" class=\"ict-alarm\" ></span><sapn \">Warning</sapn>";\r
+       }\r
+       return innerHtml;\r
+\r
+};\r
+\r
+alarmsUtil.operate = function (obj) {\r
+\r
+       var alarmId = obj.aData.alarmId;\r
+       return "<div class='row col-xs-12'><div><a href='#' class=\"btn-xs grey btn-editable\" onclick=\" alarmsUtil.congfirms('" + alarmId + "')\"><i class=\"ict-delete\"></i>清除</a></div></div>";\r
+\r
+};\r
+\r
+alarmsUtil.congfirms = function (alarmId) {\r
+\r
+       bootbox.confirm('你确定要删除该告警吗?', function (result) { //你确定要删除该用户吗?\r
+\r
+               if (result) {\r
+                       var sSource = "/web/rest/web/fm/curalarms?data={\"alarmId\":" + alarmId + "}&_dataSource=isc_PageRestDataSource_0&isc_metaDataPrefix=_&isc_dataFormat=json&_operationType=remove&_componentId=isc_com_zte_ums_aos_fm_view_eventview_table_AlarmTable_0";\r
+                       $.ajax({\r
+                               dataType : "json",\r
+                               type : "DELETE",\r
+                               //数据格式:[tab标签id,tabItem的名字,图片路径,tabItem的描述,更多的LInk地址]\r
+                               contentType : 'application/json; charset=utf-8',\r
+                               url : sSource,\r
+                               data : null,\r
+                               async : false,\r
+                               success : function (msg) {\r
+                                       setTimeout(function () {\r
+                                               refreshByCond();\r
+                                       }, 500);\r
+                               }\r
+                       });\r
+               }\r
+\r
+       });\r
+\r
+};\r
+\r
+alarmsUtil.allOperate = function (obj) {\r
+\r
+       var record = obj.aData;\r
+       var hasModify = commonUtil.hasRigth('uep.pfl.sm.updateuser');\r
+       var hasDel = commonUtil.hasRigth('uep.pfl.sm.deluser');\r
+       var selectUsername = new String(record.userName);\r
+       var innerHtml = "";\r
+       \r
+       // 如果有权限,显示操作列\r
+       if (hasModify) {\r
+               if (hasDel && selectUsername != "admin") {\r
+                       innerHtml = "<div class='row col-xs-12'><div class='col-xs-6 modify_user'><a class=\"btn-xs grey btn-editable\" href='#' onclick=\"vm.modifyUser('" + selectUsername + "')\"><i class=\"ict-modify\"></i>修改</a></div><div class='col-xs-6'><a href='#' class=\"btn-xs grey btn-editable\" onclick=\"smUtil.congfirms('" + selectUsername + "')\"><i class=\"ict-delete\"></i>删除</a></div></div>";\r
+               } else {\r
+                       innerHtml = "<div class='row col-xs-12'><div class='col-xs-6 modify_user'><a class=\"btn-xs grey btn-editable\" href='#' onclick=\"vm.modifyUser('" + selectUsername + "')\"><i class=\"ict-modify\"></i>修改</a></div>";\r
+               }\r
+       }\r
+\r
+       return innerHtml;\r
+\r
+};\r
+\r
+alarmsUtil.refresh = function () {\r
+\r
+       refreshByCond();\r
+\r
+}\r
+\r
+/*\r
+\r
+1.确认\r
+\r
+2.反确认\r
+\r
+ */\r
+\r
+alarmsUtil.loopAffirm = function (type) {\r
+\r
+       var checkArr = $('#ict_alarms_table_div .details-check input[type="checkbox"]');\r
+       var aidArr = [];\r
+       for (var i = 0; i < checkArr.length; i++) {\r
+               if($(checkArr[i]).prop("checked")){\r
+                       if ($(checkArr[i]).attr('alarmId') != 'undefined' && $(checkArr[i]).attr('alarmId') != null) {\r
+                               aidArr.push($(checkArr[i]).attr('alarmId'));\r
+                       }\r
+               }\r
+       }\r
+\r
+       if (type == "1" && aidArr.length > 0) {\r
+               alarmsUtil.affirm(aidArr);\r
+       } else if (type == "2" && aidArr.length > 0) {\r
+               alarmsUtil.unaffirm(aidArr);\r
+       }\r
+\r
+}\r
+\r
+/*\r
+\r
+\r
+\r
+ */\r
+\r
+alarmsUtil.loopDelAralms = function () {\r
+\r
+       var checkArr = $('#ict_alarms_table_div .details-check input[type="checkbox"]');\r
+       var aidArr = [];\r
+       for (var i = 0; i < checkArr.length; i++) {\r
+               if($(checkArr[i]).prop("checked")){\r
+                       if ($(checkArr[i]).attr('alarmId') != 'undefined' && $(checkArr[i]).attr('alarmId') != null) {\r
+                               aidArr.push($(checkArr[i]).attr('alarmId'));\r
+                       }\r
+               }\r
+       }\r
+\r
+       if (aidArr.length > 0) {\r
+               bootbox.confirm('Are you sure to delete alarm(s)', function (result) { \r
+                       if (result) {\r
+                               var sSource = "/openoapi/umc/v1/fm/curalarms?request={\"ids\":["+ aidArr +"]}";\r
+                               $.ajax({\r
+                                       type : "DELETE", \r
+                                       dataType : "json",\r
+                                       contentType : 'application/json; charset=utf-8',\r
+                                       url : sSource,\r
+                                       data : null,\r
+                                       async : false,\r
+                                       success : function (msg) {\r
+                                               setTimeout(function () {\r
+                                                       refreshByCond()\r
+                                               }, 500);\r
+                                       }\r
+                               });\r
+                       }\r
+               });\r
+       }\r
+}\r
+\r
+alarmsUtil.affirm = function (alarmIdArr,tableId,divId) {\r
+\r
+       var getData = {};\r
+       var request = {};\r
+       request.ids=[];\r
+       for(i=0;i<alarmIdArr.length;i++){\r
+               request.ids.push(alarmIdArr[i]);\r
+       }\r
+       var url = "";\r
+       if (vm.ruleType == 1) { //当前告警\r
+               request.ackState=1;\r
+               getData.request = JSON.stringify(request);\r
+               url = "/openoapi/umc/v1/fm/curalarms";\r
+       } else { //历史告警\r
+               url = "/ngict/rest/fm/hisalarms"\r
+       }\r
+\r
+       $.ajax({\r
+               type : "PUT",\r
+               contentType : 'application/json; charset=utf-8',\r
+               url : url + "?" + "request=" + JSON.stringify(request),\r
+               async : false,\r
+               success : function (msg) {\r
+                       setTimeout(function () {\r
+                               refreshByCond(tableId,divId);\r
+                       }, 100);\r
+               },      \r
+               error : function(msg){\r
+                       setTimeout(function () {\r
+                               refreshByCond(tableId,divId);\r
+                       }, 100);        \r
+               }\r
+       });\r
+\r
+}\r
+\r
+alarmsUtil.unaffirm = function (alarmIdArr,tableId,divId) {\r
+\r
+       var getData = {};\r
+       var request = {};\r
+       request.ids=[];\r
+       for(i=0;i<alarmIdArr.length;i++){\r
+               request.ids.push(alarmIdArr[i]);\r
+       }\r
+       request.ackState=2;\r
+       getData.request = JSON.stringify(request);\r
+       var url = "";\r
+       if (vm.ruleType == 1) { //当前告警\r
+               url = "/openoapi/umc/v1/fm/curalarms";\r
+               $.ajax({\r
+                       "type" : "PUT",\r
+                       "contentType" : 'application/json; charset=utf-8',\r
+                       "url" : url + "?request=" + JSON.stringify(request),\r
+                       async : false,\r
+                       success : function (msg) {\r
+                               setTimeout(function () {\r
+                                       refreshByCond(tableId,divId);\r
+                               }, 100);\r
+                       },\r
+                       error : function(msg){          \r
+                               setTimeout(function () {\r
+                                       refreshByCond(tableId,divId);\r
+                               }, 100);                \r
+                       }\r
+               });\r
+       } \r
+\r
+       \r
+       \r
+}\r
+\r
+alarmsUtil.checkBox = function (obj) {\r
+\r
+       var alarmId = obj.aData.id;\r
+       var innerHtml = '<input type="checkbox" alarmId="' + alarmId + '"/> ';\r
+       return innerHtml;\r
+}\r
+\r
+//初始化告警码树\r
+alarmsUtil.initProbableCausesTree = function () {\r
+       //zTree设置\r
+       var setting = {\r
+               view : {\r
+                       selectedMulti : false, //设置是否可以同时选中多个借点。\r
+                       showIcon : true, //不显示图标\r
+                       showLine : false, //是否显示节点之间的连线\r
+               },\r
+               data : {\r
+                       simpleData : {\r
+                               enable : true //如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。\r
+                       }\r
+               },\r
+               callback : {\r
+                       onExpand : zTreeOnExpand, //每次节点展开后触发的事件。\r
+                       onCollapse : zTreeOnCollapse,\r
+                       //onClick: zTreeOnClick\r
+               }\r
+       };\r
+       var probableCausesNodes;\r
+       \r
+       //获取告警码树数据\r
+       getProbableCausesTreeNodes("");\r
+       //创建告警码树\r
+       $.fn.zTree.init($("#probableCausesTree"), setting, probableCausesNodes);\r
+       //获取所有现有的tree节点\r
+       var treeObj = $.fn.zTree.getZTreeObj("probableCausesTree");\r
+       initDataAtTree();\r
+       function initDataAtTree(){\r
+               getAllNodesWithoutTypeEqual2("")                \r
+       };\r
+       \r
+       function getAllNodesWithoutTypeEqual2(parentId){\r
+               var treeNodes=treeObj.getNodesByParam("parentId", parentId, null);\r
+               for(var i=0;i<treeNodes.length;i++){\r
+                       if(treeNodes[i].type===0){\r
+                               getProbableCausesTreeNodes(treeNodes[i].id);\r
+                               addNodesToTree(treeNodes[i],"probableCausesTree");\r
+                               getAllNodesWithoutTypeEqual2(treeNodes[i].id);\r
+                       }\r
+               }\r
+       }\r
+\r
+       function zTreeOnExpand(event, treeId, treeNode) {\r
+               var childrenNodes = treeNode.children;\r
+               if (!childrenNodes) { //当没有子节点的时候才加载,否则会重复加载。\r
+                       getProbableCausesTreeNodes(treeNode.id);\r
+                       addNodesToTree(treeNode,treeId);\r
+               }\r
+       };\r
+       \r
+       function addNodesToTree(treeNode, treeId) {\r
+               var obj = $.fn.zTree.getZTreeObj(treeId);\r
+               var node=obj.getNodeByParam("id", treeNode.id, null)\r
+               obj.addNodes(node, probableCausesNodes);\r
+       };\r
+\r
+       function zTreeOnCollapse(event, treeId, treeNode) {};\r
+\r
+       //告警信息中的type为0、1是父节点,2为子节点\r
+       function isParentNode(type) {\r
+               if (type != 2)\r
+                       return true;\r
+               else\r
+                       return false;\r
+       };\r
+       \r
+       function constructProblemCauseName(node){\r
+               if(node.type===0){\r
+                       return node.desc;\r
+               }else{\r
+                       return node.desc + "(" + node.value + ")";\r
+               }\r
+       }\r
+\r
+       function getProbableCausesTreeNodes(alarmCodeParentId) {\r
+               probableCausesNodes = new Array();\r
+               var getData = {};\r
+               var request = {};\r
+               request.parentId = alarmCodeParentId;\r
+               getData.request = JSON.stringify(request);\r
+               $.ajax({\r
+                       async : false,\r
+                       "dataType" : 'json',\r
+                       "type" : "GET",\r
+                       "url" : "/openoapi/umc/v1/fm/probablecausestree",\r
+                       "data" : getData,\r
+                       "contentType" : 'application/json; charset=utf-8',\r
+                       "success" : function (res, textStatus, jqXHR) {\r
+                               var nodes = res;\r
+                               chkDisabled = false;\r
+                               if (nodes) {\r
+                                       for (var i = 0; i < nodes.length; i++) {\r
+                                               probableCausesNodes.push({\r
+                                                       id : nodes[i].id,\r
+                                                       pId : nodes[i].parentId,\r
+                                                       name : constructProblemCauseName(nodes[i]),\r
+                                                       chkDisabled : false,\r
+                                                       isParent : isParentNode(nodes[i].type),\r
+                                                       parentId : alarmCodeParentId,//treenode节点\r
+                                                       codeId : nodes[i].value,\r
+                                                       type : nodes[i].type\r
+                                               });\r
+                                       }\r
+                               }\r
+                       },\r
+                       "error" : function () {}\r
+               });\r
+       }\r
+}\r
+\r
+//初始化位置树\r
+alarmsUtil.initDeptTree = function () {\r
+       //zTree设置\r
+       var setting = {\r
+               view : {\r
+                       selectedMulti : false, //设置是否可以同时选中多个借点。\r
+                       showIcon : true, //不显示图标\r
+                       showLine : false, //是否显示节点之间的连线\r
+               },\r
+               data : {\r
+                       simpleData : {\r
+                               enable : true //如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。\r
+                       }\r
+               },\r
+               callback : {\r
+                       onExpand : zTreeOnExpand, //每次节点展开后触发的事件。\r
+                       onCollapse : zTreeOnCollapse,\r
+                       //onClick: zTreeOnClick\r
+               }\r
+       };\r
+       var zNodes = [];\r
+       initDeptTree();\r
+       function initDeptTree() {\r
+               zNodes.push({\r
+                       id:"VDU",\r
+                       name:"VDU",\r
+                       isParent:true\r
+               },\r
+               {\r
+                       id:"HOST",\r
+                       name:"HOST",\r
+                       isParent:true\r
+               });\r
+               $.fn.zTree.init($("#deptTree"), setting, zNodes);\r
+               zNodes=[];\r
+       }\r
+       function getDeptTreeNode(alarmCodeParentId) {\r
+               if(alarmCodeParentId === "VDU"){\r
+                       url="/api/roc/v1/resource/vdus";\r
+               }else if(alarmCodeParentId === "HOST"){\r
+                       url="/api/roc/v1/resource/hosts";\r
+               }\r
+               $.ajax({\r
+                       async : false,\r
+                       "dataType" : 'json',\r
+                       "type" : "GET",\r
+                       "url" : url,\r
+                       "contentType" : 'application/json; charset=utf-8',\r
+                       "success" : function (res, textStatus, jqXHR) {\r
+                               var nodes = res.data;\r
+                               if (nodes) {\r
+                                       for (var i = 0; i < nodes.length; i++) {\r
+                                               zNodes.push({\r
+                                                       id : nodes[i].oid,\r
+                                                       parentId : alarmCodeParentId,//treenode节点\r
+                                                       name : nodes[i].name,\r
+                                                       isParent : false,\r
+                                                       oid:nodes[i].oid\r
+                                               });\r
+                                       }\r
+                               }\r
+                       },\r
+                       "error" : function () {}\r
+               });\r
+       }\r
+       function zTreeOnExpand(event, treeId, treeNode) {\r
+               getDeptTreeNode(treeNode.id);\r
+               addNodesToTree(treeNode,treeId);\r
+               zNodes=[];\r
+       };\r
+       function addNodesToTree(treeNode, treeId) {\r
+               var obj = $.fn.zTree.getZTreeObj(treeId);\r
+               var node=obj.getNodeByParam("id", treeNode.id, null)\r
+               obj.addNodes(node, zNodes);\r
+       };\r
+       function zTreeOnCollapse(event, treeId, treeNode) {};\r
+}\r
+\r
+//初始化所有的树\r
+alarmsUtil.initTree = function () {\r
+       //初始化告警码树和告警位置树\r
+       alarmsUtil.initProbableCausesTree();\r
+       alarmsUtil.initDeptTree();\r
+       \r
+       function initFormData(ruleType) {\r
+\r
+               $("#confirmAction").hide();\r
+               $("#filterType").hide();\r
+               $("#action").hide();\r
+               if (ruleType == "alarmFilter") {\r
+                       $("#filterType").show();\r
+               } else if (ruleType == "ack") {\r
+                       $("#confirmAction").show();\r
+               } else if (ruleType == "forward") {\r
+                       $("#action").show();\r
+               }\r
+\r
+       }\r
+\r
+       function getNumbers(rule) {\r
+\r
+               for (var i = 0; i < textValues.length; i++) {\r
+                       rule[textValues[i]] = $("input[name='" + textValues[i] + "']").val();\r
+               }\r
+\r
+       }\r
+\r
+       function getCheckboxs(rule) {\r
+\r
+               for (var i = 0; i < else_checkboxNames.length; i++) {\r
+                       rule[else_checkboxNames[i]] = $("input[name='" + else_checkboxNames[i] + "']").parent().hasClass('checked');\r
+               }\r
+               for (var item in checkboxNames_pair_spinnerIds) {\r
+                       rule[item] = $('#' + checkboxNames_pair_spinnerIds[item]).val();\r
+               }\r
+       }\r
+\r
+       function setCheckboxs(rule) {\r
+\r
+               for (var item in checkboxNames_pair_spinnerIds) {\r
+                       var value = 0;\r
+                       if (rule != "") {\r
+                               value = rule[item];\r
+                       }\r
+                       $('#' + item).val(value);\r
+                       setSpinnerIsEnable(item, value);\r
+               }\r
+               for (var i = 0; i < else_checkboxNames.length; i++) {\r
+                       $("input[name='" + else_checkboxNames[i] + "']").parent().iCheck(rule[else_checkboxNames[i]] ? 'check' : 'uncheck');\r
+               }\r
+       }\r
+}\r
+\r
+alarmsUtil.moveNode = function (item) {\r
+       if (item.hasClass("ict-arrowRight")) {\r
+               alarmsUtil.rightNode(item);\r
+       } else if (item.hasClass("ict-arrowLeft")) {\r
+               alarmsUtil.leftNode(item);\r
+       } else {\r
+               alarmsUtil.removeAll(item);\r
+       }\r
+}\r
+\r
+/*树添加信息到右侧的功能*/\r
+\r
+alarmsUtil.rightNode = function (item) {\r
+\r
+       var selecedNodeIds = [];\r
+       var treeType = item.attr('treeType');\r
+       var obj = $.fn.zTree.getZTreeObj(treeType);\r
+       var treeNodes = obj.getSelectedNodes();\r
+       var $table;\r
+\r
+       if (treeType == "deptTree") {\r
+               var $tds = $("#selectedDeptTreeTable  td");\r
+               $table = $("#selectedDeptTreeTable");\r
+               for (var i = 0; i < $tds.length; i++) {\r
+                       selecedNodeIds.push($tds.eq(i).attr('nodeid'));\r
+               }\r
+       } else if (treeType == "probableCausesTree") {\r
+               var $tds = $("#selectedProbableCausesTreeTable  td");\r
+               $table = $("#selectedProbableCausesTreeTable");\r
+               for (var i = 0; i < $tds.length; i++) {\r
+                       var systemTypeAndProbableCause={};\r
+                       systemTypeAndProbableCause.codeId=$tds.eq(i).attr('codeId');\r
+                       systemTypeAndProbableCause.parentid=$tds.eq(i).attr('parentid');\r
+                       systemTypeAndProbableCause.type=$tds.eq(i).attr('type');\r
+                       selecedNodeIds.push(systemTypeAndProbableCause);\r
+               }\r
+       }\r
+       \r
+       //树上被选中的元素\r
+       for (var i = 0; i < treeNodes.length; i++) {\r
+\r
+               var htmlStr = "";\r
+               var text = treeNodes[i].name;\r
+               var id = treeNodes[i].id;\r
+               var codeId = treeNodes[i].codeId;\r
+               var type;\r
+               var parentId;\r
+               if (treeType == "deptTree") {\r
+                       var oid = treeNodes[i].oid;\r
+                       htmlStr = "<tr><td nodeId=" + id + "  oid=" + oid + "  >" + text + "</td></tr>";\r
+               } else if (treeType == "probableCausesTree") {\r
+\r
+                       parentId = treeNodes[i].parentId;\r
+                       type = treeNodes[i].type;\r
+                       htmlStr = "<tr><td codeId=" + codeId + "  parentId=" + parentId + " type=" + type + "  >" + text + "</td></tr>";\r
+               }\r
+               \r
+               if(treeType == "probableCausesTree"){\r
+                       if(treeNodes[i].type === 2){\r
+                               for(i=0;i<selecedNodeIds.length;i++){\r
+                                       if(selecedNodeIds[i].codeId === codeId || selecedNodeIds[i].codeId === parentId){\r
+                                               bootbox.alert("此节点(子树)或其父子树已经被添加!", function () {});\r
+                                               return;\r
+                                       }\r
+                               }\r
+                       }else if(treeNodes[i].type === 1){\r
+                               $('#selectedProbableCausesTreeTable [parentid='+codeId+']').remove();\r
+                               for(i=0;i<selecedNodeIds.length;i++){\r
+                                       if(selecedNodeIds[i].codeId === codeId ){\r
+                                               bootbox.alert("此节点(子树)或其父子树已经被添加!", function () {});\r
+                                               return;\r
+                                       }\r
+                               }\r
+                       }else if(treeNodes[i].type === 0){\r
+                               bootbox.alert("不支持添加MOC", function () {});\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               $table.append(htmlStr);\r
+\r
+       }\r
+\r
+       $('#selectedDeptTreeTable td').on("click", function () {\r
+\r
+               //获得所有选择的td\r
+               var $tds = $('#selectedDeptTree td');\r
+               //遍历改变样式\r
+               for (var i = 0; i < $tds.length; i++) {\r
+                       $tds.eq(i).removeClass('tallCellSelected');\r
+                       $tds.eq(i).parent().removeClass('checked');\r
+               }\r
+               //当前td设为选中\r
+               $(this).addClass('tallCellSelected');\r
+               $(this).parent().addClass("checked"); //tr 添加一个 checked 样式。\r
+       });\r
+\r
+       $('#selectedProbableCausesTreeTable td').on("click", function () {\r
+\r
+               //获得所有选择的td\r
+               var $tds = $('#selectedProbableCausesTreeTable td');\r
+               //遍历改变样式\r
+               for (var i = 0; i < $tds.length; i++) {\r
+                       $tds.eq(i).removeClass('tallCellSelected');\r
+                       $tds.eq(i).parent().removeClass('checked');\r
+               }\r
+               //当前td设为选中\r
+               $(this).addClass('tallCellSelected');\r
+               $(this).parent().addClass("checked"); //tr 添加一个 checked 样式。\r
+       });\r
+\r
+}\r
+\r
+\r
+\r
+alarmsUtil.leftNode = function (item) {\r
+\r
+       var treeType = item.attr('treeType');\r
+       if (treeType == "deptTree") {\r
+               $('#selectedDeptTreeTable').children().children(".checked").remove();\r
+       } else if (treeType == "probableCausesTree") {\r
+               $('#selectedProbableCausesTreeTable').children().children(".checked").remove();\r
+       }\r
+\r
+}\r
+\r
+alarmsUtil.removeAll = function (item) {\r
+\r
+       var treeType = item.attr('treeType');\r
+       if (treeType == "deptTree") { //如果是资源树\r
+               $('#selectedDeptTreeTable').children().remove();\r
+       } else if (treeType == "probableCausesTree") {\r
+               $('#selectedProbableCausesTreeTable').children().remove();\r
+       }\r
+}\r
+\r
+\r
+\r
+\r
+\r
+//调用datarangepicker组件 datarange 初始化\r
+\r
+alarmsUtil.setDateRange = function (dataRangeId, vm) {\r
+\r
+       var open = 'right';\r
+       var optionSet1 = {\r
+               startDate : "2015-08-02",\r
+               endDate : "2015-08-03",\r
+               format : 'YYYY-MM-DD h:mm A',\r
+               dateLimit : {\r
+                       days : 180\r
+               },\r
+               showWeekNumbers : false,\r
+               timePicker : true,\r
+               timePickerIncrement : 5,\r
+               opens : open,\r
+               separator : ' - ',\r
+               locale : {\r
+                       applyLabel : $.i18n.prop('ngict_fm_iui_curalarm_ok'),\r
+                       cancelLabel : $.i18n.prop('ngict_fm_iui_curalarm_cancel'),\r
+                       fromLabel : $.i18n.prop('ngict_fm_iui_curalarm_from'),\r
+                       toLabel : $.i18n.prop('ngict_fm_iui_curalarm_to'),\r
+                       daysOfWeek : [\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Sun'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Mon'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Tues'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Wed'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Thurs'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Fri'),\r
+                               $.i18n.prop('ngict_fm_iui_curalarm_Sat')\r
+                               ],\r
+                       monthNames : [$.i18n.prop('ngict_fm_iui_curalarm_January'), $.i18n.prop('ngict_fm_iui_curalarm_February'), $.i18n.prop('ngict_fm_iui_curalarm_March'), $.i18n.prop('ngict_fm_iui_curalarm_April'), $.i18n.prop('ngict_fm_iui_curalarm_May'), $.i18n.prop('ngict_fm_iui_curalarm_June'), $.i18n.prop('ngict_fm_iui_curalarm_July'), $.i18n.prop('ngict_fm_iui_curalarm_August'), $.i18n.prop('ngict_fm_iui_curalarm_September'), $.i18n.prop('ngict_fm_iui_curalarm_October'), $.i18n.prop('ngict_fm_iui_curalarm_November'), $.i18n.prop('ngict_fm_iui_curalarm_December')],\r
+                       firstDay : 1\r
+               }\r
+       };\r
+\r
+       //datarangepicker确认\r
+       $('input[id="' + dataRangeId + '"]').bind('apply.daterangepicker', function () {\r
+               //获取时间范围,查询\r
+               // 都设置为0点\r
+               setTime($(this));\r
+               // 更新tooltip内容\r
+               $(this).attr("data-original-title", $(this).val());\r
+       });\r
+\r
+       $('input[id="' + dataRangeId + '"]').daterangepicker(optionSet1);\r
+\r
+};\r
+\r
+//关闭打开datarangepicker选择器\r
+alarmsUtil.dateRangeEnableDisable = function (customDateRangeId) {\r
+\r
+       $('#' + customDateRangeId).on('ifChecked', function () {\r
+\r
+               if (customDateRangeId == "customAckTime") {\r
+                       vm.dataRangeLocationDisabled = false;\r
+                       if(vm.fmConds.ackTimeStarTime!=null && vm.fmConds.ackTimeEndTime!=null){\r
+                               vm.fmConds.ackTimeMode=0;\r
+                       }\r
+               } else if (customDateRangeId == "customRaisedTime") {\r
+                       vm.dataRangeTypeDisabled = false;\r
+                       if(vm.fmConds.alarmRaisedStartTime!=null && vm.fmConds.alarmRaisedEndTime!=null){\r
+                               vm.fmConds.alarmRaisedTimeMode=0;\r
+                       }\r
+               } else if (customDateRangeId == "customClearTime"){\r
+                       vm.dataRangeCodeDisabled = false;\r
+                       if(vm.fmConds.clearedTimeStartTime!=null && vm.fmConds.clearedTimeEndTime!=null){\r
+                               vm.fmConds.clearedTimeMode=0;\r
+                       }\r
+               }\r
+       });\r
+       //setTime($('#' + dataRangeId));\r
+\r
+       $('#' + customDateRangeId).on('ifUnchecked', function () {\r
+\r
+               if (customDateRangeId == "customAckTime") {\r
+\r
+                       vm.dataRangeLocationDisabled = true;\r
+                       vm.fmConds.ackTimeMode=null;\r
+\r
+               } else if (customDateRangeId == "customRaisedTime") {\r
+\r
+                       vm.dataRangeTypeDisabled = true;\r
+                       vm.fmConds.alarmRaisedTimeMode=null;\r
+                       \r
+               } else if (customDateRangeId == "customClearTime"){\r
+               \r
+                       vm.dataRangeCodeDisabled = true;\r
+                       vm.fmConds.clearedTimeMode=null;\r
+                       \r
+               }\r
+       });\r
+\r
+}\r
+\r
+//checkbox时间选择\r
+alarmsUtil.dateRangeCustom = function (vm) {\r
+\r
+       $("input[name=timeConfirm]").on("ifClicked", function () {\r
+               if ($(this).parent().hasClass("checked")) {\r
+                       $(this).iCheck('uncheck');\r
+               }\r
+       });\r
+\r
+       $("input[name=timeOccur]").on("ifClicked", function () {\r
+               if ($(this).parent().hasClass("checked")) {\r
+                       $(this).iCheck('uncheck');\r
+               }\r
+       });\r
+\r
+       $("input[name=timeClear]").on("ifClicked", function () {\r
+               if ($(this).parent().hasClass("checked")) {\r
+                       $(this).iCheck('uncheck');\r
+               }\r
+       });\r
+\r
+       $("input[cond_id=time]").on('ifChecked', function () {\r
+\r
+               var nowTime = (new Date()).toLocaleDateString();\r
+               var condDate = $(this).attr("cond_value");\r
+\r
+               if ($(this).attr("name") == "timeConfirm") {\r
+                       if (condDate == "1") {\r
+                               vm.fmConds.ackRelativeTime = 1 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.ackTimeMode = 1;\r
+                       } else if (condDate == "2") {\r
+                               vm.fmConds.ackRelativeTime = 2 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.ackTimeMode = 1;\r
+                       } else if (condDate == "7") {\r
+                               vm.fmConds.ackRelativeTime = 7 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.ackTimeMode = 1;\r
+                       }\r
+               }\r
+\r
+               if ($(this).attr("name") == "timeOccur") {\r
+                       if (condDate == "1") {\r
+                               vm.fmConds.alarmRaisedRelativeTime = 1 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.alarmRaisedTimeMode = 1;\r
+                       } else if (condDate == "2") {\r
+                               vm.fmConds.alarmRaisedRelativeTime = 2 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.alarmRaisedTimeMode = 1;\r
+                       } else if (condDate == "7") {\r
+                               vm.fmConds.alarmRaisedRelativeTime = 7 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.alarmRaisedTimeMode = 1;\r
+                       }\r
+               }\r
+\r
+               if ($(this).attr("name") == "timeClear") {\r
+                       if (condDate == "1") {\r
+                               vm.fmConds.clearedTimeRelativeTime =1 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.clearedTimeMode = 1;\r
+                       } else if (condDate == "2") {\r
+                               vm.fmConds.clearedTimeRelativeTime =2 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.clearedTimeMode = 1;\r
+                       } else if (condDate == "7") {\r
+                               vm.fmConds.clearedTimeRelativeTime =7 * 24 * 60 * 60 * 1000;\r
+                               vm.fmConds.clearedTimeMode = 1;\r
+                       }\r
+               }\r
+\r
+               //refreshByCond();\r
+       });\r
+       \r
+       $("input[cond_id=time]").on('ifUnchecked', function () {\r
+               if ($(this).attr("name") == "timeConfirm") {\r
+                       vm.fmConds.ackRelativeTime = null;\r
+                       vm.fmConds.ackTimeMode = null;\r
+               }else if ($(this).attr("name") == "timeOccur") {\r
+                       vm.fmConds.alarmRaisedRelativeTime = null;\r
+                       vm.fmConds.alarmRaisedTimeMode = null;\r
+               }else if ($(this).attr("name") == "timeClear") {\r
+                       vm.fmConds.clearedTimeRelativeTime = null;\r
+                       vm.fmConds.clearedTimeMode = null;\r
+               }\r
+       });\r
+\r
+}\r
+\r
+\r
+/*格式化日期*/\r
+Date.prototype.format = function (format) {\r
+\r
+       /*\r
+\r
+        * format="yyyy-MM-dd hh:mm:ss";\r
+\r
+        */\r
+       var o = {\r
+               "M+" : this.getMonth() + 1,\r
+               "d+" : this.getDate(),\r
+               "h+" : this.getHours(),\r
+               "m+" : this.getMinutes(),\r
+               "s+" : this.getSeconds(),\r
+               "q+" : Math.floor((this.getMonth() + 3) / 3),\r
+               "S" : this.getMilliseconds()\r
+       }\r
+       if (/(y+)/.test(format)) {\r
+               format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4\r
+                                        - RegExp.$1.length));\r
+       }\r
+       for (var k in o) {\r
+               if (new RegExp("(" + k + ")").test(format)) {\r
+                       format = format.replace(RegExp.$1, RegExp.$1.length == 1\r
+                                        ? o[k]\r
+                                        : ("00" + o[k]).substr(("" + o[k]).length));\r
+               }\r
+       }\r
+       return format;\r
+\r
+}\r
+\r
+//daterangepicker设置时间\r
+function setTime($obj) {\r
+\r
+       var title = $obj.attr('dtitle');\r
+       var arr = $obj.val().split(' - ');\r
+       //排除日历组件空字符串的情况。\r
+       if (arr[0] != '') {\r
+               var starTime = new Date(arr[0].replace(/-/g, "/")).getTime();\r
+               var endTime = new Date(arr[1].replace(/-/g, "/")).getTime();\r
+               if (title == "ackTime") {\r
+                       vm.fmConds.ackTimeStarTime = starTime;\r
+                       vm.fmConds.ackTimeEndTime = endTime;\r
+                       vm.fmConds.ackTimeMode=0;\r
+               } else if (title == "raisedTime") {\r
+                       vm.fmConds.alarmRaisedStartTime = starTime;\r
+                       vm.fmConds.alarmRaisedEndTime = endTime;\r
+                       vm.fmConds.alarmRaisedTimeMode=0;\r
+               } else if (title == "clearTime") {\r
+                       vm.fmConds.clearedTimeStartTime = starTime;\r
+                       vm.fmConds.clearedTimeEndTime = endTime;\r
+                       vm.fmConds.clearedTimeMode=0;\r
+               }\r
+       }\r
+}\r
+\r
+/*\r
+@param type 1 day 2 week  3 month  4 year\r
+ */\r
+function reduceDate(date, val, type) {\r
+\r
+       var d = new Date(date);\r
+       if (type == 'day') {\r
+               d.setDate(d.getDate() - val);\r
+       } else if (type == 'week') {\r
+               d.setDate(d.getDate() - val * 7);\r
+       } else if (type == 'month') {\r
+               d.setMonth(d.getMonth() - val);\r
+       } else if (type == 'year') {\r
+               d.setFullYear(d.getFullYear() - val);\r
+       }\r
+       var month = d.getMonth() + 1;\r
+       var day = d.getDate();\r
+       if (month < 10) {\r
+               month = "0" + month;\r
+       }\r
+       if (day < 10) {\r
+               day = "0" + day;\r
+       }\r
+       var val = d.getFullYear() + "-" + month + "-" + day;\r
+       return val;\r
+}\r
+\r
+alarmsUtil.condSave = function (cond, saveUrl, name) {\r
+\r
+       var conds = [];\r
+       if (cond.severity != null && cond.severity != "undefined" && cond.severity.length > 0) {\r
+               var severity = '{ "type": "Severity", "data": [{"severity": "' + cond.severity + '"}]}'; //级别\r
+               var severityObj = window.JSON.parse(severity)\r
+                       conds.push(severityObj);\r
+       }\r
+       if (cond.ackState != null && cond.ackState != "undefined") {\r
+               var ackState = '{ "type": "AckState", "data": [{"ackState": "' + cond.ackState + '"}]}'; //级别\r
+               var ackStateObj = window.JSON.parse(ackState)\r
+                       conds.push(ackStateObj);\r
+       }\r
+       if (cond.filterState != null && cond.filterState != "undefined") {\r
+               var filterState = '{ "type": "FilterState", "data": [{"filterState": "' + cond.filterState + '"}]}'; //级别\r
+               var filterStateObj = window.JSON.parse(filterState)\r
+                       conds.push(filterStateObj);\r
+       }\r
+\r
+       if (cond.ackTimeStarTime != null && cond.ackTimeStarTime != "undefined") {\r
+               var ackTime = '{ "type": "AckTime", "data": [{"mode":"0","start":"' + cond.ackTimeStarTime + '","end":"' + cond.ackTimeEndTime + '" }]}'; //级别\r
+               var ackTimeObj = window.JSON.parse(ackTime)\r
+                       conds.push(ackTimeObj);\r
+       }\r
+       if (cond.alarmRaisedStartTime != null && cond.alarmRaisedStartTime != "undefined") {\r
+               var alarmRaisedTime = '{ "type": "RaisedTime", "data": [{"mode":"0","start":"' + cond.alarmRaisedStartTime + '","end":"' + cond.alarmRaisedEndTime + '" }]}'; //级别\r
+               var alarmRaisedTimeObj = window.JSON.parse(alarmRaisedTime)\r
+                       conds.push(alarmRaisedTimeObj);\r
+       }\r
+\r
+       if (cond.clearedTimeStarTime != null && cond.clearedTimeStarTime != "undefined") {\r
+               var clearedTime = '{ "type": "ClearedTime", "data": [{"mode":"0","start":"' + cond.clearedTimeStarTime + '","end":"' + cond.clearedTimeEndime + '" }]}'; //级别\r
+               var severityObj = window.JSON.parse(clearedTime)\r
+                       conds.push(severityObj);\r
+       }\r
+       var resJsonObj = AlarmConds.parseActiveConds2JSon(conds);\r
+       resJsonObj.rule.name = name;\r
+       resJsonObj.rule.ruleType = vm.ruleType;\r
+       var resStr = window.JSON.stringify(resJsonObj);\r
+       var dataSource = "isc_AosRestDataSource_1";\r
+       var operationType = "add";\r
+       var data1 = {\r
+               dataSource : dataSource,\r
+               operationType : operationType,\r
+               data : resJsonObj,\r
+               oldValues : null\r
+       };\r
+       $.ajax({\r
+               dataType : "json",\r
+               type : "POST",\r
+               contentType : 'application/json; charset=utf-8',\r
+               url : saveUrl,\r
+               data : JSON.stringify(data1),\r
+               async : false,\r
+               success : function (msg) {\r
+                       $('#saveModalCancle').trigger("click");\r
+               }\r
+       });\r
+\r
+}\r
+\r
+Array.prototype.contains = function (item) {\r
+       return RegExp("(^|,)" + item.toString() + "($|,)").test(this);\r
+};\r
+\r
+/*\r
+@param  alarmsType  1当前告警  2历史告警\r
+@param  condRuleId  查询条件的RuleId\r
+ */\r
+alarmsUtil.queryByParma = function (alarmsType, condRuleId) {\r
+\r
+       //1.判断是当前告警还是历史告警。\r
+\r
+       var sourceUrl;\r
+       if (alarmsType == 1) { //当前告警\r
+               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":1,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';\r
+               vm.ruleType = 1;\r
+               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/curalarms";\r
+               vm.curalarmsType = "curalarms";\r
+               vm.showClear = true; //清除按钮\r
+\r
+       } else if(alarmsType == 2){ //历史告警\r
+\r
+               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":2,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';\r
+               vm.ruleType = 2;\r
+               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/hisalarms";\r
+               vm.hisalarmsType = "hisalarms";\r
+               vm.showClear = false; //清除按钮\r
+       }else if(alarmsType == 3){ //通知\r
+               sourceUrl = '/web/rest/web/fm/curqueryview?' + 'data={"ruleType":2,"ruleSort":1}&isc_flag=smartClient&_operationType=fetch&_startRow=0&_endRow=75&_textMatchStyle=exact&_componentId=condList&_dataSource=isc_RestDataSource_7&isc_metaDataPrefix=_&isc_dataFormat=json';\r
+               vm.ruleType = 3;\r
+               vm.$queryAlarmsInfoUrl = "/ngict/rest/fm/notify";\r
+               vm.notificationType = "notification";\r
+               vm.showClear = false; //清除按钮\r
+       }\r
+\r
+       //如果没传condRuleId 直接返回\r
+       if (condRuleId == null || condRuleId == "undefined") {\r
+               return;\r
+       }\r
+\r
+       //2.取出告警规则的数据。\r
+\r
+       $.ajax({\r
+               type : "get",\r
+               data : null,\r
+               url : sourceUrl,\r
+               async : false,\r
+               success : function (msg) {\r
+                       //1.遍历返回的条件数组确定是哪一个rule规则。\r
+                       var ruleCondArr = msg.response.data;\r
+                       var xmlData = "";\r
+                       for (var i = 0; i < ruleCondArr.length; i++) {\r
+                               if (ruleCondArr[i].ruleId == condRuleId) { //condRuleId\r
+                                       xmlData = "<xml>" + ruleCondArr[i].ruleData + "</xml>" //在jQuery裡,如果要直接将字串转成XML物件,记得前后方要加上<xml>及</xml>,才会被当成XML处理;\r
+                                               break;\r
+                               }\r
+                       };\r
+\r
+                       //3.解析数据的xml联动页面的组件。\r
+                       $(xmlData).find("CompoundCond").each(function () {\r
+                               //1.级别\r
+                               for (var i = 0; i < vm.severityTypes.length; i++) {\r
+                                       vm.severityTypes[i].value = false;\r
+                               }\r
+                               if ($(this).find("PerceivedSeverity").attr('value') != null && $(this).find("PerceivedSeverity ").attr('value') != 'undefined') {\r
+                                       var perceivedSeverityArr = $(this).find("PerceivedSeverity ").attr('value').split(',');\r
+                                       for (var i = 0; i < perceivedSeverityArr.length; i++) {\r
+                                               if (perceivedSeverityArr.contains(vm.severityTypes[i].id)) {\r
+                                                       vm.severityTypes[i].value = true;\r
+                                               }\r
+                                       };\r
+                               }\r
+\r
+                               //2.确认状态\r
+                               for (var i = 0; i < vm.ackStateTypes.length; i++) {\r
+                                       vm.ackStateTypes[i].value = false;\r
+                               };\r
+                               var ackStateV = $(this).find("AckState").attr('value');\r
+                               if (ackStateV != null && ackStateV != "undefined") {\r
+                                       var ackStateArr = ackStateV.split(',');\r
+                                       for (var i = 0; i < vm.ackStateTypes.length; i++) {\r
+                                               if (ackStateArr.contains(vm.ackStateTypes[i].id)) {\r
+                                                       vm.ackStateTypes[i].value = true;\r
+                                               }\r
+                                       };\r
+                               }\r
+\r
+                               //3.可见性\r
+                               if(vm.ruleType === 1){\r
+                                       for (var i = 0; i < vm.filterStateTypes.length; i++) {\r
+                                                       vm.filterStateTypes[i].value = false;\r
+                                               };\r
+                                       var filterStateV = $(this).find("FilterState").attr('value')\r
+                                               if (filterStateV != null && filterStateV != "undefined") {\r
+                                                       var filterStateArr = filterStateV.split(',');\r
+                                                       for (var i = 0; i < vm.filterStateTypes.length; i++) {\r
+                                                               if (filterStateArr.contains(vm.filterStateTypes[i].id)) {\r
+                                                                       vm.filterStateTypes[i].value = true;\r
+                                                               }\r
+                                                       };\r
+                                               }\r
+                               }\r
+                                       //4.确认时间\r
+\r
+                               var dataRangeAck = $('input[dtitle="ackTime"]'); //日历组件\r
+                               vm.fmConds.ackTimeStarTime = null;\r
+                               vm.fmConds.ackTimeEndTime = null;\r
+                               dataRangeAck.val('');\r
+                               var ackTimeStartMs = $(this).find("AckTime").attr('start');\r
+                               var ackTimeEndMs = $(this).find("AckTime").attr('end');\r
+                               if (ackTimeStartMs != null && ackTimeStartMs != "undefined" && ackTimeEndMs != null && ackTimeEndMs != "undefined") {\r
+                                       vm.fmConds.ackTimeStarTime = ackTimeStartMs; //确认时间\r
+                                       vm.fmConds.ackTimeEndTime = ackTimeEndMs;\r
+                                       var ackTimeStarTime = new Date(parseInt(ackTimeStartMs)).format('yyyy-MM-dd');\r
+                                       var ackTimeEndTime = new Date(parseInt(ackTimeEndMs)).format('yyyy-MM-dd');\r
+                                       dataRangeAck.val(ackTimeStarTime + ' - ' + ackTimeEndTime);\r
+                               }\r
+\r
+                               //5.发生时间\r
+                               vm.fmConds.alarmRaisedStartTime = null;\r
+                               vm.fmConds.alarmRaisedEndTime = null;\r
+                               var dataRangeRaised = $('input[dtitle="raisedTime"]'); //日历组件\r
+                               dataRangeRaised.val('');\r
+                               var raisedTimeStartMs = $(this).find("RaisedTime").attr('start');\r
+                               var raisedTimeEndMs = $(this).find("RaisedTime").attr('end');\r
+                               if (raisedTimeStartMs != null && raisedTimeStartMs != "undefined" && raisedTimeEndMs != null && raisedTimeEndMs != "undefined") {\r
+                                       vm.fmConds.alarmRaisedStartTime = raisedTimeStartMs; //发生时间\r
+                                       vm.fmConds.alarmRaisedEndTime = raisedTimeEndMs;\r
+                                       var raisedTimeStart = new Date(parseInt(raisedTimeStartMs)).format('yyyy-MM-dd');\r
+                                       var raisedTimeEnd = new Date(parseInt(raisedTimeEndMs)).format('yyyy-MM-dd');\r
+                                       dataRangeRaised.val(raisedTimeStart + ' - ' + raisedTimeEnd);\r
+                               }\r
+\r
+                               //6.清除时间\r
+\r
+\r
+                               //7.告警码\r
+\r
+                               vm.fmConds.probableCause = null;\r
+                               var probableCauseArr = $(this).find("ProbableCause").attr('value');\r
+                               if (probableCauseArr != null && probableCauseArr != "undefined") {\r
+                                       for (var i = 0; i < probableCauseArr.length; i++) {\r
+                                               vm.fmConds.probableCause = probableCauseArr;\r
+                                               // 联动\r
+                                       };\r
+                               }\r
+\r
+                               //8.告警位置\r
+                               vm.fmConds.probableCause = null;\r
+                               var newPositionCondArr = $(this).find("NewPositionCond").attr('value');\r
+                               if (newPositionCondArr != null && newPositionCondArr != "undefined")\r
+                                       for (var i = 0; i < newPositionCondArr.length; i++) {\r
+                                               // 联动\r
+                                       };\r
+\r
+                               //9.告警类型\r
+                               vm.fmConds.alarmType = null;\r
+                               var alarmTypeArr = $(this).find("AlarmType").attr('value');\r
+                               if (alarmTypeArr != null && alarmTypeArr != "undefined") {\r
+                                       for (var i = 0; i < alarmTypeArr.length; i++) {\r
+                                               vm.fmConds.alarmType = alarmTypeArr;\r
+                                       };\r
+                               }\r
+                       });\r
+               }\r
+       });\r
+}\r
+\r
+\r
+/*\r
+ 获取系统类型中的告警码数量\r
+*/\r
+alarmsUtil.getProbableCauseCountBySystemType=function(systemType){\r
+       \r
+       //"/ngict/rest/fm/probableCause?request={"systemTypes":[6,12]}"\r
+       var getData={};\r
+       var request={};\r
+       request.systemTypes=systemType;\r
+       getData.request = JSON.stringify(request);\r
+       $.ajax({\r
+               type : "get",\r
+               data : getData,\r
+               url : "/ngict/rest/fm/probableCause",\r
+               async : true,\r
+               success : function (msg) {\r
+                       vm.alarmCodeSelectedCount+=msg.length;\r
+               }});\r
 }
\ No newline at end of file