From bab3c509ded84f1caa3d8e79a65b7113db8913df Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期五, 24 三月 2023 16:04:47 +0800 Subject: [PATCH] 一张图图层控制修改,发布管理添加表格双击复制功能,发布管理页面模型附件管理页面修改,在线制图修改 --- src/views/datamanage/metadataManage.vue | 10 src/views/datamanage/uploadmanage.vue | 13 src/views/exportMap/index.vue | 111 +++- src/views/Archive/index.vue | 23 src/views/Synthesis/LeftMenu.vue | 9 src/views/Tools/ModelProperty.vue | 272 +++++++++++ src/components/mapsdk.vue | 87 ++- src/components/Screen/ProjectTree.vue | 74 ++ src/views/datamanage/SpatialData.vue | 8 src/views/Tools/LayerTree.vue | 35 + src/main.js | 4 src/components/preview_map.vue | 456 ++++++++++++++++--- src/views/userManage/userInfoManage.vue | 233 +++++++-- public/LfSKyline/js/detect.js | 2 14 files changed, 1,095 insertions(+), 242 deletions(-) diff --git a/public/LfSKyline/js/detect.js b/public/LfSKyline/js/detect.js index a91470f..04535d7 100644 --- a/public/LfSKyline/js/detect.js +++ b/public/LfSKyline/js/detect.js @@ -1,7 +1,7 @@ var Detect = { ieVer: 9.0, - teVer: 7.4, + teVer: 7.0, sgVer: "66", diff --git a/src/components/Screen/ProjectTree.vue b/src/components/Screen/ProjectTree.vue index 5ce4970..e237329 100644 --- a/src/components/Screen/ProjectTree.vue +++ b/src/components/Screen/ProjectTree.vue @@ -21,7 +21,7 @@ :props="defaultProps" ref="tree" class="el-tree" - @check-change="handleCheckChange" + @check="handleCheckChange" :filter-node-method="filterNode" > <div @@ -139,6 +139,7 @@ var std = [] var layer_list = [] var layer_groups = [] + var layerData = []; for (var i in data.result) { if (data.result[i].type == 1) { layer_groups.push({ @@ -161,7 +162,8 @@ layer_list.push(layer_entity) if (data.result[i].isShow == 1) { std.push(data.result[i].id) - this.setAddImageLayer(layer_entity) + layerData.push(data.result[i]) + // this.setAddImageLayer(layer_entity) } } } @@ -176,33 +178,71 @@ this.treeData = layer_groups this.$refs.tree.setCheckedKeys(std) + this.setShowImageLayer(layerData) }, handleCheckChange(data, checked, indeterminate) { - if (data.children != null) return - var std = [] - for (var i = 0; i < Viewer.imageryLayers._layers.length; i++) { - var val_id = Viewer.imageryLayers._layers[i].imageryProvider.name - if (val_id == data.label) { - std.push(data.label) - const img_layer = Viewer.imageryLayers._layers[i] - img_layer.show = checked + // if (data.children != null) return + // var std = [] + // for (var i = 0; i < Viewer.imageryLayers._layers.length; i++) { + // var val_id = Viewer.imageryLayers._layers[i].imageryProvider.name + // if (val_id == data.label) { + // std.push(data.label) + // const img_layer = Viewer.imageryLayers._layers[i] + // img_layer.show = checked + // } + // } + // if (std.length == 0 && checked == true) { + // this.setAddImageLayer(data) + // } + this.setClearWmsLayer() + var value = this.$refs.tree.getCheckedNodes(); + var url = []; + for (var i in value) { + if (value[i].resource && value[i].type == 2) { + + url.push(value[i].resource) } } - if (std.length == 0 && checked == true) { - this.setAddImageLayer(data) + url = url.reverse(); + this.setAddImageLayer(url) + }, + + setShowImageLayer(res) { + this.setClearWmsLayer() + var url = []; + for (var i in res) { + url.push(res[i].enName) + } + url = url.reverse(); + this.setAddImageLayer(url) + }, + setClearWmsLayer() { + for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { + var val_id = window.Viewer.imageryLayers._layers[i].imageryProvider.name; + if (val_id == "Wms_Layer") { + window.Viewer.imageryLayers.remove( + window.Viewer.imageryLayers._layers[i] + ); + } } }, + + setAddImageLayer(res) { - let layerWMS = new Cesium.WebMapServiceImageryProvider({ + var layerWMS = new Cesium.WebMapServiceImageryProvider({ url: geoServerURl, - layers: res.resource, + layers: res.toString(), parameters: { transparent: true, format: "image/png", + srs: "EPSG:4490", + styles: "", }, - }) - layerWMS.name = res.label - Viewer.imageryLayers.addImageryProvider(layerWMS) + tileWidth: 512, + tileHeight: 512, + }); + layerWMS.name = "Wms_Layer"; + window.Viewer.scene.imageryLayers.addImageryProvider(layerWMS); }, changeMenulayer() { this.isActive = !this.isActive diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 6dbed95..6e6ad87 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -297,40 +297,40 @@ </div> </el-card> </div> -<!-- <div style="display: flex;">--> + <!-- <div style="display: flex;">--> + <div + class="changeTerrain" + @click="changeTerrainLayer" + > <div - class="changeTerrain" - @click="changeTerrainLayer" - > - <div - title="鍦板舰鍒囨崲" - id="cenBg" - class="mapTerrain" - ></div> - </div> -<!-- class="center CenDiv"--> + title="鍦板舰鍒囨崲" + id="cenBg" + class="mapTerrain" + ></div> + </div> + <!-- class="center CenDiv"--> + <div + @click="changeMenulayer" + class="changeLayer" + > <div - @click="changeMenulayer" - class="changeLayer" - > - <div - title="搴曞浘鍒囨崲" - id="cenBg" - class="mapBaseMap" - ></div> - </div> + title="搴曞浘鍒囨崲" + id="cenBg" + class="mapBaseMap" + ></div> + </div> + <div + @click="changeMapType" + class="changeMapType" + > <div - @click="changeMapType" - class="changeMapType" - > - <div - title="2/3缁村垏鎹�" - id="cenBg" - :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" - ></div> - </div> -<!-- </div>--> + title="2/3缁村垏鎹�" + id="cenBg" + :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" + ></div> + </div> + <!-- </div>--> <!-- 鍧″害鍒嗘瀽寮圭獥--> <div class="lengend" @@ -572,11 +572,13 @@ v-if="dialog.isJpg" class="pdfClass" > - <img - style="width:100%; height:100%;" + <el-image + style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> <!-- <div--> @@ -591,6 +593,7 @@ <!-- </div>--> </div> + <model-property ref='modelProperty'></model-property> </div> </template> @@ -598,7 +601,7 @@ import $ from "jquery"; import mapMenuTop from "./MapView/mapMenuTop.vue"; import mapSpaceTop from "./MapView/mapSpaceTop.vue"; - +import ModelProperty from '../views/Tools/ModelProperty.vue' import { select_Comprehensive_ByPageAndCount, select_Comprehensive_SelectWktById, @@ -612,6 +615,7 @@ components: { mapMenuTop, mapSpaceTop, + ModelProperty }, data() { @@ -762,13 +766,14 @@ window.pickedColor = window.pickedFeature.color window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); - this.$store.state.catModel = true; - this.$store.state.catModelInfo = { + // this.$store.state.catModel = true; + that.$store.state.catModelInfo = { id: pickedFeature.getProperty("id"), name: pickedFeature.getProperty("name"), layerId: pickedFeature.primitive.layerId, layerName: pickedFeature.primitive.id }; + that.$refs && that.$refs.modelProperty && that.$refs.modelProperty.open(); } } } @@ -1846,9 +1851,9 @@ justify-content: center; align-items: center; cursor: pointer; - border: 1px solid rgba(255,255,255,.5); + border: 1px solid rgba(255, 255, 255, 0.5); } -.changeLayer{ +.changeLayer { position: absolute; bottom: 116px; right: 46px; @@ -1859,7 +1864,7 @@ justify-content: center; align-items: center; cursor: pointer; - border: 1px solid rgba(255,255,255,.5); + border: 1px solid rgba(255, 255, 255, 0.5); } .changeMapType { position: absolute; @@ -1872,7 +1877,7 @@ justify-content: center; align-items: center; cursor: pointer; - border: 1px solid rgba(255,255,255,.5); + border: 1px solid rgba(255, 255, 255, 0.5); } //.changeTerrain { // position: absolute; diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index cb39621..e135114 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -21,6 +21,115 @@ > </el-tree> </div> + <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="locateTo" + >瀹氫綅</el-button> + <el-button + size="small" + @click="showTileset" + >鏄鹃殣</el-button> + <el-button + size="small" + @click="underground" + >鍦颁笅</el-button> + <el-button + size="small" + @click="pickupCoords" + >鎷惧彇</el-button> + <el-button + size="small" + @click="reload" + > + 閲嶈浇 + </el-button> + <el-button + size="small" + @click="resave" + >淇濆瓨</el-button> + </el-form-item> + <el-form-item label="缁忓害:"> + <el-input + size="small" + v-model="modelForm.lon" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.lon" + @input="update" + :min="73" + :step="0.001" + :max="135" + ></el-slider> + </el-form-item> + <el-form-item label="绾害:"> + <el-input + size="small" + v-model="modelForm.lat" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.lat" + @input="update" + :min="3" + :step="0.001" + :max="54" + ></el-slider> + </el-form-item> + <el-form-item label="楂樺害:"> + <el-input + size="small" + v-model="modelForm.height" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.height" + :min="-800" + :step="1" + @input="update" + :max="8800" + ></el-slider> + </el-form-item> + <el-form-item label="瑙掑害:"> + <el-input + size="small" + v-model="modelForm.yaw" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.yaw" + :min="0" + @input="update" + :step="0.1" + :max="360" + ></el-slider> + </el-form-item> + <el-form-item label="閫忔槑搴�:"> + <el-input + size="small" + v-model="modelForm.alpha" + @input="update" + ></el-input> + <el-slider + v-model="modelForm.alpha" + @input="update" + :min="0" + :step="0.01" + :max="1" + ></el-slider> + </el-form-item> + </el-form> + </div> <el-dialog :title="formInline.title" @@ -220,11 +329,14 @@ v-if="dialog.isJpg" class="pdfClass" > - <img + + <el-image style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> </div> @@ -237,7 +349,9 @@ comprehensive_insertModel, comprehensive_updateModel, comprehensive_selectFiles, - dataQuery_deletes + dataQuery_deletes, + publish_update, + comprehensive_selectPubById } from '../api/api.js'; import { getToken } from '@/utils/auth'; export default { @@ -299,6 +413,21 @@ isJpg: false, src: '' }, + modelType: ['ifc', 'fbx', 'rvt', '3dml'], + editModelFlag: false, + modelForm: { + lon: 119, + lat: 39, + height: 0, + yaw: 0, + alpha: 1 + }, + app: { + tileset: null, + isBusy: false, + under: false, + handler: null + } } }, mounted() { @@ -434,15 +563,25 @@ }, async EditData() { const data = await comprehensive_updateModel(this.formInline) + + if (data.code != 200) { this.$message.error('淇敼澶辫触'); - } else { - this.$message({ - message: '淇敼鎴愬姛', - type: 'success' - }); + return } - this.startModelData(); + + + this.$message({ + message: '淇敼鎴愬姛', + type: 'success' + }); + + var that = this; + that.dialogVisible = false; + this.formInline.title = this.formInline.name + that.dialogVisible = true; + + }, async InsertData() { var std = { @@ -456,13 +595,19 @@ const data = await comprehensive_insertModel(std) if (data.code != 200) { this.$message.error('娣诲姞澶辫触'); - } else { - this.$message({ - message: '娣诲姞鎴愬姛', - type: 'success' - }); } - this.startModelData(); + this.$message({ + message: '娣诲姞鎴愬姛', + type: 'success' + }); + + var that = this; + that.dialogVisible = false; + this.formInline.title = this.formInline.name + that.dialogVisible = true; + + + }, handleClose() { @@ -548,14 +693,56 @@ skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false }) ); + var that = this; tileset.readyPromise.then((tileset) => { tileset.id = res.cnName; tileset.layerId = res.id; - this.tileSet(tileset, parseFloat(res.elev)) - Viewer.flyTo(tileset); + that.getArgsTileset(tileset, res); }); } }, + + async getArgsTileset(tileset, res) { + + if (res.pubid > 0) { + const data = await comprehensive_selectPubById({ id: res.pubid }) + + if (data.code != 200) { + + } else { + this.reloadTile(tileset, data.result.json) + } + } else { + this.tileSet(tileset, parseFloat(res.elev)) + + } + }, + tileSet(tileset, height) { + //3dtile妯″瀷鐨勮竟鐣岀悆浣� + var boundingSphere = tileset.boundingSphere; + //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛� + var cartographic_original = Cesium.Cartographic.fromCartesian(boundingSphere.center); + //鍦扮悊鍧愭爣锛堝姬搴﹀埗锛�=>杩崱灏旂┖闂寸洿瑙掑潗鏍� + var Cartesian3_original = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, cartographic_original.height); + var Cartesian3_offset = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, height); + //鑾峰緱鍦伴潰鍜宱ffset鐨勮浆鎹� + var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3()); + //淇敼妯″瀷鐭╅樀 + tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + Viewer.flyTo(tileset); + }, + reloadTile(tileset, res) { + var vm = JSON.parse(res) + var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height); + var converter = Cesium.Transforms.eastNorthUpToFixedFrame; + var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw), 0, 0); + var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); + tileset._root.transform = matrix; + Viewer.flyTo(tileset); + }, + + + handleCheckChange(data, checked, indeterminate) { if (data.type == 1) { this.getchilds(data); @@ -591,17 +778,12 @@ init3DMap() { //鍦板浘鍒濆鍖� window.sgworld = new SmartEarth.SGWorld("mapdiv", { - licenseServer: window.sceneConfig.licenseServer, }); - window.Viewer = window.sgworld._Viewer; - // Viewer.camera.flyTo({ // destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000), // }); - - Viewer._enableInfoOrSelection = false; //鏄剧ずfps Viewer.scene.debugShowFramesPerSecond = false; @@ -612,14 +794,20 @@ //寮�鍚繁搴︽娴� // sg.Analysis.depthTestAgainstTerrain(true) 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, ""); + + if (this.$store.state.previewLayer) { var res = this.$store.state.previewLayer; - + var type = res.type; if (res.url.indexOf('.png') != -1) { var wkt = this.$wkt.parse(res.geom); var height = this.getHeight(wkt.coordinates[2]) @@ -628,43 +816,182 @@ url: res.url, maximumLevel: 18 }) - ); Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), }); } else if (res.url.indexOf('.json') != -1) { - var tileset = Viewer.scene.primitives.add( - new Cesium.Cesium3DTileset({ - url: res.url, //192.168.20.106,to4 - maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16 - maximumMemoryUsage: 768, // 鏈�澶у唴瀛橈細512 - dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse - skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false - }) - ); - tileset.readyPromise.then((tileset) => { - tileset.id = res.cnName; - tileset.layerId = res.id; - this.tileSet(tileset, 50) - Viewer.flyTo(tileset); - }); - } else if (res.url.indexOf('.mpt') != -1) { + if (this.app.tileset) viewer.scene.primitives.remove(this.app.tileset); + this.app.tileset = this.createTileset(res); + var that = this; + Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) { + that.setModleLocatin() + Viewer.flyTo(ts); + }); + + } else if (res.url.indexOf('.mpt') != -1) { Viewer.imageryLayers.removeAll(); var url = res.url.split(';') - - sgworld.Creator.createImageryProvider('mpt褰卞儚', "wms", { url: url[0], layers: url[1] }, "0", undefined, true, ""); - } else if (res.url.indexOf('menuLayer') != -1) { this.setShowModelLayer(); } } }, + async resave() { + this.$store.state.previewLayer.json = JSON.stringify(this.modelForm); + + const data = await publish_update(this.$store.state.previewLayer); + if (data.code != 200) { + this.$message.error('鏁版嵁淇濆瓨澶辫触'); + } else { + this.$message({ + message: '鏁版嵁淇濆瓨鎴愬姛', + type: 'success' + }); + } + this.reload(); + }, + reload() { + var json = JSON.stringify(this.modelForm); + var url = this.$store.state.previewLayer.url; + if (!url) return; + if (this.app.tileset) Viewer.scene.primitives.remove(this.app.tileset); + + this.app.isBusy = true; + this.app.tileset = this.createTileset(this.$store.state.previewLayer); + var that = this; + Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) { + that.modelForm = JSON.parse(json); + var pos = Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon), parseFloat(that.modelForm.lat), parseFloat(that.modelForm.height)); + + + var converter = Cesium.Transforms.eastNorthUpToFixedFrame; + var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(that.modelForm.yaw)), 0, 0); + var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); + that.app.tileset._root.transform = matrix; + Viewer.flyTo(ts); + that.app.isBusy = false; + }); + }, + + //鎷惧彇 + pickupCoords() { + if (this.app.handler) { + this.app.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); + this.app.handler = undefined; + return; + } + var that = this; + this.app.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + this.app.handler.setInputAction(function (event) { + + var ray = Viewer.camera.getPickRay(event.position); + var cartesian = Viewer.scene.globe.pick(ray, Viewer.scene); + var cartographic = Cesium.Cartographic.fromCartesian(cartesian); + var x = that.toFixed(Cesium.Math.toDegrees(cartographic.longitude), 7); + var y = that.toFixed(Cesium.Math.toDegrees(cartographic.latitude), 7); + var z = that.toFixed(cartographic.height, 3); + + that.modelForm.lon = x; + that.modelForm.lat = y; + that.modelForm.height = z; + that.pickupCoords(); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, + // 淇濈暀灏忔暟浣� + toFixed(d, n) { + var p = Math.pow(10, n); + + return Math.round(d * p) / p; + }, + update() { + this.setTilesetArgs(this.modelForm); + sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) + }, + setTilesetArgs(f) { + + if (!this.app.tileset || this.app.isBusy) return; + + var pos = Cesium.Cartesian3.fromDegrees(parseFloat(f.lon), parseFloat(f.lat), parseFloat(f.height)); + + var converter = Cesium.Transforms.eastNorthUpToFixedFrame; + var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(f.yaw)), 0, 0); + var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); + var model = this.app.tileset + model._root.transform = matrix; + }, + //鍦颁笅 + underground() { + this.app.under = !this.app.under; + sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) + }, + //鏄鹃殣 + showTileset() { + if (!this.app.tileset) return; + this.app.tileset.show = !this.app.tileset.show; + }, + //瀹氫綅 + locateTo() { + if (!this.app.tileset) return; + Viewer.flyTo(this.app.tileset); + }, + createTileset(res) { + return new Cesium.Cesium3DTileset({ + url: res.url, + name: 'tsTest', + skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false + baseScreenSpaceError: 1024, + maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16锛屾暟鍊煎姞澶ц兘璁╂渶缁堟垚鍍忓彉妯$硦 + skipScreenSpaceErrorFactor: 16, + skipLevels: 1, + immediatelyLoadDesiredLevelOfDetail: false, + loadSiblings: true, // 鑷姩浠庝腑蹇冨紑濮嬭秴娓呭寲妯″瀷锛歠alse + cullWithChildrenBounds: true, // 浣跨敤瀛愰」杈圭晫浣撶Н鐨勫苟闆嗘潵鍓旈櫎鍥惧潡锛歵rue + cullRequestsWhileMoving: true, + cullRequestsWhileMovingMultiplier: 10, // 鍊艰秺灏忚兘澶熸洿蹇殑鍓旈櫎锛�60 + preloadWhenHidden: true, + preferLeaves: true, // 棰勮瀛愯妭鐐癸細false + maximumMemoryUsage: 256, // 鍐呭瓨鍒嗛厤鍙樺皬鏈夊埄浜庡唴瀛樺洖鏀讹紝鎻愬崌鎬ц兘浣撻獙 + progressiveResolutionHeightFraction: 0.5, // 鏁板�煎亸浜�0鑳藉璁╁垵濮嬪姞杞藉彉寰楁ā绯� + dynamicScreenSpaceErrorDensity: 0.5, // 鏁板�煎姞澶э紝鑳借鍛ㄨ竟鍔犺浇鍙樺揩 + dynamicScreenSpaceErrorFactor: 2, // 鍔ㄦ�佸睆骞曠┖闂磋宸殑绯绘暟 + dynamicScreenSpaceError: true // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse锛屽叏灞忓姞杞藉畬涔嬪悗鎵嶆竻鏅板寲鎴垮眿 + }); + }, + setEditModelLayer(res) { + this.editModelFlag = true; + if (res.json) { + var json = JSON.parse(res.json) + this.modelForm = json; + this.reload(); + } else { + this.getTilesetArgs(); + } + + }, + setModleLocatin() { + var res = this.$store.state.previewLayer; + var type = res.type; + if (this.modelType.indexOf(type) != -1) { + this.setEditModelLayer(res) + } + }, + getTilesetArgs() { + this.app.isBusy = true; + var cm = this.app.tileset._root.transform; + var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]); + var carto = Cesium.Cartographic.fromCartesian(cartesian); + this.modelForm.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7); + this.modelForm.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7); + this.modelForm.height = carto.height.toFixed(3); + this.app.isBusy = false; + }, + async setShowModelLayer() { const data = await perms_selectLayers(); if (data.code != 200) { @@ -694,19 +1021,10 @@ window.pickedColor = window.pickedFeature.color window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); that.setShowModelInfo(pickedFeature); - // this.$store.state.catModel = true; - // this.$store.state.catModelInfo = { - // id: pickedFeature.getProperty("id"), - // name: pickedFeature.getProperty("name"), - // layerId: pickedFeature.primitive.layerId, - // layerName: pickedFeature.primitive.id - // }; } } } }, Cesium.ScreenSpaceEventType.LEFT_CLICK) - - } }, setTreeData(source) { @@ -720,19 +1038,19 @@ return father.pid == 430; // 杩斿洖涓�绾ц彍鍗� }); }, - tileSet(tileset, height) { - //3dtile妯″瀷鐨勮竟鐣岀悆浣� - var boundingSphere = tileset.boundingSphere; - //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛� - var cartographic_original = Cesium.Cartographic.fromCartesian(boundingSphere.center); - //鍦扮悊鍧愭爣锛堝姬搴﹀埗锛�=>杩崱灏旂┖闂寸洿瑙掑潗鏍� - var Cartesian3_original = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, cartographic_original.height); - var Cartesian3_offset = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, height); - //鑾峰緱鍦伴潰鍜宱ffset鐨勮浆鎹� - var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3()); - //淇敼妯″瀷鐭╅樀 - tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); - }, + // tileSet(tileset, height) { + // //3dtile妯″瀷鐨勮竟鐣岀悆浣� + // var boundingSphere = tileset.boundingSphere; + // //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛� + // var cartographic_original = Cesium.Cartographic.fromCartesian(boundingSphere.center); + // //鍦扮悊鍧愭爣锛堝姬搴﹀埗锛�=>杩崱灏旂┖闂寸洿瑙掑潗鏍� + // var Cartesian3_original = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, cartographic_original.height); + // var Cartesian3_offset = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, height); + // //鑾峰緱鍦伴潰鍜宱ffset鐨勮浆鎹� + // var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3()); + // //淇敼妯″瀷鐭╅樀 + // tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + // }, getHeight(level) { if (level > 0 && level < 23) { return this.levelArray[level] @@ -756,7 +1074,7 @@ border: 1px solid #409eff; margin: 10px; - max-height: 300px; + max-height: 600px; overflow: auto; } .pdfClass { diff --git a/src/main.js b/src/main.js index d2a3bd6..5961186 100644 --- a/src/main.js +++ b/src/main.js @@ -15,7 +15,7 @@ import '@/assets/css/content.css' import '@/assets/css/configure.css' import '@/assets/css/config.css' -import 'animate.css'; +// import 'animate.css'; import VueParticles from 'vue-particles' import dataV from '@jiaminghi/data-view' import directive from '@/directive/index.js' // directive @@ -23,6 +23,8 @@ import elDragDialog from './utils/diaLog.js' Vue.directive('el-drag-dialog', elDragDialog); ElementUI.Dialog.props.closeOnClickModal.default = false; + + Vue.use(directive) Vue.use(dataV) Vue.use(VueParticles) diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue index 0070f9d..22b68eb 100644 --- a/src/views/Archive/index.vue +++ b/src/views/Archive/index.vue @@ -552,6 +552,7 @@ </el-form-item> </el-form> <el-table + @cell-dblclick="copyText" :data="tableAttach" ref="filterTable" height="calc(100% - 130px)" @@ -650,6 +651,7 @@ </el-form> <el-divider /> <el-table + @cell-dblclick="copyText" ref="filterTable" :data="tableData" border @@ -773,6 +775,7 @@ <div class="downloadBox"> <div class="archdowntop"> <el-table + @cell-dblclick="copyText" :data="downloadTableData" style="width: 100%" height="calc(100% - 5px)" @@ -850,6 +853,7 @@ <div style="height: 65vh; width: 100%"> <el-table + @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable1" style="width: 100%" @@ -954,6 +958,7 @@ </el-form-item> </el-form> <el-table + @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable" style="width: 100%" @@ -1064,11 +1069,13 @@ v-if="dialog.isJpg" class="pdfClass" > - <img + <el-image style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> @@ -1245,6 +1252,16 @@ this.signGetPublicKey(); }, methods: { + copyText(row, column, cell, event) { + // 鍙屽嚮澶嶅埗 + let save = function (e) { + e.clipboardData.setData('text/plain', event.target.innerText); + e.preventDefault(); //闃绘榛樿琛屼负 + } + document.addEventListener('copy', save);//娣诲姞涓�涓猚opy浜嬩欢 + document.execCommand("copy");//鎵цcopy鏂规硶 + this.$message({ message: '澶嶅埗鎴愬姛', type: 'success' })//鎻愮ず + }, //鎵归噺涓嬭浇澶嶉�夋chagne handleCheckedDataTypeChange(res) { var std = 0; diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index 0b7b2af..9a392a5 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -68,11 +68,14 @@ v-if="dialog.isJpg" class="pdfClass" > - <img + + <el-image style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> <div style="height:63vh"> diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index a2c2a58..84e312d 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -822,6 +822,7 @@ } else { url = modelUrl + "/" + res.url } + var tileset = Viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ name: res.cnName, @@ -832,11 +833,13 @@ skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false }) ); + tileset.readyPromise.then((tileset) => { tileset.id = res.cnName; tileset.layerId = res.id; - this.tileSet(tileset, parseFloat(res.elev)) - Viewer.flyTo(tileset); + this.getTilesetArgs(tileset, res); + // + }); window.model = tileset } else if (res.serveType == "TMS") { @@ -877,6 +880,23 @@ } }, + async getTilesetArgs(tileset, res) { + if (res.pubid > 0) { + const data = await comprehensive_selectPubById({ id: res.pubid }) + if (data.code != 200) { + + } else { + this.reload(tileset, data.result.json) + } + } else { + this.tileSet(tileset, parseFloat(res.elev)) + + } + + + + + }, async setQueryPubid(res) { const data = await comprehensive_selectPubById({ id: res.pubid }) if (data.code != 200) { @@ -903,7 +923,15 @@ this.setChangeWMS(); } }, - + reload(tileset, res) { + var vm = JSON.parse(res) + var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height); + var converter = Cesium.Transforms.eastNorthUpToFixedFrame; + var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw), 0, 0); + var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); + tileset._root.transform = matrix; + Viewer.flyTo(tileset); + }, tileSet(tileset, height) { //3dtile妯″瀷鐨勮竟鐣岀悆浣� var boundingSphere = tileset.boundingSphere; @@ -916,6 +944,7 @@ var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3()); //淇敼妯″瀷鐭╅樀 tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); + Viewer.flyTo(tileset); }, setTreeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 diff --git a/src/views/Tools/ModelProperty.vue b/src/views/Tools/ModelProperty.vue new file mode 100644 index 0000000..f6ca6cf --- /dev/null +++ b/src/views/Tools/ModelProperty.vue @@ -0,0 +1,272 @@ +<template> + <Popup + ref="pop" + :title="title" + @close="close(true)" + width="400px" + @cancel="close(false)" + top="0vh" + left="30vh" + > + <el-tabs + v-model="activeName" + @tab-click="handleClick" + > + <el-tab-pane + label="灞炴��" + name="first" + > + <el-form + ref="form" + :model="formInline" + label-width="80px" + > + + <el-form-item :label="$t('common.name')"> + + {{formInline.name}} + </el-form-item> + <el-form-item :label="$t('common.type')"> + + {{formInline.type}} + </el-form-item> + + <el-form-item :label="$t('common.bak')"> + + {{formInline.bak}} + </el-form-item> + + </el-form> + + </el-tab-pane> + <el-tab-pane + label="闄勪欢" + name="second" + > + + <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" + > + <template slot-scope="scope"> + <el-link + v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink" + >{{ $t('common.see') }}</el-link> + + </template> + </el-table-column> + </el-table> + + </el-tab-pane> + + </el-tabs> + <el-dialog + title="棰勮" + :append-to-body="false" + :visible.sync="dialog.dialogVisible" + width="70%" + :modal="false" + :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" + > + + <el-image + style="width:100%; height:100%" + :src="dialog.src" + :preview-src-list="[dialog.src]" + > + </el-image> + + </div> + </el-dialog> + </Popup> +</template> + +<script> + +import Popup from "./Popup"; +import { comprehensive_selectFiles } from '../../api/api.js' +import { getToken } from "@/utils/auth"; + +export default { + name: "ModelProperty", + components: { + Popup, + }, + mixins: [], + data() { + return { + title: "鍦ㄧ嚎鍦板浘", + left: undefined, + tokne: "", + data: { + + }, + mapCollection: undefined, + formInline: { + title: '', + file: '', + name: '', + type: '', + info: '', + icon: '', + bak: '' + }, + activeName: 'first', + tableData: [], + dialog: { + dialogVisible: false, + isPdf: false, + isJpg: false, + src: '' + }, + attacgSelection: [] + }; + }, + computed: { + + }, + methods: { + + // 鍏抽棴寮圭獥 + close(isCloseBtn, removeLayer = true) { + // removeLayer && this.removeImageLayer(); + + // 閲嶇疆data鍊� + Object.assign(this.$data, this.$options.data()); + !isCloseBtn && this.$refs.pop.close(); + }, + // 鎵撳紑寮圭獥 + open() { + + this.close(true); + this.$refs.pop.open(); + this.title = this.$store.state.catModelInfo.name; + this.formInline = this.$store.state.catModelInfo; + }, + // changeToken(token) { + // this.mapCollection.tokne = token; + // }, + // 闄勪欢=>琛ㄦ牸閫夋嫨 + handleAttatchChange(val) { + this.attacgSelection = val; + }, + statSizeChange(row, column) { + return this.stateFormatSizes(row.sizes) + }, + stateFormatSizes(res) { + if (res >= 1024) { + const val = parseFloat(res / 1024).toFixed(3); + return val + ' GB'; + } else { + return res + ' MB'; + } + }, + matchState(state = "", reg) { + var row = state.row; + var name = row.name; + if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + return true; + } + return false; + }, + handleClick(tab, event) { + if (tab.name == "second") { + this.getAttacthFlieList(); + } + }, + + //闄勪欢鍒楄〃鏌ヨ + async getAttacthFlieList() { + var obj = { + eventid: this.$store.state.catModelInfo.id, + tabName: "lf.sys_style" + }; + const res = await comprehensive_selectFiles(obj); + if (res.code != 200) { + this.$message.error('鍒楄〃璋冪敤澶辫触'); + return + } + this.tableData = res.result; + }, + + //闄勪欢鏌ョ湅 + setAttatchDetail(index, row) { + this.refreshAttatchDetail() + var name = row.name; + if (name.indexOf('.pdf') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isPdf = true; + var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { + this.dialog.dialogVisible = true; + this.dialog.isJpg = true; + var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); + this.dialog.src = url + } + }, + refreshAttatchDetail() { + this.dialog.src = ""; + this.dialog.dialogVisible = false; + this.dialog.isPdf = false; + this.dialog.isJpg = false; + }, + }, + mounted() { + + } +}; +</script> + +<style scoped lang="less"> +.pdfClass { + height: 63vh; + width: 100%; +} +</style> diff --git a/src/views/datamanage/SpatialData.vue b/src/views/datamanage/SpatialData.vue index 3fed848..99d4f70 100644 --- a/src/views/datamanage/SpatialData.vue +++ b/src/views/datamanage/SpatialData.vue @@ -429,11 +429,13 @@ v-if="dialog.isJpg" class="pdfClass" > - <img + <el-image style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> <el-dialog diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 4ed5ae6..cda589d 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -882,11 +882,13 @@ v-if="dialog.isJpg" class="pdfClass" > - <img - style="width: 100%; height: 100%" + <el-image + style="width:100%; height:100%" :src="dialog.src" - alt="" - /> + :preview-src-list="[dialog.src]" + > + </el-image> + </div> </el-dialog> diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index 8696aca..6308636 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -169,8 +169,8 @@ <el-table :data="tableData" style="width: 100%" - border @selection-change="handleSelectionChange" + @cell-dblclick="copyText" height="calc(100% - 1px)" > <el-table-column @@ -615,6 +615,16 @@ } }, methods: { + copyText(row, column, cell, event) { + // 鍙屽嚮澶嶅埗 + let save = function (e) { + e.clipboardData.setData('text/plain', event.target.innerText); + e.preventDefault(); //闃绘榛樿琛屼负 + } + document.addEventListener('copy', save);//娣诲姞涓�涓猚opy浜嬩欢 + document.execCommand("copy");//鎵цcopy鏂规硶 + this.$message({ message: '澶嶅埗鎴愬姛', type: 'success' })//鎻愮ず + }, setOptions() { var std = []; for (var i = 0; i < 21; i++) { @@ -817,6 +827,7 @@ }, //棰勮寮圭獥鍏抽棴 handleClose() { + this.getTableData(); this.dialogVisible = false; this.showMapView = false; diff --git a/src/views/exportMap/index.vue b/src/views/exportMap/index.vue index c1b467c..724c6b6 100644 --- a/src/views/exportMap/index.vue +++ b/src/views/exportMap/index.vue @@ -109,7 +109,7 @@ node-key="id" :props="defaultProps" :default-expanded-keys="[1]" - @check-change="handleTreeNodeClick" + @check="handleTreeNodeClick" ref="tree" > </el-tree> @@ -348,7 +348,7 @@ mounted() { this.LayerStart() this.initMap() - this.showMapLayer() + }, methods: { setTreeData(source) { @@ -371,6 +371,7 @@ var val = []; var std = []; + var layerWMS = []; for (var i in res) { var str = res[i]; @@ -380,7 +381,7 @@ if (str.isShow == 1) { std.push(str.id) - this.showMapLayer(str) + layerWMS.push(str) this.tableData.push({ name: str.cnName, ename: str.enName, @@ -392,23 +393,42 @@ var res = this.setTreeData(val); this.treeData = res; this.$refs.tree.setCheckedKeys(std) + this.showMapLayer(layerWMS); + + }, + setClearMap() { + var layers_ol = mapView.getAllLayers(); + for (var i in layers_ol) { + var layerOl = layers_ol[i]; + if (layerOl.values_.name == "Wms_Layer") { + mapView.removeLayer(layers_ol[i]); //鏄剧ず鍥惧眰 + } + } }, showMapLayer(val) { - if (val == undefined) return; - if (val.serveType == "WMS") { + if (val) { + this.setClearMap(); + var url = []; + for (var i in val) { + if (val[i].url) { + url.push(val[i].url) + } + + } + url = url.reverse() + console.log(url) var layer2 = new Image({ - name: val.cnName, + name: "Wms_Layer", source: new ImageWMS({ crossOrigin: "anonymous", url: geoServerURl, - params: { FORMAT: "image/png", VERSION: "1.1.1", - LAYERS: val.url, + LAYERS: url.toString(), }, }), - }) + }); mapView.addLayer(layer2) } @@ -594,39 +614,55 @@ }, handleClose() { }, handleTreeNodeClick(data, nodes) { - if (data.children != null) return + var value = this.$refs.tree.getCheckedNodes(); - var layers = mapView.getAllLayers() - for (var i in layers) { - var layer = layers[i] - var str = 0 - if (layer.values_.name == data.cnName) { - layer.setVisible(nodes) //鏄剧ず鍥惧眰 - if (nodes == true) { - str++ - this.tableData.push({ - name: data.cnName, - ename: data.enName - }) - } else { - this.tableData.some((item, i) => { - if (item.name === data.cnName) { - this.tableData.splice(i, 1) - } - }) - } + this.showMapLayer(value) + + var std = []; + for (var i in value) { + if (value[i].type == 2) { + var str = value[i] + std.push({ + name: str.cnName, + ename: str.enName, + }) } - } - if (str == 0 && nodes == true) { - this.showMapLayer(data) - // this.tableData.push({ - // name: data.cnName, - // ename: data.enName, - // }) } + this.tableData = std; + // if (data.children != null) return - // this.tableData = this.arrList + // var layers = mapView.getAllLayers() + // for (var i in layers) { + // var layer = layers[i] + // var str = 0 + // if (layer.values_.name == data.cnName) { + // layer.setVisible(nodes) //鏄剧ず鍥惧眰 + // if (nodes == true) { + // str++ + // this.tableData.push({ + // name: data.cnName, + // ename: data.enName + // }) + // } else { + // this.tableData.some((item, i) => { + // if (item.name === data.cnName) { + // this.tableData.splice(i, 1) + // } + // }) + // } + // } + // } + + // if (str == 0 && nodes == true) { + // this.showMapLayer(data) + // // this.tableData.push({ + // // name: data.cnName, + // // ename: data.enName, + // // }) + // } + + // // this.tableData = this.arrList }, setAddMapLayer() { this.dialogVisible = false @@ -710,6 +746,7 @@ width: 100%; height: 70px; padding-left: 20px; + margin: 0; } .left_Menu { z-index: 40; diff --git a/src/views/userManage/userInfoManage.vue b/src/views/userManage/userInfoManage.vue index 0ce26e4..632a187 100644 --- a/src/views/userManage/userInfoManage.vue +++ b/src/views/userManage/userInfoManage.vue @@ -1,15 +1,20 @@ <template> <div class="userInfo_box"> - <My-bread - :list="[ + <My-bread :list="[ `${$t('userManage.userManage')}`, `${$t('userManage.userInfoManage')}`, - ]" - ></My-bread> + ]"></My-bread> <el-divider /> <div class="inquire"> - <el-form ref="queryForm" :model="queryForm" :inline="true"> - <el-form-item prop="uname" :label="$t('userManage.userInfoObj.uname')"> + <el-form + ref="queryForm" + :model="queryForm" + :inline="true" + > + <el-form-item + prop="uname" + :label="$t('userManage.userInfoObj.uname')" + > <el-input v-model="queryForm.uname" /> </el-form-item> <el-form-item @@ -38,7 +43,7 @@ type="primary" @click="queryInfo()" icon="el-icon-search" - >{{ $t("operatManage.ELM.search") }} + >{{ $t("operatManage.ELM.search") }} </el-button> </el-form-item> <el-form-item> @@ -77,7 +82,7 @@ size="small" @click="editPwd" icon="el-icon-unlock" - >閲嶇疆瀵嗙爜 + >閲嶇疆瀵嗙爜 </el-button> </el-form-item> </el-form> @@ -90,7 +95,10 @@ height="99%" @selection-change="handleSelectionChange" > - <el-table-column type="selection" width="55" /> + <el-table-column + type="selection" + width="55" + /> <el-table-column align="center" type="index" @@ -178,11 +186,23 @@ :label="$t('userManage.userInfoObj.status')" > <template slot-scope="scope"> - <el-tag v-if="scope.row.status == 0" type="success">姝e父</el-tag> - <el-tag v-if="scope.row.status == 1" type="info">绂佺敤</el-tag> - <el-tag v-if="scope.row.status == 2" type="warning">鍒犻櫎</el-tag> + <el-tag + v-if="scope.row.status == 0" + type="success" + >姝e父</el-tag> + <el-tag + v-if="scope.row.status == 1" + type="info" + >绂佺敤</el-tag> + <el-tag + v-if="scope.row.status == 2" + type="warning" + >鍒犻櫎</el-tag> <el-tag v-if="scope.row.status == 3">鐢宠</el-tag> - <el-tag v-if="scope.row.status == 4" type="danger">鎷掓壒</el-tag> + <el-tag + v-if="scope.row.status == 4" + type="danger" + >鎷掓壒</el-tag> </template> </el-table-column> <el-table-column @@ -203,12 +223,14 @@ type="warning" @click="editInfo(scope.row)" size="mini" - >{{ $t("common.edit") }}</el-button - > + >{{ $t("common.edit") }}</el-button> </template> </el-table-column> </el-table> - <div style="margin-top: 25px" class="pagination_box"> + <div + style="margin-top: 25px" + class="pagination_box" + > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -241,8 +263,14 @@ v-if="behavior == '鏂板鐢ㄦ埛'" :label-width="formLabelWidth" > - <el-input v-model="editForm.uid" autocomplete="off"></el-input> - <div class="isNewUser" v-if="isNewUser"> + <el-input + v-model="editForm.uid" + autocomplete="off" + ></el-input> + <div + class="isNewUser" + v-if="isNewUser" + > <img src="../../assets/img/success.png" /> 璐﹀彿鍙敤 </div> @@ -271,7 +299,11 @@ show-password ></el-input> </el-form-item> - <el-form-item prop="pwd" label="瀵嗙爜" :label-width="formLabelWidth"> + <el-form-item + prop="pwd" + label="瀵嗙爜" + :label-width="formLabelWidth" + > <el-input type="password" v-model="editForm.pwd" @@ -296,10 +328,21 @@ label="鐢ㄦ埛鍚嶇О" :label-width="formLabelWidth" > - <el-input v-model="editForm.uname" autocomplete="off"></el-input> + <el-input + v-model="editForm.uname" + autocomplete="off" + ></el-input> </el-form-item> - <el-form-item prop="sex" label="鎬у埆" :label-width="formLabelWidth"> - <el-select v-model="editForm.sex" clearable placeholder="璇烽�夋嫨"> + <el-form-item + prop="sex" + label="鎬у埆" + :label-width="formLabelWidth" + > + <el-select + v-model="editForm.sex" + clearable + placeholder="璇烽�夋嫨" + > <el-option v-for="item in sexOpt" :key="item.value" @@ -314,7 +357,10 @@ label="绫嶈疮" :label-width="formLabelWidth" > - <el-input v-model="editForm.natives" autocomplete="off"></el-input> + <el-input + v-model="editForm.natives" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item prop="depid" @@ -343,39 +389,73 @@ label="璇佷欢鍙�" :label-width="formLabelWidth" > - <el-input v-model="editForm.idcard" autocomplete="off"></el-input> + <el-input + v-model="editForm.idcard" + autocomplete="off" + ></el-input> </el-form-item> </div> <div style="width: 45%"> - <el-form-item prop="job" label="宸ヤ綔" :label-width="formLabelWidth"> - <el-input v-model="editForm.job" autocomplete="off"></el-input> + <el-form-item + prop="job" + label="宸ヤ綔" + :label-width="formLabelWidth" + > + <el-input + v-model="editForm.job" + autocomplete="off" + ></el-input> </el-form-item> - <el-form-item prop="edu" label="鏁欒偛" :label-width="formLabelWidth"> - <el-input v-model="editForm.edu" autocomplete="off"></el-input> + <el-form-item + prop="edu" + label="鏁欒偛" + :label-width="formLabelWidth" + > + <el-input + v-model="editForm.edu" + autocomplete="off" + ></el-input> </el-form-item> - <el-form-item prop="addr" label="鍦板潃" :label-width="formLabelWidth"> - <el-input v-model="editForm.addr" autocomplete="off"></el-input> + <el-form-item + prop="addr" + label="鍦板潃" + :label-width="formLabelWidth" + > + <el-input + v-model="editForm.addr" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item prop="email" label="鐢靛瓙閭欢" :label-width="formLabelWidth" > - <el-input v-model="editForm.email" autocomplete="off"></el-input> + <el-input + v-model="editForm.email" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item prop="contact" label="鑱旂郴鏂瑰紡" :label-width="formLabelWidth" > - <el-input v-model="editForm.contact" autocomplete="off"></el-input> + <el-input + v-model="editForm.contact" + autocomplete="off" + ></el-input> </el-form-item> <el-form-item prop="status" label="鐘舵��" :label-width="formLabelWidth" > - <el-select v-model="editForm.status" clearable placeholder="璇烽�夋嫨"> + <el-select + v-model="editForm.status" + clearable + placeholder="璇烽�夋嫨" + > <el-option v-for="item in statusOpt" :key="item.value" @@ -385,30 +465,49 @@ </el-option> </el-select> </el-form-item> - <el-form-item prop="bak" label="澶囨敞" :label-width="formLabelWidth"> - <el-input v-model="editForm.bak" autocomplete="off"></el-input> + <el-form-item + prop="bak" + label="澶囨敞" + :label-width="formLabelWidth" + > + <el-input + v-model="editForm.bak" + autocomplete="off" + ></el-input> </el-form-item> </div> </el-form> - <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer"> - <el-button size="medium" @click="cancelEdit()">閲嶇疆</el-button> + <div + v-if="behavior == '淇敼淇℃伅'" + slot="footer" + class="dialog-footer" + > + <el-button + size="medium" + @click="cancelEdit()" + >閲嶇疆</el-button> <el-button size="medium" type="primary" @click="sendEdit('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >鎻愪氦</el-button - > + >鎻愪氦</el-button> </div> - <div v-else slot="footer" class="dialog-footer"> - <el-button size="medium" @click="cancelAdd('editForm')">閲嶇疆</el-button> + <div + v-else + slot="footer" + class="dialog-footer" + > + <el-button + size="medium" + @click="cancelAdd('editForm')" + >閲嶇疆</el-button> <el-button size="medium" type="primary" @click="sendAdd('editForm')" v-loading.fullscreen.lock="fullscreenLoading" - >鎻愪氦</el-button - > + >鎻愪氦</el-button> </div> </el-dialog> <el-dialog @@ -418,8 +517,16 @@ :visible.sync="resetPwd" :before-close="handleClose" > - <el-form :model="pwdForm" ref="pwdForm" :rules="rules"> - <el-form-item prop="adminPwd" label="绠$悊鍛樺瘑鐮�" label-width="140px"> + <el-form + :model="pwdForm" + ref="pwdForm" + :rules="rules" + > + <el-form-item + prop="adminPwd" + label="绠$悊鍛樺瘑鐮�" + label-width="140px" + > <el-input type="password" v-model="pwdForm.adminPwd" @@ -427,7 +534,11 @@ show-password ></el-input> </el-form-item> - <el-form-item prop="newPwd" label="鏂板瘑鐮�" label-width="140px"> + <el-form-item + prop="newPwd" + label="鏂板瘑鐮�" + label-width="140px" + > <el-input type="password" v-model="pwdForm.newPwd" @@ -435,7 +546,11 @@ show-password ></el-input> </el-form-item> - <el-form-item prop="checkPwd" label="纭瀵嗙爜" label-width="140px"> + <el-form-item + prop="checkPwd" + label="纭瀵嗙爜" + label-width="140px" + > <el-input type="password" v-model="pwdForm.checkPwd" @@ -444,17 +559,20 @@ ></el-input> </el-form-item> </el-form> - <div slot="footer" class="dialog-footer"> - <el-button size="medium" @click="cancelReset - 'pwdForm'" - >閲嶇疆</el-button - > + <div + slot="footer" + class="dialog-footer" + > + <el-button + size="medium" + @click="cancelReset - 'pwdForm'" + >閲嶇疆</el-button> <el-button size="medium" type="primary" @click="sendReset('pwdForm')" v-loading.fullscreen.lock="fullscreenLoading" - >鎻愪氦</el-button - > + >鎻愪氦</el-button> </div> </el-dialog> </div> @@ -712,7 +830,7 @@ }); } }) - .catch((res) => {}); + .catch((res) => { }); queryPageUser({ pageIndex: 1, @@ -729,7 +847,7 @@ }); } }) - .catch((res) => {}); + .catch((res) => { }); }, treeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 @@ -956,7 +1074,7 @@ done(); }) - .catch((_) => {}); + .catch((_) => { }); }, //鎻愪氦缂栬緫 sendEdit(formName) { @@ -1041,9 +1159,6 @@ }; </script> <style> -/deep/ .el-table__fixed-right { - height: 100% !important; -} </style> <style lang="less" scoped> //@import url(); 寮曞叆鍏叡css绫� -- Gitblit v1.9.3