From 3c93d885a3bc6a84079cc347bb30888d5fb98f11 Mon Sep 17 00:00:00 2001 From: chenyabin <Chenab123!> Date: 星期二, 13 四月 2021 15:45:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/conf/layers/LayerPipeLines.js | 2 public/assets/imgs/legend/YanChen.png | 0 public/assets/imgs/legend/SO2.png | 0 src/api/mapApi.js | 4 src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue | 48 + public/assets/imgs/legend/red_airquality.png | 0 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue | 83 +++ src/conf/layers/LayerBasin.js | 12 public/assets/imgs/legend/green_airquality.png | 0 public/assets/imgs/legend/zlj.png | 0 public/assets/imgs/legend/cqj.png | 0 public/assets/imgs/legend/gwtl4.png | 0 public/assets/imgs/legend/zsj.png | 0 src/conf/layers/LayerHbss.js | 2 public/assets/imgs/legend/grn.png | 0 public/assets/imgs/legend/yellow_airquality.png | 0 public/assets/imgs/legend/orange_airquality.png | 0 public/assets/imgs/legend/WenDu.png | 0 public/assets/imgs/legend/image12.gif | 0 public/assets/imgs/legend/gwtl3.png | 0 src/components/LayerController/logic/WasteGas.js | 12 src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue | 6 src/conf/layers/LayerFsss.js | 14 src/api/mapUrl.js | 1 src/components/BaseNav/PublicBounced/PublicBounced.vue | 10 public/assets/imgs/legend/orange.png | 0 public/assets/imgs/legend/image9.gif | 0 public/assets/imgs/legend/gwtl2.png | 0 public/assets/imgs/legend/marker_p_1.png | 0 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue | 59 ++ public/assets/imgs/legend/purple.png | 0 src/components/BaseNav/PublicBounced/GasComponents/EChartsTable.vue | 140 +++++ public/assets/imgs/legend/marker_p_2.png | 0 public/assets/imgs/legend/cyj.png | 0 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue | 68 ++ src/assets/css/map/map-panel-style.less | 247 ++++++--- src/conf/layers/LayerArea.js | 9 public/assets/imgs/legend/gray.png | 0 public/assets/imgs/legend/image15.gif | 0 src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue | 61 ++ src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue | 2 src/components/panel/RightSearchPanel.vue | 483 ++++++++++-------- public/assets/imgs/legend/green_airquality_2.png | 0 src/views/MapTemplate.vue | 2 src/components/LayerController/service/LayerFactory.js | 41 + public/assets/imgs/legend/red.png | 0 src/conf/layers/LayerSewers.js | 5 public/assets/imgs/legend/NOX.png | 0 public/assets/imgs/legend/green_airquality_3.png | 0 public/assets/imgs/legend/green.png | 0 public/assets/imgs/legend/gwtl.png | 0 public/assets/imgs/legend/zongdan.png | 0 package.json | 2 public/assets/imgs/legend/blue.png | 0 src/components/panel/topicSearch/SewersSearch.vue | 145 +++-- public/assets/imgs/legend/VOCs.png | 0 public/assets/imgs/legend/yellow.png | 0 src/components/LayerController/logic/SolidWaste.js | 4 58 files changed, 1,074 insertions(+), 388 deletions(-) diff --git a/package.json b/package.json index aa3ea33..10c11c1 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@jiaminghi/data-view": "^2.10.0", - "axios": "^0.18.0", + "axios": "^0.21.1", "babel-polyfill": "^6.26.0", "core-js": "^3.6.5", "dayjs": "^1.10.4", diff --git a/public/assets/imgs/legend/NOX.png b/public/assets/imgs/legend/NOX.png new file mode 100644 index 0000000..98b699e --- /dev/null +++ b/public/assets/imgs/legend/NOX.png Binary files differ diff --git a/public/assets/imgs/legend/SO2.png b/public/assets/imgs/legend/SO2.png new file mode 100644 index 0000000..0e2887e --- /dev/null +++ b/public/assets/imgs/legend/SO2.png Binary files differ diff --git a/public/assets/imgs/legend/VOCs.png b/public/assets/imgs/legend/VOCs.png new file mode 100644 index 0000000..21cfbf8 --- /dev/null +++ b/public/assets/imgs/legend/VOCs.png Binary files differ diff --git a/public/assets/imgs/legend/WenDu.png b/public/assets/imgs/legend/WenDu.png new file mode 100644 index 0000000..74401e7 --- /dev/null +++ b/public/assets/imgs/legend/WenDu.png Binary files differ diff --git a/public/assets/imgs/legend/YanChen.png b/public/assets/imgs/legend/YanChen.png new file mode 100644 index 0000000..d7d2517 --- /dev/null +++ b/public/assets/imgs/legend/YanChen.png Binary files differ diff --git a/public/assets/imgs/legend/blue.png b/public/assets/imgs/legend/blue.png new file mode 100644 index 0000000..8943f6a --- /dev/null +++ b/public/assets/imgs/legend/blue.png Binary files differ diff --git a/public/assets/imgs/legend/cqj.png b/public/assets/imgs/legend/cqj.png new file mode 100644 index 0000000..cd4d1f6 --- /dev/null +++ b/public/assets/imgs/legend/cqj.png Binary files differ diff --git a/public/assets/imgs/legend/cyj.png b/public/assets/imgs/legend/cyj.png new file mode 100644 index 0000000..639f7da --- /dev/null +++ b/public/assets/imgs/legend/cyj.png Binary files differ diff --git a/public/assets/imgs/legend/gray.png b/public/assets/imgs/legend/gray.png new file mode 100644 index 0000000..4915b70 --- /dev/null +++ b/public/assets/imgs/legend/gray.png Binary files differ diff --git a/public/assets/imgs/legend/green.png b/public/assets/imgs/legend/green.png new file mode 100644 index 0000000..80463ea --- /dev/null +++ b/public/assets/imgs/legend/green.png Binary files differ diff --git a/public/assets/imgs/legend/green_airquality.png b/public/assets/imgs/legend/green_airquality.png new file mode 100644 index 0000000..67f1d1c --- /dev/null +++ b/public/assets/imgs/legend/green_airquality.png Binary files differ diff --git a/public/assets/imgs/legend/green_airquality_2.png b/public/assets/imgs/legend/green_airquality_2.png new file mode 100644 index 0000000..ca7b11b --- /dev/null +++ b/public/assets/imgs/legend/green_airquality_2.png Binary files differ diff --git a/public/assets/imgs/legend/green_airquality_3.png b/public/assets/imgs/legend/green_airquality_3.png new file mode 100644 index 0000000..d5f6a73 --- /dev/null +++ b/public/assets/imgs/legend/green_airquality_3.png Binary files differ diff --git a/public/assets/imgs/legend/grn.png b/public/assets/imgs/legend/grn.png new file mode 100644 index 0000000..70b4321 --- /dev/null +++ b/public/assets/imgs/legend/grn.png Binary files differ diff --git a/public/assets/imgs/legend/gwtl.png b/public/assets/imgs/legend/gwtl.png new file mode 100644 index 0000000..2c1460d --- /dev/null +++ b/public/assets/imgs/legend/gwtl.png Binary files differ diff --git a/public/assets/imgs/legend/gwtl2.png b/public/assets/imgs/legend/gwtl2.png new file mode 100644 index 0000000..87c2011 --- /dev/null +++ b/public/assets/imgs/legend/gwtl2.png Binary files differ diff --git a/public/assets/imgs/legend/gwtl3.png b/public/assets/imgs/legend/gwtl3.png new file mode 100644 index 0000000..1dcbce3 --- /dev/null +++ b/public/assets/imgs/legend/gwtl3.png Binary files differ diff --git a/public/assets/imgs/legend/gwtl4.png b/public/assets/imgs/legend/gwtl4.png new file mode 100644 index 0000000..391f82c --- /dev/null +++ b/public/assets/imgs/legend/gwtl4.png Binary files differ diff --git a/public/assets/imgs/legend/image12.gif b/public/assets/imgs/legend/image12.gif new file mode 100644 index 0000000..f9b38b2 --- /dev/null +++ b/public/assets/imgs/legend/image12.gif Binary files differ diff --git a/public/assets/imgs/legend/image15.gif b/public/assets/imgs/legend/image15.gif new file mode 100644 index 0000000..15b1353 --- /dev/null +++ b/public/assets/imgs/legend/image15.gif Binary files differ diff --git a/public/assets/imgs/legend/image9.gif b/public/assets/imgs/legend/image9.gif new file mode 100644 index 0000000..9bbd325 --- /dev/null +++ b/public/assets/imgs/legend/image9.gif Binary files differ diff --git a/public/assets/imgs/legend/marker_p_1.png b/public/assets/imgs/legend/marker_p_1.png new file mode 100644 index 0000000..fc4a504 --- /dev/null +++ b/public/assets/imgs/legend/marker_p_1.png Binary files differ diff --git a/public/assets/imgs/legend/marker_p_2.png b/public/assets/imgs/legend/marker_p_2.png new file mode 100644 index 0000000..ee33170 --- /dev/null +++ b/public/assets/imgs/legend/marker_p_2.png Binary files differ diff --git a/public/assets/imgs/legend/orange.png b/public/assets/imgs/legend/orange.png new file mode 100644 index 0000000..cf3ceaf --- /dev/null +++ b/public/assets/imgs/legend/orange.png Binary files differ diff --git a/public/assets/imgs/legend/orange_airquality.png b/public/assets/imgs/legend/orange_airquality.png new file mode 100644 index 0000000..c36469a --- /dev/null +++ b/public/assets/imgs/legend/orange_airquality.png Binary files differ diff --git a/public/assets/imgs/legend/purple.png b/public/assets/imgs/legend/purple.png new file mode 100644 index 0000000..b206049 --- /dev/null +++ b/public/assets/imgs/legend/purple.png Binary files differ diff --git a/public/assets/imgs/legend/red.png b/public/assets/imgs/legend/red.png new file mode 100644 index 0000000..9e29f57 --- /dev/null +++ b/public/assets/imgs/legend/red.png Binary files differ diff --git a/public/assets/imgs/legend/red_airquality.png b/public/assets/imgs/legend/red_airquality.png new file mode 100644 index 0000000..d43ca40 --- /dev/null +++ b/public/assets/imgs/legend/red_airquality.png Binary files differ diff --git a/public/assets/imgs/legend/yellow.png b/public/assets/imgs/legend/yellow.png new file mode 100644 index 0000000..f1f339f --- /dev/null +++ b/public/assets/imgs/legend/yellow.png Binary files differ diff --git a/public/assets/imgs/legend/yellow_airquality.png b/public/assets/imgs/legend/yellow_airquality.png new file mode 100644 index 0000000..567af17 --- /dev/null +++ b/public/assets/imgs/legend/yellow_airquality.png Binary files differ diff --git a/public/assets/imgs/legend/zlj.png b/public/assets/imgs/legend/zlj.png new file mode 100644 index 0000000..79a22ab --- /dev/null +++ b/public/assets/imgs/legend/zlj.png Binary files differ diff --git a/public/assets/imgs/legend/zongdan.png b/public/assets/imgs/legend/zongdan.png new file mode 100644 index 0000000..55639d9 --- /dev/null +++ b/public/assets/imgs/legend/zongdan.png Binary files differ diff --git a/public/assets/imgs/legend/zsj.png b/public/assets/imgs/legend/zsj.png new file mode 100644 index 0000000..f7d6414 --- /dev/null +++ b/public/assets/imgs/legend/zsj.png Binary files differ diff --git a/src/api/mapApi.js b/src/api/mapApi.js index 51e2068..19a8423 100644 --- a/src/api/mapApi.js +++ b/src/api/mapApi.js @@ -40,6 +40,10 @@ getWasteGasMonData (data) { return axios.get(mapUrl.getWasteGasMonData, data) }, + // 搴熸皵浜哄伐鏁版嵁 + getWasteGasManualData (data) { + return axios.get(mapUrl.getWasteGasManualData, data) + }, // 搴熸按鐐� getWasteWater (data) { return axios.get(mapUrl.getWasteWater, data) diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js index ef1af63..fceb5ae 100644 --- a/src/api/mapUrl.js +++ b/src/api/mapUrl.js @@ -14,6 +14,7 @@ export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails' export const DataItems = $HOST + '/wasteWater/RTDB/DataItems' export const getWasteGasMonData = $HOST + '/wasteGas/QueryOnlineMonData' +export const getWasteGasManualData = $HOST + '/wasteGas/QueryLabMonData' export const getWasteWater = $HOST + '/wasteWater/getWasteWater' // 搴熸按鐐逛俊鎭� export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' // 搴熸按鐩戞祴鏁版嵁 diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less index fc2a0c6..ae025ac 100644 --- a/src/assets/css/map/map-panel-style.less +++ b/src/assets/css/map/map-panel-style.less @@ -1,9 +1,11 @@ @import "_map-variable"; + .leaflet-container, -html,body{ - // font-family: 'Microsoft YaHei'; +html, body { + // font-family: 'Microsoft YaHei'; font: 12px/1.5 "Microsoft YaHei", Arial, Helvetica, sans-serif; } + /*鍏ㄥ眬璁剧疆***********/ h1, h2, h3, h4, h5, h6, ul, li, p { padding: 0; @@ -11,7 +13,9 @@ list-style: none; } -i{font-style: normal} +i { + font-style: normal +} .el-button--primary { color: @color; @@ -215,60 +219,75 @@ margin-left: 10px; } -.el-scrollbar__wrap{ +.el-scrollbar__wrap { } + .el-scrollbar__wrap::-webkit-scrollbar { /*婊氬姩鏉℃暣浣撴牱寮�*/ - width : 5px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ + width: 5px; /*楂樺鍒嗗埆瀵瑰簲妯珫婊氬姩鏉$殑灏哄*/ height: 1px; } + .el-scrollbar__wrap::-webkit-scrollbar-thumb { /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/ - border-radius : 10px; + border-radius: 10px; background: none; } + .el-scrollbar__wrap::-webkit-scrollbar-track { /*婊氬姩鏉¢噷闈㈣建閬�*/ - box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); - background : none; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); + background: none; border-radius: 10px; } + #el-scrollbar__wrap::-webkit-scrollbar-button { /*婊氬姩鏉′袱绔殑鎸夐挳锛屽彲浠ョ敤display:none璁╁叾涓嶆樉绀猴紝涔熷彲浠ユ坊鍔犺儗鏅浘鐗囷紝棰滆壊鏀瑰彉鏄剧ず鏁堟灉锛堜綅缃�2锛�*/ background: #74D334; } + /*******************鎿嶄綔鎸夐挳鐐瑰嚮閫変腑鏁翠綋鏍峰紡******************************/ -.el-button{ +.el-button { } + .hover-bottom:hover, -.active-button{ +.active-button { border: 0.00521rem solid #fff700 !important; box-shadow: 0 0 0.03rem #fff700 !important; - color:#fff700 !important; + color: #fff700 !important; } /***************Company 鍥惧眰 鎮诞妗嗘牱寮忋��*********************************/ -.company-bindTooltip{ +.company-bindTooltip { position: absolute; - top:0; + top: 0; left: 0; display: flex; justify-content: center; justify-items: center; - img{display: block;width: 30px;height: 30px;margin-left: -15px;margin-top: -15px} - ul{ + + img { + display: block; + width: 30px; + height: 30px; + margin-left: -15px; + margin-top: -15px + } + + ul { width: 120px; margin-left: -60px; text-align: center; display: flex; position: absolute; - top:20px; - left:0; - li{ + top: 20px; + left: 0; + + li { position: absolute; - top:0; - left:0; + top: 0; + left: 0; width: 100%; font-weight: 900; text-shadow: 0 0 4px #fff; @@ -280,6 +299,7 @@ } } } + /*.company-bindTooltip { //background: @background-color-split; background: none; @@ -309,7 +329,7 @@ } } }*/ -.company-bindTooltip:before{ +.company-bindTooltip:before { display: none; } @@ -337,16 +357,19 @@ /*************** PublicTable 琛ㄦ牸鏍峰紡銆�*********************************/ -.el-table{ - border-bottom: 1px solid #fff; +.el-table { + border: 1px solid #396d83 !important; + .el-table__body-wrapper::-webkit-scrollbar { width: 0; height: 0; background: none; } - .cell{ + + .cell { padding: 0 3px !important; - i{ + + i { display: block; font-style: normal; font-size: 10px; @@ -354,25 +377,34 @@ } } } -.el-table--border th{ + +.el-table--border th { border-right: none; border-left: 1px solid #ddd; } -.el-table--border th.gutter{border-left: none} + +.el-table--border th.gutter { + border-left: none +} .el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell { text-align: center; } -.el-table th>.cell { + +.el-table th > .cell { + border: 1px #396d83 solid; color: #00fff6; } -.el-table__row>td{ + +.el-table__row > td { border: none; } -.el-table::before {//鍘绘帀鏈�涓嬮潰鐨勯偅涓�鏉$嚎 + +.el-table::before { //鍘绘帀鏈�涓嬮潰鐨勯偅涓�鏉$嚎 height: 0; } + .el-table td, .el-table th.is-leaf { font-size: 0.08rem; } @@ -384,21 +416,24 @@ .el-table .success-row { background: #30455f; } -.el-table tbody tr:hover>td { - background-color:#28304d !important; + +.el-table tbody tr:hover > td { + background-color: #28304d !important; } + //淇敼琛ㄦ牸楂樺害 .el-table td { - padding: 0!important; + padding: 0 !important; font-size: 0.01rem !important; } /***********************************************鍔ㄧ敾鏁堟灉************/ -.transition{ +.transition { transition: all .5s; - /* transform-origin: top left;*/ + /* transform-origin: top left;*/ animation: bounce-in .2s; } + @keyframes bounce-in { 0% { transform: scale(0); @@ -409,9 +444,10 @@ opacity: 1; } } + /**map 椤甸潰鍥炬爣鎸夐挳*/ .iconBtn { - width:0.26rem; + width: 0.26rem; height: 0.26rem; text-align: center; background: rgba(0, 16, 30, 0.5); @@ -424,14 +460,16 @@ justify-content: center; justify-items: center; border-radius: 0.03rem; - .icon{ + + .icon { width: 20px; margin: 0 auto; font-size: 20px; } } -.panel-title{ + +.panel-title { color: @color-title; font-size: 18px; padding: 10px; @@ -443,61 +481,120 @@ } -.el-picker-panel{ +.el-picker-panel { background: @background-color; - border-color:@color; - color:@color; - .el-picker-panel__body-wrapper{ + border-color: @color; + color: @color; + + .el-picker-panel__body-wrapper { background: @background-color; } - .el-input__inner{ - background:@background-color; - border-color:@color; - } - .el-date-table td.today span{ - color:@color-highlight; - } - .el-picker-panel__footer{ + + .el-input__inner { background: @background-color; - border-top-color:@color; + border-color: @color; } - .el-date-table th{ - border-bottom-color:@color; + + .el-date-table td.today span { + color: @color-highlight; } - .el-button{ + + .el-picker-panel__footer { background: @background-color; - color:@color; - border-color:@color; + border-top-color: @color; } - .el-button--text{ + + .el-date-table th { + border-bottom-color: @color; + } + + .el-button { + background: @background-color; + color: @color; + border-color: @color; + } + + .el-button--text { padding: 7px 15px; } - .el-button:hover{ + + .el-button:hover { background: @background-color; - color:@color-highlight; - border-color:@color-highlight; + color: @color-highlight; + border-color: @color-highlight; } - .el-input__inner{ - color:#fff; + + .el-input__inner { + color: #fff; text-align: center; } - .el-date-picker__time-header{ - border-bottom-color:@background-color-split; + + .el-date-picker__time-header { + border-bottom-color: @background-color-split; } - .el-date-picker__header-label{color:#fff} + + .el-date-picker__header-label { + color: #fff + } } -.el-select-dropdown{ + +.el-select-dropdown { background: @background-color; - border-color:@color; - color:@color; - .el-select-dropdown__item{ - color:#fff; + border-color: @color; + color: @color; + + .el-select-dropdown__item { + color: #fff; } - .el-select-dropdown__item.hover{ + + .el-select-dropdown__item.hover { background: @background-color; - box-shadow: 0 0 5px @color-highlight inset; + box-shadow: 0 0 5px @color-highlight inset; } - .el-select-dropdown__item.selected{ - color:@color-highlight; + + .el-select-dropdown__item.selected { + color: @color-highlight; } - } \ No newline at end of file +} + +/***********************************************鍙充晶绠$嚎鐩稿叧************/ +.el-tabs__header { + background: none; +} + +.el-tabs--top .el-tabs__item.is-top:nth-child(2) { + padding-left: 20px; +} +.el-tabs--border-card { + background: none; + border: none; + box-shadow: none; +} +.el-tabs--border-card>.el-tabs__header { + background: none; + border-bottom: none; + margin: 0; +} +.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active { + color: #409EFF; + background: none; + border: none; +} +.el-tabs--border-card>.el-tabs__header .el-tabs__item { + border: none; +} +.panel-right ::-webkit-scrollbar-thumb { + background: none; + border: none; +} +.el-card { + margin-top: 15px; + background: rgba(0, 16, 30, 0.5); + border: 0.00521rem solid @color; + box-shadow: 0 0 0.03rem @color; +} +.clearfix { + display: inline-block; + color: #ffffff; + margin: 15px 0; +} diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsTable.vue new file mode 100644 index 0000000..ca95a55 --- /dev/null +++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsTable.vue @@ -0,0 +1,140 @@ +<template> +<!-- <el-table :data="tableData" style="width:730px" height="200px">--> +<!-- <el-table-column v-for="(item, index) in tableLabel" :key="index" :prop="item.prop"--> +<!-- :label="item.label">--> +<!-- <el-table-column v-for="(item1, index1) in item.label" :key="index1" :prop="item1.prop" :label="item1.label">--> +<!-- </el-table-column>--> +<!-- </el-table-column>--> +<!-- </el-table>--> + <el-table + :data="tableData" + style="width: 100%;height: 100%"> + <el-table-column + prop="tableData.LabMonTime" + label="妫�娴嬫椂闂�"> + </el-table-column> + <el-table-column + label="姘哀鍖栫墿"> + <el-table-column + prop="tableData.MonItemId" + label="鐩戞祴鍊�"> + </el-table-column> + <el-table-column + prop="tableData.LabMonTime" + label="鏍囧噯鍊�"> + </el-table-column> + </el-table-column> + <el-table-column + label="浜屾哀鍖栫~"> + <el-table-column + prop="tableData.MonItemId" + label="鐩戞祴鍊�"> + </el-table-column> + <el-table-column + prop="tableData.LabMonTime" + label="鏍囧噯鍊�"> + </el-table-column> + </el-table-column> + <el-table-column + label="鐑熷皹"> + <el-table-column + prop="tableData.MonItemId" + label="鐩戞祴鍊�"> + </el-table-column> + <el-table-column + prop="tableData.LabMonTime" + label="鏍囧噯鍊�"> + </el-table-column> + </el-table-column> + <el-table-column + label="榛戝害"> + <el-table-column + prop="tableData.MonItemId" + label="鐩戞祴鍊�"> + </el-table-column> + <el-table-column + prop="tableData.LabMonTime" + label="鏍囧噯鍊�"> + </el-table-column> + </el-table-column> + </el-table> +</template> + +<script> +export default { + name: 'EChartsTable', + data () { + return { + // tableLabel: [ + // { + // label: '妫�娴嬫椂闂�', + // prop: 'StoragePlaceId' + // }, + // { + // label: '浜屾哀鍖栫~', + // prop: [ + // { + // label: '鐩戞祴鍊�', + // NOMonitor: '' + // }, + // { + // label: '鏍囧噯鍊�', + // NOtandard: '' + // }] + // }, + // { + // label: '姘哀鍖栫墿', + // prop: [ + // { + // label: '鐩戞祴鍊�', + // NOMonitor: '' + // }, + // { + // label: '鏍囧噯鍊�', + // NOtandard: '' + // }] + // }, + // { + // label: '鐑熷皹', + // prop: [ + // { + // label: '鐩戞祴鍊�', + // NOMonitor: '' + // }, + // { + // label: '鏍囧噯鍊�', + // NOtandard: '' + // }] + // }, + // { + // label: '榛戝害', + // prop: [ + // { + // label: '鐩戞祴鍊�', + // NOMonitor: '' + // }, + // { + // label: '鏍囧噯鍊�', + // NOtandard: '' + // }] + // } + // ], + tableData: [] + } + }, + created () { + this.$nextTick(() => { + this.$attrs.ManualData.forEach(item => { + this.tableData = [...item] + }) + this.tableData.LabMonTime = 100 + console.log(this.tableData) + }) + } +} + +</script> + +<style scoped> + +</style> diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue index 6d3126f..584f1db 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue @@ -8,7 +8,7 @@ <li @click='tabTaggle("ECharts")'>瀹炴椂鏁版嵁</li> <li @click='tabTaggle("EChartsHour")'>灏忔椂鏁版嵁</li> <li @click='tabTaggle("EChartsDate")'>鏃ユ暟鎹�</li> - <li @click='tabTaggle("EChartsDate")'>浜哄伐鏁版嵁</li> + <li @click='tabTaggle("EChartsTable")'>浜哄伐鏁版嵁</li> </ul> <div class="legend" > <span >姝e父</span> @@ -28,6 +28,7 @@ import ECharts from './Echarts' // import EChartsDate from './EChartsDate' import EChartsHourWasteWater from './EChartsHourWasteWater' +import EChartsTable from '@components/BaseNav/PublicBounced/GasComponents/EChartsTable' export default { name: 'PublicChart', @@ -36,7 +37,8 @@ EChartsDate, ECharts, // EChartsDate - EChartsHourWasteWater + EChartsHourWasteWater, + EChartsTable }, data () { return { diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue index 967de8a..713354f 100644 --- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue +++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue @@ -58,7 +58,7 @@ methods: { processingData () { for (var i = 0; i < this.displayContentTab.length; i++) { - console.log(this.displayContentTab[i]) + // console.log(this.displayContentTab[i]) this.tabData = this.displayContentTab[i] } } diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue index 19b17c6..8ecaaa4 100644 --- a/src/components/BaseNav/PublicBounced/PublicBounced.vue +++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue @@ -1,5 +1,5 @@ <template> - <div class="public-bounced map-background" v-drag v-if="flag"> + <div class="public-bounced map-background" v-drag v-show="flag"> <div class="public-bounced-title panel-title" ref="publicBounced"> <span>{{ displayContentTitle }}</span> <i class="el-icon-circle-close" @click="closePopup"></i> @@ -15,6 +15,7 @@ :value="value" :getQueryOnlineMonData="getQueryOnlineMonData" :getWasteWaterMonitoringDetails='getWasteWaterMonitoringDetails' + :ManualData="ManualData" ref="PublicChart" > </public-chart> @@ -38,7 +39,6 @@ export default { name: 'PublicBounced', components: { - // Echarts, PublicTabs, PublicTable, PublicChart, @@ -55,7 +55,8 @@ value: '', getWasteGasDetails: [], getWasteWaterMonitoringDetails: [], - getQueryOnlineMonData: [] + getQueryOnlineMonData: [], + ManualData: [] // getGasQueryOnlineMonData: [] } }, @@ -80,10 +81,11 @@ this.flag = true this.value = value }, - setGasData (data, dataDetails, GasHourData, value) { + setGasData (data, dataDetails, GasHourData, ManualData, value) { this.setWasteGasdata = data this.getWasteGasDetails = dataDetails this.getQueryOnlineMonData = GasHourData + this.ManualData = ManualData console.log(this.getQueryOnlineMonData) this.displayContentTitle = data.Name this.flag = true diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js index 8f9e12b..29f074a 100644 --- a/src/components/LayerController/logic/SolidWaste.js +++ b/src/components/LayerController/logic/SolidWaste.js @@ -82,9 +82,9 @@ // 缁戝畾寮规瀹炰緥 const PublicBounced = window.Vue.extend(publicBounced) - const instance = new PublicBounced() - instance.$mount() + const instance = new PublicBounced().$mount() document.body.appendChild(instance.$el) + // document.body.removeChild(instance.$el) // 閫氳繃鏂规硶 鍚戠粦瀹氬脊妗嗕紶閫掓暟鎹� instance.setData(resultBasic.Result.DataInfo, resultDetailed.Result.DataInfo, 'gufei') /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */ diff --git a/src/components/LayerController/logic/WasteGas.js b/src/components/LayerController/logic/WasteGas.js index bdc5e30..9b85faf 100644 --- a/src/components/LayerController/logic/WasteGas.js +++ b/src/components/LayerController/logic/WasteGas.js @@ -68,13 +68,21 @@ endTime: '2020-04-07 15:13:20', dataType: '1' } + const GasManualData = { + companyId: '3900100145', + labMonPointId: '219', + beginTime: '2020-04-06 15:13:20', + endTime: ' 2020-04-07 15:13:20' + } + const ManualData = await mapApi.getWasteGasManualData(GasManualData) + console.log(ManualData) const Mondata = await mapApi.getWasteGasMonData(GasOnlinedata) - console.log(Mondata) + // console.log(Mondata) const result = await mapApi.getWasteGasDetails(dataValue) // console.log(result.Result.DataInfo) const PublicBounced = window.Vue.extend(publicBounced) const instance = new PublicBounced() - instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, 'feiqi') + instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, ManualData.Result.DataInfo, 'feiqi') // console.log(e.layer.options.test) instance.$mount() document.body.appendChild(instance.$el) diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index b617ae5..fef724f 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -21,6 +21,43 @@ var checked = config.checked checked && this.load(config) + checked && this.toggleZoomByConfnig(config) + } + } + } + + /** + * 鎺у埗鏄剧ず鐨勭骇鍒� + * @param layerConfig + */ + initEvent (layerConfig) { + this.map.on('zoomend ', (e) => this.toggleZoomByLayer(layerConfig)) + } + + toggleZoomByLayer (layerConfig) { + var config = layerConfig + if (Array.isArray(layerConfig)) { + for (var i = 0, l = layerConfig.length; i < l; i++) { + config = layerConfig[i] + var layers = config.layers + var childLayer = config.childLayer + layers && this.toggleZoomByLayer(layers) + childLayer && this.toggleZoomByLayer(childLayer) + this.toggleZoomByConfnig(config) + } + } else { + this.toggleZoomByConfnig(layerConfig) + } + } + + toggleZoomByConfnig (config) { + const zoom = this.map.getZoom() + var checked = config.checked + if (checked && config.minZoom) { + if (zoom > config.minZoom) { + this.show(config) + } else { + this.hide(config) } } } @@ -91,9 +128,9 @@ this.setZIndex(layer.getLayers()) } else { if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) { - layer.bringToBack() + layer.bringToBack && layer.bringToBack() } else { - layer.bringToFront() + layer.bringToFront && layer.bringToFront() } } } diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index 11b4c9b..afdd752 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -1,47 +1,49 @@ <template> <div class="panel-right" v-show="isShow"> - <transition name="searchPanelChange"> - <div style=" display: inline-flex;"> - <div class="panel-tab"> - <div class="container"> - <!-- <ul> - <li style="text-align: right"> - <div @click="setSearchPanelChange" type="button" class="el-button special-button el-button--default"> - <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i> - <i class=" el-icon-d-arrow-left" v-else ></i> - </div> - </li> - </ul> --> - <ul v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" v-show="item.isShow" > - <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> - <li> - <img src="../../assets/images/map-pages/icon/sl.png" class="icon"> - </li> - </el-tooltip> - </ul> - </div> - </div> - <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " > - <div class="panel-fold-btn" @click="toggleMonitorPanel"> - <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div> - </div> - <div :class="'search-container map-background'" v-show="selectGroup" > - <div @click="setSearchPanelChange" class="el-button special-button el-button--default "> - <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i> - <i class=" el-icon-d-arrow-left" v-else ></i> - </div> - <div class="el-message-box__content" style="padding:0;font-size: 13px;"> - <component :title="title" :is="gcComp"></component> - </div> - </div> - </div> + <transition name="searchPanelChange"> + <div style=" display: inline-flex;"> + <div class="panel-tab"> + <div class="container"> + <!-- <ul> + <li style="text-align: right"> + <div @click="setSearchPanelChange" type="button" class="el-button special-button el-button--default"> + <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i> + <i class=" el-icon-d-arrow-left" v-else ></i> + </div> + </li> + </ul> --> + <ul v-for="item in topicList" :key="item.name" + :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" + @click="()=>{selected(item)}" v-show="item.isShow"> + <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> + <li> + <img src="../../assets/images/map-pages/icon/sl.png" class="icon"> + </li> + </el-tooltip> + </ul> </div> - </transition> - <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎼滅储" placement="left" v-show="!selectGroup"> - <div :class="selectGroup === true ?'active-button':''" class="iconBtn" @click="setSearchPanelChange" style="position: absolute;top:0;right: 0" > - <i class="el-icon-search icon"></i> + </div> + <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] "> + <div class="panel-fold-btn" @click="toggleMonitorPanel"> + <div :class="[isCollapse? 'btn-stretch':'btn-shrink']"></div> </div> - </el-tooltip> --> + <div :class="'search-container map-background'" v-show="selectGroup"> + <div @click="setSearchPanelChange" class="el-button special-button el-button--default "> + <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i> + <i class=" el-icon-d-arrow-left" v-else></i> + </div> + <div class="el-message-box__content" style="padding:0;font-size: 13px;"> + <component :title="title" :is="gcComp"></component> + </div> + </div> + </div> + </div> + </transition> + <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎼滅储" placement="left" v-show="!selectGroup"> + <div :class="selectGroup === true ?'active-button':''" class="iconBtn" @click="setSearchPanelChange" style="position: absolute;top:0;right: 0" > + <i class="el-icon-search icon"></i> + </div> + </el-tooltip> --> </div> </template> @@ -56,9 +58,16 @@ import SewersSearch from '@components/panel/topicSearch/SewersSearch' import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue' import bus from '@/eventBus' + export default { name: 'MonitorPanel', - components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch }, + components: { + GasWasteSearch, + WaterWasteSearch, + SolidWasteSearch, + EnvRiskSearch, + DischargeSearch + }, data () { return { isShow: true, @@ -153,33 +162,33 @@ // const right = rightControl.css('right') // const rightit = rightControl.ownerDocument.defaultView // const right = rightit.getComputedStyle(rightit, null).right - // if (right === '10px') { - // rightControl.animate({ - // right: '-322px' - // }) - // el.css({ - // transform: 'rotateY(180deg)', - // 'transform-origin': '50% 50%', - // transition: 'transform 1s linear' - // }) - // el2.animate({ - // right: '320px', - // speed: 1000 - // }) - // } else { - // rightControl.animate({ - // right: '10px' - // }) - // el.css({ - // transform: 'rotateY(0deg)', - // 'transform-origin': '50% 50%', - // transition: 'transform 1s linear' - // }) - // el2.animate({ - // right: '290px', - // speed: 1000 - // }) - // } + // if (right === '10px') { + // rightControl.animate({ + // right: '-322px' + // }) + // el.css({ + // transform: 'rotateY(180deg)', + // 'transform-origin': '50% 50%', + // transition: 'transform 1s linear' + // }) + // el2.animate({ + // right: '320px', + // speed: 1000 + // }) + // } else { + // rightControl.animate({ + // right: '10px' + // }) + // el.css({ + // transform: 'rotateY(0deg)', + // 'transform-origin': '50% 50%', + // transition: 'transform 1s linear' + // }) + // el2.animate({ + // right: '290px', + // speed: 1000 + // }) + // } }, defaultLastOne () { let v = {} @@ -211,28 +220,32 @@ </script> <style lang="less"> - .searchPanelChange-enter-active { - transform-origin: top right; - animation: bounce-in .2s; - } - .searchPanelChange-leave-active { - transform-origin: top right; - animation: bounce-in .2s reverse; - } -.search-container { - position: relative; - width: 1.79167rem; - /* height: 5.6475rem;*/ - overflow: hidden; +.searchPanelChange-enter-active { + transform-origin: top right; + animation: bounce-in .2s; } -.module-wrap{ + +.searchPanelChange-leave-active { + transform-origin: top right; + animation: bounce-in .2s reverse; +} + +.search-container { + position: relative; + //width: 1.79167rem; + width: 4.7rem; + /* height: 5.6475rem;*/ + overflow: hidden; +} + +.module-wrap { width: 0.15rem; height: 0.15rem; padding: .04167rem; //padding: .00521rem; - background: rgba(0,16,30,.5); + background: rgba(0, 16, 30, .5); border-radius: .03125rem; - border: .00521rem solid rgba(255,247,0,.5); + border: .00521rem solid rgba(255, 247, 0, .5); margin: .04167rem 0; font-size: .08333rem; -webkit-transition: all .2s linear; @@ -240,16 +253,19 @@ cursor: pointer; position: relative; line-height: 0.15rem; - li{ + + li { margin: 0.00521rem 0; text-align: center; - img{ + + img { width: 0.1rem; height: 0.1rem; } } } + .panel-right { display: inline-flex; //width: 322px; @@ -285,28 +301,30 @@ // background-color: #061e51 !important; // border: solid 1px #0e639e !important; //} - .el-button--default.special-button { - padding: 0; - background:@background-color4; - color:@color-tool; - position: absolute; - top:24px; - right:0.02rem; - border:none;//1px solid @color-tool; - width: 0.2rem; - height: 0.2rem; - text-align: center; - line-height: 0.2rem; - margin-top: -0.1rem; - border-radius: 50%; - z-index: 999; - } - .el-button--default.special-button:hover{ - background:@background-color; - border:1px solid @color; - box-shadow: 0 0 2px @color; - color:@color; - } + .el-button--default.special-button { + padding: 0; + background: @background-color4; + color: @color-tool; + position: absolute; + top: 24px; + right: 0.02rem; + border: none; //1px solid @color-tool; + width: 0.2rem; + height: 0.2rem; + text-align: center; + line-height: 0.2rem; + margin-top: -0.1rem; + border-radius: 50%; + z-index: 999; + } + + .el-button--default.special-button:hover { + background: @background-color; + border: 1px solid @color; + box-shadow: 0 0 2px @color; + color: @color; + } + .el-form-item__label { color: rgb(52, 224, 255); color: @color; @@ -400,18 +418,20 @@ text-overflow: ellipsis; white-space: nowrap; } - .panel-fold-btn{ + + .panel-fold-btn { overflow: hidden; position: absolute; - top:45%; + top: 45%; left: -18px; /*left: 0px;*/ //right: 320px; /*right: 290px;*/ z-index: 1000; /*right: 0px;*/ - background-color: rgba(5,24,66,.8); + background-color: rgba(5, 24, 66, .8); border-radius: 10px 0 0 10px; + .btn-stretch { //width: 20px; //height: 40px; @@ -421,8 +441,9 @@ transform: rotateY(0deg); transform-origin: 50% 50%; transition: transform 1s linear; - /*transition: 3s linear;*/ + /*transition: 3s linear;*/ } + .btn-shrink { width: 20px; height: 40px; @@ -442,14 +463,17 @@ font-size: 12px; background-color: #0B3B6D; } - .tab-item:hover{ + + .tab-item:hover { cursor: pointer; } + .panel-tab { position: relative; z-index: 500; margin-right: .025rem; - .container{ + + .container { max-height: 3.125rem; overflow: hidden; position: relative; @@ -469,10 +493,12 @@ //background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat; //background-size: 100% 98%; } - .a{ + + .a { transform: translateX(328px); transition: transform 3s linear; - } + } + .panel_searchTotal { font-size: 12px; float: right; @@ -504,71 +530,90 @@ display: grid; font-size: 18px; } - /*input 鐐瑰嚮鎼滅储鏍峰紡*/ - .rightButtonSearch{ - display: flex; - justify-content: space-between; - align-items: center; - .el-input{margin-right: 10px} - .el-icon-search{ - width: 40px; - border:1px solid @color; - height: 28px; - line-height: 28px; - text-align: center; - color:#fff; - border-radius: 2px; - cursor:pointer; - background: rgba(0,16,30,.5); - padding:0; - } - } - /*鍗曢�夋寜閽牱寮�*/ - .levelOfRisk{padding-left:20px} - .levelOfRisk .el-radio{padding-bottom:6px} - .levelOfRisk-type{ - display: inline-block; - position: relative; - padding-right: 5px; - color:@color-shadow; - i{ - display: block; - width: 15px; - height: 10px; - position: absolute; - top:50%; - right: -15px; - margin-top: -5px; - } - } - .el-radio.is-checked .levelOfRisk-type{color:#409EFF} + /*input 鐐瑰嚮鎼滅储鏍峰紡*/ - .environmental-risk-list{ - position: relative; - cursor: pointer; - padding-left:50px; - padding-top:5px; - padding-bottom:5px; - color: @color-shadow; - border-bottom:1px solid @background-color-split; - .state{ - width: 30px; - height: 30px; - position: absolute; - top:50%; - left:10px; - margin-top: -15px; - border-radius: 50%; - box-shadow: 0 0 3px #000; - background: #0B3B6D; - } + .rightButtonSearch { + display: flex; + justify-content: space-between; + align-items: center; + + .el-input { + margin-right: 10px } - .environmental-risk-list.hover, - .environmental-risk-list:hover{ - color:@color-over; - background: @background-color; + + .el-icon-search { + width: 40px; + border: 1px solid @color; + height: 28px; + line-height: 28px; + text-align: center; + color: #fff; + border-radius: 2px; + cursor: pointer; + background: rgba(0, 16, 30, .5); + padding: 0; } + } + + /*鍗曢�夋寜閽牱寮�*/ + + .levelOfRisk { + padding-left: 20px + } + + .levelOfRisk .el-radio { + padding-bottom: 6px + } + + .levelOfRisk-type { + display: inline-block; + position: relative; + padding-right: 5px; + color: @color-shadow; + + i { + display: block; + width: 15px; + height: 10px; + position: absolute; + top: 50%; + right: -15px; + margin-top: -5px; + } + } + + .el-radio.is-checked .levelOfRisk-type { + color: #409EFF + } + + .environmental-risk-list { + position: relative; + cursor: pointer; + padding-left: 50px; + padding-top: 5px; + padding-bottom: 5px; + color: @color-shadow; + border-bottom: 1px solid @background-color-split; + + .state { + width: 30px; + height: 30px; + position: absolute; + top: 50%; + left: 10px; + margin-top: -15px; + border-radius: 50%; + box-shadow: 0 0 3px #000; + background: #0B3B6D; + } + } + + .environmental-risk-list.hover, + .environmental-risk-list:hover { + color: @color-over; + background: @background-color; + } input::-webkit-input-placeholder { color: #569ee1; @@ -695,7 +740,7 @@ ::-webkit-scrollbar-track { /*婊氬姩鏉¢噷闈㈣建閬�*/ - box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 0px; background: #0E3565; } @@ -724,48 +769,66 @@ background-color: #061e51 !important; } } + .unfold { transform: translateX(332px); transition: transform 0.5s linear; } + .shrink { transform: translateX(0px); transition: transform 0.5s linear; } - /******************浠ヤ笅鍏叡閮ㄥ垎**********/ - .sewers-search{ - position: relative; - overflow: hidden; - .panel-title{} - .search-panel{ - background-color: transparent; - padding: 10px; - border-bottom: 1px solid @background-color-split; - // .el-input{width:calc(100% - 40px);position: relative} - /deep/ input { - border-radius: 0; - background-color: @background-color-split ; - border: solid 1px @color ; - color: @color-gray; - font-size: 0.01rem; - padding:0 15px; - .el-select .el-input.is-focus .el-input__inner{ - border-color: @color; - } - } - .el-input__inner{background: none;color:#fff;font-size: 14px;border-radius: 0; border-color: @color;background: rgba(0,16,30,.5);} - } - .search-btn{ - } - //location-btn{ - // - //} - .location-btn:hover,.el-input__icon:hover{ - color: @color; - cursor: pointer; - } + /******************浠ヤ笅鍏叡閮ㄥ垎**********/ + + .sewers-search { + position: relative; + overflow: hidden; + + .panel-title { } + + .search-panel { + background-color: transparent; + padding: 10px; + border-bottom: 1px solid @background-color-split; + // .el-input{width:calc(100% - 40px);position: relative} + /deep/ input { + border-radius: 0; + background-color: @background-color-split; + border: solid 1px @color; + color: @color-gray; + font-size: 0.01rem; + padding: 0 15px; + + .el-select .el-input.is-focus .el-input__inner { + border-color: @color; + } + } + + .el-input__inner { + background: none; + color: #fff; + font-size: 14px; + border-radius: 0; + border-color: @color; + background: rgba(0, 16, 30, .5); + } + } + + .search-btn { + + } + + //location-btn{ + // + //} + .location-btn:hover, .el-input__icon:hover { + color: @color; + cursor: pointer; + } + } } </style> diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue index faf0832..4e7cb11 100644 --- a/src/components/panel/topicSearch/SewersSearch.vue +++ b/src/components/panel/topicSearch/SewersSearch.vue @@ -1,75 +1,71 @@ <template> - <div class="sewers-search" v-if="gdVisible"> - <div class="panel-title">{{title}}</div> - <div class="search-panel "> - <el-form ref="form" :model="form" label-width="90px" class="search-form"> - <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item"> - <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" :popper-class="'select-down'"> - <el-option - v-for="item in pipelineTypeOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item :label="form.pipelineType+'锛�'" size="mini"> - <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" :popper-class="'select-down'"> - <el-option - v-for="item in dataTypeOptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <!-- <el-form-item >--> - <div class="rightButtonSearch"> - <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�"> - <!-- <el-button slot="append" icon="el-icon-search" size="mini"></el-button>--> - <!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>--> - <!-- <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> --> - </el-input> - <el-button class="el-icon-search" @click="handleSearch"></el-button> - </div> - <!-- </el-form-item>--> - <!-- <el-form-item>--> - <!-- <input type="button" class="btn-ok" @click="handleSearch" value="鏌ヨ">--> - <!-- <input type="button" class="btn-reset" @click="handleSearch" value="閲嶇疆">--> - <!-- </el-form-item>--> - </el-form> - </div> - <el-scrollbar style="height:380.44px;" > - <div class="environmental-risk-list" v-for="(item,index) in list" :key="index" > - <!-- <i class="state"></i> --> - <div @click="handleLocation(item)"> - <h3 class="B-TMD-table-list-title-y" :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]" >{{ item.properties.pipename }}</h3> - <p v-for="itm in labelList" :key="itm.label"> - <span>{{ itm.label }}锛�</span> - <span :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span> - </p> - </div> + <div class="sewers-search" v-if="gdVisible"> + <div class="panel-title">{{ title }}</div> + <el-tabs v-model="activeName" @tab-click="handleClick"> + <el-tab-pane label="鏌ヨ" name="first"> + <div class="search-panel "> + <el-form ref="form" :model="form" label-width="90px" class="search-form"> + <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item"> + <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" + :popper-class="'select-down'"> + <el-option + v-for="item in pipelineTypeOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label="form.pipelineType+'锛�'" size="mini"> + <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" + :popper-class="'select-down'"> + <el-option + v-for="item in dataTypeOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <div class="rightButtonSearch"> + <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�"> + </el-input> + <el-button class="el-icon-search" @click="handleSearch"></el-button> </div> - </el-scrollbar> - <el-card class="footer-page" v-if="total > 10"> - <el-pagination - small - @current-change="handlePage" - :page-size=pageSize - layout="prev, pager, next" - :total=total - :current-page=current - class="warnPagination" - > - </el-pagination> - </el-card> + </el-form> </div> - <!-- <div class="monitor2" v-if="hbVisible">--> - <!-- <env-protect-search></env-protect-search>--> - <!-- </div>--> - <!-- <div class="monitor2" v-if="pkVisible">--> - <!-- <discharge-search></discharge-search>--> - <!-- </div>--> + <el-scrollbar style="height:380.44px;"> + <div class="environmental-risk-list" v-for="(item,index) in list" :key="index"> + <div @click="handleLocation(item)"> + <h3 class="B-TMD-table-list-title-y" + :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]"> + {{ item.properties.pipename }}</h3> + <p v-for="itm in labelList" :key="itm.label"> + <span>{{ itm.label }}锛�</span> + <span :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span> + </p> + </div> + </div> + </el-scrollbar> + <el-card class="footer-page" v-if="total > 10"> + <el-pagination + small + @current-change="handlePage" + :page-size=pageSize + layout="prev, pager, next" + :total=total + :current-page=current + class="warnPagination" + > + </el-pagination> + </el-card> + </el-tab-pane> + <el-tab-pane label="鍒嗘瀽" name="second"> + <SewersAnalysis></SewersAnalysis> + </el-tab-pane> + <el-tab-pane label="鍘嗗彶" name="third">鍘嗗彶</el-tab-pane> + </el-tabs> + </div> </template> <script> @@ -77,10 +73,18 @@ import WfsHelper from '@components/helpers/WfsHelper' import AjaxUtils from '@utils/AjaxUtils' + +// 寮曞叆鍒嗘瀽缁勪欢鍐呭 +import SewersAnalysis from '@components/panel/topicSearch/SewersSelect/SewersAnalysis' + export default { name: 'SewersSearch', + components: { + SewersAnalysis + }, data () { return { + activeName: 'first', gdVisible: true, list: [], labelList: PipelineTypeOptions[0].labelList, @@ -104,6 +108,9 @@ }, props: ['title'], methods: { + handleClick (tab, event) { + console.log(tab, event) + }, handlePipelineType (val) { this.pipelineTypeOptions.forEach((itm) => { if (val === itm.value) { diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue new file mode 100644 index 0000000..2b45355 --- /dev/null +++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue @@ -0,0 +1,83 @@ +<template> + <div class="connectivity"> + <el-row> + <el-button type="primary" size="mini">璧峰绠℃</el-button> + <el-button type="primary" size="mini">缁撴潫绠℃</el-button> + <el-button type="primary" size="mini">杩為�氭�у垎鏋�</el-button> + <el-button type="primary" size="mini">娓呴櫎</el-button> + </el-row> + <el-card class="box-card"> + <span class="clearfix">璧峰绠℃</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + <span class="clearfix">缁撴潫绠℃</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + <span class="clearfix">鍒嗘瀽缁撴灉</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + </el-card> + </div> +</template> + +<script> +export default { + name: 'Connectivity', + data () { + return { + tableData: [] + } + } +} +</script> + +<style lang="less" scoped> +</style> diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue new file mode 100644 index 0000000..c6c5206 --- /dev/null +++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue @@ -0,0 +1,59 @@ +<template> + <div class="connectivity"> + <el-row> + <el-button type="primary" size="mini">缁樺埗绾挎</el-button> + <el-button type="primary" size="mini">鎴柇闈㈠垎鏋�</el-button> + <el-button type="primary" size="mini">娓呴櫎</el-button> + </el-row> + <el-card class="box-card"> + <span class="clearfix">绠$嚎鏌ヨ缁撴灉</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + <span class="clearfix">鏂潰鍥�</span> + <div class="cross-section"> + <span>鏆傛棤鏁版嵁</span> + </div> + </el-card> + </div> +</template> + +<script> +export default { + name: 'CrossSectional', + data () { + return { + tableData: [] + } + } +} +</script> + +<style lang="less" scoped> +.cross-section { + background: rgba(0, 16, 30, 0.5); + border: 0.00521rem solid @color; + box-shadow: 0 0 0.03rem @color; + color: #ffffff; + width: 100%; + height: 50px; + border-radius: 3px; + text-align: center; + line-height: 50px; +} +</style> diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue new file mode 100644 index 0000000..2cfbacd --- /dev/null +++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue @@ -0,0 +1,61 @@ +<template> + <div class="connectivity"> + <el-row> + <el-button type="primary" size="mini">閫夋嫨绠℃</el-button> + </el-row> + <el-card class="box-card"> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + <span class="clearfix">鍒嗘瀽缁撴灉</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + </el-card> + </div> +</template> + +<script> +export default { + name: 'Flow', + data () { + return { + tableData: [] + } + } +} +</script> + +<style lang="less" scoped> + +</style> diff --git a/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue new file mode 100644 index 0000000..20f108c --- /dev/null +++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue @@ -0,0 +1,68 @@ +<template> + <div class="connectivity"> + <el-row> + <span class="tube-span">鐖嗙(鐩稿叧寮�鍏�)</span> + <el-button type="primary" size="mini">閫夋嫨绠$嚎</el-button> + <el-button type="primary" size="mini">娓呴櫎</el-button> + </el-row> + <el-card class="box-card"> + <span class="clearfix">鍙戠敓鐖嗚鐨勭娈�</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + <span class="clearfix">闇�瑕佸叧闂殑闃�闂�</span> + <el-table + :data="tableData" + style="width: 100%"> + <el-table-column + prop="date" + label="绠$嚎鍚嶇О" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="绠$嚎绫诲瀷" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="鎿嶄綔"> + </el-table-column> + </el-table> + </el-card> + </div> +</template> + +<script> +export default { + name: 'Tube', + data () { + return { + tableData: [] + } + } +} +</script> + +<style lang="less" scoped> +.tube-span { + color: #ffffff !important; + font-size: 14px; + margin: 0 15px; +} +</style> diff --git a/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue new file mode 100644 index 0000000..3d3d000 --- /dev/null +++ b/src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue @@ -0,0 +1,48 @@ +<template> + <div class="sewers-analysis-tab"> + <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> + <el-tab-pane label="杩為�氭��" name="first"> + <Connectivity></Connectivity> + </el-tab-pane> + <el-tab-pane label="鐖嗙" name="second"> + <Tube></Tube> + </el-tab-pane> + <el-tab-pane label="娴佸悜" name="third"> + <Flow></Flow> + </el-tab-pane> + <el-tab-pane label="妯柇闈�" name="four"> + <CrossSectional></CrossSectional> + </el-tab-pane> + </el-tabs> + </div> +</template> + +<script> +import Connectivity from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity' +import Tube from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube' +import Flow from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow' +import CrossSectional from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional' + +export default { + name: 'SewersFirstTab', + components: { + Connectivity, + Tube, + Flow, + CrossSectional + }, + data () { + return { + activeName: 'first' + } + }, + methods: { + handleClick (tab, event) { + console.log(tab, event) + } + } +} +</script> + +<style lang="less" scoped> +</style> diff --git a/src/conf/layers/LayerArea.js b/src/conf/layers/LayerArea.js index c57b612..6ba6c53 100644 --- a/src/conf/layers/LayerArea.js +++ b/src/conf/layers/LayerArea.js @@ -13,24 +13,21 @@ name: '鍏徃', sname: '鍏徃', // 琛ㄥ悕 checked: true, // 榛樿閫変腑鐘舵�� - url: WFS_URL + '?TYPENAME=鍏徃', - minZoom: 10 + url: WFS_URL + '?TYPENAME=鍏徃' }, { code: 'sewersAreaMt', name: '鐮佸ご', sname: '鐮佸ご', checked: true, // 榛樿閫変腑鐘舵�� - wfs: WFS_URL + '?TYPENAME=鐮佸ご', - minZoom: 10 + wfs: WFS_URL + '?TYPENAME=鐮佸ご' }, { code: 'sewersAreaZz', name: '瑁呯疆鍖�', sname: '瑁呯疆鍖�', checked: true, // 榛樿閫変腑鐘舵�� - wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�', - minZoom: 10 + wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�' } ] } diff --git a/src/conf/layers/LayerBasin.js b/src/conf/layers/LayerBasin.js index af3dae6..6e8a0cc 100644 --- a/src/conf/layers/LayerBasin.js +++ b/src/conf/layers/LayerBasin.js @@ -14,32 +14,28 @@ name: '闀挎睙娴佸煙', sname: '闀挎睙娴佸煙', // 琛ㄥ悕 checked: true, // 榛樿閫変腑鐘舵�� - url: WFS_URL + '?TYPENAME=鍏徃', - minZoom: 10 + url: WFS_URL + '?TYPENAME=鍏徃' }, { code: 'basinHh', name: '榛勬渤娴佸煙', sname: '榛勬渤娴佸煙', checked: true, // 榛樿閫変腑鐘舵�� - wfs: WFS_URL + '?TYPENAME=鐮佸ご', - minZoom: 10 + wfs: WFS_URL + '?TYPENAME=鐮佸ご' }, { code: 'basinBh', name: '娓ゆ捣娴佸煙', sname: '娓ゆ捣娴佸煙', checked: true, // 榛樿閫変腑鐘舵�� - wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�', - minZoom: 10 + wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�' }, { code: 'basinQt', name: '鍏朵粬', sname: '鍏朵粬', checked: true, // 榛樿閫変腑鐘舵�� - wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�', - minZoom: 10 + wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�' } ] } diff --git a/src/conf/layers/LayerFsss.js b/src/conf/layers/LayerFsss.js index 3fa1498..03212d8 100644 --- a/src/conf/layers/LayerFsss.js +++ b/src/conf/layers/LayerFsss.js @@ -2,18 +2,26 @@ * 鍖哄煙 */ const APP_GIS_HOST_2 = 'http://xearth.cn:8088' -const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' export const LayerFsss = { code: 'sewersFsss', name: '闄勫睘璁炬柦', checked: false, // 榛樿閫変腑鐘舵�� layers: [ { + code: 'pipeSection', + name: '绠℃', + sname: '绠℃', + checked: false, + minZoom: 15, + wfs: WFS_URL + '?TYPENAME=绠℃' + }, + { code: 'fourlink', name: '鍥涢��', sname: '鍥涢��', checked: true, - minZoom: 10, + minZoom: 15, wfs: WFS_URL + '?TYPENAME=鍥涢��', icon: 'sewers/鍥涢��.png' }, @@ -22,7 +30,7 @@ name: '涓夐��', sname: '涓夐��', checked: false, - minZoom: 10, + minZoom: 15, wfs: WFS_URL + '?TYPENAME=涓夐��', icon: 'sewers/涓夐��.png' }, diff --git a/src/conf/layers/LayerHbss.js b/src/conf/layers/LayerHbss.js index bacacc0..769f155 100644 --- a/src/conf/layers/LayerHbss.js +++ b/src/conf/layers/LayerHbss.js @@ -2,7 +2,7 @@ * 鍖哄煙 */ const APP_GIS_HOST_2 = 'http://xearth.cn:8088' -const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' export const LayerHbss = { code: 'sewersHbss', name: '鐜繚璁炬柦', diff --git a/src/conf/layers/LayerPipeLines.js b/src/conf/layers/LayerPipeLines.js index 5ea2a19..524a533 100644 --- a/src/conf/layers/LayerPipeLines.js +++ b/src/conf/layers/LayerPipeLines.js @@ -5,7 +5,7 @@ import { LayerFsss } from './LayerFsss' const APP_GIS_HOST_2 = 'http://xearth.cn:8088' -const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' +const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' export const LayerPipeLines = { code: 'sewersPipeLines', diff --git a/src/conf/layers/LayerSewers.js b/src/conf/layers/LayerSewers.js index 39e71a5..c382c2d 100644 --- a/src/conf/layers/LayerSewers.js +++ b/src/conf/layers/LayerSewers.js @@ -1,3 +1,8 @@ +/** + * todo 鍑嗗鍒犻櫎姝ゆ枃浠讹紒锛侊紒锛� + * @type {string} + */ + const APP_GIS_HOST_2 = 'http://xearth.cn:8088' export const LayerSewersPoint = [ { diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index 2c80ca3..1bbf9e8 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -91,7 +91,7 @@ map: this.map }) layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine) - layerFactory.init(this.$store.state.map.serviceLayers.layerSewersPoint) + layerFactory.initEvent(this.$store.state.map.serviceLayers.LayerSewersLine) window.layerFactory = layerFactory this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜 -- Gitblit v1.8.0