From b92a4b9486907f453463cd3a545a11ac7a629840 Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期五, 21 五月 2021 14:39:33 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/BaseNav/pipeline/AffiliatedFacilities.vue | 228 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 198 insertions(+), 30 deletions(-) diff --git a/src/components/BaseNav/pipeline/AffiliatedFacilities.vue b/src/components/BaseNav/pipeline/AffiliatedFacilities.vue index 3cc7ce3..a52abbb 100644 --- a/src/components/BaseNav/pipeline/AffiliatedFacilities.vue +++ b/src/components/BaseNav/pipeline/AffiliatedFacilities.vue @@ -3,57 +3,225 @@ <div class="affiliatedFacilities"> <el-dialog custom-class="affiliatedFacilities-dialog" - title="鎻愮ず" + :title="facilitiesParameter && facilitiesParameter.properties.pipename" :visible.sync="dialogVisible" :append-to-body="true" :modal="false" - v-dialogDrag - > - <div> - <h3>闄勫睘璁炬柦鍒嗙被</h3> - <ul> - <li>闄勫睘璁炬柦瀛愮被</li> - <li>闄勫睘璁炬柦瀛愮被</li> - <li>闄勫睘璁炬柦瀛愮被</li> - <li>闄勫睘璁炬柦瀛愮被</li> - <li>闄勫睘璁炬柦瀛愮被</li> - </ul> + v-dialogDragBottom + > + <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"> + <div class="el-select el-select--mini">8888</div> + </el-form-item> --> + <el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item"> + <el-select style="width: 100%" v-model="dataType" value-key="code" @change="handleDataType" + :popper-class="'select-down'"> + <el-option v-for="(item,index) in classification" :key="index" :label="item.name" + :value="item"></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-scrollbar style="height:300px;"> + <div class="environmental-risk-list" v-for="(item,index) in list" :key="index" + :class="activeNum===index?'hover':''"> + <img class="state" :src="getImgSrc()" style="background: none"/> + <div> + <h3 @click="handleLocation(item,index)">{{ item.properties.pipename }}</h3> + <p>鎵�灞炰紒涓氾細<span>{{ item.properties.orgcode }}</span> + <p>璁炬柦绫诲瀷锛�<span>{{ item.properties.teetype }}</span> + <!-- <el-button v-if="fuShuSheShiShow" class="rt" size="mini" style="margin-right: 0.04rem" @click="btnAffiliatedFacilities(item)" >闄勫睘璁炬柦</el-button> --> + </p> + </div> + </div> + </el-scrollbar> + <!-- <div v-for="(item,index) in classification" :key="index"> + <h3 @click="btnfuShuSheShiSubItems(item,index)"> <i :class="item.isShow?'icon iconfont iconcaret-right':'icon iconfont iconsort-down'"></i> {{item.name}}</h3> + <ul v-if="item.isShow"> + <li v-for="(item1,index1) in item.features" :key="index1" @click="btnFeatures(item,item1,index,index1)" :class="item.activeNum==index1?'hover':''" >{{item1.properties.pipename}}</li> + </ul> + </div> --> </el-dialog> </div> </template> <script> +import WfsHelper from '@components/helpers/WfsHelper' +import AjaxUtils from '@utils/AjaxUtils' +import { LayerFsss } from '@src/conf/layers/LayerFsss' +import { locate } from '../../helpers/LocateHelper' + +// console.log(LayerFsss, 8888888888) export default { name: 'AffiliatedFacilities', data () { return { - dialogVisible: true + dialogVisible: false, + form: { + areaVal: '', + keyword: '' + }, + dataType: '', + classification: LayerFsss.layers, + list: [], + activeNum: -1 + } + }, + props: ['facilitiesParameter', 'fuShuSheShiSubItems'], + watch: { + facilitiesParameter: { + handler (newValue, oldValue) { + this.dialogVisible = true + this.list = [] + }, + deep: true } }, methods: { + getImgSrc () { + const icon = this.dataType.icon + return icon ? 'assets/images/map/' + icon : '' + }, handleClose (done) { - this.$confirm('纭鍏抽棴锛�') - .then(_ => { - done() - }) - .catch(_ => {}) + // this.$confirm('纭鍏抽棴锛�').then(_ => { done() }).catch(_ => {}) + }, + btnFeatures (val, val1, index, index1) { + this.classification.forEach((item) => { + item.activeNum = -1 + }) + this.classification[index].activeNum = index1 + this.$forceUpdate() + window.layerFactory.flyByFeature(val1, val.code) + }, + handleDataType () { + this.list = [] + }, + async handleSearch () { + var wfsHelper = new WfsHelper() + // todo 鐜板湪绠$綉杩樻病鍖哄垎寮�绫诲瀷锛屽悗闈㈡敼 + wfsHelper.addTypeName(this.dataType.typeName) + if (this.form.keyword) { + wfsHelper.addLike('name', this.form.keyword) + } + // const _this = this + + const res = await AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}) + // console.log(res) + + if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { + this.list = res.features + + // this.$forceUpdate() + } + }, + handleLocation (val, index) { + this.activeNum = index + locate(val, this.dataType) } } } </script> -<style lang="less"> -.affiliatedFacilities-dialog{ - width: calc(30% - 15px) !important; // calc(30% - 15px); - left: 50%; - .el-dialog__body{ - padding: 0.04rem; - h3{color:#fff;} - ul {display: flex;flex-wrap: wrap; - li{margin-left:0.04rem;margin-bottom: 0.04rem;cursor: pointer;color:#00fff6} +<style lang="less"> + .affiliatedFacilities-dialog { + width: calc(20% - 60px) !important; // calc(30% - 15px); + left: 60%; + + .el-dialog__body { + padding: 0.04rem; + + .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-form-item__label { + color: #00fff6 + } + + .el-input__inner { + background: none; + color: #fff; + font-size: 14px; + border-radius: 0; + border-color: @color; + background: rgba(0, 16, 30, .5); + } + } + + /*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; + } + } + + .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 { + color: @color-highlight; + background: @background-color; + } } } -} -</style > +</style> -- Gitblit v1.8.0