From d91f0dfcd2ef95fb3624d94ade24fe69a9169a58 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 04 二月 2024 15:15:00 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.20.92:8888/r/P2022036_Web2 --- src/components/preview_map.vue | 439 ++++++++++++------------------------------------------ 1 files changed, 103 insertions(+), 336 deletions(-) diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index 0f9b5bd..ad224cc 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -1,160 +1,71 @@ <template> - <div - id="mapdiv" - class="previewBox" - > - <div - v-if="modelLayer" - class="modelLayer box_divm" - > + <div id="mapdiv" class="previewBox"> + <div v-if="modelLayer" class="modelLayer box_divm"> <div class="modelBox"> - <div - style="float:right" - :title="$t('synthesis.undergroundMode')" - @click="setUndergroundMode" - > + <div style="float:right" :title="$t('synthesis.undergroundMode')" @click="setUndergroundMode"> <i class="el-icon-sunrise "></i> </div> </div> <div class="modelBox"> - <el-tree - :data="treeData" - show-checkbox - node-key="id" - ref="tree" - :default-expanded-keys="[1]" - :props="defaultProps" - @node-click="handleNodeClick" - @check="handleCheckChange" - @node-contextmenu="rightClick" - > + <el-tree :data="treeData" show-checkbox node-key="id" ref="tree" :default-expanded-keys="[1]" + :props="defaultProps" @node-click="handleNodeClick" @check="handleCheckChange" @node-contextmenu="rightClick"> </el-tree> </div> </div> - <div - v-if="editModelFlag" - class="modelLayer box_divm" - > - <el-form - ref="form" - :model="modelForm" - label-width="80px" - > + <div v-if="editModelFlag" class="modelLayer box_divm"> + <el-form ref="form" :model="modelForm" label-width="80px"> <el-form-item> - <el-button - size="small" - @click="dialogLayerVisible = true" - >鍥惧眰</el-button> - <el-button - size="small" - v-if="$store.state.previewLayer.type == 'mpt'" - @click="setcropping" - >瑁佸壀</el-button> - <el-button - size="small" - v-if="$store.state.previewLayer.type != 'mpt'" - @click="locateTo" - >瀹氫綅</el-button> - <el-button - size="small" - v-if="$store.state.previewLayer.type != 'mpt'" - @click="showTileset" - >鏄鹃殣</el-button> + <el-button size="small" v-if="$store.state.previewLayer.stype != 'yl'" + @click="dialogLayerVisible = true">鍥惧眰</el-button> + <el-button size="small" v-if="$store.state.previewLayer.type == 'mpt'" @click="setcropping">瑁佸壀</el-button> + <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="locateTo">瀹氫綅</el-button> + <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="showTileset">鏄鹃殣</el-button> - <el-button - size="small" - v-if="$store.state.previewLayer.type != 'mpt'" - @click="setUndergroundMode" - >鍦颁笅</el-button> + <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" + @click="setUndergroundMode">鍦颁笅</el-button> <br /> - <el-button - v-if="$store.state.previewLayer.type != '3dml' && + <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - size="small" - @click="pickupCoords" - >鎷惧彇</el-button> - <el-button - v-if="$store.state.previewLayer.type != '3dml' && + $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">鎷惧彇</el-button> + <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - size="small" - @click="reload" - > + $store.state.previewLayer.type != 'mpt'" size="small" @click="reload"> 閲嶈浇 </el-button> - <el-button - v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' && + <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - size="small" - @click="getModeKeyId" - >妯″瀷涓婚敭</el-button> - <el-button - v-if="$store.state.previewLayer.type != '3dml' && + $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">妯″瀷涓婚敭</el-button> + <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' - " - size="small" - @click="resave" - >淇濆瓨</el-button> + " size="small" @click="resave">淇濆瓨</el-button> </el-form-item> - <el-form-item - label="缁忓害:" - v-if="$store.state.previewLayer.type != '3dml' && + <el-form-item label="缁忓害:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - > - <el-input - size="small" - v-model="modelForm.lon" - ></el-input> + $store.state.previewLayer.type != 'mpt'"> + <el-input size="small" v-model="modelForm.lon"></el-input> </el-form-item> - <el-form-item - label="绾害:" - v-if="$store.state.previewLayer.type != '3dml' && + <el-form-item label="绾害:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - > - <el-input - size="small" - v-model="modelForm.lat" - ></el-input> + $store.state.previewLayer.type != 'mpt'"> + <el-input size="small" v-model="modelForm.lat"></el-input> </el-form-item> - <el-form-item - label="楂樺害:" - v-if="$store.state.previewLayer.type != '3dml' && + <el-form-item label="楂樺害:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - > - <el-input - size="small" - v-model="modelForm.height" - ></el-input> + $store.state.previewLayer.type != 'mpt'"> + <el-input size="small" v-model="modelForm.height"></el-input> </el-form-item> - <el-form-item - label="瑙掑害:" - v-if="$store.state.previewLayer.type != '3dml' && + <el-form-item label="瑙掑害:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && - $store.state.previewLayer.type != 'mpt'" - > - <el-input - size="small" - v-model="modelForm.yaw" - ></el-input> + $store.state.previewLayer.type != 'mpt'"> + <el-input size="small" v-model="modelForm.yaw"></el-input> </el-form-item> - <el-form-item - label="姣斾緥:" - v-if="$store.state.previewLayer.type == 'las'" - > - <el-input - size="small" - v-model="modelForm.scale" - ></el-input> + <el-form-item label="姣斾緥:" v-if="$store.state.previewLayer.type == 'las'"> + <el-input size="small" v-model="modelForm.scale"></el-input> </el-form-item> <!-- <el-form-item label="閫忔槑搴�:"> @@ -167,46 +78,20 @@ </el-form> </div> - <el-dialog - :title="formInline.title" - :visible.sync="dialogVisible" - :modal="false" - :modal-append-to-body="false" - :close-on-click-modal="false" - :before-close="handleClose" - width="30%" - > + <el-dialog :title="formInline.title" :visible.sync="dialogVisible" :modal="false" :modal-append-to-body="false" + :close-on-click-modal="false" :before-close="handleClose" width="30%"> <div style="height:63vh"> - <el-tabs - v-model="activeName" - @tab-click="handleClick" - > - <el-tab-pane - label="灞炴��" - name="first" - v-if="serveType" - > - <el-form - ref="form" - :model="formInline" - label-width="80px" - > + <el-tabs v-model="activeName" @tab-click="handleClick"> + <el-tab-pane label="灞炴��" name="first" v-if="serveType"> + <el-form ref="form" :model="formInline" label-width="80px"> <el-form-item :label="$t('common.name')"> <el-input v-model="formInline.name"></el-input> </el-form-item> <el-form-item :label="$t('common.type')"> - <el-select - v-model="formInline.type" - style="width:100%" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select v-model="formInline.type" style="width:100%"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -217,113 +102,47 @@ </el-form-item> <el-form-item> - <el-button - v-show="isShowModel" - type="success" - plain - size="small" - @click="InsertData" - >{{ + <el-button v-show="isShowModel" type="success" plain size="small" @click="InsertData">{{ $t('common.increase') }}</el-button> - <el-button - v-show="!isShowModel" - type="info" - plain - size="small" - @click="EditData" - >{{ $t('common.update') + <el-button v-show="!isShowModel" type="info" plain size="small" @click="EditData">{{ $t('common.update') }}</el-button> </el-form-item> </el-form> </el-tab-pane> - <el-tab-pane - label="闄勪欢" - name="second" - > - <el-form - :model="fromfile" - class="demo-form-inline" - > + <el-tab-pane label="闄勪欢" name="second"> + <el-form :model="fromfile" class="demo-form-inline"> <el-form-item> - <el-input - v-model="fromfile.file" - style="width: 300px; margin-right: 20px" - :placeholder="$t('common.choose')" - disabled - ></el-input> - <input - name="file1" - type="file" - id="insertFile" - multiple="multiple" - style="display: none" - @change="insertFile()" - /> - <el-link - @click="getInsertFile()" - :underline="false" - ><i class="el-icon-folder-opened"></i></el-link> + <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px" + :placeholder="$t('common.choose')" disabled></el-input> + <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" + @change="insertFile()" /> + <el-link @click="getInsertFile()" :underline="false"><i class="el-icon-folder-opened"></i></el-link> </el-form-item> <el-form-item> <el-row> <el-col :span="3"> - <el-link - class="elLink" - :underline="false" - @click="setAttachInsert" - >{{ $t('common.append') + <el-link class="elLink" :underline="false" @click="setAttachInsert">{{ $t('common.append') }}</el-link> </el-col> <el-col :span="3"> - <el-link - class="elLink" - :underline="false" - @click="setAttachDel" - >{{ $t('common.delete') }}</el-link> + <el-link class="elLink" :underline="false" @click="setAttachDel">{{ $t('common.delete') }}</el-link> </el-col> </el-row> </el-form-item> </el-form> - <el-table - :data="tableData" - ref="filterTable" - height="calc(100% - 130px)" - border - style="width: 100%" - @selection-change="handleAttatchChange" - > - <el-table-column - type="selection" - width="70" - /> - <el-table-column - width="60" - type="index" - :label="$t('common.index')" - /> - <el-table-column - prop="name" - :label="$t('common.name')" - /> + <el-table :data="tableData" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" + @selection-change="handleAttatchChange"> + <el-table-column type="selection" width="70" /> + <el-table-column width="60" type="index" :label="$t('common.index')" /> + <el-table-column prop="name" :label="$t('common.name')" /> - <el-table-column - prop="sizes" - :label="$t('common.size')" - :formatter="statSizeChange" - /> - <el-table-column - align="center" - :label="$t('common.operate')" - min-width="100" - > + <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> + <el-table-column align="center" :label="$t('common.operate')" min-width="100"> <template slot-scope="scope"> - <el-link - v-if="matchState(scope, /[]/)" - @click="setAttatchDetail(scope.$index, scope.row)" - class="elLink" - >{{ $t('common.see') }}</el-link> + <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink">{{ $t('common.see') }}</el-link> </template> </el-table-column> @@ -346,44 +165,21 @@ <map-sdk v-if='showMapVisible'></map-sdk> </div> </el-dialog> --> - <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%" - > + <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> </div> - <div - v-if="dialog.isJpg" - class="pdfClass" - > + <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> - <div - v-show="dialogLayerVisible" - class="levelLayer box_divm" - > + <div v-show="dialogLayerVisible" class="levelLayer box_divm"> <div class="levelTitle"> <div> 鍥惧眰鍒楄〃 @@ -393,67 +189,33 @@ </div> </div> <div class="layerContent"> - <div - v-for="(item,index) in layerTree" - class="contLayer" - > - <div> <el-checkbox - v-model="item.checked" - @change="setLayerTreeChange(item)" - >{{item.cnName}}</el-checkbox></div> + <div v-for="(item, index) in layerTree" class="contLayer"> + <div> <el-checkbox v-model="item.checked" @change="setLayerTreeChange(item)">{{ item.cnName }}</el-checkbox> + </div> <div> - <el-button - icon="el-icon-map-location" - size="mini" - @click="setLayerTreeLocation(item)" - ></el-button> + <el-button icon="el-icon-map-location" size="mini" @click="setLayerTreeLocation(item)"></el-button> </div> </div> </div> </div> - <div - v-show="modelKeyFlag" - class="modelLayer box_divm" - v-drag - > - <el-form - ref="form" - :model="modelForm" - label-width="80px" - > + <div v-show="modelKeyFlag" class="modelLayer box_divm" v-drag> + <el-form ref="form" :model="modelForm" label-width="80px"> <el-form-item label="涓婚敭ID"> <el-select v-model="modelLayerId"> - <el-option - v-for="item in optionKey" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-option v-for="item in optionKey" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item> - <el-button - type="primary" - size="small" - @click="setSureKeyModelKey" - >{{ $t('common.confirm') }}</el-button> + <el-button type="primary" size="small" @click="setSureKeyModelKey">{{ $t('common.confirm') }}</el-button> </el-form-item> </el-form> </div> <undergroundModel ref="undergroundModel" /> - <el-card - class="box-card" - ref="card" - :style="{ ...rightClickMenuStyle }" - v-show="menuVisible" - > - <div - class="edit" - @click="setShowFile" - > + <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible"> + <div class="edit" @click="setShowFile"> <i class="el-icon-tickets"></i> 闄勪欢 </div> </el-card> @@ -1254,27 +1016,26 @@ Viewer.scene.globe.depthTestAgainstTerrain = true; // window.elevationTool = new SmartEarth.ElevationTool(window.sg); // elevationTool.setContourColor("#F1D487"); - var option = { - url: window.sceneConfig.SGUrl, - layerName: window.sceneConfig.mptName, - requestVertexNormals: true, - }; - window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); - window.terrainFlag = '2' + window.terrainLayer = new Cesium.CesiumTerrainProvider({ + // url: LFData + '/3d/terrain/dem20230321' + url: demLayer + }); + Viewer.terrainProvider = window.terrainLayer + + window.terrainFlag = '1' // window.terrainLayer = new Cesium.CesiumTerrainProvider({ - // url: demLayer + // url: demLayer // }); // Viewer.terrainProvider = window.terrainLayer - if (this.$store.state.previewLayer) { var res = this.$store.state.previewLayer; var type = res.type; console.log(type) res.ulr = res.url.replace("{host}", iisHost); if (type == 'DEM') { - window.terrainLayer.deleteObject(); - // Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); + // window.terrainLayer.deleteObject(); + Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); // window.terrainLayer = null; window.terrainLayer = null; window.terrainLayer = new Cesium.CesiumTerrainProvider({ @@ -1289,12 +1050,15 @@ roll: 0.0 } });*/ + + if (res.geom) { + var wkt = this.$wkt.parse(res.geom); + var height = this.getHeight(wkt.coordinates[2]); + Viewer.camera.flyTo({ + destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), + }); + } - var wkt = this.$wkt.parse(res.geom); - var height = this.getHeight(wkt.coordinates[2]); - Viewer.camera.flyTo({ - destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), - }); } else if (type == 'DOM') { var wkt = this.$wkt.parse(res.geom); var height = this.getHeight(wkt.coordinates[2]) @@ -1734,6 +1498,7 @@ top: 20%; left: 50%; transform: translate(-50%, 0%); + .levelTitle { width: 100%; display: flex; @@ -1741,6 +1506,7 @@ font-size: 16px; font-family: Source Han Sans CN; } + .contLayer { margin: 10px 0px; font-size: 14px; @@ -1749,6 +1515,7 @@ justify-content: space-between; } } + .pdfClass { height: 70vh; width: 100%; @@ -1756,8 +1523,7 @@ } .el-icon-sunrise { - background: url("../assets/img/synthesis/images/3鐧藉簳_157.png") center - center no-repeat; + background: url("../assets/img/synthesis/images/3鐧藉簳_157.png") center center no-repeat; background-size: 24px; } @@ -1765,6 +1531,7 @@ content: "11"; visibility: hidden; } + .box-card { position: fixed; display: block; -- Gitblit v1.9.3