common.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. function getStartDate(chooseYear){
  2. // 按年度来计算的时候,开始时间是该年度7月1号还是到下一个年的6月30号结束
  3. if(chooseYear == 2016){
  4. return chooseYear + "-08-01";
  5. }else{
  6. return chooseYear+'-07-01';
  7. }
  8. }
  9. //获取结束时间
  10. function getEndDate(chooseYear){
  11. chooseYear = parseInt(chooseYear);
  12. var endDate = new Date((chooseYear+1) + '-06-30'),
  13. now = new Date();
  14. if(now <= endDate){
  15. return now.format("yyyy-MM-dd");
  16. }else{
  17. return (chooseYear+1) + '-06-30';
  18. }
  19. }
  20. /*
  21. * 获取用来排序的字段值,返回数组
  22. * 参数: list - 列表, key - 字段的名称
  23. */
  24. function getKeyValueArr(list, key){
  25. var arr = [];
  26. for(var k in list){
  27. arr.push(list[k][key]);
  28. }
  29. return arr;
  30. }
  31. /*
  32. * 排名
  33. */
  34. function soreRank(arr){
  35. var temp = [];
  36. var lis = [];
  37. for(var i=0;i<arr.length;i++){
  38. lis.push(arr[i]);
  39. }
  40. lis = _.uniq(lis);
  41. for(var i=0;i<arr.length;i++){
  42. temp[i] = lis.indexOf(arr[i])+1;
  43. }
  44. return temp;
  45. }
  46. /*
  47. * 绘制饼图
  48. * arry [{name: '', value: ''}]
  49. * color ['#ffc800', '#17b3ec']
  50. */
  51. function drawPieChart(elId, arry, color){
  52. var myChart = echarts.init(document.getElementById(elId));
  53. var option = {
  54. tooltip: {
  55. trigger: 'item',
  56. formatter: "{b} : {c} ({d}%)",
  57. position: ['50%', '50%']
  58. },
  59. color: color,
  60. series: [
  61. {
  62. type:'pie',
  63. radius: ['80%', '99%'],
  64. startAngle: 270,
  65. legendHoverLink: false,
  66. hoverAnimation: false,
  67. avoidLabelOverlap: false,
  68. label: {
  69. normal: {
  70. show: false,
  71. textStyle: {
  72. color: "#000"
  73. }
  74. }
  75. },
  76. labelLine: {
  77. normal: {
  78. show: false
  79. }
  80. },
  81. data:arry
  82. }]
  83. };
  84. $("#"+elId).removeAttr("_echarts_instance_");
  85. myChart.setOption(option);
  86. }
  87. Date.prototype.format = function(format) {
  88. var o = {
  89. "M+": this.getMonth() + 1, //month
  90. "d+": this.getDate(), //day
  91. "h+": this.getHours(), //hour
  92. "m+": this.getMinutes(), //minute
  93. "s+": this.getSeconds(), //second
  94. "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
  95. "S": this.getMilliseconds() //millisecond
  96. }
  97. if(/(y+)/.test(format)) {
  98. format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  99. }
  100. for(var k in o) {
  101. if(new RegExp("(" + k + ")").test(format)) {
  102. format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
  103. }
  104. }
  105. return format;
  106. }