From 8cb1cdbee874842af44683dea8b0f0ff8087d0ea Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期四, 12 十月 2023 21:54:36 +0800
Subject: [PATCH] 更新

---
 src/api/api.js       |   16 +--
 src/assets/js/rpc.js |  265 ++++++++++++++++++++++++++++++++--------------------
 static/mapData.js    |    2 
 3 files changed, 167 insertions(+), 116 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 1c37435..e5c47cb 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -11,17 +11,16 @@
 //鍥尯鍦板潃搴撴煡璇�
 export function liushisijiayuanqudizhibianmafuwu(params) {
     return request.get(
-        //  "/gisserver/rest/services/Locators/liushisijiayuanqudizhibianmafuwu/GeocodeServer/findAddressCandidates?singleLine=" + params
-        // '/gisserver/wfsserver/liushisijiayuanqu1005?version=1.3.0&request=GetFeature&typename=64jiayuanqujibenqingkuang&propertyname=*&filter=%3CFilter%3E%3CPropertyIsLike+wildCard%3D%22*%22%3E%3CPropertyName%3EYQmingchen%3C%2FPropertyName%3E%3CLiteral%3E*%E6%B0%B8%E6%98%8C*%3C%2FLiteral%3E%3C%2FPropertyIsLike%3E%3C%2FFilter%3E&format=json'
-        'gisserver/wfsserver/liushisijiayuanqu1005?version=1.3.0&request=GetFeature&typename=64jiayuanqujibenqingkuang&propertyname=*&filter=<Filter><PropertyIsLike+wildCard%3D"*"><PropertyName>YQmingchen<%2FPropertyName><Literal>*' + params + '*<%2FLiteral><%2FPropertyIsLike><%2FFilter>&format=json'
+        'gisserver/wfsserver/liushisijiayuanqu1012?version=1.3.0&request=GetFeature&typename=64瀹跺洯鍖哄熀鏈儏鍐佃寖鍥碿oordinates10092&propertyname=*&filter=<Filter><PropertyIsLike+wildCard%3D"*"><PropertyName>YQmingchen<%2FPropertyName><Literal>*' + params + '*<%2FLiteral><%2FPropertyIsLike><%2FFilter>&format=json'
     );
 }
-//鐢熺墿鍖昏嵂鏌ヨ
-export function shengwuSearch() {
+//鍥尯绫诲瀷鏌ヨ
+export function shengwuSearch(params) {
     return request.get(
-        'gisserver/wfsserver/liushisijiayuanqu1005?version=1.3.0&request=GetFeature&typename=64jiayuanqujibenqingkuang&propertyname=*&filter=<Filter><PropertyIsLike+wildCard%3D"*"><PropertyName>chanyeDW<%2FPropertyName><Literal>*鐢熺墿鍖昏嵂*<%2FLiteral><%2FPropertyIsLike><%2FFilter>&format=json'
+        'gisserver/wfsserver/liushisijiayuanqu1012?version=1.3.0&request=GetFeature&typename=64瀹跺洯鍖哄熀鏈儏鍐佃寖鍥碿oordinates10092&propertyname=*&filter=<Filter><PropertyIsLike+wildCard%3D"*"><PropertyName>chanyeDW<%2FPropertyName><Literal>*' + params + '*<%2FLiteral><%2FPropertyIsLike><%2FFilter>&format=json'
     );
 }
+
 // 鍦板潡鏌ヨ
 export function findAddressCandidates(params) {
     return request.get(
@@ -38,10 +37,5 @@
         "&lat=" +
         lat +
         "&geom=true&requesttype=json"
-    );
-}
-export function shengwuSearch() {
-    return request.get(
-        'gisserver/wfsserver/liushisijiayuanqu1005?version=1.3.0&request=GetFeature&typename=64jiayuanqujibenqingkuang&propertyname=*&filter=<Filter><PropertyIsLike+wildCard%3D"*"><PropertyName>chanyeDW<%2FPropertyName><Literal>*鐢熺墿鍖昏嵂*<%2FLiteral><%2FPropertyIsLike><%2FFilter>&format=json'
     );
 }
\ No newline at end of file
diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index 5708571..337ca94 100644
--- a/src/assets/js/rpc.js
+++ b/src/assets/js/rpc.js
@@ -26,23 +26,30 @@
     pointerFly: null, //瀹氱偣婕父
     isShow: false,
     objArr: [],
-    pointrange:null,
+    pointrange: null,
 
     //鍏抽敭瀛楁煡璇�
     getFuzzyQuery(res) {
-        if(res.message.indexOf('濂旈┌')>-1){
-            store.queryLayer.val ='濂旈┌鍏徃'
-        }  else if(res.message.indexOf('浜笢')>-1){
-            store.queryLayer.val ='浜笢'
-        }else if(res.message.indexOf('灏忕背')>-1){
-            store.queryLayer.val ='灏忕背'
-        }else if(res.message.indexOf('鍗氬ぇ')>-1){
-            store.queryLayer.val ='鍗氬ぇ澶у帵'
-        }else{
-          
-  store.queryLayer.val = res.message;
+        if (res.message.indexOf('濂旈┌') > -1) {
+            store.queryLayer.val = '濂旈┌鍏徃'
+        } else if (res.message.indexOf('浜笢') > -1) {
+            store.queryLayer.val = '浜笢'
+        } else if (res.message.indexOf('灏忕背') > -1) {
+            store.queryLayer.val = '灏忕背'
+        } else if (res.message.indexOf('鍗氬ぇ') > -1) {
+            store.queryLayer.val = '鍗氬ぇ澶у帵'
+        } else if (res.message.indexOf('淇℃伅鎶�鏈�') > -1) {
+            store.queryLayer.val = '淇℃伅鎶�鏈�'
+        } else if (res.message.indexOf('鐢熺墿鍖昏嵂') > -1) {
+            store.queryLayer.val = '鐢熺墿鍖昏嵂'
+        } else if (res.message.indexOf('鏈哄櫒浜�') > -1) {
+            store.queryLayer.val = '鏈哄櫒浜�'
+        } else if (res.message.indexOf('姹借溅') > -1) {
+            store.queryLayer.val = '姹借溅'
+        } else {
+            store.queryLayer.val = res.message;
         }
-     
+
         this.setClearAllMsg();
         if (!res.baidu_keys) return;
         var flag = true;
@@ -88,98 +95,147 @@
             this.pointrange = 2000;
             for (var i = 0; i < length; i++) {
                 var world = keyWorld[i].word;
-               if(world.indexOf('濂旈┌')>-1){
-                   world ='濂旈┌';
-                   this.pointrange = 12000
-               } else if(world.indexOf('浜笢')>-1){
-                world ='浜笢'
-               }else if(world.indexOf('灏忕背')>-1){
-                world ='灏忕背'
-               }else if(world.indexOf('鍗氬ぇ澶у帵')>-1){
-                world ='鍗氬ぇ澶у帵'
-               } 
+                if (world.indexOf('濂旈┌') > -1) {
+                    world = '濂旈┌';
+                    this.pointrange = 12000
+                } else if (world.indexOf('浜笢') > -1) {
+                    world = '浜笢'
+                } else if (world.indexOf('灏忕背') > -1) {
+                    world = '灏忕背'
+                } else if (world.indexOf('鍗氬ぇ澶у帵') > -1) {
+                    world = '鍗氬ぇ澶у帵'
+                } else if (world.indexOf('淇℃伅鎶�鏈�') > -1) {
+                    world = '淇℃伅鎶�鏈�'
+                } else if (world.indexOf('鐢熺墿鍖昏嵂') > -1) {
+                    world = '鐢熺墿鍖昏嵂'
+                } else if (world.indexOf('鏈哄櫒浜�') > -1) {
+                    world = '鏈哄櫒浜�'
+                } else if (world.indexOf('姹借溅') > -1) {
+                    world = '姹借溅'
+                }
                 this.setFuzzyQueryData(world, i, length - 1);
             }
         }
     },
     async setFuzzyQueryData(res, index, length) {
-        Promise.all([
-            ent_selectByName(res), //浼佷笟
-            liushisijiayuanqudizhibianmafuwu(res), //鍥尯
-            findAddressCandidates(res) ,//鍦板潡,
-           
-        ]).then(result => {
-            var that = this;
-            store.queryLayer.data = [];
-            //浼佷笟
-            var EntArr = result[0].result.filter(item => {
-                return item.entName.includes(res);
-            });
-            EntArr.forEach(val => {
-                let itemObj = {
-                    type: "浼佷笟",
-                    name: val.entName,
-                    address: val.address,
-                    lon: val.x,
-                    lat: val.y
-                };
-                that.objArr.push(itemObj);
-            });
-            //鍥尯
-            var YQArr = result[1].features.filter(item => {
-                return item.properties.YQmingchen.includes(res);
-            });
+        if (res == "淇℃伅鎶�鏈�" || res == "鐢熺墿鍖昏嵂" || res == "鏈哄櫒浜�" || res == "姹借溅") {
+            shengwuSearch(res).then(result => {
+                var that = this;
+                result.features.forEach(val => {
+                    let itemObj = {
+                        type: "鍥尯",
+                        name: val.properties.YQmingchen,
+                        address: val.properties.YQdizhi,
+                        lon: val.properties.longtitude,
+                        lat: val.properties.latitude,
+                        geom: val.geometry.coordinates[0].flat()
 
-            YQArr.forEach(val => {
-                let itemObj = {
-                    type: "鍥尯",
-                    name: val.properties.YQmingchen,
-                    address: val.properties.YQdizhi,
-                    lon: val.geometry.coordinates[0],
-                    lat: val.geometry.coordinates[1],
-                    geom: val.properties.Coor1 + val.properties.Coor2
-
-                };
-                that.objArr.push(itemObj);
-            });
-            //鍦板潡
-            var LandArr = result[2].candidates.filter((item) => {
-                return item.attributes.QYMC.includes(res);
-            })
-            // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭
-            LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1))
-            LandArr.forEach((val) => {
-                let itemObj = {
-                    type: "鍦板潡",
-                    name: val.attributes.QYMC,
-                    area: val.attributes.area,
-                    code: val.attributes["鍦板潡缂�"],
-                    lon: val.location.x,
-                    lat: val.location.y,
-                };
-                that.objArr.push(itemObj);
-            });
-
-            if (index == length) {
-                if (that.objArr.length <= 0) {
-
-                    vueEvents.$emit("queryData", true);
-                    return;
-                }
-                var num = that.objArr.length;
-                for (var i = 0; i < num; i++) {
-                    if (i < 6) {
-                        that.dataQuery.push(that.objArr[i]);
+                    };
+                    that.objArr.push(itemObj);
+                });
+                if (index == length) {
+                    if (that.objArr.length <= 0) {
+                        vueEvents.$emit("queryData", true);
+                        return;
                     }
+                    var num = that.objArr.length;
+                    for (var i = 0; i < num; i++) {
+                        if (i < 6) {
+                            that.dataQuery.push(that.objArr[i]);
+                        }
+                    }
+                    store.queryLayer.data = that.dataQuery;
+                    that.setClearAllMsg();
+                    setTimeout(() => {
+                        vueEvents.$emit("queryData", true);
+                        that.setLocation(that.dataQuery[0]);
+                    }, 1000);
                 }
-                store.queryLayer.data = that.dataQuery;
-                that.setClearAllMsg();
-                setTimeout(() => {
-                    vueEvents.$emit("queryData", true);
-                    that.setLocation(that.dataQuery[0]);
-                }, 1000);
-            }
-        });
+            })
+        } else {
+            Promise.all([
+                ent_selectByName(res), //浼佷笟
+                liushisijiayuanqudizhibianmafuwu(res), //鍥尯
+                findAddressCandidates(res),//鍦板潡,
+            ]).then(result => {
+                var that = this;
+                store.queryLayer.data = [];
+                //浼佷笟
+                var EntArr = result[0].result.filter(item => {
+                    return item.entName.includes(res);
+                });
+                EntArr.forEach(val => {
+                    let itemObj = {
+                        type: "浼佷笟",
+                        name: val.entName,
+                        address: val.address,
+                        lon: val.x,
+                        lat: val.y
+                    };
+                    that.objArr.push(itemObj);
+                });
+                //鍥尯
+                var YQArr = result[1].features.filter(item => {
+                    return item.properties.YQmingchen.includes(res);
+                });
+
+                YQArr.forEach(val => {
+                    let itemObj = {
+                        type: "鍥尯",
+                        name: val.properties.YQmingchen,
+                        address: val.properties.YQdizhi,
+                        lon: val.properties.longtitude,
+                        lat: val.properties.latitude,
+                        geom: val.geometry.coordinates[0].flat()
+                        // lon: val.geometry.coordinates[0],
+                        // lat: val.geometry.coordinates[1],
+                        // geom: val.properties.Coor1 + val.properties.Coor2
+
+                    };
+                    that.objArr.push(itemObj);
+                });
+                //鍦板潡
+                var LandArr = result[2].candidates.filter((item) => {
+                    return item.attributes.QYMC.includes(res);
+                })
+                // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭
+                LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1))
+                LandArr.forEach((val) => {
+                    let itemObj = {
+                        type: "鍦板潡",
+                        name: val.attributes.QYMC,
+                        area: val.attributes.area,
+                        code: val.attributes["鍦板潡缂�"],
+                        lon: val.location.x,
+                        lat: val.location.y,
+                    };
+                    that.objArr.push(itemObj);
+                });
+
+                if (index == length) {
+                    if (that.objArr.length <= 0) {
+
+                        vueEvents.$emit("queryData", true);
+                        return;
+                    }
+                    var num = that.objArr.length;
+                    for (var i = 0; i < num; i++) {
+                        if (i < 6) {
+                            that.dataQuery.push(that.objArr[i]);
+                        }
+                    }
+                    store.queryLayer.data = that.dataQuery;
+                    that.setClearAllMsg();
+                    setTimeout(() => {
+                        vueEvents.$emit("queryData", true);
+                        that.setLocation(that.dataQuery[0]);
+                    }, 1000);
+                }
+            });
+        }
+
+
+
     },
 
     getFuzzyQueryData(res, index, length, flag) {
@@ -207,16 +263,17 @@
     },
     // 鏄剧ず鍦板潡鑼冨洿
     getLandmass(res) {
-
         let that = this;
         if (res.type == "鍥尯") {
-            var geom = res.geom.split(',');
+            this.setDrawPolyExtent(res.geom)
 
-            var coord = [];
-            for (var i in geom) {
-                coord.push(parseFloat(geom[i]))
-            }
-            this.setDrawPolyExtent(coord)
+            // var geom = res.geom.split(',');
+
+            // var coord = [];
+            // for (var i in geom) {
+            //     coord.push(parseFloat(geom[i]))
+            // }
+            // this.setDrawPolyExtent(coord)
         } else if (res.type == "鍦板潡" || res.type == "浼佷笟") {
             getDiKuanFanWei(res.lon, res.lat).then(response => {
                 let center = { lon: 0, lat: 0 };
diff --git a/static/mapData.js b/static/mapData.js
index a50b7f0..4e0e31a 100644
--- a/static/mapData.js
+++ b/static/mapData.js
@@ -96,7 +96,7 @@
         lineRoam: ['婕父', '瀵艰埅'],
         closeRoam: ['鍋滄婕父', '鍋滄瀵艰埅'],
         localPage: ['涓�', '浜�', '涓�', '鍥�', '浜�', '鍏�'],
-        acceptMsg:['瀹氫綅','濂旈┌','浜笢','灏忕背','鍗氬ぇ澶у帵','绗�','鍔炰簨娴佺▼']
+        acceptMsg:['瀹氫綅','濂旈┌','浜笢','灏忕背','鍗氬ぇ澶у帵','绗�','鍔炰簨娴佺▼','鍥�','淇℃伅鎶�鏈�','鐢熺墿鍖昏嵂','鏈哄櫒浜�','姹借溅',]
     }
 };
 export default mapData;

--
Gitblit v1.9.3