From 0825e9e96a6f2d4b71a51d32dae1302f2496c4d1 Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 23 十一月 2023 16:58:27 +0800 Subject: [PATCH] 1.增加了风险模型的跳转逻辑 2.增加了风险模型的组件 --- src/views/risk_assessment/DataIndexRank.vue | 187 +++++++++++++++++++++++++--------------------- 1 files changed, 101 insertions(+), 86 deletions(-) diff --git a/src/views/risk_assessment/DataIndexRank.vue b/src/views/risk_assessment/DataIndexRank.vue index 04e205d..d7c9407 100644 --- a/src/views/risk_assessment/DataIndexRank.vue +++ b/src/views/risk_assessment/DataIndexRank.vue @@ -3,9 +3,12 @@ import AreaAndmonitorType from '@/sfc/AreaAndmonitorType.vue' import { useCommonFunction } from '../../utils/common.js' import requetsApi from '@/api/exportExcel/requetsApi.js' +import statisticApi from '@/api/statistic/statisticApi.js' import dayjs from 'dayjs' import ButtonExportExcel from '@/sfc/ButtonExportExcel.vue' import ButtonClick from '@/sfc/ButtonClick.vue' + + export default { components: { @@ -40,8 +43,8 @@ }, setup() { // 寮曞叆 鐧惧垎鍙锋瘮杈冨ぇ灏� 瀵煎嚭鍔熻兘 - const { cmpp, exportToExcel } = useCommonFunction() - return { cmpp, exportToExcel } + const { cmpp, exportToExcel, percentFormatter } = useCommonFunction() + return { cmpp, exportToExcel, percentFormatter } }, mounted() { @@ -112,9 +115,9 @@ // 鍔熻兘锛氳〃鏍奸珮搴︽牴鎹唴瀹硅嚜閫傚簲 calTableHeight() { const h1 = this.$refs.h1.$el.offsetHeight - const h2 = this.$refs.h2.$el.offsetHeight; + const h2 = this.$refs.h2.$el.offsetHeight // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛 - this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 120px - var(--el-main-padding) * 2`; + this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 120px - var(--el-main-padding) * 2` }, // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂 handleSizeChange(val) { @@ -144,21 +147,27 @@ }, // 鐐瑰嚮缁熻鎸夐挳 - fetchData() { - let params = {} - params['page'] = this.currentPage - params['pageSize'] = this.pageSize - params['siteName'] = '' + fetchData(p) { + const { prop, order } = p ? p : { prop: 'dayAvg', order: 'descending' } + let params = { + page: this.currentPage, + pageSize: this.pageSize, + siteName: '', + orderProp: prop, + //鎺掑簭 ascending 姝e簭锛宒escending 闄嶅簭 + asc: order == 'ascending' + } if (this.form.beginTime) { params['beginTime'] = this.form.beginTime } if (this.form.endTime) { params['endTime'] = this.form.endTime } + this.loading = true this.queryButton = true this.isNoData = false - this.$http.get('/dust/analysistime', { params: params }).then((response) => { + statisticApi.fetchDayStatisticByOrder(params).then((response) => { this.tableData = response.data.data.rows this.loading = false this.queryButton = false @@ -181,84 +190,90 @@ } </script> + + <template> - <el-form :inline="true" :model="form" ref="h1"> - <el-form-item> - <AreaAndmonitorType></AreaAndmonitorType> - </el-form-item> - - <el-form-item> - <TimeShortCuts timeType="currentMonth" @submit-time="giveTime"></TimeShortCuts> - </el-form-item> - - <el-form-item> - <ButtonClick - style="margin-right: 12px" - content="鏁版嵁鎺掑悕" - type="primary" - :loading="queryButton" - @do-search="fetchData" - ></ButtonClick> - <ButtonExportExcel - content="瀵煎嚭鏁版嵁" - type="success" - :loading="exportButton" - @do-export="exportData" - ></ButtonExportExcel> - </el-form-item> - </el-form> - - <el-card v-show="!isNoData"> - <el-table - :data="tableData" - :height="tableHeight" - style="width: 100%" - v-loading="loading" - :cell-class-name="tableCellClassName" - > - <el-table-column - type="index" - prop="name" - label="搴忓彿" - :index="indexMethod" - fixed - show-overflow-tooltip - /> - <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip width="300"> - <template #default="{ row }"> - <el-button type="primary" text @click="openDetail(row)"> - <span class="rank-site">{{row.name - }}</span></el-button> - </template> - </el-table-column> - - <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip /> - - <el-table-column prop="lst" label="鐩戞祴鏃ユ湡" sortable show-overflow-tooltip /> - - <el-table-column prop="dayAvg" label="鏃ュ钩鍧囧��" sortable show-overflow-tooltip /> - <el-table-column prop="min" label="鏃ユ渶灏忓��" sortable show-overflow-tooltip /> - <el-table-column prop="max" label="鏃ユ渶澶у��" sortable show-overflow-tooltip /> - - <el-table-column prop="dayOnline" label="鏃ュ湪绾跨巼" sortable show-overflow-tooltip /> - - <el-table-column prop="dayValid" label="鏃ユ湁鏁堢巼" sortable show-overflow-tooltip /> - - <el-table-column prop="dayExceeding" label="鏃ヨ秴鏍囩巼" sortable show-overflow-tooltip /> - </el-table> - - <el-pagination - ref="h2" - :page-sizes="[10, 20, 50, 100]" - :total="total" - layout="total,sizes, prev, pager, next, jumper" - v-model:current-page="currentPage" - v-model:page-size="pageSize" - @update:current-page="handleCurrentChange" - @update:page-size="handleSizeChange" + <el-form :inline="true" :model="form" ref="h1"> + <el-form-item> + <AreaAndmonitorType></AreaAndmonitorType> + </el-form-item> + <el-form-item> + <TimeShortCuts timeType="currentMonth" @submit-time="giveTime"></TimeShortCuts> + </el-form-item> + <el-form-item> + <ButtonClick + style="margin-right: 12px" + content="鏁版嵁鎺掑悕" + type="primary" + :loading="queryButton" + @do-search="fetchData" + ></ButtonClick> + <ButtonExportExcel + content="瀵煎嚭鏁版嵁" + type="success" + :loading="exportButton" + @do-export="exportData" + ></ButtonExportExcel> + </el-form-item> + </el-form> + <el-card v-show="!isNoData"> + <el-table + :data="tableData" + :height="tableHeight" + style="width: 100%" + v-loading="loading" + :cell-class-name="tableCellClassName" + @sort-change="fetchData" + > + <el-table-column + type="index" + prop="name" + label="搴忓彿" + :index="indexMethod" + fixed + show-overflow-tooltip /> - </el-card> - <el-empty v-show="isNoData" :image-size="200" /> + <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip width="300"> + <template #default="{ row }"> + <el-button type="primary" text @click="openDetail(row)"> + <span class="rank-site">{{ row.name }}</span></el-button + > + </template> + </el-table-column> + <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip /> + <el-table-column prop="lst" label="鐩戞祴鏃ユ湡" sortable="custom" show-overflow-tooltip /> + <el-table-column prop="dayAvg" label="鏃ュ钩鍧囧��" sortable="custom" show-overflow-tooltip /> + <el-table-column prop="min" label="鏃ユ渶灏忓��" sortable="custom" show-overflow-tooltip /> + <el-table-column prop="max" label="鏃ユ渶澶у��" sortable="custom" show-overflow-tooltip /> + <el-table-column prop="dayOnline" label="鏃ュ湪绾跨巼" sortable="custom" show-overflow-tooltip> + <template #default="{ row }"> + {{ percentFormatter(row.dayOnline) }} + </template> + </el-table-column> + <el-table-column prop="dayValid" label="鏃ユ湁鏁堢巼" sortable="custom" show-overflow-tooltip> + <template #default="{ row }"> + {{ percentFormatter(row.dayValid) }} + </template> + </el-table-column> + <el-table-column prop="dayExceeding" label="鏃ヨ秴鏍囩巼" sortable="custom" show-overflow-tooltip> + <template #default="{ row }"> + {{ percentFormatter(row.dayExceeding) }} + </template> + </el-table-column> + </el-table> + + <el-pagination + ref="h2" + :page-sizes="[10, 20, 50, 100]" + :total="total" + layout="total,sizes, prev, pager, next, jumper" + v-model:current-page="currentPage" + v-model:page-size="pageSize" + @update:current-page="handleCurrentChange" + @update:page-size="handleSizeChange" + /> + </el-card> + <el-empty v-show="isNoData" :image-size="200" /> </template> <style scoped> -- Gitblit v1.9.3