src/assets/lang/en.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/lang/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Synthesis/LeftMenu.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/dataUpdata.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/maintenance/userManagement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/lang/en.js
@@ -427,8 +427,8 @@ }, synthesis: { DownloadList: 'Download List', import: 'Import', export: 'Export', import: 'Import KML', export: 'Export KML', pipelineAnalysis: 'Pipeline analysis', sceneExtraction: 'Scene extraction', synthesis: 'Comprehensive Display', src/assets/lang/zh.js
@@ -422,8 +422,10 @@ }, }, synthesis: { import: '导入', export: '导出', import: '导入KML', export: '导出KML', import1:'导入SHP', export1: '导出SHP', pipelineAnalysis: '管道分析', synthesis: '综合展示', DownloadList: '下载列表', src/views/Synthesis/LeftMenu.vue
@@ -21,6 +21,16 @@ class="file" style="display: none" /> <input :accept="'.shp, .shx, .dbf, .prj'" style="display: none" ref="pathClear" type="file" name="file" id="shpFile" multiple="multiple" @change="handleOpenShp()" /> </div> </template> @@ -29,6 +39,8 @@ import mapinfo from '../Tools/mapinfo.vue'; import maplayer from '../Tools/maplayer.vue'; import queryinfo from '../Tools/queryinfo.vue'; import $ from 'jquery' import { getToken } from '@/utils/auth'; import { OverviewMap, defaults as defaultControls, @@ -36,6 +48,9 @@ ScaleLine, Rotate, } from "ol/control.js" import * as turf from '@turf/turf'; import { geometry } from '@turf/turf'; export default { components: { mapinfo, maplayer, queryinfo }, data() { @@ -303,10 +318,10 @@ css: 'twoMenu_imge81', }, { id: "h8", label: "synthesis.textLabel", name: "文本点", css: "twoMenu_imge81", id: 'h8', label: 'synthesis.addlabel', name: '文字', css: 'twoMenu_imge88', }, { id: 'h2', @@ -329,21 +344,30 @@ { id: 'h5', label: 'synthesis.import', name: '导入', name: '导入KML', css: 'twoMenu_imge85', }, { id: 'h6', label: 'synthesis.export', name: '导出', name: '导出KML', css: 'twoMenu_imge86', }, { id: 'h8', label: 'synthesis.addlabel', name: '文字', css: 'twoMenu_imge88', }, // { // id: 'h9', // label: 'synthesis.import1', // name: '导入SHP', // css: 'twoMenu_imge85', // }, // { // id: 'h10', // label: 'synthesis.export1', // name: '导出SHP', // css: 'twoMenu_imge86', // }, { id: 'h7', label: 'synthesis.removepaint', @@ -378,13 +402,14 @@ UndergroundMode: false, scaleLine: null, Excavation: false, entityaLayers: [], }; }, methods: { //二級菜单点击切换 setChangeTwoMenu(res) { //清除绘制图形对象 sgworld.Creator.SimpleGraphic.clear(); // sgworld.Creator.SimpleGraphic.clear(); if (window.Viewer.scene.primitives.length != null) { window.Viewer.scene.primitives.removeAll(); } @@ -476,8 +501,19 @@ case 'h6': this.handleSaveClick(); break; case 'h9': // this.handleOpenShp(); $("#shpFile").click(); break; case 'h10': this.handleSaveShp(); break; case 'h7': sgworld.Creator.SimpleGraphic.clear(); for (var i in this.entityaLayers) { sgworld.Viewer.entities.remove(this.entityaLayers[i]); } this.entityaLayers = []; break; case 'h8': sgworld.Creator.createSimpleGraphic('label', {}, function (entity) { @@ -524,8 +560,222 @@ alert('当前场景没有entities实体'); } }, handleSaveShp() { var entities = sgworld.Viewer.entities.values; if (entities.length == 0) { return; } var std = []; for (var i in entities) { var type, fillColor, alpha, wkt, name; var bak = {} if (entities[i].name) { name = entities[i].name } if (entities[i].properties) { var properties = entities[i].properties.propertyNames; for (var j in properties) { bak[properties[j]] = entities[i].properties[properties[j]]._value; } } else { bak = { "name": entities[i].name } } if (entities[i].rectangle) {//矩形 type = 'rectangle' var east = Cesium.Math.toDegrees(entities[i].rectangle.coordinates.getValue().east); var north = Cesium.Math.toDegrees(entities[i].rectangle.coordinates.getValue().north); var west = Cesium.Math.toDegrees(entities[i].rectangle.coordinates.getValue().west); var south = Cesium.Math.toDegrees(entities[i].rectangle.coordinates.getValue().south); var line = turf.lineString([[east, north], [west, south]]) wkt = this.$wkt.convert(line.geometry) var fill = entities[i].rectangle._material._color._value; fillColor = fill.red + ',' + fill.green + ',' + fill.blue; alpha = fill.alpha; } else if (entities[i].point) {//点 type = 'point' let ellipsoid = Viewer.scene.globe.ellipsoid; let cartographic = ellipsoid.cartesianToCartographic(entities[i].position.getValue()); let lat = Cesium.Math.toDegrees(cartographic.latitude); let lng = Cesium.Math.toDegrees(cartographic.longitude); let alt = cartographic.height; let point = turf.point([lng, lat, alt]) wkt = this.$wkt.convert(point.geometry) var fill = entities[i].point._color._value; fillColor = fill.red + ',' + fill.green + ',' + fill.blue; alpha = fill.alpha; } else if (entities[i].polygon) { type = 'polygon'; var fill = entities[i].polygon._material._color._value; fillColor = fill.red + ',' + fill.green + ',' + fill.blue; alpha = fill.alpha; var geometry = entities[i].polygon.hierarchy.getValue().positions; var coordinates = []; for (var k in geometry) { coordinates.push(this.setCartesianToEightFour(geometry[k])) } if (coordinates[0] != coordinates[1]) { coordinates.push(coordinates[0]) } var polygon = turf.polygon([coordinates]) wkt = this.$wkt.convert(polygon.geometry) } else if (entities[i].polyline) { type = "polyline"; var coordinates = []; var geometry = entities[i].polyline.positions.getValue(); for (var k in geometry) { coordinates.push(this.setCartesianToEightFour(geometry[k])) } var polyline = turf.lineString(coordinates) wkt = this.$wkt.convert(polyline.geometry) var fill = entities[i].polyline._material._color._value; fillColor = fill.red + ',' + fill.green + ',' + fill.blue; alpha = fill.alpha; } else if (entities[i].label) { type = "label"; let ellipsoid = Viewer.scene.globe.ellipsoid; let cartographic = ellipsoid.cartesianToCartographic(entities[i].position.getValue()); let lat = Cesium.Math.toDegrees(cartographic.latitude); let lng = Cesium.Math.toDegrees(cartographic.longitude); let alt = cartographic.height; let point = turf.point([lng, lat, alt]) wkt = this.$wkt.convert(point.geometry) var fill = entities[i].label.backgroundColor._value; fillColor = fill.red + ',' + fill.green + ',' + fill.blue; alpha = fill.alpha; } std.push({ id: parseInt(i) + 1, type: type, fillColor: fillColor, opacity: alpha, name: name, bak: JSON.stringify(bak), wkt: wkt }) } $.ajax({ url: BASE_URL + "/comprehensive/downloadShp?token=" + getToken(), type: "POST", data: JSON.stringify(std), dataType: 'json', // html、json、jsonp、script、text contentType: "application/json", // "application/x-www-form-urlencoded" success: (rs) => { if (rs && rs.code == 200) { var a = document.createElement('a'); // 创建一个a标签元素 a.style.display = 'none'; // 设置元素不可见 a.href = BASE_URL + "/comprehensive/downloadFile?token=" + getToken() + "&guid=" + rs.result; document.body.appendChild(a); // 加入 a.click(); // 触发点击,下载 document.body.removeChild(a); // 释放 } }, error: function (e) { } }); }, handleOpenShp() { var formData = new FormData(); var fs = document.getElementById("shpFile"); var exts = [".shp", ".shx", ".dbf", ".prj"]; var count = 0; for (var i = 0, c = fs.files.length; i < c; i++) { var name = fs.files[i].name.toLocaleLowerCase(); var ext = name.substring(name.lastIndexOf(".")); if (exts.indexOf(ext) > -1) { count++; formData.append(fs.files[i].name, fs.files[i]); // fs.files[i].name,file } } if (count != 4) { alert("ShapeFile文件选择不全!"); return; } var that = this; $.ajax(BASE_URL + "/comprehensive/uploadShp?token=" + getToken(), { type: "post", data: formData, async: true, cache: false, processData: false, contentType: false, success: function (rs) { if (rs.code == 200) { that.showShpEntity(rs.result); } }, error: function (e) { console.error(e); } }); }, showShpEntity(res) { for (var i in res) { var wkt = this.$wkt.parse(res[i].wkt); var fillColor = res[i].fillColor.split(","); var color = new Cesium.Color(fillColor[0], fillColor[1], fillColor[2], res[i].opacity) switch (res[i].type) { case 'rectangle': debugger break; case 'point': debugger break; case 'polygon': var std = []; var geo = wkt.coordinates[0]; for (var i in geo) { std.push(geo[i][0]) std.push(geo[i][1]) } const entity = Viewer.entities.add({ name: 'Wyoming', polygon: { hierarchy: Cesium.Cartesian3.fromDegreesArray(std), //height : 100000, material:color, outline: true, outlineColor: color, } }) this.entityaLayers.push(entity) break; case 'polyline': debugger break; case 'label': debugger break; } } }, setCartesianToEightFour(res) { var std = []; let ellipsoid = Viewer.scene.globe.ellipsoid; let cartographic = ellipsoid.cartesianToCartographic(res); let lat = Cesium.Math.toDegrees(cartographic.latitude); let lng = Cesium.Math.toDegrees(cartographic.longitude); let alt = cartographic.height; std = [lng, lat, alt] return std; }, handleOpenClick() { var that = this; sgworld.Creator.SimpleGraphic.edit(true, { editProp: true }); let fileInput = document.querySelector('.file'); fileInput.onchange = function (evt) { @@ -544,9 +794,10 @@ fileReader.result, kmlOptions ); geocachePromise.then(function (dataSource) { var geocacheEntities = dataSource.entities.values; that.entityaLayers = geocacheEntities; for (var i = 0; i < geocacheEntities.length; i++) { var entity = geocacheEntities[i]; src/views/datamanage/dataUpdata.vue
@@ -25,7 +25,10 @@ class="demo-form-inline" > <!-- 入库类型 --> <el-form-item :label="$t('dataManage.dataUpObj.UploadType')" style="margin-right: 2%"> <el-form-item :label="$t('dataManage.dataUpObj.UploadType')" style="margin-right: 2%" > <el-select :disabled="tableData.length == 0 ? false : true" v-model="formInline.uploadType" @@ -43,7 +46,7 @@ </el-form-item> <!-- 存储目录 --> <el-form-item style="margin-right: 2%" style="margin-right: 2%" v-show="uploadFlag" :label="$t('dataManage.dataUpObj.storageDirectory')" > @@ -77,7 +80,7 @@ </el-form-item> <!-- 项目名称 --> <el-form-item style="margin-right: 2%" style="margin-right: 2%" v-show="!uploadFlag" :label="$t('dataManage.dataUpObj.entryName')" > @@ -97,7 +100,10 @@ </el-select> </el-form-item> <!-- 数据版本 --> <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')" style="margin-right: 2%"> <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')" style="margin-right: 2%" > <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" @@ -114,7 +120,10 @@ </el-select> </el-form-item> <!-- 数据专业 --> <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')" style="margin-right: 2%"> <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')" style="margin-right: 2%" > <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" @@ -131,7 +140,10 @@ </el-select> </el-form-item> <!-- 坐标系 --> <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')" style="margin-right: 3%"> <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')" style="margin-right: 3%" > <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" @@ -207,7 +219,10 @@ @change="handleMetaFileChange" ></input> </el-form-item> <el-form-item v-show="uploadFlag" style="margin-left: 0.7%;"> <el-form-item v-show="uploadFlag" style="margin-left: 0.7%;" > <el-input placeholder="请输入内容" v-model="formInline.metaData" @@ -283,7 +298,7 @@ >{{ $t('common.Warehousin') }}</el-button> <!-- 质检 --> <el-button style="margin-right:-9px" style="margin-right:-9px" v-if="menuStatus.insert" :disabled="multipleSelection.length == 0 ? true : false" type="info" @@ -367,7 +382,7 @@ :model="formWarehousing" class="demo-form-inline" > <el-form-item :label="$t('dataManage.dataUpObj.describe')" > <el-form-item :label="$t('dataManage.dataUpObj.describe')"> <el-input v-model="formWarehousing.name" placeholder="请输入内容" @@ -411,109 +426,109 @@ </div> <!-- 入库 --> <div class="bottom"> <div class="rightTable subpage_Div"> <div class="table_box"> <el-table ref="filterTable" :data="waretableData" style="width: 100%" height="99%"> <el-table-column type="selection" width="55" <div class="rightTable subpage_Div"> <div class="table_box"> <el-table ref="filterTable" :data="waretableData" style="width: 100%" height="99%" @selection-change="handleDelteChange" > </el-table-column> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="100" /> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" <el-table-column type="selection" width="55" > </el-table-column> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="100" /> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" > <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)" >{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column align="center" prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="changetimeFile" width="100" /> </el-table> </div> <div class="pagination_box"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count" > <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)" >{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column align="center" prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="changetimeFile" width="100" /> </el-table> </el-pagination> </div> </div> </div> <div class="pagination_box" > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count" > </el-pagination> </div> </div> </div> </el-tab-pane> </el-tabs> <!-- 质检弹窗 --> @@ -1259,7 +1274,7 @@ for (var i in this.enclosureData) { formData.append('ids', this.enclosureData[i]) } const that = this const that = this that.jindudialogVisible = true that.$set(this, 'jindutiaoname', "附件上传") that.$set(this, 'jindutiao', 0) @@ -1276,13 +1291,13 @@ if (rs.code != 200) { return this.$message.error('附件上传失败'); } this.$set(this, 'jindutiao', 100) this.$message({ message: '附件上传成功', type: 'success' }); }, error: (rs) => { this.loading = false; @@ -1303,7 +1318,7 @@ }, //选择上传附件的文件 @@ -1990,7 +2005,7 @@ }, xhr: function () { var myXhr = $.ajaxSettings.xhr(); if (myXhr.upload) { //检查upload属性是否存在 myXhr.upload.addEventListener('progress', that.progressHandlingFunction, false); //绑定progress事件的回调函数 } @@ -2435,27 +2450,26 @@ }; </script> <style lang="less" scoped> .bottom { width: 100%; margin-top: 1%; // height: 74%; height: 570px; display: flex; justify-content: space-between; .bottom { width: 100%; margin-top: 1%; // height: 74%; height: 570px; display: flex; justify-content: space-between; .rightTable { width: 98%; height: 92%; .rightTable { width: 98%; height: 92%; border-radius: 5px; padding: 1%; .table_box { width: 100%; height: 93%; margin: 0 auto; overflow: auto; } border-radius: 5px; padding: 1%; .table_box { width: 100%; height: 93%; margin: 0 auto; overflow: auto; } } } </style> src/views/maintenance/userManagement.vue
@@ -93,6 +93,8 @@ :data="tableData" style="width: 100%" height="90%" @selection-change="handleSelectionChange" > <el-table-column type="selection" @@ -1041,10 +1043,13 @@ }, //重置密码 editPwd() { var std = []; for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } if (std.length == 0) { alert('请先选择用户'); return;