<%-- Created by IntelliJ IDEA. User: molinyi Date: 2017/11/25 0025 Time: 下午 2:04 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> <c:set var="ctx" value="${pageContext.request.contextPath}"/> <html> <head> <title>全网监控智能分析平台</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script src="${ctx}/static/artDialog4.1.7/artDialog.source.js?skin=default"></script> <script src="${ctx}/static/artDialog4.1.7/plugins/iframeTools.source.js"></script> <style> .table-null .table { margin-bottom: 0px; } .table-null .table > tbody > tr > td, .table-null .table > thead > tr > th { text-align: center; width: 25%; } .table-null td:first-child { text-align: right; width: 36%; } .table-null tr td:last-child .form-control, .table-null tr td:last-child table { width: 400px; } .file-box { position: relative; } .file { position: absolute; top: 0; height: 30px; filter: alpha(opacity:0); opacity: 0; width: 470px; cursor: pointer; } </style> </head> <body> <div class="container"> <ol class="breadcrumb"> <li><a href="${ctx}/index">首页</a></li> <li>监控运营</li> <li class="active">告警关联诊断</li> </ol> </div> <div id="main-container main-tab-container"> <div id="content" class="container"> <div class="section"> <div class="tab-content"> <div class="tab-pane fade in active" id="home"> <div class="row"> <div class="col-xs-12"> <div class="table-header">修改关联配置</div> <form action="#" class="form-horizontal" id="modelMaintainForm" method="post" enctype="multipart/form-data"> <table id="modelMaintainTable" class="table-null"> <input type="hidden" id="associationId" value="${anaInfo.associationId}"> <input type="hidden" id="dimKpiSelectedList" value="${dimKpiSelectedList}"> <tr> <td>省份:</td> <td> <select class="form-control" name="proviceTd" id="proviceTd"> <c:forEach var="provice" items="${proviceList}"> <c:choose> <c:when test="${provice.provinceId == anaInfo.provinceId}"> <option value="${provice.provinceId}" selected>${provice.provinceName}</option> </c:when> <c:otherwise> <option value="${provice.provinceId}">${provice.provinceName}</option> </c:otherwise> </c:choose> </c:forEach> </select> </td> </tr> <tr> <td>维度:</td> <td><select class="form-control" name="dimensionTd" id="dimensionTd"> <c:forEach var="modelType" items="${dimensionList}"> <c:choose> <c:when test="${modelType.value == anaInfo.associationType}"> <option value="${modelType.value}" selected>${modelType.name}</option> </c:when> <c:otherwise> <option value="${modelType.value}">${modelType.name}</option> </c:otherwise> </c:choose> </c:forEach> </select></td> </tr> <tr> <td>描述(<font color="red">必填</font>):</td> <td><input type="text" class="form-control" name="descTd" id="descTd" style="display: inline;" value="${anaInfo.assoicationDesc}"/> <span id="writeWarningInf" style="color:red;display: inline;padding-left:10px;"></span></td> </tr> <tr> <td>添加指标:</td> <td><table class="table table-hover table-striped" id="displayParam"> <thead> <tr> <input type="hidden" class="btn btn-default" id="modelReset2"/> <th>指标名称</th><th>权重值</th><th><a href="javascript:deleteAllTr()">删除所有</a></th> </tr> </thead> <tbody id="addTr"> <c:forEach items="${dimKpiSelectedList}" var="dimKpi"> <tr class="${dimKpi.kpiId}" id='dimKpiCheck_${dimKpi.kpiId}'> <td>${dimKpi.name}</td> <c:forEach items="${anaInfo.items}" var="ite"> <c:if test="${ite.kpiId == dimKpi.kpiId}"> <td>${ite.kpiWeight}</td> </c:if> </c:forEach> <td><a href='javascript:void(0);' id="deleteRow" title='${dimKpi.kpiId}' onclick='deleteRow(this)'>删除</a> <a href='javascript:;' onclick='updateRow(this)'>修改</a></td> </tr> </c:forEach> </tbody> </table> </td> </tr> <tr> <tr id="dataSourceTr"> <td>数据源:</td> <td> <c:forEach items="${dataSourceList}" var="dataSource"> <div class="checkbox-inline"> <label> <input type="checkbox" name="dataSourceRadio" onclick="dataSourceRadioClick()" class="provinceDetail" title="${dataSource.dataSourceName}" value="${dataSource.dataSourceId}"/>${dataSource.dataSourceName} </label> </div> </c:forEach> </td> </tr> <tr id="channelTr"> <td>渠道:</td> <td> <%--<div class="checkbox-inline"><label><input type="checkbox" name="channelList" id="channelList" title="allSelect" checked />全选</label></div>--%> <c:forEach items="${channelList}" var="channel"> <div class="checkbox-inline"> <label> <input type="checkbox" name="channelRadio" onclick="channelRadioClick()" class="provinceDetail" title="${channel.channelId}" value="${channel.channelId}"/>${channel.channelName} </label> </div> </c:forEach> </td> </tr> <tr id="businessTr"> <td>业务:</td> <td id="businessActivedListTd"> </td> </tr> <tr id="tr_id_dimkpi"> <td>指标:</td> <td id="dimKpiListTd"> </td> </tr> <tr id="tr_id_weight"> <td>权重(<font color="red">必填</font>):</td> <td><input type="number" class="form-control" name="descTd" id="kpiWeightTd" style="display: inline;" /> <span id="writeWarningInfTd" style="color:red;display: inline;padding-left:10px;"></span></td> </tr> <tr> <td></td> <td> </td> </tr> <tr> <td></td> <td> <button type="button" id="addAnaInfo" class="btn btn-primary">添加勾选指标</button> <button type="button" id="updateAnaInf" class="btn btn-info btn-small"> 修改指标 </button> <button type="button" id="updateAnaInfo" class="btn btn-primary">更新</button> <button type="reset" class="btn btn-default" id="modelReset">取消</button> <button type="button" id="deleteAnaInfo" class="btn btn-danger">删除</button> <button type="reset" class="btn btn-warning" id="modelBack">返回</button> </td> </tr> </table> </form> </div> </div> </div> </div> </div> </div> </div> <%--${anaInfo}--%> <script type="text/javascript"> $(document).ready(function () { $("#tr_id_dimkpi").hide(); $("#tr_id_weight").hide(); $("#addAnaInfo").hide(); $("#modelReset").hide(); $("#modelReset2").hide(); $("#channelTr").hide(); $("#dataSourceTr").hide(); $("#businessTr").hide(); $("#selectAnaInfo").hide(); $("#selectBusiness").hide(); //权重 初始值 kpiWeightTdInitValue = $("#kpiWeightTd").val(); //描述 初始值 descTdInitValue = $("#descTd").val(); }); $("#updateAnaInf").click(function () {//跟新指标按钮 $(this).hide(); $("#tr_id_dimkpi").show(); $("#tr_id_weight").show(); $("#addAnaInfo").show(); $("#modelReset").show(); $("#channelTr").show(); $("#dataSourceTr").show(); $("#businessTr").show(); $("#selectAnaInfo").show(); $("#selectBusiness").show(); }); $("#selectBusiness").click(function () {//查找业务按钮 $("#businessActivedListTd").empty(); //渠道选择值 var channelArray = new Array();// 存放 所选 频道 $("input[name='channelRadio']:checked").each(function (e) { if ($(this).attr("checked")) { channelArray.push($(this).context.value); } }); //数据源选择值 var dataSourceArray = new Array(); $("input[name='dataSourceRadio']:checked").each(function (e) { if ($(this).attr("checked")) { dataSourceArray.push($(this).context.value); } }); $.ajax({ type: 'GET', async: true, contentType: 'application/json', url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/getBusinessByChannelIdListAndDataSourceIdList?dataSourceId=" + dataSourceArray + "&channelId=" + channelArray, dataType: 'text', success: function (data) { var jsonDa = eval('(' + data + ')'); var strcheckBox = ""; for (var i = 0; i < jsonDa.length; i++) { var strInput = "<input type='checkbox' id=BusinessCheck_" + jsonDa[i].businessId + " name='BusinessCheck' onClick='BusinessCheckClick()' class='provinceDetail' title='" + jsonDa[i].businessName + " value='" + jsonDa[i].businessId + "'/><font>" + jsonDa[i].businessName + "</font>" ; strcheckBox += strInput; } $("#businessActivedListTd").append(strcheckBox); } }); }); // 查找 指标 $("#selectAnaInfo").click(function () { //$("#dimKpiListTd").empty(); //获取选择的 业务 var businessSelectedArr = []; $("input[name='BusinessCheck']").each(function (e) { if ($(this).attr("checked")) { businessSelectedArr.push($(this).context.id.split("_")[1]); } }); }); // 更新 $("#updateAnaInfo").click(function () { var kpiId_weight=getkpiIDAndWeightShallSave(); var associationId = $("#associationId").val(); var proviceTdSelected = $("#proviceTd option:selected").val(); var dimensionTdSelected = $("#dimensionTd option:selected").val();//getArrDimensionTdSelected(); var arrDimKpiChecked = getArrDimKpiChecked(); var descTdV = $("#descTd").val(); //var kpiWeightTdV = $("#kpiWeightTd").val(); //var weightDimKpiChecked=getWeightDimKpiChecked(); // 指标 weight //var arrIdAndWeightDimKpiChecked=getArrIdAndWeightDimKpiChecked();// 指标 id_weight /* if(weightDimKpiChecked.length != arrIdAndWeightDimKpiChecked.length ){ $.alert("权重不能为空"); return; }*/ if ($.trim(descTdV) == "") { $.alert("描述不能为空"); return; } /*if ($.trim(kpiWeightTdV) == "") { $.alert("权重不能为空"); return; }*/ if(kpiId_weight.length <= 0){ $.alert("指标不能为空"); return; } $("#updateAnaInfo").attr("disabled","disabled"); $.ajax({ type: 'GET', async: true, contentType: 'application/json', data: { associationId: associationId, proviceTdSelected: proviceTdSelected, dimensionTdSelected: dimensionTdSelected, descTdV: descTdV, }, url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/updateAssociDigConfig?kpiId_weight=" + kpiId_weight, dataType: 'text', success: function (data) { $.alert(data); setTimeout(function () { location.href = "${ctx}/MonitorOperation/AssociateDiagosisConfiguration"; }, 2000); } }); //$("#updateAnaInfo").removeAttr("disabled"); /*$.ajax({ type: 'GET', async: true, contentType: 'application/json', data: { associationId: associationId, proviceTdSelected: proviceTdSelected, dimensionTdSelected: dimensionTdSelected, descTdV: descTdV, /!* kpiWeightTdV: kpiWeightTdV*!/ }, url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/updateAssociDigConfig?arrIdAndWeightDimKpiChecked=" + arrIdAndWeightDimKpiChecked, dataType: 'text', success: function (data) { $.alert(data); setTimeout(function () { location.href = "${ctx}/MonitorOperation/AssociateDiagosisConfiguration"; }, 3000); } });*/ }); $("#deleteAnaInfo").click(function () { $.dialog({ title: "提醒", content: "真的要删除该配置项目?", ok: function () { var associationId = $("#associationId").val(); $.ajax({ type: 'GET', async: true, contentType: 'application/json', data: {associationId: associationId}, url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/deleteAssociDigConfig", dataType: 'text', success: function (data) { $.alert(data); setTimeout(function () { location.href = "${ctx}/MonitorOperation/AssociateDiagosisConfiguration"; }, 2000); } }); }, okValue: "确定", cancel: function () { }, cancelValue: "取消", lock: true }); }); $("#modelBack").click(function () { location.href = "${ctx}/MonitorOperation/AssociateDiagosisConfiguration"; }); function getArrDimKpiChecked() { var arrDimKpiChecked = []; $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { arrDimKpiChecked.push($(this).context.id.split("_")[1]); } }); return arrDimKpiChecked; } function getWeightDimKpiChecked() { var weightDimKpiChecked = []; $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { var kpiWeight_="kpiWeight_"+$(this).context.id.split("_")[1]; var nu=Number($("input[name="+kpiWeight_+"]").val()); if(nu != 0){ weightDimKpiChecked.push(nu); } // weightDimKpiChecked.push(Number($("input[name="+kpiWeight_+"]").val())); } }); return weightDimKpiChecked; } // 指标 id_weight function getArrIdAndWeightDimKpiChecked() { var arrIdAndWeightDimKpiChecked = []; $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { var kpiWeight_="kpiWeight_"+$(this).context.id.split("_")[1]; arrIdAndWeightDimKpiChecked.push($(this).context.id.split("_")[1]+"_"+$("input[name="+kpiWeight_+"]").val()); } }); return arrIdAndWeightDimKpiChecked; } function getArrDimensionTdSelected() { var dimensionTdSelected = []; $("input[name='dimensionTd']").each(function (e) { if ($(this).attr("selected")) { dimensionTdSelected.push($(this).context.id.split("_")[1]); } }); return dimensionTdSelected; } function BusinessCheckClick() { //$("#dimKpiListTd").empty(); //获取选择的 业务 var businessSelectedArr =new Array(); $("input[name='BusinessCheck']").each(function (e) { if ($(this).attr("checked")) { businessSelectedArr.push($(this).context.id.split("_")[1]); } }); if (businessSelectedArr.length < 1) { return; } var dimKpiHadSelectedArr = new Array();//原有的指标 $("#addTr").find("tr").each(function(){ var id=$(this).attr("id"); id=Number(id.split("_")[1]); dimKpiHadSelectedArr.push(id); }); // 重置 指标 一栏 筛选保留原有的 指标 $("input[name='dimKpiCheck']").each(function (e) { if (!$(this).attr("checked")) { $(this).next().remove(); $(this).remove(); } }); var arrdimKpiChecked=getValueOfNamedimKpiCheck(); $.ajax({ type: 'GET', async: true, contentType: 'application/json', url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/getDimKpiListByBusinessIdList?businessIdList=" + businessSelectedArr, dataType: 'text', success: function (data) { var jsonDa = eval('(' + data + ')'); for (var i = 0; i < jsonDa.length; i++) { if (dimKpiHadSelectedArr.indexOf(jsonDa[i].kpiId) >= 0) { continue; } if(arrdimKpiChecked.indexOf(jsonDa[i].kpiId) >= 0){ continue; } var strInput = "<input type='checkbox' id=dimKpiCheck_" + jsonDa[i].kpiId + " name='dimKpiCheck' class='provinceDetail' title='" + jsonDa[i].name + "' value=" + jsonDa[i].kpiId + "'/><font>" + jsonDa[i].name + "</font>"; $("#dimKpiListTd").append(strInput); } } }); } function getValueOfNamedimKpiCheck(){ var arr=new Array(); $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { var dimKpiHadCheckId = Number($(this).attr("id").split("_")[1]); arr.push(dimKpiHadCheckId); } }); return arr; } function getkpiid_NameOfNamedimKpiCheck(){ var arr=new Array(); $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { var dimKpiHadCheckId = Number($(this).attr("id").split("_")[1]); var dimKpiHadCheckName = $(this).attr("title"); arr.push(dimKpiHadCheckId+"_"+dimKpiHadCheckName); } }); return arr; } function doresetDimKpiArr() { var arrDimKpiChecked = []; $("input[name='dimKpiCheck']").each(function (e) { if (!$(this).attr("checked")) { arrDimKpiChecked.push($(this).context.id.split("_")[1]); $(this).remove(); $(this).next().remove(); } }); return arrDimKpiChecked; } function channelRadioClick() { $("#businessActivedListTd").empty(); //渠道选择值 var channelArray = new Array();// 存放 所选 频道 $("input[name='channelRadio']:checked").each(function (e) { if ($(this).attr("checked")) { channelArray.push($(this).context.value); } }); //数据源选择值 var dataSourceArray = new Array(); $("input[name='dataSourceRadio']:checked").each(function (e) { if ($(this).attr("checked")) { dataSourceArray.push($(this).context.value); } }); if (dataSourceArray.length < 1 || channelArray.length < 1) { return; } $.ajax({ type: 'GET', async: true, contentType: 'application/json', url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/getBusinessByChannelIdListAndDataSourceIdList?dataSourceId=" + dataSourceArray + "&channelId=" + channelArray, dataType: 'text', success: function (data) { var jsonDa = eval('(' + data + ')'); var strcheckBox = ""; for (var i = 0; i < jsonDa.length; i++) { var strInput = "<input type='checkbox' id=BusinessCheck_" + jsonDa[i].businessId + " name='BusinessCheck' onClick='BusinessCheckClick()' class='provinceDetail' title='" + jsonDa[i].businessName + " value='" + jsonDa[i].businessId + "'/>" + jsonDa[i].businessName; strcheckBox += strInput; } $("#businessActivedListTd").append(strcheckBox); } }); } function dataSourceRadioClick() { $("#businessActivedListTd").empty(); //渠道选择值 var channelArray = new Array();// 存放 所选 频道 $("input[name='channelRadio']:checked").each(function (e) { if ($(this).attr("checked")) { channelArray.push($(this).context.value); } }); //数据源选择值 var dataSourceArray = new Array(); $("input[name='dataSourceRadio']:checked").each(function (e) { if ($(this).attr("checked")) { dataSourceArray.push($(this).context.value); } }); if (dataSourceArray.length < 1 || channelArray.length < 1) { return; } $.ajax({ type: 'GET', async: true, contentType: 'application/json', url: "${ctx}/MonitorOperation/AssociateDiagosisConfiguration/getBusinessByChannelIdListAndDataSourceIdList?dataSourceId=" + dataSourceArray + "&channelId=" + channelArray, dataType: 'text', success: function (data) { var jsonDa = eval('(' + data + ')'); var strcheckBox = ""; for (var i = 0; i < jsonDa.length; i++) { var strInput = "<input type='checkbox' id=BusinessCheck_" + jsonDa[i].businessId + " name='BusinessCheck' onClick='BusinessCheckClick()' class='provinceDetail' title='" + jsonDa[i].businessName + " value='" + jsonDa[i].businessId + "'/>" + jsonDa[i].businessName; strcheckBox += strInput; } $("#businessActivedListTd").append(strcheckBox); } }); } function deleteRow(e) { $(e).parent().parent().remove(); } function updateRow(e){ var pro=prompt("请输入",$(e).parent().prev()[0].innerHTML); pro=$.trim(pro); if($.isNumeric(pro)){ pro=parseFloat(pro); if(pro >0){ $(e).parent().prev()[0].innerHTML=parseFloat(pro); } } } // '添加勾选指标' 按钮 点击事件 $("#addAnaInfo").click(function () { var arrdimKpiChecked=getValueOfNamedimKpiCheck(); if(arrdimKpiChecked.length <= 0){ $.alert("指标不能为空"); return; } id_kpiWeightTd_value=getValueBykpiWeightTd(); if(id_kpiWeightTd_value == 0){ $.alert("权值不能为空"); return; } var kpiId_Name=getkpiid_NameOfNamedimKpiCheck(); for(var i=0;i<kpiId_Name.length;i++){ var id_name=kpiId_Name[i]; var addRow = $("<tr class='"+id_name.split("_")[0]+"' id='dimKpiCheck_"+id_name.split("_")[0]+"'><td>"+id_name.split("_")[1]+"</td><td>"+id_kpiWeightTd_value+"</td><td><a href='javascript:;' onclick='deleteRow(this)'>删除</a> <a href='javascript:;' onclick='updateRow(this)'>修改</a></td></tr>"); $("#addTr").append(addRow); $("input[name='dimKpiCheck']").each(function (e) { if ($(this).attr("checked")) { $(this).next().remove(); $(this).remove(); } }); } $("#kpiWeightTd").val(""); }); function getkpiIDAndWeightShallSave(){ var arr=new Array(); $("#addTr").find("tr").each(function(){ var id=$(this).attr("id"); id=Number(id.split("_")[1]); var weight=$(this).children('td').eq(1).text(); weight=Number(weight); var id_weight=id+"_"+weight; arr.push(id_weight); }); return arr; } function getValueBykpiWeightTd(){ var val=$("#kpiWeightTd").val(); return Number(val); } $("#modelReset").click(function(){ window.location.reload(); }); //删除所有参数 function deleteAllTr(){ $("#addTr").empty(); } </script> </body> </html>