地图资源按需加载
This commit is contained in:
parent
3a870ed8e2
commit
ccb7b2adaa
|
@ -310,12 +310,43 @@ export default {
|
||||||
areaPoints:[],
|
areaPoints:[],
|
||||||
areaFloorId:1,
|
areaFloorId:1,
|
||||||
cate_: { post: "岗位", org: "单位", people: "人员" },
|
cate_: { post: "岗位", org: "单位", people: "人员" },
|
||||||
|
canUseMap:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
let that = this;
|
||||||
|
let host = window.location.host;
|
||||||
|
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
|
||||||
|
that.loadScript('mapId',jsUrl, () => {
|
||||||
|
that.canUseMap = true;
|
||||||
|
})
|
||||||
// this.getAccessList();
|
// this.getAccessList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
loadScript(id, url, callback) {
|
||||||
|
debugger;
|
||||||
|
//如果已经存在这个id,则证明已经加载过,已经有这个js文件了,可以直接执行回调里面的操作
|
||||||
|
if (document.querySelector(`#${id}`)) {
|
||||||
|
callback && callback()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//第一次加载,先创建 script 标签
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = url;
|
||||||
|
//创建id属性
|
||||||
|
script.setAttribute('id', id);
|
||||||
|
//获取第一个script标签
|
||||||
|
const firstScript = document.getElementsByTagName('script')[0];
|
||||||
|
//获取第一个script标签的父节点 BODY,在body的第一个script引用之前插入,即把这个动态的js文件放在第一个调用
|
||||||
|
firstScript.parentNode.insertBefore(script, firstScript);
|
||||||
|
//script 一加载就执行
|
||||||
|
script.onload = script.onreadystatechange = function() {
|
||||||
|
// 加载完成
|
||||||
|
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
|
||||||
|
callback && callback()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
//添加/编辑区域
|
//添加/编辑区域
|
||||||
handleForm(type, row) {
|
handleForm(type, row) {
|
||||||
this.dialog.save = true;
|
this.dialog.save = true;
|
||||||
|
@ -358,7 +389,12 @@ export default {
|
||||||
}
|
}
|
||||||
this.areaId = row.id;
|
this.areaId = row.id;
|
||||||
this.areaName = row.name;
|
this.areaName = row.name;
|
||||||
this.dialog.saveRail = true;
|
if(this.canUseMap){
|
||||||
|
this.dialog.saveRail = true;
|
||||||
|
}else{
|
||||||
|
this.$message("地图组件加载中,请稍后")
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//删除区域
|
//删除区域
|
||||||
handleDel(row) {
|
handleDel(row) {
|
||||||
|
|
|
@ -5,17 +5,6 @@
|
||||||
<el-button type="primary" icon="el-icon-refresh" @click="syncData" :syncLoading="syncLoading">同步</el-button>
|
<el-button type="primary" icon="el-icon-refresh" @click="syncData" :syncLoading="syncLoading">同步</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="right-panel">
|
<div class="right-panel">
|
||||||
<!-- <el-input
|
|
||||||
v-model="query.code"
|
|
||||||
placeholder="编号"
|
|
||||||
clearable
|
|
||||||
@click="handleQuery"
|
|
||||||
></el-input>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
@click="handleQuery"
|
|
||||||
></el-button> -->
|
|
||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
|
@ -96,11 +85,44 @@ export default {
|
||||||
channelName: "",
|
channelName: "",
|
||||||
channelArea: '',
|
channelArea: '',
|
||||||
channelAreas: [],
|
channelAreas: [],
|
||||||
|
canUseMap:false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
mounted(){
|
||||||
|
let that = this;
|
||||||
|
let host = window.location.host;
|
||||||
|
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
|
||||||
|
that.loadScript('mapId',jsUrl, () => {
|
||||||
|
that.canUseMap = true;
|
||||||
|
})
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
loadScript(id, url, callback) {
|
||||||
|
debugger;
|
||||||
|
//如果已经存在这个id,则证明已经加载过,已经有这个js文件了,可以直接执行回调里面的操作
|
||||||
|
if (document.querySelector(`#${id}`)) {
|
||||||
|
callback && callback()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//第一次加载,先创建 script 标签
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = url;
|
||||||
|
//创建id属性
|
||||||
|
script.setAttribute('id', id);
|
||||||
|
//获取第一个script标签
|
||||||
|
const firstScript = document.getElementsByTagName('script')[0];
|
||||||
|
//获取第一个script标签的父节点 BODY,在body的第一个script引用之前插入,即把这个动态的js文件放在第一个调用
|
||||||
|
firstScript.parentNode.insertBefore(script, firstScript);
|
||||||
|
//script 一加载就执行
|
||||||
|
script.onload = script.onreadystatechange = function() {
|
||||||
|
// 加载完成
|
||||||
|
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
|
||||||
|
callback && callback()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
handlePosition(row) {
|
handlePosition(row) {
|
||||||
debugger;
|
// debugger;
|
||||||
console.log(row)
|
console.log(row)
|
||||||
if(row.my_info.id&&row.my_info.id!==null){
|
if(row.my_info.id&&row.my_info.id!==null){
|
||||||
this.channelId = row.my_info.id ? row.my_info.id : null;
|
this.channelId = row.my_info.id ? row.my_info.id : null;
|
||||||
|
@ -108,7 +130,11 @@ export default {
|
||||||
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
||||||
this.channelLocation = row.my_info.location ? row.my_info.location : {};
|
this.channelLocation = row.my_info.location ? row.my_info.location : {};
|
||||||
this.channelName = row.name;
|
this.channelName = row.name;
|
||||||
this.dialogSave = true;
|
if(this.canUseMap){
|
||||||
|
this.dialogSave = true;
|
||||||
|
}else{
|
||||||
|
this.$message("地图组件加载中,请稍后")
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
this.$message.error("请先完成设备同步");
|
this.$message.error("请先完成设备同步");
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,6 +148,7 @@ export default {
|
||||||
2: "球机",
|
2: "球机",
|
||||||
3: "半球",
|
3: "半球",
|
||||||
},
|
},
|
||||||
|
canUseMap:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -159,8 +160,38 @@ export default {
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
this.getArea();
|
this.getArea();
|
||||||
|
let that = this;
|
||||||
|
let host = window.location.host;
|
||||||
|
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
|
||||||
|
that.loadScript('mapId',jsUrl, () => {
|
||||||
|
that.canUseMap = true;
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
loadScript(id, url, callback) {
|
||||||
|
debugger;
|
||||||
|
//如果已经存在这个id,则证明已经加载过,已经有这个js文件了,可以直接执行回调里面的操作
|
||||||
|
if (document.querySelector(`#${id}`)) {
|
||||||
|
callback && callback()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//第一次加载,先创建 script 标签
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = url;
|
||||||
|
//创建id属性
|
||||||
|
script.setAttribute('id', id);
|
||||||
|
//获取第一个script标签
|
||||||
|
const firstScript = document.getElementsByTagName('script')[0];
|
||||||
|
//获取第一个script标签的父节点 BODY,在body的第一个script引用之前插入,即把这个动态的js文件放在第一个调用
|
||||||
|
firstScript.parentNode.insertBefore(script, firstScript);
|
||||||
|
//script 一加载就执行
|
||||||
|
script.onload = script.onreadystatechange = function() {
|
||||||
|
// 加载完成
|
||||||
|
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
|
||||||
|
callback && callback()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
getAllVchannel(){
|
getAllVchannel(){
|
||||||
debugger;
|
debugger;
|
||||||
this.$API.am.video.list.req({pageSize:999}).then(res=>{
|
this.$API.am.video.list.req({pageSize:999}).then(res=>{
|
||||||
|
@ -208,7 +239,12 @@ export default {
|
||||||
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
||||||
this.channelLocation = row.my_info.location ? row.my_info.location : {};
|
this.channelLocation = row.my_info.location ? row.my_info.location : {};
|
||||||
this.channelName = row.channelName;
|
this.channelName = row.channelName;
|
||||||
this.dialogSave = true;
|
if(this.canUseMap){
|
||||||
|
this.dialogSave = true;
|
||||||
|
}else{
|
||||||
|
this.$message("地图组件加载中,请稍后")
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
this.$message.error("请先完成设备同步");
|
this.$message.error("请先完成设备同步");
|
||||||
}
|
}
|
||||||
|
|
|
@ -793,11 +793,9 @@ export default {
|
||||||
that.timerTime = setInterval(() => {
|
that.timerTime = setInterval(() => {
|
||||||
that.showTime();
|
that.showTime();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
debugger;
|
|
||||||
console.log( window.location.host);
|
|
||||||
let host = window.location.host;
|
let host = window.location.host;
|
||||||
let jsUrl = host.indexOf('localhost')>-1?'/http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
|
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
|
||||||
that.loadScript('mapId', 'http://222.222.144.147:6013/jsmap/jsmap.js', () => {
|
that.loadScript('mapId',jsUrl, () => {
|
||||||
debugger;
|
debugger;
|
||||||
window.map = new jsmap.JSMap({
|
window.map = new jsmap.JSMap({
|
||||||
mapType: jsmap.JSMapType.MAP_3D,
|
mapType: jsmap.JSMapType.MAP_3D,
|
||||||
|
@ -1016,6 +1014,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadScript(id, url, callback) {
|
loadScript(id, url, callback) {
|
||||||
|
debugger;
|
||||||
//如果已经存在这个id,则证明已经加载过,已经有这个js文件了,可以直接执行回调里面的操作
|
//如果已经存在这个id,则证明已经加载过,已经有这个js文件了,可以直接执行回调里面的操作
|
||||||
if (document.querySelector(`#${id}`)) {
|
if (document.querySelector(`#${id}`)) {
|
||||||
callback && callback()
|
callback && callback()
|
||||||
|
|
Loading…
Reference in New Issue