| | |
| | | </ul> |
| | | </div> |
| | | <div class="rightBox"> |
| | | |
| | | <div class="tableBox"> |
| | | <el-table |
| | | :data="tableData" |
| | |
| | | class="primary" |
| | | size="small" |
| | | @click="download('codeForm')" |
| | | >{{ $t('common.confirm') }}</el-button |
| | | >{{ $t("common.confirm") }}</el-button |
| | | > |
| | | <el-button type="info" size="small" @click="closeDown('codeForm')">{{ |
| | | $t('common.cancel') |
| | | $t("common.cancel") |
| | | }}</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | sign_getPublicKey, |
| | | dataLib_selectDownloadFile, |
| | | decr, |
| | | } from '../../api/api.js'; |
| | | import { getToken } from '@/utils/auth'; |
| | | import $ from 'jquery'; |
| | | } from "../../api/api.js"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import $ from "jquery"; |
| | | import { View } from "ol"; |
| | | export default { |
| | | data() { |
| | | var repasswordValidator = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请再次输入密码')); |
| | | if (value === "") { |
| | | callback(new Error("请再次输入密码")); |
| | | } else if (value !== this.codeForm.password) { |
| | | callback(new Error('两次输入密码不一致!')); |
| | | callback(new Error("两次输入密码不一致!")); |
| | | } else { |
| | | callback(); |
| | | } |
| | |
| | | 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(new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位")); |
| | | } else { |
| | | callback(); |
| | | } |
| | |
| | | return { |
| | | dialogVisible: false, |
| | | codeForm: { |
| | | password: '', |
| | | repassword: '', |
| | | password: "", |
| | | repassword: "", |
| | | }, |
| | | rules: { |
| | | password: [ |
| | | { required: true, message: '请输入密码', trigger: 'blur' }, |
| | | { validator: passwordValidator, trigger: 'blur' }, |
| | | { required: true, message: "请输入密码", trigger: "blur" }, |
| | | { validator: passwordValidator, trigger: "blur" }, |
| | | ], |
| | | repassword: [ |
| | | { required: true, message: '请输入确认密码', trigger: 'blur' }, |
| | | { validator: repasswordValidator, trigger: 'blur' }, |
| | | { required: true, message: "请输入确认密码", trigger: "blur" }, |
| | | { validator: repasswordValidator, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | listPage: { |
| | |
| | | domainsLayer: [], |
| | | optionx: [], |
| | | imagePoint: null, |
| | | Layerprimit: null, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | } |
| | | }, |
| | | download() { |
| | | if (this.codeForm.password == '') return; |
| | | if (this.codeForm.password == "") return; |
| | | var obj = { |
| | | pwd: encrypt.encrypt(this.codeForm.password), |
| | | entities: [], |
| | |
| | | } |
| | | var token = getToken(); |
| | | var that = this; |
| | | $.ajax(BASE_URL + '/dataLib/downloadDbReq?token=' + token, { |
| | | type: 'post', |
| | | $.ajax(BASE_URL + "/dataLib/downloadDbReq?token=" + token, { |
| | | type: "post", |
| | | data: JSON.stringify(obj), |
| | | async: true, |
| | | cache: false, |
| | |
| | | }; |
| | | const data = await dataLib_selectDownloadFile(downObj); |
| | | if (data.code != 200) { |
| | | this.$message.error('下载请求失败'); |
| | | this.$message.error("下载请求失败"); |
| | | return; |
| | | } |
| | | this.closeDown(); |
| | | var token = getToken(); |
| | | var url = |
| | | BASE_URL + |
| | | '/dataLib/downloadFile?token=' + |
| | | "/dataLib/downloadFile?token=" + |
| | | token + |
| | | '&guid=' + |
| | | "&guid=" + |
| | | rsid + |
| | | '&pwd=' + |
| | | "&pwd=" + |
| | | encodeURIComponent(rspwd); |
| | | $('#Iframe1').attr('src', url).click(); |
| | | $("#Iframe1").attr("src", url).click(); |
| | | }, |
| | | handleCloseDown() { |
| | | this.$confirm('确认关闭?') |
| | | this.$confirm("确认关闭?") |
| | | .then((_) => { |
| | | this.closeDown(); |
| | | }) |
| | |
| | | }, |
| | | closeDown() { |
| | | this.dialogVisible = false; |
| | | this.codeForm.password = ''; |
| | | this.codeForm.repassword = ''; |
| | | this.codeForm.password = ""; |
| | | this.codeForm.repassword = ""; |
| | | }, |
| | | startTableMssage() { |
| | | this.listdata.pageIndex = 1; |
| | |
| | | this.startTableMssage(); |
| | | this.listdata.wkt = this.$store.state.mapMenuShpFile; |
| | | this.querylayer = this.$store.state.mapSpaceQueryLayer; |
| | | this.option = this.$store.state.mapSpaceQueryLayer; |
| | | // = this.$store.state.mapSpaceQueryLayer; |
| | | var arr = this.$store.state.mapSpaceQueryLayer; |
| | | var obj = {}; |
| | | arr = arr.reduce(function (item, next) { |
| | | obj[next.label] ? "" : (obj[next.label] = true && item.push(next)); |
| | | return item; |
| | | }, []); |
| | | this.option = arr; |
| | | this.listdata.name = this.option[0].entity; |
| | | |
| | | this.getTableDateHidder(); |
| | |
| | | async getTableDateHidder() { |
| | | const data = await inquiry_selectFields({ name: this.listdata.name }); |
| | | if (data.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | const data1 = await inquiry_selectDomains({ name: this.listdata.name }); |
| | | if (data1.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | this.optionx = []; |
| | | this.attributeData = []; |
| | |
| | | }; |
| | | const data = await dataQuerySelectWktById(param); |
| | | if (data.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | |
| | | var val1 = decr(data.result); |
| | |
| | | }, |
| | | setMapLoaction(res) { |
| | | var coord = res.coordinates; |
| | | if (res.type == 'Point') { |
| | | this.imagePoint = sgworld.Creator.CreateLabel( |
| | | { X: coord[0], Y: coord[1], Altitude: 2000 }, |
| | | '', |
| | | SmartEarthRootUrl + 'Workers/image/mark.png', |
| | | { |
| | | disableDepthTestDistance: Infinity, |
| | | scale: 0.8, |
| | | if (this.Layerprimit != null) { |
| | | window.Viewer.scene.primitives.remove(this.Layerprimit); |
| | | this.Layerprimit = null; |
| | | } |
| | | if (res.type == "Point") { |
| | | Viewer.camera.flyTo({ |
| | | destination: Cesium.Cartesian3.fromDegrees(coord[0], coord[1], 2000), |
| | | orientation: { |
| | | heading: Cesium.Math.toRadians(0), // 水平偏角,默认正北 0 |
| | | pitch: Cesium.Math.toRadians(-90), // 俯视角,默认-90,垂直向下 |
| | | roll: 0, // 旋转角 |
| | | }, |
| | | }); |
| | | } else if (res.type == "MultiPolygon") { |
| | | var val = res.coordinates[0][0]; |
| | | var std = []; |
| | | |
| | | for (var i in val) { |
| | | std.push({ x: val[i][0], y: val[i][1], z: 1000 }); |
| | | } |
| | | this.$store.state.primitLayer = sgworld.Creator.createPolygon( |
| | | std, |
| | | { |
| | | fillColor: "#ffff00", |
| | | outlineColor: "#fff", |
| | | outlineWidth: 2, |
| | | }, |
| | | 1, |
| | | 0, |
| | | '巡检点' |
| | | "面" |
| | | ); |
| | | sgworld.Navigate.flyToObj(this.imagePoint.item); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item); |
| | | } else if (res.type == "MultiLineString") { |
| | | var line = res.coordinates[0]; |
| | | var std = []; |
| | | |
| | | for (var i in line) { |
| | | std.push({ x: line[i][0], y: line[i][1], z: 1000 }); |
| | | } |
| | | this.$store.state.primitLayer = sgworld.Creator.createPolyline( |
| | | std, |
| | | "#ffff00", |
| | | 1, |
| | | 0, |
| | | "线" |
| | | ); |
| | | sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item); |
| | | } |
| | | }, |
| | | setTableChange(res) { |
| | |
| | | |
| | | const data = await dataQuery_selectByPage(this.listdata); |
| | | if (data.code != 200) { |
| | | this.$message.error('列表调用失败'); |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | |
| | | var val_Data = data.result; |
| | |
| | | this.pageCount = data.count; |
| | | this.tableData = data.result; |
| | | this.$refs.dialogPayChannel.doLayout(); |
| | | this.showAllImage(data.result); |
| | | }, |
| | | async showAllImage(res) { |
| | | if (window.Viewer.scene.primitives.length != null) { |
| | | window.Viewer.scene.primitives.removeAll(); |
| | | } |
| | | if (this.$store.state.primitLayer != null) { |
| | | sgworld.Creator.DeleteObject(this.$store.state.primitLayer); |
| | | this.$store.state.primitLayer = null; |
| | | } |
| | | for (var i in res) { |
| | | var param = { |
| | | gid: res[i].gid, |
| | | name: this.listdata.name, |
| | | }; |
| | | const data = await dataQuerySelectWktById(param); |
| | | if (data.code != 200) { |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | var val1 = decr(data.result); |
| | | if (val1) { |
| | | var wkt = this.$wkt.parse(val1); |
| | | this.getprimitiLayer(wkt); |
| | | this.primitivesAddLayer(wkt); |
| | | } |
| | | } |
| | | }, |
| | | getprimitiLayer(res) { |
| | | switch (res.type) { |
| | | case "Point": |
| | | this.$store.state.primitLayer = window.Viewer.scene.primitives.add( |
| | | new Cesium.BillboardCollection() |
| | | ); |
| | | break; |
| | | } |
| | | }, |
| | | primitivesAddLayer(res) { |
| | | switch (res.type) { |
| | | case "Point": |
| | | var val = Cesium.Cartesian3.fromDegrees( |
| | | res.coordinates[0], |
| | | res.coordinates[1], |
| | | 1000 |
| | | ); |
| | | this.$store.state.primitLayer.add({ |
| | | position: val, |
| | | image: SmartEarthRootUrl + "Workers/image/mark.png", |
| | | }); |
| | | break; |
| | | case "MultiLineString": |
| | | var line = res.coordinates[0]; |
| | | var std = []; |
| | | for (var i in line) { |
| | | std.push(line[i][0], line[i][1]); |
| | | } |
| | | var instance = new Cesium.GeometryInstance({ |
| | | geometry: new Cesium.GroundPolylineGeometry({ |
| | | positions: Cesium.Cartesian3.fromDegreesArray(std), |
| | | width: 4.0, |
| | | }), |
| | | attributes: { |
| | | color: Cesium.ColorGeometryInstanceAttribute.fromColor( |
| | | new Cesium.Color(1.0, 0.0, 0.0, 0.3) |
| | | ), |
| | | }, |
| | | }); |
| | | window.Viewer.scene.primitives.add( |
| | | new Cesium.GroundPolylinePrimitive({ |
| | | geometryInstances: instance, |
| | | appearance: new Cesium.PolylineColorAppearance(), |
| | | }) |
| | | ); |
| | | break; |
| | | case "MultiPolygon": |
| | | var val = res.coordinates[0][0]; |
| | | var std = []; |
| | | for (var i in val) { |
| | | std.push(val[i][0], val[i][1]); |
| | | } |
| | | var primitive = new Cesium.GroundPrimitive({ |
| | | //贴地的primitive |
| | | geometryInstances: new Cesium.GeometryInstance({ |
| | | geometry: new Cesium.PolygonGeometry({ |
| | | //支持CircleGeometry,CorridorGeometry,EllipseGeometry,RectangleGeometry |
| | | polygonHierarchy: new Cesium.PolygonHierarchy( |
| | | Cesium.Cartesian3.fromDegreesArray(std) |
| | | ), |
| | | }), |
| | | attributes: { |
| | | color: Cesium.ColorGeometryInstanceAttribute.fromColor( |
| | | new Cesium.Color(1.0, 0.0, 0.0, 0.3) |
| | | ), |
| | | }, |
| | | }), |
| | | appearance: Cesium.EllipsoidSurfaceAppearance(), |
| | | }); |
| | | window.Viewer.scene.primitives.add(primitive); |
| | | break; |
| | | } |
| | | }, |
| | | |
| | | closeMenuBox() { |
| | | if (this.imagePoint != null) { |
| | | sgworld.Creator.DeleteObject(this.imagePoint); |
| | |
| | | this.setTableAll(); |
| | | }, |
| | | mounted() { |
| | | this.$bus.$on('changeMapMenuTop', (res) => { |
| | | if (res == 'true') { |
| | | this.$bus.$on("changeMapMenuTop", (res) => { |
| | | if (res == "true") { |
| | | this.setTableAll(); |
| | | } |
| | | }); |