From dedc31bf2e64bd6c977386a6e336af30ec826a4d Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期一, 01 三月 2021 20:20:06 +0800 Subject: [PATCH] 修改专题搜索面板样式 --- src/components/panel/RightSearchPanel.vue | 941 +++++++++++++++---------------------- src/assets/css/map/_map-variable.less | 1 src/components/panel/MenuTopic.vue | 100 --- src/conf/Topic.js | 57 ++ src/assets/css/map/map-elem-ui.less | 31 + src/components/panel/topicSearch/SewersSearch.vue | 178 +++++++ src/components/panel/topicSearch/EnvProtectSearch.vue | 0 src/conf/LayerSewers.js | 133 +++++ src/components/panel/topicSearch/DischargeSearch.vue | 0 src/store/modules/map.js | 7 10 files changed, 803 insertions(+), 645 deletions(-) diff --git a/src/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less index 9bd1ac9..aad5b7b 100644 --- a/src/assets/css/map/_map-variable.less +++ b/src/assets/css/map/_map-variable.less @@ -1,3 +1,4 @@ @color:#00fff6; @color-highlight:#fff700; @background-color:rgba(0,16,30,.8); +@background-color-light:rgba(40,50,100,.4); diff --git a/src/assets/css/map/map-elem-ui.less b/src/assets/css/map/map-elem-ui.less index 4d31a33..cec841d 100644 --- a/src/assets/css/map/map-elem-ui.less +++ b/src/assets/css/map/map-elem-ui.less @@ -4,3 +4,34 @@ background-color: @background-color; border-color: @color; } + +.select-down { + border: none !important; + background-color: @background-color !important; + + //.el-scrollbar{ + // + // background-color: @background-color !important; + // } + // .el-scrollbar__view .el-select-dropdown__list{ + // background-color: @background-color !important; + // } + .el-select-dropdown__item.hover{ + background-color: @background-color-light; + } + .el-select-dropdown__item { + color: @color; + //background-color: @background-color; + } + // .el-select-dropdown{ + // border: none !important; + // background-color: @background-color !important; + // } + // .el-select-dropdown__empty{ + // color: @color; + // background-color: @background-color; + // } + .popper__arrow::after{ + border-bottom-color: @color !important; + } +} diff --git a/src/components/panel/MenuTopic.vue b/src/components/panel/MenuTopic.vue index 845ef16..6f949fe 100644 --- a/src/components/panel/MenuTopic.vue +++ b/src/components/panel/MenuTopic.vue @@ -6,12 +6,12 @@ style="" @click="toggle()"> <div id="menu-special-context" class="menu-special-context"> - <el-checkbox-button v-show="isShow" class="menu-special-item" v-model="specialAll.check" :checked="specialAll.checked" @change="checkedSpecialChangeAll(specialAll)"> - <div style="height: 1rem;width: 1rem;display: inline-flex;"> <img :src="specialAll.icon" ></div> - {{ specialAll.name }}</el-checkbox-button> + <el-checkbox-button v-show="isShow" class="menu-special-item" v-model="topicSelectAll.check" :checked="topicSelectAll.checked" @change="checkedSpecialChangeAll(topicSelectAll)"> + <div style="height: 1rem;width: 1rem;display: inline-flex;"> <img :src="topicSelectAll.icon" ></div> + {{ topicSelectAll.name }}</el-checkbox-button> - <el-checkbox-group :indeterminate="isIndeterminate" v-show="isShow" v-model="checkedList" size="medium" @change="checkedGroupSpecialChange"> - <el-checkbox-button class="menu-special-item" v-for="item in specialList" :label="item.name" :key="item.id" :checked="item.checked" @change="checkedSpecialChange(item)"> + <el-checkbox-group :indeterminate="isIndeterminate" v-show="isShow" v-model="topicCheckedList" size="medium" @change="checkedGroupSpecialChange"> + <el-checkbox-button class="menu-special-item" v-for="item in topicList" :label="item.name" :key="item.id" :checked="item.checked" @change="checkedSpecialChange(item)"> <div style="height: 1rem;width: 1rem;display: inline-flex;"> <img :src="item.icon" ></div> {{item.name}}</el-checkbox-button> </el-checkbox-group> @@ -28,70 +28,16 @@ </template> <script> - +import { TopicSelectAll, TopicList } from '../../conf/Topic' export default { name: 'MenuTopic', data () { return { isShow: false, isIndeterminate: true, - checkedList: [], - specialAll: { - name: '鍏ㄩ��', - check: false, - icon: '/assets/images/menu/special.png' - }, - specialList: [{ - name: '姹℃煋婧�', - id: 1, - check: false, - icon: '/assets/images/menu/special.png' - }, { - name: '搴熸按鐩戞祴', - id: 2, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '搴熸皵鐩戞祴', - id: 3, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '鍥哄簾绠$悊', - id: 4, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '鐜椋庨櫓', - id: 5, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '鍦熷¥鍙婂湴涓嬫按', - id: 6, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '姹¢洦姘寸缃�', - id: 7, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '棰勮鎶ヨ', - id: 8, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '鎸囨爣缁熻', - id: 9, - checked: false, - icon: '/assets/images/menu/special.png' - }, { - name: '搴旀�ュ湴鍥�', - id: 10, - checked: false, - icon: '/assets/images/menu/special.png' - }] + topicCheckedList: [], + topicSelectAll: TopicSelectAll, + topicList: TopicList } }, computed: { @@ -99,33 +45,21 @@ methods: { toggle () { this.isShow = !this.isShow - // console.log('toggle') - // const el = document.getElementById('menu-special-context') - // console.log(el.clientWidth + ':' + el.offsetHeight) - // if (el.clientWidth > 0) { - // el.style.width = '0' - // } else { - // el.style.width = 'auto' - // } }, checkedGroupSpecialChange (val) { const len = val.length - this.specialAll.check = len === this.specialList.length - this.isIndeterminate = len > 0 && len < this.specialList.length + this.topicSelectAll.check = len === this.topicList.length + this.isIndeterminate = len > 0 && len < this.topicList.length + this.$store.commit('setTopic', this.topicCheckedList) }, checkedSpecialChangeAll (val) { - // this.checkedCities = val ? this.cities.map(item => item.id) : [] - // this.isIndeterminate = false - // let list = [] - // if (val === true) { - // list = this.specialList.map(item => item.name) - // } - - this.checkedList = val.check ? this.specialList.map(item => item.name) : [] + this.topicCheckedList = val.check ? this.topicList.map(item => item.name) : [] this.isIndeterminate = false + this.$store.commit('setTopic', this.topicCheckedList) }, - checkedSpecialChange (item) { - console.log(item) + checkedSpecialChange () { + console.log(this.topicCheckedList) + // this.$store.commit('setTopic', this.topicCheckedList) } } diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue index dc1402f..fdbaae2 100644 --- a/src/components/panel/RightSearchPanel.vue +++ b/src/components/panel/RightSearchPanel.vue @@ -1,252 +1,76 @@ <template> - <div id="right-panel"> - <div class="panel-tab"> - <div class="tab-gd" @click="handleGd" :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}"></div> - <div class="tab-hb" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div> - <div class="tab-pk" @click="handlePk" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div> - </div> - <div class="panel-fold-btn"> - <div class="btn-stretch" @click="toggleMonitorPanel"></div> - </div> + <div id="right-panel"> + <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="right-control"> - <div class="el-message-box__header panel_header"> - <div class="el-message-box__title panel_title"><!----><span>{{ title }}</span> - </div> - </div> - <div class="el-message-box__content" style="padding:6px;font-size: 13px;"> - <div class="monitor1" v-if="gdVisible"> - <div> - <el-card class="search-panel"> - <el-form ref="form" :model="form" label-width="90px" class="search-form"> - <el-form-item label="绫诲瀷锛�"> - <el-select v-model="form.pipelineType" @change="handlePipelineType"> - <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="鏁版嵁绫诲瀷锛�"> - <el-select v-model="form.dataType"> - <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 label="妯$硦鎼滅储锛�"> - <el-input v-model="form.key" size="mini" - placeholder="鍦ㄦ杈撳叆鍏抽敭瀛�"></el-input> - </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> - </el-card> - <el-card class="search-result" style="height:271px;"> - <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index"> - <div class="B-TMD-table-list-title"> - <div class="B-TMD-table-list-head"> - <div class="B-TMD-table-list-title-y" - :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]"> - <span>杩愬崟鍙凤細</span> - <span id="waybillNumber" class="B-TMD-table-list-title-y-num" - :title="item.transNo"> - <span class="B-TMD-table-list-title-y-alarm">{{ item.transNo }}</span> - </span> - </div> - <div class="B-TMD-table-list-title-c"> - 杞藉叿鍙凤細 - <span id="plateNumber_p"> - <span id="plateNumber_n"><a href="#">{{ item.vehicleNo }}</a></span> - </span> - </div> - </div> - <div class="B-TMD-table-icons" style="float:right"> - <ul> - <li class="B-TMD-table-list-title-y-adress" - @click="handleLocation(item)"></li> - <li :class="[{'B-TMD-table-list-title-y-car': item.vehicleStatus ==='910002', 'B-TMD-table-list-title-y-car-offline': item.vehicleStatus ==='910001','B-TMD-table-list-title-y-car-warning': item.vehicleStatus==='910003' }]"></li> - </ul> - </div> - </div> - <div class="B-TMD-table-list-content"> - <div> - <span>鍙戣揣浼佷笟锛�</span> - <span id="b_twe_consignment" :title="item.outWarehouseName">{{ - item.outWarehouseName == null ? "鏆傛棤" : item.outWarehouseName - }}</span> - </div> - <div> - <span>鎵� 杩� 鍟嗭細</span> - <span id="b_twe_loan" :title="item.carrierName">{{ item.carrierName }}</span> - </div> - <div><span>鏀惰揣浼佷笟锛�</span> <span - id="b_twe_loan1" :title="item.recvWarehouseName">{{ item.recvWarehouseName }}</span> - </div> - </div> - <div class="B-TMD-table-list-bottom"> - <div class="B-TMD-table-list-bottom-name"> - 璐х墿鍚嶇О锛�<span :title="item.materialName">{{ item.materialName }}</span></div> - </div> - </div> - </el-card> - - <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> - </div> - </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> - </div> - </div> +<!-- <div class="tab-item" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>--> +<!-- <div class="tab-item" @click="handlePk" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>--> </div> + <div class="panel-fold-btn"> + <div class="btn-stretch" @click="toggleMonitorPanel"></div> + </div> + + <div class="right-control"> + + <component :title="title" :is="gcComp"></component> + </div> + </div> </template> <script> import $ from 'jquery' -import EnvProtectSearch from './EnvProtectSearch' -import DischargeSearch from './DischargeSearch' +import EnvProtectSearch from './topicSearch/EnvProtectSearch' +import DischargeSearch from './topicSearch/DischargeSearch' +import { TopicList } from '../../conf/Topic' +import SewersSearch from '@components/panel/topicSearch/SewersSearch' export default { name: 'MonitorPanel', components: { EnvProtectSearch, DischargeSearch }, data () { return { + topicMenu: [], + topicList: TopicList, + topicCheckedList: [], isPanelVisible: false, + gcComp: SewersSearch, + gdVisible: true, hbVisible: false, pkVisible: false, toggleMonitorStyle: 'right:0px', - list: [], - total: 0, - title: '绠¢亾淇℃伅鏌ヨ', - pipelineTypeOptions: [{ - value: '1', - label: '绠$嚎鏈綋' - }, { - value: '2', - label: '闄勫睘璁炬柦' - }], - dataTypeOptions: [], - attachOptions: [{ - value: '1', - label: '闃�闂�' - }, { - value: '2', - label: '绠″粖' - }, { - value: '3', - label: '绠℃灦' - }, { - value: '4', - label: '涓夐��' - }, { - value: '5', - label: '鍥涢��' - }, { - value: '6', - label: '寮ご' - }], - pipelineOptions: [{ - value: '1', - label: '绠$嚎' - }, { - value: '2', - label: '闆ㄦ按绠℃' - }, { - value: '3', - label: '鍚洂绠℃' - }, { - value: '4', - label: '鍚补绠℃' - }, { - value: '5', - label: '浜嬫晠姘寸娈�' - }, { - value: '6', - label: '鍚⒈绠℃' - }, { - value: '7', - label: '寰幆姘寸娈�' - }, { - value: '8', - label: '鍑�鍖栨按绠℃' - }, { - value: '9', - label: '鐢熸椿姹℃按绠℃' - }], - form: { - transNo: null, - carrierName: null, - transMode: null, - vehicleNo: null, - orderState: null, - size: 10, - current: 1 - }, - pageSize: 10, - current: 1, - isWaybillHover: true, - isRouteHover: false + + title: '姹¢洦姘寸缃�' + } }, computed: {}, - watch: {}, + watch: { + '$store.state.map.topic.topicCheckedList': function (newVal, oldVal) { + console.log(oldVal) + console.log(newVal) + this.topicCheckedList = newVal + this.topicMenu = [] + this.topicList.forEach((item) => { + this.topicCheckedList.forEach((itm) => { + if (item.name === itm) { + // item.checked = tr + this.topicMenu.push(item) + } + }) + }) + } + }, methods: { handleClose (done) { console.log(done) }, - handleSearch () { - }, - handlePipelineType (item) { - console.log(item) - if (item === '2') { - this.dataTypeOptions = this.attachOptions - } else if (item === '1') { - this.dataTypeOptions = this.pipelineOptions - } - }, handlePage (page) { }, handleGd () { - this.gdVisible = true - this.hbVisible = false - this.pkVisible = false this.title = '绠¢亾淇℃伅鏌ヨ' - }, - handleHb () { - this.gdVisible = false - this.hbVisible = true - this.pkVisible = false - this.title = '鐜繚璁炬柦鏌ヨ' - }, - handlePk () { - this.gdVisible = false - this.hbVisible = false - this.pkVisible = true - this.title = '鎺掑彛淇℃伅鏌ヨ' }, toggleMonitorPanel () { const el = $('.btn-stretch') @@ -289,379 +113,372 @@ </script> <style lang="less"> - #right-panel { - width: 322px; - //height: 573px; - height: 100%; - position: absolute; - right: 10px; - top: 10px; +@import '@assets/css/map/_map-variable'; +#right-panel { + width: 322px; + //height: 573px; + height: 100%; + position: absolute; + right: 10px; + top: 10px; - .el-card__body { - padding: 7px; - } + .el-card__body { + padding: 7px; + } - .el-form-item__content { - color: rgb(52, 224, 255); - } + .el-form-item__content { + color: rgb(52, 224, 255); + } - .el-picker-panel { - background-color: #061e51 !important; - } + .el-picker-panel { + background-color: #061e51 !important; + } - .el-input__inner { - border-radius: 0 !important; - background-color: #061e51 !important; - border: solid 1px #0e639e !important; - } + .el-input__inner { + border-radius: 0 !important; + background-color: #061e51 !important; + border: solid 1px #0e639e !important; + } - .el-form-item__label { - color: rgb(52, 224, 255); - } + .el-form-item__label { + color: rgb(52, 224, 255); + } - .el-input__inner::placeholder { - color: #9a9494; - } + .el-input__inner::placeholder { + color: #9a9494; + } - /* 璋锋瓕 */ + /* 璋锋瓕 */ - .el-input__inner::-webkit-input-placeholder { - color: #9a9494; - } + .el-input__inner::-webkit-input-placeholder { + color: #9a9494; + } - /* 鐏嫄 */ + /* 鐏嫄 */ - .el-input__inner:-moz-placeholder { - color: #9a9494; - } + .el-input__inner:-moz-placeholder { + color: #9a9494; + } - /*ie*/ + /*ie*/ - .el-input__inner:-ms-input-placeholder { - color: #9a9494; - } + .el-input__inner:-ms-input-placeholder { + color: #9a9494; + } - .warning { - color: #dcc805; - } + .warning { + color: #dcc805; + } - #plateNumber_n a { - color: rgb(52, 224, 255); - } + #plateNumber_n a { + color: rgb(52, 224, 255); + } - .offline { - color: #9a9494; - } + .offline { + color: #9a9494; + } - .customInput { - width: 118px; - } + .customInput { + width: 118px; + } - .btn-ok { - margin-right: 10px; - width: 4rem; - background-color: #0B89B5; - color: white; - border: 0; - } + .btn-ok { + margin-right: 10px; + width: 4rem; + background-color: #0B89B5; + color: white; + border: 0; + } - .btn-reset { - margin-right: 10px; - width: 4rem; - background-color: orange; - color: white; - border: 0; - } + .btn-reset { + margin-right: 10px; + width: 4rem; + background-color: orange; + color: white; + border: 0; + } - .component-fade-enter-active, .component-fade-leave-active { - transition: opacity .5s ease; - } + .component-fade-enter-active, .component-fade-leave-active { + transition: opacity .5s ease; + } - .component-fade-enter, .component-fade-leave-to - /* .component-fade-leave-active for below version 2.1.8 */ { - opacity: 0; - } + .component-fade-enter, .component-fade-leave-to + /* .component-fade-leave-active for below version 2.1.8 */ { + opacity: 0; + } - .B-TMD-table-icons ul li { - float: left; - margin: 10px; - list-style: none; - } + .B-TMD-table-icons ul li { + float: left; + margin: 10px; + list-style: none; + } - .B-TMD-table-list { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } + .B-TMD-table-list { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } - .B-TMD-table-list-title { - width: 100%; - height: 50px; - } + .B-TMD-table-list-title { + width: 100%; + height: 50px; + } - .B-TMD-table-list-head { - width: 160px; - float: left; - padding-left: 5px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .panel-fold-btn{ - position: absolute; - top:45%; - //right: 320px; - right: 290px; - z-index: 1000; - background-color: rgba(5,24,66,.8); - border-radius: 10px 0 0 10px; - .btn-stretch { - width: 20px; - height: 40px; - background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px; - cursor: pointer; + .B-TMD-table-list-head { + width: 160px; + float: left; + padding-left: 5px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .panel-fold-btn{ + position: absolute; + top:45%; + //right: 320px; + right: 290px; + z-index: 1000; + background-color: rgba(5,24,66,.8); + border-radius: 10px 0 0 10px; + .btn-stretch { + width: 20px; + height: 40px; + background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px; + cursor: pointer; - transform: rotateY(180deg); - transform-origin: 50% 50%; - transition: transform 1s linear; - } + transform: rotateY(180deg); + transform-origin: 50% 50%; + transition: transform 1s linear; + } + } + + .tab-item { + width: 32px; + height: 30px; + color: @color; + font-size: 12px; + background-color: #0B3B6D; + } + .tab-item:hover{ + cursor: pointer; + } + .panel-tab { + position: absolute; + left: 0; + //height: 120px; + top: 0; + width: 32px; + z-index: 500; + background: url('../../assets/images/map-pages/icon/caidan.png') no-repeat; + } + + .right-control { + width: 290px; + //height: 573px; + height: 100%; + position: absolute; + top: 0; + right: 0; + z-index: 999; + background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat; + background-size: 100% 98%; + } + + .panel_searchTotal { + font-size: 12px; + float: right; + } + + .panel_header { + // background-color: #030D2E; + padding: 7px 15px 3px 20px; + } + + .panel_title { + font-size: 12px; + margin: 0px; + padding: 0px; + color: #78c4ff; + font-weight: bold; + } + + .el-message-box__content { + background-color: transparent; + } + + .search-form .el-form-item { + margin: 0px; + } + + .search-form .el-icon-search { + display: grid; + line-height: 30px; + font-size: 18px; + } + + .search-panel { + border: #07325B; + background-color: #07325B !important; + margin-top: 0px; + + .el-input__inner { + border-radius: 0px !important; + background-color: #061e51 !important; + } + } + + input::-webkit-input-placeholder { + color: #569ee1; + } + + input::-moz-placeholder { + color: #569ee1; + } + + input::-ms-input-placeholder { + color: #569ee1; + } + + input[type=text]:focus { + outline: 1px solid #17e4f6; + // box-shadow: 1px 0px 3px 0px #17e4f6; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + } + + .search-result { + margin: 5px 0px 0px 0px; + padding: 0px; + border: #051842; + height: 290px; + overflow-y: scroll; + background-color: transparent !important; + margin-bottom: -8px !important; + } + + .offline { + color: #64778B; + } + + .B-TMD-table-list { + margin-top: 10px; + text-align: left; + padding-left: 10px; + //color: #64778B; + color: #34e0ff; + width: 100%; + line-height: 25px; + background: url('../../assets/images/map-pages/icon/dd.png') no-repeat; + } + + .B-TMD-inp-button { + width: 46px; + height: 52px; + position: absolute; + bottom: 8px; + right: 16px; + background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -481px 0; + cursor: pointer; + } + + .footer-page { + position: absolute; + background-color: transparent !important; + bottom: 10px !important; + margin-left: 0px; + border: none; + + .warnPagination { + .btn-quicknext, .btn-quickprev { + color: #e4e8f1 !important; + background-color: transparent; + // border: 1px solid #25AECD; + border-left: 1px solid #25AECD; + border-bottom: 1px solid #25AECD; + border-top: 1px solid #25AECD; + color: #e4e8f1; } - .tab-gd { - width: 32px; - height: 30px; - background-color: #0B3B6D; - } + .el-pager li { + color: #e4e8f1; + background: transparent; + // border: 1px solid #25AECD; + border-left: 1px solid #25AECD; + border-bottom: 1px solid #25AECD; + border-top: 1px solid #25AECD; + } - .tab-hb { - width: 32px; - height: 30px; - background-color: #545454; - } + .el-pager li.active { + border-color: #25AECD; + background-color: rgba(38, 222, 253, 0.3); + color: #e4e8f1; + } - .tab-pk { - width: 32px; - height: 30px; - background-color: #83a6c4; - } + .el-pager li:hover { + border-color: #25AECD; + background-color: rgba(38, 222, 253, 0.3); + color: #34e0ff; + } - .panel-tab { - position: absolute; - left: 0; - height: 120px; - top: 0; - width: 32px; - z-index: 500; - background: url('../../assets/images/map-pages/icon/caidan.png') no-repeat; - } + .btn-prev { + background-color: transparent; + // border: 1px solid #25AECD; + border-left: 1px solid #25AECD; + border-bottom: 1px solid #25AECD; + border-top: 1px solid #25AECD; + color: #e4e8f1; + } - .right-control { - width: 290px; - //height: 573px; - height: 100%; - position: absolute; - top: 0; - right: 0; - z-index: 999; - background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat; - background-size: 100% 98%; - } - - .panel_searchTotal { - font-size: 12px; - float: right; - } - - .panel_header { - // background-color: #030D2E; - padding: 7px 15px 3px 20px; - } - - .panel_title { - font-size: 12px; - margin: 0px; - padding: 0px; - color: #78c4ff; - font-weight: bold; - } - - .el-message-box__content { - background-color: transparent; - } - - .search-form .el-form-item { - margin: 0px; - } - - .search-form .el-icon-search { - display: grid; - line-height: 30px; - font-size: 18px; - } - - .search-panel { - border: #07325B; - background-color: #07325B !important; - margin-top: 0px; - - .el-input__inner { - border-radius: 0px !important; - background-color: #061e51 !important; - } - } - - input::-webkit-input-placeholder { - color: #569ee1; - } - - input::-moz-placeholder { - color: #569ee1; - } - - input::-ms-input-placeholder { - color: #569ee1; - } - - input[type=text]:focus { - outline: 1px solid #17e4f6; - // box-shadow: 1px 0px 3px 0px #17e4f6; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - } - - .search-result { - margin: 5px 0px 0px 0px; - padding: 0px; - border: #051842; - height: 290px; - overflow-y: scroll; - background-color: transparent !important; - margin-bottom: -8px !important; - } - - .offline { - color: #64778B; - } - - .B-TMD-table-list { - margin-top: 10px; - text-align: left; - padding-left: 10px; - //color: #64778B; - color: #34e0ff; - width: 100%; - line-height: 25px; - background: url('../../assets/images/map-pages/icon/dd.png') no-repeat; - } - - .B-TMD-inp-button { - width: 46px; - height: 52px; - position: absolute; - bottom: 8px; - right: 16px; - background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -481px 0; - cursor: pointer; - } - - .footer-page { - position: absolute; - background-color: transparent !important; - bottom: 10px !important; - margin-left: 0px; - border: none; - - .warnPagination { - .btn-quicknext, .btn-quickprev { - color: #e4e8f1 !important; - background-color: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - color: #e4e8f1; - } - - .el-pager li { - color: #e4e8f1; - background: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - } - - .el-pager li.active { - border-color: #25AECD; - background-color: rgba(38, 222, 253, 0.3); - color: #e4e8f1; - } - - .el-pager li:hover { - border-color: #25AECD; - background-color: rgba(38, 222, 253, 0.3); - color: #34e0ff; - } - - .btn-prev { - background-color: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - color: #e4e8f1; - } - - .btn-next { - background-color: transparent; - border: 1px solid #25AECD; - color: #e4e8f1; - } - } - } - - ::-webkit-scrollbar { - width: 7px; - height: 5px !important; - } - - ::-webkit-scrollbar-thumb { - /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/ - border-radius: 10px; - box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); - background: #0661AE; - border: 1px solid transparent; - } - - ::-webkit-scrollbar-track { - /*婊氬姩鏉¢噷闈㈣建閬�*/ - // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); - border-radius: 0px; - background: #0E3565; - } - - .selectFrom { - color: #061e51; - border: 1px solid #061e51 !important; - background: #dcc805 !important; - - .el-select-dropdown__list { - background: #061e51 !important; - } - - .el-select-dropdown__item { - color: #949494; - background: #061e51 !important; - } - - .el-select-dropdown__item.hover, - .el-select-dropdown__item:hover { - color: #fff; - background: #061e51 !important; - } - - .popper__arrow { - background-color: #061e51 !important; - } - } + .btn-next { + background-color: transparent; + border: 1px solid #25AECD; + color: #e4e8f1; + } } + } + + ::-webkit-scrollbar { + width: 7px; + height: 5px !important; + } + + ::-webkit-scrollbar-thumb { + /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/ + border-radius: 10px; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); + background: #0661AE; + border: 1px solid transparent; + } + + ::-webkit-scrollbar-track { + /*婊氬姩鏉¢噷闈㈣建閬�*/ + // box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); + border-radius: 0px; + background: #0E3565; + } + + .selectFrom { + color: #061e51; + border: 1px solid #061e51 !important; + background: #dcc805 !important; + + .el-select-dropdown__list { + background: #061e51 !important; + } + + .el-select-dropdown__item { + color: #949494; + background: #061e51 !important; + } + + .el-select-dropdown__item.hover, + .el-select-dropdown__item:hover { + color: #fff; + background: #061e51 !important; + } + + .popper__arrow { + background-color: #061e51 !important; + } + } +} </style> diff --git a/src/components/panel/DischargeSearch.vue b/src/components/panel/topicSearch/DischargeSearch.vue similarity index 100% rename from src/components/panel/DischargeSearch.vue rename to src/components/panel/topicSearch/DischargeSearch.vue diff --git a/src/components/panel/EnvProtectSearch.vue b/src/components/panel/topicSearch/EnvProtectSearch.vue similarity index 100% rename from src/components/panel/EnvProtectSearch.vue rename to src/components/panel/topicSearch/EnvProtectSearch.vue diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue new file mode 100644 index 0000000..22d6997 --- /dev/null +++ b/src/components/panel/topicSearch/SewersSearch.vue @@ -0,0 +1,178 @@ +<template> + <div id="sewers-search"> + <div class="el-message-box__header panel_header"> + <div class="el-message-box__title panel_title"><!----><span>{{ title }}</span> + </div> + </div> + <div class="el-message-box__content" style="padding:6px;font-size: 13px;"> + <div class="box__content" v-if="gdVisible"> + <div> + <el-card class="search-panel"> + <el-form ref="form" :model="form" label-width="90px" class="search-form"> + <el-form-item label="璁炬柦绫诲瀷锛�" size="mini"> + <el-select 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="鏁版嵁绫诲瀷锛�"> + <el-select v-model="form.dataType" size="mini" 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 >--> + <el-input v-model="form.key" size="mini" + placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�"> +<!-- <el-button slot="append" icon="el-icon-search" size="mini"></el-button>--> + <span><i class="el-icon-edit"></i></span> + </el-input> +<!-- </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> + </el-card> + <el-card class="search-result" style="height:271px;"> + <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index"> + <div class="B-TMD-table-list-title"> + <div class="B-TMD-table-list-head"> + <div class="B-TMD-table-list-title-y" + :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]"> + <span>杩愬崟鍙凤細</span> + <span id="waybillNumber" class="B-TMD-table-list-title-y-num" + :title="item.transNo"> + <span class="B-TMD-table-list-title-y-alarm">{{ item.transNo }}</span> + </span> + </div> + <div class="B-TMD-table-list-title-c"> + 杞藉叿鍙凤細 + <span id="plateNumber_p"> + <span id="plateNumber_n"><a href="#">{{ item.vehicleNo }}</a></span> + </span> + </div> + </div> + <div class="B-TMD-table-icons" style="float:right"> + <ul> + <li class="B-TMD-table-list-title-y-adress" + @click="handleLocation(item)"></li> + <li :class="[{'B-TMD-table-list-title-y-car': item.vehicleStatus ==='910002', 'B-TMD-table-list-title-y-car-offline': item.vehicleStatus ==='910001','B-TMD-table-list-title-y-car-warning': item.vehicleStatus==='910003' }]"></li> + </ul> + </div> + </div> + <div class="B-TMD-table-list-content"> + <div> + <span>鍙戣揣浼佷笟锛�</span> + <span id="b_twe_consignment" :title="item.outWarehouseName">{{ + item.outWarehouseName == null ? "鏆傛棤" : item.outWarehouseName + }}</span> + </div> + <div> + <span>鎵� 杩� 鍟嗭細</span> + <span id="b_twe_loan" :title="item.carrierName">{{ item.carrierName }}</span> + </div> + <div><span>鏀惰揣浼佷笟锛�</span> <span + id="b_twe_loan1" :title="item.recvWarehouseName">{{ item.recvWarehouseName }}</span> + </div> + </div> + <div class="B-TMD-table-list-bottom"> + <div class="B-TMD-table-list-bottom-name"> + 璐х墿鍚嶇О锛�<span :title="item.materialName">{{ item.materialName }}</span></div> + </div> + </div> + </el-card> + + <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> + </div> + </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>--> + </div> + </div> + +</template> + +<script> +import { PipelineTypeOptions, OutletOptions, AttachOptions, PipelineOptions, EnvironmentOptions, SurroundingsOptions } from '@/conf/LayerSewers' + +export default { + name: 'SewersSearch', + data () { + return { + gdVisible: true, + list: [], + total: 0, + pipelineTypeOptions: PipelineTypeOptions, + outletOptions: OutletOptions, + dataTypeOptions: [], + + attachOptions: AttachOptions, + pipelineOptions: PipelineOptions, + environmentOptions: EnvironmentOptions, + surroundingsOptions: SurroundingsOptions, + form: { + transNo: null, + carrierName: null, + transMode: null, + vehicleNo: null, + orderState: null, + size: 10, + current: 1 + }, + pageSize: 10, + current: 1, + isWaybillHover: true, + isRouteHover: false + } + }, + props: ['title'], + methods: { + handlePipelineType (item) { + console.log(item) + if (item === '2') { + this.dataTypeOptions = this.outletOptions + } else if (item === '1') { + this.dataTypeOptions = this.pipelineOptions + } else if (item === '3') { + this.dataTypeOptions = this.attachOptions + } else if (item === '4') { + this.dataTypeOptions = this.environmentOptions + } else if (item === '5') { + this.dataTypeOptions = this.surroundingsOptions + } + }, + handleSearch () { + + } + } +} +</script> + +<style lang="less"> +@import '@assets/css/map/map-elem-ui'; + +</style> diff --git a/src/conf/LayerSewers.js b/src/conf/LayerSewers.js index 5e8b4cc..987a9dd 100644 --- a/src/conf/LayerSewers.js +++ b/src/conf/LayerSewers.js @@ -375,3 +375,136 @@ ] } ] + +export const PipelineTypeOptions = [{ + value: '1', + label: '绠$嚎鏈綋' +}, { + value: '2', + label: '鎺掑彛淇℃伅' +}, { + value: '3', + label: '闄勫睘璁炬柦' +}, { + value: '4', + label: '鐜繚璁炬柦' +}, { + value: '5', + label: '鍛ㄨ竟鐜' +}] + +export const OutletOptions = [{ + value: '1', + label: '鍏ㄩ儴鎺掑彛' +}, { + value: '2', + label: '鍐呮帓鍙�' +}, { + value: '3', + label: '澶栨帓鍙�' +}] + +export const AttachOptions = [ + { + value: '1', + label: '鍏ㄩ儴璁炬柦' + }, { + value: '2', + label: '闃�闂�' + }, { + value: '3', + label: '绠″粖' + }, { + value: '4', + label: '绠℃灦' + }, { + value: '5', + label: '涓夐��' + }, { + value: '6', + label: '鍥涢��' + }, { + value: '7', + label: '寮ご' + }] + +export const PipelineOptions = [{ + value: '1', + label: '鍏ㄩ儴绠$嚎' +}, { + value: '2', + label: '鐢熸椿姹℃按绠$嚎' +}, { + value: '3', + label: '鍚洂绠$嚎' +}, { + value: '4', + label: '闆ㄦ按绠$嚎' +}, { + value: '5', + label: '鍚补绠$嚎' +}, { + value: '6', + label: '浜嬫晠姘寸绾�' +}, { + value: '7', + label: '鍚⒈绠$嚎' +}, { + value: '8', + label: '寰幆姘寸绾�' +}, { + value: '9', + label: '鍑�鍖栨按绠$嚎' +}] + +export const EnvironmentOptions = [ + { + value: '1', + label: '鍏ㄩ儴璁炬柦' + }, { + value: '2', + label: '闆ㄧ瀛�' + }, { + value: '3', + label: '闃茬伀鍫�' + }, { + value: '4', + label: '闆嗘按姹�' + }, { + value: '5', + label: '鏀堕泦缃�' + }, { + value: '6', + label: '鎴祦闂�' + }, { + value: '7', + label: '婧㈡祦鍫�' + }, { + value: '8', + label: '闅旀补姹�' + }, { + value: '9', + label: '娉�' + }] + +export const SurroundingsOptions = [ + { + value: '1', + label: '鍏ㄩ儴鍛ㄨ竟鐜' + }, { + value: '2', + label: '鍖婚櫌' + }, { + value: '3', + label: '鏅尯' + }, { + value: '4', + label: '鑷劧淇濇姢鍖�' + }, { + value: '5', + label: '娑堥槻' + }, { + value: '6', + label: '姘翠綋' + } +] diff --git a/src/conf/Topic.js b/src/conf/Topic.js new file mode 100644 index 0000000..fb1faa3 --- /dev/null +++ b/src/conf/Topic.js @@ -0,0 +1,57 @@ +export const TopicSelectAll = { + name: '鍏ㄩ��', + check: false, + icon: '/assets/images/menu/special.png' +} + +export const TopicList = [{ + name: '姹℃煋婧�', + id: 1, + check: false, + icon: '/assets/images/menu/special.png' +}, { + name: '搴熸按鐩戞祴', + id: 2, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '搴熸皵鐩戞祴', + id: 3, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '鍥哄簾绠$悊', + id: 4, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '鐜椋庨櫓', + id: 5, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '鍦熷¥鍙婂湴涓嬫按', + id: 6, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '姹¢洦姘寸缃�', + id: 7, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '棰勮鎶ヨ', + id: 8, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '鎸囨爣缁熻', + id: 9, + checked: false, + icon: '/assets/images/menu/special.png' +}, { + name: '搴旀�ュ湴鍥�', + id: 10, + checked: false, + icon: '/assets/images/menu/special.png' +}] diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 6016809..341fb4b 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -18,6 +18,10 @@ datas: { sewers: [] }, + topic: { + currentTopic: '', + topicCheckedList: [] + }, config: config, serviceLayers: config.mapConfig.Layers } @@ -49,6 +53,9 @@ }, toggleServiceLayerFilter (state) { state.showServiceLayerFilter = !state.showServiceLayerFilter + }, + setTopic (state, obj) { + state.topic.topicCheckedList = obj } } const actions = {} -- Gitblit v1.8.0