rankingCurveDeviationRate.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. // import excelHelper from "@/utils/excelHelper";
  2. export default {
  3. data(){
  4. return {
  5. formInline: {
  6. windfarm: "",
  7. project: "",
  8. line: "",
  9. },
  10. activeName: 'first',
  11. information:'first',
  12. value:'MHS_FDC',
  13. value2:'',
  14. options: [],
  15. time:'',
  16. timemonth:'',
  17. month:'',
  18. timeyear:'',
  19. year:'',
  20. title:'月曲线偏差率排行榜',
  21. daymonth:'',
  22. dayyear:'',
  23. currentPage2: 1,
  24. pagesize: 10,
  25. orderByColumn:'',
  26. isAsc: '',
  27. type:'1',
  28. gridData:[],
  29. dialogFormVisible:false,
  30. fanData:[],
  31. ChartData:[],
  32. dayChartData:[],
  33. Xdata:[],
  34. sjdata:[],
  35. bzdata:[],
  36. eldialogtitle:'',
  37. }
  38. },
  39. created(){
  40. this.API.get('/powercompare/windfarmAjax').then((res) => {
  41. this.options = res.data;
  42. })
  43. this.DeviceRatData();
  44. },
  45. methods:{
  46. queryApData() {
  47. this.DeviceRatData();
  48. },
  49. headStyle() {
  50. return "text-align:center"
  51. },
  52. handleClick(tab) {
  53. this.information = tab.name;
  54. this.DeviceRatData();
  55. },
  56. clickCopy(e) {
  57. this.type = e;
  58. },
  59. tableDatawindturbineName(val) {
  60. if(this.type == "1"){
  61. this.dialogFormVisible = false;
  62. }else{
  63. this.dialogFormVisible = true;
  64. this.Xdata = [];
  65. this.sjdata = [];
  66. this.bzdata = [];
  67. this.fanData = val;
  68. var deviceRateChartData = new URLSearchParams();
  69. if(this.information == 'first'){
  70. this.eldialogtitle = '月曲线偏差率排行';
  71. deviceRateChartData.append('type',this.type);
  72. deviceRateChartData.append('wtId',this.fanData.windturbineid);
  73. this.timeyear = this.year.toString();
  74. deviceRateChartData.append('year',this.timeyear);
  75. this.timemonth = this.month.toString();
  76. if(this.timemonth.substring(6,7) < 10){
  77. this.timemonth = this.timemonth.substring(6,7);
  78. }else{
  79. this.timemonth = this.timemonth.substring(5,7)
  80. }
  81. deviceRateChartData.append('month',this.timemonth);
  82. this.API.post('/leaderboard/curveMonthchatAjax',deviceRateChartData).then((res) =>{
  83. this.ChartData = res.data.datas;
  84. for(let i = 0; i<this.ChartData.length ; i++){
  85. this.Xdata.push(this.ChartData[i].value1);
  86. this.sjdata.push(this.ChartData[i].value2);
  87. this.bzdata.push(this.ChartData[i].value3);
  88. }
  89. this.$nextTick(function() {
  90. this.drawPie('leiDaTu')
  91. })
  92. })
  93. }else if(this.information == 'second'){
  94. this.eldialogtitle = '日曲线偏差率排行';
  95. deviceRateChartData.append('type',this.type);
  96. deviceRateChartData.append('wtId',this.fanData.windturbineid);
  97. deviceRateChartData.append('recorddate',this.time);
  98. this.API.post('/leaderboard/getCurvechatAjax',deviceRateChartData).then((res) =>{
  99. this.ChartData = res.data.datas;
  100. for(let i = 0; i<this.ChartData.length ; i++){
  101. this.Xdata.push(this.ChartData[i].value1);
  102. this.sjdata.push(this.ChartData[i].value2);
  103. this.bzdata.push(this.ChartData[i].value3);
  104. }
  105. this.$nextTick(function() {
  106. this.drawPie('leiDaTu')
  107. })
  108. })
  109. }
  110. }
  111. },
  112. changeTableSort(column){
  113. this.orderByColumn = column.prop;
  114. if(column.order == "descending"){
  115. this.isAsc = 'desc';
  116. }else if(column.order == "ascending"){
  117. this.isAsc = "asc";
  118. }
  119. this.DeviceRatData();
  120. },
  121. DeviceRatData(){
  122. this.gridData = [];
  123. var deviceRatData = new URLSearchParams();
  124. if(this.information == 'first'){
  125. var newData = new Date();
  126. this.updateTime = this.BASE.getBzDate(newData.getTime(), 0);
  127. this.title = '月曲线偏差率排行榜';
  128. deviceRatData.append('pageNum',this.currentPage2);
  129. deviceRatData.append('pageSize',this.pagesize);
  130. deviceRatData.append('orderByColumn',this.orderByColumn);
  131. deviceRatData.append('isAsc',this.isAsc);
  132. deviceRatData.append('wpId',this.value);
  133. if(this.year == ''){
  134. this.year = this.updateTime;
  135. this.year = this.year.slice(0,4);
  136. }else{
  137. this.year = this.year.toString();
  138. }
  139. deviceRatData.append('year',this.year);
  140. if(this.month == ''){
  141. this.month = this.updateTime;
  142. if(this.month.substring(5,7) < 10 ){
  143. this.timemonth = this.month.substring(6,7);
  144. }else{
  145. this.timemonth = this.month.substring(5,7);
  146. }
  147. }else{
  148. if(this.month.substring(5,7) < 10){
  149. this.timemonth = this.month.substring(6,7);
  150. }else{
  151. this.timemonth = this.month.substring(5,7)
  152. }
  153. }
  154. deviceRatData.append('month',this.timemonth);
  155. this.API.post("/leaderboard/curvefittingmonthmainList",deviceRatData).then((res) => {
  156. this.gridData = res.data;
  157. })
  158. }else if(this.information == 'second'){
  159. this.title = '日曲线偏差率排行榜';
  160. deviceRatData.append('pageNum',this.currentPage2);
  161. deviceRatData.append('pageSize',this.pagesize);
  162. deviceRatData.append('orderByColumn',this.orderByColumn);
  163. deviceRatData.append('isAsc',this.isAsc);
  164. deviceRatData.append('wpId',this.value);
  165. var newData = new Date();
  166. this.updateTime = this.BASE.getBzDate(newData.getTime(), 0);
  167. if(this.time == ''){
  168. this.time = this.updateTime;
  169. }
  170. deviceRatData.append('recorddate',this.time);
  171. this.API.post("/leaderboard/curvefittingmainList",deviceRatData).then((res) =>{
  172. this.gridData = res.data;
  173. })
  174. }
  175. },
  176. drawPie() {
  177. this.ECLZX.getCurveDeviationRate("leiDaTu",
  178. ['实际功率(kw)', '保证功率(kw)'],this.Xdata,this.sjdata,this.bzdata);
  179. },
  180. toExcel(){
  181. excelHelper.exportExcel("devicerattable","负荷率排行榜",".xls",true);
  182. }
  183. }
  184. }