forked from github/dataease
Merge branch 'dev' into pr@dev_refresh
This commit is contained in:
commit
c201cd3b85
@ -1149,7 +1149,7 @@ public class SqlserverQueryProvider extends QueryProvider {
|
||||
String whereValue = "";
|
||||
|
||||
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
|
||||
if(request.getDatasetTableField().getType().equalsIgnoreCase("NVARCHAR")) {
|
||||
if(request.getDatasetTableField() != null && request.getDatasetTableField().getType().equalsIgnoreCase("NVARCHAR")) {
|
||||
whereValue = "(" + value.stream().map(str -> {
|
||||
return "N" + "'" + str + "'";
|
||||
}).collect(Collectors.joining(",")) + ")";
|
||||
@ -1171,7 +1171,7 @@ public class SqlserverQueryProvider extends QueryProvider {
|
||||
}
|
||||
} else {
|
||||
|
||||
if(request.getDatasetTableField().getType().equalsIgnoreCase("NVARCHAR")){
|
||||
if(request.getDatasetTableField() != null && request.getDatasetTableField().getType().equalsIgnoreCase("NVARCHAR")){
|
||||
whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value.get(0));
|
||||
}else {
|
||||
whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value.get(0));
|
||||
|
@ -1474,6 +1474,8 @@ public class ChartViewService {
|
||||
|
||||
List<PluginViewField> pluginViewFields = fieldMap.entrySet().stream().flatMap(entry -> entry.getValue().stream().map(field -> {
|
||||
PluginViewField pluginViewField = BeanUtils.copyBean(new PluginViewField(), field);
|
||||
pluginViewField.setFilter(gson.fromJson(gson.toJson(field.getFilter()), new TypeToken<List<PluginChartCustomFilterItem>>() {
|
||||
}.getType()));
|
||||
pluginViewField.setTypeField(entry.getKey());
|
||||
return pluginViewField;
|
||||
})).collect(Collectors.toList());
|
||||
|
@ -2,6 +2,7 @@ package io.dataease.service.chart;
|
||||
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import io.dataease.commons.model.PluginViewSetImpl;
|
||||
import io.dataease.commons.utils.TableUtils;
|
||||
import io.dataease.controller.request.chart.ChartExtRequest;
|
||||
@ -14,6 +15,7 @@ import io.dataease.plugins.common.constants.DatasetType;
|
||||
import io.dataease.plugins.common.constants.datasource.SQLConstants;
|
||||
import io.dataease.plugins.common.dto.chart.ChartFieldCustomFilterDTO;
|
||||
import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO;
|
||||
import io.dataease.plugins.common.dto.chart.ChartViewFieldFilterDTO;
|
||||
import io.dataease.plugins.common.dto.sqlObj.SQLObj;
|
||||
import io.dataease.plugins.common.request.chart.ChartExtFilterRequest;
|
||||
import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDTO;
|
||||
@ -247,6 +249,9 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
|
||||
methodName = "getYWheres";
|
||||
}
|
||||
ChartViewFieldDTO chartViewFieldDTO = BeanUtils.copyBean(new ChartViewFieldDTO(), field);
|
||||
chartViewFieldDTO.setFilter(gson.fromJson(gson.toJson(field.getFilter()), new TypeToken<List<ChartViewFieldFilterDTO>>() {
|
||||
}.getType()));
|
||||
|
||||
Object execResult;
|
||||
if ((execResult = execProviderMethod(queryProvider, methodName, chartViewFieldDTO, originField, fieldAlias)) != null) {
|
||||
String where = (String) execResult;
|
||||
|
@ -152,9 +152,6 @@ public class DataSetGroupService {
|
||||
if (StringUtils.isNotEmpty(datasetGroup.getId())) {
|
||||
criteria.andIdNotEqualTo(datasetGroup.getId());
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(datasetGroup.getLevel())) {
|
||||
criteria.andLevelEqualTo(datasetGroup.getLevel());
|
||||
}
|
||||
List<DatasetGroup> list = datasetGroupMapper.selectByExample(datasetGroupExample);
|
||||
if (list.size() > 0) {
|
||||
throw new RuntimeException(Translator.get("I18N_DATASET_GROUP_EXIST"));
|
||||
|
@ -314,7 +314,8 @@ public class PanelAppTemplateService {
|
||||
for (ChartViewWithBLOBs chartView : chartViewsInfo) {
|
||||
String oldViewId = chartView.getId();
|
||||
// 替换datasetId
|
||||
chartView.setTableId(datasetsRealMap.get(chartView.getTableId()));
|
||||
String newTableId = datasetsRealMap.get(chartView.getTableId());
|
||||
chartView.setTableId(StringUtils.isEmpty(newTableId) ? " " : newTableId);
|
||||
datasetsRealMap.forEach((k, v) -> {
|
||||
chartView.setXAxis(chartView.getXAxis().replaceAll(k, v));
|
||||
chartView.setXAxisExt(chartView.getXAxisExt().replaceAll(k, v));
|
||||
@ -423,12 +424,12 @@ public class PanelAppTemplateService {
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String,String> applyLinkJumps(List<PanelLinkJump> linkJumps, Map<String, String> chartViewsRealMap, String newPanelId) {
|
||||
Map<String,String> linkJumpIdMap = new HashMap<>();
|
||||
if(!CollectionUtils.isEmpty(linkJumps)){
|
||||
for(PanelLinkJump linkJump :linkJumps){
|
||||
public Map<String, String> applyLinkJumps(List<PanelLinkJump> linkJumps, Map<String, String> chartViewsRealMap, String newPanelId) {
|
||||
Map<String, String> linkJumpIdMap = new HashMap<>();
|
||||
if (!CollectionUtils.isEmpty(linkJumps)) {
|
||||
for (PanelLinkJump linkJump : linkJumps) {
|
||||
String newLinkJumpId = UUIDUtil.getUUIDAsString();
|
||||
linkJumpIdMap.put(linkJump.getId(),newLinkJumpId);
|
||||
linkJumpIdMap.put(linkJump.getId(), newLinkJumpId);
|
||||
linkJump.setId(newLinkJumpId);
|
||||
linkJump.setSourcePanelId(newPanelId);
|
||||
linkJump.setSourceViewId(chartViewsRealMap.get(linkJump.getSourceViewId()));
|
||||
@ -440,8 +441,8 @@ public class PanelAppTemplateService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void applyLinkJumpInfos(List<PanelLinkJumpInfo> linkJumpInfos, Map<String, String> linkJumpIdMap, Map<String, String> datasetFieldsRealMap) {
|
||||
if(!CollectionUtils.isEmpty(linkJumpInfos)){
|
||||
for(PanelLinkJumpInfo linkJumpInfo :linkJumpInfos){
|
||||
if (!CollectionUtils.isEmpty(linkJumpInfos)) {
|
||||
for (PanelLinkJumpInfo linkJumpInfo : linkJumpInfos) {
|
||||
String newLinkJumpInfoId = UUIDUtil.getUUIDAsString();
|
||||
linkJumpInfo.setId(newLinkJumpInfoId);
|
||||
linkJumpInfo.setLinkJumpId(linkJumpIdMap.get(linkJumpInfo.getLinkJumpId()));
|
||||
@ -455,12 +456,12 @@ public class PanelAppTemplateService {
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String,String> applyLinkages(List<PanelViewLinkage> linkages, Map<String, String> chartViewsRealMap, String newPanelId) {
|
||||
Map<String,String> linkageIdMap = new HashMap<>();
|
||||
if(!CollectionUtils.isEmpty(linkages)){
|
||||
for(PanelViewLinkage linkage :linkages){
|
||||
public Map<String, String> applyLinkages(List<PanelViewLinkage> linkages, Map<String, String> chartViewsRealMap, String newPanelId) {
|
||||
Map<String, String> linkageIdMap = new HashMap<>();
|
||||
if (!CollectionUtils.isEmpty(linkages)) {
|
||||
for (PanelViewLinkage linkage : linkages) {
|
||||
String newId = UUIDUtil.getUUIDAsString();
|
||||
linkageIdMap.put(linkage.getId(),newId);
|
||||
linkageIdMap.put(linkage.getId(), newId);
|
||||
linkage.setId(newId);
|
||||
linkage.setPanelId(newPanelId);
|
||||
linkage.setSourceViewId(chartViewsRealMap.get(linkage.getSourceViewId()));
|
||||
@ -473,8 +474,8 @@ public class PanelAppTemplateService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void applyLinkageFields(List<PanelViewLinkageField> linkageFields, Map<String, String> linkageIdMap, Map<String, String> datasetFieldsRealMap) {
|
||||
if(!CollectionUtils.isEmpty(linkageFields)){
|
||||
for(PanelViewLinkageField linkageField :linkageFields){
|
||||
if (!CollectionUtils.isEmpty(linkageFields)) {
|
||||
for (PanelViewLinkageField linkageField : linkageFields) {
|
||||
String newId = UUIDUtil.getUUIDAsString();
|
||||
linkageField.setId(newId);
|
||||
linkageField.setLinkageId(linkageIdMap.get(linkageField.getLinkageId()));
|
||||
|
@ -47,7 +47,6 @@ ALTER TABLE `demo_stny_carbon_emission_trend` COMMENT = '官方示例模板数
|
||||
ALTER TABLE `demo_stny_disposable_energy` COMMENT = '官方示例模板数据(双碳及能源情况概览)';
|
||||
ALTER TABLE `demo_stny_energy_consumption_proportion` COMMENT = '官方示例模板数据(双碳及能源情况概览)';
|
||||
ALTER TABLE `demo_stny_energy_consumption_total` COMMENT = '官方示例模板数据(双碳及能源情况概览)';
|
||||
ALTER TABLE `demo_stny_province_city_ index` COMMENT = '官方示例模板数据(双碳及能源情况概览)';
|
||||
ALTER TABLE `de_engine` COMMENT = '引擎设置表';
|
||||
ALTER TABLE `file_content` COMMENT = '文件内容表';
|
||||
ALTER TABLE `file_metadata` COMMENT = '文件基础信息表';
|
||||
|
@ -34,6 +34,7 @@
|
||||
{{ $t('commons.confirm') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
style="margin-right: 24px"
|
||||
size="mini"
|
||||
@click="editCancel"
|
||||
>
|
||||
|
@ -5,7 +5,7 @@
|
||||
trigger="click"
|
||||
@mouseup="handleMouseUp"
|
||||
>
|
||||
<slot name="icon"/>
|
||||
<slot name="icon" />
|
||||
<el-dropdown-menu v-if="curComponent">
|
||||
<el-dropdown-item
|
||||
v-if="editFilter.includes(curComponent.type)"
|
||||
@ -17,8 +17,7 @@
|
||||
v-if="curComponent.type != 'custom-button'"
|
||||
icon="el-icon-document-copy"
|
||||
@click.native="copy"
|
||||
><span>{{ $t('panel.copy') }} (<span v-show="systemOS==='Mac'"><i class="icon iconfont icon-command"
|
||||
/>+ D</span> <span v-show="systemOS!=='Mac'">Control + D</span>)</span>
|
||||
><span>{{ $t('panel.copy') }} (<span v-show="systemOS==='Mac'"><i class="icon iconfont icon-command" />+ D</span> <span v-show="systemOS!=='Mac'">Control + D</span>)</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
icon="el-icon-delete"
|
||||
@ -34,7 +33,7 @@
|
||||
<el-dropdown-item v-if="!curComponent.auxiliaryMatrix">
|
||||
<el-dropdown placement="right-start">
|
||||
<span class="el-icon-copy-document">
|
||||
{{ $t('panel.level') }} <i class="el-icon-arrow-right el-icon--right"/>
|
||||
{{ $t('panel.level') }} <i class="el-icon-arrow-right el-icon--right" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item
|
||||
@ -93,13 +92,13 @@
|
||||
<el-dropdown-item
|
||||
v-if="curComponent.type != 'custom-button'"
|
||||
@click.native="hyperlinksSet"
|
||||
><i class="icon iconfont icon-chaolianjie1"/>{{ $t('panel.hyperlinks') }}
|
||||
><i class="icon iconfont icon-chaolianjie1" />{{ $t('panel.hyperlinks') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="curComponent.type !== 'view' && !curComponent.auxiliaryMatrix"
|
||||
@click.native="positionAdjust"
|
||||
>
|
||||
<i class="el-icon-map-location"/>
|
||||
<i class="el-icon-map-location" />
|
||||
{{ $t('panel.position_adjust') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
@ -180,7 +179,7 @@ import TabCarouselDialog from '@/components/canvas/components/editor/TabCarousel
|
||||
import CustomTabsSort from '@/components/widget/deWidget/CustomTabsSort'
|
||||
|
||||
export default {
|
||||
components: { CustomTabsSort, HyperlinksDialog,TabCarouselDialog },
|
||||
components: { CustomTabsSort, HyperlinksDialog, TabCarouselDialog },
|
||||
data() {
|
||||
return {
|
||||
tabCarouselVisible: false,
|
||||
@ -193,7 +192,8 @@ export default {
|
||||
'text',
|
||||
'label',
|
||||
'flow-map',
|
||||
'bidirectional-bar'
|
||||
'bidirectional-bar',
|
||||
'race-bar'
|
||||
],
|
||||
linkageExcludeViewType: [
|
||||
'richTextView',
|
||||
@ -202,7 +202,8 @@ export default {
|
||||
'text',
|
||||
'label',
|
||||
'flow-map',
|
||||
'bidirectional-bar'
|
||||
'bidirectional-bar',
|
||||
'race-bar'
|
||||
],
|
||||
copyData: null,
|
||||
hyperlinksSetVisible: false,
|
||||
|
@ -361,7 +361,7 @@ export default {
|
||||
computed: {
|
||||
// 首次加载且非编辑状态新复制的视图,使用外部filter
|
||||
initLoad() {
|
||||
return !(this.isEdit && this.currentCanvasNewId.includes(this.element.id)) && this.isFirstLoad && this.canvasId === 'canvas-main'
|
||||
return !(this.isEdit && this.currentCanvasNewId.includes(this.element.id)) && this.isFirstLoad
|
||||
},
|
||||
scaleCoefficient() {
|
||||
if (this.terminal === 'pc' && !this.mobileLayoutStatus) {
|
||||
|
@ -45,7 +45,6 @@ public class ChartMixViewStatHandler implements PluginViewStatHandler {
|
||||
List<PluginViewSQL> xFields = fieldSQLMap.getOrDefault("xAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(PluginSingleField::getField).collect(Collectors.toList());
|
||||
List<PluginViewSQL> xOrders = fieldSQLMap.getOrDefault("xAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getSort())).map(PluginSingleField::getSort).collect(Collectors.toList());
|
||||
|
||||
System.out.println("11111111 orders:"+new Gson().toJson(xOrders));
|
||||
// List<String> xWheres = fieldSQLMap.get("xAxis").stream().map(singleField -> singleField.getWhere()).collect(Collectors.toList());
|
||||
|
||||
List<PluginViewSQL> yFields = fieldSQLMap.getOrDefault("yAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(PluginSingleField::getField).collect(Collectors.toList());
|
||||
@ -79,7 +78,6 @@ public class ChartMixViewStatHandler implements PluginViewStatHandler {
|
||||
orders.addAll(xOrders);
|
||||
orders.addAll(yOrders);
|
||||
|
||||
System.out.println("11111111 orders: " + new Gson().toJson(orders));
|
||||
|
||||
List<String> aggWheres = new ArrayList<>();
|
||||
aggWheres.addAll(yWheres.stream().filter(ObjectUtils::isNotEmpty).collect(Collectors.toList()));
|
||||
|
@ -122,6 +122,9 @@ export default {
|
||||
.form-item>>>.el-form-item__label{
|
||||
font-size: 12px;
|
||||
}
|
||||
.form-item ::v-deep .el-form-item__label {
|
||||
font-size: 12px;
|
||||
}
|
||||
.el-select-dropdown__item{
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
@ -49,20 +49,14 @@ public class RaceBarViewStatHandler implements PluginViewStatHandler {
|
||||
}
|
||||
|
||||
|
||||
List<PluginViewSQL> xFields = fieldSQLMap.getOrDefault("xAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(PluginSingleField::getField).collect(Collectors.toList());
|
||||
List<PluginViewSQL> xFields = fieldSQLMap.get("xAxis").stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(singleField -> singleField.getField()).collect(Collectors.toList());
|
||||
List<PluginViewSQL> xOrders = fieldSQLMap.get("xAxis").stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getSort())).map(singleField -> singleField.getSort()).collect(Collectors.toList());
|
||||
|
||||
// List<String> xWheres = fieldSQLMap.get("xAxis").stream().map(singleField -> singleField.getWhere()).collect(Collectors.toList());
|
||||
|
||||
List<PluginViewSQL> yFields = fieldSQLMap.getOrDefault("yAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(PluginSingleField::getField).collect(Collectors.toList());
|
||||
List<String> yWheres = fieldSQLMap.getOrDefault("yAxis", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getWhere())).map(PluginSingleField::getWhere).collect(Collectors.toList());
|
||||
List<String> yWheres = fieldSQLMap.get("yAxis").stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getWhere())).map(singleField -> singleField.getWhere()).collect(Collectors.toList());
|
||||
|
||||
/*List<PluginViewSQL> yExtFields = fieldSQLMap.getOrDefault("yAxisExt", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getField())).map(PluginSingleField::getField).collect(Collectors.toList());
|
||||
List<PluginViewSQL> yExtOrders = fieldSQLMap.getOrDefault("yAxisExt", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getSort())).map(PluginSingleField::getSort).collect(Collectors.toList());
|
||||
List<String> yExtWheres = fieldSQLMap.getOrDefault("yAxisExt", new ArrayList<>()).stream().filter(singleField -> ObjectUtils.isNotEmpty(singleField.getWhere())).map(PluginSingleField::getWhere).collect(Collectors.toList());
|
||||
|
||||
yFields.addAll(yExtFields);
|
||||
yOrders.addAll(yExtOrders);
|
||||
yWheres.addAll(yExtWheres);*/
|
||||
|
||||
// 处理视图中字段过滤
|
||||
String customWheres = baseService.customWhere(dsType, pluginViewParam.getPluginChartFieldCustomFilters(), tableObj);
|
||||
@ -75,9 +69,15 @@ public class RaceBarViewStatHandler implements PluginViewStatHandler {
|
||||
if (customWheres != null) wheres.add(customWheres);
|
||||
if (panelWheres != null) wheres.add(panelWheres);
|
||||
if (permissionWhere != null) wheres.add(permissionWhere);
|
||||
|
||||
List<PluginViewSQL> groups = new ArrayList<>();
|
||||
groups.addAll(xFields);
|
||||
|
||||
|
||||
List<PluginViewSQL> orders = new ArrayList<>();
|
||||
orders.addAll(xOrders);
|
||||
|
||||
|
||||
// 外层再次套sql
|
||||
List<String> aggWheres = new ArrayList<>();
|
||||
aggWheres.addAll(yWheres.stream().filter(ObjectUtils::isNotEmpty).collect(Collectors.toList()));
|
||||
@ -99,7 +99,9 @@ public class RaceBarViewStatHandler implements PluginViewStatHandler {
|
||||
.tableAlias(String.format(table_alias_prefix, 1))
|
||||
.build();
|
||||
if (CollectionUtils.isNotEmpty(aggWheres)) st.add("filters", aggWheres);
|
||||
if (CollectionUtils.isNotEmpty(orders)) st.add("orders", orders);
|
||||
if (ObjectUtils.isNotEmpty(tableSQL)) st.add("table", tableSQL);
|
||||
|
||||
return baseService.sqlLimit(dsType, st.render(), pluginViewParam.getPluginViewLimit());
|
||||
}
|
||||
|
||||
|
@ -40,9 +40,9 @@ public class RaceBarService extends ViewPluginService {
|
||||
private static final Map<String, String[]> VIEW_STYLE_PROPERTY_INNER = new HashMap<>();
|
||||
|
||||
static {
|
||||
VIEW_STYLE_PROPERTY_INNER.put("color-selector", new String[]{"value", "alpha"});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("label-selector", new String[]{"show", "fontSize", "color", "position", "formatter"});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("tooltip-selector", new String[]{"show", "textStyle", "formatter"});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("color-selector", new String[]{"value"});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("label-selector", new String[]{"show", "fontSize", "color", "position"});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("tooltip-selector", new String[]{"show", "textStyle",});
|
||||
VIEW_STYLE_PROPERTY_INNER.put("title-selector", new String[]{"show", "title", "fontSize", "color", "hPosition", "vPosition", "isItalic", "isBolder"});
|
||||
}
|
||||
|
||||
@ -107,6 +107,7 @@ public class RaceBarService extends ViewPluginService {
|
||||
return null;
|
||||
}
|
||||
String sql = new RaceBarViewStatHandler().build(param, this);
|
||||
|
||||
return sql;
|
||||
|
||||
}
|
||||
@ -143,10 +144,21 @@ public class RaceBarService extends ViewPluginService {
|
||||
map.put("encode", encode);
|
||||
|
||||
Set<Object> xs = new HashSet<>();
|
||||
Set<String> keySet = new HashSet<>();
|
||||
List<String> keyList = new ArrayList<>();
|
||||
|
||||
data.forEach(ss -> {
|
||||
xs.add(ss[encode.get("y")]);
|
||||
|
||||
String key = ss[(Integer) map.get("extIndex")];
|
||||
if (!keySet.contains(key)) {
|
||||
keySet.add(key);
|
||||
keyList.add(key);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
Map<String, List<String[]>> groupData = data.stream().collect(Collectors.toMap(
|
||||
k -> k[(Integer) map.get("extIndex")],
|
||||
v -> {
|
||||
@ -160,24 +172,12 @@ public class RaceBarService extends ViewPluginService {
|
||||
})
|
||||
);
|
||||
|
||||
for (String key : groupData.keySet()) {
|
||||
String finalType = type;
|
||||
groupData.put(key, groupData.get(key).stream().sorted((o1, o2) -> {
|
||||
if (StringUtils.equals(finalType, "LONG")) {
|
||||
return Long.valueOf(o2[encode.get("x")]).compareTo(Long.valueOf(o1[encode.get("x")]));
|
||||
} else if (StringUtils.equals(finalType, "DOUBLE")) {
|
||||
return Double.valueOf(o2[encode.get("x")]).compareTo(Double.valueOf(o1[encode.get("x")]));
|
||||
}
|
||||
return o2[encode.get("x")].compareTo(o1[encode.get("x")]);
|
||||
}).collect(Collectors.toList()));
|
||||
|
||||
}
|
||||
|
||||
map.put("groupData", groupData);
|
||||
|
||||
map.put("extXs", new ArrayList<>(groupData.keySet()).stream().sorted().collect(Collectors.toList()));
|
||||
map.put("extXs", keyList);
|
||||
|
||||
map.put("xs", new ArrayList<>(xs).stream().sorted().collect(Collectors.toList()));
|
||||
map.put("xs", xs);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
@ -17,6 +17,17 @@
|
||||
<el-color-picker v-model="tooltipForm.textStyle.color" class="color-picker-style"
|
||||
:predefine="predefineColors" @change="changeTooltipAttr"/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('chart.background')"
|
||||
class="form-item"
|
||||
>
|
||||
<el-color-picker
|
||||
v-model="tooltipForm.backgroundColor"
|
||||
class="color-picker-style"
|
||||
:predefine="predefineColors"
|
||||
@change="changeTooltipAttr"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item class="form-item">
|
||||
<span slot="label">
|
||||
<span class="span-box">
|
||||
@ -40,7 +51,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {COLOR_PANEL, DEFAULT_TOOLTIP} from '@/utils/map'
|
||||
import {COLOR_PANEL, DEFAULT_TOOLTIP} from '../../utils/map'
|
||||
|
||||
export default {
|
||||
name: 'TooltipSelector',
|
||||
@ -127,6 +138,10 @@ export default {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.form-item ::v-deep .el-form-item__label {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.el-select-dropdown__item {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
@ -65,7 +65,7 @@
|
||||
/>
|
||||
</el-tag>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<!-- <el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<el-dropdown
|
||||
placement="right-start"
|
||||
size="mini"
|
||||
@ -78,7 +78,7 @@
|
||||
<span>{{ $t('chart.sort') }}</span>
|
||||
<span class="summary-span-item">({{ $t('chart.' + item.sort) }})</span>
|
||||
</span>
|
||||
<i class="el-icon-arrow-right el-icon--right"/>
|
||||
<i class="el-icon-arrow-right el-icon--right"/>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="beforeSort('none')">{{ $t('chart.none') }}</el-dropdown-item>
|
||||
@ -86,7 +86,7 @@
|
||||
<el-dropdown-item :command="beforeSort('desc')">{{ $t('chart.desc') }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</el-dropdown-item>-->
|
||||
</el-dropdown-item>
|
||||
|
||||
<el-dropdown-item
|
||||
v-show="item.deType === 1"
|
||||
|
@ -122,6 +122,9 @@ export default {
|
||||
.form-item>>>.el-form-item__label{
|
||||
font-size: 12px;
|
||||
}
|
||||
.form-item ::v-deep .el-form-item__label {
|
||||
font-size: 12px;
|
||||
}
|
||||
.el-select-dropdown__item{
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user