| | |
| | | window.sceneConfig = { |
| | | // sdkè®¸å¯ |
| | | licenseServer: 'http://192.168.20.39/LFServer', |
| | | // licenseServer: 'http://192.168.20.55:9055', |
| | | // licenseServer: 'http://192.168.20.39:9055', |
| | | // æå¡å°å |
| | | baseURL: 'http://183.162.245.49:8888/', |
| | | |
| | |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <title> |
| | | </title> |
| | | |
| | | <link rel="stylesheet" href="./SmartEarthSDK/Workers/css/smartearth.css"> |
| | | <link rel="stylesheet" href="./SmartEarthSDK/Workers/layui/css/layui.css"> |
| | | |
| | | <script src="./SmartEarthSDK/Workers/polyfill.min.js"></script> |
| | | <script src="./SmartEarthSDK/Cesium/Cesium.js"></script> |
| | | <script src="./SmartEarthSDK/SmartEarth.min.js"></script> |
| | |
| | | <script src="./config/config.js"></script> |
| | | <script src="./config/rsa.min.js"></script> |
| | | <script src="./config/rollups.js"></script> |
| | | |
| | | <style> |
| | | .esriControlsBR { |
| | | display: none; |
| | | } |
| | | |
| | | .ol-overlaycontainer-stopevent { |
| | | display: none; |
| | | } |
| | |
| | | </head> |
| | | |
| | | <body> |
| | | |
| | | |
| | | <div id="app"></div> |
| | | </body> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from 'vue'; |
| | | // 使ç¨Vue.directive()å®ä¹ä¸ä¸ªå
¨å±æä»¤ |
| | | // 1.åæ°ä¸ï¼æä»¤çåç§°ï¼å®ä¹æ¶æä»¤åé¢ä¸éè¦åv- |
| | | // 2.åæ°äºï¼æ¯ä¸ä¸ªå¯¹è±¡ï¼è¯¥å¯¹è±¡ä¸æç¸å
³çæä½å½æ° |
| | | // 3.å¨è°ç¨çæ¶åå¿
é¡»åv- |
| | | const drag = Vue.directive('drag', { |
| | | // 1.æä»¤ç»å®å°å
ç´ ä¸åç«å»æ§è¡bind彿°ï¼åªæ§è¡ä¸æ¬¡ |
| | | // 2.æ¯ä¸ªå½æ°ä¸ç¬¬ä¸ä¸ªåæ°æ°¸è¿æ¯elï¼è¡¨ç¤ºç»å®æä»¤çå
ç´ ï¼elåæ°æ¯åçjs对象 |
| | | // 3.éè¿el.focus()æ¯æ æ³è·åç¦ç¹çï¼å ä¸ºåªææå
¥DOMåæçæ |
| | | bind: function (el) {}, |
| | | // inserted表示ä¸ä¸ªå
ç´ ï¼æå
¥å°DOMä¸ä¼æ§è¡inserted彿°ï¼åªè§¦å䏿¬¡ |
| | | inserted: function (el) { |
| | | el.onmousedown = function (e) { |
| | | var disx = e.pageX - el.offsetLeft; |
| | | var disy = e.pageY - el.offsetTop; |
| | | document.onmousemove = function (e) { |
| | | el.style.left = e.pageX - disx + 'px'; |
| | | el.style.top = e.pageY - disy + 'px'; |
| | | }; |
| | | document.onmouseup = function () { |
| | | document.onmousemove = document.onmouseup = null; |
| | | }; |
| | | }; |
| | | }, |
| | | // å½VNodeæ´æ°çæ¶å伿§è¡updatedï¼å¯ä»¥è§¦å夿¬¡ |
| | | updated: function (el) {}, |
| | | }); |
| | | export default drag; |
| | |
| | | export function queryMenuTree() { |
| | | return request.get('/perms/selectMenus'); |
| | | } |
| | | //请æ±ç¼è¾èåæ æ°æ® |
| | | export function queryMenuAll() { |
| | | return request.get('/menu/selectMenuAll'); |
| | | } |
| | | //èåé彿¥è¯¢æ°æ® |
| | | export function selectMenuRecursive(params) { |
| | | return request.get('/menu/selectMenuRecursive', { params: params }); |
| | |
| | | return request.get('/inquiry/selectWktById', { params: params }); |
| | | } |
| | | //æ°æ®ç®¡ç=>æ°æ®æ£ç´¢=>æ¥è¯¢åæ®µä¿¡æ¯ |
| | | export function inquiry_selectFields(params) { |
| | | return request.get('/inquiry/selectFields', { params: params }); |
| | | export function dataQuery_selectFields(params) { |
| | | return request.get('/dataQuery/selectFields', { params: params }); |
| | | } |
| | | //æ°æ®ç®¡ç=>æ°æ®æ£ç´¢=>æ¥è¯¢å¼åä¿¡æ¯ |
| | | export function inquiry_selectDomains(params) { |
| | | return request.get('/inquiry/selectDomains', { params: params }); |
| | | export function dataQuery_selectDomains(params) { |
| | | return request.get('/dataQuery/selectDomains', { params: params }); |
| | | } |
| | | //æ°æ®ç®¡ç=>æ°æ®æ£ç´¢ =>å页æ¥è¯¢ |
| | | export function dataQuery_selectByPage(params) { |
| | | return request.get('/dataQuery/selectByPage', { params: params }); |
| | | } |
| | | //æ°æ®ç®¡ç=>æ°æ®æ£ç´¢=>æ¥è¯¢ææè¡¨ |
| | | export function dataQuery_selectTabs(params) { |
| | | return request.get('/dataQuery/selectTabs', { params: params }); |
| | | } |
| | | |
| | | //综åå±ç¤º=>å表æ¥è¯¢=>æ¥è¯¢ææè¡¨ |
| | | export function inquiry_SelectTabs(params) { |
| | | return request.get('/inquiry/selectTabs', { params: params }); |
| | | } |
| | | //综åå±ç¤º=>å表æ¥è¯¢=>æ¥è¯¢åæ®µä¿¡æ¯ |
| | | export function inquiry_selectFields(params) { |
| | | return request.get('/inquiry/selectFields', { params: params }); |
| | | } |
| | | //综åå±ç¤º=>å表æ¥è¯¢=>æ¥è¯¢å¼åä¿¡æ¯ |
| | | export function inquiry_selectDomains(params) { |
| | | return request.get('/inquiry/selectDomains', { params: params }); |
| | | } |
| | | //综åå±ç¤º=>å表æ¥è¯¢=>å页æ¥è¯¢ |
| | | export function inquiry_selectByPage(params) { |
| | | return request.get('/inquiry/selectByPage', { params: params }); |
| | | } |
| | | //综åå±ç¤º=>å表æ¥è¯¢=>æ ¹æ®IDæ¥è¯¢WKT |
| | | export function inquiry_selectWktById(params) { |
| | | return request.get('/inquiry/selectWktById', { params: params }); |
| | | } |
| | | |
| | | //èµæé¦=>å页æ¥è¯¢ |
| | | export function dataLib_selectByPage(params) { |
| | | return request.get('/dataLib/selectByPage', { params: params }); |
| | | } |
| | | //èµæé¦=>æ¥è¯¢åæ®µä¿¡æ¯ |
| | | export function dataLib_selectFields(params) { |
| | | return request.get('/dataLib/selectFields', { params: params }); |
| | | } |
| | | //èµæé¦=>æ¥è¯¢éå¼ |
| | | export function dataLib_selectDomains(params) { |
| | | return request.get('/dataLib/selectDomains', { params: params }); |
| | | } |
| | | |
| | | //请æ±ç«åºç¹å
容 |
| | |
| | | // æ¥è¯¢å½åç¨æ·çæéææå®ä½éå |
| | | export function getPerms() { |
| | | return request.get('perms/selectPermsEntity'); |
| | | } |
| | | // æ¥è¯¢å¼åè¡¨ç»ææ |
| | | export function getDomainTabs() { |
| | | return request.get('domain/selectTabs'); |
| | | } |
| | | //å页æ¥è¯¢ |
| | | export function getSingleTab(params) { |
| | | return request.get('domain/selectByPageAndCount', { params: params }); |
| | | } |
| | | //æ´æ°å¼åæ°æ® |
| | | export function updateDomain(params) { |
| | | return request.post('domain/update', params); |
| | | } |
| | | export function deleteDomain(params) { |
| | | return request.get('domain/deletes', { params: params }); |
| | | } |
| | | //æå
¥å¼åæ°æ® |
| | | export function insertDomain(params) { |
| | | return request.post('domain/insert', params); |
| | | } |
| | |
| | | modifySuccessfully: 'modify successfully', |
| | | tipsUp: 'Are you sure to save the changes?', |
| | | }, |
| | | domainManage: { |
| | | index:'index', |
| | | bak: "bak", |
| | | bsm: "bsm", |
| | | codeDesc: "codeDesc", |
| | | domCode: "domCode", |
| | | domDesc: "domDesc", |
| | | domName: "domName", |
| | | level: "level", |
| | | orderid: "orderid", |
| | | }, |
| | | styleManage: 'Style Manage', |
| | | styleObj: { |
| | | index: 'Index', |
| | |
| | | flatterrain: 'Flat Terrain', |
| | | terrainexcavation: 'Terrain Excavation', |
| | | removepaint: 'Remove Paint', |
| | | openFile: 'open File', |
| | | saveFile: 'save File', |
| | | synthobj: { |
| | | m1: 'Horizontal distance', |
| | | m2: 'Spatial distance', |
| | |
| | | modifySuccessfully: 'ä¿®æ¹æå', |
| | | tipsUp: 'æ¯å¦ç¡®å®ä¿åä¿®æ¹å
容?', |
| | | }, |
| | | domainManage: { |
| | | index: 'åºå·', |
| | | bak: "夿³¨", |
| | | bsm: "æ è¯ç ", |
| | | codeDesc: "ç¼ç æè¿°", |
| | | domCode: "ç¼ç ", |
| | | domDesc: "å¼å表æè¿°", |
| | | domName: "å¼ååç§°", |
| | | level: "å±çº§", |
| | | orderid: "åºå·", |
| | | |
| | | }, |
| | | styleManage: 'æ ·å¼ç®¡ç', |
| | | styleObj: { |
| | | index: 'åºå·', |
| | |
| | | flatterrain: 'å°å½¢å¹³æ´', |
| | | terrainexcavation: 'å°å½¢å¼æ', |
| | | removepaint: 'æ¸
é¤ç»å¶', |
| | | openFile: 'æå¼', |
| | | saveFile: 'ä¿å', |
| | | synthobj: { |
| | | m1: 'æ°´å¹³è·ç¦»', |
| | | m2: '空é´è·ç¦»', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template></template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="exportBox"> |
| | | <map-layer-info ref="mapLayerInfo" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapLayerInfo from '../../views/Tools/mapinfo.vue'; |
| | | export default { |
| | | components: { |
| | | mapLayerInfo, |
| | | }, |
| | | data() { |
| | | return { |
| | | formInline: {}, |
| | | options: [ |
| | | { |
| | | value: '1:100ä¸å¾å¹
', |
| | | label: '1:100ä¸å¾å¹
', |
| | | }, |
| | | { |
| | | value: '1:500ä¸å¾å¹
', |
| | | label: '1:500ä¸å¾å¹
', |
| | | }, |
| | | { |
| | | value: '1:1000ä¸å¾å¹
', |
| | | label: '1:1000ä¸å¾å¹
', |
| | | }, |
| | | { |
| | | value: '1:1500ä¸å¾å¹
', |
| | | label: '1:1500ä¸å¾å¹
', |
| | | }, |
| | | ], |
| | | value: '1:100ä¸å¾å¹
', |
| | | }; |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | showExport(res) { |
| | | var value = { name: 'exportLayer', id: res }; |
| | | this.$bus.$emit('mapChangeBox', value); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .exportBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | margin: 0; |
| | | padding: 0; |
| | | padding: 1%; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="exportLayerBox"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return {}; |
| | | }, |
| | | methods: { |
| | | changeRowType() { |
| | | this.rowtype = !this.rowtype; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .exportLayerBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | border: 1px solid gray; |
| | | overflow: hidden; |
| | | margin: 0; |
| | | } |
| | | </style> |
| | |
| | | <div class="rightBox"> |
| | | <div class="rightTitle"> |
| | | <span>管é</span> |
| | | <el-link :underline="false" class="boxClose" |
| | | <el-link :underline="false" @click="closeMenPop" class="boxClose" |
| | | ><i class="el-icon-close"></i> |
| | | </el-link> |
| | | <el-link :underline="false" class="boxClose" |
| | | ><i class="el-icon-download"></i> |
| | | </el-link> |
| | | </div> |
| | | <el-table :data="tableData" height="220"> |
| | | <el-table |
| | | :data="tableData" |
| | | @selection-change="handleSelectionChange" |
| | | height="240" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column align="center" type="index" label="åºå·" width="50" /> |
| | | <el-table-column label="å®ä½" width="100" align="center"> |
| | | <template slot-scope="scope"> |
| | |
| | | ></el-table-column> |
| | | </el-table> |
| | | <div class="rightPage"> |
| | | <!-- <el-pagination |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listPage.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listPage.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="listPage.pageCount" |
| | | :total="count" |
| | | > |
| | | </el-pagination> --> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | listPage: { |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | pageCount: 0, |
| | | }, |
| | | count: 0, |
| | | attributeData: [], |
| | | option: [], |
| | | tableData: [], |
| | |
| | | domainsLayer: [], |
| | | optionx: [], |
| | | imagePoint: null, |
| | | multipleSelection: [], |
| | | }; |
| | | }, |
| | | methods: { |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.listdata.pageSize = val; |
| | | this.listdata.pageIndex = 1; |
| | | this.getTableData(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listdata.pageIndex = val; |
| | | this.getTableData(); |
| | | }, |
| | | closeMenPop() { |
| | | sgworld.Creator.SimpleGraphic.clear(); |
| | | this.$store.state.mapPopBoolean = false; |
| | | this.$store.state.mapPopBoxFlag = null; |
| | | }, |
| | | startTableMssage() { |
| | | this.listdata.pageIndex = 1; |
| | | this.listdata.pageSize = 10; |
| | | this.listdata.name = null; |
| | | this.option = []; |
| | | this.multipleSelection = []; |
| | | }, |
| | | setTableAll() { |
| | | this.startTableMssage(); |
| | |
| | | this.querylayer = this.$store.state.mapSpaceQueryLayer; |
| | | this.option = this.$store.state.mapSpaceQueryLayer; |
| | | this.listdata.name = this.option[0].entity; |
| | | |
| | | this.getTableDateHidder(); |
| | | }, |
| | | async getTableDateHidder() { |
| | |
| | | } |
| | | }, |
| | | setTableChange(res) { |
| | | this.multipleSelection = []; |
| | | this.listdata.pageIndex = 1; |
| | | this.listdata.pageSize = 10; |
| | | this.listdata.name = res.entity; |
| | |
| | | }, |
| | | async getTableData() { |
| | | this.tableData = []; |
| | | |
| | | const data = await dataQuerySelectByPage(this.listdata); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | | debugger; |
| | | var val_Data = data.result; |
| | | this.count = data.count; |
| | | for (var i in val_Data) { |
| | | var valste = val_Data[i]; |
| | | for (var j in this.optionx) { |
| | |
| | | }, |
| | | //è·åéæ©æ çèç¹ |
| | | getCheckedNodes() { |
| | | this.treeChange = []; |
| | | var valTree = this.$refs.tree.getCheckedNodes(); |
| | | if (valTree.length == 0) return; |
| | | |
| | |
| | | |
| | | <script> |
| | | import { |
| | | dataQuerySelectByPage, |
| | | dataQuerySelectWktById, |
| | | inquiry_selectByPage, |
| | | inquiry_selectWktById, |
| | | inquiry_selectFields, |
| | | inquiry_selectDomains, |
| | | decr, |
| | |
| | | ' ' + |
| | | this.formInline.input; |
| | | } |
| | | const data = await dataQuerySelectByPage(this.listdata); |
| | | const data = await inquiry_selectByPage(this.listdata); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | |
| | | gid: row.gid, |
| | | name: this.spaceLayer, |
| | | }; |
| | | const data = await dataQuerySelectWktById(param); |
| | | const data = await inquiry_selectWktById(param); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | |
| | | |
| | | <script> |
| | | // import { login } from '../utils/api' |
| | | import validCode from "./verificationCode.vue"; |
| | | import { mapActions } from "vuex"; |
| | | import validCode from './verificationCode.vue'; |
| | | import { mapActions } from 'vuex'; |
| | | |
| | | export default { |
| | | components: { validCode }, |
| | | data() { |
| | | let validUserName = (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error("ç¨æ·åä¸è½ä¸ºç©º")); |
| | | return callback(new Error('ç¨æ·åä¸è½ä¸ºç©º')); |
| | | } else { |
| | | callback(); |
| | | } |
| | |
| | | |
| | | let validPassword = (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error("å¯ç ä¸è½ä¸ºç©º")); |
| | | return callback(new Error('å¯ç ä¸è½ä¸ºç©º')); |
| | | } else { |
| | | callback(); |
| | | } |
| | |
| | | |
| | | const checkValidCode = (rule, value, callback) => { |
| | | if (!value) { |
| | | callback(new Error("请è¾å
¥éªè¯ç ")); |
| | | callback(new Error('请è¾å
¥éªè¯ç ')); |
| | | } else if (value.toUpperCase() !== this.validCode.toUpperCase()) { |
| | | callback(new Error("éªè¯ç 䏿£ç¡®")); |
| | | callback(new Error('éªè¯ç 䏿£ç¡®')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | |
| | | return { |
| | | validCode: "", |
| | | validCode: '', |
| | | loading: false, |
| | | loginForm: { |
| | | uid: "admin", |
| | | pwd: "Admin@123", |
| | | uid: 'admin', |
| | | pwd: 'Admin@123', |
| | | }, |
| | | rules: { |
| | | uid: [{ validator: validUserName, trigger: "blur" }], |
| | | pwd: [{ validator: validPassword, trigger: "blur" }], |
| | | validCode: [{ validator: checkValidCode, trigger: "blur" }], |
| | | uid: [{ validator: validUserName, trigger: 'blur' }], |
| | | pwd: [{ validator: validPassword, trigger: 'blur' }], |
| | | validCode: [{ validator: checkValidCode, trigger: 'blur' }], |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | }, |
| | | methods: { |
| | | // è·åvuexä¸Actionséçæ¹æ³ |
| | | ...mapActions(["login", "getpublickey"]), |
| | | ...mapActions(['login', 'getpublickey']), |
| | | getCode(data) { |
| | | console.log(data); |
| | | this.validCode = data; //å¨dataä¸å®ä¹ä¸ä¸ª validCode:'',ç¨æ¥è®°å½éªè¯ç ã |
| | |
| | | if (valid) { |
| | | this.loading = true; |
| | | this.login(this.loginForm) |
| | | .then(response => { |
| | | this.$router.push("/") |
| | | .then((response) => { |
| | | this.$router.push('/'); |
| | | |
| | | this.loading = false; |
| | | //è°ç¨å½æ¥å£ |
| | | }) |
| | | .catch(response => { |
| | | .catch((response) => { |
| | | this.loading = false; |
| | | }); |
| | | //妿ç»å½å¤±è´¥ï¼éè¦å·æ°éªè¯ç ç |
| | | this.$refs.refresh.createdCode(); |
| | | this.validCode = ""; //æ¸
空éªè¯ç è¾å
¥æ¡çå
容 |
| | | this.validCode = ''; //æ¸
空éªè¯ç è¾å
¥æ¡çå
容 |
| | | } else { |
| | | console.log("error submit!!"); |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | |
| | | <template> |
| | | <div class="mapBox"> |
| | | <div id="mapdiv"> |
| | | <div class="menu_Top" v-if="$store.state.mapMenuBoolean"> |
| | | <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" /> |
| | |
| | | <div class="box-body"> |
| | | <el-form ref="form" :model="pathFrom" label-width="50px"> |
| | | <el-form-item label="ç»åº¦:"> |
| | | <el-input |
| | | style="width: 300px" |
| | | v-model="pathFrom.lon" |
| | | ></el-input> |
| | | <el-input style="width: 300px" v-model="pathFrom.lon"></el-input> |
| | | <el-link |
| | | :underline="false" |
| | | @click="showMouseLeftClick(1)" |
| | |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item label="纬度:"> |
| | | <el-input |
| | | style="width: 300px" |
| | | v-model="pathFrom.lat" |
| | | ></el-input> |
| | | <el-input style="width: 300px" v-model="pathFrom.lat"></el-input> |
| | | <el-link |
| | | :underline="false" |
| | | @click="showMouseLeftClick(2)" |
| | |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | import mapMenuPop from './MapView/mapMenuPop.vue'; |
| | | import mapSpaceTop from './MapView/mapSpaceTop.vue'; |
| | | import mapSpacePop from './MapView/mapSpacePop.vue'; |
| | | |
| | | import { |
| | | select_Comprehensive_ByPageAndCount, |
| | | select_Comprehensive_SelectWktById, |
| | |
| | | }, |
| | | //æ¾ç¤ºå¼¹çª |
| | | showChangeBox(res) { |
| | | if (res.name == 'Query') { |
| | | switch (res.name) { |
| | | case 'Query': |
| | | if (res.id == '6') { |
| | | } else if (res.id == '7') { |
| | | } else { |
| | | this.showBufferBoxDialog = true; |
| | | } |
| | | } else if (res.name == 'Coord') { |
| | | break; |
| | | case 'Coord': |
| | | if (res.id == '1') { |
| | | this.showCoordLocalBoxDialog = true; |
| | | } else if (res.id == '2') { |
| | | this.showToponymicLocalBoxDialog = true; |
| | | this.getToponymicData(); |
| | | } |
| | | } else if (res.name == 'Analysis') { |
| | | break; |
| | | case 'Analysis': |
| | | if (res.id == '3') { |
| | | this.showPathAnalysisBoxDialog = true; |
| | | } |
| | | break; |
| | | case 'exportLayer': |
| | | if (res.id == 1) { |
| | | } else if (res.id == 2) { |
| | | this.changeMenulayer(); |
| | | } |
| | | break; |
| | | } |
| | | // if (res.name == 'Query') { |
| | | // } else if (res.name == 'Coord') { |
| | | // } else if (res.name == 'Analysis') { |
| | | // } |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.listData.pageSize = val; |
| | |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .mapBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | margin: 0; |
| | | padding: 0; |
| | | // .mapBox { |
| | | // width: 100%; |
| | | // height: 100%; |
| | | // overflow: hidden; |
| | | // margin: 0; |
| | | // padding: 0; |
| | | |
| | | #mapdiv { |
| | | width: 100%; |
| | |
| | | overflow: hidden; |
| | | margin: 0; |
| | | padding: 0; |
| | | position: absolute; |
| | | position: relative; |
| | | |
| | | .toponymicLocalBox { |
| | | width: 750px; |
| | |
| | | } |
| | | .pathAnalysisBox { |
| | | width: 412px; |
| | | |
| | | z-index: 40; |
| | | position: absolute; |
| | | right: 1%; |
| | | bottom: 1%; |
| | | } |
| | | .exportBoxLayer { |
| | | z-index: 40; |
| | | position: absolute; |
| | | top: 3%; |
| | | left: 20%; |
| | | } |
| | | .exportMenuLayer { |
| | | z-index: 40; |
| | | position: absolute; |
| | | top: 15%; |
| | | left: 2%; |
| | | width: 15%; |
| | | } |
| | | .box-body { |
| | | padding: 18px; |
| | |
| | | z-index: 40; |
| | | } |
| | | } |
| | | } |
| | | // } |
| | | |
| | | // /deep/ |
| | | // /deep/ .el-input__inner { |
| | |
| | | // ::v-deep .el-pagination__jump { |
| | | // color: white; |
| | | // } |
| | | // .center { |
| | | // left: 1%; |
| | | // } |
| | | // .CenDiv { |
| | | // position: absolute; |
| | | // bottom: 1%; |
| | | // height: 40px; |
| | | // width: 60px; |
| | | // z-index: 101; |
| | | // display: flex; |
| | | // flex-direction: column; |
| | | // justify-content: space-between; |
| | | // box-shadow: 3px 3px 6px #666; |
| | | // border: 1px solid rgba(204, 204, 204, 0.76); |
| | | // border-radius: 5px; |
| | | // cursor: pointer; |
| | | // } |
| | | .center { |
| | | left: 1%; |
| | | } |
| | | .CenDiv { |
| | | position: absolute; |
| | | bottom: 1%; |
| | | height: 40px; |
| | | width: 60px; |
| | | z-index: 101; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | box-shadow: 3px 3px 6px #666; |
| | | border: 1px solid rgba(204, 204, 204, 0.76); |
| | | border-radius: 5px; |
| | | cursor: pointer; |
| | | } |
| | | // .center1 { |
| | | // right: 1%; |
| | | // } |
| | |
| | | // .CenDiv:hover { |
| | | // border: 1px solid #409eff; |
| | | // } |
| | | // .active { |
| | | // width: 100%; |
| | | // height: 100%; |
| | | // background: url('../assets/img/Layer/imgLayer2.png') no-repeat center; |
| | | // position: absolute; |
| | | // background-size: 100% 100%; |
| | | // border-radius: 5px; |
| | | // } |
| | | // .menuLayer { |
| | | // width: 100%; |
| | | // height: 100%; |
| | | // background: url('../assets/img/Layer/imgLayer1.png') no-repeat center; |
| | | // position: absolute; |
| | | // background-size: 100% 100%; |
| | | // border-radius: 5px; |
| | | // } |
| | | .active { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('../assets/img/Layer/imgLayer2.png') no-repeat center; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | border-radius: 5px; |
| | | } |
| | | .menuLayer { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('../assets/img/Layer/imgLayer1.png') no-repeat center; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | border-radius: 5px; |
| | | } |
| | | |
| | | // .menuSelect .el-input__inner { |
| | | // background: rgba(255, 255, 255, 0.2) !important; |
| | |
| | | <template> |
| | | <div class="topMenu"> |
| | | <div class="leftMenu"> |
| | | <div class="leftTopWrapper"> |
| | | <div class="logo"> |
| | | <img src="../assets/img/www.terra-it.cn.png" alt="" /> |
| | | </div> |
| | | <div class="rightWrapper"> |
| | | <div class="menu"> |
| | | <ul> |
| | | <li v-for="item in menuList" :key="item.id"> |
| | | {{ item.cnName }} |
| | | </li> |
| | | </ul> |
| | | <el-menu |
| | | active-text-color="#ffd04b" |
| | | class="el-menu-vertical-demo" |
| | | :default-active="activeIndex" |
| | | background-color="#586884" |
| | | text-color="#fff" |
| | | @select="handleselect" |
| | | > |
| | | <customElMenu :menuData="menuList"></customElMenu> |
| | | </el-menu> |
| | | </div> |
| | | </div> |
| | | <div class="leftBotWrapper"> |
| | | <div class="userInfo"> |
| | | <img src="../assets/img/user.png" alt="" /> |
| | | <span>admin</span> |
| | |
| | | |
| | | <span @click="switchLang"> 忢è¯è¨</span> |
| | | </div> |
| | | <div class="btnBox"> |
| | | <div><img src="../assets/img/leftBtn.png" alt="" /></div> |
| | | <div><img src="../assets/img/rightBtn.png" alt="" /></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { logout } from "@/api/api"; |
| | | import { removeToken, getToken } from "@/utils/auth"; |
| | | import customElMenu from "../components/customElMenu.vue"; |
| | | import { queryMenuTree, getPerms } from "../api/api"; |
| | | import { logout } from '@/api/api'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import customElMenu from '../components/customElMenu.vue'; |
| | | import { queryMenuTree, getPerms } from '../api/api'; |
| | | |
| | | export default { |
| | | name: "navMenu", |
| | | name: 'navMenu', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { |
| | | customElMenu, |
| | |
| | | oriData: [], //åå§æ æ°æ® |
| | | dirData: [], //elæ æ°æ® |
| | | newData: [], //æå¨åæ°æ® |
| | | lang: "zh", |
| | | activeIndex: "/", |
| | | lang: 'zh', |
| | | activeIndex: '/', |
| | | menuList: [], |
| | | editTitle: "", |
| | | editTitle: '', |
| | | showPopover: false, |
| | | showEditInfoWrapper: false, |
| | | showEdit: false, |
| | |
| | | editCatalogue: false, |
| | | editUnit: false, |
| | | itemdetail: {}, |
| | | formLabelWidth: "70px", |
| | | formLabelWidth: '70px', |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | if (res.code == 200) { |
| | | if (res.result.length != 0) { |
| | | let menuLists = res.result.filter((value) => { |
| | | return value.pid == 1; |
| | | return value.type == 1; |
| | | }); |
| | | // console.log(menuLists); |
| | | this.menuList = menuLists; |
| | | this.menuList = this.treeData(menuLists); |
| | | } else { |
| | | alert("ææ èåæ æ°æ®"); |
| | | alert('ææ èåæ æ°æ®'); |
| | | } |
| | | } else { |
| | | console.log("æ¥å£æ¥é"); |
| | | console.log('æ¥å£æ¥é'); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | return cloneData.filter((father) => { |
| | | // å¾ªç¯ææé¡¹ |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | 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ï¼ |
| | | // ç±æ¤å¾ªç¯å¤æ¬¡åï¼å°±è½å½¢æç¸åºçæ å½¢æ°æ®ç»æ |
| | | return father.pid == 1; // è¿åä¸çº§èå |
| | | }); |
| | | } else { |
| | | alert("ææ èåæ æ°æ®"); |
| | | alert('ææ èåæ æ°æ®'); |
| | | } |
| | | }, |
| | | logOut() { |
| | | this.$confirm("确认æ¯å¦éåºç»å½?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | this.$confirm('确认æ¯å¦éåºç»å½?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | const data = await logout({ token: getToken() }); |
| | | // console.log(data); |
| | | console.log(data); |
| | | if (data.code != 200) { |
| | | return this.$message.error("éåºç»å½å¤±è´¥"); |
| | | return this.$message.error('éåºç»å½å¤±è´¥'); |
| | | } |
| | | removeToken(); |
| | | this.$router.push("/login"); |
| | | this.$router.push('/login'); |
| | | this.$message({ |
| | | message: "éåºç»å½æå", |
| | | type: "success", |
| | | message: 'éåºç»å½æå', |
| | | type: 'success', |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已忶", |
| | | type: 'info', |
| | | message: '已忶', |
| | | }); |
| | | }); |
| | | }, |
| | | switchLang() { |
| | | //å½åen |
| | | if (this.lang == "en") { |
| | | if (this.lang == 'en') { |
| | | //è¯è¨æ¢æzh |
| | | this.lang = "zh"; |
| | | this.lang = 'zh'; |
| | | //èåæ¢ä¸ºzh |
| | | this.$store.commit("changeLang", "zh"); |
| | | this.$store.commit('changeLang', 'zh'); |
| | | //i18æ¢æzh |
| | | this.$i18n.locale = this.lang; |
| | | } |
| | | //å½åzh |
| | | else { |
| | | this.lang = "en"; |
| | | this.lang = 'en'; |
| | | this.$i18n.locale = this.lang; |
| | | this.$store.commit("changeLang", "en"); //ä¼ éç¹å»çèç¹ |
| | | this.$store.commit('changeLang', 'en'); //ä¼ éç¹å»çèç¹ |
| | | } |
| | | }, |
| | | handleselect(index, indexPath, e) { |
| | | // console.log(e.$attrs.perms); |
| | | this.$store.commit("currentPerms", e.$attrs.perms.perms); |
| | | console.log(e.$attrs.perms); |
| | | this.$store.commit('currentPerms', e.$attrs.perms.perms); |
| | | if (Window.ws != null) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | console.log("æå¡å¨å
³é"); |
| | | console.log('æå¡å¨å
³é'); |
| | | }; |
| | | Window.ws = null; |
| | | } |
| | | |
| | | if (index.indexOf("http") != -1) { |
| | | this.$router.push("/databaseMonitoring"); |
| | | this.$store.commit("getIframe", index); |
| | | if (index.indexOf('http') != -1) { |
| | | this.$router.push('/databaseMonitoring'); |
| | | this.$store.commit('getIframe', index); |
| | | } else if (isNaN(Number(index))) { |
| | | this.$router.push(index); |
| | | } |
| | | }, |
| | | getUserPerms() { |
| | | getPerms().then((res) => { |
| | | if (res.code == 200) this.$store.commit("getPermsEntity", res.result); |
| | | if (res.code == 200) this.$store.commit('getPermsEntity', res.result); |
| | | }); |
| | | }, |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | let str = this.$route.path; |
| | | if (str[0] == "/") { |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | let str = this.$route.path; |
| | | if (str[0] == "/") { |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | } |
| | | }, |
| | |
| | | </script> |
| | | <style lang="less" scoped> |
| | | //@import url(); å¼å
¥å
Œ
±cssç±» |
| | | .topMenu { |
| | | .leftMenu { |
| | | // width: 300px; |
| | | height: 99%; |
| | | // background-color: #bfa; |
| | | } |
| | | .leftTopWrapper { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: linear-gradient(rgb(34, 33, 33), rgb(27, 31, 78)); |
| | | .logo { |
| | | // background-color: rgb(139, 0, 0); |
| | | width: 249px; |
| | | height: 52px; |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | .menu { |
| | | height: 90%; |
| | | margin-top: 22px; |
| | | overflow: auto; |
| | | // background-color: rgb(120, 121, 120); |
| | | .el-menu { |
| | | height: 100%; |
| | | width: 280px; |
| | | border-right: none; |
| | | /deep/ .el-submenu { |
| | | margin-bottom: 10px; |
| | | .el-submenu__title { |
| | | background-color: transparent !important; |
| | | } |
| | | } |
| | | .faSub { |
| | | background-color: #586884; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .leftBotWrapper { |
| | | width: 258px; |
| | | position: absolute; |
| | | left: 19px; |
| | | bottom: 17px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .logo { |
| | | width: 500px; |
| | | height: 100%; |
| | | position: relative; |
| | | img { |
| | | width: 70%; |
| | | position: absolute; |
| | | top: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | margin: auto; |
| | | } |
| | | } |
| | | .rightWrapper { |
| | | width: 70%; |
| | | height: 100%; |
| | | display: flex; |
| | | .menu { |
| | | height: 100%; |
| | | width: 80%; |
| | | background-color: rgb(120, 121, 120); |
| | | ul { |
| | | display: flex; |
| | | justify-content: space-around; |
| | | li { |
| | | width: 120px; |
| | | height: 120px; |
| | | background: #bfa; |
| | | } |
| | | } |
| | | } |
| | | align-items: center; |
| | | .userInfo { |
| | | background-color: pink; |
| | | |
| | | // width: 138px; |
| | | font-size: 16px; |
| | | font-family: Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #fcfcfc; |
| | | // display: flex; |
| | | // justify-content: space-between; |
| | | // align-items: center; |
| | | // cursor: pointer; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | } |
| | | .btnBox { |
| | | width: 65px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | import 'element-ui/lib/theme-chalk/index.css'; |
| | | Vue.prototype.$echarts = echarts; |
| | | import * as echarts from 'echarts'; |
| | | import drag from './JS/drag'; |
| | | Vue.use(ElementUI, { locale }); |
| | | Vue.prototype.$http = axios; |
| | | Vue.prototype.$bus = new Vue(); |
| | |
| | | import Synthesis from '../views/Synthesis/index.vue'; //综åå±ç¤º |
| | | import Thematic from '../views/Thematic/index.vue'; //ä¸é¢å°å¾ |
| | | import Archive from '../views/Archive/index.vue'; //èµæé¦ |
| | | import ExportMap from '../views/exportMap/index.vue'; |
| | | import menuSettings from '@/views/maintenance/menuSettings.vue'; //èå设置 |
| | | import rests from '@/views/maintenance/rests.vue'; //å
¶ä» |
| | | import authorityManagement from '@/views/maintenance/authorityManagement.vue'; //æé管ç |
| | |
| | | import SpatialData from '../views/datamanage/SpatialData.vue'; //æ°æ®ç®¡ç-ç©ºé´æ°æ® |
| | | import versionManage from '../views/datamanage/versionManage.vue'; //æ°æ®ç®¡ç-çæ¬ç®¡ç |
| | | import dictionaryManage from '../views/datamanage/dictionaryManage.vue'; //æ°æ®ç®¡ç-åå
¸ç®¡ç |
| | | import domainManage from '../views/datamanage/domainManage.vue'; //æ°æ®ç®¡ç-å¼å管ç |
| | | import styleManage from '../views/datamanage/styleManage.vue'; //æ°æ®ç®¡ç-æ ·å¼ç®¡ç |
| | | import addStyle from '../views/datamanage/addStyle.vue'; //æ°æ®ç®¡ç-æ ·å¼ç®¡ç-æ·»å æ ·å¼ |
| | | |
| | |
| | | component: Synthesis, |
| | | meta: { |
| | | title: '综åå±ç¤º', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | { |
| | | path: '/ExportMap', |
| | | name: 'ExportMap', |
| | | component: ExportMap, |
| | | meta: { |
| | | title: 'å¨çº¿å¶å¾', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | |
| | | name: 'dictionaryManage', |
| | | meta: { |
| | | title: 'åå
¸ç®¡ç', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | | { |
| | | path: '/domainManage', |
| | | component: domainManage, |
| | | name: 'domainManage', |
| | | meta: { |
| | | title: 'å¼å管ç', |
| | | requireAuth: true, // æ è¯è¯¥è·¯ç±æ¯å¦éè¦ç»å½ |
| | | }, |
| | | }, |
| | |
| | | <div class="title_active">{{ $t('archive.name') }}</div> |
| | | <el-divider /> |
| | | <el-tree |
| | | ref="tree" |
| | | :data="tree" |
| | | :props="defaultProps" |
| | | show-checkbox |
| | |
| | | </div> |
| | | <div class="right_active"> |
| | | <el-card class="arch_card"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"></el-col> |
| | | <el-col :span="4" |
| | | ><div style="text-align: right; margin-top: 6px"> |
| | | {{ $t('archive.keyword') }}: |
| | | <div> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="formInline.name" |
| | | placeholder="请è¾å
¥" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain @click="getArchTableData">æ¥è¯¢</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain>éç½®</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain>ä¸è½½</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain @click="showDialogBox">ç©ºé´æ¥è¯¢</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-input :placeholder="$t('common.pleaseInput')" |
| | | /></el-col> |
| | | <el-col :span="4" |
| | | ><el-button type="primary">{{ $t('common.iquery') }}</el-button> |
| | | <el-button v-if="archStatus.download" type="primary">{{ |
| | | $t('common.download') |
| | | }}</el-button> |
| | | </el-col> |
| | | <el-col :span="6"> </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | <el-card shadow="never" class="middle_card"> |
| | | <el-table :data="tableData" style="width: 10000px" stripe> |
| | | <div class="centerBox"> |
| | | <el-collapse v-model="activeNames" @change="handleChange" accordion> |
| | | <el-collapse-item |
| | | v-for="(item, index) in companyList" |
| | | :key="index" |
| | | :name="item.entity" |
| | | :title="item.tabDesc" |
| | | > |
| | | <div class="centerTable"> |
| | | <el-table :data="tableData" height="550" border stripe> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column |
| | | prop="name" |
| | | :label="$t('archive.uname')" |
| | | width="180" |
| | | align="center" |
| | | type="index" |
| | | label="åºå·" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="type" |
| | | sortable |
| | | :label="$t('archive.type')" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="count" |
| | | sortable |
| | | :label="$t('archive.modifications')" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="timer" |
| | | sortable |
| | | :label="$t('archive.creationtime')" |
| | | /> |
| | | <el-table-column |
| | | prop="state" |
| | | :label="$t('archive.state')" |
| | | width="180" |
| | | /> |
| | | v-for="(item, index) in attributeData" |
| | | :key="index" |
| | | :label="item.alias" |
| | | :prop="item.field" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | ></el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | <el-divider /> |
| | | |
| | | <el-pagination |
| | | :currentPage="currentPage4" |
| | | :page-size="pageSize4" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :current-page="listdata.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listdata.pageSize" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | :total="count" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | title="ç©ºé´æ¥è¯¢" |
| | | :visible.sync="dialogVisible" |
| | | width="92%" |
| | | style="margin-left: 16%" |
| | | top="5vh" |
| | | :before-close="handleClose" |
| | | > |
| | | <div style="height: 720px; width: 100%"> |
| | | <mapsdk></mapsdk> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapsdk from '../../components/mapsdk.vue'; |
| | | import { |
| | | inquiry_SelectTabs, |
| | | dataLib_selectFields, |
| | | dataLib_selectByPage, |
| | | dataLib_selectDomains, |
| | | } from '../../api/api.js'; |
| | | export default { |
| | | components: { |
| | | mapsdk, |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | activeNames: null, |
| | | listdata: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | filter: null, |
| | | name: null, |
| | | wkt: null, |
| | | }, |
| | | companyList: [], |
| | | formInline: {}, |
| | | count: 0, |
| | | tree: [ |
| | | { |
| | | label: 'æç®', |
| | | children: [ |
| | | { |
| | | label: 'ç®¡éæ åæç®', |
| | | url: '', |
| | | tabDesc: 'åºç¡æ°æ®', |
| | | value: 'BD', |
| | | children: [], |
| | | }, |
| | | { |
| | | label: 'å·¥ä¸ç®¡éå·¥ç¨æ½å·¥åéªæ¶è§è', |
| | | url: '', |
| | | }, |
| | | { |
| | | label: '综å管线设计æ å', |
| | | url: '', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: 'å¾çº¸', //label对åºç¶çº§æ ç¾ |
| | | children: [ |
| | | { |
| | | label: 'XXX管线设计å¾çº¸', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: 'XXXXXX管线设计å¾', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: 'XXXXX管线设计å¾', |
| | | url: ' ', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: 'æ°æ®', //label对åºç¶çº§æ ç¾ |
| | | children: [ |
| | | { |
| | | label: '管é', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: 'éé¨', |
| | | url: ' ', |
| | | }, |
| | | { |
| | | label: 'æ¶è´¹è®¾å¤', |
| | | url: ' ', |
| | | }, |
| | | ], |
| | | tabDesc: 'ä¸å¡æ°æ®', |
| | | value: 'BS', |
| | | children: [], |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | chilren: 'children', //"children"å
çæ¯ä¸ªå¯¹è±¡è§£æä¸ºä¸ä¸ªå项; |
| | | label: 'label', //ææ"label"æå¨ç对象解æä¸ºä¸ä¸ªç¶é¡¹ |
| | | label: 'tabDesc', //ææ"label"æå¨ç对象解æä¸ºä¸ä¸ªç¶é¡¹ |
| | | }, |
| | | tableData: [ |
| | | { |
| | | timer: '2016-05-01', |
| | | name: 'Tom', |
| | | count: '3', |
| | | type: 'ä¸å¡å¾å±', |
| | | state: 'x', |
| | | }, |
| | | { |
| | | timer: '2016-05-02', |
| | | name: 'Tom', |
| | | count: '2', |
| | | type: 'ä¸å¡å¾å±', |
| | | state: 'x', |
| | | }, |
| | | { |
| | | timer: '2016-05-03', |
| | | name: 'Tom', |
| | | count: '1', |
| | | type: 'ä¸å¡å¾å±', |
| | | state: 'x', |
| | | }, |
| | | ], |
| | | attributeData: [], |
| | | tableData: [], |
| | | archStatus: { |
| | | download: false, |
| | | }, |
| | | archOption: [], |
| | | queryLayer: null, |
| | | }; |
| | | }, |
| | | |
| | | methods: { |
| | | handleClose() { |
| | | this.dialogVisible = false; |
| | | this.$store.state.mapMenuBoolean = false; |
| | | this.$store.state.mapMenuBoxFlag = null; |
| | | this.$store.state.mapPopBoolean = false; |
| | | this.$store.state.mapPopBoxFlag = null; |
| | | }, |
| | | showDialogBox() { |
| | | this.$store.state.mapMenuBoolean = true; |
| | | this.$store.state.mapMenuBoxFlag = '1'; |
| | | this.dialogVisible = true; |
| | | }, |
| | | //è·åè¡¨æ ¼æ°æ® |
| | | getArchTableData() { |
| | | this.companyList = []; |
| | | this.activeNames = null; |
| | | var valTree = this.$refs.tree.getCheckedNodes(); |
| | | if (valTree.length == 0) { |
| | | this.$message.error('è¯·éæ©è¦æ¥è¯¢çå¾å±èµæ!'); |
| | | return; |
| | | } |
| | | for (var i in valTree) { |
| | | this.listdata.name = valTree[i].entity; |
| | | var filedData = this.getCollapseDomFiled(); |
| | | this.archOption.push({ |
| | | name: valTree[i].entity, |
| | | fileds: filedData, |
| | | table: this.getCollapseTable(filedData), |
| | | }); |
| | | } |
| | | |
| | | this.companyList = valTree; |
| | | }, |
| | | //è·åæ¯ä¸ªè¡¨å段åç§°åéå¼ |
| | | async getCollapseDomFiled() { |
| | | //æ¥è¯¢å段信æ¯; |
| | | const fileds = await dataLib_selectFields({ |
| | | name: this.listdata.name, |
| | | }); |
| | | if (fileds.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | //æ¥è¯¢éå¼ä¿¡æ¯ï¼ |
| | | const domains = await dataLib_selectDomains({ |
| | | name: this.listdata.name, |
| | | }); |
| | | if (domains.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | var data1 = fileds.result; |
| | | var data2 = domains.result; |
| | | var std = []; |
| | | for (var i in data1) { |
| | | if (data1[i].showtype == 1) { |
| | | if (data1[i].domainNa != null) { |
| | | data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); |
| | | } |
| | | std.push(data1[i]); |
| | | } |
| | | } |
| | | return std; |
| | | }, |
| | | //å¼ååæ®µå¹é
|
| | | getDomainNaFild(res, result) { |
| | | for (var i in result) { |
| | | if (result[i].domName == res) { |
| | | return result[i].codeDesc; |
| | | } |
| | | } |
| | | return null; |
| | | }, |
| | | |
| | | //è·åæ¯ä¸ªè¡¨çtable |
| | | async getCollapseTable(res) { |
| | | var res_val; |
| | | res.then((val) => { |
| | | res_val = val; |
| | | }); |
| | | |
| | | if (this.formInline.name != null) { |
| | | this.listdata.filter = 'name like ' + this.formInline.name; |
| | | } |
| | | const fileds = await dataLib_selectByPage(this.listdata); |
| | | if (fileds.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | for (var i in fileds.result) { |
| | | let val_Data = fileds.result[i]; |
| | | |
| | | for (var j in res_val) { |
| | | if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { |
| | | val_Data[res_val[j].field] = res_val[j].domainNa; |
| | | } |
| | | } |
| | | } |
| | | return fileds; |
| | | }, |
| | | |
| | | //æå 颿¿åæ¢äºä»¶ |
| | | handleChange(val) { |
| | | if (val == '') return; |
| | | var that = this; |
| | | this.listdata.name = val; |
| | | this.listdata.pageSize = 10; |
| | | this.listdata.pageIndex = 1; |
| | | for (var i in this.archOption) { |
| | | if (this.archOption[i].name == val) { |
| | | this.queryLayer = this.archOption[i].fileds; |
| | | this.archOption[i].fileds.then((res) => { |
| | | that.attributeData = res; |
| | | }); |
| | | this.archOption[i].table.then((res) => { |
| | | this.count = res.count; |
| | | this.tableData = res.result; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | //å页ç¹å»äºä»¶ |
| | | handleSizeChange(val) { |
| | | this.listdata.pageSize = val; |
| | | this.listdata.pageIndex = 1; |
| | | var res = this.getCollapseTable(this.queryLayer); |
| | | res.then((res) => { |
| | | this.tableData = res.result; |
| | | }); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listdata.pageIndex = val; |
| | | var res = this.getCollapseTable(this.queryLayer); |
| | | res.then((res) => { |
| | | this.tableData = res.result; |
| | | }); |
| | | }, |
| | | //è·åæ |
| | | async getTreeData() { |
| | | const data = await inquiry_SelectTabs(); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | | var option = data.result; |
| | | |
| | | for (var i in option) { |
| | | var val_Data = option[i]; |
| | | val_Data.id = '1' + i; |
| | | if (option[i].ns == 'bd') { |
| | | this.tree[0].children.push(val_Data); |
| | | } else { |
| | | this.tree[1].children.push(val_Data); |
| | | } |
| | | } |
| | | }, |
| | | //æé管ç |
| | | showArchMenu(res) { |
| | | switch (res.tag) { |
| | | case '/download': |
| | |
| | | this.showArchMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | this.getTreeData(); |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | <style scped lang="less"> |
| | | .archive { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | .archive .left_active { |
| | | width: 21%; |
| | | height: 100%; |
| | |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .archive .centerBox { |
| | | max-height: 800px; |
| | | overflow: auto; |
| | | } |
| | | |
| | | .archive .centerBox::-webkit-scrollbar { |
| | | /*æ»å¨æ¡æ´ä½æ ·å¼*/ |
| | | width: 10px; /*é«å®½åå«å¯¹åºæ¨ªç«æ»å¨æ¡ç尺寸*/ |
| | | height: 1px; |
| | | } |
| | | .archive .centerBox::-webkit-scrollbar-thumb { |
| | | /*æ»å¨æ¡éé¢å°æ¹å*/ |
| | | border-radius: 10px; |
| | | -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
| | | background: #e5e5e5; |
| | | } |
| | | .archive .centerBox::-webkit-scrollbar-track { |
| | | /*æ»å¨æ¡éé¢è½¨é*/ |
| | | -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
| | | border-radius: 10px; |
| | | background: #ffffff; |
| | | } |
| | | |
| | | .archive .centerTable { |
| | | height: 600px; |
| | | } |
| | | .archive .arch_card .el-card__body { |
| | | padding: 10px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .archive .el-divider--horizontal { |
| | | margin: 10px 0 !important; |
| | | } |
| | |
| | | <template> |
| | | <div class="home"> |
| | | <el-container> |
| | | <el-header> |
| | | <el-container> |
| | | <el-aside> |
| | | <nav-menu></nav-menu> |
| | | </el-header> |
| | | </el-aside> |
| | | <el-main> |
| | | <!-- <synthesis class="showsynthesis" v-show="shwomMapview"></synthesis> --> |
| | | <router-view /> |
| | | </el-main> |
| | | </el-container> |
| | | </el-container> |
| | | <!-- <iframe src="http://localhost/LFWeb/test.html" width="100%" height="100%"></iframe> --> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | name: "Home", |
| | | components: { |
| | | navMenu, |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | shwomMapview: true, |
| | | }; |
| | | }, |
| | | methods: {}, |
| | | methods: { |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less"> |
| | | .home { |
| | | height: 100vh; |
| | | position: relative; |
| | | background-color: #3b4d6e; |
| | | .el-aside { |
| | | margin: 26px 0 0 27px; |
| | | width: 249px; |
| | | // background-color: #bfa; |
| | | } |
| | | .el-container { |
| | | height: 100%; |
| | | .el-header { |
| | | padding: 0; |
| | | height: 160px !important; |
| | | } |
| | | .el-main { |
| | | margin: 0px; |
| | | padding: 10px; |
| | | background-color: rgb(53, 53, 57); |
| | | } |
| | | background: rgb(61, 76, 112); |
| | | } |
| | | } |
| | | </style> |
| | |
| | | // class: "a2", |
| | | // }, |
| | | { |
| | | id: '3', |
| | | id: '2', |
| | | name: 'synthesis.release', |
| | | class: 'a3', |
| | | }, |
| | | { |
| | | id: '2', |
| | | id: '3', |
| | | name: 'synthesis.export', |
| | | class: 'a4', |
| | | }, |
| | |
| | | checkCourvage(res) { |
| | | switch (res.id) { |
| | | case '1': //å¾å±ç®¡ç |
| | | // æå¼å·¥ç¨æ å¼¹çª |
| | | |
| | | break; |
| | | case '2': //åºæ¯åå¸ |
| | | break; |
| | | case '3': //åºæ¯å¯¼åº! |
| | | this.$store.state.exportLayer != this.$store.state.exportLayer; |
| | | break; |
| | | } |
| | | }, |
| | |
| | | <measurement /> |
| | | </el-tab-pane> |
| | | <el-tab-pane v-if="menuStatus.menu8" :label="$t('synthesis.plotting')"> |
| | | <plotting @drawing="showBtn" /> |
| | | <plotting /> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <el-card class="box-card"> |
| | | <map-div></map-div> |
| | | </el-card> |
| | | <div class="plotBox"> |
| | | <el-collapse-transition> |
| | | <div class="transition-box" v-show="showBtnBox"> |
| | | <ul> |
| | | <li |
| | | @click="changePlot(item)" |
| | | v-for="item in itemsOne" |
| | | :key="item.id" |
| | | > |
| | | <div class="divli"> |
| | | <div :class="item.class" class="backimge8"></div> |
| | | </div> |
| | | <div class="div_li">{{ $t(item.name) }}</div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </el-collapse-transition> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import coverage from "./coverage.vue"; //å¾å± |
| | | import viewport from "./viewport.vue"; //è§å¾ |
| | | import wander from "./wander.vue"; //漫游 |
| | | import analyse from "./analyse.vue"; //åæ |
| | | import iqyery from "./inquire.vue"; //æ¥è¯¢ |
| | | import orientation from "./orientation.vue"; //å®ä½ |
| | | import measurement from "./measurement.vue"; //æµé |
| | | import plotting from "./plotting.vue"; //æ ç» |
| | | import MapDiv from "../../components/MapDiv"; |
| | | import { getPerms } from "../../api/api"; |
| | | import coverage from './coverage.vue'; //å¾å± |
| | | import viewport from './viewport.vue'; //è§å¾ |
| | | import wander from './wander.vue'; //漫游 |
| | | import analyse from './analyse.vue'; //åæ |
| | | import iqyery from './inquire.vue'; //æ¥è¯¢ |
| | | import orientation from './orientation.vue'; //å®ä½ |
| | | import measurement from './measurement.vue'; //æµé |
| | | import plotting from './plotting.vue'; //æ ç» |
| | | import MapDiv from '../../components/MapDiv'; |
| | | import { getPerms } from '../../api/api'; |
| | | export default { |
| | | components: { |
| | | coverage, |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | showBtnBox: false, |
| | | itemsOne: [ |
| | | { |
| | | id: "1", |
| | | name: "synthesis.point", |
| | | class: "h1", |
| | | }, |
| | | { |
| | | id: "2", |
| | | name: "synthesis.line", |
| | | class: "h2", |
| | | }, |
| | | // { |
| | | // id: "3", |
| | | // name: "synthesis.rectangle", |
| | | // class: "h3", |
| | | // }, |
| | | { |
| | | id: "4", |
| | | name: "synthesis.polygon", |
| | | class: "h4", |
| | | }, |
| | | // { |
| | | // id: "7", |
| | | // name: "synthesis.symboliclabel", |
| | | // class: "h7", |
| | | // }, |
| | | // { |
| | | // id: "5", |
| | | // name: "synthesis.flatterrain", |
| | | // class: "h5", |
| | | // }, |
| | | // { |
| | | // id: "6", |
| | | // name: "synthesis.terrainexcavation", |
| | | // class: "h6", |
| | | // }, |
| | | { |
| | | id: "8", |
| | | name: "synthesis.removepaint", |
| | | class: "h8", |
| | | }, |
| | | // { |
| | | // id: "9", |
| | | // name: "synthesis.openFile", |
| | | // class: "h6", |
| | | // }, |
| | | // { |
| | | // id: "10", |
| | | // name: "synthesis.saveFile", |
| | | // class: "h8", |
| | | // }, |
| | | ], |
| | | iframeSrc: null, |
| | | messageName: null, |
| | | permsId: null, |
| | |
| | | }; |
| | | }, |
| | | watch: {}, |
| | | created() {}, |
| | | methods: { |
| | | showBtn() { |
| | | this.showBtnBox = !this.showBtnBox; |
| | | }, |
| | | changePlot(res) { |
| | | sgworld.Creator.SimpleGraphic.edit(true, { editProp: true }); |
| | | switch (res.id) { |
| | | case "1": |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "point", |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "2": |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "polyline", |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "3": |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "rectangle", |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "4": |
| | | sgworld.Creator.createSimpleGraphic( |
| | | "polygon", |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case "6": |
| | | if (window.Excavation) { |
| | | window.Excavation.clear(); |
| | | window.Excavation = null; |
| | | } else { |
| | | this.$refs.terrainDig.open(); |
| | | } |
| | | break; |
| | | case "5": |
| | | if (window.TerrainFlattening) { |
| | | window.TerrainFlattening.remove(); |
| | | window.TerrainFlattening = null; |
| | | } else { |
| | | this.$refs.modelPress.open(); |
| | | } |
| | | break; |
| | | case "7": |
| | | sgworld.Creator.createModelLibrary(); |
| | | break; |
| | | case "8": |
| | | this.clearAll(); |
| | | break; |
| | | case "10": |
| | | |
| | | break; |
| | | } |
| | | }, |
| | | |
| | | clearAll() { |
| | | sgworld.Creator.SimpleGraphic.clear(); |
| | | if (window.Excavation) { |
| | | window.Excavation.clear(); |
| | | window.Excavation = null; |
| | | } |
| | | if (window.TerrainFlattening) { |
| | | window.TerrainFlattening.remove(); |
| | | window.TerrainFlattening = null; |
| | | } |
| | | }, |
| | | tepostmessage(res) { |
| | | const msg = { |
| | | message: "changeTool", |
| | | message: 'changeTool', |
| | | data: res, |
| | | }; |
| | | document |
| | | .getElementById("sunIframe") |
| | | .getElementById('sunIframe') |
| | | .contentWindow.postMessage(msg, this.iframeSrc); |
| | | }, |
| | | showMenuChange(res, result) { |
| | |
| | | }, |
| | | showMenuStatus(res) { |
| | | switch (res.cnName) { |
| | | case "å¾å±": |
| | | case 'å¾å±': |
| | | this.menuStatus.menu1 = true; |
| | | break; |
| | | case "è§å¾": |
| | | case 'è§å¾': |
| | | this.menuStatus.menu2 = true; |
| | | break; |
| | | case "漫游": |
| | | case '漫游': |
| | | this.menuStatus.menu3 = true; |
| | | break; |
| | | case "åæ": |
| | | case 'åæ': |
| | | this.menuStatus.menu4 = true; |
| | | break; |
| | | case "æ¥è¯¢": |
| | | case 'æ¥è¯¢': |
| | | this.menuStatus.menu5 = true; |
| | | break; |
| | | case "å®ä½": |
| | | case 'å®ä½': |
| | | this.menuStatus.menu6 = true; |
| | | break; |
| | | case "æµé": |
| | | case 'æµé': |
| | | this.menuStatus.menu7 = true; |
| | | break; |
| | | case "æ ç»": |
| | | case 'æ ç»': |
| | | this.menuStatus.menu8 = true; |
| | | break; |
| | | } |
| | |
| | | if (this.$store.state.currentPerms) { |
| | | val = this.$store.state.currentPerms; |
| | | } else { |
| | | val = "/comprehensive"; |
| | | val = '/comprehensive'; |
| | | } |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | |
| | |
| | | }, |
| | | mounted() { |
| | | //this.messageName = this.$store.state.teNmme; |
| | | this.$bus.$on("changetool", (e) => { |
| | | this.$bus.$on('changetool', (e) => { |
| | | this.tepostmessage(e); |
| | | }); |
| | | }, |
| | |
| | | </script> |
| | | |
| | | <style > |
| | | .synthesis .el-card { |
| | | .el-card { |
| | | border: transparent !important; |
| | | } |
| | | .synthesis { |
| | |
| | | } |
| | | .synthesis .box-card { |
| | | height: 88%; |
| | | position: relative; |
| | | |
| | | border-radius: 0px; |
| | | } |
| | | .synthesis .el-card .el-card__body { |
| | | padding: 0px; |
| | | } |
| | | .synthesis .cardbox { |
| | | .cardbox { |
| | | width: 98%; |
| | | height: 86%; |
| | | position: absolute; |
| | |
| | | .synthesis .el-tabs--border-card { |
| | | border: transparent; |
| | | background: transparent; |
| | | } |
| | | .synthesis .divli { |
| | | width: 100%; |
| | | height: 50%; |
| | | position: relative; |
| | | } |
| | | .synthesis li { |
| | | list-style: none; |
| | | float: left; |
| | | height: 60px; |
| | | text-align: center; |
| | | margin: 2px; |
| | | position: relative; |
| | | cursor: pointer; |
| | | margin-top: 5px; |
| | | } |
| | | .synthesis .backimge8 { |
| | | width: 30px; |
| | | height: 30px; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | margin: 0% 30%; |
| | | } |
| | | .synthesis .plotBox { |
| | | width: 160px; |
| | | /* height:; */ |
| | | position: absolute; |
| | | top: 115px; |
| | | left: 5px; |
| | | background-color: #596882; |
| | | } |
| | | .synthesis .plotBox .transition-box ul { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | width: 100%; |
| | | border-radius: 4px; |
| | | text-align: center; |
| | | color: #fff; |
| | | /* background-color: #bfa; */ |
| | | box-sizing: border-box; |
| | | } |
| | | .synthesis .plotBox .transition-box li { |
| | | margin: 5px; |
| | | width: 46%; |
| | | margin-left: 0; |
| | | /* background-color: #fff; */ |
| | | justify-content: space-between; |
| | | } |
| | | </style> |
| | |
| | | methods: { |
| | | showViewMenu(res) { |
| | | if (res.cnName != 'æµé') return; |
| | | console.log('æµé', res.tag); |
| | | }, |
| | | clearMeasure(id) { |
| | | if (id) { |
| | |
| | | <template> |
| | | <div class="box"> |
| | | <div class="tooltip"></div> |
| | | <input type="file" accept=".kml" class="file" style="display: none" /> |
| | | |
| | | <ul> |
| | | <li style="margin-left: 20px" @click="drawing"> |
| | | <li |
| | | style="margin-left: 20px" |
| | | @click="changePlot(item)" |
| | | v-for="item in itemsOne" |
| | | > |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | <div :class="item.class" class="backimge8"></div> |
| | | </div> |
| | | <div class="div_li">æ ç»</div> |
| | | <div class="div_li">{{ $t(item.name) }}</div> |
| | | </li> |
| | | <li style="margin-left: 20px" id="open"> |
| | | <li v-if="plotStatus.delete" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | <div class="backimge8"><i class="el-icon-delete"></i></div> |
| | | </div> |
| | | <div class="div_li">æå¼json</div> |
| | | <div class="div_li">å é¤</div> |
| | | </li> |
| | | <li style="margin-left: 20px" @click="save"> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | <div class="backimge8"><i class="el-icon-upload2"></i></div> |
| | | </div> |
| | | <div class="div_li">ä¿åjson</div> |
| | | <div class="div_li">ä¸ä¼ </div> |
| | | </li> |
| | | <li style="margin-left: 20px" @click="kmlopen"> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | <div class="backimge8"><i class="el-icon-plus"></i></div> |
| | | </div> |
| | | <div class="div_li">åçkml</div> |
| | | <div class="div_li">æ°å¢</div> |
| | | </li> |
| | | <li style="margin-left: 20px" @click="handleOpenClick"> |
| | | <li v-if="plotStatus.upload" style="margin-left: 20px"> |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | <div class="backimge8"><i class="el-icon-edit"></i></div> |
| | | </div> |
| | | <div class="div_li">导å
¥KMLæä»¶</div> |
| | | </li> |
| | | <li style="margin-left: 20px" @click="handleSaveClick"> |
| | | <div class="divli"> |
| | | <div class="backimge8 h1"></div> |
| | | </div> |
| | | <div class="div_li">导åºKMLæä»¶</div> |
| | | <div class="div_li">ä¿®æ¹</div> |
| | | </li> |
| | | </ul> |
| | | |
| | | <terrainDig ref="terrainDig" /> |
| | | <modelPress ref="modelPress" /> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | // æµé-ä¿¡æ¯å¼¹çª |
| | | import terrainDig from "../Tools/terrainDig.vue"; |
| | | import modelPress from "../Tools/modelPress.vue"; |
| | | import terrainDig from '../Tools/terrainDig.vue'; |
| | | import modelPress from '../Tools/modelPress.vue'; |
| | | export default { |
| | | components: { terrainDig, modelPress }, |
| | | data() { |
| | | return { |
| | | id: "", |
| | | plotStatus: { |
| | | delete: true, |
| | | upload: true, |
| | | insert: true, |
| | | update: true, |
| | | delete: false, |
| | | upload: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | itemsOne: [ |
| | | { |
| | | id: '1', |
| | | name: 'synthesis.point', |
| | | class: 'h1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | name: 'synthesis.line', |
| | | class: 'h2', |
| | | }, |
| | | { |
| | | id: '3', |
| | | name: 'synthesis.rectangle', |
| | | class: 'h3', |
| | | }, |
| | | { |
| | | id: '4', |
| | | name: 'synthesis.polygon', |
| | | class: 'h4', |
| | | }, |
| | | { |
| | | id: '7', |
| | | name: 'synthesis.symboliclabel', |
| | | class: 'h7', |
| | | }, |
| | | { |
| | | id: '5', |
| | | name: 'synthesis.flatterrain', |
| | | class: 'h5', |
| | | }, |
| | | { |
| | | id: '6', |
| | | name: 'synthesis.terrainexcavation', |
| | | class: 'h6', |
| | | }, |
| | | { |
| | | id: '8', |
| | | name: 'synthesis.removepaint', |
| | | class: 'h8', |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | this.showViewMenu(cover_perms[i]); |
| | | } |
| | | } |
| | | layui.use("upload", function () { |
| | | var upload = layui.upload; |
| | | upload.render({ |
| | | elem: "#open", |
| | | accept: "file", //æ®éæä»¶ |
| | | auto: false, |
| | | choose: function (obj) { |
| | | var files = obj.pushFile(); |
| | | for (var key in files) { |
| | | sgworld.Creator.SimpleGraphic.open(files[key]); |
| | | break; |
| | | } |
| | | }, |
| | | }); |
| | | }); |
| | | }, |
| | | methods: { |
| | | handleSaveClick() { |
| | | let funDownload = function (content, filename) { |
| | | let eleLink = document.createElement("a"); |
| | | eleLink.download = filename; |
| | | eleLink.style.display = "none"; |
| | | // å符å
容转åæblobå°å |
| | | let blob = new Blob([content]); |
| | | eleLink.href = URL.createObjectURL(blob); |
| | | // 触åç¹å» |
| | | document.body.appendChild(eleLink); |
| | | eleLink.click(); |
| | | // ç¶åç§»é¤ |
| | | document.body.removeChild(eleLink); |
| | | }; |
| | | let entities = new Cesium.EntityCollection(); |
| | | let dataSources = sgworld.Viewer.dataSources; |
| | | for (let i = 0, j = dataSources.length; i < j; i++) { |
| | | for (let v of dataSources.get(i).entities.values) { |
| | | entities.add(v); |
| | | } |
| | | } |
| | | for (let v of sgworld.Viewer.entities.values) { |
| | | entities.add(v); |
| | | } |
| | | |
| | | if (entities.values.length) { |
| | | console.log(sgworld.Viewer.entities); |
| | | |
| | | let promise = Cesium.exportKml({ entities: sgworld.Viewer.entities }); |
| | | console.log(entities); |
| | | // let promise = Cesium.exportKml({ entities: entities }); |
| | | promise.then(function (e) { |
| | | |
| | | funDownload(e.kml, new Date().getTime() + ".kml"); |
| | | }); |
| | | } else { |
| | | alert("å½ååºæ¯æ²¡æentitieså®ä½"); |
| | | } |
| | | }, |
| | | handleOpenClick() { |
| | | // let that = this; |
| | | let fileInput = document.querySelector(".file"); |
| | | fileInput.onchange = function (evt) { |
| | | let files = evt.target.files; |
| | | if (files.length > 0) { |
| | | let file = evt.target.files[0]; |
| | | |
| | | let fileReader = new FileReader(); |
| | | fileReader.readAsDataURL(file); |
| | | fileReader.onload = () => { |
| | | sgworld.Viewer.dataSources |
| | | .add( |
| | | Cesium.KmlDataSource.load(fileReader.result, { |
| | | camera: sgworld.Viewer.scene.camera, |
| | | canvas: sgworld.Viewer.scene.canvas, |
| | | }) |
| | | ) |
| | | .then((KmlDataSource) => { |
| | | console.log(KmlDataSource); |
| | | // let entities = kmlDataSource.entities; |
| | | }); |
| | | }; |
| | | |
| | | // let fileReader = new FileReader(); |
| | | // fileReader.onload = function () { |
| | | // sgworld.Viewer.dataSources |
| | | // .add( |
| | | // Cesium.KmlDataSource.load(new Blob([this.result]), { |
| | | // camera: sgworld.Viewer.scene.camera, |
| | | // canvas: sgworld.Viewer.scene.canvas, |
| | | // clampToGround: false, |
| | | // }) |
| | | // ) |
| | | // .then(function (kmlDataSource) { |
| | | // let entities = kmlDataSource.entities; |
| | | // let item = entities.values[entities.values.length - 1]; |
| | | // sgworld.Viewer.zoomTo(entities); |
| | | // }); |
| | | // fileInput = null; |
| | | // fileReader = null; |
| | | // }; |
| | | // fileReader.readAsText(file); |
| | | } |
| | | // fileInput.value = null; |
| | | }; |
| | | fileInput.click(); |
| | | }, |
| | | |
| | | preview(event) { |
| | | var reader = new FileReader(); |
| | | reader.readAsDataURL(file); |
| | | //çå¬æä»¶è¯»åç»æåäºä»¶ |
| | | reader.onloadend = function (e) { |
| | | $(".img").attr("src", e.target.result); //e.target.resultå°±æ¯æåçè·¯å¾å°å |
| | | }; |
| | | // let files = document.getElementById(this.id).files[0]; |
| | | // this.imgDataUrl = this.getObjectURL(files); |
| | | // // this.$emit("sendImgUrl", this.imgDataUrl, this.id); |
| | | // console.log("sendImgUrl", this.imgDataUrl, this.id); |
| | | }, |
| | | getObjectURL(file) { |
| | | let url = null; |
| | | if (window.createObjectURL != undefined) { |
| | | // basic |
| | | url = window.createObjectURL(file); |
| | | } else if (window.webkitURL != undefined) { |
| | | // webkit or chrome |
| | | url = window.webkitURL.createObjectURL(file); |
| | | } else if (window.URL != undefined) { |
| | | // mozilla(firefox) |
| | | url = window.URL.createObjectURL(file); |
| | | } |
| | | return url; |
| | | }, |
| | | showViewMenu(res) { |
| | | if (res.cnName != "æ ç»") return; |
| | | if (res.cnName != 'æ ç»') return; |
| | | switch (res.tag) { |
| | | case "/delete": |
| | | case '/delete': |
| | | this.plotStatus.delete = true; |
| | | break; |
| | | case "/upload": |
| | | case '/upload': |
| | | this.plotStatus.upload = true; |
| | | break; |
| | | case "/insert": |
| | | case '/insert': |
| | | this.plotStatus.insert = true; |
| | | break; |
| | | case "/update": |
| | | case '/update': |
| | | this.plotStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | save() { |
| | | // var val_result = sgworld.Viewer.entities._entities._array; |
| | | // console.log(val_result[0]); |
| | | // console.log(sgworld.Core); |
| | | // console.log(sgworld.Core.getEntityPropValue(val_result[0], show)); |
| | | sgworld.Creator.SimpleGraphic.save(); |
| | | }, |
| | | kmlopen() { |
| | | sgworld.Creator.addKmlLayer( |
| | | "kmlæ°æ®", |
| | | "http://183.162.245.49:82/sdkdemo_2022/demo/kml/facilities/facilities.kml", |
| | | true |
| | | changePlot(res) { |
| | | switch (res.id) { |
| | | case '1': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | 'point', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | }, |
| | | drawing() { |
| | | this.$emit("drawing"); |
| | | break; |
| | | case '2': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | 'polyline', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case '3': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | 'rectangle', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case '4': |
| | | sgworld.Creator.createSimpleGraphic( |
| | | 'polygon', |
| | | {}, |
| | | function (entity) {} |
| | | ); |
| | | break; |
| | | case '6': |
| | | if (window.Excavation) { |
| | | window.Excavation.clear(); |
| | | window.Excavation = null; |
| | | } else { |
| | | this.$refs.terrainDig.open(); |
| | | } |
| | | |
| | | break; |
| | | case '5': |
| | | if (window.TerrainFlattening) { |
| | | window.TerrainFlattening.remove(); |
| | | window.TerrainFlattening = null; |
| | | } else { |
| | | this.$refs.modelPress.open(); |
| | | } |
| | | |
| | | break; |
| | | case '7': |
| | | sgworld.Creator.createModelLibrary(); |
| | | break; |
| | | case '8': |
| | | this.clearAll(); |
| | | break; |
| | | } |
| | | }, |
| | | clearAll() { |
| | | sgworld.Creator.SimpleGraphic.clear(); |
| | |
| | | height: 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | .box li { |
| | | list-style: none; |
| | | float: left; |
| | |
| | | margin: 0px; |
| | | } |
| | | .h1 { |
| | | background: url("../../assets/img/synthesis/æ¤å 5 æ·è´ 3.png") no-repeat |
| | | background: url('../../assets/img/synthesis/æ¤å 5 æ·è´ 3.png') no-repeat |
| | | center; |
| | | } |
| | | .h2 { |
| | | background: url("../../assets/img/synthesis/æ¤å 3 æ·è´ 16.png") no-repeat |
| | | background: url('../../assets/img/synthesis/æ¤å 3 æ·è´ 16.png') no-repeat |
| | | center; |
| | | } |
| | | .h3 { |
| | | background: url("../../assets/img/synthesis/æ¤å 3 æ·è´ 20.png") no-repeat |
| | | background: url('../../assets/img/synthesis/æ¤å 3 æ·è´ 20.png') no-repeat |
| | | center; |
| | | } |
| | | .h4 { |
| | | background: url("../../assets/img/synthesis/æ¤å 3 æ·è´ 23.png") no-repeat |
| | | background: url('../../assets/img/synthesis/æ¤å 3 æ·è´ 23.png') no-repeat |
| | | center; |
| | | } |
| | | .h5 { |
| | | background: url("../../assets/img/synthesis/ç©å½¢ 14 æ·è´.png") no-repeat |
| | | background: url('../../assets/img/synthesis/ç©å½¢ 14 æ·è´.png') no-repeat |
| | | center; |
| | | } |
| | | .h6 { |
| | | background: url("../../assets/img/synthesis/ç©å½¢ 14 æ·è´ 7.png") no-repeat |
| | | background: url('../../assets/img/synthesis/ç©å½¢ 14 æ·è´ 7.png') no-repeat |
| | | center; |
| | | } |
| | | .h7 { |
| | | background: url("../../assets/img/synthesis/ææ¬é£æ ¼.png") no-repeat center; |
| | | background: url('../../assets/img/synthesis/ææ¬é£æ ¼.png') no-repeat center; |
| | | } |
| | | .h8 { |
| | | background: url("../../assets/img/synthesis/æ¸
é¤.png") no-repeat center; |
| | | background: url('../../assets/img/synthesis/æ¸
é¤.png') no-repeat center; |
| | | } |
| | | .backimge8 { |
| | | width: 30px; |
| | |
| | | <template> |
| | | <div class="authorityManagement_box"> |
| | | <My-bread :list="['æ°æ®ç®¡ç', 'ç©ºé´æ°æ®']"></My-bread> |
| | | <My-bread :list="['æ°æ®ç®¡ç', 'æ°æ®æ£ç´¢']"></My-bread> |
| | | <el-divider /> |
| | | <div class="searchComp"> |
| | | <el-form ref="ruleForm" :model="ruleForm" :inline="true"> |
| | |
| | | >æ¥è¯¢</el-button |
| | | > |
| | | <el-button |
| | | |
| | | @click="resetForm('ruleForm')" |
| | | icon="el-icon-refresh" |
| | | type="info" |
| | | size="small" |
| | | >éç½®</el-button |
| | | > |
| | | <el-button |
| | | <!-- <el-button |
| | | v-if="btnStatus.delete" |
| | | @click="DelFormData" |
| | | icon="el-icon-delete" |
| | | type="danger" |
| | | size="small" |
| | | >å é¤</el-button |
| | | > |
| | | > --> |
| | | <el-button |
| | | v-if="!FBtest" |
| | | @click="testfb()" |
| | | v-if="btnStatus.download" |
| | | icon="el-icon-position" |
| | | type="success" |
| | | size="small" |
| | | >åå¸</el-button |
| | | >ä¸è½½</el-button |
| | | > |
| | | <el-button |
| | | <!-- <el-button |
| | | v-else |
| | | @click="testfb()" |
| | | icon="el-icon-position" |
| | | type="success" |
| | | size="small" |
| | | >åæ¶</el-button |
| | | > |
| | | > --> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <!-- <el-form-item> |
| | | <span v-if="FBtest"> |
| | | <i class="dotClass" style="background-color: springgreen"></i> |
| | | </span> |
| | |
| | | </el-form-item> |
| | | <el-form-item v-if="FBtest"> |
| | | åå¸å°åï¼http://192.168.20.39/SG/default/streamer.ashx |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </div> |
| | | <div class="bottom"> |
| | | <div class="leftTree"> |
| | | <el-tree |
| | | :data="data" |
| | | :data="tree" |
| | | :props="defaultProps" |
| | | :default-expanded-keys="[1]" |
| | | node-key="id" |
| | |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column width="50" type="index" label="åºå·" /> |
| | | <el-table-column min-width="150" prop="pipename" label="管éåç§°" /> |
| | | <el-table-column |
| | | min-width="150" |
| | | v-if="tableType == 'åºç«ç¹'" |
| | | prop="sitename" |
| | | label="åºç«åç§°" |
| | | /> |
| | | <el-table-column |
| | | min-width="150" |
| | | v-if="tableType == 'åºç«ç¹'" |
| | | prop="type" |
| | | label="åºç«ç±»å" |
| | | /> |
| | | <el-table-column |
| | | min-width="150" |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | prop="seriesname" |
| | | label="ç«ååç§°" |
| | | /> |
| | | <el-table-column |
| | | min-width="50" |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | prop="stationvalue" |
| | | label="ç«åéç¨" |
| | | /> |
| | | <el-table-column |
| | | min-width="50" |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | prop="transportm" |
| | | label="è¾éä»è´¨" |
| | | /> |
| | | <el-table-column |
| | | min-width="50" |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | prop="diameter" |
| | | label="管å¾" |
| | | /> |
| | | <el-table-column |
| | | min-width="150" |
| | | v-if="tableType == 'æ æ¡©'" |
| | | prop="name" |
| | | label="æ æ¡©åç§°" |
| | | /> |
| | | <el-table-column |
| | | min-width="150" |
| | | v-if="tableType == 'æ æ¡©'" |
| | | prop="type" |
| | | label="æ æ¡©ç±»å" |
| | | /> |
| | | |
| | | <el-table-column |
| | | min-width="70" |
| | | prop="create_user" |
| | | label="å
¥åºäººå" |
| | | /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="create_time" |
| | | label="å
¥åºæ¶é´" |
| | | /> |
| | | v-for="(item, index) in attributeData" |
| | | :key="index" |
| | | :label="item.alias" |
| | | :prop="item.field" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column min-width="80" label="æä½"> |
| | | <template slot-scope="scope"> |
| | | <el-link @click="showDetail(scope.$index, scope.row)" |
| | | >æ¥ç</el-link |
| | | > |
| | | <el-link |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | @click="dialogFormVisible = true" |
| | | style="margin-left: 10px" |
| | | >ä¿®æ¹</el-link |
| | | >éä»¶</el-link |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | |
| | | v-if="changePag" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :current-page="this.listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="10" |
| | | :page-size="this.listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | |
| | | </div> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <p>管éåç§°ï¼{{ itemdetail.pipename }}</p> |
| | | <ul> |
| | | <li v-for="(item, index) in itemdetail"> |
| | | <p> |
| | | <label> {{ item.label }}:</label> |
| | | <label class="boxlabel">{{ item.value }}</label> |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <div v-if="tableType == 'åºç«ç¹'"> |
| | | <p>åºç«åç§°ï¼{{ itemdetail.sitename }}</p> |
| | | <el-divider></el-divider> |
| | | <p>åºç«ç±»åï¼{{ itemdetail.type }}</p> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | <div v-if="tableType == '管éä¸å¿çº¿'"> |
| | | <p>ç«ååç§°ï¼{{ itemdetail.seriesname }}</p> |
| | | <el-divider></el-divider> |
| | | <p>ç«åéç¨ï¼{{ itemdetail.stationvalue }}</p> |
| | | <el-divider></el-divider> |
| | | <p>è¾éä»è´¨ï¼{{ itemdetail.transportm }}</p> |
| | | <el-divider></el-divider> |
| | | <p>管å¾ï¼{{ itemdetail.diameter }}</p> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | <div v-if="tableType == 'æ æ¡©'"> |
| | | <p>æ æ¡©åç§°ï¼{{ itemdetail.name }}</p> |
| | | <el-divider></el-divider> |
| | | <p>æ æ¡©ç±»åï¼{{ itemdetail.type }}</p> |
| | | <el-divider></el-divider> |
| | | </div> |
| | | <p>å
¥åºäººåï¼{{ itemdetail.create_user }}</p> |
| | | <el-divider></el-divider> |
| | | <p>å
¥åºæ¶é´ï¼{{ itemdetail.create_time }}</p> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <el-dialog title="ä¿®æ¹è¯¦æ
" :visible.sync="dialogFormVisible"> |
| | | <el-form :model="upform"> |
| | | <el-form-item label="管éåç§°" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.pipename" autocomplete="off"></el-input> |
| | | <el-dialog title="éä»¶ææ¥" width="30%" :visible.sync="dialogFormVisible"> |
| | | <el-form :model="formInline" class="demo-form-inline"> |
| | | <el-form-item label="æ·»å æ°æ®"> |
| | | <el-input |
| | | v-model="formInline.file" |
| | | style="width: 300px; margin-right: 20px" |
| | | placeholder="è¯·éæ©" |
| | | disabled |
| | | ></el-input> |
| | | <input |
| | | name="file1" |
| | | type="file" |
| | | id="insertFile" |
| | | multiple="multiple" |
| | | style="display: none" |
| | | @change="insertFile( )" |
| | | /> |
| | | <el-link @click="getInsertFile( )" :underline="false" |
| | | ><i class="el-icon-folder-opened"></i |
| | | ></el-link> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == 'åºç«ç¹'" |
| | | label="åºç«åç§°" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.sitename" autocomplete="off"></el-input> |
| | | <el-form-item> |
| | | <el-row > |
| | | <el-col :span="2"> <el-link type="primary" :underline="false" >æ·»å </i></el-link></el-col> |
| | | <el-col :span="2"> <el-link type="primary" :underline="false" >å é¤</i></el-link></el-col> |
| | | <el-col :span="2"> <el-link type="primary" :underline="false" >æ¸
空</i></el-link></el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == 'åºç«ç¹'" |
| | | label="åºç«ç±»å" |
| | | :label-width="formLabelWidth" |
| | | <el-form-item> |
| | | <el-table |
| | | ref="filterTable" |
| | | height="99%" |
| | | border |
| | | style="width: 100%" |
| | | > |
| | | <el-input v-model="upform.type" autocomplete="off"></el-input> |
| | | <el-table-column width="50" type="index" label="åºå·" /> |
| | | <el-table-column prop="date" |
| | | label="æä»¶è·¯å¾" |
| | | /> |
| | | |
| | | <el-table-column |
| | | prop="name" |
| | | label="æä»¶åç§°" |
| | | /> |
| | | |
| | | </el-table> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | label="ç«ååç§°" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.seriesname" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | label="ç«åéç¨" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.stationvalue" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | label="è¾éä»è´¨" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.transportm" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == '管éä¸å¿çº¿'" |
| | | label="管å¾" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.diameter" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == 'æ æ¡©'" |
| | | label="æ æ¡©åç§°" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.name" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="tableType == 'æ æ¡©'" |
| | | label="æ æ¡©ç±»å" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="upform.type" autocomplete="off"></el-input> |
| | | <el-form-item> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" :offset="8"> <el-button plain>确认</el-button> <el-button plain>åæ¶</el-button></el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="updateForm">ç¡® å®</el-button> |
| | | <el-button @click="dialogFormVisible = false">å æ¶</el-button> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import $ from 'jquery'; |
| | | import { |
| | | querySitePointCount, |
| | | querySitePoint, |
| | | queryMarkerCount, |
| | | queryMarker, |
| | | queryStationSeries, |
| | | queryStationSeriesCount, |
| | | UpdateSitePoint, |
| | | UpdateStationSeries, |
| | | UpdatgeMarker, |
| | | dltSitePoint, |
| | | dltStationSeries, |
| | | dltMarker, |
| | | } from "../../api/api"; |
| | | dataQuery_selectTabs, |
| | | dataQuery_selectDomains, |
| | | dataQuery_selectFields, |
| | | dataQuery_selectByPage, |
| | | } from '../../api/api'; |
| | | |
| | | import catalogueTree from "../../components/catalogueTree.vue"; |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import catalogueTree from '../../components/catalogueTree.vue'; |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | export default { |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | name: "dataSearch", |
| | | name: 'dataSearch', |
| | | components: { MyBread, catalogueTree }, |
| | | data() { |
| | | return { |
| | | data: [ |
| | | formInline: { |
| | | file:'' |
| | | }, |
| | | tree: [ |
| | | { |
| | | id: 1, |
| | | label: "空é´å
¥åºæ°æ®", |
| | | children: [ |
| | | { |
| | | label: "åºç«ç¹", |
| | | tabDesc: 'åºç¡æ°æ®', |
| | | value: 'BD', |
| | | children: [], |
| | | }, |
| | | { |
| | | label: "管éä¸å¿çº¿", |
| | | }, |
| | | { |
| | | label: "æ æ¡©", |
| | | tabDesc: 'ä¸å¡æ°æ®', |
| | | value: 'BS', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | FBtest: false, |
| | | formLabelWidth: "120px", |
| | | dialogFormVisible: false, |
| | | upform: { |
| | | gid: "", |
| | | pipename: "", |
| | | sitename: "", |
| | | type: "", |
| | | seriesname: "", |
| | | stationvalue: "", |
| | | transportm: "", |
| | | diameter: "", |
| | | name: "", |
| | | }, |
| | | tableType: null, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label", |
| | | children: 'children', |
| | | label: 'tabDesc', |
| | | }, |
| | | changePag: true, |
| | | showinfoBox: false, |
| | | itemdetail: {}, |
| | | ruleForm: { |
| | | name: "", |
| | | }, |
| | | count: 0, |
| | | pageSize: 10, |
| | | pageNum: 1, |
| | | tableData: [], |
| | | currentPage: 1, |
| | | searchName: "", |
| | | multipleSelection: [], |
| | | btnStatus: { |
| | | select: false, |
| | | delete: false, |
| | |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | tableType: null, |
| | | ruleForm: { |
| | | name: '', |
| | | }, |
| | | FBtest: false, |
| | | tableData: [], |
| | | formLabelWidth: '120px', |
| | | dialogFormVisible: false, |
| | | upform: { |
| | | gid: '', |
| | | pipename: '', |
| | | sitename: '', |
| | | type: '', |
| | | seriesname: '', |
| | | stationvalue: '', |
| | | transportm: '', |
| | | diameter: '', |
| | | name: '', |
| | | }, |
| | | |
| | | changePag: true, |
| | | showinfoBox: false, |
| | | itemdetail: {}, |
| | | |
| | | tableData: [], |
| | | attributeData: [], |
| | | currentPage: 1, |
| | | searchName: '', |
| | | multipleSelection: [], |
| | | filedsLayer: null, |
| | | count: 0, |
| | | listData: { |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | name: null, |
| | | filter: null, |
| | | wkt: null, |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.getSPData(10, 1, ""); |
| | | // this.getSPCount(""); |
| | | this.showPermsBtn(); |
| | | this.getTreeDataAll(); |
| | | }, |
| | | methods: { |
| | | //éä»¶=>æä»¶éæ© |
| | | getInsertFile(){ |
| | | $("#insertFile").click(); |
| | | }, |
| | | insertFile(){ |
| | | var val = document.getElementById("insertFile").files; |
| | | if (!val || !val.length) return; |
| | | |
| | | this.formInline.file = val[0].name; |
| | | }, |
| | | //è·åç®å½æ æ°æ® |
| | | async getTreeDataAll() { |
| | | const data = await dataQuery_selectTabs(); |
| | | if (data.code != 200) { |
| | | this.$message.error('å表è°ç¨å¤±è´¥'); |
| | | } |
| | | var option = data.result; |
| | | |
| | | for (var i in option) { |
| | | var val_Data = option[i]; |
| | | val_Data.id = '1' + i; |
| | | if (option[i].ns == 'bd') { |
| | | this.tree[0].children.push(val_Data); |
| | | } else { |
| | | this.tree[1].children.push(val_Data); |
| | | } |
| | | } |
| | | }, |
| | | //ææç®¡ç |
| | | showPermsBtn() { |
| | | let currentPerms = this.$store.state.currentPerms; |
| | | let permsEntity = this.$store.state.permsEntity; |
| | | permsEntity |
| | | .filter((item) => item.perms == currentPerms) |
| | | .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); |
| | | }, |
| | | handleNodeClick(data) { |
| | | this.closeDetial(); |
| | | this.changePag = false; |
| | | this.tableData = []; |
| | | this.currentPage = 1; |
| | | switch (data.label) { |
| | | case "空é´å
¥åºæ°æ®": |
| | | this.tableType = null; |
| | | // this.$nextTick(() => { |
| | | // this.changePag = true; |
| | | // }); |
| | | break; |
| | | case "åºç«ç¹": |
| | | this.tableType = "åºç«ç¹"; |
| | | this.getSPData(10, 1, ""); |
| | | this.getSPCount(""); |
| | | // this.$nextTick(() => { |
| | | // this.changePag = true; |
| | | // }); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | this.tableType = "管éä¸å¿çº¿"; |
| | | this.getSSData(10, 1, ""); |
| | | this.getSSCount(""); |
| | | // this.$nextTick(() => { |
| | | // this.changePag = true; |
| | | // }); |
| | | break; |
| | | case "æ æ¡©": |
| | | this.tableType = "æ æ¡©"; |
| | | this.getMData(10, 1, ""); |
| | | this.getMCount(""); |
| | | break; |
| | | } |
| | | this.$nextTick(() => { |
| | | this.changePag = true; |
| | | .map((item) => { |
| | | console.log(item); |
| | | this.btnStatus[item.tag.substr(1)] = true; |
| | | }); |
| | | }, |
| | | //æ ç¹å»äºä»¶ |
| | | handleNodeClick(data) { |
| | | //夿ç¹å»æ¯å¦ä¸ºåèç¹ |
| | | if (data.children != null) return; |
| | | this.listData.name = data.entity; //è¦æ¥è¯¢è¡¨æ ¼ç±»åï¼ |
| | | this.filedsLayer = this.getCollapseDomFiled(); //è·åæ¯ä¸ªè¡¨å段åç§°åéå¼ |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | //è·åè¡¨æ ¼ä¿¡æ¯ |
| | | async getCollapseTable(res) { |
| | | res.then((val) => { |
| | | this.attributeData = val; |
| | | }); |
| | | if (this.ruleForm.name != null) { |
| | | this.listData.filter = 'name like ' + this.ruleForm.name; |
| | | } |
| | | const data = await dataQuery_selectByPage(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | var res_val = this.attributeData; |
| | | this.count = data.count; |
| | | for (var i in data.result) { |
| | | let val_Data = data.result[i]; |
| | | |
| | | for (var j in res_val) { |
| | | if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { |
| | | val_Data[res_val[j].field] = res_val[j].domainNa; |
| | | } |
| | | } |
| | | } |
| | | this.tableData = data.result; |
| | | }, |
| | | //è·åæ¯ä¸ªè¡¨å段åç§°åéå¼ |
| | | async getCollapseDomFiled() { |
| | | //æ¥è¯¢å段信æ¯; |
| | | const fileds = await dataQuery_selectFields({ |
| | | name: this.listData.name, |
| | | }); |
| | | if (fileds.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | |
| | | //æ¥è¯¢éå¼ä¿¡æ¯ï¼ |
| | | const domains = await dataQuery_selectDomains({ |
| | | name: this.listData.name, |
| | | }); |
| | | if (domains.code != 200) { |
| | | this.$message.error('è°ç¨å表失败,请è系工ä½äººå!'); |
| | | return; |
| | | } |
| | | var data1 = fileds.result; |
| | | var data2 = domains.result; |
| | | var std = []; |
| | | for (var i in data1) { |
| | | if (data1[i].showtype == 1) { |
| | | if (data1[i].domainNa != null) { |
| | | data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); |
| | | } |
| | | std.push(data1[i]); |
| | | } |
| | | } |
| | | return std; |
| | | }, |
| | | //å¼ååæ®µå¹é
|
| | | getDomainNaFild(res, result) { |
| | | for (var i in result) { |
| | | if (result[i].domName == res) { |
| | | return result[i].codeDesc; |
| | | } |
| | | } |
| | | return null; |
| | | }, |
| | | // 请æ±åºç«ç¹å
容 |
| | | getSPData(size, num, name) { |
| | | querySitePoint(size, num, name).then((res) => { |
| | |
| | | }, |
| | | |
| | | // å
³é®åæ¥è¯¢ |
| | | submitForm(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.searchName = this.ruleForm.name.trim(); |
| | | switch (this.tableType) { |
| | | case "åºç«ç¹": |
| | | this.getSPData(10, 1, this.searchName); |
| | | this.getSPCount(this.searchName); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | this.getSSData(10, 1, this.searchName); |
| | | this.getSSCount(this.searchName); |
| | | break; |
| | | case "æ æ¡©": |
| | | this.getMData(10, 1, this.searchName); |
| | | this.getMCount(this.searchName); |
| | | break; |
| | | } |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | submitForm() { |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | //å页ç¹å»äºä»¶ |
| | | handleSizeChange(val) { |
| | | this.listdata.pageSize = val; |
| | | this.listdata.pageIndex = 1; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.listdata.pageIndex = val; |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | // éç½®æ¥è¯¢ |
| | | resetForm(formName) { |
| | | this.searchName = ""; |
| | | this.searchName = ''; |
| | | this.$refs[formName].resetFields(); |
| | | switch (this.tableType) { |
| | | case "åºç«ç¹": |
| | | this.getSPData(10, 1, ""); |
| | | this.getSPCount(""); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | this.getSSData(10, 1, ""); |
| | | this.getSSCount(""); |
| | | break; |
| | | case "æ æ¡©": |
| | | this.getMData(10, 1, ""); |
| | | this.getMCount(""); |
| | | break; |
| | | } |
| | | //è·åtableä¿¡æ¯ |
| | | this.getCollapseTable(this.filedsLayer); |
| | | }, |
| | | |
| | | // åå¸æé® |
| | |
| | | // .then(() => { |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: "Loading", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | text: 'Loading', |
| | | spinner: 'el-icon-loading', |
| | | background: 'rgba(0, 0, 0, 0.7)', |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | |
| | | }, |
| | | // æ¥ççé¢ |
| | | showDetail(index, row) { |
| | | // console.log(index, row); |
| | | console.log(index, row); |
| | | console.log(this.attributeData); |
| | | this.showinfoBox = true; |
| | | this.itemdetail = row; |
| | | |
| | | var std = []; |
| | | for (var i in this.attributeData) { |
| | | std.push({ |
| | | label: this.attributeData[i].alias, |
| | | value: row[this.attributeData[i].field], |
| | | }); |
| | | } |
| | | this.itemdetail = std; |
| | | }, |
| | | // å
³éæ¥ç |
| | | closeDetial() { |
| | |
| | | // æäº¤ä¿®æ¹ |
| | | updateForm() { |
| | | let params = {}; |
| | | this.$confirm("æ¯å¦ç¡®å®ç¼è¾?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | this.$confirm('æ¯å¦ç¡®å®ç¼è¾?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | this.dialogFormVisible = false; |
| | | switch (this.tableType) { |
| | | case "åºç«ç¹": |
| | | case 'åºç«ç¹': |
| | | params = { |
| | | gid: this.upform.gid, |
| | | pipename: this.upform.pipename, |
| | |
| | | UpdateSitePoint(params).then((res) => { |
| | | if (res.data == 1) { |
| | | this.$message({ |
| | | message: "ä¿®æ¹æå", |
| | | type: "success", |
| | | message: 'ä¿®æ¹æå', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getSPData(10, 1, ""); |
| | | this.getSPCount(""); |
| | | this.getSPData(10, 1, ''); |
| | | this.getSPCount(''); |
| | | }); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | case '管éä¸å¿çº¿': |
| | | params = { |
| | | gid: this.upform.gid, |
| | | pipename: this.upform.pipename, |
| | |
| | | UpdateStationSeries(params).then((res) => { |
| | | if (res.data == 1) { |
| | | this.$message({ |
| | | message: "ä¿®æ¹æå", |
| | | type: "success", |
| | | message: 'ä¿®æ¹æå', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getSSData(10, 1, ""); |
| | | this.getSSCount(""); |
| | | this.getSSData(10, 1, ''); |
| | | this.getSSCount(''); |
| | | }); |
| | | break; |
| | | case "æ æ¡©": |
| | | case 'æ æ¡©': |
| | | params = { |
| | | gid: this.upform.gid, |
| | | pipename: this.upform.pipename, |
| | |
| | | UpdatgeMarker(params).then((res) => { |
| | | if (res.data == 1) { |
| | | this.$message({ |
| | | message: "ä¿®æ¹æå", |
| | | type: "success", |
| | | message: 'ä¿®æ¹æå', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getMData(10, 1, ""); |
| | | this.getMCount(""); |
| | | this.getMData(10, 1, ''); |
| | | this.getMCount(''); |
| | | }); |
| | | break; |
| | | } |
| | |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].gid); |
| | | } |
| | | this.$confirm("ç¡®å®æ¯å¦å 餿éå
容?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | this.$confirm('ç¡®å®æ¯å¦å 餿éå
容?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | switch (this.tableType) { |
| | | case "åºç«ç¹": |
| | | case 'åºç«ç¹': |
| | | dltSitePoint(std).then((res) => { |
| | | if (res.data !== 0) { |
| | | this.$message({ |
| | | message: "å 餿å", |
| | | type: "success", |
| | | message: 'å 餿å', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getSPData(10, 1, ""); |
| | | this.getSPCount(""); |
| | | this.getSPData(10, 1, ''); |
| | | this.getSPCount(''); |
| | | }); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | case '管éä¸å¿çº¿': |
| | | dltStationSeries(std).then((res) => { |
| | | if (res.data !== 0) { |
| | | this.$message({ |
| | | message: "å 餿å", |
| | | type: "success", |
| | | message: 'å 餿å', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getSSData(10, 1, ""); |
| | | this.getSSCount(""); |
| | | this.getSSData(10, 1, ''); |
| | | this.getSSCount(''); |
| | | }); |
| | | break; |
| | | case "æ æ¡©": |
| | | case 'æ æ¡©': |
| | | dltMarker(std).then((res) => { |
| | | if (res.data !== 0) { |
| | | this.$message({ |
| | | message: "å 餿å", |
| | | type: "success", |
| | | message: 'å 餿å', |
| | | type: 'success', |
| | | }); |
| | | } |
| | | this.getMData(10, 1, ""); |
| | | this.getMCount(""); |
| | | this.getMData(10, 1, ''); |
| | | this.getMCount(''); |
| | | }); |
| | | break; |
| | | } |
| | |
| | | // }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // æ¡æ°ä¿®æ¹ |
| | | handleSizeChange(val) { |
| | | this.pageSize = val; |
| | | switch (this.tableType) { |
| | | case "空é´å
¥åºæ°æ®": |
| | | break; |
| | | case "åºç«ç¹": |
| | | this.getSPData(this.pageSize, 1, ""); |
| | | this.getSPCount(""); |
| | | |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | this.getSSData(this.pageSize, 1, ""); |
| | | this.getSSCount(""); |
| | | break; |
| | | case "æ æ¡©": |
| | | this.getMData(this.pageSize, 1, ""); |
| | | this.getMCount(""); |
| | | break; |
| | | } |
| | | }, |
| | | // 页æ°ä¿®æ¹ |
| | | handleCurrentChange(val) { |
| | | this.pageNum = val; |
| | | switch (this.tableType) { |
| | | case "空é´å
¥åºæ°æ®": |
| | | break; |
| | | case "åºç«ç¹": |
| | | this.getSPData(this.pageSize, this.pageNum, ""); |
| | | this.getSPCount(""); |
| | | break; |
| | | case "管éä¸å¿çº¿": |
| | | this.getSSData(this.pageSize, this.pageNum, ""); |
| | | this.getSSCount(""); |
| | | break; |
| | | case "æ æ¡©": |
| | | this.getMData(this.pageSize, this.pageNum, ""); |
| | | this.getMCount(""); |
| | | break; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | <div class="inquire"> |
| | | <el-form ref="queryForm" :model="queryForm" :inline="true"> |
| | | <el-form-item label="å
³é®å" prop="name"> |
| | | <el-input |
| | | v-model="queryForm.name" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | /> |
| | | <el-input v-model="queryForm.name" placeholder="请è¾å
¥" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | |
| | | } |
| | | .infoBox { |
| | | width: 500px; |
| | | |
| | | border: 1px solid #eee; |
| | | position: absolute; |
| | | z-index: 100; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="exportmap"> |
| | | <div id="mapView" class="mapView"> |
| | | <div class="topMenu"> |
| | | <el-form :inline="true" :model="formInline" class="demo-form-inline"> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="setLeftMenu" |
| | | :underline="false" |
| | | >å¾å±</el-link |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="changeMenulayer" |
| | | :underline="false" |
| | | ><i class="el-icon-menu"></i>åºå¾</el-link |
| | | > |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-select v-model="value" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link style="color: white" :underline="false" |
| | | ><i class="el-icon-rank"></i> |
| | | </el-link> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="showMapApply = !showMapApply" |
| | | :underline="false" |
| | | >åºå¾ç³è¯· |
| | | </el-link></el-form-item |
| | | > |
| | | <el-form-item> |
| | | <el-link |
| | | style="color: white" |
| | | @click="showMapList = true" |
| | | :underline="false" |
| | | >åºå¾å表</el-link |
| | | ></el-form-item |
| | | > |
| | | <el-form-item label="æè½¬"> |
| | | <el-input |
| | | v-model="formInline.role" |
| | | placeholder="请è¾å
¥å
容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button plain size="mini" @click="setMapRole">æè½¬</el-button> |
| | | <el-button plain size="mini" @click="setMapAddDraw()" |
| | | >ç»å¶</el-button |
| | | > |
| | | <el-button plain size="mini" @click="setMapRemoveDraw()" |
| | | >æ¸
é¤</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="leftMeu" v-if="showleftMenu"> |
| | | <div class="topHeader"> |
| | | <div style="float: left">å¾å±</div> |
| | | <div style="float: right"> |
| | | <el-link @click="showleftMenu = false" :underline="false" |
| | | ><i class="el-icon-close"></i |
| | | ></el-link> |
| | | </div> |
| | | <div style="float: right; margin-right: 5%"> |
| | | <el-link :underline="false" @click="changeRowType" |
| | | ><i |
| | | :class=" |
| | | rowtype == true ? 'el-icon-arrow-down' : 'el-icon-arrow-up' |
| | | " |
| | | ></i |
| | | ></el-link> |
| | | </div> |
| | | </div> |
| | | <div class="topContent" v-if="rowtype"> |
| | | <el-link |
| | | @click="dialogVisible = true" |
| | | style="color: white" |
| | | :underline="false" |
| | | > |
| | | <i class="el-icon-plus">æ·»å </i></el-link |
| | | > |
| | | <el-divider /> |
| | | <el-tree |
| | | :data="data" |
| | | show-checkbox |
| | | node-key="id" |
| | | :props="defaultProps" |
| | | :default-expanded-keys="[1]" |
| | | @check-change="handleTreeNodeClick" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </div> |
| | | <div v-drag class="mapApplay" v-if="showMapApply"> |
| | | <label>åºå¾ç³è¯·</label> |
| | | <el-divider /> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="åºå¾åç§°"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-table |
| | | ref="singleTable" |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | height="200" |
| | | > |
| | | <el-table-column type="index" width="50"> </el-table-column> |
| | | <el-table-column property="date" label="æ¥æ" width="120"> |
| | | </el-table-column> |
| | | <el-table-column property="name" label="å§å" width="120"> |
| | | </el-table-column> |
| | | <el-table-column property="address" label="å°å"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="setMapApply">ç«å³å建</el-button> |
| | | <el-button @click="showMapApply = false">åæ¶</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div v-drag class="mapApplay" v-if="showMapList"> |
| | | <div> |
| | | <label>åºå¾å表</label> |
| | | <div style="float: right"> |
| | | <el-link @click="showMapList = false" :underline="false" |
| | | ><i class="el-icon-close"></i |
| | | ></el-link> |
| | | </div> |
| | | <div style="float: right; margin-right: 20px"> |
| | | <el-button type="warning" size="mini" plain>æ¹éä¸è½½</el-button> |
| | | </div> |
| | | </div> |
| | | <el-divider /> |
| | | <el-table |
| | | ref="singleTable" |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | height="200" |
| | | > |
| | | <el-table-column type="index" width="50"> </el-table-column> |
| | | <el-table-column property="date" label="æ¥æ" width="120"> |
| | | </el-table-column> |
| | | <el-table-column property="name" label="å§å" width="120"> |
| | | </el-table-column> |
| | | <el-table-column property="address" label="å°å"> </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div |
| | | @click="changeMenulayer" |
| | | class="center CenDiv" |
| | | :class="{ center1: centerFlag }" |
| | | > |
| | | <div |
| | | id="cenBg" |
| | | v-bind:class="{ active: isActive, menuLayer: isMenuLayer }" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | title="æç¤º" |
| | | :visible.sync="dialogVisible" |
| | | width="30%" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form ref="layerform" :model="layerform" label-width="80px"> |
| | | <el-form-item label="æå¡åç§°"> |
| | | <el-input v-model="layerform.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå¡ç±»å"> |
| | | <el-radio-group v-model="layerform.type"> |
| | | <el-radio label="WMS"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="æå¡å°å"> |
| | | <el-input type="textarea" v-model="layerform.resource"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="setAddMapLayer">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ImageWMS from 'ol/source/ImageWMS'; |
| | | import Map from 'ol/Map'; |
| | | import XYZ from 'ol/source/XYZ'; |
| | | import View from 'ol/View'; |
| | | import Image from 'ol/layer/Image'; |
| | | 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'; |
| | | import Style from 'ol/style/Style'; |
| | | import Fill from 'ol/style/Fill'; |
| | | import Stroke from 'ol/style/Stroke'; |
| | | import Circle from 'ol/style/Circle'; |
| | | import mapviewVue from '../../components/mapview.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | showleftMenu: false, |
| | | showMapApply: false, |
| | | showMapList: false, |
| | | centerFlag: false, |
| | | isActive: true, |
| | | isMenuLayer: false, |
| | | rowtype: true, |
| | | form: {}, |
| | | formInline: { role: '' }, |
| | | layerform: {}, |
| | | tableData: [], |
| | | options: [{}], |
| | | value: '', |
| | | data: [ |
| | | { |
| | | id: 1, |
| | | label: 'å¾å±', |
| | | children: [], |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label', |
| | | }, |
| | | draw: null, |
| | | vector: null, |
| | | source: null, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.initMap(); |
| | | }, |
| | | methods: { |
| | | setMapRemoveDraw() { |
| | | if (this.draw != null) { |
| | | mapView.removeLayer(this.vector); |
| | | } |
| | | }, |
| | | setMapAddDraw() { |
| | | this.setMapRemoveDraw(); |
| | | |
| | | this.source = new VectorSource({ wrapX: false }); |
| | | |
| | | this.vector = new VectorLayer({ |
| | | source: this.source, |
| | | }); |
| | | mapView.addLayer(this.vector); |
| | | |
| | | let type = 'Circle'; |
| | | let geometryFunction = createBox(); |
| | | this.draw = new Draw({ |
| | | source: this.source, |
| | | type, |
| | | geometryFunction, |
| | | }); |
| | | 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'); |
| | | var std = [a1, a2]; |
| | | console.log(std); |
| | | |
| | | mapView.removeInteraction(this.draw); |
| | | }); |
| | | }, |
| | | setMapRole() { |
| | | var value = parseFloat(this.formInline.role); |
| | | var role = (Math.PI / 180) * value; |
| | | mapView.getView().setRotation(role); |
| | | }, |
| | | setMapApply() {}, |
| | | handleClose() {}, |
| | | handleTreeNodeClick(data, nodes) { |
| | | if (data.label == 'å¾å±') return; |
| | | if (nodes == true) { |
| | | var wmsLayer = new Image({ |
| | | source: new ImageWMS({ |
| | | ratio: 1, |
| | | url: data.resource, |
| | | crossOrigin: 'anonymous', |
| | | //serverType: 'geoserver', |
| | | params: { |
| | | VERSION: '1.3.0', |
| | | FORMAT: 'image/png', |
| | | LAYERS: '', |
| | | srs: 'EPSG:900913', |
| | | tiled: true, |
| | | styles: '', |
| | | }, |
| | | }), |
| | | }); |
| | | wmsLayer.name = data.label; |
| | | mapView.addLayer(wmsLayer); |
| | | } else { |
| | | var len = mapView.getAllLayers(); |
| | | for (var i in len) { |
| | | var layer = mapView.getLayers().item(i); |
| | | if (layer.name == data.label) { |
| | | mapView.removeLayer(layer); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | setAddMapLayer() { |
| | | this.dialogVisible = false; |
| | | this.data[0].children.push({ |
| | | label: this.layerform.name, |
| | | type: this.layerform.type, |
| | | resource: this.layerform.resource, |
| | | }); |
| | | }, |
| | | |
| | | setLeftMenu() { |
| | | this.showleftMenu = true; |
| | | this.rowtype = true; |
| | | }, |
| | | //左侧èåç¹å»äºä»¶ |
| | | changeRowType() { |
| | | this.rowtype = !this.rowtype; |
| | | }, |
| | | //å°å¾åå§å |
| | | initMap() { |
| | | var vectorLayer = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}', |
| | | }), |
| | | }); |
| | | var imageLayer = new TileLayer({ |
| | | source: new XYZ({ |
| | | url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}', |
| | | }), |
| | | }); |
| | | |
| | | window.mapView = new Map({ |
| | | target: 'mapView', |
| | | layers: [imageLayer, vectorLayer], |
| | | view: new View({ |
| | | center: transform([105.02, 34.9], 'EPSG:4326', 'EPSG:3857'), |
| | | zoom: 4, |
| | | projection: 'EPSG:3857', |
| | | }), |
| | | }); |
| | | this.formInline.role = mapView.getView().getRotation(); |
| | | }, |
| | | //忢åºå¾ |
| | | changeMenulayer() { |
| | | this.isActive = !this.isActive; |
| | | this.isMenuLayer = !this.isMenuLayer; |
| | | this.setLayerVisible(); |
| | | }, |
| | | setLayerVisible() { |
| | | if (this.isActive == true) { |
| | | mapView.getLayers().item(0).setVisible(false); |
| | | mapView.getLayers().item(1).setVisible(true); |
| | | } else { |
| | | mapView.getLayers().item(0).setVisible(true); |
| | | mapView.getLayers().item(1).setVisible(false); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .exportmap { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: white; |
| | | margin: 0; |
| | | padding: 0; |
| | | overflow: hidden; |
| | | .mapView { |
| | | width: 100%; |
| | | height: 100%; |
| | | .topMenu { |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | position: absolute; |
| | | left: 40%; |
| | | top: 3%; |
| | | padding-top: 1%; |
| | | padding-left: 1%; |
| | | padding-right: 1%; |
| | | } |
| | | .mapApplay { |
| | | width: 40%; |
| | | position: absolute; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | top: 15%; |
| | | margin-left: 20%; |
| | | padding: 1%; |
| | | label { |
| | | color: white; |
| | | } |
| | | } |
| | | .mapList { |
| | | width: 40%; |
| | | position: absolute; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | z-index: 40; |
| | | top: 15%; |
| | | margin-left: 20%; |
| | | padding: 1%; |
| | | } |
| | | .leftMeu { |
| | | position: absolute; |
| | | width: 13%; |
| | | z-index: 40; |
| | | top: 10%; |
| | | margin-left: 1%; |
| | | border-radius: 5px; |
| | | padding: 1%; |
| | | } |
| | | .topHeader { |
| | | padding: 5%; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | width: 100%; |
| | | border-radius: 5px; |
| | | color: white; |
| | | height: 25px; |
| | | border: 1px solid gray; |
| | | } |
| | | .topContent { |
| | | background: rgba(0, 0, 0, 0.5); |
| | | width: 100%; |
| | | padding: 5%; |
| | | border-radius: 5px; |
| | | border: 1px solid gray; |
| | | } |
| | | |
| | | .el-icon-close { |
| | | color: white; |
| | | } |
| | | .el-icon-arrow-down { |
| | | color: white; |
| | | } |
| | | .el-icon-arrow-up { |
| | | color: white; |
| | | } |
| | | |
| | | .contentHeader { |
| | | border-top: 1px solid gray; |
| | | padding: 3%; |
| | | width: 94%; |
| | | color: white; |
| | | } |
| | | .center { |
| | | margin-left: 1%; |
| | | } |
| | | .CenDiv { |
| | | position: absolute; |
| | | bottom: 3%; |
| | | height: 40px; |
| | | width: 60px; |
| | | z-index: 101; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | box-shadow: 3px 3px 6px #666; |
| | | border: 1px solid rgba(204, 204, 204, 0.76); |
| | | border-radius: 5px; |
| | | cursor: pointer; |
| | | } |
| | | .center1 { |
| | | margin-left: 1%; |
| | | } |
| | | .right { |
| | | position: absolute; |
| | | top: 50px; |
| | | right: 0; |
| | | width: 20%; |
| | | height: calc(100% - 50px); |
| | | |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | .CenDiv:hover { |
| | | border: 1px solid #409eff; |
| | | } |
| | | .active { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('../../assets/img/Layer/imgLayer2.png') no-repeat center; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | border-radius: 5px; |
| | | } |
| | | .menuLayer { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url('../../assets/img/Layer/imgLayer1.png') no-repeat center; |
| | | position: absolute; |
| | | background-size: 100% 100%; |
| | | border-radius: 5px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <script> |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | import { |
| | | queryMenuAll, |
| | | queryMenuTree, |
| | | updateMenuTree, |
| | | updateMenuTrees, |
| | | queryMaxId, |
| | |
| | | // queryMaxId().then((res) => { |
| | | // this.id = res.data; |
| | | // }); |
| | | queryMenuAll().then((res) => { |
| | | queryMenuTree().then((res) => { |
| | | if (res.code == 200) { |
| | | this.menuList = this.treeData(res.result); |
| | | this.oriData = res.result; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="mochaitmo_Box"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | .mochaitmo_Box { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | |
| | | this.queryInfo(); |
| | | }, |
| | | showPermsMenu(res) { |
| | | console.log(res.tag); |
| | | switch (res.tag) { |
| | | case "/delete": |
| | | this.menuStatus.delete = true; |