From b8b2820d1a0a55a5555434a3ec95f8bbec1db06d Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 14 十二月 2023 15:22:54 +0800 Subject: [PATCH] 1.飞行巡检和审核辅助页面中的对话框写成组件 2.增加了数据请求和异常分析配置参数的可视化页面 3.修改了站点输入框,使能够模糊匹配 --- src/views/data_management/HistoryData.vue | 382 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 225 insertions(+), 157 deletions(-) diff --git a/src/views/data_management/HistoryData.vue b/src/views/data_management/HistoryData.vue index 9679a7f..18869d3 100644 --- a/src/views/data_management/HistoryData.vue +++ b/src/views/data_management/HistoryData.vue @@ -1,15 +1,15 @@ <script> -import TimeShortCuts from '@/sfc/TimeShortCuts.vue'; -import ScenarioType from '@/sfc/ScenarioType.vue'; -import InputSearch from '@/sfc/InputSearch.vue'; +import TimeShortCuts from '@/sfc/TimeShortCuts.vue' +import ScenarioType from '@/sfc/ScenarioType.vue' +import InputSearch from '@/sfc/InputSearch.vue' import { ElMessage } from 'element-plus' import AreaAndmonitorType from '@/sfc/AreaAndmonitorType.vue' -import { useCommonFunction } from '../../utils/common.js'; +import { useCommonFunction } from '../../utils/common.js' import requetsApi from '@/api/exportExcel/requetsApi.js' import ButtonClick from '@/sfc/ButtonClick.vue' import ButtonExportExcel from '@/sfc/ButtonExportExcel.vue' -import dayjs from 'dayjs'; +import dayjs from 'dayjs' export default { components: { @@ -33,7 +33,7 @@ endTime: '' }, // 鎼滅储妗嗕紶閫掍笂鏉ョ殑璁惧缂栧彿 - tempMnCode :'', + tempMnCode: '', // 杩斿洖鐨勬暟鎹� tableData: [], // 琛ㄦ牸鏁版嵁 @@ -46,7 +46,7 @@ // 鍔犺浇涓� loading: false, queryButton: false, - exportButton:false, + exportButton: false, // 绌虹姸鎬� isNoData: false, // 宸查�変腑鐨勫満鏅被鍨� @@ -54,36 +54,35 @@ // 琛ㄦ牸楂樺害 tableHeight: '500', // 绔欑偣鎬绘暟閲� - siteNums:0 - }; + siteNums: 0 + } }, setup() { const { isExceedOneMonth, exportToExcel } = useCommonFunction() return { isExceedOneMonth, exportToExcel } }, mounted() { - this.backMinuteDataAWeekAgo(); - this.calTableHeight(); + this.backMinuteDataAWeekAgo() + this.calTableHeight() }, methods: { exportDom() { - let params = { - 'beginTime': this.form.beginTime, - 'endTime': this.form.endTime, + beginTime: this.form.beginTime, + endTime: this.form.endTime } if (this.form.name) { - params['siteName'] = this.form.name; + params['siteName'] = this.form.name } if (this.form.number) { - params['mnCode'] = this.form.numbe; + params['mnCode'] = this.form.numbe } if (this.scenarioType.length != 0) { - params['scenarioType'] = this.scenarioType; + params['scenarioType'] = this.scenarioType } this.exportButton = true - requetsApi.fetchAlSiteData(params).then(res => { + requetsApi.fetchAlSiteData(params).then((res) => { const data = res.data.data if (data.length != 0) { const tableColumns = [ @@ -96,15 +95,22 @@ 'noiseValue', 'lst', 'quality', - 'groupName', - + 'groupName' ] - const excelColumns = [['A1', '绔欑偣鍚嶇О'], - ['B1', '鍦板潃'], ['C1', '渚涘簲鍟�'], ['D1', '璁惧缂栧彿'], - ['E1', '绫诲瀷'], ['F1', '鎵皹娴撳害(mg/m鲁)'], ['G1', '鍣0(dB)'], - ['H1', '閲囬泦鏃堕棿'], ['I1', '绛夌骇'], ['J1', '鎵�鍦ㄥ尯鍘�']] + const excelColumns = [ + ['A1', '绔欑偣鍚嶇О'], + ['B1', '鍦板潃'], + ['C1', '渚涘簲鍟�'], + ['D1', '璁惧缂栧彿'], + ['E1', '绫诲瀷'], + ['F1', '鎵皹娴撳害(mg/m鲁)'], + ['G1', '鍣0(dB)'], + ['H1', '閲囬泦鏃堕棿'], + ['I1', '绛夌骇'], + ['J1', '鎵�鍦ㄥ尯鍘�'] + ] this.exportToExcel(data, tableColumns, excelColumns, '鍘嗗彶鏁版嵁琛�.xlsx') - }else{ + } else { ElMessage('鏃犳暟鎹渶瑕佸鍑�') } this.exportButton = false @@ -112,198 +118,260 @@ }, // 鍔熻兘锛氳〃鏍奸珮搴︽牴鎹唴瀹硅嚜閫傚簲 calTableHeight() { - const h1 = this.$refs.h1.$el.offsetHeight; - const h2 = this.$refs.h2.$el.offsetHeight; + const h1 = this.$refs.h1.$el.offsetHeight + const h2 = this.$refs.h2.$el.offsetHeight // 鍏朵腑涓�涓�40鏄洅瀛愮殑鎬诲杈硅窛 - this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 40px - var(--el-main-padding) * 2`; + this.tableHeight = `calc(100vh - ${h1}px - ${h2}px - 40px - 40px - var(--el-main-padding) * 2` }, giveTime(val) { //灏嗕腑鍥芥爣鍑嗘椂闂磋浆涓烘寚瀹氭牸寮�(璇ョ粍浠惰繑鍥炵殑鏍囧噯鏃堕棿鐨勬牸寮忥紝鎵�浠ュ繀椤荤殑鍔犺繖涓嚱鏁�) - this.form.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss'); - this.form.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss'); + this.form.beginTime = dayjs(val[0]).format('YYYY-MM-DD HH:mm:ss') + this.form.endTime = dayjs(val[1]).format('YYYY-MM-DD HH:mm:ss') }, // 椤靛ぇ灏忔敼鍙樻椂瑙﹀彂 handleSizeChange(val) { - this.pageSize = val; + this.pageSize = val // 鏀瑰彉姣忛〉鏄剧ず鏁扮洰鏃惰烦鍒板綋鍓嶉〉 - this.handleCurrentChange(1); + this.handleCurrentChange(1) }, // 椤靛彿鏀瑰彉鏃惰Е鍙� handleCurrentChange(val) { // 灏嗗綋鍓嶉〉鍙风粰currentPage - this.currentPage = val; + this.currentPage = val // 椤甸潰鍙樺寲鏃惰皟鐢� 鏌ヨ鏁版嵁鍑芥暟 - this.handleSubmit(); + this.handleSubmit() }, //搴忓彿閫掑 indexMethod(index) { - return index + 1 + (this.currentPage - 1) * this.pageSize; + return index + 1 + (this.currentPage - 1) * this.pageSize }, // 鏌ヨ鏁版嵁 handleSubmit() { - - this.loading = true; + this.loading = true this.queryButton = true - let params = {}; - params['page'] = this.currentPage; - params['pageSize'] = this.pageSize; + let params = {} + params['page'] = this.currentPage + params['pageSize'] = this.pageSize if (this.form.name) { - params['siteName'] = this.form.name; + params['siteName'] = this.form.name } if (this.form.number) { - params['mnCode'] = this.form.number; + params['mnCode'] = this.form.number } - params['beginTime'] = this.form.beginTime; - params['endTime'] = this.form.endTime; + params['beginTime'] = this.form.beginTime + params['endTime'] = this.form.endTime if (this.scenarioType.length != 0) { - params['scenarioType'] = this.scenarioType.join(); + params['scenarioType'] = this.scenarioType.join() } this.$http.get('/dust/history1', { params: params }).then((response) => { // 淇濆瓨杩斿洖鐨� - this.tableData = response.data.data.rows; - this.displayData = this.tableData; - this.loading = false; + this.tableData = response.data.data.rows + this.displayData = this.tableData + this.loading = false this.queryButton = false if (response.data.data.total == 0) { - ElMessage('璇ユ椂娈垫棤鏁版嵁'); - this.loading = false; + ElMessage('璇ユ椂娈垫棤鏁版嵁') + this.loading = false this.queryButton = false - this.isNoData = true; - return; + this.isNoData = true + return } - this.total = response.data.data.total; + this.total = response.data.data.total // 绉婚櫎绌烘暟鎹姸鎬� - this.isNoData = false; - }); + this.isNoData = false + }) }, backMinuteDataAWeekAgo() { // 鎵撳紑椤甸潰鍔犺浇鏈�杩戜竴鍛ㄧ殑鏁版嵁 - this.loading = true; + this.loading = true // 缁欒緭鍏ユ璁剧疆榛樿鐨勯�夋嫨椤� - let params = {}; - params['siteName'] = this.form.name; - params['beginTime'] = this.form.beginTime; - params['endTime'] = this.form.endTime; + let params = {} + params['siteName'] = this.form.name + params['beginTime'] = this.form.beginTime + params['endTime'] = this.form.endTime this.$http.get('/dust/history1', { params: params }).then((response) => { // 淇濆瓨杩斿洖鐨� - this.tableData = response.data.data.rows; - this.displayData = this.tableData; + this.tableData = response.data.data.rows + this.displayData = this.tableData if (response.data.data.total == 0) { - ElMessage('璇ユ椂娈垫棤鏁版嵁'); - this.isNoData = true; - return; + ElMessage('璇ユ椂娈垫棤鏁版嵁') + this.isNoData = true + return } - this.total = response.data.data.total; - this.loading = false; - }); - } + this.total = response.data.data.total + this.loading = false + }) + } } -}; +} </script> <template> - <div class="history-container"> - <el-row> - <el-col ref="h1" class="head-row"> - <el-card> - <el-form :inline="true"> - <div class="demo-form-inline"> - <el-row> - <el-col> - <el-form-item> - <AreaAndmonitorType></AreaAndmonitorType> - </el-form-item> + <div class="history-container"> + <el-row> + <el-col ref="h1" class="head-row"> + <el-card> + <el-form :inline="true"> + <div class="demo-form-inline"> + <el-row> + <el-col> + <el-form-item> + <AreaAndmonitorType></AreaAndmonitorType> + </el-form-item> - <el-form-item> - <InputSearch isNeedDefaultSite="1" @submit-value="(n) => (form.name = n)" @submit-site-nums="(n)=>(siteNums=n)"> - </InputSearch> - </el-form-item> - - <el-form-item> - <template #label> - <span class="font-label">璁惧缂栧彿:</span> - </template> - <el-input v-model="form.number" clearable placeholder="璇疯緭鍏�"></el-input> - </el-form-item> - </el-col> + <el-form-item> + <InputSearch + isNeedDefaultSite="1" + @submit-value="(n) => (form.name = n)" + @submit-site-nums="(n) => (siteNums = n)" + > + </InputSearch> + </el-form-item> - <el-col> - <el-form-item> - <TimeShortCuts time-type="week" @submit-time="giveTime"></TimeShortCuts> + <el-form-item> + <template #label> + <span class="font-label">璁惧缂栫爜:</span> + </template> + <el-input v-model="form.number" clearable placeholder="璇疯緭鍏�"></el-input> + </el-form-item> + </el-col> + + <el-col> + <el-form-item> + <TimeShortCuts time-type="week" @submit-time="giveTime"></TimeShortCuts> + </el-form-item> + + <el-form-item> + <ScenarioType @submitScenarioType="(val) => (scenarioType = val)"> + </ScenarioType> + </el-form-item> + </el-col> + </el-row> + </div> + <div class="button-and-export"> + <el-form-item> + <el-tag class="ml-2" type="success" size="large">鐐逛綅鎬绘暟</el-tag> + <span class="tag-text">{{ siteNums }}</span> </el-form-item> <el-form-item> - <ScenarioType @submitScenarioType="(val) => (scenarioType = val)"> - </ScenarioType> - </el-form-item> + <ButtonClick + style="margin-right: 12px" + content="鎼滅储" + type="primary" + :loading="queryButton" + @do-search="handleSubmit" + ></ButtonClick> + <ButtonExportExcel + content="瀵煎嚭鏁版嵁" + type="success" + :loading="exportButton" + @do-export="exportDom" + ></ButtonExportExcel> + </el-form-item> + </div> + </el-form> + </el-card> + </el-col> + <el-col> </el-col> + </el-row> - </el-col> - - - </el-row> - </div> - <div class="button-and-export"> - <el-form-item> - <el-tag class="ml-2" type="success" size="large">绔欑偣鎬绘暟</el-tag> - <span class="tag-text">{{ siteNums }}</span> - </el-form-item> - - <el-form-item> - <ButtonClick style="margin-right: 12px;" content="鎼滅储" type="primary" :loading="queryButton" @do-search="handleSubmit"></ButtonClick> - <ButtonExportExcel content="瀵煎嚭鏁版嵁" type="success" :loading="exportButton" @do-export="exportDom"></ButtonExportExcel> - </el-form-item> - </div> - </el-form> - - </el-card> - </el-col> - <el-col> - - </el-col> - </el-row> - - <el-row> - <el-col v-show="!isNoData"> - - <el-table border size="default" :highlight-current-row="true" :data="displayData" :height="tableHeight" - v-loading="loading"> - <!--缁戝畾涓�涓柟娉曪紝灏嗚繑鍥炲�艰祴缁檌ndex,鍗宠〃鏍兼瘡琛屾暟鎹殑涓嬫爣--> - <el-table-column type="index" label="搴忓彿" align="center" fixed :index="indexMethod"></el-table-column> - <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip></el-table-column> - <el-table-column prop="address" label="鍦板潃" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="dutyCompany" label="杩愮淮鍟�" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip></el-table-column> - <el-table-column prop="typeName" label="绫诲瀷" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="dustValue" label="TSP(mg/m鲁)" align="center" sortable - show-overflow-tooltip></el-table-column> - <el-table-column prop="noiseValue" label="鍣0(dB)" align="center" sortable show-overflow-tooltip></el-table-column> - <el-table-column prop="lst" label="閲囬泦鏃堕棿" sortable align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="quality" label="绛夌骇" align="center" show-overflow-tooltip></el-table-column> - <el-table-column prop="groupName" label="鎵�鍦ㄥ尯鍘�" align="center" show-overflow-tooltip> - </el-table-column> - </el-table> - <!--size-change 鏄痯ageSize 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠�,handleSizeChange鏄簨浠跺鐞嗗嚱鏁� + <el-row> + <el-col v-show="!isNoData"> + <el-table + border + size="default" + :highlight-current-row="true" + :data="displayData" + :height="tableHeight" + v-loading="loading" + > + <!--缁戝畾涓�涓柟娉曪紝灏嗚繑鍥炲�艰祴缁檌ndex,鍗宠〃鏍兼瘡琛屾暟鎹殑涓嬫爣--> + <el-table-column + type="index" + label="搴忓彿" + align="center" + fixed + :index="indexMethod" + ></el-table-column> + <el-table-column prop="name" label="鐐逛綅鍚嶇О" show-overflow-tooltip></el-table-column> + <el-table-column + prop="address" + label="鍦板潃" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="dutyCompany" + label="杩愮淮鍟�" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column prop="mnCode" label="璁惧缂栫爜" show-overflow-tooltip></el-table-column> + <el-table-column + prop="typeName" + label="绫诲瀷" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="dustValue" + label="TSP(mg/m鲁)" + align="center" + sortable + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="noiseValue" + label="鍣0(dB)" + align="center" + sortable + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="lst" + label="閲囬泦鏃堕棿" + sortable + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column + prop="quality" + label="绛夌骇" + align="center" + show-overflow-tooltip + ></el-table-column> + <el-table-column prop="groupName" label="鎵�鍦ㄥ尯鍘�" align="center" show-overflow-tooltip> + </el-table-column> + </el-table> + <!--size-change 鏄痯ageSize 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠�,handleSizeChange鏄簨浠跺鐞嗗嚱鏁� current-change 鏄痗urrentPage 鏀瑰彉鏃朵細瑙﹀彂鐨勪簨浠� --> - <el-pagination ref="h2" background @size-change="handleSizeChange" @current-change="handleCurrentChange" - :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="total" - layout="total,sizes, prev, pager, next, jumper" :current-page="currentPage"></el-pagination> - - </el-col> - <el-empty v-show="isNoData" :image-size="200" /> - - </el-row> -</div> + <el-pagination + ref="h2" + background + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :page-sizes="[10, 20, 50, 100]" + :page-size="pageSize" + :total="total" + layout="total,sizes, prev, pager, next, jumper" + :current-page="currentPage" + ></el-pagination> + </el-col> + <el-empty v-show="isNoData" :image-size="200" /> + </el-row> + </div> </template> -<style scoped> +<style scoped> .history-container { min-width: 1200px; } @@ -340,12 +408,12 @@ .el-table { /* color: #303133 */ - color: rgb(59, 60, 63) + color: rgb(59, 60, 63); } .el-pagination { margin: 10px 10px; } -.tag-text{ +.tag-text { margin-left: 10px; font-size: 14px; } -- Gitblit v1.9.3