539day(ajax-fn3.html)

本文介绍了一个简单的AJAX封装方法及其实现过程。通过该封装,可以轻松地发起GET请求并处理服务器返回的数据。示例代码展示了如何定义一个通用的AJAX函数以及如何调用它来获取服务器时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《2019年3月27日》【连续 539天】

标题:ajax-fn3.html;
内容:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>AJAX 返回数据问题</title>
</head>
<body>
  <script>

    // 封装者
    // =============================

    function ajax (method, url, params, done) {
      method = method.toUpperCase()
      var xhr = new XMLHttpRequest()

      if (typeof params === 'object') {
        var tempArr = []
        for (var key in params) {
          var value = params[key]
          tempArr.push(key + '=' + value)
        }
        params = tempArr.join('&')
      }

      if (method === 'GET') {
        url += '?' + params
      }

      xhr.open(method, url, false)

      var data = null
      if (method === 'POST') {
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        data = params
      }

      xhr.onreadystatechange = function () {
        if (this.readyState !== 4) return
        // 不应该在封装的函数中主观的处理响应结果
        // console.log(this.responseText)
        // 你说我太主观,那么你告诉我应该做什么
        done(this.responseText)
      }

      xhr.send(data)
    }

    // 调用者
    // ============================

    var onDone = function (res) {
      console.log('hahahahaha')
      console.log('hohohohoho')
      console.log(res)
      console.log('做完了')
    }

    ajax('get', 'time.php', {}, onDone)

  </script>
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/WEB-INF/tags/inc.jsp"%> <html xmlns="http://www.w3.org/1899/xhtml"> <head> <base href="${ctx }/"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="X-UA-Compatible" content="IE=8"></meta> <title>指标快报</title> <%@ include file="/WEB-INF/tags/css.jsp"%> <%@ include file="/WEB-INF/tags/script.jsp"%> <%@ include file="/WEB-INF/tags/artDialog.jsp"%> <script src="static/echarts2/echarts.js"></script> </head> <body style="margin: 0.5%;"> <form id="form" method="POST"> <div class="impaction"> <div class="quota" id="quotatop"> <!-- 条件选择部分 --> <div class="com-up"> <div class="data-source">截止日期:${statdate}</div> <div class="data-source"> 二级机构: <select id="sel_company"> <c:if test="${fn:length(deptid)==2}"> <option value="00">所有机构</option> <c:forEach var="companylist" items="${companylist}"> <option value="${companylist.prvnccode}">${companylist.prvncname}</option> </c:forEach> </c:if> <c:if test="${fn:length(deptid)==10}"> <c:forEach var="companylist" items="${companylist}"> <option value="${companylist.prvnccode}">${companylist.prvncname}</option> </c:forEach> </c:if> <c:if test="${fn:length(deptid)!=2&&fn:length(deptid)!=10}"> <c:forEach var="companylist" items="${companylist}"> <c:if test="${fn:substring(deptid,0,4)==companylist.prvnccode}"> <option value="${companylist.prvnccode}">${companylist.prvncname}</option> </c:if> </c:forEach> </c:if> </select> </div> <div class="data-source"> 三级机构: <select id="sel_company2"> <option value="00">所有机构</option> <c:forEach var="companylist2" items="${companylist2}"> <option value="${companylist2.citycode}">${companylist2.cityname}</option> </c:forEach> </select> </div> <div class="data-source"> 四级机构: <select id="sel_company3"> <option value="00">所有机构</option> <c:forEach var="companylist3" items="${companylist3}"> <option value="${companylist3.countycode}">${companylist2.countyname}</option> </c:forEach> </select> </div> <div class="data-source"> 渠道: <select id="sel_channel"> <option value="00">所有渠道</option> <c:forEach var="channelist" items="${channelist}"> <option value="${channelist.codecode}">${channelist.codename}</option> </c:forEach> </select> </div> <div class="data-source"> 险类: <select id="sel_class"> <option value="00">所有险类</option> <c:forEach var="classlist" items="${classlist}"> <option value="${classlist.classCode}">${classlist.className}</option> </c:forEach> </select> </div> <div class="data-source"> 业务来源: <select id="sel_bus"> <option value="00">所有来源</option> <c:forEach var="buslist" items="${buslist}"> <option value="${buslist.busssourcecode1}">${buslist.busssourcename1}</option> </c:forEach> </select> </div> <div class="data-source"> 二级: <select id="sel_bus2"> <option value="00">所有来源</option> <c:forEach var="buslist2" items="${buslist2}"> <option value="${buslist2.busssourcecode2}">${buslist2.busssourcename2}</option> </c:forEach> </select> </div> </div> <!-- 同比部分 --> <div class="status"> <ul> <li> <div class="uup" title="核保、起保(核批、生效)日期大者在统计期内我方份额去税的保费之和">保费收入(当年)</div> <div class="ddw"> <span id="top_sumpremium_year" class="number">0.00万</span> <p id="top_sumpremium_yoy" class="word"> 同比<br>- </p> <span id="top_sumpremium_pic" class="cartoon cartoon-up"></span> </div> </li> <li> <div class="uup" title="核保(核批)通过时间在统计期内我方份额去税的保费之和">签单保费(当年)</div> <div class="ddw"> <span id="top_signpremlst_year" class="number">0.00万</span> <p id="top_signpremlst_yoy" class="word"> 同比<br>- </p> <span id="top_signpremlst_pic" class="cartoon cartoon-up"></span> </div> </li> <li> <div class="uup" title="计算时的保费和赔款均来自相同的保单,而且承担的风险也通过1/365法分摊到每一天,未起保的保费作为未到期责任准备金处理">保单年度满期赔付率 </div> <div class="ddw"> <span id="top_bdndmqpfl" class="number">0.00%</span> <p id="top_bdndmqpfl_yoy" class="word"> 同比<br>- </p> <span id="top_bdndmqpfl_pic" class="cartoon cartoon-down"></span> </div> </li> <li style="margin-right: 0;"> <div class="uup" title="统计期内所有已决赔款及新增未决赔款与所有保单(包括统计期内起保或统计期间前起保的保单)在统计期内生成的满期保费的比值">历年制赔付率</div> <div class="ddw"> <span id="top_lnzpfl" class="number">0.00%</span> <p id="top_lnzpfl_yoy" class="word"> 同比<br>- </p> <span id="top_lnzpfl_pic" class="cartoon cartoon-down"></span> </div> </li> </li> </ul> </div> </div> <!-- 仪表盘 --> <div class="dashbord"> <!-- 月日保费 --> <div class="quota" style="width: 50%; float: left;"> <!-- 同比部分 --> <div class="status"> <ul style="margin-top: 10px;"> <li style="width: 46%; margin-right: 4.8%;"> <div class="uup" title="核保、起保(核批、生效)日期大者在统计期内我方份额去税的保费之和">保费收入(当月)</div> <div class="ddw"> <span id="top_sumpremium_month" class="number">0.00万</span> </div> </li> <li style="width: 46%;"> <div class="uup" title="核保(核批)通过时间在统计期内我方份额去税的保费之和">签单保费(当月)</div> <div class="ddw"> <span id="top_signpremlst_month" class="number">0.00万</span> </div> </li> </ul> <ul style="margin-top: 20px;"> <li style="width: 46%; margin-right: 4.8%;"> <div class="uup" title="核保、起保(核批、生效)日期大者在统计期内我方份额去税的保费之和">保费收入(当日)</div> <div class="ddw"> <span id="top_sumpremium_day" class="number">0.00万</span> </div> </li> <li style="width: 46%;"> <div class="uup" title="核保(核批)通过时间在统计期内我方份额去税的保费之和">签单保费(当日)</div> <div class="ddw"> <span id="top_signpremlst_day" class="number">0.00万</span> </div> </li> </ul> </div> </div> <div id="chart13" style="width: 50%; height: 250px; float: right;"></div> </div> <!-- 折线图部分 --> <div class="chart_trend"> <div id="chart3" style="height: 250px; width: 90%; float: left;"></div> <div class="data-source" style="margin: 0.5%; float: right;"> 类型: <select id="sel_echart3" style="width: 40px;"> <option value="00">月</option> <option value="01">周</option> </select> </div> </div> </div> </form> <script type="text/javascript"> $(&#39;#locSpan&#39;,window.parent.document).html("${dq}"); var chart13, chart3; //保费收入 var top_sumpremium_daystr = document.getElementById("top_sumpremium_day");//保费收入当日 var top_sumpremium_monthstr = document.getElementById("top_sumpremium_month");//保费收入当月 var top_sumpremium_yearstr = document.getElementById("top_sumpremium_year");//保费收入当年 var top_sumpremium_yoystr = document.getElementById("top_sumpremium_yoy");//保费收入同比 //签单保费 var top_signpremlst_daystr = document.getElementById("top_signpremlst_day");//签单保费当日 var top_signpremlst_monthstr = document.getElementById("top_signpremlst_month");//签单保费当月 var top_signpremlst_yearstr = document.getElementById("top_signpremlst_year");//签单保费当年 var top_signpremlst_yoystr = document.getElementById("top_signpremlst_yoy");//签单保费同比 //满期赔付率 var top_bdndmqpfl = document.getElementById("top_bdndmqpfl"); var top_bdndmqpfl_yoystr = document.getElementById("top_bdndmqpfl_yoy"); //历年制赔付率 var top_lnzpfl = document.getElementById("top_lnzpfl"); var top_lnzpfl_yoystr = document.getElementById("top_lnzpfl_yoy"); require.config({ paths: { echarts: &#39;${ctx}/static/echarts2&#39; } }); require( [ &#39;echarts&#39;, &#39;echarts/chart/bar&#39;, &#39;echarts/chart/line&#39;, &#39;echarts/chart/gauge&#39; ], function (ec) { chart13 = ec.init(document.getElementById(&#39;chart13&#39;)); chart3 = ec.init(document.getElementById(&#39;chart3&#39;)); if("${deptid}".length<=4){ refreshChart13("${deptid}"); refreshChart3("${deptid}"); }else if("${deptid}".length==6){ refreshChart13("","${deptid}"); refreshChart3("","${deptid}"); } } ); </script> <script type="text/javascript"> //刷新保费收入 function refreshTop(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({ url:&#39;${ctx}/cockpit/chart&#39;, data:{ "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2 }, //dataType:&#39;json&#39;, success:function(data){ if(data!=null && data!=&#39;&#39;){ //刷新保费收入 var sumPremCurDate = (data.sumPremCurDate).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); var sumPremCurMnth = (data.sumPremCurMnth).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); var sumPremCurYear = (data.sumPremCurYear).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); top_sumpremium_daystr.innerText = sumPremCurDate+&#39;万&#39;; top_sumpremium_monthstr.innerText = sumPremCurMnth+&#39;万&#39;; top_sumpremium_yearstr.innerText = sumPremCurYear+&#39;万&#39;; if(data.sumPremLstYear!=0){ top_sumpremium_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+((data.sumPremCurYear-data.sumPremLstYear)/data.sumPremLstYear*100).toFixed(2)+&#39;%&#39;; }else{ top_sumpremium_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } }else{ var a = (0).toFixed(2); top_sumpremium_daystr.innerText = a+&#39;万&#39;; top_sumpremium_monthstr.innerText = a+&#39;万&#39;; top_sumpremium_yearstr.innerText = a+&#39;万&#39;; top_sumpremium_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } //变更保费收入 红上绿下 图标 var top_sumpremium_pic=((data.sumPremCurYear-data.sumPremLstYear)/data.sumPremLstYear).toFixed(2); var top_sumpremium_pic1 = parseFloat(top_sumpremium_pic); if(top_sumpremium_pic1>0){ $("#top_sumpremium_pic").removeClass(&#39;cartoon-down&#39;); $("#top_sumpremium_pic").addClass(&#39;cartoon-up&#39;); }else{ $("#top_sumpremium_pic").removeClass(&#39;cartoon-up&#39;); $("#top_sumpremium_pic").addClass(&#39;cartoon-down&#39;); } }, error:function(){ } }); } </script> <script type="text/javascript"> //刷新签单保费 function refreshTop1(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({ url:&#39;${ctx}/cockpit/chart&#39;, data:{ "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2 }, //dataType:&#39;json&#39;, success:function(data){ if(data!=null && data!=&#39;&#39;){ //刷新签单保费 var signpremcurdate = (data.signpremcurdate).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); var signpremcurmnth = (data.signpremcurmnth).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); var signpremcuryear = (data.signpremcuryear).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, &#39;$1,&#39;); top_signpremlst_daystr.innerText = signpremcurdate+&#39;万&#39;; top_signpremlst_monthstr.innerText = signpremcurmnth+&#39;万&#39;; top_signpremlst_yearstr.innerText = signpremcuryear+&#39;万&#39;; if(data.sumPremLstYear!=0){ top_signpremlst_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+((data.signpremcuryear-data.signpremlstyear)/data.signpremlstyear*100).toFixed(2)+&#39;%&#39;; }else{ top_signpremlst_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } }else{ var a = (0).toFixed(2); top_signpremlst_daystr.innerText = a+&#39;万&#39;; top_signpremlst_monthstr.innerText = a+&#39;万&#39;; top_signpremlst_yearstr.innerText = a+&#39;万&#39;; top_signpremlst_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } //变更签单保费 红上绿下 图标 var top_signpremlst_pic=((data.signpremcuryear-data.signpremlstyear)/data.signpremlstyear).toFixed(2); var top_signpremlst_pic1 = parseFloat(top_signpremlst_pic); if(top_signpremlst_pic1>0){ $("#top_signpremlst_pic").removeClass(&#39;cartoon-down&#39;); $("#top_signpremlst_pic").addClass(&#39;cartoon-up&#39;); }else{ $("#top_signpremlst_pic").removeClass(&#39;cartoon-up&#39;); $("#top_signpremlst_pic").addClass(&#39;cartoon-down&#39;); } }, error:function(){ } }); } </script> <script type="text/javascript"> //刷新保单年度制满期赔付率 function refreshTop2(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({ url:&#39;${ctx}/cockpit/chartbdndmq&#39;, data:{ "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2 }, //dataType:&#39;json&#39;, success:function(data){ if(data!=null && data!=&#39;&#39;){ //刷新保单年度制满期赔付率 var bdndmqpfl = (data.bdndmqpfl).toFixed(2); top_bdndmqpfl.innerText = bdndmqpfl+&#39;%&#39;; if(data.lastrate != 0){ top_bdndmqpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+(data.lastrate).toFixed(2)+&#39;%&#39;; }else{ top_bdndmqpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } }else{ var a = (0).toFixed(2); top_bdndmqpfl.innerText = a+&#39;%&#39;; top_bdndmqpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } //变更保单年度制满期赔付率 红上绿下 图标 var top_bdndmqpfl_pic=((data.bdndmqpfl-data.lastrate)/data.lastrate).toFixed(2); var top_bdndmqpfl_pic1 = parseFloat(top_bdndmqpfl_pic); if(!top_bdndmqpfl_pic1<0){ $("#top_bdndmqpfl_pic").removeClass(&#39;cartoon-down&#39;); $("#top_bdndmqpfl_pic").addClass(&#39;cartoon-up&#39;); }else{ $("#top_bdndmqpfl_pic").removeClass(&#39;cartoon-up&#39;); $("#top_bdndmqpfl_pic").addClass(&#39;cartoon-down&#39;); } }, error:function(){ } }); } </script> <script type="text/javascript"> //刷新历年制赔付率 function refreshTop3(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({ url:&#39;${ctx}/cockpit/chartlnz&#39;, data:{ "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2 }, //dataType:&#39;json&#39;, success:function(data){ if(data!=null && data!=&#39;&#39;){ //刷新历年制赔付率 var lnzpfl = (data.lnzpfl).toFixed(2);//保留2位小数 top_lnzpfl.innerText = lnzpfl+&#39;%&#39;; if(data.lastrate != 0){ top_lnzpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+(data.lastrate).toFixed(2)+&#39;%&#39;; }else{ top_lnzpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } }else{ var a = (0).toFixed(2); top_lnzpfl.innerText = a+&#39;%&#39;; top_lnzpfl_yoystr.innerText = &#39;同比&#39;+&#39;\n&#39;+&#39;-&#39;; } //变更历年制赔付率 红上绿下 图标 var top_lnzpfl_pic=((data.lnzpfl-data.lastrate)/data.lastrate).toFixed(2); var top_lnzpfl_pic1 = parseFloat(top_lnzpfl_pic); if(!top_lnzpfl_pic1<0){ $("#top_lnzpfl_pic").removeClass(&#39;cartoon-down&#39;); $("#top_lnzpfl_pic").addClass(&#39;cartoon-up&#39;); }else{ $("#top_lnzpfl_pic").removeClass(&#39;cartoon-up&#39;); $("#top_lnzpfl_pic").addClass(&#39;cartoon-down&#39;); } }, error:function(){ } }); } </script> <script type="text/javascript"> function refreshChart3(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({//折线图 url:&#39;${ctx}/cockpit/chart3&#39;, data:{ "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2, "selected":$("#sel_echart3 option:selected").val() }, dataType:&#39;json&#39;, success:function(data){ renderChart3(data); }, error:function(){ } }); } </script> <script type="text/javascript"> function renderChart3(data){ var valuePrvnc = $(&#39;#sel_prvnc&#39;).val(); var valueChannel = $(&#39;#sel_channel&#39;).val(); var valueClasscode = $(&#39;#sel_classcode&#39;).val(); var name=data[&#39;Cname&#39;]; if(valuePrvnc == 00 && valueClasscode == 00&& valueChannel == 00){ var option = { grid:{ y : 50,//上边距 y2 : 20, //下边距 borderWidth : 0, background:&#39;#fff&#39; }, title : { text: name!=null?name:&#39;日保费收入趋势图(单位:万)&#39;, x:&#39;460&#39;, y:&#39;10&#39;, textStyle:{ fontSize: 14, //fontWeight: &#39;bolder&#39;, fontFamily:&#39;Microsoft YaHei&#39; , color: &#39;#333&#39; } }, tooltip : { trigger: &#39;item&#39; }, legend: { data:[&#39;同期保费&#39;,&#39;当期保费&#39;] }, xAxis : [ { type : &#39;category&#39;, boundaryGap : false,//类目起始和结束两端空白策略,默认为true留空,false则顶头 data : data.split } ], yAxis : [ { type : &#39;value&#39;, axisLine :false, splitLine:{lineStyle:{ width: 1, type: &#39;dashed&#39;}}, axisLabel : { formatter: &#39;{value}&#39; } } ], series : [ { name:&#39;同期保费&#39;, type:&#39;line&#39;, itemStyle : { normal : { //设置折线图折线点的颜色 color:&#39;#FF7F50&#39;, lineStyle:{ //设置折线图折线颜色 color:&#39;#FF7F50&#39; } } }, data:data.lm }, { name:&#39;日保费目标&#39;, type:&#39;line&#39;, itemStyle : { normal : { //设置折线图折线点的颜色 color:&#39;#1E90FF&#39;, lineStyle:{ //设置折线图折线颜色 color:&#39;#1E90FF&#39; } } }, data:data.gd }, { name:&#39;当期保费&#39;, /* type:&#39;line&#39;, */ type:&#39;line&#39;, itemStyle : { normal : { //设置折线图折线点的颜色 color:&#39;#68B028&#39;, lineStyle:{ //设置折线图折线颜色 color:&#39;#68B028&#39; } } }, data:data.cm } ] }; }else{ var option = { grid:{ x2: 20, y : 50,//上边距 y2 : 20, //下边距 borderWidth : 0, background:&#39;#fff&#39; }, title : { text: name!=null?name:&#39;日保费收入趋势图(单位:万)&#39;, x:&#39;460&#39;, y:&#39;10&#39;, textStyle:{ fontSize: 14, //fontWeight: &#39;bolder&#39;, fontFamily:&#39;Microsoft YaHei&#39; , color: &#39;#333&#39; } }, tooltip : { trigger: &#39;item&#39; }, legend: { x:&#39;left&#39;, data:[&#39;同期保费&#39;,&#39;当期保费&#39;] }, xAxis : [ { type : &#39;category&#39;, //纵向分割线 splitLine : { show : true, lineStyle : { color : &#39;#f5f5f5&#39;, type : &#39;solid&#39;, width : 1 } }, boundaryGap : false,//类目起始和结束两端空白策略,默认为true留空,false则顶头 data : data.split } ], yAxis : [ { type : &#39;value&#39;, axisLine :false, //纵向分割线 splitLine : { show : true, lineStyle : { color : &#39;#f1f1f1&#39;, type : &#39;dashed&#39;, width : 1 } }, axisLabel : { formatter: &#39;{value}&#39; } } ], series : [ { name:&#39;同期保费&#39;, type:&#39;line&#39;, itemStyle : { normal : { //设置折线图折线点的颜色 color:&#39;#FF7F50&#39;, lineStyle:{ //设置折线图折线颜色 color:&#39;#FF7F50&#39; } } }, data:data.lm }, { name:&#39;当期保费&#39;, type:&#39;line&#39;, itemStyle : { normal : { //设置折线图折线点的颜色 color:&#39;#68B028&#39;, lineStyle:{ //设置折线图折线颜色 color:&#39;#68B028&#39; } } }, data:data.cm } ] }; } //为echarts对象加载数据 chart3.clear(); chart3.setOption(option,true); } </script> <script type="text/javascript"> //加载仪表盘 //刷新图表3 function refreshChart13(prvnccode,citycode,countycode,classCode,codecode,busssourcecode1,busssourcecode2){ $.ajax({ url : &#39;${ctx}/cockpit/chart13&#39;, type: &#39;post&#39;, data: { "prvnccode":prvnccode, "citycode":citycode, "countycode":countycode, "classcode":classCode, "codecode":codecode, "busssourcecode1":busssourcecode1, "busssourcecode2":busssourcecode2 }, dataType:&#39;json&#39;, success: function(data){ rendChart13(data); }, error: function(){ //alert(&#39;error&#39;); } }); } </script> <script type="text/javascript"> function rendChart13(data){//仪表盘 option = { title : { x: &#39;center&#39;, text:&#39; 年保费计划完成情况&#39;, textStyle:{ fontSize: 14, fontWeight: &#39;bolder&#39;, fontFamily:&#39;Microsoft YaHei&#39; , color: &#39;#333&#39; } }, tooltip : { formatter: "{a} <br/>{b} : {c}%" }, series : [ { name:&#39;保费计划完成情况&#39;, type:&#39;gauge&#39;, splitNumber: 10, // 分割段数,默认为5 center : [&#39;27%&#39;, &#39;50%&#39;], // 默认全局居中 radius : [0,&#39;84%&#39;], axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 color: [[0.2, &#39;#FF7F50&#39;],[0.8, &#39;#FFAD00&#39;],[1, &#39;#68B028&#39;]], width: 8 } }, axisTick: { // 坐标轴小标记 splitNumber: 10, // 每份split细分多少段 length :12, // 属性length控制线长 lineStyle: { // 属性lineStyle控制线条样式 color: &#39;auto&#39; } }, axisLabel: { // 坐标轴文本标签,详见axis.axisLabel textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE color: &#39;auto&#39; } }, splitLine: { // 分隔线 show: true, // 默认显示,属性show控制显示与否 length :30, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: &#39;auto&#39; } }, pointer : { width : 5 }, title : { show : true, offsetCenter: [0, &#39;-20%&#39;], // x, y,单位px textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: &#39;bolder&#39; } }, detail : { formatter:&#39;{value}%&#39;, textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE color: &#39;auto&#39;, fontWeight: &#39;bolder&#39; } }, data:[{value: data.planRatio.toFixed(2), name: &#39;计划完成率&#39;}] }, { name:&#39;保费完成超进度比例&#39;, type:&#39;gauge&#39;, splitNumber: 10, // 分割段数,默认为5 center : [&#39;75%&#39;, &#39;50%&#39;], // 默认全局居中 radius : [0,&#39;84%&#39;], min:0, max:100, axisLine: { // 坐标轴线 lineStyle: { // 属性lineStyle控制线条样式 color: [[0.2,&#39;#FF7F50&#39;],[0.8, &#39;#FFAD00&#39;], [1, &#39;#68B028&#39;]], width: 8 } }, axisTick: { // 坐标轴小标记 splitNumber: 10, // 每份split细分多少段 length :12, // 属性length控制线长 lineStyle: { // 属性lineStyle控制线条样式 color: &#39;auto&#39; } }, axisLabel: { // 坐标轴文本标签,详见axis.axisLabel textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE color: &#39;auto&#39; } }, splitLine: { // 分隔线 show: true, // 默认显示,属性show控制显示与否 length :30, // 属性length控制线长 lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 color: &#39;auto&#39; } }, pointer : { width : 5 }, title : { show : true, offsetCenter: [0, &#39;-20%&#39;], // x, y,单位px textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE fontWeight: &#39;bolder&#39; } }, detail : { formatter:&#39;{value}%&#39;, textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE color: &#39;auto&#39;, fontWeight: &#39;bolder&#39; } }, /* data:[{value: data.overRatio, name: &#39;时间进度&#39;}] */ /* data:[{value: 0.00, name: &#39;时间进度&#39;}] */ data:[{value: data.overRatio.toFixed(2), name: &#39;时间进度&#39;}] } ] }; chart13.clear(); chart13.setOption(option); } </script> <script type="text/javascript"> $(document).ready(function(){ function ajaxJigou3(){ $("#sel_company2").html(""); $.ajax({//自动获取 type:"post", url:"${ctx }/cockpit/jigou3", dataType:"json", data:{ "prvnccode" : $("#sel_company option:selected").val() }, success:function(sto){ if(sto.length==1&&sto[0].citycode.substring(0,6)=="${deptid}".substring(0,6)){ $.each(sto,function(i,item){ $("#sel_company2").append("<option value="+item.citycode+">"+item.cityname+"</option>"); }); refreshPage(); }else{ $("#sel_company2").append("<option value=&#39;00&#39;>所有机构</option>"); $.each(sto,function(i,item){ $("#sel_company2").append("<option value="+item.citycode+">"+item.cityname+"</option>"); }); } } }); } if($("#sel_company option:selected").val()!=&#39;00&#39;){ ajaxJigou3(); } $("#sel_company").change(function(){ if($("#sel_company option:selected").val()!=&#39;00&#39;){ $("#sel_company3").html(""); $("#sel_company3").append("<option value=&#39;00&#39;>所有机构</option>"); ajaxJigou3(); }else{ $("#sel_company3").html(""); $("#sel_company3").append("<option value=&#39;00&#39;>所有机构</option>"); $("#sel_company2").html(""); $("#sel_company2").append("<option value=&#39;00&#39;>所有机构</option>"); } refreshPage(); }); $("#sel_class").change(function(){ refreshPage(); }); $("#sel_channel").change(function(){ refreshPage(); }); $("#sel_echart3").change(function(){ refreshPage(); }); $("#sel_bus").change(function(){ $("#sel_bus2").html(""); var bus = $("#sel_bus option:selected").val(); if(bus!=&#39;00&#39;){ $.ajax({//自动获取 type:"post", url:"${ctx }/cockpit/chartbs", dataType:"json", data:{ "busssourcecode1" : $("#sel_bus option:selected").val() }, success:function(sto){ $("#sel_bus2").append("<option value=&#39;00&#39;>所有来源</option>"); $.each(sto,function(i,item){ $("#sel_bus2").append("<option value="+item.busssourcecode2+">"+item.busssourcename2+"</option>"); }); } }); }else{ $("#sel_bus2").append("<option value=&#39;00&#39;>所有来源</option>"); } refreshPage(); }); $("#sel_bus2").change(function(){ refreshPage(); }); }); </script> <script type="text/javascript"> $(document).ready(function(){ function ajaxJigou4(){ $("#sel_company3").html(""); $.ajax({//自动获取 type:"post", url:"${ctx }/cockpit/jigou4", dataType:"json", data:{ "citycode" : $("#sel_company2 option:selected").val() }, success:function(sto){ if(sto.length==1&&sto[0].countycode.substring(0,8)=="${deptid}".substring(0,8)){ $.each(sto,function(i,item){ $("#sel_company3").append("<option value="+item.countycode+">"+item.countyname+"</option>"); }); refreshPage(); }else{ $("#sel_company3").append("<option value=&#39;00&#39;>所有机构</option>"); $.each(sto,function(i,item){ $("#sel_company3").append("<option value="+item.countycode+">"+item.countyname+"</option>"); }); } } }); } if($("#sel_company2 option:selected").val()!=&#39;00&#39;){ ajaxJigou4(); } $("#sel_company").change(function(){ $("#sel_company3").html(""); $("#sel_company3").append("<option value=&#39;00&#39;>所有机构</option>"); }); $("#sel_company2").change(function(){ if($("#sel_company2 option:selected").val()!=&#39;00&#39;){ ajaxJigou4(); }else{ $("#sel_company3").html(""); $("#sel_company3").append("<option value=&#39;00&#39;>所有机构</option>"); } refreshPage(); }); $("#sel_company3").change(function(){ refreshPage(); }); $("#sel_class").change(function(){ refreshPage(); }); $("#sel_channel").change(function(){ refreshPage(); }); $("#sel_echart3").change(function(){ refreshPage(); }); $("#sel_bus").change(function(){ $("#sel_bus2").html(""); var bus = $("#sel_bus option:selected").val(); if(bus!=&#39;00&#39;){ $.ajax({//自动获取 type:"post", url:"${ctx }/cockpit/chartbs", dataType:"json", data:{ "busssourcecode1" : $("#sel_bus option:selected").val() }, success:function(sto){ $("#sel_bus2").append("<option value=&#39;00&#39;>所有来源</option>"); $.each(sto,function(i,item){ $("#sel_bus2").append("<option value="+item.busssourcecode2+">"+item.busssourcename2+"</option>"); }); } }); }else{ $("#sel_bus2").append("<option value=&#39;00&#39;>所有来源</option>"); } refreshPage(); }); $("#sel_bus2").change(function(){ refreshPage(); }); }); </script> <script type="text/javascript"> $(document).ready(function(){ var sel_companyVal = $("#sel_company").val(); var sel_company2Val = $("#sel_company2").val(); var sel_company3Val = $("#sel_company3").val(); var sel_channelVal = $("#sel_channel").val(); var sel_classVal = $("#sel_class").val(); var sel_busVal = $("#sel_bus").val(); var sel_bus2Val = $("#sel_bus2").val(); refreshTop(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop1(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop2(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop3(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); }); </script> <script type="text/javascript"> function refreshPage(){ var sel_companyVal = $("#sel_company").val(); var sel_company2Val = $("#sel_company2").val(); var sel_company3Val = $("#sel_company3").val(); var sel_channelVal = $("#sel_channel").val(); var sel_classVal = $("#sel_class").val(); var sel_busVal = $("#sel_bus").val(); var sel_bus2Val = $("#sel_bus2").val(); refreshChart13(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshChart3(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop1(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop2(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); refreshTop3(sel_companyVal,sel_company2Val,sel_company3Val,sel_classVal,sel_channelVal,sel_busVal,sel_bus2Val); } </script> </body> </html> 那这个页面的四级机构是不是也可以使用$(&#39;#company&#39;).combotree({ data: JSON.parse(&#39;${companys}&#39;), // 后端传入的机构数据 panelWidth: 260, // 下拉面板宽度 lines: true, // 显示树形连接线 editable: true, // 允许编辑过滤 multiple: true, // ✅ 关键:启用多选(复选框) prompt: "请选择", // 占位提示文本 onShowPanel: function() { // 展开时移除默认图标 $(&#39;.tree-folder&#39;).remove(); $(&#39;.tree-file&#39;).remove(); } });这段逻辑
最新发布
07-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值