From 16d8a328938d9c418fd083a88bcc70b2088a5117 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期四, 06 三月 2025 10:07:08 +0800 Subject: [PATCH] 代码提交 --- src/components/mapsdk.vue | 490 ++++++++++++++--------------------------------------- 1 files changed, 131 insertions(+), 359 deletions(-) diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 9fab150..951d3b1 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -40,22 +40,13 @@ <div class="box-body"> <el-form ref="form" :model="coordFrom" label-width="70px"> <el-form-item label="缁忓害:"> - <el-input - v-model="coordFrom.lon" - placeholder="璇疯緭鍏ョ粡搴�" - ></el-input> + <el-input v-model="coordFrom.lon" placeholder="璇疯緭鍏ョ粡搴�"></el-input> </el-form-item> <el-form-item label="绾害:"> - <el-input - v-model="coordFrom.lat" - placeholder="璇疯緭鍏ョ淮搴�" - ></el-input> + <el-input v-model="coordFrom.lat" placeholder="璇疯緭鍏ョ淮搴�"></el-input> </el-form-item> <el-form-item label="楂樺害:"> - <el-input - v-model="coordFrom.height" - placeholder="璇疯緭鍏ラ珮搴�" - ></el-input> + <el-input v-model="coordFrom.height" placeholder="璇疯緭鍏ラ珮搴�"></el-input> </el-form-item> <el-form-item> <el-button @click="setCoordLocal" type="info">瀹氫綅</el-button> @@ -80,12 +71,8 @@ </el-form-item> <el-form-item> - <el-button @click="drawTerrainLevel" type="parmary" - >缁樺埗</el-button - > - <el-button @click="clearTerrainLevel" type="info" - >娓呴櫎</el-button - > + <el-button @click="drawTerrainLevel" type="parmary">缁樺埗</el-button> + <el-button @click="clearTerrainLevel" type="info">娓呴櫎</el-button> </el-form-item> </el-form> </div> @@ -102,39 +89,19 @@ <div class="box-body"> <el-form :model="comprehensive" :inline="true"> <el-form-item label="鍦板悕:"> - <el-input - size="small" - style="width: 160px" - v-model="comprehensive.name" - placeholder="璇疯緭鍏ュ湴鍚�...." - ></el-input> + <el-input size="small" style="width: 160px" v-model="comprehensive.name" + placeholder="璇疯緭鍏ュ湴鍚�...."></el-input> </el-form-item> <el-form-item> - <el-button @click="setQueryTable" type="info" size="small" - >鏌ヨ</el-button - > + <el-button @click="setQueryTable" type="info" size="small">鏌ヨ</el-button> </el-form-item> </el-form> - <el-table - :data="tableData" - height="200px" - border - style="width: 100%" - > - <el-table-column - align="center" - type="index" - label="搴忓彿" - width="70" - /> + <el-table :data="tableData" height="200px" border style="width: 100%"> + <el-table-column align="center" type="index" label="搴忓彿" width="70" /> <el-table-column prop="name" align="center" label="鍦板悕"> <template slot-scope="scope"> - <el-button - @click="handleLocation(scope.$index, scope.row)" - size="small" - >{{ scope.row.name - }}<i class="el-icon-place" style="padding-left: 5px"></i - ></el-button> + <el-button @click="handleLocation(scope.$index, scope.row)" size="small">{{ scope.row.name + }}<i class="el-icon-place" style="padding-left: 5px"></i></el-button> </template> </el-table-column> <!-- <el-table-column--> @@ -158,16 +125,9 @@ <!-- </el-table-column>--> </el-table> <div class="pagination_box"> - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="[10, 20, 50, 100]" - :pager-count="3" - :page-size="listData.pageSize" - layout="total, prev, pager, next" - :total="count" - > + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :pager-count="3" + :page-size="listData.pageSize" layout="total, prev, pager, next" :total="count"> </el-pagination> </div> </div> @@ -183,42 +143,19 @@ </div> </div> <div class="box-body"> - <el-form - ref="form" - :model="pathFrom" - :rules="rules" - label-width="55px" - > + <el-form ref="form" :model="pathFrom" :rules="rules" label-width="55px"> <el-form-item label="璧风偣:" prop="lon"> - <el-input - style="width: 250px" - v-model="pathFrom.lon" - placeholder="鍧愭爣鏍煎紡:116.799,39.979" - ></el-input> - <el-link - :underline="false" - @click="showMouseLeftClick(1)" - style="margin-left: 10px" - ><i class="el-icon-plus"></i - ></el-link> + <el-input style="width: 250px" v-model="pathFrom.lon" placeholder="鍧愭爣鏍煎紡:116.799,39.979"></el-input> + <el-link :underline="false" @click="showMouseLeftClick(1)" style="margin-left: 10px"><i + class="el-icon-plus"></i></el-link> </el-form-item> <el-form-item label="缁堢偣:" prop="lat"> - <el-input - style="width: 250px" - v-model="pathFrom.lat" - placeholder="鍧愭爣鏍煎紡:116.824,39.938" - ></el-input> - <el-link - :underline="false" - @click="showMouseLeftClick(2)" - style="margin-left: 10px" - ><i class="el-icon-plus"></i - ></el-link> + <el-input style="width: 250px" v-model="pathFrom.lat" placeholder="鍧愭爣鏍煎紡:116.824,39.938"></el-input> + <el-link :underline="false" @click="showMouseLeftClick(2)" style="margin-left: 10px"><i + class="el-icon-plus"></i></el-link> </el-form-item> <el-form-item> - <el-button @click="showMouseLeftClick(3)" type="info" - >鏌ヨ</el-button - > + <el-button @click="showMouseLeftClick(3)" type="info">鏌ヨ</el-button> </el-form-item> </el-form> </div> @@ -247,10 +184,7 @@ ></div> </div> --> <!-- class="center CenDiv"--> - <div - @click="changeMenulayer" - class="changeLayer" - style=" + <div @click="changeMenulayer" class="changeLayer" style=" position: absolute; bottom: 116px; right: 46px; @@ -262,16 +196,11 @@ align-items: center; cursor: pointer; border: 1px solid rgba(255, 255, 255, 0.5); - " - > + "> <div title="搴曞浘鍒囨崲" id="cenBg" class="mapBaseMap"></div> </div> - <div - @click="changeMapType" - class="changeMapType" - v-if="$store.state.setChangeBaseMap" - style=" + <div @click="changeMapType" class="changeMapType" v-if="$store.state.setChangeBaseMap" style=" position: absolute; bottom: 85px; right: 46px; @@ -283,13 +212,8 @@ align-items: center; cursor: pointer; border: 1px solid rgba(255, 255, 255, 0.5); - " - > - <div - title="2/3缁村垏鎹�" - id="cenBg" - :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" - ></div> + "> + <div title="2/3缁村垏鎹�" id="cenBg" :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'"></div> </div> <!-- </div>--> <!-- 鍧″害鍒嗘瀽寮圭獥--> @@ -315,167 +239,118 @@ <tr> <td>绮夎川榛忓湡</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(139, 106, 77, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>娣ゆ偿璐ㄧ矇鍦�</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(141, 85, 69, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>鍦嗙牼</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(102, 166, 184, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>鍗电煶</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(54, 83, 173, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>娉ュ博</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(47, 30, 13, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>缁嗙爞</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(93, 88, 15, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>涓爞</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(164, 140, 21, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>娣ゆ偿璐ㄥ湡</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(75, 74, 78, 1); - " - ></div> + "></div> </td> </tr> <tr> <td>鍏朵粬</td> <td> - <div - style=" + <div style=" width: 100px; height: 20px; background: rgba(225, 225, 225, 1); - " - ></div> + "></div> </td> </tr> </table> </el-card> </div> <!--灞炴�т俊鎭脊绐�--> - <div - class="propertiesPop" - v-if="$store.state.propertiesFlag == '1'" - v-drag - > + <div class="propertiesPop" v-if="$store.state.propertiesFlag == '1'" v-drag> <el-card class="box-card"> <div slot="header"> <span>灞炴�т俊鎭�</span> <div style="float: right; cursor: pointer"> - <el-link - v-if=" - $store.state.surfaceDeForm.flag && - this.$store.state.surfaceDeForm.gid - " - type="primary" - :underline="false" - @click="setSurfaceDeForm" - style="margin-right: 10px" - >鍦拌〃褰㈠彉鏃跺簭鍥�</el-link - > - <el-link - v-if="$store.state.propertiesName.enName == 's_surveyworksite'" - type="primary" - :underline="false" - @click="getPointInfo" - style="margin-right: 10px" - >鍕樺療淇℃伅琛�</el-link - > - <el-link - type="primary" - :underline="false" - @click="getAttatchList" - style="margin-right: 10px" - >鏌ョ湅闄勪欢</el-link - > + <el-link v-if=" + $store.state.surfaceDeForm.flag && + this.$store.state.surfaceDeForm.gid + " type="primary" :underline="false" @click="setSurfaceDeForm" + style="margin-right: 10px">鍦拌〃褰㈠彉鏃跺簭鍥�</el-link> + <el-link v-if="$store.state.propertiesName.enName == 's_surveyworksite'" type="primary" :underline="false" + @click="getPointInfo" style="margin-right: 10px">鍕樺療淇℃伅琛�</el-link> + <el-link type="primary" :underline="false" @click="getAttatchList" + style="margin-right: 10px">鏌ョ湅闄勪欢</el-link> <i class="el-icon-close" @click="closeBufferBox(6)"></i> </div> </div> - <div - class="pointInfoBoxContext" - style="height: 250px; overflow-y: auto" - > - <div - style="line-height: 20px" - v-for="(value, key) in $store.state.propertiesInfo" - :key="key" - > - <span - v-if="key != 'eventid'" - style="font-size: 14px; font-weight: bold; margin-right: 5px" - >{{ key }}:</span - > + <div class="pointInfoBoxContext" style="height: 250px; overflow-y: auto"> + <div style="line-height: 20px" v-for="(value, key) in $store.state.propertiesInfo" :key="key"> + <span v-if="key != 'eventid'" style="font-size: 14px; font-weight: bold; margin-right: 5px">{{ key + }}:</span> <span v-if="key != 'eventid'">{{ value }}</span> </div> </div> @@ -490,38 +365,21 @@ <i class="el-icon-close" @click="showAttribute = false"></i> </div> </div> - <div - class="pointInfoBoxContext" - style="height: 250px; overflow-y: auto" - > - <div - style="line-height: 20px" - v-for="(item, index) in attributeList" - :key="index" - > - <span - style="font-size: 14px; font-weight: bold; margin-right: 5px" - >{{ item.alias }}:</span - > + <div class="pointInfoBoxContext" style="height: 250px; overflow-y: auto"> + <div style="line-height: 20px" v-for="(item, index) in attributeList" :key="index"> + <span style="font-size: 14px; font-weight: bold; margin-right: 5px">{{ item.alias }}:</span> <span>{{ item.value ? item.value : "鏆傛棤鏁版嵁" }}</span> </div> </div> </el-card> </div> - <div - class="propertiesPop" - style="right: 22%" - v-if="$store.state.propertiesFlag == '2'" - > + <div class="propertiesPop" style="right: 22%" v-if="$store.state.propertiesFlag == '2'"> <el-card class="box-card"> <div slot="header"> <span>{{ $store.state.propertiesInfo.title }}</span> </div> - <div - class="pointInfoBoxContext" - style="height: 250px; overflow-y: auto" - > + <div class="pointInfoBoxContext" style="height: 250px; overflow-y: auto"> <div style="line-height: 20px"> 宀╁湡鍚嶇О锛� {{ $store.state.propertiesInfo.name }} </div> @@ -540,44 +398,21 @@ <!--涓夌淮鎴潰鍒嗘瀽寮圭獥--> <div class="modelClipPop" v-if="$store.state.propertiesFlag == '3'"> <div class="slide-bg"> - <el-slider - class="slide" - @change="valveChange()" - :min="-300" - :max="300" - v-model="valueX" - ></el-slider> + <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueX"></el-slider> <span>宸﹀彸鎴潰</span> </div> SpatialQuery <div class="slide-bg"> - <el-slider - class="slide" - @change="valveChange()" - :min="-300" - :max="300" - v-model="valueY" - ></el-slider> + <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueY"></el-slider> <span>鍓嶅悗鎴潰</span> </div> <div class="slide-bg"> - <el-slider - class="slide" - @change="valveChange()" - :min="-300" - :max="300" - v-model="valueZ" - ></el-slider> + <el-slider class="slide" @change="valveChange()" :min="-300" :max="300" v-model="valueZ"></el-slider> <span>涓婁笅鎴潰</span> </div> </div> <!-- 鍦拌〃褰㈠彉鏃跺簭鍥� --> - <div - class="surfaceDeFormPop" - style="width: 800px; height: 800px" - v-show="surfaceDeFormFlag" - v-drag - > + <div class="surfaceDeFormPop" style="width: 800px; height: 800px" v-show="surfaceDeFormFlag" v-drag> <el-card class="box-card"> <div slot="header"> <span>鍦拌〃褰㈠彉鏃跺簭鍥�</span> @@ -585,29 +420,15 @@ <i class="el-icon-close" @click="closeBufferBox(7)"></i> </div> </div> - <div - id="surfaceDeFormEchart" - class="pointInfoBoxContext" - style="height: 500px; width: 750px" - ></div> + <div id="surfaceDeFormEchart" class="pointInfoBoxContext" style="height: 500px; width: 750px"></div> </el-card> </div> <!--闄勪欢鍒楄〃寮圭獥--> - <el-dialog - title="闄勪欢鍒楄〃" - :append-to-body="false" - :visible.sync="showAttach" - width="35%" - :close-on-click-modal="false" - > + <el-dialog title="闄勪欢鍒楄〃" :append-to-body="false" :visible.sync="showAttach" width="35%" + :close-on-click-modal="false"> <div> <el-table :data="attachList" height="100%" style="width: 100%" border> - <el-table-column - align="center" - type="index" - label="搴忓彿" - width="50" - /> + <el-table-column align="center" type="index" label="搴忓彿" width="50" /> <el-table-column prop="name" label="鍚嶇О"> </el-table-column> <el-table-column label="鏃堕棿" width="180"> <template slot-scope="scope"> @@ -616,109 +437,50 @@ </el-table-column> <el-table-column label="鎿嶄綔" width="100"> <template slot-scope="scope"> - <el-button - v-if="showAttachDetailBtn(scope.row)" - @click="showAttachDetail(scope.row)" - type="text" - size="small" - >鏌ョ湅</el-button - > + <el-button v-if="showAttachDetailBtn(scope.row)" @click="showAttachDetail(scope.row)" type="text" + size="small">鏌ョ湅</el-button> </template> </el-table-column> </el-table> </div> </el-dialog> <!--闄勪欢寮圭獥--> - <el-dialog - title="棰勮" - :append-to-body="false" - :visible.sync="dialog.dialogVisible" - width="70%" - :close-on-click-modal="false" - > + <el-dialog title="棰勮" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" + :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> - <iframe - :src="dialog.src" - type="application/x-google-chrome-pdf" - width="100%" - height="100%" - > + <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> </iframe> </div> <div v-if="dialog.isJpg" class="pdfClass"> - <el-image - style="width: 100%; height: 100%" - :src="dialog.src" - :preview-src-list="[dialog.src]" - > + <el-image style="width: 100%; height: 100%" :src="dialog.src" :preview-src-list="[dialog.src]"> </el-image> </div> </el-dialog> - <el-dialog - title="鐡︾墖涓嬭浇" - :append-to-body="false" - :visible.sync="downTitleFlag" - :close-on-click-modal="false" - :show-close="false" - width="30%" - > - <el-form - :model="ruleForm" - status-icon - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" - > + <el-dialog title="鐡︾墖涓嬭浇" :append-to-body="false" :visible.sync="downTitleFlag" :close-on-click-modal="false" + :show-close="false" width="30%"> + <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="鍚嶇О" prop="title"> - <el-input - v-model="ruleForm.title" - size="small" - placeholder="璇疯緭鍏ユ暟鎹悕绉�..." - ></el-input> + <el-input v-model="ruleForm.title" size="small" placeholder="璇疯緭鍏ユ暟鎹悕绉�..."></el-input> </el-form-item> <el-form-item label="瀵嗙爜" prop="pass"> - <el-input - show-password - type="password" - v-model="ruleForm.pass" - autocomplete="off" - size="small" - placeholder="璇疯緭鍏ュ瘑鐮�..." - ></el-input> + <el-input show-password type="password" v-model="ruleForm.pass" autocomplete="off" size="small" + placeholder="璇疯緭鍏ュ瘑鐮�..."></el-input> </el-form-item> <el-form-item label="纭瀵嗙爜" prop="checkPass"> - <el-input - show-password - type="password" - v-model="ruleForm.checkPass" - autocomplete="off" - size="small" - placeholder="纭瀵嗙爜..." - ></el-input> + <el-input show-password type="password" v-model="ruleForm.checkPass" autocomplete="off" size="small" + placeholder="纭瀵嗙爜..."></el-input> </el-form-item> <el-form-item> - <el-button - type="primary" - size="small" - @click="submitTitleDown('ruleForm')" - >鎻愪氦</el-button - > - <el-button size="small" @click="cannelTitleDown('ruleForm')" - >鍙栨秷</el-button - > + <el-button type="primary" size="small" @click="submitTitleDown('ruleForm')">鎻愪氦</el-button> + <el-button size="small" @click="cannelTitleDown('ruleForm')">鍙栨秷</el-button> </el-form-item> </el-form> </el-dialog> </div> - <surface-chart ref="surfaceChart" /> - <iframe - id="downFrame" - src="" - style="display: none; border: 0; padding: 0; height: 0; width: 0" - ></iframe> + <!-- <surface-chart ref="surfaceChart" /> --> + <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> <model-property ref="modelProperty"></model-property> </div> </template> @@ -1110,7 +872,7 @@ this.loading = false; this.loadingText = ""; }, - error: function (e) {} + error: function (e) { } }); }, cannelTitleDown(formName) { @@ -1257,10 +1019,9 @@ if (is_production) { this.addGaoDeMap(); } else { - var url = - "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/?callback=loadJsonp940826&f=json"; + $.ajax({ - url: url, + url: window.sceneConfig.arcGis_url, timeout: 1500, // 璇锋眰瓒呮椂鏃堕棿 async: true, type: "GET", @@ -1319,26 +1080,41 @@ }) ); } + // var url1 = " http://192.168.11.205/SG/Elevation?request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG%3A4326&bbox=-90%2C-180%2C90%2C0&height=32&width=32&optimizedOnly=0&layers=china_5m.Ei.402586&Styles=&Format=image%2Fmpt&level=0&origLevel=0"; + $.ajax({ + url: window.sceneConfig.sg_url, + timeout: 1500, // 璇锋眰瓒呮椂鏃堕棿 + async: true, + type: "GET", + success: (res) => { + var option = { + url: window.sceneConfig.SGUrl, + layerName: window.sceneConfig.mptName, + requestVertexNormals: true + }; + window.terrainLayer = sgworld.Creator.sfsterrainprovider( + "", + option, + "", + true, + "" + ); + window.terrainFlag = "MPT"; + }, + error: (res) => { + console.log("SG鍦ㄧ嚎鍦板潃鑾疯幏鍙栧け璐�"); - var option = { - url: window.sceneConfig.SGUrl, - layerName: window.sceneConfig.mptName, - requestVertexNormals: true - }; - window.terrainLayer = sgworld.Creator.sfsterrainprovider( - "", - option, - "", - true, - "" - ); - // window.terrainLayer = new Cesium.CesiumTerrainProvider({ - // // url: LFData + '/3d/terrain/dem20230321' - // url: demLayer - // }); - // Viewer.terrainProvider = window.terrainLayer - window.terrainFlag = "MPT"; + window.terrainLayer = new Cesium.CesiumTerrainProvider({ + // url: LFData + '/3d/terrain/dem20230321' + url: demLayer + }); + Viewer.terrainProvider = window.terrainLayer + } + }); + + + window.elevationTool = new SmartEarth.ElevationTool(window.sgworld); elevationTool.setContourColor("#F1D487"); }, @@ -2442,14 +2218,11 @@ // // cursor: pointer; //} -.changeTerrain { -} +.changeTerrain {} -.changeLayer { -} +.changeLayer {} -.changeMapType { -} +.changeMapType {} //.changeTerrain { // position: absolute; @@ -2507,5 +2280,4 @@ // background: rgba(255, 255, 255, 0.2) !important; // color: white !important; // border: 1px solid rgba(255, 255, 255, 0.2) !important; -// } -</style> +// }</style> -- Gitblit v1.9.3