提交 0af52455 编写于 作者: KK's avatar KK

地图逻辑调整

上级 63dafa2b
......@@ -54,6 +54,14 @@ import 'echarts/map/js/china.js'
*/
public items:Array<any> =[];
/**
* map数据
*
* @param {Array<any>}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public geoCoordMap:any = [];
/**
* 获取单项树
*
......@@ -131,9 +139,12 @@ import 'echarts/map/js/china.js'
this.$notify({ type: 'danger', message: response.error.message });
return response;
}
this.$emit('load', (response.data && response.data.records) ? response.data.records : []);
this.$emit('load', (response.data && response.data) ? response.data : []);
this.items = [];
this.items = response.data.records;
this.items = response.data;
this.series.forEach((temp:any) => {
temp.data = this.convertDat(this,temp.name);
});
this.setOptions();
return response;
}
......@@ -170,17 +181,15 @@ import 'echarts/map/js/china.js'
*/
public mapId:string = this.$util.createUUID();
public mapStyle = "${ctrl.getMapStyle()}"
/**
* 数据
* 地图数据项模型
*
* @type {}
* @memberof ${srfclassname('${ctrl.name}')}Base
*/
public dataList: any = []
public mapStyle = "${ctrl.getMapStyle()}"
public mapItems = [
<#if ctrl.getPSSysMapItems?? && ctrl.getPSSysMapItems()??>
<#list ctrl.getPSSysMapItems() as mapitem>
......@@ -261,7 +270,18 @@ import 'echarts/map/js/china.js'
name: '${mapitem.getName()}',
type: 'scatter',
geoIndex: 0,
data: this.dataList
encode: {
value: 2
},
label: {
show: false
},
emphasis: {
label: {
show: false
}
}
}
<#if mapitem_has_next>,</#if>
</#list>
......@@ -288,6 +308,56 @@ import 'echarts/map/js/china.js'
}
this.map.setOption(this.option);
}
/**
* 获取城市坐标
*
* @memberof AppCustomize
*/
public loadCityList(): Promise<any> {
return new Promise((resolve: any, reject: any) => {
Http.getInstance()
.get("./assets/json/city.json")
.then((response: any) => {
if (response && response.status === 200 && response.data) {
let result: Array<any> = [];
if (typeof response.data == "string") {
const index: number = response.data.lastIndexOf(",");
result = JSON.parse(response.data);
} else {
result = response.data;
}
resolve(result);
}
})
.catch((response: any) => {
});
});
}
// 定位数据位置
public convertDat (_this:any,tag:any) {
if( !this.geoCoordMap){
return []
}
let aa:any = [120.06,29.32];
let bb :any= [120.06,29.32];
let res:any = []
let mapItemModel = _this.mapItems[tag];
let mapItemData :any= _this.items[tag];
mapItemData.forEach((item:any) => {
let latitude = item[mapItemModel.latitude];
let longitude = item[mapItemModel.longitude];
let geoCoord:number = _this.geoCoordMap.findIndex((temp:any)=>{return temp.latitude == latitude && temp.longitude == longitude});
if (geoCoord > -1) {
res.push({
name: this.geoCoordMap[geoCoord].name,
value: [latitude,longitude].concat(mapItemData.filter((temp:any)=>{return temp[mapItemModel.latitude] == latitude && temp[mapItemModel.longitude]==longitude }).length)
});
}
});
return res;
}
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
......
......@@ -5,7 +5,6 @@
public async search(action: string, context: any = {}, data: any = {}, isLoading?: boolean): Promise<HttpResponse> {
let response: HttpResponse;
<#if ctrl.getPSSysMapItems?? && ctrl.getPSSysMapItems()??>
<#list ctrl.getPSSysMapItems() as mapitem>
<#if mapitem.getPSAppDEDataSet?? && mapitem.getPSAppDEDataSet()??>
......@@ -14,6 +13,10 @@
</#list>
</#if>
Object.assign(response.data,<#if ctrl.getPSSysMapItems?? && ctrl.getPSSysMapItems()??><#list ctrl.getPSSysMapItems() as mapitem><#if mapitem.getPSAppDEDataSet?? && mapitem.getPSAppDEDataSet()??>{${mapitem.getName()}:${mapitem.getName()}Data}<#if mapitem_has_next>,</#if></#if></#list></#if>)
let responseData = {
<#if ctrl.getPSSysMapItems?? && ctrl.getPSSysMapItems()??><#list ctrl.getPSSysMapItems() as mapitem><#if mapitem.getPSAppDEDataSet?? && mapitem.getPSAppDEDataSet()??>${mapitem.getName()}:${mapitem.getName()}Data<#if mapitem_has_next>,</#if></#if></#list></#if>)
}
let response = new HttpResponse(200,responseData);
return response;
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册