From 977955d716039c91fd6292b159e50e15c62100a1 Mon Sep 17 00:00:00 2001 From: yangdelong <828900aaa> Date: 星期六, 29 五月 2021 16:25:59 +0800 Subject: [PATCH] 企业应急-事件处置-事件信息页面 --- src/components/panel/RightSearchPanel.vue | 547 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 343 insertions(+), 204 deletions(-) diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index d4f7db6..6df7286 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -1,46 +1,50 @@ <template> <div class="panel-right" v-show="isShow"> - <div class="panel-tab"> -<!-- <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd"--> -<!-- :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">--> -<!-- <img :src="item.icon" style="width: 24px;height: 24px;"></div>--> - <div class="container"> - <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)}" > - <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> - <li> -<!-- <span>{{item.name}}</span>--> -<!-- <div >--> - <img src="../../assets/images/map-pages/icon/sl.png" class="icon"> -<!-- </div>--> - </li> - </el-tooltip> - </ul> - </div> - </div> -<!-- <div class="panel-fold-btn" >--> -<!-- <div class="btn-stretch" @click="toggleMonitorPanel"></div>--> -<!-- </div>--> - -<!-- <div class="panel-fold-btn" @click="toggleMonitorPanel" >--> -<!-- <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>--> -<!--<!– <div class="btn-stretch" v-if="isCollapse" </div>–>--> -<!--<!– <div class="btn-shrink" v-else-if="!isCollapse" ></div>–>--> -<!--<!– :style = "{width:isCollapse ? '290px' : '0px'}"–>--> -<!-- </div>--> -<!-- <div class="right-control" v-if="!isCollapse" >--> - <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " > - <div class="panel-fold-btn" @click="toggleMonitorPanel"> -<!-- <div class="btn-stretch" v-if="isCollapse"></div>--> -<!-- <div class="btn-shrink" v-else-if="!isCollapse"></div>--> - <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div> - </div> - - <div :class="'search-container map-background'"> - <div class="el-message-box__content" style="padding:6px;font-size: 13px;"> - <component :title="title" :is="gcComp"></component> - </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"> --> + <i class="icon iconfont" :class="item.icon"></i> + </li> + </el-tooltip> + </ul> + </div> </div> - </div> + <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " v-if="gcComp!=''"> + <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> + </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> @@ -54,9 +58,22 @@ import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch' import SewersSearch from '@components/panel/topicSearch/SewersSearch' import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue' +import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue' +import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue' +import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch' + +import bus from '@/eventBus' + export default { name: 'MonitorPanel', - components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch }, + components: { + GasWasteSearch, + WaterWasteSearch, + SolidWasteSearch, + EnvRiskSearch, + DischargeSearch, + EnterpriseEmergencySearch + }, data () { return { isShow: true, @@ -65,14 +82,13 @@ topicCheckedList: [], isPanelVisible: false, gcComp: SewersSearch, - gdVisible: true, hbVisible: false, pkVisible: false, toggleMonitorStyle: 'right:0px', - title: '姹¢洦姘寸缃�', - isCollapse: true + isCollapse: true, + selectGroup: false } }, computed: {}, @@ -95,9 +111,18 @@ handleClose (done) { console.log(done) }, + setSearchPanelChange () { + this.selectGroup = !this.selectGroup + if (!this.selectGroup) { + this.topicList.forEach((itm) => { + itm.checked = false + }) + } + }, selected (val) { // console.log(val) - this.title = val.name + '锛堟绱級' + this.title = val.name + this.selectGroup = true this.topicList.forEach((itm) => { itm.checked = val.name === itm.name }) @@ -105,13 +130,13 @@ case '姹℃煋婧�': this.gcComp = DischargeSearch break - case '搴熸按鐩戞祴': + case '搴熸按': this.gcComp = WaterWasteSearch break - case '搴熸皵鐩戞祴': + case '搴熸皵': this.gcComp = GasWasteSearch break - case '鍥哄簾绠$悊': + case '鍥哄簾': this.gcComp = SolidWasteSearch break case '鐜椋庨櫓': @@ -120,8 +145,17 @@ case '鍦熷¥鍙婂湴涓嬫按': this.gcComp = SoilGroundWaterSearch break - case '姹¢洦姘寸缃�': + case '绠$嚎': this.gcComp = SewersSearch + break + case '绠¢亾鍙樻洿': + this.gcComp = PipeChangesSearch + break + case '绠¢亾淇℃伅': + this.gcComp = PipeInformationSearch + break + case '浼佷笟搴旀��': + this.gcComp = EnterpriseEmergencySearch break } }, @@ -142,60 +176,97 @@ // 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 = {} + this.topicList.forEach((item) => { + if (item.isShow) { + v = item + } + }) + this.selected(v) } }, mounted () { + const that = this + bus.$on('changeSearchBar', function (obj) { + that.gcComp = '' + that.topicList.forEach((item) => { + if (item.name === obj.name) { + if (obj.type > 0) { + item.isShow = true + } else { + item.isShow = false + } + // item.isShow = obj.checked + if (item.isShow) { + that.selected(item) + } else { + that.defaultLastOne() + } + } + }) + }) + // console.log(that.topicList) } } </script> <style lang="less"> -.search-title{ - color:@color-title; - font-size: 18px; - margin: 5px; +.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; + position: relative; + //width: 1.79167rem; + //width: 2.39167rem; + width: 2.3rem; + /* height: 5.6475rem;*/ + overflow: hidden; } -.module-wrap{ + +.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; @@ -203,16 +274,19 @@ cursor: pointer; position: relative; line-height: 0.15rem; - li{ + li { margin: 0.00521rem 0; text-align: center; - img{ + font-size: 20px; + + img { width: 0.1rem; height: 0.1rem; } } } + .panel-right { display: inline-flex; //width: 322px; @@ -222,7 +296,7 @@ //top: 10px; height: 0; position: absolute; - top: .46rem; + top: 0.73979rem; right: 0.14583rem; z-index: 501; display: -webkit-box; @@ -248,6 +322,29 @@ // 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: 20px; + left: 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); @@ -342,18 +439,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; @@ -363,8 +462,9 @@ transform: rotateY(0deg); transform-origin: 50% 50%; transition: transform 1s linear; - /*transition: 3s linear;*/ + /*transition: 3s linear;*/ } + .btn-shrink { width: 20px; height: 40px; @@ -384,14 +484,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; @@ -411,10 +514,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; @@ -446,80 +551,91 @@ 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: 26px; - line-height: 26px; - text-align: center; - color:#fff; - border-radius: 2px; - cursor:pointer; - background: rgba(0,16,30,.5); - } - } - /*鍗曢�夋寜閽牱寮�*/ - .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; } - //.search-panel { - // border: #07325B; - // background-color: #07325B !important; - // margin-top: 0px; - // - // .el-input__inner { - // border-radius: 0px !important; - // background-color: #061e51 !important; - // } - //} + } + + /*鍗曢�夋寜閽牱寮�*/ + + .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; + padding-left: 50px; + padding-top: 5px; + padding-bottom: 5px; + color: @color-shadow; + border-bottom: 1px solid @background-color-split; + h3{ cursor: pointer;} + .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{ + background: @background-color; + } + .environmental-risk-list.hover h3, + .environmental-risk-list h3:hover { + color: @color-highlight; + } input::-webkit-input-placeholder { color: #569ee1; @@ -576,12 +692,16 @@ } .footer-page { - position: absolute; + // position: absolute; background-color: transparent !important; - bottom: 10px !important; - margin-left: 0px; + // bottom: 10px !important; + // margin-left: 0px; border: none; - + margin: 0; + border-top: 1px solid rgba(0, 255, 246, 0.14); + .el-card__body{ + padding: 5px; + } .warnPagination { .btn-quicknext, .btn-quickprev { color: #e4e8f1 !important; @@ -646,7 +766,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; } @@ -675,47 +795,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; - .search-panel{ - background-color: transparent; - border: 1px solid @background-color-split; - padding: 10px 0; - // .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> -- Gitblit v1.8.0