From d7c0f79217217f90546f4b3113bd85f86c42e4f8 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期二, 13 四月 2021 14:57:37 +0800
Subject: [PATCH] 右侧管线分析
---
src/components/panel/RightSearchPanel.vue | 483 +++++++++++++----------
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue | 45 ++
src/assets/css/map/map-panel-style.less | 233 +++++++---
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue | 60 +++
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue | 62 +++
src/components/panel/topicSearch/SewersSearch.vue | 142 +++---
src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue | 48 ++
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue | 83 ++++
8 files changed, 802 insertions(+), 354 deletions(-)
diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
index 5e036a3..8be47de 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;
@@ -214,60 +218,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;
@@ -279,6 +298,7 @@
}
}
}
+
/*.company-bindTooltip {
//background: @background-color-split;
background: none;
@@ -308,7 +328,7 @@
}
}
}*/
-.company-bindTooltip:before{
+.company-bindTooltip:before {
display: none;
}
@@ -336,16 +356,19 @@
/*************** PublicTable 琛ㄦ牸鏍峰紡銆�*********************************/
-.el-table{
+.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;
@@ -353,26 +376,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 +415,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 +443,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 +459,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 +480,109 @@
}
-.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;
}
- }
+}
+
+/***********************************************鍙充晶瀹樼綉鐩稿叧************/
+.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;
+}
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 f8b485f..5d18286 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -1,78 +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>
+ <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-form>
</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>
- </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-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>
- <!-- <div class="monitor2" v-if="hbVisible">-->
- <!-- <env-protect-search></env-protect-search>-->
- <!-- </div>-->
- <!-- <div class="monitor2" v-if="pkVisible">-->
- <!-- <discharge-search></discharge-search>-->
- <!-- </div>-->
</template>
<script>
@@ -81,10 +74,16 @@
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,
@@ -108,6 +107,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..325eb98
--- /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-table
+ :data="tableData"
+ height="250"
+ border
+ 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-table
+ :data="tableData"
+ height="250"
+ border
+ 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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Connectivity',
+ data () {
+ return {
+ tableData: [{
+ date: '2016-05-02',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+ }, {
+ date: '2016-05-04',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+ }, {
+ date: '2016-05-01',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+ }, {
+ date: '2016-05-03',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+ }]
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+ margin-top: 15px;
+}
+</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..b417149
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional.vue
@@ -0,0 +1,62 @@
+<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-table
+ :data="tableData"
+ height="250"
+ border
+ 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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'CrossSectional',
+ data () {
+ return {
+ tableData: [{
+ date: '2016-05-02',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+ }, {
+ date: '2016-05-04',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+ }, {
+ date: '2016-05-01',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+ }, {
+ date: '2016-05-03',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+ }]
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+ margin-top: 15px;
+}
+</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..1b10461
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow.vue
@@ -0,0 +1,60 @@
+<template>
+ <div class="connectivity">
+ <el-row>
+ <el-button type="primary" size="mini">閫夋嫨绠℃</el-button>
+ </el-row>
+ <el-table
+ :data="tableData"
+ height="250"
+ border
+ 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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Flow',
+ data () {
+ return {
+ tableData: [{
+ date: '2016-05-02',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
+ }, {
+ date: '2016-05-04',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
+ }, {
+ date: '2016-05-01',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
+ }, {
+ date: '2016-05-03',
+ name: '鐜嬪皬铏�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
+ }]
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+ margin-top: 15px;
+}
+</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..650dcdd
--- /dev/null
+++ b/src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube.vue
@@ -0,0 +1,45 @@
+<template>
+ <div class="connectivity">
+ <el-row>
+ <el-button type="primary" size="mini">閫夋嫨绠$嚎</el-button>
+ <el-button type="primary" size="mini">娓呴櫎</el-button>
+ </el-row>
+ <el-table
+ :data="tableData"
+ height="250"
+ border
+ 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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Tube',
+ data () {
+ return {
+ tableData: []
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-table {
+ margin-top: 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>
--
Gitblit v1.8.0