fix: 去除地图的未开启下钻提示;地图飞线图的地名文本样式支持配置;飞线地图完善数据配置项,以前使用的是指定的属性名,现在可配置

main
hong.yang 1 year ago
parent c9b5952cc1
commit adaf937d13

@ -121,15 +121,28 @@ export default {
}
this.$dataRoomAxios.get(mapInfoUrl, {}, true).then(res => {
if (this.config.option.data) {
//
const fromName = config.customize.dataField?.fromName || 'from'
//
const fromLng = config.customize.dataField?.fromLng || 'lng1'
//
const fromLat = config.customize.dataField?.fromLat || 'lat1'
//
const toName = config.customize.dataField?.toName || 'to'
//
const toLng = config.customize.dataField?.toLng || 'lng2'
//
const toLat = config.customize.dataField?.toLat || 'lat2'
//
const value = config.customize.dataField?.value || 'value'
this.config.option.data.forEach(val => {
lines_coord.push({value: val.value, msg: {...val}, coords: [[val.lat1, val.lng1], [val.lat2, val.lng2]]})
if (val.type === 'move_in') {
coord.push({name: val.from, value: [val.lat1, val.lng1, val.value], msg: {...val}})
fromCoord.push({name: val.to, value: [val.lat2, val.lng2, val.value], msg: {...val}})
} else {
coord.push({name: val.to, value: [val.lat2, val.lng2, val.value], msg: {...val}})
fromCoord.push({name: val.from, value: [val.lat1, val.lng1, val.value], msg: {...val}})
}
// 线
lines_coord.push({value: val[value], msg: {...val}, coords: [[val[fromLat], val[fromLng]], [val[toLat], val[toLng]]]})
//
fromCoord.push({name: val[fromName], value: [val[fromLat], val[fromLng], val[value]], msg: {...val}})
//
coord.push({name: val[toName], value: [val[toLat], val[toLng], val[value]], msg: {...val}})
})
}
let mapData = hasMapId ? JSON.parse(res.data.geoJson) : res
@ -161,13 +174,17 @@ export default {
normal: {
show: config.customize.mapName,
textStyle: {
color: '#fff'
color: config.customize.mapNameColor || '#fff',
fontSize: config.customize.mapNameSize || 12,
fontWeight: config.customize.mapNameWeight || 500
}
},
//
emphasis: {
textStyle: {
color: '#fff'
color: config.customize.mapNameColor || '#fff',
fontSize: config.customize.mapNameSize || 12,
fontWeight: config.customize.mapNameWeight || 500
}
}
},
@ -288,10 +305,6 @@ export default {
this.charts.on('click', async (params) => {
if (params.name == '') return
if (!config.customize.down) {
this.$message({
message: '该地图未开启下钻',
type: 'warning'
})
return
}
//

@ -51,6 +51,41 @@
active-color="#007aff"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体颜色"
label-width="100px"
>
<ColorPicker
v-model="config.customize.mapNameColor"
:predefine-colors="predefineThemeColors"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体大小"
label-width="100px"
>
<el-input-number
v-model="config.customize.mapNameSize"
class="bs-el-input-number"
placeholder="请输入字体大小"
:min="0"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体权重"
label-width="100px"
>
<el-input-number
v-model="config.customize.mapNameWeight"
class="bs-el-input-number"
placeholder="请输入字体权重"
:min="100"
:step="100"
/>
</el-form-item>
<el-form-item
label="地图级别"
label-width="100px"

@ -20,6 +20,9 @@ export const settingConfig = {
mapField: {
enable: false
},
flyMapField: {
enable: true
},
metricField: {
// 指标
label: '维度',
@ -49,11 +52,18 @@ const customConfig = {
skewX: 0,
skewY: 0
},
customize: {
// 地图id
mapId: '',
// 是否显示文字
mapName: false,
// 文字颜色
mapNameColor: '#fff',
// 文字大小
mapNameSize: 12,
// 文字权重
mapNameWeight: 500,
// 悬浮框背景色
tooltipBackgroundColor: '#0C121C',
// 悬浮框边框色
@ -106,8 +116,24 @@ const customConfig = {
// 纵坐标
yaxis: '',
// 名称
name: ''
name: '',
// 数据字段配置
dataField: {
// 起点名称
fromName: '',
// 起点经度
fromLng: '',
// 起点纬度
fromLat: '',
// 终点名称
toName: '',
// 终点经度
toLng: '',
// 终点纬度
toLat: '',
// 轨迹数据
value: '',
}
}
}

@ -132,13 +132,17 @@ export default {
normal: {
show: config.customize.mapName,
textStyle: {
color: '#fff'
color: config.customize.mapNameColor || '#fff',
fontSize: config.customize.mapNameSize || 12,
fontWeight: config.customize.mapNameWeight || 500
}
},
//
emphasis: {
textStyle: {
color: '#fff'
color: config.customize.mapNameColor || '#fff',
fontSize: config.customize.mapNameSize || 12,
fontWeight: config.customize.mapNameWeight || 500
}
}
},
@ -276,10 +280,6 @@ export default {
this.charts.on('click', async (params) => {
if (params.name == '') return
if (!config.customize.down) {
this.$message({
message: '该地图未开启下钻',
type: 'warning'
})
return
}
//

@ -51,6 +51,42 @@
active-color="#007aff"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体颜色"
label-width="100px"
>
<ColorPicker
v-model="config.customize.mapNameColor"
:predefine-colors="predefineThemeColors"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体大小"
label-width="100px"
>
<el-input-number
v-model="config.customize.mapNameSize"
class="bs-el-input-number"
placeholder="请输入字体大小"
:min="0"
/>
</el-form-item>
<el-form-item
v-if="config.customize.mapName"
label="地名字体权重"
label-width="100px"
>
<el-input-number
v-model="config.customize.mapNameWeight"
class="bs-el-input-number"
placeholder="请输入字体权重"
:min="100"
:step="100"
/>
</el-form-item>
<el-form-item
label="地图级别"
label-width="100px"

@ -58,6 +58,12 @@ const customConfig = {
center2: 50,
// 是否显示文字
mapName: true,
// 文字颜色
mapNameColor: '#fff',
// 文字大小
mapNameSize: 12,
// 文字权重
mapNameWeight: 500,
// 地图背景色
backgroundColor: 'rgb(21, 26, 38)',
// 是否打点

@ -104,7 +104,6 @@
>
<div class="lc-field-head">
<div
v-if="config.type!=='flyMap'"
class="lc-field-title"
>
数据配置
@ -505,6 +504,209 @@
</el-form-item>
</div>
</div>
<div
v-if="config.option.displayOption.flyMapField && config.option.displayOption.flyMapField.enable"
name="飞线地图数据配置"
>
<div class="lc-field-body">
<el-form-item
label="起点经度"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.fromLng"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="起点纬度"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.fromLat"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="终点经度"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.toLng"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="终点纬度"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.toLat"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="起点名称"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.fromName"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="终点名称"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.toName"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="值"
class="data-form-item"
>
<el-select
v-model="config.customize.dataField.value"
class="bs-el-select"
popper-class="bs-el-select"
filterable
clearable
>
<el-option
v-for="(field, index) in dataSourceDataList"
:key="index"
:label="field.comment"
:value="field.name"
>
<div class="source-key-option">
<div>
{{ field.comment !== "" ? field.comment : field.name }}
</div>
<div class="option-txt">
{{ field.name }}
</div>
</div>
</el-option>
</el-select>
</el-form-item>
</div>
</div>
<div
v-if="config.option.displayOption.params.enable && config.dataSource.source !== 'expression'"
class="data-setting-data-box"

Loading…
Cancel
Save