You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Index.cshtml 6.3 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. 
  2. @{
  3. ViewBag.Title = "学生学籍统计";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <h2 style="text-align:center">学生学籍统计</h2>
  7. <div style="padding: 20px; padding-top: 50px; display: flex; flex-wrap: wrap;">
  8. <div id="Sex" style="height:500px;width:50%"></div>
  9. <div id="nation" style="height: 500px; width: 50%"></div>
  10. <div id="major" style="height: 500px; width: 50%"></div>
  11. <div id="origin" style="height: 500px; width: 50%"></div>
  12. </div>
  13. <script src="~/Content/echarts/echarts.js"></script>
  14. <style>
  15. body{
  16. overflow-y:scroll
  17. }
  18. </style>
  19. @Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuInfoBasicStatstics/Index.js")
  20. <script>
  21. var bootstrap = function ($, learun) {
  22. "use strict";
  23. $.ajax({
  24. url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasicStatstics/GetStatistics',
  25. type: "GET",
  26. dataType: "json",
  27. async: true,
  28. success: function (res) {
  29. InitSex(res.data.XB)
  30. InitNation(res.data.MZ)
  31. InitMajor(res.data.ZY)
  32. InitOrgin(res.data.SYD)
  33. }
  34. })
  35. }
  36. function InitOrgin(data) {
  37. var chartDom = document.getElementById('origin');
  38. var myChart = echarts.init(chartDom);
  39. var option;
  40. option = {
  41. title: {
  42. text: '生源地统计',
  43. left: 'center'
  44. },
  45. tooltip: {
  46. trigger: 'axis',
  47. axisPointer: {
  48. type: 'shadow'
  49. }
  50. },
  51. grid: {
  52. left: '3%',
  53. right: '4%',
  54. bottom: '3%',
  55. containLabel: true
  56. },
  57. xAxis: [
  58. {
  59. type: 'category',
  60. data: data.map(item => item.name == null ? "无数据" : item.name),
  61. axisTick: {
  62. alignWithLabel: true
  63. },
  64. axisLabel: {
  65. interval: 0,
  66. }
  67. }
  68. ],
  69. yAxis: [
  70. {
  71. type: 'value'
  72. }
  73. ],
  74. series: [
  75. {
  76. name: '数量',
  77. type: 'bar',
  78. barWidth: '60%',
  79. data: data.map(item => item.value),//[10, 52, 200, 334, 390, 330, 220]
  80. }
  81. ]
  82. };
  83. option && myChart.setOption(option);
  84. }
  85. function InitSex(data) {
  86. var chartDom = document.getElementById('Sex');
  87. var myChart = echarts.init(chartDom);
  88. var option;
  89. option = {
  90. title: {
  91. text: '性别统计',
  92. left: 'center'
  93. },
  94. tooltip: {
  95. trigger: 'item'
  96. },
  97. legend: {
  98. orient: 'vertical',
  99. left: 'left'
  100. },
  101. series: [
  102. {
  103. type: 'pie',
  104. radius: '50%',
  105. data: data,
  106. emphasis: {
  107. itemStyle: {
  108. shadowBlur: 10,
  109. shadowOffsetX: 0,
  110. shadowColor: 'rgba(0, 0, 0, 0.5)'
  111. }
  112. }
  113. }
  114. ]
  115. };
  116. option && myChart.setOption(option);
  117. }
  118. function InitNation(data) {
  119. var chartDom = document.getElementById('nation');
  120. var myChart = echarts.init(chartDom);
  121. var option;
  122. option = {
  123. title: {
  124. text: '民族统计',
  125. left: 'center'
  126. },
  127. tooltip: {
  128. trigger: 'axis',
  129. axisPointer: {
  130. type: 'shadow'
  131. }
  132. },
  133. grid: {
  134. left: '3%',
  135. right: '4%',
  136. bottom: '3%',
  137. containLabel: true
  138. },
  139. xAxis: [
  140. {
  141. type: 'category',
  142. data: data.map(item => item.name == null ?"无民族":item.name),//['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
  143. axisTick: {
  144. alignWithLabel: true
  145. },
  146. axisLabel: {
  147. interval: 0,
  148. }
  149. }
  150. ],
  151. yAxis: [
  152. {
  153. type: 'value'
  154. }
  155. ],
  156. series: [
  157. {
  158. name: '数量',
  159. type: 'bar',
  160. barWidth: '60%',
  161. data: data.map(item => item.value),//[10, 52, 200, 334, 390, 330, 220]
  162. }
  163. ]
  164. };
  165. option && myChart.setOption(option);
  166. }
  167. function InitMajor(data) {
  168. var chartDom = document.getElementById('major');
  169. var myChart = echarts.init(chartDom);
  170. var option;
  171. option = {
  172. title: {
  173. text: '专业统计',
  174. left: 'center'
  175. },
  176. tooltip: {
  177. trigger: 'axis',
  178. axisPointer: {
  179. type: 'shadow'
  180. }
  181. },
  182. grid: {
  183. left: '3%',
  184. right: '4%',
  185. bottom: '3%',
  186. containLabel: true
  187. },
  188. xAxis: [
  189. {
  190. type: 'category',
  191. data: data.map(item => item.name == null ?"无专业":item.name),//['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
  192. axisTick: {
  193. alignWithLabel: true
  194. },
  195. axisLabel: {
  196. interval: 0,
  197. }
  198. }
  199. ],
  200. yAxis: [
  201. {
  202. type: 'value'
  203. }
  204. ],
  205. series: [
  206. {
  207. name: '数量',
  208. type: 'bar',
  209. barWidth: '60%',
  210. data: data.map(item => item.value),//[10, 52, 200, 334, 390, 330, 220]
  211. }
  212. ]
  213. };
  214. option && myChart.setOption(option);
  215. }
  216. </script>