Merge branch 'master' of http://192.168.20.39:8989/r/LFWEB_NEW
# Conflicts:
# src/assets/lang/en.js
# src/assets/lang/zh.js
# src/views/datamanage/dictionaryManage.vue
# src/views/datamanage/layerManagement.vue
| | |
| | | export function inquiry_SelectTabs(params) { |
| | | return request.get('/inquiry/selectTabs', { params: params }); |
| | | } |
| | | |
| | | //综合展示=>查询=>下载瓦片 |
| | | export function inquiry_downloadTiles(params) { |
| | | return service.post('/inquiry/downloadTiles', params); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //运维管理=>用户管理=>获取列表 |
| | | export function userSelectByPageAndCount(params) { |
| | | return request.get('/user/selectByPageAndCount', { params: params }); |
| | |
| | | export function dataUpload_selectPageAndCountByPid(params) { |
| | | return request.get('/dataUpload/selectPageAndCountByPid', { params: params }); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //数据上传=删除数据 |
| | |
| | | dataStatistics: 'data Statistics', |
| | | layerManage: 'Layer Management', |
| | | layerObj: { |
| | | menuName: 'Menu name', |
| | | menuType: 'Menu type', |
| | | layerName: 'Layer name', |
| | | layerType: 'Layer type', |
| | | menuName: 'menu name', |
| | | menuType: 'Menu Type', |
| | | menuName: 'Layer Name', |
| | | menuType: 'Layer Type', |
| | | serviceName: 'service name', |
| | | serviceType: 'service type', |
| | | serviceAddress: 'Service Address', |
| | |
| | | dataType: 'data type', |
| | | istrue: 'true', |
| | | isfalse: 'false', |
| | | enTableName: 'English Table Name', |
| | | prompt1: 'Please enter a layer name', |
| | | prompt2: 'Please select a layer type', |
| | | prompt3: 'Please select a service type', |
| | | prompt4: 'Please enter the service address', |
| | | |
| | | prompt6: 'Please enter the name of the English table (eg: m_geocontrollpoint)', |
| | | prompt7: 'Please enter note information', |
| | | prompt8: 'Please select a data type', |
| | | |
| | | }, |
| | | dataStaticObj: { |
| | |
| | | layerObj: { |
| | | menuName: '菜单名称', |
| | | menuType: '菜单类型', |
| | | layerName: '图层名称', |
| | | layerType: '图层类型', |
| | | menuName: '图层名称', |
| | | menuType: '图层类型', |
| | | serviceName: '服务名称', |
| | | serviceType: '服务类型', |
| | | serviceAddress: '服务地址', |
| | |
| | | dataType: '数据类型', |
| | | istrue: '是', |
| | | isfalse: '否', |
| | | enTableName: '英文表名称', |
| | | prompt1: '请输入图层名称', |
| | | prompt2: '请选择图层类型', |
| | | prompt3: '请选择服务类型', |
| | | prompt4: '请输入服务地址', |
| | | |
| | | prompt6: '请输入英文表名称(如:m_geocontrolpoint)', |
| | | prompt7: '请输入备注信息', |
| | | prompt8: '请选择数据类型', |
| | | }, |
| | | dataStaticObj: { |
| | | type1: '服务名称', |
| | |
| | | <template> |
| | | <div class="mapBox"> |
| | | <div |
| | | class="mapBox" |
| | | v-loading="loading" |
| | | :element-loading-text="loadingText" |
| | | element-loading-background="rgba(0, 0, 0, 0.8)" |
| | | > |
| | | <div id="mapdiv"> |
| | | <div |
| | | class="menu_Top box_divm" |
| | |
| | | |
| | | </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-form-item |
| | | label="名称" |
| | | prop="title" |
| | | > |
| | | <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-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-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-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | <!-- <div--> |
| | | <!-- @click="changeMenulayer"--> |
| | | <!-- class="center CenDiv"--> |
| | |
| | | |
| | | </div> |
| | | <model-property ref='modelProperty'></model-property> |
| | | <iframe |
| | | id="downFrame" |
| | | src="" |
| | | style="display: none; border: 0; padding: 0; height: 0; width: 0" |
| | | ></iframe> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | comprehensive_selectRoute, |
| | | dataLib_selectFiles, dataQuery_selectFields, dataQuery_selectDomains, |
| | | dataQuery_selectByPage, |
| | | comprehensive_selectPubById, comprehensive_selectModelByGuid |
| | | comprehensive_selectPubById, comprehensive_selectModelByGuid, decr, |
| | | encr, inquiry_downloadTiles, sign_getPublicKey |
| | | } from '../api/api' |
| | | import { getToken } from '@/utils/auth' |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | callback(); |
| | | } |
| | | }; |
| | | var checkAge = (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error('数据名称不能为空')); |
| | | } |
| | | callback(); |
| | | |
| | | }; |
| | | var validatePass = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请输入密码')); |
| | | } else { |
| | | var passwordreg = |
| | | /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/ |
| | | |
| | | if (!passwordreg.test(value)) { |
| | | callback(new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位")) |
| | | } |
| | | callback(); |
| | | } |
| | | }; |
| | | var validatePass2 = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.ruleForm.pass) { |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | |
| | | message: "坐标点经纬度错误,坐标应在[116.xxx, 39.yyy]范围", |
| | | }, |
| | | ], |
| | | pass: [ |
| | | { validator: validatePass, trigger: 'blur' } |
| | | ], |
| | | checkPass: [ |
| | | { validator: validatePass2, trigger: 'blur' } |
| | | ], |
| | | title: [ |
| | | { validator: checkAge, trigger: 'blur' } |
| | | ] |
| | | }, |
| | | bufFrom: { |
| | | val: 50, |
| | |
| | | valueX: 0, |
| | | valueY: 0, |
| | | terrainflag: false, |
| | | downTitleFlag: false, |
| | | downTitleData: null, |
| | | ruleForm: { |
| | | pass: '', |
| | | checkPass: '', |
| | | title: '' |
| | | }, |
| | | loadingText: '', |
| | | loading: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | }); |
| | | //模型捕捉 |
| | | this.catchmodel() |
| | | |
| | | this.$bus.$on("titleDown", res => { |
| | | this.setDownLoadTitle(res); |
| | | }) |
| | | window.localStorage.setItem('slider_x', this.valueX); |
| | | window.localStorage.setItem('slider_y', this.valueY); |
| | | window.localStorage.setItem('slider_z', this.valueZ); |
| | | }, |
| | | methods: { |
| | | setDownLoadTitle(res) { |
| | | this.signGetPublicKey() |
| | | this.downTitleFlag = true; |
| | | this.downTitleData = res; |
| | | |
| | | }, |
| | | async signGetPublicKey() { |
| | | const res = await sign_getPublicKey() |
| | | if (res && res.code == 200) { |
| | | window.encrypt = new JSEncrypt() |
| | | encrypt.setPublicKey(res.result) |
| | | } |
| | | }, |
| | | submitTitleDown(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | |
| | | this.downTitleData.title = this.ruleForm.title |
| | | // this.downTitleData.pwd = encr(this.ruleForm.pass) |
| | | this.downTitleData.pwd = encrypt.encrypt(this.ruleForm.pass) |
| | | this.getDownLoadTile(this.downTitleData); |
| | | this.cannelTitleDown(); |
| | | } else { |
| | | |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | async getDownLoadTile(res) { |
| | | this.loading = true; |
| | | this.loadingText = "数据下载中,请稍等..." |
| | | $.ajax({ |
| | | url: BASE_URL + "/inquiry/downloadTiles?token=" + getToken(), |
| | | type: "POST", |
| | | data: JSON.stringify(res), |
| | | dataType: 'json', // html、json、jsonp、script、text |
| | | contentType: "application/json", // "application/x-www-form-urlencoded" |
| | | success: (data) => { |
| | | var token = getToken() |
| | | var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + res.pwd; |
| | | $("#downFrame").attr("src", url).click(); |
| | | this.loading = false; |
| | | this.loadingText = "" |
| | | }, |
| | | error: function (e) { |
| | | } |
| | | }); |
| | | }, |
| | | cannelTitleDown(formName) { |
| | | this.downTitleFlag = false; |
| | | // this.$refs[formName].resetFields(); |
| | | this.ruleForm = { |
| | | pass: '', |
| | | checkPass: '', |
| | | title: '' |
| | | } |
| | | }, |
| | | catchmodel() { |
| | | var that = this; |
| | | window.pickedFeature; |
| | |
| | | document.body.addEventListener('click', () => { |
| | | this.showFlag = null; |
| | | }, false); |
| | | |
| | | }, |
| | | computed: {}, |
| | | methods: { |
| | | closeSecondMenu() { |
| | | this.showFlag = null |
| | | }, |
| | | themeChange() { |
| | | this.$store.state.themeflag = !this.$store.state.themeflag; |
| | | if (this.$store.state.themeflag == true) { |
| | |
| | | if (this.$store.state.previewLayer) { |
| | | var res = this.$store.state.previewLayer; |
| | | var type = res.type; |
| | | if (res.url.indexOf('.png') != -1) { |
| | | if (type == 'DEM') { |
| | | window.terrainLayer.deleteObject(); |
| | | window.terrainLayer = null; |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: res.url |
| | | }); |
| | | Viewer.terrainProvider = window.terrainLayer |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(113.229279, 31.215949, 1000), |
| | | orientation: { |
| | | heading: 6.08434611923462, |
| | | pitch: Cesium.Math.toRadians(-45.0), |
| | | roll: 0.0 |
| | | } |
| | | }); |
| | | |
| | | } else if (res.url.indexOf('.png') != -1) { |
| | | var wkt = this.$wkt.parse(res.geom); |
| | | var height = this.getHeight(wkt.coordinates[2]) |
| | | window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( |
| | |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), |
| | | }); |
| | | } else if (res.url.indexOf('.json') != -1) { |
| | | } else if (type == '3dml') { |
| | | if (this.app.tileset) viewer.scene.primitives.remove(this.app.tileset); |
| | | this.app.tileset = this.createTileset(res); |
| | | var that = this; |
| | |
| | | <!--入库质检---> |
| | | <template> |
| | | <div class="wareBox"> |
| | | <div |
| | | class="wareBox" |
| | | id="wareBox" |
| | | > |
| | | <iframe |
| | | id="ifream" |
| | | id="iframeContainer" |
| | | style="border:none" |
| | | width="100%" |
| | | height="100%" |
| | |
| | | ></iframe> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | |
| | | <script> |
| | | import { getToken } from "@/utils/auth"; |
| | | export default { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | closeNaveMenu() { |
| | | this.$bus.$emit('closeNaveMenu', true) |
| | | }, |
| | | langreash(res) { |
| | | |
| | | this.$router.push('/QualityInspection') |
| | | this.$router.push('/QualityInspection') |
| | | |
| | | }, |
| | | refreash(res) { |
| | | |
| | | this.$router.push('/QualityInspection') |
| | | |
| | | this.$router.push('/QualityInspection') |
| | | |
| | | }, |
| | | showChangeIfream(res) { |
| | | // |
| | |
| | | setLiClick(res, index) { |
| | | var timer = setTimeout(function () { |
| | | if (res.indexOf('http') != -1) { |
| | | this.$store.reporturl = res; |
| | | // sessionStorage.setItem('iframehttpurl', this.$store.reporturl) |
| | | this.$router.push('/QualityInspection'); |
| | | this.$store.reporturl = res; |
| | | // sessionStorage.setItem('iframehttpurl', this.$store.reporturl) |
| | | this.$router.push('/QualityInspection'); |
| | | // if (location.href.indexOf('/WareInspection') == -1) { |
| | | // this.$store.reporturl = res.url; |
| | | // this.$router.push('/WareInspection'); |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // console.log(sessionStorage.getItem('iframehttpurl')) |
| | | // |
| | | |
| | | // var iframe = document.getElementById('iframeContainer'); |
| | | // iframe.onload = function (res) { |
| | | |
| | | // } |
| | | |
| | | // $('#iframeContainer').click = function () { |
| | | // console.log('点击了iframe页面') |
| | | // // if (window.sessionStorage.getItem('xxxLastTime') !== null) { |
| | | // // window.sessionStorage.setItem('xxxLastTime', new Date().getTime()) |
| | | // // } |
| | | // }; |
| | | if (sessionStorage.getItem('routerName') === '/WareInspection') { |
| | | |
| | | |
| | | this.showChangeIfream(sessionStorage.getItem('iframehttpurl')) |
| | | this.setLiClick(sessionStorage.getItem('iframehttpurl')) |
| | | |
| | |
| | | name: "地下模式", |
| | | css: "twoMenu_imge29", |
| | | }, |
| | | { |
| | | id: "b10", |
| | | label: "synthesis.undergroundMode", |
| | | name: "瓦片下载", |
| | | css: "twoMenu_imge29", |
| | | }, |
| | | ], |
| | | [ |
| | | { |
| | |
| | | > |
| | | <i class="el-icon-tickets"></i> 钻孔柱状图 |
| | | </div> |
| | | <div |
| | | class="edit" |
| | | v-show="shwoTitle" |
| | | @click="tileDownload()" |
| | | > |
| | | <i class="el-icon-download"></i> 瓦片下载 |
| | | |
| | | </div> |
| | | <!-- <div |
| | | class="edit" |
| | | v-show="showModelAttach" |
| | |
| | | perms_selectLayers, inquiry_selectDomains, comprehensive_selectPubById, |
| | | project_selectDirAll, project_selectByDirid, dataQuerySelectWktById |
| | | } from "../../api/api.js"; |
| | | import { conditions } from '../Archive/Archive.js'; |
| | | export default { |
| | | name: "tree", |
| | | components: { queryinfo }, |
| | |
| | | mptLayer: [], |
| | | optionts: [], |
| | | proValue: null, |
| | | setCheeckedLayer: [] |
| | | setCheeckedLayer: [], |
| | | shwoTitle: false, |
| | | }; |
| | | }, |
| | | methods: { |
| | | //瓦片下载 |
| | | tileDownload() { |
| | | var that = this; |
| | | this.menuVisible = false |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "rectangle", |
| | | {}, |
| | | function (entity) { |
| | | that.getTileRectangle(entity); |
| | | sgworld.Creator.SimpleGraphic.clear() |
| | | |
| | | } |
| | | ); |
| | | }, |
| | | getTileRectangle(res) { |
| | | var value = res.rectangle.coordinates.getValue(); |
| | | var val = { |
| | | pubid: this.currentData.pubid, |
| | | pwd: "", |
| | | title: "", |
| | | xmax: Cesium.Math.toDegrees( |
| | | value.east |
| | | ), |
| | | xmin: Cesium.Math.toDegrees( |
| | | value.west |
| | | ), |
| | | ymax: Cesium.Math.toDegrees( |
| | | value.north |
| | | ), |
| | | ymin: Cesium.Math.toDegrees( |
| | | value.south |
| | | ) |
| | | } |
| | | this.$bus.$emit("titleDown", val) |
| | | |
| | | }, |
| | | //转孔柱状图 |
| | | async histogram() { |
| | | this.menuVisible = false |
| | |
| | | this.currentNode = Node; |
| | | |
| | | this.$store.state.propertiesName = this.currentData; |
| | | if (this.currentData.serveType == "Tileset") { |
| | | this.showModelAttach = false; |
| | | this.shwoTitle = false; |
| | | |
| | | |
| | | if (this.currentData.serveType == 'TMS') { |
| | | this.shwoTitle = true |
| | | } else if (this.currentData.serveType == "Tileset") { |
| | | this.showModelAttach = true; |
| | | } else { |
| | | this.showModelAttach = false; |
| | | } |
| | | if (this.currentData.enName == "s_explorationpoint") { |
| | | this.shwoHistogram = true; |
| | |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); |
| | | if (branchArr.length > 0) { |
| | | |
| | | branchArr.sort(function (a, b) { |
| | | |
| | | return a.orderNum - b.orderNum |
| | | }) |
| | | } |
| | | |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2; |
| | | // 由此循环多次后,就能形成相应的树形数据结构 |
| | |
| | | if (this.$store.state.showAllLayers == true) { |
| | | this.layersStart(); |
| | | this.$store.state.showAllLayers = false; |
| | | |
| | | } else { |
| | | |
| | | this.treeData = this.$store.state.treeData; |
| | | this.$refs.tree.setCheckedKeys(this.$store.state.checkedKeys); |
| | | } |
| | |
| | | v-for="(data, index) in PopupData" |
| | | :key="data.id" |
| | | title="图层管理" |
| | | :maxHeight="data.maxHeight || '400px'" |
| | | :maxHeight="data.maxHeight || '700px'" |
| | | @close="close(data.id)" |
| | | :left="data.left || left" |
| | | :top="data.top || top + index * 42 + 'px'" |
| | | :top="data.top || top + index * 30 + 'px'" |
| | | > |
| | | <div> |
| | | <div id="eagleMapContainer"> |
| | | <div |
| | | id="eagleMapContainer" |
| | | style="width:300px;height:400px;" |
| | | v-drag |
| | | @mousedown="dragEagle" |
| | |
| | | v-model="insertform.tab" |
| | | autocomplete="off" |
| | | style="width:85%" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetableName')" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuetableName')" |
| | | disabled |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | |
| | | //修改详情弹框 |
| | | handleEdit(index, row) { |
| | | this.dialogFormVisible = true; |
| | | this.upform = row; |
| | | var val = JSON.parse(JSON.stringify(row)) |
| | | this.upform = val; |
| | | }, |
| | | //删除列表 |
| | | DelFormData() { |
| | |
| | | style="border: 1px solid #dcdfe6;" |
| | | > |
| | | <div> |
| | | <el-input v-model="filterText" suffix-icon="el-icon-search" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')"> |
| | | </el-input> |
| | | <el-input |
| | | v-model="filterText" |
| | | :placeholder="$t('dataManage.layerObj.prompt1')" |
| | | suffix-icon="el-icon-search" |
| | | ></el-input> |
| | | |
| | | <el-tree |
| | | ref="tree" |
| | |
| | | <!-- 菜单名称 --> |
| | | <el-form-item :label="$t('dataManage.layerObj.layerName')"> |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt1')" |
| | | style="width: 60%;" |
| | | v-model="formInline.cnName" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')" |
| | | |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 菜单类型 --> |
| | | <el-form-item :label="$t('dataManage.layerObj.layerType')"> |
| | | <el-select |
| | | :placeholder="$t('dataManage.layerObj.prompt2')" |
| | | clearable |
| | | style="width: 60%;" |
| | | v-model="formInline.type" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerType')" |
| | | |
| | | > |
| | | <el-option |
| | | label="目录" |
| | |
| | | clearable |
| | | style="width: 60%;" |
| | | v-model="formInline.serveType" |
| | | |
| | | :placeholder="$t('dataManage.layerObj.prompt3')" |
| | | > |
| | | <el-option |
| | | v-for="item in serveType" |
| | |
| | | :label="$t('dataManage.layerObj.serviceAddress')" |
| | | > |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt4')" |
| | | style="width: 60%;" |
| | | v-model="formInline.url" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 英文表名 --> |
| | | <el-form-item |
| | | v-show="formInline.type == 2 && formInline.serveType =='WMS'" |
| | | :label="$t('dataManage.layerObj.enTableName')" |
| | | > |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt6')" |
| | | style="width: 60%;" |
| | | v-model="formInline.enName" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 数据类型 --> |
| | |
| | | clearable |
| | | style="width: 60%;" |
| | | v-model="formInline.dataType" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.selectDataType')" |
| | | :placeholder="$t('dataManage.layerObj.prompt8')" |
| | | > |
| | | <el-option |
| | | v-for="item in dataType" |
| | |
| | | <el-input |
| | | style="width: 60%;" |
| | | v-model="formInline.bak" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueRemarks')" |
| | | :placeholder="$t('dataManage.layerObj.prompt7')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-show="menuStatus.update"> |
| | |
| | | <el-input |
| | | style="width: 80%;" |
| | | v-model="insertData.cnName" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerName')" |
| | | :placeholder="$t('dataManage.layerObj.prompt1')" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 菜单类型 --> |
| | |
| | | clearable |
| | | style="width: 80%;" |
| | | v-model="insertData.type" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuelayerType')" |
| | | :placeholder="$t('dataManage.layerObj.prompt2')" |
| | | > |
| | | <el-option |
| | | label="目录" |
| | |
| | | clearable |
| | | style="width: 80%;" |
| | | v-model="insertData.serveType" |
| | | placeholder=" " |
| | | :placeholder="$t('dataManage.layerObj.prompt3')" |
| | | > |
| | | <el-option |
| | | v-for="item in serveType" |
| | |
| | | :label="$t('dataManage.layerObj.serviceAddress')" |
| | | > |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt4')" |
| | | style="width: 80%;" |
| | | v-model="insertData.url" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 英文表名 --> |
| | | <el-form-item |
| | | v-show="insertData.type == 2 && insertData.serveType =='WMS'" |
| | | :label="$t('dataManage.layerObj.enTableName')" |
| | | > |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt6')" |
| | | style="width: 80%;" |
| | | v-model="insertData.enName" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 数据类型 --> |
| | |
| | | clearable |
| | | style="width: 80%;" |
| | | v-model="insertData.dataType" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.selectDataType')" |
| | | :placeholder="$t('dataManage.layerObj.prompt8')" |
| | | > |
| | | <el-option |
| | | v-for="item in dataType" |
| | |
| | | <!-- 描述 --> |
| | | <el-form-item :label="$t('common.bak')"> |
| | | <el-input |
| | | :placeholder="$t('dataManage.layerObj.prompt7')" |
| | | style="width: 80%;" |
| | | v-model="insertData.bak" |
| | | :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueRemarks')" |
| | | |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-show="menuStatus.update"> |
| | |
| | | var val = JSON.parse(JSON.stringify(res)) |
| | | |
| | | var data = this.$refs.tree.getNode(val.id).data; |
| | | |
| | | this.backUpData = JSON.stringify(data) |
| | | this.currentData = JSON.stringify(data) |
| | | this.formInline = data; |
| | | this.formInline.type = data.type.toString(); |
| | | this.formInline.isShow = data.isShow.toString(); |
| | | this.formInline.isProject = data.isProject.toString(); |
| | | var result = JSON.parse(JSON.stringify(data)) |
| | | this.backUpData = JSON.stringify(result) |
| | | this.currentData = JSON.stringify(result) |
| | | this.formInline = result; |
| | | this.formInline.type = result.type.toString(); |
| | | this.formInline.isShow = result.isShow.toString(); |
| | | this.formInline.isProject = result.isProject.toString(); |
| | | }, |
| | | //图层列表点击事件 |
| | | handleNodeClick(data, node) { |
| | |
| | | v-model="insertLayer.number" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('dataManage.vmobj.labe14')"> |
| | | <el-form-item |
| | | :label="$t('dataManage.vmobj.labe14')" |
| | | v-show="formInline.type =='DOM'" |
| | | > |
| | | <el-select |
| | | style="width:100%" |
| | | v-model="insertLayer.noData" |
| | |
| | | value: 'DOM', |
| | | label: '影像数据(.tif, .img)' |
| | | }, { |
| | | value: 'DEM', |
| | | label: '高程数据(.tif)' |
| | | }, { |
| | | value: 'MPT', |
| | | label: '场景数据(.mpt)' |
| | | }, { |
| | |
| | | this.$message("请选择要发布的数据") |
| | | return |
| | | } |
| | | if (this.formInline.type == "DOM") { |
| | | if (this.formInline.type == "DOM" || this.formInline.type == "DEM") { |
| | | this.insertLayer.name = this.formInline.dirName; |
| | | this.insertLayer.number = this.multipleSelection.length |
| | | this.insertLayer.noData = '0'; |
| | |
| | | |
| | | <el-form-item> |
| | | <el-link |
| | | @click="setMapAddDraw()" |
| | | @click="drawRegularPolygon()" |
| | | :underline="false" |
| | | ><i class="el-icon-edit-outline"></i>绘制</el-link> |
| | | </el-form-item> |
| | |
| | | :underline="false" |
| | | >矢量</el-link> |
| | | </el-form-item> |
| | | <el-form-item label="旋转角度"> |
| | | <!-- <el-form-item label="旋转角度"> |
| | | <el-input |
| | | v-model="formInline.role" |
| | | placeholder="请输入内容" |
| | | @change="setMapRole" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </div> |
| | | <div |
| | |
| | | > |
| | | <el-form-item label="出图名称"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="旋转角度"> |
| | | <el-input |
| | | v-model="formInline.role" |
| | | placeholder="请输入旋转角度(0-360)" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div style="padding: 1%; "> |
| | |
| | | import TileLayer from "ol/layer/Tile" |
| | | import { transform } from "ol/proj" |
| | | import Draw, { createRegularPolygon, createBox } from "ol/interaction/Draw.js" |
| | | |
| | | |
| | | import { OSM, Vector as VectorSource } from "ol/source" |
| | | import { Vector as VectorLayer } from "ol/layer" |
| | | import LayerVector from "ol/layer/Vector" |
| | |
| | | resolution: "20米", |
| | | date: this.getYMD(), |
| | | layers: res.toString(), |
| | | rotation: 0, |
| | | rotation: this.form.role, |
| | | xmin: this.layerExtent.xmin, |
| | | ymin: this.layerExtent.ymin, |
| | | xmax: this.layerExtent.xmax, |
| | |
| | | } |
| | | this.layerExtent = null |
| | | }, |
| | | stopDraw() { |
| | | // if (this.draw !== null) { |
| | | // this.map.removeInteraction(this.draw) |
| | | // } |
| | | if (this.draw != null) { |
| | | mapView.removeLayer(this.vector) |
| | | } |
| | | this.layerExtent = null |
| | | }, |
| | | drawRegularPolygon() { |
| | | this.stopDraw(); |
| | | |
| | | |
| | | this.source = new VectorSource({ wrapX: false }) |
| | | |
| | | this.vector = new VectorLayer({ |
| | | source: this.source, |
| | | }) |
| | | mapView.addLayer(this.vector) |
| | | |
| | | let type = 'Circle' |
| | | let geometryFunction2 = createRegularPolygon(4) |
| | | this.draw = new Draw({ |
| | | source: this.source, |
| | | type: type, |
| | | geometryFunction: geometryFunction2 |
| | | }) |
| | | mapView.addInteraction(this.draw) |
| | | this.draw.on("drawend", e => { |
| | | let feature = e.feature |
| | | let geom = feature.getGeometry() |
| | | var extent = geom.getExtent() |
| | | var a1 = transform([extent[0], extent[1]], "EPSG:3857", "EPSG:4326") |
| | | var a2 = transform([extent[2], extent[3]], "EPSG:3857", "EPSG:4326") |
| | | |
| | | this.layerExtent = { |
| | | xmin: a1[0], |
| | | ymin: a1[1], |
| | | xmax: a2[0], |
| | | ymax: a2[1], |
| | | } |
| | | |
| | | mapView.removeInteraction(this.draw) |
| | | }) |
| | | |
| | | }, |
| | | //绘制图形 |
| | | setMapAddDraw() { |
| | | this.setMapRemoveDraw() |
| | | |