Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

453 Zeilen
8.1 KiB

  1. //学生到课率预警
  2. var toClassNum = 43;
  3. var toClassBl = $('.toClassBl')
  4. if (toClassNum < 60) {
  5. toClassBl.addClass('red').height(toClassNum + '%')
  6. } else if (toClassNum >= 60 && toClassNum < 80) {
  7. toClassBl.addClass('blue').height(toClassNum + '%')
  8. } else if (toClassNum >= 80) {
  9. toClassBl.addClass('green').height(toClassNum + '%')
  10. }
  11. layui.use('form', function() {
  12. let form = layui.form;
  13. form.render()
  14. //监听select选择 专业总览
  15. form.on('select(zy)', function(data) {
  16. console.log("data==");
  17. });
  18. //监听select选择 课程总览
  19. form.on('select(wh)', function(data) {
  20. console.log("data==");
  21. });
  22. // 学生成绩预警
  23. achWarnEchart()
  24. // 学生逃课预警
  25. skipEchart()
  26. //教师年龄比例
  27. ageEchart()
  28. //教师学历比例
  29. eduEchart()
  30. //专业总览
  31. majorEchart()
  32. //课程总览
  33. classEchart()
  34. });
  35. $(window).load(function(){
  36. $('.index_sec4').height($('.index_sec1').height())
  37. })
  38. //课程总览
  39. function classEchart() {
  40. // 基于准备好的dom,初始化echarts实例
  41. var myChart3 = echarts.init(document.getElementById('class'));
  42. option = {
  43. tooltip: {
  44. trigger: 'axis'
  45. },
  46. series: [{
  47. name: '',
  48. type: 'pie',
  49. radius: [42, 57],
  50. center: ['50%', '50%'],
  51. hoverAnimation: false,
  52. zlevel: 2,
  53. color: ['#59D078', '#8F66E1'],
  54. data: [{
  55. value: 10,
  56. name: '文化课程',
  57. label: {
  58. color: '#FFBA14'
  59. }
  60. },
  61. {
  62. value: 5,
  63. name: '专业课程',
  64. label: {
  65. color: '#4EC5BB'
  66. }
  67. }
  68. ]
  69. },
  70. {
  71. name: '',
  72. type: 'pie',
  73. radius: [70, 85],
  74. center: ['50%', '50%'],
  75. hoverAnimation: false,
  76. color: ['#ECBD02', '#00E7B9'],
  77. data: [{
  78. value: 30,
  79. name: '精品课程',
  80. label: {
  81. color: '#306DF7'
  82. }
  83. },
  84. {
  85. value: 5,
  86. name: '普通课程',
  87. label: {
  88. color: '#E65331'
  89. }
  90. }
  91. ]
  92. }
  93. ]
  94. };
  95. // 使用刚指定的配置项和数据显示图表。
  96. myChart3.setOption(option);
  97. window.addEventListener("resize", function() {
  98. myChart3.resize();
  99. });
  100. }
  101. //专业总览
  102. function majorEchart() {
  103. var myChart5 = echarts.init(document.getElementById('major'));
  104. option = {
  105. tooltip: {
  106. trigger: 'item',
  107. formatter: '{b} : {c}'
  108. },
  109. series: [{
  110. name: '专业学生',
  111. type: 'pie',
  112. radius: [80, 95],
  113. center: ['50%', '50%'],
  114. label: {
  115. // show: true
  116. show: false
  117. },
  118. color: ['#6C5CEA', '#57C5F5', '#E7C900', '#FF9C95', '#59D078', '#C97FEF', '#ECBD02', '#DF59B8', '#F6685E',
  119. '#00E7B9', '#7A74F1', '#4A9ADE', '#33F0E5', '#ECBD02', '#DF59B8'
  120. ],
  121. // hoverAnimation: false,
  122. data: [{
  123. value: 10,
  124. name: '物理',
  125. },
  126. {
  127. value: 5,
  128. name: '数学',
  129. },
  130. {
  131. value: 15,
  132. name: '化学',
  133. },
  134. {
  135. value: 15,
  136. name: '历史',
  137. },
  138. {
  139. value: 5,
  140. name: '医学',
  141. },
  142. {
  143. value: 15,
  144. name: '计算机',
  145. },
  146. {
  147. value: 15,
  148. name: '矿业',
  149. }
  150. ]
  151. }, {
  152. name: '班级总数',
  153. type: 'pie',
  154. radius: [50, 65],
  155. center: ['15%', '50%'],
  156. label: {
  157. // show: true
  158. show: false
  159. },
  160. color: ['#59D078', '#57C5F5', '#E7C900'],
  161. // hoverAnimation: false,
  162. data: [{
  163. value: 10,
  164. name: '班级总数',
  165. }]
  166. }, {
  167. name: '专业教室',
  168. type: 'pie',
  169. radius: [50, 65],
  170. center: ['85%', '50%'],
  171. label: {
  172. // show: true
  173. show: false
  174. },
  175. color: ['#3E49E2', '#677BF5', '#67A0F5', '#E7C900'],
  176. // hoverAnimation: false,
  177. data: [{
  178. value: 10,
  179. name: '教室1',
  180. }, {
  181. value: 5,
  182. name: '教室2',
  183. }, {
  184. value: 20,
  185. name: '教室3',
  186. }, {
  187. value: 30,
  188. name: '教室4',
  189. }]
  190. }, ]
  191. };
  192. // 使用刚指定的配置项和数据显示图表。
  193. myChart5.setOption(option);
  194. window.addEventListener("resize", function() {
  195. myChart5.resize();
  196. });
  197. }
  198. //教师学历比例
  199. function eduEchart() {
  200. var myChart6 = echarts.init(document.getElementById('education'));
  201. option = {
  202. tooltip: {
  203. formatter: function(n) { //"{a} <br/>{b} : {d}({c}%)"
  204. //console.log(n)
  205. return n.name + '<br/>' + n.value + '人' + '(' + n.percent + '%)'
  206. }
  207. },
  208. // calculable: true,
  209. series: [{
  210. name: '教师学历比例',
  211. type: 'funnel',
  212. width: '100%',
  213. height: '80%',
  214. x: '0%',
  215. y: '10%',
  216. sort: 'ascending',
  217. label: {
  218. // show: false,
  219. position: 'center'
  220. },
  221. labelLine: {
  222. show: false,
  223. },
  224. color: ['#F6685E', '#ECBD02', '#67A0F5', '#198BE3', '#F6685E', '#DEBC03', '#0BB56C', '#CB1FA1'],
  225. data: [{
  226. value: 50,
  227. name: '博士'
  228. },
  229. {
  230. value: 30,
  231. name: '硕士'
  232. },
  233. {
  234. value: 20,
  235. name: '本科'
  236. },
  237. {
  238. value: 10,
  239. name: '专科'
  240. }
  241. ]
  242. }]
  243. };
  244. // 使用刚指定的配置项和数据显示图表。
  245. myChart6.setOption(option);
  246. window.addEventListener("resize", function() {
  247. myChart6.resize();
  248. });
  249. }
  250. // 教师年龄比例
  251. function ageEchart() {
  252. var myChart6 = echarts.init(document.getElementById('age'));
  253. option = {
  254. tooltip: {
  255. trigger: 'item',
  256. formatter: '{b} : {c} ({d}%)'
  257. },
  258. legend: {
  259. orient: 'vertical',
  260. textStyle: { //图例文字的样式
  261. color: '#424242',
  262. fontSize: 10
  263. },
  264. left: 0,
  265. bottom: 0,
  266. itemWidth: 8,
  267. itemHeight: 8,
  268. data: ['20~30岁', '30~40岁', '40~50岁', '50~60岁', '60岁以上']
  269. },
  270. color: ['#00E7B9', '#7486F1', '#FCF13E', '#ECBD02', '#F6685E', '#DEBC03', '#0BB56C', '#CB1FA1'],
  271. series: [{
  272. name: '教师年龄比例',
  273. type: 'pie',
  274. radius: [30, 50],
  275. center: ['55%', '50%'],
  276. label: {
  277. show: true
  278. },
  279. roseType: 'radius',
  280. data: [{
  281. value: 10,
  282. name: '20~30岁',
  283. },
  284. {
  285. value: 20,
  286. name: '30~40岁',
  287. },
  288. {
  289. value: 30,
  290. name: '40~50岁',
  291. },
  292. {
  293. value: 20,
  294. name: '50~60岁',
  295. },
  296. {
  297. value: 30,
  298. name: '60岁以上',
  299. }
  300. ]
  301. }]
  302. };
  303. // 使用刚指定的配置项和数据显示图表。
  304. myChart6.setOption(option);
  305. window.addEventListener("resize", function() {
  306. myChart6.resize();
  307. });
  308. }
  309. // 学生逃课预警
  310. function skipEchart() {
  311. // 基于准备好的dom,初始化echarts实例
  312. var myChart8 = echarts.init(document.getElementById('skipClass'));
  313. option = {
  314. tooltip: {
  315. formatter: '{a} : {c}%'
  316. },
  317. series: [{
  318. name: '学生逃课预警',
  319. type: 'gauge',
  320. radius: "70%",
  321. center: ["50%", "50%"],
  322. axisLine: {
  323. show: true,
  324. lineStyle: {
  325. color: [ //表盘颜色
  326. [0.6, "#0AB56B"], //0-50%处的颜色
  327. [0.8, "#64CDFE"], //51%-70%处的颜色
  328. [1, "#E44E4E"], //70%-90%处的颜色
  329. ],
  330. width: 15 //表盘宽度
  331. }
  332. },
  333. splitLine: {
  334. show: false,
  335. },
  336. axisLabel: {
  337. show: true,
  338. formatter: function(v) {
  339. // console.log(v)
  340. switch (v + '') {
  341. case '30':
  342. return '低';
  343. case '70':
  344. return '中';
  345. case '90':
  346. return '高';
  347. }
  348. },
  349. distance: -50 //文字离表盘的距离
  350. },
  351. axisTick: {
  352. show: false,
  353. },
  354. detail: {
  355. formatter: "{score|{value}%}",
  356. offsetCenter: [0, "80%"],
  357. height: 30,
  358. rich: {
  359. score: {
  360. fontSize: 16
  361. }
  362. }
  363. },
  364. data: [{
  365. value: 75.59,
  366. name: '',
  367. label: {
  368. textStyle: {
  369. fontSize: 12
  370. }
  371. }
  372. }]
  373. }]
  374. };
  375. // 使用刚指定的配置项和数据显示图表。
  376. myChart8.setOption(option);
  377. window.addEventListener("resize", function() {
  378. myChart8.resize();
  379. });
  380. }
  381. // 学生成绩预警
  382. function achWarnEchart() {
  383. var myChart5 = echarts.init(document.getElementById('achWarn'));
  384. option = {
  385. tooltip: {
  386. trigger: 'item',
  387. formatter: '{b} : {c} ({d}%)'
  388. },
  389. color: ['#EB5858', '#FB8383', '#FDACAC', '#FECACA', '#FFE2E2', '#DEBC03', '#0BB56C', '#CB1FA1'],
  390. series: [{
  391. name: '全校',
  392. type: 'pie',
  393. radius: [50, 60],
  394. center: ['50%', '50%'],
  395. label: {
  396. // show: false
  397. },
  398. hoverAnimation: false,
  399. data: [{
  400. value: 10,
  401. name: '语文',
  402. },
  403. {
  404. value: 5,
  405. name: '数学',
  406. },
  407. {
  408. value: 15,
  409. name: '英语',
  410. },
  411. {
  412. value: 15,
  413. name: '其他',
  414. }
  415. ]
  416. }]
  417. };
  418. // 使用刚指定的配置项和数据显示图表。
  419. myChart5.setOption(option);
  420. window.addEventListener("resize", function() {
  421. myChart5.resize();
  422. });
  423. }