jczxsHomep.ss.jsp 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <html lang="cn">
  2. <head>
  3. <meta charset="UTF-8">
  4. <js.ss file="/ss/growHeight.js"/>
  5. <js.ss file="/ss/jquery/jquery.ellipsis.js"/>
  6. <js.ss file="/ss/datePicker/WdatePicker.js"/>
  7. <js.ss file="/ss/edit.js"/>
  8. <js.ss file="/ss/echarts/echarts.js"/>
  9. <style>
  10. #big_pie_zxstjjc${sybjId} > .ss-placeholder-child,
  11. #small_pie > .ss-placeholder-child{
  12. background: transparent;
  13. }
  14. #big_pie_zxstjjc${sybjId} {
  15. display: block;
  16. position: relative;
  17. width: calc(100% - 10px);
  18. margin-left: 5px;
  19. height: calc(100% - 7px);
  20. overflow-y: hidden !important;
  21. }
  22. #big_pie_zxstjjc${sybjId} .pie {
  23. position: absolute !important;
  24. height: 100%;
  25. width: 100%;
  26. }
  27. </style>
  28. <script type="text/javascript">
  29. //饼状图
  30. var bzt${sybjId} = {
  31. option: {
  32. //color:['#4cabce', '#e5323d'],
  33. tooltip: {
  34. grid:{
  35. right:'10%'
  36. },
  37. trigger: 'item',
  38. //formatter: '{b} : {c} ({d}%)'
  39. formatter:function(data){
  40. var num = new Number(data.percent.toFixed(1));
  41. return data.name+ " : " + data.value + " ("+num.toFixed(0)+"%)";
  42. }
  43. },
  44. // title: {
  45. // left: 'left',
  46. // text: '',
  47. // textStyle: {
  48. // fontSize: 12,
  49. // color: '#000000'
  50. // }
  51. // },
  52. series: [{
  53. minAngle: 5,    //最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互
  54. avoidLabelOverlap: true, //是否启用防止标签重叠策略
  55. type: 'pie',
  56. radius: '50%',
  57. center: ['48%', '52%'],
  58. data: [],
  59. itemStyle: {
  60. emphasis: {
  61. shadowBlur: 10,
  62. shadowOffsetX: 0,
  63. shadowColor: 'rgba(0, 0, 0, 0.5)'
  64. },
  65. normal: {
  66. label: {
  67. show: true,
  68. //formatter: '{b} : {c} ({d}%)'
  69. formatter:function(data){
  70. var num = new Number(data.percent.toFixed(1));
  71. return data.name+ " : " + data.value + " ("+num.toFixed(0)+"%)";
  72. }
  73. },
  74. labelLine: {
  75. show: true
  76. }
  77. }
  78. }
  79. }]
  80. }
  81. }
  82. </script>
  83. </head>
  84. <body class="drawer drawer--right" style="background-color: #f2f2f2;overflow-x: hidden;">
  85. <div id="sybj">
  86. <div class="plugin-component-div">
  87. <div id="bt" class="plugin-title hLine-highlightBlod" style="margin-bottom: 5px;">
  88. <span refreshClass="todoPlugin-loadingIcon" class="img-header plugin-icon icon-chart"></span>
  89. <span style="vertical-align: middle;">在校生人数统计(进出)</span>
  90. <span class="icon-setHelpButton" style="position: absolute;right: 49px;top: 12px;">
  91. </span>
  92. <span class="icon-helpButton" style="position: absolute;right: 15px;top: 12px;">
  93. </span>
  94. </div>
  95. <div id="sybjBody" style="height: calc(100% - 50px)!important;width: 100%;box-sizing: border-box;">
  96. <div id="sybjBodyInner" style="height: 100%;">
  97. <div class="smallScrollbar" id="bj${sybjId}" style="height: 100%;">
  98. <div class="graph-list scrollbar">
  99. <div id="big_pie_zxstjjc${sybjId}" style="height:100%;float: left;overflow:hidden;">
  100. </div>
  101. <!--<div style="height:calc(50% - 1px);border-bottom: 1px solid #ccc;">
  102. <div id="big_pie_zxstjjc${sybjId}" style="height:100%;float: left;overflow:hidden;">
  103. </div>
  104. </div>-->
  105. <!--<div id="big_pie_zxstjjc${sybjId}_zxt" style="height:50%;">
  106. </div>-->
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. <script>
  114. initPie_zxstjjc();
  115. function initPie_zxstjjc(val) {
  116. console.log("initPie_zxstjjc")
  117. var vals = val || {};
  118. $.ajax({
  119. type : "get",
  120. url :"<serv.ss name='jczxsHomep_refresh'/>", // "homePluginZxstjjc"。Lin
  121. data : vals,
  122. dataType: 'json',
  123. success : function(res) {
  124. var bzt = res.bzt;
  125. bzt${sybjId}.option.series[0].data=bzt;
  126. var targetDOM = document.getElementById("big_pie_zxstjjc${sybjId}");
  127. ///计算饼图大小
  128. var width = targetDOM.offsetWidth;
  129. var ts = 12; //复制过来的这里不用
  130. if(width>200){
  131. bzt${sybjId}.option.series[0].radius="20%";ts = 7;
  132. }
  133. if(width>300){
  134. bzt${sybjId}.option.series[0].radius="30%";ts = 8;
  135. }
  136. if(width>400){
  137. bzt${sybjId}.option.series[0].radius="35%";ts = 9;
  138. }
  139. if(width>500){
  140. bzt${sybjId}.option.series[0].radius="50%";ts = 10;
  141. }
  142. if(width>600){
  143. bzt${sybjId}.option.series[0].radius="60%";ts = 11;
  144. }
  145. if(width>700){
  146. bzt${sybjId}.option.series[0].radius="65%";ts = 12;
  147. }
  148. var twChart = echarts.init(targetDOM);
  149. twChart.setOption(bzt${sybjId}.option, true);
  150. twChart.on("click", openDetail_zxstjjc${sybjId});
  151. twChart.resize();
  152. window.addEventListener('resize', function () {
  153. twChart.resize()
  154. });
  155. }
  156. });
  157. }
  158. function openDetail_zxstjjc${sybjId}(val){
  159. var tipval = val.data.tipval;
  160. var titmc = val.data.name;
  161. console.log(tipval);
  162. var json = JSON.parse('{"tipval":"' + encodeURI(tipval) + '","titmc":"' + encodeURI(titmc) + '","type":"' + encodeURI("ry") + '"}');
  163. var url = '@service{name:"homePluginZxstjjc_cx",dest:"homePluginZxstjjc_cx",show:"wdDialog",param:{type="wdVal{type}",tipval:"wdVal{tipval}",titmc:"wdVal{titmc}"},width:880,height:600}@';
  164. url = wd.display.replaceDynamicParam(url, json);
  165. eval(url);
  166. }
  167. //3小时刷新一下统计图
  168. var intervalId = window.setInterval(initPie_zxstjjc${sybjId}, 1000 * 60 * 60 * 3);
  169. </script>
  170. </body>
  171. </html>