From 61eb5a39f95962d021e8170e83286fdc790d1567 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期三, 09 十月 2024 15:55:09 +0800 Subject: [PATCH] 案件信息 --- src/components/menu/tools/special.vue | 335 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 169 insertions(+), 166 deletions(-) diff --git a/src/components/menu/tools/special.vue b/src/components/menu/tools/special.vue index 520ec4c..c981328 100644 --- a/src/components/menu/tools/special.vue +++ b/src/components/menu/tools/special.vue @@ -2,52 +2,28 @@ <div class="special" id="special"> <div class="specialTools"> <div class="specialTool" @click="tdglHandle"> - <el-tooltip - class="item" - effect="dark" - content="鍦熷湴绠$悊" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="鍦熷湴绠$悊" placement="top-start" popper-class="item_tooltip"> <el-button> <img src="@/assets/img/left/ztfx/tdgl.png" /> </el-button> </el-tooltip> </div> <div class="specialTool" @click="stdsj"> - <el-tooltip - class="item" - effect="dark" - content="瑙嗗浘澶ф暟鎹钩鍙�" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="瑙嗗浘澶ф暟鎹钩鍙�" placement="top-start" popper-class="item_tooltip"> <el-button> <img src="@/assets/img/left/ztfx/dashuju.png" /> </el-button> </el-tooltip> </div> <div class="specialTool" @click="spjkHandle"> - <el-tooltip - class="item" - effect="dark" - content="瑙嗛鐩戞帶" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="瑙嗛鐩戞帶" placement="top-start" popper-class="item_tooltip"> <el-button> <img src="@/assets/img/left/ztfx/spjk.png" /> </el-button> </el-tooltip> </div> <div class="specialTool" @click="jjHandle"> - <el-tooltip - class="item" - effect="dark" - content="琛楁櫙" - placement="top-start" - popper-class="item_tooltip" - > + <el-tooltip class="item" effect="dark" content="琛楁櫙" placement="top-start" popper-class="item_tooltip"> <el-button> <img src="@/assets/img/left/ztfx/jiejing.png" /> </el-button> @@ -55,26 +31,18 @@ </div> <div class="specialTool" @click="qytj"> - <el-tooltip - class="item" - effect="dark" - content="鏁版嵁姹囪仛" - placement="top-start" - popper-class="item_tooltip" - > - <el-button> <img src="@/assets/img/left/ztfx/yqfk.png" /> </el-button - ></el-tooltip> + <el-tooltip class="item" effect="dark" content="鏁版嵁姹囪仛" placement="top-start" popper-class="item_tooltip"> + <el-button> + <img src="@/assets/img/left/ztfx/yqfk.png" /> + </el-button> + </el-tooltip> </div> <div class="specialTool" @click="rangeQuery()"> - <el-tooltip - class="item" - effect="dark" - content="鑼冨洿鏌ヨ" - placement="top-start" - popper-class="item_tooltip" - > - <el-button> <img src="@/assets/img/left/ztfx/sjxq.png" /> </el-button - ></el-tooltip> + <el-tooltip class="item" effect="dark" content="鑼冨洿鏌ヨ" placement="top-start" popper-class="item_tooltip"> + <el-button> + <img src="@/assets/img/left/ztfx/sjxq.png" /> + </el-button> + </el-tooltip> </div> <!-- <div class="specialTool" @click="guanxian(openGX)"> <el-tooltip @@ -86,7 +54,7 @@ > <el-button> <img src="@/assets/img/left/ztfx/spl.png" /> </el-button ></el-tooltip> - </div> --> + </div>--> <!-- <div class="specialTool" @click="sceneRoaming"> <el-tooltip class="item" @@ -98,7 +66,7 @@ <el-button> <img src="@/assets/img/left/ztfx/rkqxksh.png" /> </el-button ></el-tooltip> - </div> --> + </div>--> <!-- <div class="specialTool" @click="shipinronghe(videoList)"> <el-tooltip @@ -110,7 +78,7 @@ > <el-button> <img src="@/assets/img/left/ztfx/spl.png" /> </el-button ></el-tooltip> - </div> --> + </div>--> </div> </div> </template> @@ -226,10 +194,10 @@ </style> <style> #pointInfoBox { - /* width: 350px; */ + width: 500px; padding: 20px; text-align: left; - background-image: url("~@/assets/img/new/listbg.png"); + background: url("~@/assets/img/new/listbg.png") 100%/100%; /* border: 5px #08235f solid; */ /* border-radius: 7px; */ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5); @@ -237,6 +205,15 @@ } </style> <script> +import Vue from "vue"; +import store from "@/utils/store"; +import poiLayer from "@/components/poplayer/main"; +import rpc from "@/assets/js/rpc"; +import mapData from "../../../../static/mapData"; +import mapMsg from "@/assets/js/mapMsg"; +import vueEvents from "@/utils/vueEvent.js"; +let PoiLayerConstructor = Vue.extend(poiLayer); + import axios from "axios"; import { mapState, mapMutations } from "vuex"; import Bus from "../../tools/Bus"; @@ -244,19 +221,17 @@ import URLInCode from "@/assets/js/urlInCode"; import keyName from "@/utils/poiKeys"; import LayerField from "@/utils/NameConf"; -let handler; + +let handler, buildingPolygon, objdata, video, promiseS3M; +window.divPoint3 = null; +window.instance = null; let tooltipHTML; window.divPoint1 = null; window.pickFeature = null; window.imgUrl = null; window.scale = null; -let buildingPolygon; -let tooltip; -let lineArr = []; -let video; -let promiseS3M; //浜ら�氬浘灞� -let panoramaLayer; +window.panoramaLayer = null; export default { name: "special", data() { @@ -266,7 +241,7 @@ romanOption: [ { name: "鏍稿績鍖�" }, { name: "鏅缁垮湴" }, - { name: "鏀垮姟鏈嶅姟" }, + { name: "鏀垮姟鏈嶅姟" } ], showFlag: false, showQYTJ: false, @@ -288,8 +263,8 @@ alpha: 1, // 閫忔槑搴� far: 3000, - cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b", - }, + cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b" + } // { // name: "video3", // lon: 116.5146339, @@ -360,14 +335,14 @@ alpha: 1, // 閫忔槑搴� far: 166, - videoarrList: [], + videoarrList: [] }; }, computed: { ...mapState(["viewer1Show", "yqfk", "cesiumInit"]), - ...mapState(["viewer1Show", "yqfk", "qyEchartsShow"]), + ...mapState(["viewer1Show", "yqfk", "qyEchartsShow"]) }, - mounted() {}, + mounted() { }, watch: { cesiumInit: { handler(newVal, oldVal) { @@ -386,8 +361,8 @@ } }, deep: true, - immediate: true, - }, + immediate: true + } }, methods: { // ...mapMutations(["setViewer1Show", "setYqfk"]), @@ -399,9 +374,9 @@ 0.0001: "rgb(0,191,255)", 0.001: "rgb(0,128,0)", 0.01: "rgb(255,165,0)", - 0.1: "rgb(255,0,0)", + 0.1: "rgb(255,0,0)" }, - style: "clustering", + style: "clustering" }); window.sxtkGeojson.dataSource.clustering.minimumClusterSize = 5; @@ -409,10 +384,10 @@ let url; axios .get(url) - .then((data) => { + .then(data => { // console.log(data); let features = data.data.features; - features.forEach((feature) => { + features.forEach(feature => { let geom = feature.geometry.coordinates; let properties = feature.properties; let point = new SmartEarth.Degrees(geom[0], geom[1]); @@ -421,7 +396,7 @@ // }; let entitie = window.sxtkGeojson.add(point, { - image: SmartEarthRootUrl + "Workers/image/sxt.png", + image: SmartEarthRootUrl + "Workers/image/sxt.png" }); entitie.properties = properties; entitie.tag = "sxt"; @@ -431,7 +406,7 @@ window.sxthandler = new Cesium.ScreenSpaceEventHandler( sgworld.Viewer.scene.canvas ); - window.sxthandler.setInputAction((event) => { + window.sxthandler.setInputAction(event => { let pick = sgworld.Viewer.scene.pick(event.position); if (pick && pick.id && pick.id.tag == "sxt") { //鍏抽棴鍦板潡淇℃伅寮圭獥 @@ -442,7 +417,7 @@ sgworld.drawObj && (sgworld.drawObj.drawHandler && sgworld.drawObj.drawHandler.destroy(), - sgworld.drawObj.end && sgworld.drawObj.end()); + sgworld.drawObj.end && sgworld.drawObj.end()); let props = pick.id.properties; let screenHeight = @@ -471,13 +446,13 @@ sgworld.drawObj && sgworld.drawObj.end && sgworld.drawObj.end("cancel"); - }, - }, + } + } }); } }, Cesium.ScreenSpaceEventType.LEFT_CLICK); }) - .catch((err) => { + .catch(err => { console.log(err); }); }, @@ -515,39 +490,39 @@ { url: urls, queryParameters: { - layers: "", - }, + layers: "" + } }, {}, "0", true, - function () {} + function () { } ); window.panoramaHandler = new Cesium.ScreenSpaceEventHandler( Viewer.scene.canvas ); - window.panoramaHandler.setInputAction((event) => { + window.panoramaHandler.setInputAction(event => { let p; p = sgworld.Navigate.getMouseDegrees(event); let panorama = new yzPanorama(); panorama.open({ id: "qjMap", closeId: "panoramaClose", - lon: p.lon, - lat: p.lat, + lng: p.lon, + lat: p.lat }); // let StreetUrl = "http://10.10.4.116:8085/yzAdapter/"; // let _StreetscapeYZ = new StreetscapeYZ(sgworld, { // StreetUrl: StreetUrl, - // lon: p.lon, + // lng: p.lon, // lat: p.lat // }); }, Cesium.ScreenSpaceEventType.LEFT_CLICK); } else { try { window.panoramaLayer.deleteObject(); - } catch (e) {} + } catch (e) { } window.panoramaHandler.destroy(); window.panoramaHandler = undefined; } @@ -581,7 +556,7 @@ Bus.$on("clearSelectObject", this.clearSelectObject); handler && handler.destroy(); handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); - handler.setInputAction((event) => { + handler.setInputAction(event => { let nPickFeature = sgworld.Viewer.scene.pick(event.position); if (Cesium.defined(nPickFeature)) { this.resetImg(); @@ -618,15 +593,14 @@ // obj["JK缂栧彿"] = properties["JK缂栧彿"]._value; obj["JK鍐呯爜"] = properties["JK鍐呯爜"]._value; } else { - propertyNames.forEach((item) => { + propertyNames.forEach(item => { obj[item] = properties[item]._value; }); } - let cartographic = - window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( - nPickFeature.id.position._value - ); + let cartographic = window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( + nPickFeature.id.position._value + ); lon = Cesium.Math.toDegrees(cartographic.longitude); lat = Cesium.Math.toDegrees(cartographic.latitude); } else { @@ -644,9 +618,14 @@ LayerField[item] = 0; } // 鍒犻櫎瀛楁 - let { OBJECTID, ID, BZDZ, Latitude, Longtitude, ...userData } = - obj; - + let { + OBJECTID, + ID, + BZDZ, + Latitude, + Longtitude, + ...userData + } = obj; // 鍒ゆ柇灞曠ず鐨勭被鍨� if ( userData.hasOwnProperty("閮ㄤ欢鍚嶇О") || @@ -668,14 +647,39 @@ let value = LayerField[item]; value && (tooltipHTML += `<p>${item}锛�${value || "鏃�"}</p>`); } - } else { - // 鐩存帴灞曠ず - for (let itemName in userData) { + } else if ( + userData.hasOwnProperty("褰撲簨浜哄悕绉�") || + userData.hasOwnProperty("妗堜欢缂栧彿") + ) { + //淇敼LayerField鏁版嵁 + let newOBJ = { + 褰撲簨浜哄悕绉�: userData["褰撲簨浜哄悕绉�"], + 妗堜欢缂栧彿: userData["妗堜欢缂栧彿"], + 妗堜欢鍚嶇О: userData["妗堜欢鍚嶇О"], + 绔嬫鏃堕棿: userData["绔嬫鏃堕棿"], + 浣忔墍: userData["浣忔墍"], + 妗堜欢鏉ユ簮: userData["妗堜欢鏉ユ簮"], + 鍔炴閮ㄩ棬: userData["鍔炴閮ㄩ棬"], + 鍔炴浜哄憳: userData["鍔炴浜哄憳"], + 璋冩煡鎯呭舰: userData["璋冩煡鎯呭舰"] + }; + // 灞曠ずLayerField鏁版嵁 + for (let itemName in newOBJ) { + let CnName = itemName; let value = userData[itemName]; - let CnName = keyName[itemName] || itemName; + value && - (tooltipHTML += `<p>${CnName}锛�${value || "鏃�"}</p>`); - console.log(tooltipHTML); + (tooltipHTML += `<p style="margin-top:7px;">${CnName}锛�${value || + "鏃�"}</p>`); + // console.log(tooltipHTML); + } + } else { + for (let itemName in userData) { + let CnName = itemName; + let value = userData[itemName]; + value && + (tooltipHTML += `<p style="margin-top:7px;">${CnName}锛�${value || + "鏃�"}</p>`); } } @@ -690,7 +694,7 @@ { lon: lon, lat: lat, - height: 50, + height: 50 }, { type: "custom", @@ -704,7 +708,7 @@ window.pickFeature.primitive.scale = scale; window.pickFeature = null; } - }, + } } ); // if (tooltip) { @@ -740,54 +744,53 @@ layuiLayer.close(SmartEarthPopupData.layerProp); this.$store.commit("description", obj); } else if (nPickFeature.primitive instanceof Cesium.Cesium3DTileset) { - // let cartographic = - // window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( - // nPickFeature.content.tile.boundingSphere.center - // ); - // let lon = Cesium.Math.toDegrees(cartographic.longitude); - // let lat = Cesium.Math.toDegrees(cartographic.latitude); - let p = sgworld.Navigate.getMouseDegrees(event); - let lon = p.lon; - let lat = p.lat; - - axios - .get( - "http://10.10.4.121:8070/gisserver/wfsserver/yizhuang-building-wfs-1207", - { - params: { - version: "1.3.0", - request: "GetFeature", - typename: `浜﹀簞寤虹瓚澶栬疆寤�4326`, - propertyname: "*", - format: "json", - filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><ogc:Intersects><ogc:PropertyName>SAHEP</ogc:PropertyName><gml:Point > <gml:pos>${lon} ${lat}</gml:pos></gml:Point></ogc:Intersects></ogc:Filter>`, - }, - } - ) - .then((response) => { - if (response.data.features.length > 0) { - var geometry = []; - let POIs = response.data.features[0].geometry.coordinates[0]; - for (let i = 0; i < POIs.length; i++) { - geometry.push({ - x: parseFloat(POIs[i][0]), - y: parseFloat(POIs[i][1]), - z: 0, - }); - } - buildingPolygon = sgworld.Creator.createPolygon( - geometry, - { - fillColor: "#00ff0050", - outlineColor: "#ff0000", - outlineWidth: 2, - }, - 1, - 0, - "闈�" - ); - } - }); + // // let cartographic = + // // window.Viewer.scene.globe.ellipsoid.cartesianToCartographic( + // // nPickFeature.content.tile.boundingSphere.center + // // ); + // // let lon = Cesium.Math.toDegrees(cartographic.longitude); + // // let lat = Cesium.Math.toDegrees(cartographic.latitude); + // let p = sgworld.Navigate.getMouseDegrees(event); + // let lon = p.lon; + // let lat = p.lat; + // axios + // .get( + // "http://10.10.4.121:8070/gisserver/wfsserver/yizhuang-building-wfs-1207", + // { + // params: { + // version: "1.3.0", + // request: "GetFeature", + // typename: `浜﹀簞寤虹瓚澶栬疆寤�4326`, + // propertyname: "*", + // format: "json", + // filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><ogc:Intersects><ogc:PropertyName>SAHEP</ogc:PropertyName><gml:Point > <gml:pos>${lon} ${lat}</gml:pos></gml:Point></ogc:Intersects></ogc:Filter>` + // } + // } + // ) + // .then(response => { + // if (response.data.features.length > 0) { + // var geometry = []; + // let POIs = response.data.features[0].geometry.coordinates[0]; + // for (let i = 0; i < POIs.length; i++) { + // geometry.push({ + // x: parseFloat(POIs[i][0]), + // y: parseFloat(POIs[i][1]), + // z: 0 + // }); + // } + // buildingPolygon = sgworld.Creator.createPolygon( + // geometry, + // { + // fillColor: "#00ff0050", + // outlineColor: "#ff0000", + // outlineWidth: 2 + // }, + // 1, + // 0, + // "闈�" + // ); + // } + // }); } else if ( nPickFeature.id.fid && nPickFeature.id.fid.includes("鍏嶈垂浣忔墍绌洪棿0131") @@ -822,7 +825,7 @@ { lon: lon, lat: lat, - height: 50, + height: 50 }, { type: "custom", @@ -830,7 +833,7 @@ description, onclick(data) { divPoint1 && divPoint1.deleteObject(); - }, + } } ); //鍏抽棴鍦板潡淇℃伅寮圭獥 @@ -970,20 +973,20 @@ setRomanFly(result) { this.showFlag = false; document.getElementById("scroll").style.display = "none"; - var val = roman.filter((res) => { + var val = roman.filter(res => { if (res.name == result.name) { return res; } }); var degreesArr = val[0].value; - sgworld.Creator.getFlyData(degreesArr, (data) => { + sgworld.Creator.getFlyData(degreesArr, data => { data.showPoint = false; data.showLine = true; data.mode = 1; // 寮圭獥鏁版嵁 window.PathAnimationData = { - flyData: data, + flyData: data }; window.PathAnimationData.winIndex = layer.open({ type: 2, @@ -995,7 +998,7 @@ content: SmartEarthRootUrl + "Workers/path/Path.html", end: function () { PathAnimationData.fly && PathAnimationData.fly.exit(); - }, + } }); }); }, @@ -1051,10 +1054,10 @@ useLine: false, //鏄惁璇曠敤杈呭姪绾� success() { sgworld.Navigate.flyToObj(video); - }, + } }); that.videoarrList.push(video); - }, + } }); } } @@ -1067,7 +1070,7 @@ alpha: this.alpha, //閫忔槑搴� far: this.far, //閫忔槑搴� heading: this.heading, //閫忔槑搴� - pitch: this.pitch, //閫忔槑搴� + pitch: this.pitch //閫忔槑搴� }); }, // 娓呴櫎 @@ -1082,8 +1085,8 @@ ); this.openGX = "close"; } else { - promiseS3M.then((res) => { - res.forEach((item) => { + promiseS3M.then(res => { + res.forEach(item => { item.visible = false; }); }); @@ -1096,7 +1099,7 @@ spaces: /\s+/, parenComma: /\)\s*,\s*\(/, doubleParenComma: /\)\s*\)\s*,\s*\(\s*\(/, // can't use {2} here - trimParens: /^\s*\(?(.*?)\)?\s*$/, + trimParens: /^\s*\(?(.*?)\)?\s*$/ }; /** * Object with properties corresponding to the geometry types. Property values @@ -1163,7 +1166,7 @@ coords = points[i].trim().split(regExes.spaces); components.push([ Number.parseFloat(coords[0]), - Number.parseFloat(coords[1]), + Number.parseFloat(coords[1]) ]); } return components; @@ -1188,7 +1191,7 @@ coords = points[i].trim().split(regExes.spaces); components.push([ Number.parseFloat(coords[0]), - Number.parseFloat(coords[1]), + Number.parseFloat(coords[1]) ]); } return components; @@ -1265,7 +1268,7 @@ components.push(parse$1.polygon(polygon)); } return components; - }, + } }; var geometry, type, str; @@ -1288,7 +1291,7 @@ } return geometry; - }, - }, + } + } }; </script> -- Gitblit v1.9.3