refactor(仪表板): 做联动配置时,同一数据集的视图首次配置默认全部选中
This commit is contained in:
parent
5d28902928
commit
3f902ce5ac
@ -18,9 +18,6 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
|
|||||||
@ApiModelProperty("目标视图名称")
|
@ApiModelProperty("目标视图名称")
|
||||||
//目标视图名称
|
//目标视图名称
|
||||||
private String targetViewName;
|
private String targetViewName;
|
||||||
@ApiModelProperty("启用联动")
|
|
||||||
//关联状态
|
|
||||||
private boolean linkageActive = false;
|
|
||||||
@ApiModelProperty("联动字段")
|
@ApiModelProperty("联动字段")
|
||||||
private List<PanelViewLinkageField> linkageFields = new ArrayList<>();
|
private List<PanelViewLinkageField> linkageFields = new ArrayList<>();
|
||||||
|
|
||||||
@ -60,17 +57,8 @@ public class PanelViewLinkageDTO extends PanelViewLinkage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PanelViewLinkageDTO(boolean linkageActive) {
|
public PanelViewLinkageDTO(boolean linkageActive) {
|
||||||
this.linkageActive = linkageActive;
|
super.setLinkageActive(linkageActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLinkageActive() {
|
|
||||||
return linkageActive;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLinkageActive(boolean linkageActive) {
|
|
||||||
this.linkageActive = linkageActive;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<PanelViewLinkageField> getLinkageFields() {
|
public List<PanelViewLinkageField> getLinkageFields() {
|
||||||
return linkageFields;
|
return linkageFields;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId"/>
|
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId"/>
|
||||||
<result column="table_id" jdbcType="VARCHAR" property="tableId"/>
|
<result column="table_id" jdbcType="VARCHAR" property="tableId"/>
|
||||||
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
|
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
|
||||||
|
<result column="sourceViewId" jdbcType="VARCHAR" property="sourceViewId"/>
|
||||||
<result column="linkageActive" property="linkageActive"/>
|
<result column="linkageActive" property="linkageActive"/>
|
||||||
<collection property="targetViewFields" ofType="io.dataease.plugins.common.base.domain.DatasetTableField" column="table_id"
|
<collection property="targetViewFields" ofType="io.dataease.plugins.common.base.domain.DatasetTableField" column="table_id"
|
||||||
select="queryTableField">
|
select="queryTableField">
|
||||||
@ -37,7 +38,8 @@
|
|||||||
chart_view.`name` as 'targetViewName',
|
chart_view.`name` as 'targetViewName',
|
||||||
chart_view.id as 'target_view_id',
|
chart_view.id as 'target_view_id',
|
||||||
chart_view.table_id,
|
chart_view.table_id,
|
||||||
(case when panel_view_linkage.target_view_id is null then 0 else 1 end) as 'linkageActive',
|
panel_view_linkage.source_view_id as 'sourceViewId',
|
||||||
|
(case when panel_view_linkage.target_view_id is null then 0 else panel_view_linkage.linkage_active end) as 'linkageActive',
|
||||||
panel_view_linkage_field.source_field,
|
panel_view_linkage_field.source_field,
|
||||||
panel_view_linkage_field.target_field
|
panel_view_linkage_field.target_field
|
||||||
FROM
|
FROM
|
||||||
@ -109,6 +111,8 @@
|
|||||||
LEFT JOIN panel_view_linkage_field ON panel_view_linkage.id = panel_view_linkage_field.linkage_id
|
LEFT JOIN panel_view_linkage_field ON panel_view_linkage.id = panel_view_linkage_field.linkage_id
|
||||||
WHERE
|
WHERE
|
||||||
panel_view_linkage.panel_id = #{panelId}
|
panel_view_linkage.panel_id = #{panelId}
|
||||||
|
and panel_view_linkage.linkage_active=1
|
||||||
|
and panel_view_linkage_field.id is not null
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="copyViewLinkage">
|
<insert id="copyViewLinkage">
|
||||||
|
|||||||
@ -72,18 +72,17 @@ public class PanelViewLinkageService {
|
|||||||
String targetViewId = entry.getKey();
|
String targetViewId = entry.getKey();
|
||||||
PanelViewLinkageDTO linkageDTO = entry.getValue();
|
PanelViewLinkageDTO linkageDTO = entry.getValue();
|
||||||
List<PanelViewLinkageField> linkageFields = linkageDTO.getLinkageFields();
|
List<PanelViewLinkageField> linkageFields = linkageDTO.getLinkageFields();
|
||||||
|
String linkageId = UUID.randomUUID().toString();
|
||||||
if (CollectionUtils.isNotEmpty(linkageFields) && linkageDTO.isLinkageActive()) {
|
PanelViewLinkage linkage = new PanelViewLinkage();
|
||||||
String linkageId = UUID.randomUUID().toString();
|
linkage.setId(linkageId);
|
||||||
PanelViewLinkage linkage = new PanelViewLinkage();
|
linkage.setPanelId(panelId);
|
||||||
linkage.setId(linkageId);
|
linkage.setSourceViewId(sourceViewId);
|
||||||
linkage.setPanelId(panelId);
|
linkage.setTargetViewId(targetViewId);
|
||||||
linkage.setSourceViewId(sourceViewId);
|
linkage.setUpdatePeople(AuthUtils.getUser().getUsername());
|
||||||
linkage.setTargetViewId(targetViewId);
|
linkage.setUpdateTime(updateTime);
|
||||||
linkage.setUpdatePeople(AuthUtils.getUser().getUsername());
|
linkage.setLinkageActive(linkageDTO.getLinkageActive());
|
||||||
linkage.setUpdateTime(updateTime);
|
panelViewLinkageMapper.insert(linkage);
|
||||||
panelViewLinkageMapper.insert(linkage);
|
if (CollectionUtils.isNotEmpty(linkageFields) && linkageDTO.getLinkageActive()) {
|
||||||
|
|
||||||
linkageFields.forEach(linkageField -> {
|
linkageFields.forEach(linkageField -> {
|
||||||
linkageField.setId(UUID.randomUUID().toString());
|
linkageField.setId(UUID.randomUUID().toString());
|
||||||
linkageField.setLinkageId(linkageId);
|
linkageField.setLinkageId(linkageId);
|
||||||
|
|||||||
@ -35,4 +35,9 @@ RETURN concat(chartName,'-',chartNameCount);
|
|||||||
|
|
||||||
END
|
END
|
||||||
;;
|
;;
|
||||||
delimiter ;
|
delimiter ;
|
||||||
|
|
||||||
|
ALTER TABLE `panel_view_linkage`
|
||||||
|
ADD COLUMN `linkage_active` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用关联' AFTER `update_people`;
|
||||||
|
|
||||||
|
update panel_view_linkage set linkage_active=1;
|
||||||
@ -371,6 +371,21 @@ export default {
|
|||||||
'panelViewDetailsInfo'
|
'panelViewDetailsInfo'
|
||||||
])
|
])
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
linkageAreaShow: {
|
||||||
|
handler(val) {
|
||||||
|
console.log("linkageAreaShow、、、、")
|
||||||
|
// 1.当前正在进行联动设置(val) 2.当前视图联动未启用!this.linkageInfo.linkageActive
|
||||||
|
// 3.当前视图没有设置过当前目标联动!this.linkageInfo.sourceViewId
|
||||||
|
// 4.数据集相同 this.linkageInfo.tableId === this.targetLinkageInfo[this.curLinkageView.propValue.viewId].tableId)
|
||||||
|
// 满足以上条件自动勾选
|
||||||
|
if (val && !this.linkageInfo.linkageActive && !this.linkageInfo.sourceViewId && this.linkageInfo.tableId === this.targetLinkageInfo[this.curLinkageView.propValue.viewId].tableId) {
|
||||||
|
this.linkageInfo.linkageActive = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (navigator.platform.indexOf('Mac') === -1) {
|
if (navigator.platform.indexOf('Mac') === -1) {
|
||||||
this.systemOS = 'Other'
|
this.systemOS = 'Other'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user