misimport.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <template>
  2. <div>
  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-date-picker v-model="timeValue" type="daterange" range-separator="至" start-placeholder="开始日期"
  9. end-placeholder="结束日期">
  10. </el-date-picker>
  11. </div>
  12. </div>
  13. <div class="query-actions">
  14. <button class="btn green" @click="getTableData">查询</button>
  15. </div>
  16. <div class="query-actions">
  17. <el-upload class="upload-demo" ref="upload" action="http://10.155.32.4:8082/misreport/import/data"
  18. :on-preview="handlePreview" :on-success="onSuccess" :on-remove="handleRemove" :before-remove="beforeRemove"
  19. :on-exceed="handleExceed" :auto-upload="true" :limit="1" :before-upload="beforeAvatarUpload" @on-error="onError"
  20. accept=".xls,.xlsx" :file-list="fileList" :show-file-list="false">
  21. <button class="btn green" @click="importExecl">数据导入</button>
  22. </el-upload>
  23. </div>
  24. </div>
  25. </div>
  26. <div>
  27. <el-table height="80vh" ref="multipleTable" empty-text="暂无数据" :data="tableList" :header-cell-style="{
  28. height: '40px',
  29. background: 'rgba(83, 98, 104, 0.2)',
  30. color: '#b2bdc0',
  31. 'border-bottom': '0px solid red',
  32. }" :cell-style="{
  33. height: '40px',
  34. 'border-bottom': 'solid 0px #242424',
  35. }" stripe style="width: 100%; margin-bottom: 10px">
  36. <el-table-column prop="name" label="场站期次" align="center"></el-table-column>
  37. <el-table-column label="风速" align="center">
  38. <el-table-column prop="fs1" label="本期" width="120" align="center">
  39. </el-table-column>
  40. <el-table-column prop="fs2" label="同期" width="120" align="center">
  41. </el-table-column>
  42. </el-table-column>
  43. <el-table-column label="发电量" align="center">
  44. <el-table-column prop="fdl1" label="本期" width="120" align="center">
  45. </el-table-column>
  46. <el-table-column prop="fdl2" label="同期" width="120" align="center">
  47. </el-table-column>
  48. </el-table-column>
  49. <el-table-column label="月发电量" align="center">
  50. <el-table-column prop="ylj1" label="本期" width="120" align="center">
  51. </el-table-column>
  52. <el-table-column prop="ylj2" label="同期" width="120" align="center">
  53. </el-table-column>
  54. </el-table-column>
  55. <el-table-column label="发电量(scada)" align="center">
  56. <el-table-column prop="fdlscada1" label="本期" width="120" align="center">
  57. </el-table-column>
  58. <el-table-column prop="fdlscada2" label="同期" width="120" align="center">
  59. </el-table-column>
  60. </el-table-column>
  61. <el-table-column label="上网电量" align="center">
  62. <el-table-column prop="swdl1" label="本期" width="120" align="center">
  63. </el-table-column>
  64. <el-table-column prop="swdl2" label="同期" width="120" align="center">
  65. </el-table-column>
  66. </el-table-column>
  67. <el-table-column label="综合厂用电量" align="center">
  68. <el-table-column prop="zhcydl1" label="本期" width="120" align="center">
  69. </el-table-column>
  70. <el-table-column prop="zhcydl2" label="同期" width="120" align="center">
  71. </el-table-column>
  72. </el-table-column>
  73. <el-table-column label="综合厂用电量(scada)" align="center">
  74. <el-table-column prop="zhcydlscada1" label="本期" width="120" align="center">
  75. </el-table-column>
  76. <el-table-column prop="zhcydlscada2" label="同期" width="120" align="center">
  77. </el-table-column>
  78. </el-table-column>
  79. </el-table>
  80. </div>
  81. </div>
  82. </template>
  83. <script>
  84. import BASE from "@tools/basicTool.js";
  85. export default {
  86. data() {
  87. return {
  88. fileList: [],
  89. timeValue: [],
  90. tableList: [],
  91. };
  92. },
  93. created() {
  94. if (this.timeValue.length === 0) {
  95. let date = new Date();
  96. this.timeValue[0] = new Date(`${date.getFullYear()}-${date.getMonth()+1}-01`).getTime() ;
  97. this.timeValue[1] = date.getTime();
  98. }
  99. this.getTableData()
  100. },
  101. methods: {
  102. getTableData() {
  103. let that = this;
  104. that.API.requestData({
  105. method: "GET",
  106. subUrl: "misreport/caldata",
  107. timeout: 60000,
  108. data: {
  109. st: new Date(this.timeValue[0]).formatDate("yyyy-MM-dd"),
  110. et: new Date(this.timeValue[1]).formatDate("yyyy-MM-dd"),
  111. },
  112. success(res) {
  113. if (res) {
  114. let tableList = []
  115. res.data.forEach(item => {
  116. item.fdl1 = item.fdl1.toFixed(2),
  117. item.fdl2 = item.fdl2.toFixed(2),
  118. item.fdlscada1 = item.fdlscada1.toFixed(2),
  119. item.fdlscada2 = item.fdlscada2.toFixed(2),
  120. item.fs1 = item.fs1.toFixed(2),
  121. item.fs2 = item.fs2.toFixed(2),
  122. item.swdl1 = item.swdl1.toFixed(2),
  123. item.swdl2 = item.swdl2.toFixed(2),
  124. item.ylj1 = item.ylj1.toFixed(2),
  125. item.ylj2 = item.ylj2.toFixed(2),
  126. item.zhcydl1 = item.zhcydl1.toFixed(2),
  127. item.zhcydl2 = item.zhcydl2.toFixed(2),
  128. item.zhcydlscada1 = item.zhcydlscada1.toFixed(2),
  129. item.zhcydlscada2 = item.zhcydlscada2.toFixed(2),
  130. tableList.push(item)
  131. })
  132. that.tableList = tableList
  133. }
  134. }
  135. })
  136. },
  137. beforeAvatarUpload() {
  138. this.BASE.showLoading();
  139. },
  140. onSuccess() {
  141. this.$message({
  142. message: '上传成功',
  143. type: 'success'
  144. })
  145. this.BASE.closeLoading();
  146. this.$refs.upload.clearFiles();
  147. },
  148. importExecl() {
  149. },
  150. onError() {
  151. this.$message.error('上传失败');
  152. this.BASE.closeLoading();
  153. this.$refs.upload.clearFiles();
  154. },
  155. // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
  156. handleChange(file, fileList) {
  157. this.fileList.push(file.raw);
  158. },
  159. // 文件超出个数限制时的钩子
  160. handleExceed(file, fileList) {
  161. return this.$message.warning("一次只能上传一个文件");
  162. },
  163. },
  164. };
  165. </script>
  166. <style lang="less" scoped>
  167. .query-items {
  168. display: flex;
  169. flex-direction: row;
  170. }
  171. </style>