Merge remote-tracking branch 'origin/master'

main
liu.shiyi 1 year ago
commit a6180a7434

@ -36,6 +36,9 @@ public class Chart {
@ApiModelProperty(notes = "图表标题") @ApiModelProperty(notes = "图表标题")
private String title; private String title;
@ApiModelProperty(notes = "名称")
private String name;
@ApiModelProperty(notes = "组件类型") @ApiModelProperty(notes = "组件类型")
private String type; private String type;

@ -41,8 +41,8 @@ public class CustomComponentChart extends Chart {
@ApiModelProperty(notes = "右侧面板自定义配置") @ApiModelProperty(notes = "右侧面板自定义配置")
private List<Map<String, Object>> setting; private List<Map<String, Object>> setting;
@ApiModelProperty(notes = "组件的唯一名称") @ApiModelProperty(notes = "组件类别")
private String name; private String category;
@Data @Data
public static class Setting { public static class Setting {

@ -52,6 +52,7 @@ public class DataRoomMapServiceImpl extends ServiceImpl<DataRoomMapDao, DataRoom
wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel()); wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel());
wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId()); wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId());
wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson()); wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson());
wrapper.orderByDesc(DataRoomMapEntity::getCreateDate);
List<DataRoomMapEntity> entityList = this.list(wrapper); List<DataRoomMapEntity> entityList = this.list(wrapper);
List<String> idList = entityList.stream().map(DataRoomMapEntity::getId).collect(Collectors.toList()); List<String> idList = entityList.stream().map(DataRoomMapEntity::getId).collect(Collectors.toList());
List<DataRoomMapVO> voList = Lists.newArrayList(); List<DataRoomMapVO> voList = Lists.newArrayList();
@ -66,7 +67,6 @@ public class DataRoomMapServiceImpl extends ServiceImpl<DataRoomMapDao, DataRoom
} }
return voList; return voList;
// return this.baseMapper.getList(searchDTO);
} }
@ -217,6 +217,9 @@ public class DataRoomMapServiceImpl extends ServiceImpl<DataRoomMapDao, DataRoom
*/ */
private void parseNextLevelAndSave(DataRoomMapEntity mapEntity, String geoJson) { private void parseNextLevelAndSave(DataRoomMapEntity mapEntity, String geoJson) {
JSONObject jsonObject = new JSONObject(geoJson); JSONObject jsonObject = new JSONObject(geoJson);
if (!jsonObject.has("features")) {
throw new GlobalException("GeoJson格式不正确自动解析失败");
}
JSONArray features = jsonObject.getJSONArray("features"); JSONArray features = jsonObject.getJSONArray("features");
if (features == null || features.length() == 0) { if (features == null || features.length() == 0) {
throw new GlobalException("GeoJson格式不正确自动解析失败"); throw new GlobalException("GeoJson格式不正确自动解析失败");

@ -108,6 +108,35 @@
</div> </div>
<SettingTitle>日期时间格式</SettingTitle> <SettingTitle>日期时间格式</SettingTitle>
<div class="lc-field-body"> <div class="lc-field-body">
<el-form-item label="时间数据类型">
<div class="description">
<el-select
v-model="config.customize.formatType"
class="bs-el-select"
popper-class="bs-el-select"
clearable
>
<el-option
v-for="(type) in formatTypeOptions"
:key="type.value"
:label="type.label"
:value="type.value"
/>
</el-select>
<el-tooltip
placement="top"
>
<span
class="el-icon-question"
style="color:#9e9e9e"
/>
<div slot="content">
时间戳从1970年1月1日开始计算的秒数数据类型为数值型例如1483326245000<br>
自定义通过输入特定的格式字符串来指定时间的数据格式例如yyyy-MM-dd HH:mm:ss对应数据为 2023-10-08 09:30:00<br>
</div>
</el-tooltip>
</div>
</el-form-item>
<el-form-item label="时间显示格式化"> <el-form-item label="时间显示格式化">
<div class="description"> <div class="description">
<el-input <el-input
@ -145,35 +174,6 @@
</el-tooltip> </el-tooltip>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="时间数据类型">
<div class="description">
<el-select
v-model="config.customize.formatType"
class="bs-el-select"
popper-class="bs-el-select"
clearable
>
<el-option
v-for="(type) in formatTypeOptions"
:key="type.value"
:label="type.label"
:value="type.value"
/>
</el-select>
<el-tooltip
placement="top"
>
<span
class="el-icon-question"
style="color:#9e9e9e"
/>
<div slot="content">
时间戳从1970年1月1日开始计算的秒数数据类型为数值型例如1483326245000<br>
自定义通过输入特定的格式字符串来指定时间的数据格式例如yyyy-MM-dd HH:mm:ss对应数据为 2023-10-08 09:30:00<br>
</div>
</el-tooltip>
</div>
</el-form-item>
<el-form-item <el-form-item
v-if="config.customize.formatType === 'custom'" v-if="config.customize.formatType === 'custom'"
label="时间数据格式化" label="时间数据格式化"

@ -50,15 +50,15 @@ export default {
} }
}, },
watch: { watch: {
'config.customize.formatType': { 'config.customize.formatType': {
handler (val) { handler (val) {
if (val === 'timestamp') { if (val === 'timestamp') {
this.value = 0 this.value = new Date().getTime()
this.config.customize.valueFormat = 'timestamp' // this.config.customize.format = 'timestamp'
// this.config.customize.valueFormat = 'timestamp'
} else if (val === 'custom') { } else if (val === 'custom') {
this.config.customize.valueFormat = 'HH:mm:ss' // this.config.customize.valueFormat = 'HH:mm:ss'
this.value = '' this.value = moment(new Date()).format('HH:mm:ss')
} }
}, },
immediate: true immediate: true

@ -84,6 +84,34 @@
</div> </div>
<SettingTitle>时间格式</SettingTitle> <SettingTitle>时间格式</SettingTitle>
<div class="lc-field-body"> <div class="lc-field-body">
<el-form-item label="时间数据类型">
<div class="description">
<el-select
v-model="config.customize.formatType"
class="bs-el-select"
popper-class="bs-el-select"
>
<el-option
v-for="(type) in formatTypeOptions"
:key="type.value"
:label="type.label"
:value="type.value"
/>
</el-select>
<el-tooltip
placement="top"
>
<span
class="el-icon-question"
style="color:#9e9e9e"
/>
<div slot="content">
时间戳从1970年1月1日开始计算的秒数数据类型为数值型例如1483326245000<br>
自定义通过输入特定的格式字符串来指定时间的数据格式例如HH:mm:ss对应数据为 09:30:00<br>
</div>
</el-tooltip>
</div>
</el-form-item>
<el-form-item label="时间显示格式化"> <el-form-item label="时间显示格式化">
<div class="description"> <div class="description">
<el-input <el-input
@ -114,34 +142,7 @@
</el-tooltip> </el-tooltip>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="时间数据类型">
<div class="description">
<el-select
v-model="config.customize.formatType"
class="bs-el-select"
popper-class="bs-el-select"
>
<el-option
v-for="(type) in formatTypeOptions"
:key="type.value"
:label="type.label"
:value="type.value"
/>
</el-select>
<el-tooltip
placement="top"
>
<span
class="el-icon-question"
style="color:#9e9e9e"
/>
<div slot="content">
时间戳从1970年1月1日开始计算的秒数数据类型为数值型例如1483326245000<br>
自定义通过输入特定的格式字符串来指定时间的数据格式例如HH:mm:ss对应数据为 09:30:00<br>
</div>
</el-tooltip>
</div>
</el-form-item>
<el-form-item <el-form-item
v-if="config.customize.formatType === 'custom'" v-if="config.customize.formatType === 'custom'"
label="时间数据格式化" label="时间数据格式化"
@ -214,6 +215,20 @@ export default {
} }
} }
}, },
watch: {
'config.customize.formatType': {
handler (val) {
if (val === 'timestamp') {
this.config.customize.format = 'timestamp'
this.config.customize.valueFormat = 'timestamp'
} else if (val === 'custom') {
this.config.customize.format = 'HH:mm:ss'
this.config.customize.valueFormat = 'HH:mm:ss'
}
},
immediate: true
}
},
data () { data () {
return { return {
// //
@ -223,7 +238,6 @@ export default {
] ]
} }
}, },
watch: {},
mounted () {}, mounted () {},
methods: { } methods: { }
} }

@ -852,7 +852,7 @@ export default {
// config // config
sourceId: '', sourceId: '',
cache: 0, cache: 0,
sqlProcess: 'select ', sqlProcess: 'select * from 表名称',
paramsList: [], paramsList: [],
fieldDesc: {}, fieldDesc: {},
fieldList: [], fieldList: [],

@ -173,7 +173,7 @@ export default {
computed: { computed: {
autoParseNextLevelShow () { autoParseNextLevelShow () {
// geoJson // geoJson
return !this.isWhitespace(this.mapForm.geoJson) && this.mapForm.uploadedGeoJson === 0 return !this.isWhitespace(this.mapForm.geoJson) && !this.isEmpty(this.mapForm.geoJson) && this.mapForm.uploadedGeoJson === 0
}, },
outRangeLabel() { outRangeLabel() {
return `级别${this.mapForm.level + 1}`; return `级别${this.mapForm.level + 1}`;
@ -264,6 +264,8 @@ export default {
this.mapForm = _.cloneDeep(map) this.mapForm = _.cloneDeep(map)
if (!this.isWhitespace(this.mapForm.geoJson)) { if (!this.isWhitespace(this.mapForm.geoJson)) {
this.mapForm.geoJson = JSON.parse(this.mapForm.geoJson) this.mapForm.geoJson = JSON.parse(this.mapForm.geoJson)
} else {
this.mapForm.geoJson = {}
} }
}, },
handleClose () { handleClose () {
@ -275,7 +277,7 @@ export default {
return false return false
} }
let geoJson let geoJson
// geoJson // geoJson
if (this.isWhitespace(this.mapForm.geoJson) || this.mapForm.geoJson === '{}' || this.mapForm.geoJson === '[]') { if (this.isWhitespace(this.mapForm.geoJson) || this.mapForm.geoJson === '{}' || this.mapForm.geoJson === '[]') {
geoJson = '' geoJson = ''
} else { } else {
@ -300,6 +302,15 @@ export default {
} }
return /^\s*$/.test(str) return /^\s*$/.test(str)
}, },
isEmpty (obj) {
if (typeof obj === 'object') {
return Object.keys(obj).length === 0 && obj.constructor === Object
}
if (typeof obj === 'string') {
return /^\s*$/.test(obj)
}
return Array.isArray(obj) && obj.length === 0
},
upload () { upload () {
this.$refs.geoJsonFile.click() this.$refs.geoJsonFile.click()
}, },

Loading…
Cancel
Save