From 81e462c9578834d32a30f939d940fb674f1e29f8 Mon Sep 17 00:00:00 2001
From: 陈泽平 <chenzeping>
Date: 星期五, 21 五月 2021 17:35:54 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 src/components/BaseNav/pipeline/AffiliatedFacilities.vue |  239 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 209 insertions(+), 30 deletions(-)

diff --git a/src/components/BaseNav/pipeline/AffiliatedFacilities.vue b/src/components/BaseNav/pipeline/AffiliatedFacilities.vue
index 3cc7ce3..87260dc 100644
--- a/src/components/BaseNav/pipeline/AffiliatedFacilities.vue
+++ b/src/components/BaseNav/pipeline/AffiliatedFacilities.vue
@@ -3,57 +3,236 @@
     <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: '',
+      list: [],
+      activeNum: -1
+    }
+  },
+  props: ['facilitiesParameter', 'fuShuSheShiSubItems'],
+  watch: {
+    facilitiesParameter: {
+      handler (newValue, oldValue) {
+        this.dialogVisible = true
+        this.list = []
+      },
+      deep: true
+    }
+  },
+  computed: {
+    classification () {
+      const layers = LayerFsss.layers
+      console.log(layers)
+      const filtered = layers.filter(function (value, index, array) {
+        console.log(value)
+        return value.name !== '娴佸悜'
+      })
+      return filtered
     }
   },
   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