Kaynağa Gözat

页面导出

yl 8 ay önce
ebeveyn
işleme
374e75ab9a

+ 10 - 1
cpp-ui/src/views/abnormalAlarm/index.vue

@@ -38,7 +38,7 @@
           </el-button>
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" style="margin-left: 5px" icon="el-icon-search" @click="beforeQuery">导出
+          <el-button type="primary" style="margin-left: 5px" icon="el-icon-download" @click="exportFile">导出
           </el-button>
         </el-form-item>
       </el-form>
@@ -145,6 +145,15 @@ export default {
   },
   computed: {},
   methods: {
+    exportFile(){
+      this.$refs.xTable.exportData({
+        filename: '告警管理' + new Date().getTime(),
+        type: 'csv',
+        isHeader: true,
+        isFooter: true,
+        data: this.tableData
+      })
+    },
     beforeQuery() {
       this.currentPage = 1
       this.pageSize = 10

+ 11 - 0
cpp-ui/src/views/regulation/dqHistoryContrast/index.vue

@@ -27,6 +27,8 @@
         <el-form-item>
           <el-button type="primary" style="margin-left: 5px" icon="el-icon-search" @click="dataQuery">查询
           </el-button>
+          <el-button type="primary" style="margin-left: 5px" icon="el-icon-download" @click="exportFile">导出
+          </el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -298,6 +300,15 @@ export default {
       this.currentPage = currentPage
       this.pageSize = pageSize
     },
+    exportFile(){
+      this.$refs.xTable.exportData({
+        filename: '短期历史对比' + new Date().getTime(),
+        type: 'csv',
+        isHeader: true,
+        isFooter: true,
+        data: this.tableData
+      })
+    },
     async dataQuery() {
       let startTime = Math.round(this.dateTime[0])
       let endTime = Math.round(this.dateTime[1]) + 1000 * 60 * 60 * 24 - 1

+ 11 - 0
cpp-ui/src/views/regulation/dqRegulationRecord/index.vue

@@ -54,6 +54,8 @@
         <el-form-item>
           <el-button type="primary" style="margin-left: 5px" icon="el-icon-search" @click="beforeQuery">查询
           </el-button>
+          <el-button type="primary" style="margin-left: 5px" icon="el-icon-download" @click="exportFile">导出
+          </el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -430,6 +432,15 @@ export default {
         _this.initChart()
       })
     },
+    exportFile(){
+      this.$refs.xTable.exportData({
+        filename: '短期调控记录' + new Date().getTime(),
+        type: 'csv',
+        isHeader: true,
+        isFooter: true,
+        data: this.tableData
+      })
+    },
     beforeQuery() {
       if (this.biddingStage.length == 0) {
         this.$message.warning("请选择场站进行查询!")

+ 36 - 2
cpp-ui/src/views/regulation/modelAccuracyStatistics/index.vue

@@ -42,8 +42,14 @@
     </div>
     <div id="masChart" style="width: 100%;height: 450px"></div>
     <div v-if="activeName == 'dq'">
-      <vxe-table  ref="shortTermTable"  border v-loading="loading" :data="tableData" class="custom-table" max-height="350px"
-                element-loading-background="rgba(8, 61, 92,1)">
+      <vxe-table
+        ref="shortTermTable"
+        border v-loading="loading"
+        class="custom-table"
+        max-height="350px"
+        element-loading-background="rgba(8, 61, 92,1)"
+        :data="tableData.slice((currentPage-1) * pageSize,currentPage * pageSize)"
+      >
         <vxe-table-column title="场站" align="center" field="station"/>
         <vxe-table-column title="月份" align="center" field="month" :formatter="monthFormatter"/>
         <vxe-table-column title="预测模型" align="center" field="preModels"/>
@@ -51,6 +57,16 @@
         <vxe-table-column title="上报文件短期准确率(%)" align="center" field="uploadShortAccuracy"></vxe-table-column>
         <vxe-table-column title="准确率排名" align="center" field="accuracyRanking"/>
       </vxe-table>
+      <vxe-pager
+        perfect
+        :current-page.sync="currentPage"
+        :page-size.sync="pageSize"
+        :total="total"
+        :page-sizes=[10,50,100]
+        :layouts="['PrevJump', 'PrevPage','JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
+        @page-change="handlePageChange"
+      >
+      </vxe-pager>
     </div>
     <div v-else>
       <vxe-table ref="ultraShortTermTable" border v-loading="loading" :data="tableData" class="custom-table" max-height="300px"
@@ -62,6 +78,16 @@
         <vxe-table-column title="上报文件超短期准确率(%)" align="center" field="uploadShortAccuracy"></vxe-table-column>
         <vxe-table-column title="准确率排名" align="center" field="accuracyRanking"/>
       </vxe-table>
+      <vxe-pager
+        perfect
+        :current-page.sync="currentPage"
+        :page-size.sync="pageSize"
+        :total="total"
+        :page-sizes=[10,50,100]
+        :layouts="['PrevJump', 'PrevPage','JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
+        @page-change="handlePageChange"
+      >
+      </vxe-pager>
     </div>
   </div>
 </template>
@@ -74,6 +100,9 @@ export default {
   name: 'inverterinfo',
   data() {
     return {
+      total: 0,
+      pageSize: 10,
+      currentPage: 1,
       activeName:'dq',
       stationName:'',
       showDeleteButton:true,
@@ -111,6 +140,10 @@ export default {
   },
   computed: {},
   methods: {
+    handlePageChange({currentPage, pageSize}) {
+      this.currentPage = currentPage
+      this.pageSize = pageSize
+    },
     monthFormatter({cellValue, row, column}){
       return cellValue;
     },
@@ -175,6 +208,7 @@ export default {
       this.$axios.get('/accuracyPassRate/getBySingleMonthBetweenAndForecastTypeAndStationCode', {params: queryParams}).then(response => {
         if (response.data){
           this.tableData = response.data || []
+          this.total = response.data.length
         }
       })
     },