tab1.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <template>
  2. <div class="draught-fan-list">
  3. <div class="query mg-b-8">
  4. <div class="query-items">
  5. <div class="query-item">
  6. <div class="lable">场站:</div>
  7. <div class="search-input">
  8. <el-select v-model="wpId" clearable placeholder="请选择" popper-class="select">
  9. <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
  10. </el-select>
  11. </div>
  12. </div>
  13. <div class="query-item">
  14. <div class="lable">日期:</div>
  15. <div class="search-input">
  16. <el-date-picker v-model="recorddate" type="date"
  17. value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
  18. </el-date-picker>
  19. </div>
  20. </div>
  21. </div>
  22. <div class="query-actions">
  23. <button class="btn green" @click="search">搜索</button>
  24. </div>
  25. </div>
  26. <Mlc height="650px" :list="chartData" :units="chartUnit" :showLegend="true" />
  27. </div>
  28. </template>
  29. <script>
  30. import Mlc from "@com/chart/line/multiple-line-chart.vue";
  31. export default {
  32. // 名称
  33. name: "cutAnalyse",
  34. // 使用组件
  35. components: {
  36. Mlc
  37. },
  38. // 数据
  39. data () {
  40. return {
  41. isAsc: "asc",
  42. wpArray: [],
  43. wtArray: [],
  44. wpId: "",
  45. wtId: "MG01_01",
  46. recorddate:new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
  47. chartData: [{
  48. title: "",
  49. yAxisIndex: 0,
  50. value: []
  51. }],
  52. chartUnit: ["功率(万kw)"]
  53. };
  54. },
  55. // 函数
  56. methods: {
  57. // 获取风场
  58. getWp (reGetWp) {
  59. let that = this;
  60. that.API.requestData({
  61. method: "GET",
  62. subUrl: "powercompare/windfarmAjax",
  63. success (res) {
  64. that.wpArray = res.data;
  65. that.wpId = res.data[0].id;
  66. that.getChartData();
  67. }
  68. });
  69. },
  70. // 获取图表数据
  71. getChartData () {
  72. let that = this;
  73. that.API.requestData({
  74. method: "POST",
  75. subUrl: "powersaturation/powersaturationamonutchart",
  76. data: {
  77. wtId: that.wtId
  78. },
  79. success (res) {
  80. const keyArray = [{
  81. key: "value1",
  82. title: "功率"
  83. }];
  84. let chartData = [{
  85. title: "功率",
  86. yAxisIndex: 0,
  87. value: []
  88. }];
  89. keyArray.forEach((keyEle, keyIndex) => {
  90. res.data.forEach(ele => {
  91. chartData[keyIndex].value.push({
  92. text: "",
  93. value: ele[keyEle.key]
  94. });
  95. });
  96. });
  97. that.chartData = chartData;
  98. }
  99. });
  100. },
  101. search () {
  102. if (!this.wpId) {
  103. this.BASE.showMsg({
  104. msg: '场站为必选项'
  105. });
  106. } else {
  107. this.getChartData();
  108. }
  109. }
  110. },
  111. created () {
  112. this.getWp();
  113. },
  114. mounted () { },
  115. unmounted () { },
  116. };
  117. </script>
  118. <style lang="less" scoped>
  119. .draught-fan-list {
  120. width: 100%;
  121. height: 100%;
  122. display: flex;
  123. flex-direction: column;
  124. .btn-group-tabs {
  125. display: flex;
  126. flex-direction: row;
  127. .photovoltaic {
  128. margin-left: 1.481vh;
  129. }
  130. }
  131. .df-table {
  132. border: 0.093vh solid fade(@darkgray, 50%);
  133. position: relative;
  134. overflow: auto;
  135. flex-grow: 1;
  136. margin-top: 1.481vh;
  137. height: 30vh;
  138. &:before {
  139. content: '';
  140. width: 0.37vh;
  141. height: 0.37vh;
  142. background: @write;
  143. position: absolute;
  144. left: 0.278vh;
  145. top: 0.278vh;
  146. }
  147. tbody {
  148. height: calc(100vh - 166px);
  149. }
  150. }
  151. }
  152. </style>