| | |
| | | valueexamine: "请选择目录节点所需的检查项", |
| | | valuedirectory: "请选择所属目录", |
| | | valuedescription: "请输入描述信息", |
| | | valuesuffix: "请输入目录节点可存储数据类型后缀,如:.zip,.doc,.xls,.dwg,.pdf", |
| | | valuesuffix: "请输入目录节点可存储数据类型后缀,如:.zip,.doc,.xls, ,.pdf", |
| | | label: '请添加要查询的条件', |
| | | queryContent: '请输入查询内容', |
| | | geographicPosition: '请在地图上添加地理位置', |
| | |
| | | <template> |
| | | <div class="barchar" ref="chart"></div> |
| | | <div class="barchar" |
| | | ref="chart"></div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | chart: null, |
| | | dataList: [], |
| | | } |
| | | }, |
| | | computed: { |
| | | option() { |
| | | let data = [ |
| | | option () { |
| | | let data=[ |
| | | { |
| | | country: "苏丹", |
| | | count: 1, |
| | |
| | | }, |
| | | ] |
| | | |
| | | let xAxisData = [] |
| | | let yAxisData = [] |
| | | if (this.dataList) { |
| | | data = this.dataList |
| | | let xAxisData=[] |
| | | let yAxisData=[] |
| | | if(this.dataList) { |
| | | data=this.dataList |
| | | } |
| | | let count = 0 |
| | | let countVal = 0 |
| | | let count=0 |
| | | let countVal=0 |
| | | |
| | | const title = this.title |
| | | const title=this.title |
| | | data.forEach(item => { |
| | | let name = item.province || item.country || item.输送介质 |
| | | let value = item.count || item.站场数量 |
| | | if (title == "站场座数" && item.管道数量) { |
| | | count += item.管道数量 |
| | | let name=item.province||item.country||item.输送介质 |
| | | let value=item.count||item.站场数量 |
| | | if(title=="站场座数"&&item.管道数量) { |
| | | count+=item.管道数量 |
| | | } else { |
| | | count += item.count || 0 |
| | | count+=item.count||0 |
| | | } |
| | | |
| | | // switch (title) { |
| | |
| | | xAxisData.push(name) |
| | | yAxisData.push(value) |
| | | }) |
| | | console.log("管道数量", countVal) |
| | | |
| | | if (typeof count === "number") { |
| | | this.$bus.$emit("changeCount", count) |
| | | var obj=[]; |
| | | for(var i in xAxisData) { |
| | | if(xAxisData[i]) { |
| | | obj.push(xAxisData[i]) |
| | | } else { |
| | | obj.push("其他") |
| | | } |
| | | } |
| | | let option = { |
| | | |
| | | xAxisData=obj |
| | | |
| | | if(typeof count==="number") { |
| | | this.$bus.$emit("changeCount",count) |
| | | } |
| | | let option={ |
| | | backgroundColor: "transparent", |
| | | tooltip: { |
| | | trigger: "axis", |
| | |
| | | textStyle: { |
| | | fontSize: 11, |
| | | }, |
| | | formatter: function (value) { |
| | | formatter: function(value) { |
| | | // |
| | | var ret = "" //拼接加\n返回的类目项 |
| | | var maxLength = 2 //每项显示文字个数 |
| | | var valLength = value.length //X轴类目项的文字个数 |
| | | var rowN = Math.ceil(valLength / maxLength) //类目项需要换行的行数 |
| | | if (xAxisData.length < 7) { |
| | | var ret="" //拼接加\n返回的类目项 |
| | | var maxLength=2 //每项显示文字个数 |
| | | var valLength=value.length //X轴类目项的文字个数 |
| | | var rowN=Math.ceil(valLength/maxLength) //类目项需要换行的行数 |
| | | if(xAxisData.length<7) { |
| | | return value |
| | | } |
| | | if (rowN > 1) { |
| | | if(rowN>1) { |
| | | //如果类目项的文字大于3, |
| | | for (var i = 0; i < rowN; i++) { |
| | | var temp = "" //每次截取的字符串 |
| | | var start = i * maxLength //开始截取的位置 |
| | | var end = start + maxLength //结束截取的位置 |
| | | for(var i=0;i<rowN;i++) { |
| | | var temp="" //每次截取的字符串 |
| | | var start=i*maxLength //开始截取的位置 |
| | | var end=start+maxLength //结束截取的位置 |
| | | //这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧 |
| | | temp = value.substring(start, end) + "\n" |
| | | ret += temp //凭借最终的字符串 |
| | | temp=value.substring(start,end)+"\n" |
| | | ret+=temp //凭借最终的字符串 |
| | | } |
| | | return ret |
| | | } else { |
| | |
| | | ], |
| | | false |
| | | ), |
| | | barBorderRadius: [20, 20, 0, 0], |
| | | barBorderRadius: [20,20,0,0], |
| | | shadowColor: "rgba(0,160,221,1)", |
| | | shadowBlur: 4, |
| | | }, |
| | |
| | | height: 14, |
| | | backgroundColor: "rgba(0,160,221,0.1)", |
| | | borderRadius: 200, |
| | | position: ["-8", "-20"], |
| | | position: ["-8","-20"], |
| | | distance: 1, |
| | | formatter: value => { |
| | | // console.log(value); |
| | | if (value.name == "中国") { |
| | | if(value.name=="中国") { |
| | | return [ |
| | | ` {d|●}", " {a|${value.value}} \n", " {b|}`, |
| | | ].join(",") |
| | |
| | | watch: { |
| | | option: { |
| | | deep: true, |
| | | handler(newVal) { |
| | | handler (newVal) { |
| | | this.setOptions(newVal) |
| | | }, |
| | | }, |
| | | project: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | let requsetFn = null |
| | | switch (newVal) { |
| | | handler (newVal) { |
| | | let requsetFn=null |
| | | switch(newVal) { |
| | | case "全球项目": |
| | | requsetFn = countCountryDimension |
| | | requsetFn=countCountryDimension |
| | | break |
| | | case "全国项目": |
| | | requsetFn = countProvinceDimension |
| | | requsetFn=countProvinceDimension |
| | | break |
| | | case "全球管网图": |
| | | requsetFn = countZhPipeStations |
| | | requsetFn=countZhPipeStations |
| | | break |
| | | case "全国管网图": |
| | | requsetFn = countZhPipeStations |
| | | requsetFn=countZhPipeStations |
| | | break |
| | | default: |
| | | break |
| | | } |
| | | requsetFn && this.initData(requsetFn) |
| | | requsetFn&&this.initData(requsetFn) |
| | | this.setOptions(this.option) |
| | | }, |
| | | }, |
| | | }, |
| | | mounted() { |
| | | mounted () { |
| | | // this.initData() |
| | | this.initChart() |
| | | if (this.autoResize) { |
| | | window.addEventListener("resize", this.resizeHandler) |
| | | if(this.autoResize) { |
| | | window.addEventListener("resize",this.resizeHandler) |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (!this.chart) { |
| | | beforeDestroy () { |
| | | if(!this.chart) { |
| | | return |
| | | } |
| | | if (this.autoResize) { |
| | | window.removeEventListener("resize", this.resizeHandler) |
| | | if(this.autoResize) { |
| | | window.removeEventListener("resize",this.resizeHandler) |
| | | } |
| | | this.chart.dispose() |
| | | this.chart = null |
| | | this.chart=null |
| | | }, |
| | | methods: { |
| | | resizeHandler() { |
| | | this.chart && this.chart.resize() |
| | | resizeHandler () { |
| | | this.chart&&this.chart.resize() |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart, "", { |
| | | initChart () { |
| | | this.chart=echarts.init(this.$refs.chart,"",{ |
| | | renderer: this.type, |
| | | }) |
| | | this.chart.setOption(this.option) |
| | | this.chart.on("click", this.handleClick) |
| | | this.chart.on("click",this.handleClick) |
| | | }, |
| | | handleClick(params) { |
| | | this.$emit("click", params) |
| | | handleClick (params) { |
| | | this.$emit("click",params) |
| | | }, |
| | | setOptions(option) { |
| | | setOptions (option) { |
| | | this.clearChart() |
| | | this.resizeHandler() |
| | | if (this.chart) { |
| | | if(this.chart) { |
| | | this.chart.setOption(option) |
| | | } |
| | | }, |
| | | refresh() { |
| | | refresh () { |
| | | this.setOptions(this.option) |
| | | }, |
| | | clearChart() { |
| | | this.chart && this.chart.clear() |
| | | clearChart () { |
| | | this.chart&&this.chart.clear() |
| | | }, |
| | | async initData(requsetFn = countCountryDimension) { |
| | | const res = await requsetFn() |
| | | if (res.code == 200) { |
| | | this.dataList = res.result |
| | | console.log("requsetFn", res) |
| | | async initData (requsetFn=countCountryDimension) { |
| | | const res=await requsetFn() |
| | | if(res.code==200) { |
| | | this.dataList=res.result |
| | | console.log("requsetFn",res) |
| | | } |
| | | }, |
| | | }, |
| | |
| | | <template> |
| | | <div class="linechar" ref="chart"></div> |
| | | <div class="linechar" |
| | | ref="chart"></div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | chart: null, |
| | | dataList: [], |
| | | } |
| | | }, |
| | | computed: { |
| | | option() { |
| | | let xAxis = [] |
| | | let yAxis = [] |
| | | const proObj = this.dataList.find(item => item.项目名称 == this.project) |
| | | if (proObj) { |
| | | option () { |
| | | let xAxis=[] |
| | | let yAxis=[] |
| | | const proObj=this.dataList.find(item => item.项目名称==this.project) |
| | | if(proObj) { |
| | | Object.keys(proObj).forEach(item => { |
| | | if (item.toString() != '项目名称') { |
| | | if(item.toString()!='项目名称') { |
| | | xAxis.push(item) |
| | | yAxis.push(proObj[item]) |
| | | } |
| | | }) |
| | | } else { |
| | | this.dataList.forEach(item => { |
| | | let type = item.type || item.projtype |
| | | let type=item.type||item.projtype |
| | | xAxis.push(type) |
| | | yAxis.push(item.count) |
| | | }) |
| | |
| | | // } |
| | | // }) |
| | | |
| | | let option = { |
| | | var obj=[]; |
| | | for(var i in xAxis) { |
| | | if(xAxis[i]) { |
| | | obj.push(xAxis[i]) |
| | | } else { |
| | | obj.push("其他") |
| | | } |
| | | } |
| | | |
| | | xAxis=obj |
| | | let option={ |
| | | tooltip: { |
| | | trigger: "axis", |
| | | }, |
| | |
| | | watch: { |
| | | option: { |
| | | deep: true, |
| | | handler(newVal) { |
| | | handler (newVal) { |
| | | this.setOptions(newVal) |
| | | }, |
| | | }, |
| | | project: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | let requsetFn = null |
| | | switch (newVal) { |
| | | handler (newVal) { |
| | | let requsetFn=null |
| | | switch(newVal) { |
| | | case "全球项目": |
| | | requsetFn = countProjectTypeNumber |
| | | requsetFn=countProjectTypeNumber |
| | | break |
| | | case "全国项目": |
| | | requsetFn = countProjectTypeNumber |
| | | requsetFn=countProjectTypeNumber |
| | | break |
| | | case "全球管网图": |
| | | requsetFn = countZhPipeMapLength |
| | | requsetFn=countZhPipeMapLength |
| | | break |
| | | case "全国管网图": |
| | | requsetFn = countZhPipeMapLength |
| | | requsetFn=countZhPipeMapLength |
| | | break |
| | | default: |
| | | requsetFn = countStorageByProject |
| | | requsetFn=countStorageByProject |
| | | |
| | | break |
| | | } |
| | | requsetFn && this.initData(requsetFn) |
| | | requsetFn&&this.initData(requsetFn) |
| | | |
| | | this.setOptions(this.option) |
| | | }, |
| | | }, |
| | | }, |
| | | mounted() { |
| | | mounted () { |
| | | // this.initData() |
| | | this.initChart() |
| | | if (this.autoResize) { |
| | | window.addEventListener("resize", this.resizeHandler) |
| | | if(this.autoResize) { |
| | | window.addEventListener("resize",this.resizeHandler) |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (!this.chart) { |
| | | beforeDestroy () { |
| | | if(!this.chart) { |
| | | return |
| | | } |
| | | if (this.autoResize) { |
| | | window.removeEventListener("resize", this.resizeHandler) |
| | | if(this.autoResize) { |
| | | window.removeEventListener("resize",this.resizeHandler) |
| | | } |
| | | this.chart.dispose() |
| | | this.chart = null |
| | | this.chart=null |
| | | }, |
| | | methods: { |
| | | resizeHandler() { |
| | | this.chart && this.chart.resize() |
| | | resizeHandler () { |
| | | this.chart&&this.chart.resize() |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart, "", { |
| | | initChart () { |
| | | this.chart=echarts.init(this.$refs.chart,"",{ |
| | | renderer: this.type, |
| | | }) |
| | | this.chart.setOption(this.option) |
| | | this.chart.on("click", this.handleClick) |
| | | this.chart.on("click",this.handleClick) |
| | | }, |
| | | handleClick(params) { |
| | | this.$emit("click", params) |
| | | handleClick (params) { |
| | | this.$emit("click",params) |
| | | }, |
| | | setOptions(option) { |
| | | setOptions (option) { |
| | | this.clearChart() |
| | | this.resizeHandler() |
| | | if (this.chart) { |
| | | if(this.chart) { |
| | | this.chart.setOption(option) |
| | | } |
| | | }, |
| | | refresh() { |
| | | refresh () { |
| | | this.setOptions(this.option) |
| | | }, |
| | | clearChart() { |
| | | this.chart && this.chart.clear() |
| | | clearChart () { |
| | | this.chart&&this.chart.clear() |
| | | }, |
| | | async initData(requsetFn = GetServicesVisitsCount) { |
| | | const res = await requsetFn(this.params) |
| | | if (res.code == 200) { |
| | | this.dataList = res.result |
| | | console.log("requsetFn", res) |
| | | async initData (requsetFn=GetServicesVisitsCount) { |
| | | const res=await requsetFn(this.params) |
| | | if(res.code==200) { |
| | | this.dataList=res.result |
| | | console.log("requsetFn",res) |
| | | } |
| | | }, |
| | | }, |
| | |
| | | <template> |
| | | <div |
| | | class="NavBox" |
| | | @click.stop |
| | | > |
| | | <div class="NavBox" |
| | | @click.stop> |
| | | <div class="topBox"> |
| | | <div class="topTitle"></div> |
| | | <div class="topMenu"> |
| | | <div class="menuContent"> |
| | | <div |
| | | class="contentDiv" |
| | | @click="setMenuMove(index, item)" |
| | | v-for="(item, index) in listMenu" |
| | | > |
| | | <div class="contentDiv" |
| | | @click="setMenuMove(index, item)" |
| | | v-for="(item, index) in listMenu"> |
| | | <div style="display: flex;align-items: center"> |
| | | <div class="ImgMenu"> |
| | | <div |
| | | class="menuImage" |
| | | :class="changeSelectStyle == index ? item.checkClass : item.css" |
| | | ></div> |
| | | <div class="menuImage" |
| | | :class="changeSelectStyle == index ? item.checkClass : item.css"></div> |
| | | </div> |
| | | <div |
| | | class="menulabel" |
| | | :class="{ changeStyle: changeSelectStyle == index }" |
| | | > |
| | | <div class="menulabel" |
| | | :class="{ changeStyle: changeSelectStyle == index }"> |
| | | <span v-show="language"> {{ item.cnName }}</span> <span v-show="!language"> {{ item.enName }}</span> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="secondMenuDiv subpage_Div" |
| | | v-show="index == showFlag ? true :false" |
| | | > |
| | | <div |
| | | v-for="res in item.children" |
| | | @click="setLiClick(res,index)" |
| | | :class="{ changeLiStyle: changeliSelect == res.cnName }" |
| | | > |
| | | <div class="secondMenuDiv subpage_Div" |
| | | v-show="index == showFlag ? true :false"> |
| | | <div v-for="res in item.children" |
| | | @click="setLiClick(res,index)" |
| | | :class="{ changeLiStyle: changeliSelect == res.cnName }"> |
| | | <span v-show="language"> {{ res.cnName }}</span> <span v-show="!language"> {{ res.enName }}</span> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="topUser"> |
| | | <div class="userLanguage"> |
| | | <div |
| | | class="userImage theme" |
| | | @click="themeChange" |
| | | ></div> |
| | | <div |
| | | class="userImage user2" |
| | | @click="switchLang" |
| | | ></div> |
| | | <div class="userImage theme" |
| | | @click="themeChange"></div> |
| | | <div class="userImage user2" |
| | | @click="switchLang"></div> |
| | | |
| | | </div> |
| | | <div class="userName"> |
| | | <div class="userImage user1"></div> |
| | | <div class="userText"> |
| | | <span>{{ this.$store.state.uname }}</span> |
| | | <el-link |
| | | @click="logOut" |
| | | :underline="false" |
| | | class="elLink" |
| | | >{{ $t('common.logout') }}</el-link> |
| | | <el-link @click="logOut" |
| | | :underline="false" |
| | | class="elLink">{{ $t('common.logout') }}</el-link> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logout, selectMenuRecursive, sign_insertOpLog } from '@/api/api'; |
| | | import { removeToken, getToken } from '@/utils/auth'; |
| | | import { logout,selectMenuRecursive,sign_insertOpLog } from '@/api/api'; |
| | | import { removeToken,getToken } from '@/utils/auth'; |
| | | import customElMenu from '../components/customElMenu.vue'; |
| | | import { queryMenuTree, getPerms } from '../api/api'; |
| | | import { queryMenuTree,getPerms } from '../api/api'; |
| | | import colorChange from '../views/maintenance/colorChange.vue'; |
| | | import { containsCoordinate } from 'ol/extent'; |
| | | import Vue from 'vue'; |
| | | import Vue,{ nextTick } from 'vue'; |
| | | import $ from 'jquery' |
| | | export default { |
| | | name: 'navMenu', |
| | |
| | | customElMenu, |
| | | colorChange, |
| | | }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | |
| | | themeColor: true, |
| | |
| | | ] |
| | | }; |
| | | }, |
| | | created() { }, |
| | | mounted() { |
| | | this.$store.state.themeflag = false; |
| | | created () { }, |
| | | mounted () { |
| | | this.$store.state.themeflag=false; |
| | | $("#app").removeClass("Black_theme"); |
| | | this.getMenuTree(); |
| | | if (sessionStorage.getItem('changeliSelect')) { |
| | | this.$set(this, 'changeliSelect', sessionStorage.getItem('changeliSelect')) |
| | | if(sessionStorage.getItem('changeliSelect')) { |
| | | this.$set(this,'changeliSelect',sessionStorage.getItem('changeliSelect')) |
| | | // this.changeliSelect = sessionStorage.getItem('changeliSelect') |
| | | } |
| | | document.body.addEventListener('click', () => { |
| | | this.showFlag = null; |
| | | }, false); |
| | | document.body.addEventListener('click',() => { |
| | | this.showFlag=null; |
| | | },false); |
| | | // this.$bus.$on('closeMenuSecond', res => { |
| | | // this.showFlag = null; |
| | | // }) |
| | | window.addEventListener('message', (e) => { |
| | | window.addEventListener('message',(e) => { |
| | | |
| | | this.showFlag = null; |
| | | this.showFlag=null; |
| | | }) |
| | | }, |
| | | computed: {}, |
| | | methods: { |
| | | closeSecondMenu() { |
| | | this.showFlag = null |
| | | closeSecondMenu () { |
| | | this.showFlag=null |
| | | }, |
| | | themeChange() { |
| | | this.$store.state.themeflag = !this.$store.state.themeflag; |
| | | if (this.$store.state.themeflag == true) { |
| | | themeChange () { |
| | | this.$store.state.themeflag=!this.$store.state.themeflag; |
| | | if(this.$store.state.themeflag==true) { |
| | | $("#app").addClass("Black_theme"); |
| | | |
| | | } else { |
| | |
| | | } |
| | | |
| | | }, |
| | | async getCookies() { |
| | | var boolean = this.getTimeCookies(); |
| | | if (boolean != true) { |
| | | async getCookies () { |
| | | var boolean=this.getTimeCookies(); |
| | | if(boolean!=true) { |
| | | this.$router.push('/login'); |
| | | return; |
| | | } |
| | | if (this.$store.state.permsEntity.length == 0) { |
| | | const data = await getPerms(); |
| | | this.$store.state.permsEntity = data.result; |
| | | if(this.$store.state.permsEntity.length==0) { |
| | | const data=await getPerms(); |
| | | this.$store.state.permsEntity=data.result; |
| | | } |
| | | |
| | | this.$store.state.uname = JSON.parse( |
| | | this.$store.state.uname=JSON.parse( |
| | | localStorage.getItem('LFToken') |
| | | ).uname; |
| | | this.$store.state.unid = JSON.parse( |
| | | this.$store.state.unid=JSON.parse( |
| | | localStorage.getItem('LFToken') |
| | | ).userid; |
| | | this.$router.push('/'); |
| | | }, |
| | | getTimeCookies() { |
| | | if (!localStorage.getItem('LFToken')) { |
| | | getTimeCookies () { |
| | | if(!localStorage.getItem('LFToken')) { |
| | | return false |
| | | } |
| | | var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time); |
| | | var time2 = new Date(); |
| | | if (time2 > time1) { |
| | | var time1=new Date(JSON.parse(localStorage.getItem('LFToken')).time); |
| | | var time2=new Date(); |
| | | if(time2>time1) { |
| | | return false; |
| | | } else { |
| | | return true; |
| | |
| | | }, |
| | | |
| | | //主题切换 |
| | | setThemeColors() { }, |
| | | async signInsertOpLog(m1, m2) { |
| | | var obj = { |
| | | setThemeColors () { }, |
| | | async signInsertOpLog (m1,m2) { |
| | | var obj={ |
| | | m1: m1, |
| | | m2: m2, |
| | | } |
| | | const data = await sign_insertOpLog(obj); |
| | | const data=await sign_insertOpLog(obj); |
| | | }, |
| | | //鼠标移入菜单事件 |
| | | setMenuMove(index, item) { |
| | | setMenuMove (index,item) { |
| | | |
| | | if (item.perms != null && item.perms != "") { |
| | | if(item.perms!=null&&item.perms!="") { |
| | | this.$router.push(item.url); |
| | | if (this.showFlag != null) { |
| | | if(this.showFlag!=null) { |
| | | |
| | | this.changeliSelect = '%%'; |
| | | this.showFlag = null; |
| | | this.changeliSelect='%%'; |
| | | this.showFlag=null; |
| | | } |
| | | if (item.url == "Thematic") { |
| | | this.signInsertOpLog("综合展示", item.cnName) |
| | | if(item.url=="Thematic") { |
| | | this.signInsertOpLog("综合展示",item.cnName) |
| | | this.$nextTick(function() { |
| | | location.reload(); |
| | | }) |
| | | |
| | | } |
| | | |
| | | this.changeSelectStyle = index; |
| | | sessionStorage.setItem('changeSelectStyle', index) |
| | | this.changeSelectStyle=index; |
| | | sessionStorage.setItem('changeSelectStyle',index) |
| | | } else { |
| | | if (this.showFlag != index) { |
| | | this.showFlag = index; |
| | | if(this.showFlag!=index) { |
| | | this.showFlag=index; |
| | | } else { |
| | | this.showFlag = null; |
| | | this.showFlag=null; |
| | | } |
| | | } |
| | | // |
| | | if (index === 4 || index === 5 || index === 6) { |
| | | if(index===4||index===5||index===6) { |
| | | sessionStorage.removeItem('changeliSelect') |
| | | this.$set(this, 'changeliSelect', null) |
| | | this.$set(this,'changeliSelect',null) |
| | | } |
| | | |
| | | |
| | | }, |
| | | closeAllChildren() { |
| | | var val = this.listMenu |
| | | for (var i = 0; i < val.length; i++) { |
| | | let newItem = val[i]; |
| | | newItem.show = false; |
| | | closeAllChildren () { |
| | | var val=this.listMenu |
| | | for(var i=0;i<val.length;i++) { |
| | | let newItem=val[i]; |
| | | newItem.show=false; |
| | | |
| | | Vue.set(val, i, newItem); |
| | | Vue.set(val,i,newItem); |
| | | |
| | | } |
| | | }, |
| | | setShowFalseDiv(bolean) { |
| | | var index = this.showFlag; |
| | | if (index != null) { |
| | | let newItem = this.listMenu[index]; |
| | | setShowFalseDiv (bolean) { |
| | | var index=this.showFlag; |
| | | if(index!=null) { |
| | | let newItem=this.listMenu[index]; |
| | | |
| | | newItem.show = bolean; |
| | | Vue.set(this.listMenu, index, newItem); |
| | | newItem.show=bolean; |
| | | Vue.set(this.listMenu,index,newItem); |
| | | } |
| | | }, |
| | | setLiClick(res, index) { |
| | | this.changeSelectStyle = index; |
| | | sessionStorage.setItem('changeSelectStyle', index) |
| | | setLiClick (res,index) { |
| | | this.changeSelectStyle=index; |
| | | sessionStorage.setItem('changeSelectStyle',index) |
| | | sessionStorage.removeItem('hanleselectmochaitmo') |
| | | sessionStorage.removeItem('hanleselectindex') |
| | | |
| | | // this.signInsertOpLog(this.listMenu[index].cnName, res.cnName) |
| | | setTimeout(() => { |
| | | this.changeliSelect = res.cnName; |
| | | sessionStorage.setItem('changeliSelect', res.cnName) |
| | | if (res.url.indexOf('{fmeHost}') != -1) { |
| | | this.$store.reporturl = res.url; |
| | | sessionStorage.setItem('iframehttpurl', this.$store.reporturl) |
| | | this.changeliSelect=res.cnName; |
| | | sessionStorage.setItem('changeliSelect',res.cnName) |
| | | if(res.url.indexOf('{fmeHost}')!=-1) { |
| | | this.$store.reporturl=res.url; |
| | | sessionStorage.setItem('iframehttpurl',this.$store.reporturl) |
| | | this.$router.push('/QualityInspection'); |
| | | // if (location.href.indexOf('/WareInspection') == -1) { |
| | | // this.$store.reporturl = res.url; |
| | |
| | | // this.$bus.$emit('changeNaveUrl', res.url); |
| | | // } |
| | | } else { |
| | | this.$store.reporturl = null; |
| | | sessionStorage.setItem('iframehttpurl', null) |
| | | this.$store.reporturl=null; |
| | | sessionStorage.setItem('iframehttpurl',null) |
| | | // sessionStorage.setItem('changeliSelect', null) |
| | | this.$router.push(res.url); |
| | | this.$store.commit('currentPerms', res.perms); |
| | | this.$store.commit('currentPerms',res.perms); |
| | | } |
| | | this.setShowFalseDiv(false) |
| | | }, 100) |
| | | },100) |
| | | |
| | | }, |
| | | async getMenuTree() { |
| | | async getMenuTree () { |
| | | this.getCookies(); |
| | | const data = await queryMenuTree(); |
| | | const data=await queryMenuTree(); |
| | | |
| | | var that = this; |
| | | if (data.code == 200) { |
| | | var that=this; |
| | | if(data.code==200) { |
| | | |
| | | if (data.result.length != 0) { |
| | | let menuLists = data.result.filter((value) => { |
| | | return value.pid == 1; |
| | | if(data.result.length!=0) { |
| | | let menuLists=data.result.filter((value) => { |
| | | return value.pid==1; |
| | | }); |
| | | |
| | | that.menuList = menuLists; |
| | | that.menuList=menuLists; |
| | | |
| | | that.setMenuTree(menuLists); |
| | | } else { |
| | |
| | | } |
| | | } |
| | | }, |
| | | async setMenuTree(res) { |
| | | async setMenuTree (res) { |
| | | |
| | | for (var i in res) { |
| | | res[i].checkClass = res[i].css + '1'; |
| | | res[i].show = false; //控制显隐 |
| | | for(var i in res) { |
| | | res[i].checkClass=res[i].css+'1'; |
| | | res[i].show=false; //控制显隐 |
| | | |
| | | if (res[i].perms == null || res[i].perms == "") { |
| | | const result = await selectMenuRecursive({ id: res[i].id }); |
| | | if(res[i].perms==null||res[i].perms=="") { |
| | | const result=await selectMenuRecursive({ id: res[i].id }); |
| | | |
| | | if (result.code == 200) { |
| | | if(result.code==200) { |
| | | |
| | | res[i].children = result.result.filter((value) => { |
| | | return value.isShow == 1; |
| | | res[i].children=result.result.filter((value) => { |
| | | return value.isShow==1; |
| | | }) |
| | | .filter((value) => { |
| | | return value.pid == res[i].id; |
| | | return value.pid==res[i].id; |
| | | }); |
| | | |
| | | } |
| | |
| | | // this.changeSelectStyle = this.listMenu.length - 1; |
| | | // } |
| | | |
| | | this.changeSelectStyle = sessionStorage.getItem('changeSelectStyle') |
| | | this.changeSelectStyle=sessionStorage.getItem('changeSelectStyle') |
| | | // var strartMneu = res[i].children[0]; |
| | | // this.$store.commit('currentPerms', strartMneu.perms); |
| | | // this.changeliSelect = strartMneu.cnName; |
| | |
| | | } |
| | | } |
| | | }, |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | treeData (source) { |
| | | let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | // console.log(cloneData); |
| | | if (cloneData.length != 0) { |
| | | if(cloneData.length!=0) { |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值 |
| | | let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | 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; // 返回一级菜单 |
| | | return father.pid==1; // 返回一级菜单 |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | |
| | | }); |
| | | } |
| | | }, |
| | | logOut() { |
| | | this.$confirm('确认是否退出登录?', '提示', { |
| | | logOut () { |
| | | this.$confirm('确认是否退出登录?','提示',{ |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | const data = await logout({ token: getToken() }); |
| | | const data=await logout({ token: getToken() }); |
| | | // console.log(data); |
| | | if (data.code != 200) { |
| | | if(data.code!=200) { |
| | | return this.$message.error('退出登录失败'); |
| | | } |
| | | removeToken(); |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | switchLang() { |
| | | switchLang () { |
| | | //当前en |
| | | if (this.lang == 'en') { |
| | | if(this.lang=='en') { |
| | | //语言换成zh |
| | | this.lang = 'zh'; |
| | | this.language = true; |
| | | this.$store.state.language = true; |
| | | this.lang='zh'; |
| | | this.language=true; |
| | | this.$store.state.language=true; |
| | | //菜单换为zh |
| | | this.$store.commit('changeLang', 'zh'); |
| | | this.$store.commit('changeLang','zh'); |
| | | //i18换成zh |
| | | this.$i18n.locale = this.lang; |
| | | this.$i18n.locale=this.lang; |
| | | } |
| | | //当前zh |
| | | else { |
| | | this.lang = 'en'; |
| | | this.language = false; |
| | | this.$store.state.language = false; |
| | | this.$i18n.locale = this.lang; |
| | | this.$store.commit('changeLang', 'en'); //传递点击的节点 |
| | | this.lang='en'; |
| | | this.language=false; |
| | | this.$store.state.language=false; |
| | | this.$i18n.locale=this.lang; |
| | | this.$store.commit('changeLang','en'); //传递点击的节点 |
| | | } |
| | | }, |
| | | handleselect(index, indexPath, e) { |
| | | handleselect (index,indexPath,e) { |
| | | // console.log(e.$attrs.perms); |
| | | this.$store.commit('currentPerms', e.$attrs.perms.perms); |
| | | if (Window.ws != null) { |
| | | this.$store.commit('currentPerms',e.$attrs.perms.perms); |
| | | if(Window.ws!=null) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | Window.ws.onclose=() => { |
| | | console.log('服务器关闭'); |
| | | }; |
| | | Window.ws = null; |
| | | Window.ws=null; |
| | | } |
| | | debugger |
| | | if (index.indexOf('{fmeHost}') != -1) { |
| | | debugger |
| | | if(index.indexOf('{fmeHost}')!=-1) { |
| | | this.$router.push('/databaseMonitoring'); |
| | | this.$store.commit('getIframe', index); |
| | | } else if (isNaN(Number(index))) { |
| | | this.$store.commit('getIframe',index); |
| | | } else if(isNaN(Number(index))) { |
| | | this.$router.push(index); |
| | | } |
| | | }, |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | let str = this.$route.path; |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | $route () { |
| | | let str=this.$route.path; |
| | | if(str[0]=='/') { |
| | | this.activeIndex=str.slice(1); |
| | | } |
| | | }, |
| | | }, |
| | | created() { |
| | | this.$store.reporturl = null; |
| | | let str = this.$route.path; |
| | | if (str[0] == '/') { |
| | | this.activeIndex = str.slice(1); |
| | | created () { |
| | | this.$store.reporturl=null; |
| | | let str=this.$route.path; |
| | | if(str[0]=='/') { |
| | | this.activeIndex=str.slice(1); |
| | | } |
| | | }, |
| | | }; |
| | |
| | | <template> |
| | | <div class="themaic"> |
| | | <mapsdk></mapsdk> |
| | | <top class="title" ref="title"></top> |
| | | <left |
| | | class="mapleft" |
| | | :style="{ width: leftWidth, left: leftWidth == '22%' ? '-19px' : '0' }" |
| | | ref="mapleft" |
| | | ></left> |
| | | <top class="title" |
| | | ref="title"></top> |
| | | <left class="mapleft" |
| | | :style="{ width: leftWidth, left: leftWidth == '22%' ? '-19px' : '0' }" |
| | | ref="mapleft"></left> |
| | | |
| | | <project-tree class="project-tree" v-show="ProjectreeDisplay"></project-tree> |
| | | <project-tree class="project-tree" |
| | | v-show="ProjectreeDisplay"></project-tree> |
| | | |
| | | <right |
| | | class="mapright" |
| | | :style="{ width: rightWidth }" |
| | | ref="mapright" |
| | | ></right> |
| | | <bottom class="mapbottom" ref="mapbottom"></bottom> |
| | | <right class="mapright" |
| | | :style="{ width: rightWidth }" |
| | | ref="mapright"></right> |
| | | <bottom class="mapbottom" |
| | | ref="mapbottom"></bottom> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import ProjectTree from "../../components/Screen/ProjectTree.vue" |
| | | import axios from "axios" |
| | | export default { |
| | | components: { mapsdk, top, left, right, bottom, ProjectTree }, |
| | | data() { |
| | | components: { mapsdk,top,left,right,bottom,ProjectTree }, |
| | | data () { |
| | | return { |
| | | leftWidth: "22%", |
| | | rightWidth: "22%", |
| | |
| | | ProjectreeDisplay: false, |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | created() { |
| | | this.$bus.$on("changeTree", key => { |
| | | this.ProjectreeDisplay = key |
| | | mounted () { |
| | | |
| | | }, |
| | | created () { |
| | | this.$bus.$on("changeTree",key => { |
| | | this.ProjectreeDisplay=key |
| | | }) |
| | | }, |
| | | methods: { |
| | | //修改左侧宽度 |
| | | ChangeWidth(parm) { |
| | | if (parm == "left") { |
| | | if (this.leftWidth == "22%") { |
| | | this.leftWidth = "8px" |
| | | ChangeWidth (parm) { |
| | | if(parm=="left") { |
| | | if(this.leftWidth=="22%") { |
| | | this.leftWidth="8px" |
| | | } else { |
| | | this.leftWidth = "22%" |
| | | this.leftWidth="22%" |
| | | } |
| | | } |
| | | |
| | | if (parm == "leftView" || parm == "leftTree") { |
| | | this.leftWidth = "22%" |
| | | this.rightWidth = "22%" |
| | | if(parm=="leftView"||parm=="leftTree") { |
| | | this.leftWidth="22%" |
| | | this.rightWidth="22%" |
| | | } |
| | | // if (parm == "leftView") { |
| | | // this.leftTree = false |
| | |
| | | // this.leftTree = true |
| | | // } |
| | | |
| | | if (parm == "right") { |
| | | if (this.rightWidth == "22%") { |
| | | this.rightWidth = "45px" |
| | | if(parm=="right") { |
| | | if(this.rightWidth=="22%") { |
| | | this.rightWidth="45px" |
| | | } else { |
| | | this.rightWidth = "22%" |
| | | this.rightWidth="22%" |
| | | } |
| | | } |
| | | }, |
| | |
| | | <template> |
| | | <Popup ref="pop" :title="title" @close="close(true)" width="400px" @yes="addData" @cancel="close(false)"> |
| | | <Popup ref="pop" |
| | | :title="title" |
| | | @close="close(true)" |
| | | width="400px" |
| | | @yes="addData" |
| | | @cancel="close(false)"> |
| | | |
| | | <div id="archTopBox" class="archTopBox"> |
| | | <div id="archTopBox" |
| | | class="archTopBox"> |
| | | |
| | | <div class="boxCard" v-for="(item, index) in mapList"> |
| | | <div class="boxCard" |
| | | v-for="(item, index) in mapList"> |
| | | <el-card class="box-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <div slot="header" |
| | | class="clearfix"> |
| | | <span style="font-size:14px">{{ item.name }}</span> |
| | | <div style="float: right; padding: 3px 0"> |
| | | <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')" |
| | | @click="setCardChange(item)"></i> |
| | | <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down" |
| | | :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i> |
| | | <i v-show="!item.isShow" |
| | | style="margin-left:10px" |
| | | class="el-icon-arrow-up" |
| | | :title="$t('archiveObj.fold')" |
| | | @click="setCardChange(item)"></i> |
| | | <i v-show="item.isShow" |
| | | style="margin-left:10px" |
| | | class="el-icon-arrow-down" |
| | | :title="$t('archiveObj.develop')" |
| | | @click="setCardChange(item)"></i> |
| | | </div> |
| | | </div> |
| | | <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow"> |
| | | <div :id="item.id" |
| | | style="margin:5px 1px" |
| | | v-show="!item.isShow"> |
| | | <div style="margin:10px;width:380px"> |
| | | <div class="map" v-for="(map, mapIndex) in item.list" @click="addImageLayer(map, item)"> |
| | | <img style="width: 60px; height: 60px" :src="map.image"></img> |
| | | <div> <el-link :underline="false"> |
| | | <div class="map" |
| | | v-for="(map, mapIndex) in item.list" |
| | | @click="addImageLayer(map, item)"> |
| | | <img style="width: 60px; height: 60px" |
| | | :src="map.image"></img> |
| | | <div> |
| | | <el-link :underline="false"> |
| | | {{ map.name }} |
| | | </el-link></div> |
| | | </el-link> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | Popup, |
| | | }, |
| | | mixins: [], |
| | | data() { |
| | | data () { |
| | | return { |
| | | title: "3D在线地图", |
| | | left: undefined, |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | activeNames() { |
| | | activeNames () { |
| | | return this.mapList.map((item) => { |
| | | return item.name; |
| | | }); |
| | | }, |
| | | }, |
| | | methods: { |
| | | setCardChange(res) { |
| | | res.isShow = !res.isShow |
| | | setCardChange (res) { |
| | | res.isShow=!res.isShow |
| | | }, |
| | | // 关闭弹窗 |
| | | close(isCloseBtn, removeLayer = true) { |
| | | close (isCloseBtn,removeLayer=true) { |
| | | // removeLayer && this.removeImageLayer(); |
| | | |
| | | // 重置data值 |
| | | Object.assign(this.$data, this.$options.data()); |
| | | !isCloseBtn && this.$refs.pop.close(); |
| | | Object.assign(this.$data,this.$options.data()); |
| | | !isCloseBtn&&this.$refs.pop.close(); |
| | | }, |
| | | // 打开弹窗 |
| | | open() { |
| | | open () { |
| | | this.close(true); |
| | | this.$refs.pop.open(); |
| | | |
| | | }, |
| | | changeToken(token) { |
| | | this.mapCollection.tokne = token; |
| | | changeToken (token) { |
| | | this.mapCollection.tokne=token; |
| | | }, |
| | | removeImageLayer() { |
| | | removeImageLayer () { |
| | | // window.BaseMapLayer && window.BaseMapLayer.deleteObject(); |
| | | // window.BaseMapLayer = undefined; |
| | | window.Viewer.imageryLayers.remove( |
| | | window.BaseMapLayer |
| | | ); |
| | | |
| | | }, |
| | | addImageLayer(map, mapCollection) { |
| | | |
| | | if ( |
| | | this.data.name === map.name && |
| | | (this.data.urls === map.urls || this.data.urls === mapCollection.urls) |
| | | }, |
| | | addImageLayer (map,mapCollection) { |
| | | |
| | | if( |
| | | this.data.name===map.name&& |
| | | (this.data.urls===map.urls||this.data.urls===mapCollection.urls) |
| | | ) { |
| | | return; |
| | | } |
| | | |
| | | this.removeImageLayer(); |
| | | |
| | | this.mapCollection = mapCollection; |
| | | if (mapCollection.sourceType === "cesium") { |
| | | |
| | | return; |
| | | } else if (mapCollection.sourceType === "tdmap") { |
| | | this.mapCollection=mapCollection; |
| | | if(mapCollection.sourceType==="cesium") { |
| | | |
| | | var tokne = mapCollection.tokne; |
| | | return; |
| | | } else if(mapCollection.sourceType==="tdmap") { |
| | | |
| | | var tokne=mapCollection.tokne; |
| | | //添加天地图影像 |
| | | |
| | | window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ |
| | | url: map.urls + tokne, |
| | | window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ |
| | | url: map.urls+tokne, |
| | | layer: "tdtImgLayer", |
| | | style: "default", |
| | | format: "image/jpeg", |
| | | tileMatrixSetID: "GoogleMapsCompatible", |
| | | })) |
| | | |
| | | |
| | | } else if (mapCollection.sourceType === "gdmap") { |
| | | |
| | | window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( |
| | | } else if(mapCollection.sourceType==="gdmap") { |
| | | |
| | | window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider( |
| | | new Cesium.UrlTemplateImageryProvider({ |
| | | url: map.urls, |
| | | maximumLevel: 22, |
| | | }) |
| | | ); |
| | | |
| | | |
| | | } else if (mapCollection.sourceType === "localmap") { |
| | | var ulr = map.urls; |
| | | ulr = ulr.replace("{host}", iisHost) |
| | | |
| | | window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( |
| | | } else if(mapCollection.sourceType==="localmap") { |
| | | var ulr=map.urls; |
| | | console.log(iisHost) |
| | | ulr=ulr.replace("{host}",iisHost) |
| | | |
| | | window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider( |
| | | new Cesium.UrlTemplateImageryProvider({ |
| | | url: ulr, |
| | | maximumLevel: 22, |
| | | }) |
| | | ); |
| | | |
| | | |
| | | |
| | | } |
| | | Viewer.imageryLayers.lowerToBottom(window.BaseMapLayer);//将图层移到最底层 |
| | | Viewer.imageryLayers.raise(window.BaseMapLayer);//将图层移到最底层 |
| | | |
| | | if (is_production) { |
| | | if(is_production) { |
| | | Viewer.imageryLayers.raise(window.BaseMapLayer);//将图层上移一层 |
| | | } |
| | | }, |
| | | // 添加数据 |
| | | addData() { |
| | | if (this.data.urls && this.data.sourceType) { |
| | | let data = { |
| | | addData () { |
| | | if(this.data.urls&&this.data.sourceType) { |
| | | let data={ |
| | | id: window.sgworld.Core.getuid(), |
| | | ...this.data, |
| | | Level: [0, 26], |
| | | Level: [0,26], |
| | | }; |
| | | if (data.sourceType === "tdmap") { |
| | | data.urls += "&tk=" + this.tokne; |
| | | } else if (data.sourceType === "bdmap") { |
| | | data.style = this.mapCollection.style; |
| | | if(data.sourceType==="tdmap") { |
| | | data.urls+="&tk="+this.tokne; |
| | | } else if(data.sourceType==="bdmap") { |
| | | data.style=this.mapCollection.style; |
| | | } |
| | | if (this.mapCollection.GCJ02) { |
| | | data.GCJ02 = true; |
| | | if(this.mapCollection.GCJ02) { |
| | | data.GCJ02=true; |
| | | } |
| | | |
| | | data.item = window.BaseMapLayer; |
| | | window.BaseMapLayer = undefined; |
| | | data.item=window.BaseMapLayer; |
| | | window.BaseMapLayer=undefined; |
| | | |
| | | this.$emit("success", data); |
| | | this.close(false, false); |
| | | this.$emit("success",data); |
| | | this.close(false,false); |
| | | } else { |
| | | this.$message("请选择地图"); |
| | | } |
| | |
| | | { |
| | | name: "地图", |
| | | image: require("../../assets/img/imageLayer/gdmap_map.jpg"), |
| | | urls: "http://{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png", |
| | | urls: "{host}/LFData/2d/tiles/vec/{z}/{x}/{y}.png", |
| | | }, |
| | | { |
| | | name: "影像", |
| | | image: require("../../assets/img/imageLayer/gdmap_image.jpg"), |
| | | urls: "http://{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png", |
| | | urls: "{host}/LFData/2d/tiles/img/{z}/{x}/{y}.png", |
| | | }, |
| | | { |
| | | name: "地形", |
| | | image: require("../../assets/img/imageLayer/dixing.png"), |
| | | urls: "http://{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png", |
| | | urls: "{host}/LFData/2d/tiles/ter/{z}/{x}/{y}.png", |
| | | }, |
| | | { |
| | | name: "1:20万区域地质图", |
| | | image: require("../../assets/img/imageLayer/25dizhi.png"), |
| | | urls: "http://{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png", |
| | | urls: "{host}/LFData/2d/tiles/20w_qydz/{z}/{x}/{y}.png", |
| | | }, |
| | | ], |
| | | } |