feat:仪表板支持仪表板之间跳转,外部链接跳转

This commit is contained in:
wangjiahao 2021-10-28 17:05:16 +08:00
parent bf32ef6174
commit 8ec93a1337
60 changed files with 4074 additions and 21 deletions

View File

@ -0,0 +1,19 @@
package io.dataease.base.domain;
import java.io.Serializable;
import lombok.Data;
@Data
public class PanelLinkJump implements Serializable {
private String id;
private String sourcePanelId;
private String sourceViewId;
private String linkJumpInfo;
private Boolean checked;
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,540 @@
package io.dataease.base.domain;
import java.util.ArrayList;
import java.util.List;
public class PanelLinkJumpExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public PanelLinkJumpExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(String value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(String value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(String value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(String value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(String value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(String value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdLike(String value) {
addCriterion("id like", value, "id");
return (Criteria) this;
}
public Criteria andIdNotLike(String value) {
addCriterion("id not like", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<String> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<String> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(String value1, String value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(String value1, String value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andSourcePanelIdIsNull() {
addCriterion("source_panel_id is null");
return (Criteria) this;
}
public Criteria andSourcePanelIdIsNotNull() {
addCriterion("source_panel_id is not null");
return (Criteria) this;
}
public Criteria andSourcePanelIdEqualTo(String value) {
addCriterion("source_panel_id =", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdNotEqualTo(String value) {
addCriterion("source_panel_id <>", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdGreaterThan(String value) {
addCriterion("source_panel_id >", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdGreaterThanOrEqualTo(String value) {
addCriterion("source_panel_id >=", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdLessThan(String value) {
addCriterion("source_panel_id <", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdLessThanOrEqualTo(String value) {
addCriterion("source_panel_id <=", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdLike(String value) {
addCriterion("source_panel_id like", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdNotLike(String value) {
addCriterion("source_panel_id not like", value, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdIn(List<String> values) {
addCriterion("source_panel_id in", values, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdNotIn(List<String> values) {
addCriterion("source_panel_id not in", values, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdBetween(String value1, String value2) {
addCriterion("source_panel_id between", value1, value2, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourcePanelIdNotBetween(String value1, String value2) {
addCriterion("source_panel_id not between", value1, value2, "sourcePanelId");
return (Criteria) this;
}
public Criteria andSourceViewIdIsNull() {
addCriterion("source_view_id is null");
return (Criteria) this;
}
public Criteria andSourceViewIdIsNotNull() {
addCriterion("source_view_id is not null");
return (Criteria) this;
}
public Criteria andSourceViewIdEqualTo(String value) {
addCriterion("source_view_id =", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdNotEqualTo(String value) {
addCriterion("source_view_id <>", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdGreaterThan(String value) {
addCriterion("source_view_id >", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdGreaterThanOrEqualTo(String value) {
addCriterion("source_view_id >=", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdLessThan(String value) {
addCriterion("source_view_id <", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdLessThanOrEqualTo(String value) {
addCriterion("source_view_id <=", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdLike(String value) {
addCriterion("source_view_id like", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdNotLike(String value) {
addCriterion("source_view_id not like", value, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdIn(List<String> values) {
addCriterion("source_view_id in", values, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdNotIn(List<String> values) {
addCriterion("source_view_id not in", values, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdBetween(String value1, String value2) {
addCriterion("source_view_id between", value1, value2, "sourceViewId");
return (Criteria) this;
}
public Criteria andSourceViewIdNotBetween(String value1, String value2) {
addCriterion("source_view_id not between", value1, value2, "sourceViewId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIsNull() {
addCriterion("link_jump_info is null");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIsNotNull() {
addCriterion("link_jump_info is not null");
return (Criteria) this;
}
public Criteria andLinkJumpInfoEqualTo(String value) {
addCriterion("link_jump_info =", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoNotEqualTo(String value) {
addCriterion("link_jump_info <>", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoGreaterThan(String value) {
addCriterion("link_jump_info >", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoGreaterThanOrEqualTo(String value) {
addCriterion("link_jump_info >=", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoLessThan(String value) {
addCriterion("link_jump_info <", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoLessThanOrEqualTo(String value) {
addCriterion("link_jump_info <=", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoLike(String value) {
addCriterion("link_jump_info like", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoNotLike(String value) {
addCriterion("link_jump_info not like", value, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIn(List<String> values) {
addCriterion("link_jump_info in", values, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoNotIn(List<String> values) {
addCriterion("link_jump_info not in", values, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoBetween(String value1, String value2) {
addCriterion("link_jump_info between", value1, value2, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andLinkJumpInfoNotBetween(String value1, String value2) {
addCriterion("link_jump_info not between", value1, value2, "linkJumpInfo");
return (Criteria) this;
}
public Criteria andCheckedIsNull() {
addCriterion("`checked` is null");
return (Criteria) this;
}
public Criteria andCheckedIsNotNull() {
addCriterion("`checked` is not null");
return (Criteria) this;
}
public Criteria andCheckedEqualTo(Boolean value) {
addCriterion("`checked` =", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotEqualTo(Boolean value) {
addCriterion("`checked` <>", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedGreaterThan(Boolean value) {
addCriterion("`checked` >", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedGreaterThanOrEqualTo(Boolean value) {
addCriterion("`checked` >=", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedLessThan(Boolean value) {
addCriterion("`checked` <", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedLessThanOrEqualTo(Boolean value) {
addCriterion("`checked` <=", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedIn(List<Boolean> values) {
addCriterion("`checked` in", values, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotIn(List<Boolean> values) {
addCriterion("`checked` not in", values, "checked");
return (Criteria) this;
}
public Criteria andCheckedBetween(Boolean value1, Boolean value2) {
addCriterion("`checked` between", value1, value2, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotBetween(Boolean value1, Boolean value2) {
addCriterion("`checked` not between", value1, value2, "checked");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@ -0,0 +1,25 @@
package io.dataease.base.domain;
import java.io.Serializable;
import lombok.Data;
@Data
public class PanelLinkJumpInfo implements Serializable {
private String id;
private String linkJumpId;
private String linkType;
private String jumpType;
private String targetPanelId;
private String sourceFieldId;
private String content;
private Boolean checked;
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,750 @@
package io.dataease.base.domain;
import java.util.ArrayList;
import java.util.List;
public class PanelLinkJumpInfoExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public PanelLinkJumpInfoExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(String value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(String value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(String value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(String value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(String value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(String value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdLike(String value) {
addCriterion("id like", value, "id");
return (Criteria) this;
}
public Criteria andIdNotLike(String value) {
addCriterion("id not like", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<String> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<String> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(String value1, String value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(String value1, String value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andLinkJumpIdIsNull() {
addCriterion("link_jump_id is null");
return (Criteria) this;
}
public Criteria andLinkJumpIdIsNotNull() {
addCriterion("link_jump_id is not null");
return (Criteria) this;
}
public Criteria andLinkJumpIdEqualTo(String value) {
addCriterion("link_jump_id =", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdNotEqualTo(String value) {
addCriterion("link_jump_id <>", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdGreaterThan(String value) {
addCriterion("link_jump_id >", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdGreaterThanOrEqualTo(String value) {
addCriterion("link_jump_id >=", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdLessThan(String value) {
addCriterion("link_jump_id <", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdLessThanOrEqualTo(String value) {
addCriterion("link_jump_id <=", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdLike(String value) {
addCriterion("link_jump_id like", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdNotLike(String value) {
addCriterion("link_jump_id not like", value, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdIn(List<String> values) {
addCriterion("link_jump_id in", values, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdNotIn(List<String> values) {
addCriterion("link_jump_id not in", values, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdBetween(String value1, String value2) {
addCriterion("link_jump_id between", value1, value2, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkJumpIdNotBetween(String value1, String value2) {
addCriterion("link_jump_id not between", value1, value2, "linkJumpId");
return (Criteria) this;
}
public Criteria andLinkTypeIsNull() {
addCriterion("link_type is null");
return (Criteria) this;
}
public Criteria andLinkTypeIsNotNull() {
addCriterion("link_type is not null");
return (Criteria) this;
}
public Criteria andLinkTypeEqualTo(String value) {
addCriterion("link_type =", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeNotEqualTo(String value) {
addCriterion("link_type <>", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeGreaterThan(String value) {
addCriterion("link_type >", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeGreaterThanOrEqualTo(String value) {
addCriterion("link_type >=", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeLessThan(String value) {
addCriterion("link_type <", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeLessThanOrEqualTo(String value) {
addCriterion("link_type <=", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeLike(String value) {
addCriterion("link_type like", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeNotLike(String value) {
addCriterion("link_type not like", value, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeIn(List<String> values) {
addCriterion("link_type in", values, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeNotIn(List<String> values) {
addCriterion("link_type not in", values, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeBetween(String value1, String value2) {
addCriterion("link_type between", value1, value2, "linkType");
return (Criteria) this;
}
public Criteria andLinkTypeNotBetween(String value1, String value2) {
addCriterion("link_type not between", value1, value2, "linkType");
return (Criteria) this;
}
public Criteria andJumpTypeIsNull() {
addCriterion("jump_type is null");
return (Criteria) this;
}
public Criteria andJumpTypeIsNotNull() {
addCriterion("jump_type is not null");
return (Criteria) this;
}
public Criteria andJumpTypeEqualTo(String value) {
addCriterion("jump_type =", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeNotEqualTo(String value) {
addCriterion("jump_type <>", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeGreaterThan(String value) {
addCriterion("jump_type >", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeGreaterThanOrEqualTo(String value) {
addCriterion("jump_type >=", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeLessThan(String value) {
addCriterion("jump_type <", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeLessThanOrEqualTo(String value) {
addCriterion("jump_type <=", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeLike(String value) {
addCriterion("jump_type like", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeNotLike(String value) {
addCriterion("jump_type not like", value, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeIn(List<String> values) {
addCriterion("jump_type in", values, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeNotIn(List<String> values) {
addCriterion("jump_type not in", values, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeBetween(String value1, String value2) {
addCriterion("jump_type between", value1, value2, "jumpType");
return (Criteria) this;
}
public Criteria andJumpTypeNotBetween(String value1, String value2) {
addCriterion("jump_type not between", value1, value2, "jumpType");
return (Criteria) this;
}
public Criteria andTargetPanelIdIsNull() {
addCriterion("target_panel_id is null");
return (Criteria) this;
}
public Criteria andTargetPanelIdIsNotNull() {
addCriterion("target_panel_id is not null");
return (Criteria) this;
}
public Criteria andTargetPanelIdEqualTo(String value) {
addCriterion("target_panel_id =", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdNotEqualTo(String value) {
addCriterion("target_panel_id <>", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdGreaterThan(String value) {
addCriterion("target_panel_id >", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdGreaterThanOrEqualTo(String value) {
addCriterion("target_panel_id >=", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdLessThan(String value) {
addCriterion("target_panel_id <", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdLessThanOrEqualTo(String value) {
addCriterion("target_panel_id <=", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdLike(String value) {
addCriterion("target_panel_id like", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdNotLike(String value) {
addCriterion("target_panel_id not like", value, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdIn(List<String> values) {
addCriterion("target_panel_id in", values, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdNotIn(List<String> values) {
addCriterion("target_panel_id not in", values, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdBetween(String value1, String value2) {
addCriterion("target_panel_id between", value1, value2, "targetPanelId");
return (Criteria) this;
}
public Criteria andTargetPanelIdNotBetween(String value1, String value2) {
addCriterion("target_panel_id not between", value1, value2, "targetPanelId");
return (Criteria) this;
}
public Criteria andSourceFieldIdIsNull() {
addCriterion("source_field_id is null");
return (Criteria) this;
}
public Criteria andSourceFieldIdIsNotNull() {
addCriterion("source_field_id is not null");
return (Criteria) this;
}
public Criteria andSourceFieldIdEqualTo(String value) {
addCriterion("source_field_id =", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdNotEqualTo(String value) {
addCriterion("source_field_id <>", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdGreaterThan(String value) {
addCriterion("source_field_id >", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdGreaterThanOrEqualTo(String value) {
addCriterion("source_field_id >=", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdLessThan(String value) {
addCriterion("source_field_id <", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdLessThanOrEqualTo(String value) {
addCriterion("source_field_id <=", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdLike(String value) {
addCriterion("source_field_id like", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdNotLike(String value) {
addCriterion("source_field_id not like", value, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdIn(List<String> values) {
addCriterion("source_field_id in", values, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdNotIn(List<String> values) {
addCriterion("source_field_id not in", values, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdBetween(String value1, String value2) {
addCriterion("source_field_id between", value1, value2, "sourceFieldId");
return (Criteria) this;
}
public Criteria andSourceFieldIdNotBetween(String value1, String value2) {
addCriterion("source_field_id not between", value1, value2, "sourceFieldId");
return (Criteria) this;
}
public Criteria andContentIsNull() {
addCriterion("content is null");
return (Criteria) this;
}
public Criteria andContentIsNotNull() {
addCriterion("content is not null");
return (Criteria) this;
}
public Criteria andContentEqualTo(String value) {
addCriterion("content =", value, "content");
return (Criteria) this;
}
public Criteria andContentNotEqualTo(String value) {
addCriterion("content <>", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThan(String value) {
addCriterion("content >", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThanOrEqualTo(String value) {
addCriterion("content >=", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThan(String value) {
addCriterion("content <", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThanOrEqualTo(String value) {
addCriterion("content <=", value, "content");
return (Criteria) this;
}
public Criteria andContentLike(String value) {
addCriterion("content like", value, "content");
return (Criteria) this;
}
public Criteria andContentNotLike(String value) {
addCriterion("content not like", value, "content");
return (Criteria) this;
}
public Criteria andContentIn(List<String> values) {
addCriterion("content in", values, "content");
return (Criteria) this;
}
public Criteria andContentNotIn(List<String> values) {
addCriterion("content not in", values, "content");
return (Criteria) this;
}
public Criteria andContentBetween(String value1, String value2) {
addCriterion("content between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andContentNotBetween(String value1, String value2) {
addCriterion("content not between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andCheckedIsNull() {
addCriterion("`checked` is null");
return (Criteria) this;
}
public Criteria andCheckedIsNotNull() {
addCriterion("`checked` is not null");
return (Criteria) this;
}
public Criteria andCheckedEqualTo(Boolean value) {
addCriterion("`checked` =", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotEqualTo(Boolean value) {
addCriterion("`checked` <>", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedGreaterThan(Boolean value) {
addCriterion("`checked` >", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedGreaterThanOrEqualTo(Boolean value) {
addCriterion("`checked` >=", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedLessThan(Boolean value) {
addCriterion("`checked` <", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedLessThanOrEqualTo(Boolean value) {
addCriterion("`checked` <=", value, "checked");
return (Criteria) this;
}
public Criteria andCheckedIn(List<Boolean> values) {
addCriterion("`checked` in", values, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotIn(List<Boolean> values) {
addCriterion("`checked` not in", values, "checked");
return (Criteria) this;
}
public Criteria andCheckedBetween(Boolean value1, Boolean value2) {
addCriterion("`checked` between", value1, value2, "checked");
return (Criteria) this;
}
public Criteria andCheckedNotBetween(Boolean value1, Boolean value2) {
addCriterion("`checked` not between", value1, value2, "checked");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@ -0,0 +1,17 @@
package io.dataease.base.domain;
import java.io.Serializable;
import lombok.Data;
@Data
public class PanelLinkJumpTargetViewInfo implements Serializable {
private String targetId;
private String linkJumpInfoId;
private String targetViewId;
private String targetFieldId;
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,480 @@
package io.dataease.base.domain;
import java.util.ArrayList;
import java.util.List;
public class PanelLinkJumpTargetViewInfoExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public PanelLinkJumpTargetViewInfoExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andTargetIdIsNull() {
addCriterion("target_id is null");
return (Criteria) this;
}
public Criteria andTargetIdIsNotNull() {
addCriterion("target_id is not null");
return (Criteria) this;
}
public Criteria andTargetIdEqualTo(String value) {
addCriterion("target_id =", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdNotEqualTo(String value) {
addCriterion("target_id <>", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdGreaterThan(String value) {
addCriterion("target_id >", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdGreaterThanOrEqualTo(String value) {
addCriterion("target_id >=", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdLessThan(String value) {
addCriterion("target_id <", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdLessThanOrEqualTo(String value) {
addCriterion("target_id <=", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdLike(String value) {
addCriterion("target_id like", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdNotLike(String value) {
addCriterion("target_id not like", value, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdIn(List<String> values) {
addCriterion("target_id in", values, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdNotIn(List<String> values) {
addCriterion("target_id not in", values, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdBetween(String value1, String value2) {
addCriterion("target_id between", value1, value2, "targetId");
return (Criteria) this;
}
public Criteria andTargetIdNotBetween(String value1, String value2) {
addCriterion("target_id not between", value1, value2, "targetId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdIsNull() {
addCriterion("link_jump_info_id is null");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdIsNotNull() {
addCriterion("link_jump_info_id is not null");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdEqualTo(String value) {
addCriterion("link_jump_info_id =", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdNotEqualTo(String value) {
addCriterion("link_jump_info_id <>", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdGreaterThan(String value) {
addCriterion("link_jump_info_id >", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdGreaterThanOrEqualTo(String value) {
addCriterion("link_jump_info_id >=", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdLessThan(String value) {
addCriterion("link_jump_info_id <", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdLessThanOrEqualTo(String value) {
addCriterion("link_jump_info_id <=", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdLike(String value) {
addCriterion("link_jump_info_id like", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdNotLike(String value) {
addCriterion("link_jump_info_id not like", value, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdIn(List<String> values) {
addCriterion("link_jump_info_id in", values, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdNotIn(List<String> values) {
addCriterion("link_jump_info_id not in", values, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdBetween(String value1, String value2) {
addCriterion("link_jump_info_id between", value1, value2, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andLinkJumpInfoIdNotBetween(String value1, String value2) {
addCriterion("link_jump_info_id not between", value1, value2, "linkJumpInfoId");
return (Criteria) this;
}
public Criteria andTargetViewIdIsNull() {
addCriterion("target_view_id is null");
return (Criteria) this;
}
public Criteria andTargetViewIdIsNotNull() {
addCriterion("target_view_id is not null");
return (Criteria) this;
}
public Criteria andTargetViewIdEqualTo(String value) {
addCriterion("target_view_id =", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdNotEqualTo(String value) {
addCriterion("target_view_id <>", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdGreaterThan(String value) {
addCriterion("target_view_id >", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdGreaterThanOrEqualTo(String value) {
addCriterion("target_view_id >=", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdLessThan(String value) {
addCriterion("target_view_id <", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdLessThanOrEqualTo(String value) {
addCriterion("target_view_id <=", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdLike(String value) {
addCriterion("target_view_id like", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdNotLike(String value) {
addCriterion("target_view_id not like", value, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdIn(List<String> values) {
addCriterion("target_view_id in", values, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdNotIn(List<String> values) {
addCriterion("target_view_id not in", values, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdBetween(String value1, String value2) {
addCriterion("target_view_id between", value1, value2, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetViewIdNotBetween(String value1, String value2) {
addCriterion("target_view_id not between", value1, value2, "targetViewId");
return (Criteria) this;
}
public Criteria andTargetFieldIdIsNull() {
addCriterion("target_field_id is null");
return (Criteria) this;
}
public Criteria andTargetFieldIdIsNotNull() {
addCriterion("target_field_id is not null");
return (Criteria) this;
}
public Criteria andTargetFieldIdEqualTo(String value) {
addCriterion("target_field_id =", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdNotEqualTo(String value) {
addCriterion("target_field_id <>", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdGreaterThan(String value) {
addCriterion("target_field_id >", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdGreaterThanOrEqualTo(String value) {
addCriterion("target_field_id >=", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdLessThan(String value) {
addCriterion("target_field_id <", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdLessThanOrEqualTo(String value) {
addCriterion("target_field_id <=", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdLike(String value) {
addCriterion("target_field_id like", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdNotLike(String value) {
addCriterion("target_field_id not like", value, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdIn(List<String> values) {
addCriterion("target_field_id in", values, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdNotIn(List<String> values) {
addCriterion("target_field_id not in", values, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdBetween(String value1, String value2) {
addCriterion("target_field_id between", value1, value2, "targetFieldId");
return (Criteria) this;
}
public Criteria andTargetFieldIdNotBetween(String value1, String value2) {
addCriterion("target_field_id not between", value1, value2, "targetFieldId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@ -0,0 +1,30 @@
package io.dataease.base.mapper;
import io.dataease.base.domain.PanelLinkJumpInfo;
import io.dataease.base.domain.PanelLinkJumpInfoExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PanelLinkJumpInfoMapper {
long countByExample(PanelLinkJumpInfoExample example);
int deleteByExample(PanelLinkJumpInfoExample example);
int deleteByPrimaryKey(String id);
int insert(PanelLinkJumpInfo record);
int insertSelective(PanelLinkJumpInfo record);
List<PanelLinkJumpInfo> selectByExample(PanelLinkJumpInfoExample example);
PanelLinkJumpInfo selectByPrimaryKey(String id);
int updateByExampleSelective(@Param("record") PanelLinkJumpInfo record, @Param("example") PanelLinkJumpInfoExample example);
int updateByExample(@Param("record") PanelLinkJumpInfo record, @Param("example") PanelLinkJumpInfoExample example);
int updateByPrimaryKeySelective(PanelLinkJumpInfo record);
int updateByPrimaryKey(PanelLinkJumpInfo record);
}

View File

@ -0,0 +1,259 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.PanelLinkJumpInfoMapper">
<resultMap id="BaseResultMap" type="io.dataease.base.domain.PanelLinkJumpInfo">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="link_jump_id" jdbcType="VARCHAR" property="linkJumpId" />
<result column="link_type" jdbcType="VARCHAR" property="linkType" />
<result column="jump_type" jdbcType="VARCHAR" property="jumpType" />
<result column="target_panel_id" jdbcType="VARCHAR" property="targetPanelId" />
<result column="source_field_id" jdbcType="VARCHAR" property="sourceFieldId" />
<result column="content" jdbcType="VARCHAR" property="content" />
<result column="checked" jdbcType="BIT" property="checked" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, link_jump_id, link_type, jump_type, target_panel_id, source_field_id, content,
`checked`
</sql>
<select id="selectByExample" parameterType="io.dataease.base.domain.PanelLinkJumpInfoExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from panel_link_jump_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from panel_link_jump_info
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from panel_link_jump_info
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="io.dataease.base.domain.PanelLinkJumpInfoExample">
delete from panel_link_jump_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="io.dataease.base.domain.PanelLinkJumpInfo">
insert into panel_link_jump_info (id, link_jump_id, link_type,
jump_type, target_panel_id, source_field_id,
content, `checked`)
values (#{id,jdbcType=VARCHAR}, #{linkJumpId,jdbcType=VARCHAR}, #{linkType,jdbcType=VARCHAR},
#{jumpType,jdbcType=VARCHAR}, #{targetPanelId,jdbcType=VARCHAR}, #{sourceFieldId,jdbcType=VARCHAR},
#{content,jdbcType=VARCHAR}, #{checked,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.PanelLinkJumpInfo">
insert into panel_link_jump_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="linkJumpId != null">
link_jump_id,
</if>
<if test="linkType != null">
link_type,
</if>
<if test="jumpType != null">
jump_type,
</if>
<if test="targetPanelId != null">
target_panel_id,
</if>
<if test="sourceFieldId != null">
source_field_id,
</if>
<if test="content != null">
content,
</if>
<if test="checked != null">
`checked`,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="linkJumpId != null">
#{linkJumpId,jdbcType=VARCHAR},
</if>
<if test="linkType != null">
#{linkType,jdbcType=VARCHAR},
</if>
<if test="jumpType != null">
#{jumpType,jdbcType=VARCHAR},
</if>
<if test="targetPanelId != null">
#{targetPanelId,jdbcType=VARCHAR},
</if>
<if test="sourceFieldId != null">
#{sourceFieldId,jdbcType=VARCHAR},
</if>
<if test="content != null">
#{content,jdbcType=VARCHAR},
</if>
<if test="checked != null">
#{checked,jdbcType=BIT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="io.dataease.base.domain.PanelLinkJumpInfoExample" resultType="java.lang.Long">
select count(*) from panel_link_jump_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update panel_link_jump_info
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.linkJumpId != null">
link_jump_id = #{record.linkJumpId,jdbcType=VARCHAR},
</if>
<if test="record.linkType != null">
link_type = #{record.linkType,jdbcType=VARCHAR},
</if>
<if test="record.jumpType != null">
jump_type = #{record.jumpType,jdbcType=VARCHAR},
</if>
<if test="record.targetPanelId != null">
target_panel_id = #{record.targetPanelId,jdbcType=VARCHAR},
</if>
<if test="record.sourceFieldId != null">
source_field_id = #{record.sourceFieldId,jdbcType=VARCHAR},
</if>
<if test="record.content != null">
content = #{record.content,jdbcType=VARCHAR},
</if>
<if test="record.checked != null">
`checked` = #{record.checked,jdbcType=BIT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update panel_link_jump_info
set id = #{record.id,jdbcType=VARCHAR},
link_jump_id = #{record.linkJumpId,jdbcType=VARCHAR},
link_type = #{record.linkType,jdbcType=VARCHAR},
jump_type = #{record.jumpType,jdbcType=VARCHAR},
target_panel_id = #{record.targetPanelId,jdbcType=VARCHAR},
source_field_id = #{record.sourceFieldId,jdbcType=VARCHAR},
content = #{record.content,jdbcType=VARCHAR},
`checked` = #{record.checked,jdbcType=BIT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="io.dataease.base.domain.PanelLinkJumpInfo">
update panel_link_jump_info
<set>
<if test="linkJumpId != null">
link_jump_id = #{linkJumpId,jdbcType=VARCHAR},
</if>
<if test="linkType != null">
link_type = #{linkType,jdbcType=VARCHAR},
</if>
<if test="jumpType != null">
jump_type = #{jumpType,jdbcType=VARCHAR},
</if>
<if test="targetPanelId != null">
target_panel_id = #{targetPanelId,jdbcType=VARCHAR},
</if>
<if test="sourceFieldId != null">
source_field_id = #{sourceFieldId,jdbcType=VARCHAR},
</if>
<if test="content != null">
content = #{content,jdbcType=VARCHAR},
</if>
<if test="checked != null">
`checked` = #{checked,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="io.dataease.base.domain.PanelLinkJumpInfo">
update panel_link_jump_info
set link_jump_id = #{linkJumpId,jdbcType=VARCHAR},
link_type = #{linkType,jdbcType=VARCHAR},
jump_type = #{jumpType,jdbcType=VARCHAR},
target_panel_id = #{targetPanelId,jdbcType=VARCHAR},
source_field_id = #{sourceFieldId,jdbcType=VARCHAR},
content = #{content,jdbcType=VARCHAR},
`checked` = #{checked,jdbcType=BIT}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

View File

@ -0,0 +1,30 @@
package io.dataease.base.mapper;
import io.dataease.base.domain.PanelLinkJump;
import io.dataease.base.domain.PanelLinkJumpExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PanelLinkJumpMapper {
long countByExample(PanelLinkJumpExample example);
int deleteByExample(PanelLinkJumpExample example);
int deleteByPrimaryKey(String id);
int insert(PanelLinkJump record);
int insertSelective(PanelLinkJump record);
List<PanelLinkJump> selectByExample(PanelLinkJumpExample example);
PanelLinkJump selectByPrimaryKey(String id);
int updateByExampleSelective(@Param("record") PanelLinkJump record, @Param("example") PanelLinkJumpExample example);
int updateByExample(@Param("record") PanelLinkJump record, @Param("example") PanelLinkJumpExample example);
int updateByPrimaryKeySelective(PanelLinkJump record);
int updateByPrimaryKey(PanelLinkJump record);
}

View File

@ -0,0 +1,211 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.PanelLinkJumpMapper">
<resultMap id="BaseResultMap" type="io.dataease.base.domain.PanelLinkJump">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="source_panel_id" jdbcType="VARCHAR" property="sourcePanelId" />
<result column="source_view_id" jdbcType="VARCHAR" property="sourceViewId" />
<result column="link_jump_info" jdbcType="VARCHAR" property="linkJumpInfo" />
<result column="checked" jdbcType="BIT" property="checked" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, source_panel_id, source_view_id, link_jump_info, `checked`
</sql>
<select id="selectByExample" parameterType="io.dataease.base.domain.PanelLinkJumpExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from panel_link_jump
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from panel_link_jump
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from panel_link_jump
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="io.dataease.base.domain.PanelLinkJumpExample">
delete from panel_link_jump
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="io.dataease.base.domain.PanelLinkJump">
insert into panel_link_jump (id, source_panel_id, source_view_id,
link_jump_info, `checked`)
values (#{id,jdbcType=VARCHAR}, #{sourcePanelId,jdbcType=VARCHAR}, #{sourceViewId,jdbcType=VARCHAR},
#{linkJumpInfo,jdbcType=VARCHAR}, #{checked,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.PanelLinkJump">
insert into panel_link_jump
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="sourcePanelId != null">
source_panel_id,
</if>
<if test="sourceViewId != null">
source_view_id,
</if>
<if test="linkJumpInfo != null">
link_jump_info,
</if>
<if test="checked != null">
`checked`,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="sourcePanelId != null">
#{sourcePanelId,jdbcType=VARCHAR},
</if>
<if test="sourceViewId != null">
#{sourceViewId,jdbcType=VARCHAR},
</if>
<if test="linkJumpInfo != null">
#{linkJumpInfo,jdbcType=VARCHAR},
</if>
<if test="checked != null">
#{checked,jdbcType=BIT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="io.dataease.base.domain.PanelLinkJumpExample" resultType="java.lang.Long">
select count(*) from panel_link_jump
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update panel_link_jump
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.sourcePanelId != null">
source_panel_id = #{record.sourcePanelId,jdbcType=VARCHAR},
</if>
<if test="record.sourceViewId != null">
source_view_id = #{record.sourceViewId,jdbcType=VARCHAR},
</if>
<if test="record.linkJumpInfo != null">
link_jump_info = #{record.linkJumpInfo,jdbcType=VARCHAR},
</if>
<if test="record.checked != null">
`checked` = #{record.checked,jdbcType=BIT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update panel_link_jump
set id = #{record.id,jdbcType=VARCHAR},
source_panel_id = #{record.sourcePanelId,jdbcType=VARCHAR},
source_view_id = #{record.sourceViewId,jdbcType=VARCHAR},
link_jump_info = #{record.linkJumpInfo,jdbcType=VARCHAR},
`checked` = #{record.checked,jdbcType=BIT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="io.dataease.base.domain.PanelLinkJump">
update panel_link_jump
<set>
<if test="sourcePanelId != null">
source_panel_id = #{sourcePanelId,jdbcType=VARCHAR},
</if>
<if test="sourceViewId != null">
source_view_id = #{sourceViewId,jdbcType=VARCHAR},
</if>
<if test="linkJumpInfo != null">
link_jump_info = #{linkJumpInfo,jdbcType=VARCHAR},
</if>
<if test="checked != null">
`checked` = #{checked,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="io.dataease.base.domain.PanelLinkJump">
update panel_link_jump
set source_panel_id = #{sourcePanelId,jdbcType=VARCHAR},
source_view_id = #{sourceViewId,jdbcType=VARCHAR},
link_jump_info = #{linkJumpInfo,jdbcType=VARCHAR},
`checked` = #{checked,jdbcType=BIT}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

View File

@ -0,0 +1,30 @@
package io.dataease.base.mapper;
import io.dataease.base.domain.PanelLinkJumpTargetViewInfo;
import io.dataease.base.domain.PanelLinkJumpTargetViewInfoExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PanelLinkJumpTargetViewInfoMapper {
long countByExample(PanelLinkJumpTargetViewInfoExample example);
int deleteByExample(PanelLinkJumpTargetViewInfoExample example);
int deleteByPrimaryKey(String targetId);
int insert(PanelLinkJumpTargetViewInfo record);
int insertSelective(PanelLinkJumpTargetViewInfo record);
List<PanelLinkJumpTargetViewInfo> selectByExample(PanelLinkJumpTargetViewInfoExample example);
PanelLinkJumpTargetViewInfo selectByPrimaryKey(String targetId);
int updateByExampleSelective(@Param("record") PanelLinkJumpTargetViewInfo record, @Param("example") PanelLinkJumpTargetViewInfoExample example);
int updateByExample(@Param("record") PanelLinkJumpTargetViewInfo record, @Param("example") PanelLinkJumpTargetViewInfoExample example);
int updateByPrimaryKeySelective(PanelLinkJumpTargetViewInfo record);
int updateByPrimaryKey(PanelLinkJumpTargetViewInfo record);
}

View File

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.PanelLinkJumpTargetViewInfoMapper">
<resultMap id="BaseResultMap" type="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
<id column="target_id" jdbcType="VARCHAR" property="targetId" />
<result column="link_jump_info_id" jdbcType="VARCHAR" property="linkJumpInfoId" />
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId" />
<result column="target_field_id" jdbcType="VARCHAR" property="targetFieldId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
target_id, link_jump_info_id, target_view_id, target_field_id
</sql>
<select id="selectByExample" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfoExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from panel_link_jump_target_view_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from panel_link_jump_target_view_info
where target_id = #{targetId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from panel_link_jump_target_view_info
where target_id = #{targetId,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfoExample">
delete from panel_link_jump_target_view_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
insert into panel_link_jump_target_view_info (target_id, link_jump_info_id, target_view_id,
target_field_id)
values (#{targetId,jdbcType=VARCHAR}, #{linkJumpInfoId,jdbcType=VARCHAR}, #{targetViewId,jdbcType=VARCHAR},
#{targetFieldId,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
insert into panel_link_jump_target_view_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="targetId != null">
target_id,
</if>
<if test="linkJumpInfoId != null">
link_jump_info_id,
</if>
<if test="targetViewId != null">
target_view_id,
</if>
<if test="targetFieldId != null">
target_field_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="targetId != null">
#{targetId,jdbcType=VARCHAR},
</if>
<if test="linkJumpInfoId != null">
#{linkJumpInfoId,jdbcType=VARCHAR},
</if>
<if test="targetViewId != null">
#{targetViewId,jdbcType=VARCHAR},
</if>
<if test="targetFieldId != null">
#{targetFieldId,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfoExample" resultType="java.lang.Long">
select count(*) from panel_link_jump_target_view_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update panel_link_jump_target_view_info
<set>
<if test="record.targetId != null">
target_id = #{record.targetId,jdbcType=VARCHAR},
</if>
<if test="record.linkJumpInfoId != null">
link_jump_info_id = #{record.linkJumpInfoId,jdbcType=VARCHAR},
</if>
<if test="record.targetViewId != null">
target_view_id = #{record.targetViewId,jdbcType=VARCHAR},
</if>
<if test="record.targetFieldId != null">
target_field_id = #{record.targetFieldId,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update panel_link_jump_target_view_info
set target_id = #{record.targetId,jdbcType=VARCHAR},
link_jump_info_id = #{record.linkJumpInfoId,jdbcType=VARCHAR},
target_view_id = #{record.targetViewId,jdbcType=VARCHAR},
target_field_id = #{record.targetFieldId,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
update panel_link_jump_target_view_info
<set>
<if test="linkJumpInfoId != null">
link_jump_info_id = #{linkJumpInfoId,jdbcType=VARCHAR},
</if>
<if test="targetViewId != null">
target_view_id = #{targetViewId,jdbcType=VARCHAR},
</if>
<if test="targetFieldId != null">
target_field_id = #{targetFieldId,jdbcType=VARCHAR},
</if>
</set>
where target_id = #{targetId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
update panel_link_jump_target_view_info
set link_jump_info_id = #{linkJumpInfoId,jdbcType=VARCHAR},
target_view_id = #{targetViewId,jdbcType=VARCHAR},
target_field_id = #{targetFieldId,jdbcType=VARCHAR}
where target_id = #{targetId,jdbcType=VARCHAR}
</update>
</mapper>

View File

@ -0,0 +1,22 @@
package io.dataease.base.mapper.ext;
import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseRequest;
import io.dataease.dto.panel.linkJump.PanelLinkJumpDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ExtPanelLinkJumpMapper {
List<PanelLinkJumpDTO> queryWithPanelId(@Param("panelId") String panelId);
PanelLinkJumpDTO queryWithViewId(@Param("panelId") String panelId,@Param("viewId") String viewId);
void deleteJumpTargetViewInfo(@Param("panelId") String panelId,@Param("viewId") String viewId);
void deleteJumpInfo(@Param("panelId") String panelId,@Param("viewId") String viewId);
void deleteJump(@Param("panelId") String panelId,@Param("viewId") String viewId);
List<PanelLinkJumpDTO> getTargetPanelJumpInfo(@Param("request")PanelLinkJumpBaseRequest request);
}

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.base.mapper.ext.ExtPanelLinkJumpMapper">
<resultMap id="BaseResultMapDTO" type="io.dataease.dto.panel.linkJump.PanelLinkJumpDTO"
extends="io.dataease.base.mapper.PanelLinkJumpMapper.BaseResultMap">
<collection property="linkJumpInfoArray" ofType="io.dataease.dto.panel.linkJump.PanelLinkJumpInfoDTO"
column="{id=id,source_view_id=source_view_id}"
select="getLinkJumpInfo">
</collection>
</resultMap>
<resultMap id="LinkJumpInfoMap" type="io.dataease.dto.panel.linkJump.PanelLinkJumpInfoDTO" extends="io.dataease.base.mapper.PanelLinkJumpInfoMapper.BaseResultMap">
<result column="source_field_id" jdbcType="VARCHAR" property="sourceFieldId"/>
<result column="source_field_name" jdbcType="VARCHAR" property="sourceFieldName"/>
<collection property="targetViewInfoList" ofType="io.dataease.base.domain.PanelLinkJumpTargetViewInfo">
<result column="target_view_id" jdbcType="VARCHAR" property="targetViewId"/>
<result column="target_field_id" jdbcType="VARCHAR" property="targetFieldId"/>
</collection>
</resultMap>
<resultMap id="AllJumpMap" type="io.dataease.dto.panel.linkJump.PanelLinkJumpDTO">
<result column="sourceInfo" jdbcType="VARCHAR" property="sourceInfo"/>
<collection property="targetInfoList" ofType="String">
<result column="targetInfo" jdbcType="VARCHAR"/>
</collection>
</resultMap>
<select id="getLinkJumpInfo" resultMap="LinkJumpInfoMap">
SELECT
dataset_table_field.id AS 'source_field_id',
dataset_table_field.NAME AS 'source_field_name',
panel_link_jump_info.id,
panel_link_jump_info.link_jump_id,
panel_link_jump_info.link_type,
panel_link_jump_info.jump_type,
panel_link_jump_info.target_panel_id,
panel_link_jump_info.content,
ifnull( panel_link_jump_info.checked, 0 ) AS checked,
panel_link_jump_target_view_info.target_view_id,
panel_link_jump_target_view_info.target_field_id
FROM
chart_view
LEFT JOIN dataset_table_field ON chart_view.table_id = dataset_table_field.table_id
left join panel_link_jump on chart_view.id = panel_link_jump.source_view_id
left join panel_link_jump_info on panel_link_jump.id = panel_link_jump_info.link_jump_id and dataset_table_field.id = panel_link_jump_info.source_field_id
LEFT JOIN panel_link_jump_target_view_info ON panel_link_jump_info.id = panel_link_jump_target_view_info.link_jump_info_id
AND panel_link_jump_info.link_jump_id = #{id}
WHERE
chart_view.id =#{source_view_id}
</select>
<select id="queryWithPanelId" resultMap="BaseResultMapDTO">
SELECT
chart_view.id AS source_view_id,
panel_link_jump.id,
#{panelId} as 'source_panel_id',
panel_link_jump.link_jump_info,
ifnull( panel_link_jump.checked, 0 ) AS checked
FROM
chart_view
LEFT JOIN panel_link_jump ON chart_view.id = panel_link_jump.source_view_id
WHERE
panel_link_jump.source_panel_id = #{panelId}
and panel_link_jump.checked = 1
</select>
<select id="queryWithViewId" resultMap="BaseResultMapDTO">
SELECT
chart_view.id AS source_view_id,
panel_link_jump.id,
#{panelId} as 'source_panel_id',
panel_link_jump.link_jump_info,
ifnull( panel_link_jump.checked, 0 ) AS checked
FROM
chart_view
LEFT JOIN panel_link_jump ON chart_view.id = panel_link_jump.source_view_id
AND panel_link_jump.source_panel_id = #{panelId}
WHERE
chart_view.id = #{viewId}
</select>
<delete id="deleteJumpTargetViewInfo" >
DELETE ljtv
FROM
panel_link_jump_target_view_info ljtv,
panel_link_jump_info lji,
panel_link_jump lj
WHERE
ljtv.link_jump_info_id = lji.id
AND lji.link_jump_id = lj.id
AND lj.source_panel_id = #{panelId}
AND lj.source_view_id = #{viewId}
</delete>
<delete id="deleteJumpInfo" >
DELETE lji
FROM
panel_link_jump_info lji,
panel_link_jump lj
WHERE
lji.link_jump_id = lj.id
AND lj.source_panel_id = #{panelId}
AND lj.source_view_id = #{viewId}
</delete>
<delete id="deleteJump" >
DELETE lj
FROM
panel_link_jump lj
WHERE
lj.source_panel_id = #{panelId}
AND lj.source_view_id = #{viewId}
</delete>
<select id="getTargetPanelJumpInfo" resultMap="AllJumpMap">
SELECT DISTINCT
concat( lj.source_view_id, '#', lji.source_field_id ) AS 'sourceInfo',
concat( jtvi.target_view_id, '#', jtvi.target_field_id ) AS 'targetInfo'
FROM
panel_link_jump_target_view_info jtvi
LEFT JOIN panel_link_jump_info lji ON jtvi.link_jump_info_id = lji.id
LEFT JOIN panel_link_jump lj ON lji.link_jump_id = lj.id
WHERE
lj.source_panel_id = #{request.sourcePanelId}
AND lj.source_view_id = #{request.sourceViewId}
AND lji.target_panel_id = #{request.targetPanelId}
AND lji.source_field_id = #{request.sourceFieldId}
</select>
</mapper>

View File

@ -16,6 +16,8 @@ public interface ExtPanelViewLinkageMapper {
List<DatasetTableField> queryTableField(@Param("table_id") String tableId);
List<DatasetTableField> queryTableFieldWithViewId(@Param("viewId") String viewId);
void deleteViewLinkage(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId);
void deleteViewLinkageField(@Param("panelId") String panelId,@Param("sourceViewId") String sourceViewId);

View File

@ -62,6 +62,18 @@
from dataset_table_field where table_id = #{table_id}
</select>
<select id="queryTableFieldWithViewId" resultMap="TableFieldMap">
select
dataset_table_field.id,
dataset_table_field.table_id,
dataset_table_field.origin_name,
dataset_table_field.`name`,
dataset_table_field.de_type
from dataset_table_field
left join chart_view on dataset_table_field.table_id= chart_view.table_id
where chart_view.id = #{viewId}
</select>
<delete id="deleteViewLinkage">
delete from panel_view_linkage where panel_view_linkage.panel_id = #{panelId}

View File

@ -1,6 +1,8 @@
package io.dataease.base.mapper.ext;
import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.dto.panel.PanelViewDto;
import io.dataease.dto.panel.PanelViewTableDTO;
import io.dataease.dto.panel.po.PanelViewInsertDTO;
import org.apache.ibatis.annotations.Param;
@ -12,6 +14,8 @@ public interface ExtPanelViewMapper {
List<PanelViewDto> views(String userId);
List<PanelViewTableDTO> getPanelViewDetails(@Param("panelId") String panelId);
void deleteWithPanelId(String panelId);
void savePanelView(@Param("panelViews") List<PanelViewInsertDTO> panelViews);

View File

@ -9,7 +9,42 @@
<result column="type" property="type" />
</resultMap>
<resultMap extends="io.dataease.base.mapper.ChartViewMapper.BaseResultMap" id="PanelViewDetailsMap" type="io.dataease.dto.panel.PanelViewTableDTO">
<result column="panel_id" property="panelId" />
<collection property="tableFields" ofType="io.dataease.base.domain.DatasetTableField">
<result column="field_id" jdbcType="VARCHAR" property="id"/>
<result column="origin_name" jdbcType="VARCHAR" property="originName"/>
<result column="field_name" jdbcType="VARCHAR" property="name"/>
<result column="field_type" jdbcType="VARCHAR" property="type"/>
<result column="de_type" jdbcType="VARCHAR" property="deType"/>
</collection>
</resultMap>
<select id="getPanelViewDetails" resultMap="PanelViewDetailsMap">
SELECT
chart_view.id,
chart_view.`name`,
chart_view.scene_id,
chart_view.table_id,
chart_view.`type`,
chart_view.render,
chart_view.title,
chart_view.create_by,
chart_view.create_time,
chart_view.update_time,
chart_view.style_priority,
panel_view.panel_id,
dataset_table_field.id as 'field_id',
dataset_table_field.origin_name,
dataset_table_field.`name` as 'field_name',
dataset_table_field.type as 'field_type',
dataset_table_field.de_type
FROM
panel_view
LEFT JOIN chart_view ON panel_view.chart_view_id = chart_view.id
left join dataset_table_field on chart_view.table_id = dataset_table_field.table_id
where panel_view.panel_id =#{panelId}
</select>
<select id="groups" resultMap="treeNodeMap">
select id, ifnull(pid,0) as pid, name, `type`

View File

@ -9,6 +9,8 @@ import java.util.List;
*/
public interface ITreeBase<T> {
String getNodeType();
String getId();
void setId(String id);

View File

@ -41,6 +41,7 @@ public class TreeUtils{
return result;
}
/**
* Description: rootPid 是根节点PID 档期那默认是0
*/

View File

@ -0,0 +1,66 @@
package io.dataease.controller.panel;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.commons.model.BaseRspModel;
import io.dataease.controller.request.panel.PanelLinkageRequest;
import io.dataease.controller.request.panel.PanelSubjectRequest;
import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseRequest;
import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseResponse;
import io.dataease.dto.panel.linkJump.PanelLinkJumpDTO;
import io.dataease.dto.panel.linkJump.PanelLinkJumpInfoDTO;
import io.dataease.service.panel.PanelLinkJumpService;
import io.dataease.service.panel.PanelViewLinkageService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* Author: wangjiahao
* Date: 8/4/21
* Description:
*/
@Api(tags = "仪表板:仪表板跳转")
@ApiSupport(order = 171)
@RestController
@RequestMapping("linkJump")
public class PanelLinkJumpController {
@Resource
private PanelLinkJumpService panelLinkJumpService;
@ApiOperation("根据视图ID获取对应表字段信息")
@GetMapping("/getTableFieldWithViewId/{viewId}")
public List<DatasetTableField> getTableFieldWithViewId(@PathVariable String viewId){
return panelLinkJumpService.getViewFields(viewId);
}
@ApiOperation("根据仪表板ID和视图ID获取跳转信息")
@GetMapping("/queryWithViewId/{panelId}/{viewId}")
public PanelLinkJumpDTO queryWithViewId(@PathVariable String panelId, @PathVariable String viewId){
return panelLinkJumpService.queryWithView(panelId,viewId);
}
@ApiOperation("根据仪表板ID获取跳转信息")
@GetMapping("/queryPanelJumpInfo/{panelId}")
public PanelLinkJumpBaseResponse queryPanelJumpInfo(@PathVariable String panelId){
return panelLinkJumpService.queryPanelJumpInfo(panelId);
}
@ApiOperation("更新跳转信息")
@PostMapping("/updateJumpSet")
public void updateJumpSet(@RequestBody PanelLinkJumpDTO jumpDTO){
panelLinkJumpService.updateJumpSet(jumpDTO);
}
@ApiOperation("获取仪表板目标仪表板跳转联动信息")
@PostMapping("/queryTargetPanelJumpInfo")
public PanelLinkJumpBaseResponse queryTargetPanelJumpInfo(@RequestBody PanelLinkJumpBaseRequest request){
return panelLinkJumpService.queryTargetPanelJumpInfo(request);
}
}

View File

@ -0,0 +1,39 @@
package io.dataease.controller.panel;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.PanelGroup;
import io.dataease.base.domain.PanelGroupWithBLOBs;
import io.dataease.controller.handler.annotation.I18n;
import io.dataease.controller.request.panel.PanelGroupRequest;
import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.dto.panel.PanelGroupDTO;
import io.dataease.dto.panel.PanelViewTableDTO;
import io.dataease.service.panel.PanelGroupService;
import io.dataease.service.panel.PanelViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* Author: wangjiahao
* Date: 2021-03-05
* Description:
*/
@Api(tags = "仪表板:仪表板视图")
@ApiSupport(order = 150)
@RestController
@RequestMapping("panel/view")
public class PanelViewController {
@Resource
private PanelViewService panelViewService;
@ApiOperation("视图详细信息")
@GetMapping("/detailList/{panelId}")
public List<PanelViewTableDTO> detailList(@PathVariable String panelId) throws Exception {
return panelViewService.detailList(panelId);
}
}

View File

@ -16,4 +16,8 @@ public class ChartGroupDTO extends DatasetGroup implements ITreeBase<ChartGroupD
private List<ChartGroupDTO> children;
@ApiModelProperty("权限")
private String privileges;
@ApiModelProperty("节点类型")
public String getNodeType(){
return super.getType();
};
}

View File

@ -19,4 +19,8 @@ public class DataSetGroupDTO extends DatasetGroup implements ITreeBase<DataSetGr
private List<DataSetGroupDTO> children;
@ApiModelProperty("权限")
private String privileges;
@ApiModelProperty("节点类型")
public String getNodeType(){
return super.getType();
};
}

View File

@ -30,7 +30,7 @@ public class PanelGroupDTO extends PanelGroupWithBLOBs implements ITreeBase<Pane
@ApiModelProperty("源仪表板名称")
private String sourcePanelName;
@ApiModelProperty("子节点")
private List<PanelGroupDTO> children = new ArrayList<>();
private List<PanelGroupDTO> children;
}

View File

@ -20,6 +20,10 @@ public class PanelViewDto implements ITreeBase<PanelViewDto> {
private String name;
@ApiModelProperty("子节点")
private List<PanelViewDto> children;
@ApiModelProperty("节点类型")
public String getNodeType(){
return this.type;
};
public void addChild(PanelViewDto dto){
children = Optional.ofNullable(children).orElse(new ArrayList<>());

View File

@ -0,0 +1,27 @@
package io.dataease.dto.panel;
import io.dataease.base.domain.ChartViewWithBLOBs;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.base.domain.PanelGroupWithBLOBs;
import io.dataease.commons.model.ITreeBase;
import io.dataease.datasource.dto.TableFiled;
import io.dataease.dto.chart.ChartViewDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Author: wangjiahao
* Date: 2021-03-05
* Description:
*/
@Data
public class PanelViewTableDTO extends ChartViewWithBLOBs {
@ApiModelProperty("仪表板ID")
private String panelId;
private List<DatasetTableField> tableFields;
}

View File

@ -0,0 +1,21 @@
package io.dataease.dto.panel.linkJump;
import lombok.Data;
/**
* Author: wangjiahao
* Date: 2021/10/28
* Description:
*/
@Data
public class PanelLinkJumpBaseRequest {
private String sourcePanelId;
private String sourceViewId;
private String sourceFieldId;
private String targetPanelId;
}

View File

@ -0,0 +1,30 @@
package io.dataease.dto.panel.linkJump;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* Author: wangjiahao
* Date: 2021/10/28
* Description:
*/
@Data
public class PanelLinkJumpBaseResponse {
// 获取基础的所有映射
private Map<String, PanelLinkJumpInfoDTO> baseJumpInfoMap;
// 获取仪表板类型映射
private Map<String, List<String>> baseJumpInfoPanelMap;
public PanelLinkJumpBaseResponse(Map<String, PanelLinkJumpInfoDTO> baseJumpInfoMap, Map<String, List<String>> baseJumpInfoPanelMap) {
this.baseJumpInfoMap = baseJumpInfoMap;
this.baseJumpInfoPanelMap = baseJumpInfoPanelMap;
}
public PanelLinkJumpBaseResponse() {
}
}

View File

@ -0,0 +1,29 @@
package io.dataease.dto.panel.linkJump;
import io.dataease.base.domain.PanelLinkJump;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Author: wangjiahao
* Date: 2021/10/25
* Description:
*/
@Data
public class PanelLinkJumpDTO extends PanelLinkJump {
//仪表板可以跳转视图信息 sourceViewId#
private String sourceInfo;
private List<String> targetInfoList;
private List<PanelLinkJumpInfoDTO> linkJumpInfoArray = new ArrayList<>();
private Map<String,PanelLinkJumpInfoDTO> mapJumpInfoArray = new HashMap<>();
}

View File

@ -0,0 +1,25 @@
package io.dataease.dto.panel.linkJump;
import io.dataease.base.domain.PanelLinkJumpInfo;
import io.dataease.base.domain.PanelLinkJumpTargetViewInfo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Author: wangjiahao
* Date: 2021/10/25
* Description:
*/
@Data
public class PanelLinkJumpInfoDTO extends PanelLinkJumpInfo {
private String sourceFieldName;
private String sourceJumpInfo;
private List<PanelLinkJumpTargetViewInfo> targetViewInfoList=new ArrayList<>();// linkType = inner 时使用
}

View File

@ -56,6 +56,7 @@ public class PanelGroupService {
@Resource
private PanelViewService panelViewService;
public List<PanelGroupDTO> tree(PanelGroupRequest panelGroupRequest) {
String userId = String.valueOf(AuthUtils.getUser().getUserId());
panelGroupRequest.setUserId(userId);

View File

@ -0,0 +1,128 @@
package io.dataease.service.panel;
import com.alibaba.fastjson.JSONObject;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.base.domain.PanelLinkJumpTargetViewInfo;
import io.dataease.base.mapper.PanelLinkJumpInfoMapper;
import io.dataease.base.mapper.PanelLinkJumpMapper;
import io.dataease.base.mapper.PanelLinkJumpTargetViewInfoMapper;
import io.dataease.base.mapper.ext.ExtPanelLinkJumpMapper;
import io.dataease.base.mapper.ext.ExtPanelViewLinkageMapper;
import io.dataease.dto.LinkageInfoDTO;
import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseRequest;
import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseResponse;
import io.dataease.dto.panel.linkJump.PanelLinkJumpDTO;
import io.dataease.dto.panel.linkJump.PanelLinkJumpInfoDTO;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* Author: wangjiahao
* Date: 2021/10/25
* Description:
*/
@Service
public class PanelLinkJumpService {
@Resource
private ExtPanelViewLinkageMapper extPanelViewLinkageMapper;
@Resource
private ExtPanelLinkJumpMapper extPanelLinkJumpMapper;
@Resource
private PanelLinkJumpMapper panelLinkJumpMapper;
@Resource
private PanelLinkJumpInfoMapper panelLinkJumpInfoMapper;
@Resource
private PanelLinkJumpTargetViewInfoMapper panelLinkJumpTargetViewInfoMapper;
public List<DatasetTableField> getViewFields(String viewId) {
return extPanelViewLinkageMapper.queryTableFieldWithViewId(viewId);
}
public List<PanelLinkJumpDTO> queryWithPanelId(String panelId) {
List<PanelLinkJumpDTO> resultInfo = extPanelLinkJumpMapper.queryWithPanelId(panelId);
return resultInfo;
}
//获取仪表板的跳转信息
public PanelLinkJumpBaseResponse queryPanelJumpInfo(String panelId) {
Map<String, PanelLinkJumpInfoDTO> resultBase = new HashMap<>();
List<PanelLinkJumpDTO> resultLinkJumpList = extPanelLinkJumpMapper.queryWithPanelId(panelId);
Optional.ofNullable(resultLinkJumpList).orElse(new ArrayList<>()).forEach(resultLinkJump -> {
if (resultLinkJump.getChecked()) {
String sourceViewId = resultLinkJump.getSourceViewId();
Optional.ofNullable(resultLinkJump.getLinkJumpInfoArray()).orElse(new ArrayList<>()).forEach(linkJumpInfo -> {
if(linkJumpInfo.getChecked()){
String sourceJumpInfo = sourceViewId + "#" + linkJumpInfo.getSourceFieldId();
// 内部仪表板跳转 需要设置好仪表板ID
if("inner".equals(linkJumpInfo.getLinkType())){
if(StringUtils.isNotEmpty(linkJumpInfo.getTargetPanelId())){
resultBase.put(sourceJumpInfo,linkJumpInfo);
}
}else{
// 外部跳转
resultBase.put(sourceJumpInfo,linkJumpInfo);
}
}
});
}
});
return new PanelLinkJumpBaseResponse(resultBase,null);
}
public PanelLinkJumpDTO queryWithView(String panelId, String viewId) {
PanelLinkJumpDTO resultInfo = extPanelLinkJumpMapper.queryWithViewId(panelId, viewId);
// 获取链接类型为仪表板的关联视图fieldId-PanelLinkJumpInfo Map 映射关系
// Map<String, PanelLinkJumpInfoDTO> mapJumpInfoArray = resultInfo.getLinkJumpInfoArray().stream().filter(jumpInfo -> StringUtils.isNotEmpty(jumpInfo.getFieldId()))
// .collect(Collectors.toMap(PanelLinkJumpInfoDTO::getFieldId, PanelViewLinkageDTO->PanelViewLinkageDTO));
// resultInfo.setMapJumpInfoArray(mapJumpInfoArray);
return resultInfo;
}
@Transactional
public void updateJumpSet(PanelLinkJumpDTO jumpDTO) {
String panelId = jumpDTO.getSourcePanelId();
String viewId = jumpDTO.getSourceViewId();
Assert.notNull(panelId, "panelId cannot be null");
Assert.notNull(viewId, "viewId cannot be null");
//清理原有数据
extPanelLinkJumpMapper.deleteJumpTargetViewInfo(panelId, viewId);
extPanelLinkJumpMapper.deleteJumpInfo(panelId, viewId);
extPanelLinkJumpMapper.deleteJump(panelId, viewId);
// 插入新的数据
String linkJumpId = UUID.randomUUID().toString();
jumpDTO.setId(linkJumpId);
panelLinkJumpMapper.insertSelective(jumpDTO);
Optional.ofNullable(jumpDTO.getLinkJumpInfoArray()).orElse(new ArrayList<>()).forEach(linkJumpInfo -> {
String linkJumpInfoId = UUID.randomUUID().toString();
linkJumpInfo.setId(linkJumpInfoId);
linkJumpInfo.setLinkJumpId(linkJumpId);
panelLinkJumpInfoMapper.insertSelective(linkJumpInfo);
Optional.ofNullable(linkJumpInfo.getTargetViewInfoList()).orElse(new ArrayList<>()).forEach(targetViewInfo -> {
String targetViewInfoId = UUID.randomUUID().toString();
targetViewInfo.setTargetId(targetViewInfoId);
targetViewInfo.setLinkJumpInfoId(linkJumpInfoId);
panelLinkJumpTargetViewInfoMapper.insertSelective(targetViewInfo);
});
});
}
public PanelLinkJumpBaseResponse queryTargetPanelJumpInfo(PanelLinkJumpBaseRequest request){
List<PanelLinkJumpDTO> result = extPanelLinkJumpMapper.getTargetPanelJumpInfo(request);
return new PanelLinkJumpBaseResponse(null,Optional.ofNullable(result).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(PanelLinkJumpDTO::getSourceInfo,PanelLinkJumpDTO::getTargetInfoList)));
}
}

View File

@ -7,7 +7,9 @@ import io.dataease.base.domain.PanelGroupWithBLOBs;
import io.dataease.base.mapper.ext.ExtPanelViewMapper;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.dto.panel.PanelViewDto;
import io.dataease.dto.panel.PanelViewTableDTO;
import io.dataease.dto.panel.po.PanelViewInsertDTO;
import io.dataease.dto.panel.po.PanelViewPo;
import org.apache.commons.collections.CollectionUtils;
@ -94,4 +96,10 @@ public class PanelViewService {
}
}
}
public List<PanelViewTableDTO> detailList(String panelId){
return extPanelViewMapper.getPanelViewDetails(panelId);
}
}

View File

@ -5,3 +5,33 @@ UPDATE `chart_view` SET `render` = 'antv' WHERE `type` = 'liquid';
ALTER TABLE `panel_link` ADD COLUMN `over_time` bigint(13) NULL DEFAULT NULL COMMENT '有效截止时间' AFTER `pwd`;
CREATE TABLE `panel_link_jump` (
`id` varchar(50) NOT NULL,
`source_panel_id` varchar(50) DEFAULT NULL COMMENT '源仪表板ID',
`source_view_id` varchar(50) DEFAULT NULL COMMENT '源视图ID',
`link_jump_info` varchar(4000) DEFAULT NULL COMMENT '跳转信息',
`checked` tinyint(1) DEFAULT NULL COMMENT '是否启用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `panel_link_jump_info` (
`id` varchar(50) NOT NULL,
`link_jump_id` varchar(50) DEFAULT NULL COMMENT 'link jump ID',
`link_type` varchar(255) DEFAULT NULL COMMENT '关联类型 inner 内部仪表板outer 外部链接',
`jump_type` varchar(255) DEFAULT NULL COMMENT '跳转类型 _blank 新开页面 _self 当前窗口',
`target_panel_id` varchar(255) DEFAULT NULL COMMENT '关联仪表板ID',
`source_field_id` varchar(255) DEFAULT NULL COMMENT '字段ID',
`content` varchar(4000) DEFAULT NULL COMMENT '内容 linkType = outer时使用',
`checked` tinyint(1) DEFAULT NULL COMMENT '是否可用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `panel_link_jump_target_view_info` (
`target_id` varchar(50) NOT NULL,
`link_jump_info_id` varchar(50) DEFAULT NULL,
`target_view_id` varchar(50) DEFAULT NULL,
`target_field_id` varchar(50) DEFAULT NULL,
PRIMARY KEY (`target_id`) USING BTREE
) ENGINE=InnoDB ;

View File

@ -65,7 +65,9 @@
<!--要生成的数据库表 -->
<table tableName="panel_link"/>
<table tableName="panel_link_jump"/>
<table tableName="panel_link_jump_info"/>
<table tableName="panel_link_jump_target_view_info"/>
<!-- <table tableName="sys_dict_item"/>-->
<!-- <table tableName="dataset_table_field"/>-->

View File

@ -28,6 +28,7 @@
"fit2cloud-ui": "1.5.0-beta.0",
"html2canvasde": "^v1.1.4-de",
"jquery": "^3.1.1",
"js-base64": "^3.7.2",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"jspdf": "^2.3.1",

View File

@ -0,0 +1,38 @@
import request from '@/utils/request'
export function getTableFieldWithViewId(viewId) {
return request({
url: '/linkJump/getTableFieldWithViewId/' + viewId,
method: 'get'
})
}
export function queryWithViewId(panelId, viewId) {
return request({
url: '/linkJump/queryWithViewId/' + panelId + '/' + viewId,
method: 'get'
})
}
export function updateJumpSet(requestInfo) {
return request({
url: '/linkJump/updateJumpSet',
method: 'post',
data: requestInfo,
loading: true
})
}
export function queryTargetPanelJumpInfo(requestInfo) {
return request({
url: '/linkJump/queryTargetPanelJumpInfo',
method: 'post',
data: requestInfo,
loading: true
})
}
export function queryPanelJumpInfo(panelId) {
return request({
url: '/linkJump/queryPanelJumpInfo/' + panelId,
method: 'get'
})
}

View File

@ -0,0 +1,8 @@
import request from '@/utils/request'
export function detailList(panelId) {
return request({
url: '/panel/view/detailList/' + panelId,
method: 'get'
})
}

View File

@ -21,7 +21,7 @@
@mouseenter="enter"
@mouseleave="leave"
>
<edit-bar v-if="active||linkageSettingStatus" style="transform: translateZ(10px)" :active-model="'edit'" :element="element" @showViewDetails="showViewDetails" @amRemoveItem="amRemoveItem" @amAddItem="amAddItem" @resizeView="resizeView" />
<edit-bar v-if="curComponent&&(active||linkageSettingStatus)" style="transform: translateZ(10px)" :active-model="'edit'" :element="element" @showViewDetails="showViewDetails" @amRemoveItem="amRemoveItem" @amAddItem="amAddItem" @resizeView="resizeView" @linkJumpSet="linkJumpSet" />
<div v-if="resizing" style="transform: translateZ(11px);position: absolute; z-index: 3" :style="resizeShadowStyle" />
<div
v-for="(handlei, indexi) in actualHandles"
@ -1258,7 +1258,7 @@ export default {
// snapshot false
this.hasMove = false
}, 100)
}else{
} else {
this.hasMove && this.$store.commit('recordSnapshot', 'handleUp')
// snapshot false
this.hasMove = false
@ -1687,6 +1687,10 @@ export default {
},
resizeView() {
this.$emit('resizeView')
},
//
linkJumpSet() {
this.$emit('linkJumpSet')
}
}

View File

@ -6,7 +6,7 @@
@click="handleClick"
@mousedown="elementMouseDown"
>
<edit-bar v-if="config === curComponent" :element="config" @showViewDetails="showViewDetails" />
<edit-bar v-if="curComponent && config === curComponent" :element="config" @showViewDetails="showViewDetails" />
<de-out-widget
v-if="config.type==='custom'"
:id="'component' + config.id"

View File

@ -6,7 +6,7 @@
<!-- <i v-if="linkageInfo.linkageActive" class="icon iconfont icon-edit" @click.stop="linkageEdit" />-->
</div>
<div v-else-if="!linkageSettingStatus">
<setting-menu v-if="activeModel==='edit'" style="float: right;height: 24px!important;" @amRemoveItem="amRemoveItem">
<setting-menu v-if="activeModel==='edit'" style="float: right;height: 24px!important;" @amRemoveItem="amRemoveItem" @linkJumpSet="linkJumpSet">
<span slot="icon" :title="$t('panel.setting')">
<i class="icon iconfont icon-shezhi" style="margin-top:2px" />
</span>
@ -199,6 +199,9 @@ export default {
}
}
})
},
linkJumpSet() {
this.$emit('linkJumpSet')
}
}
}

View File

@ -8,7 +8,7 @@ import Preview from './Preview'
import { uuid } from 'vue-uuid'
import { findOne } from '@/api/panel/panel'
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
import { queryPanelJumpInfo, queryTargetPanelJumpInfo } from '@/api/panel/linkJump'
export default {
components: { Preview },
@ -30,6 +30,28 @@ export default {
getPanelAllLinkageInfo(this.panelId).then(rsp => {
this.$store.commit('setNowPanelTrackInfo', rsp.data)
})
//
queryPanelJumpInfo(data.id).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
})
//
const tempParam = localStorage.getItem('jumpInfoParam')
if (tempParam) {
localStorage.removeItem('jumpInfoParam')
const jumpParam = JSON.parse(tempParam)
const jumpRequestParam = {
sourcePanelId: jumpParam.sourcePanelId,
sourceViewId: jumpParam.sourceViewId,
sourceFieldId: jumpParam.sourceFieldId,
targetPanelId: this.panelId
}
//
queryTargetPanelJumpInfo(jumpRequestParam).then(rsp => {
this.$store.commit('setNowTargetPanelJumpInfo', rsp.data)
this.$store.commit('addViewTrackFilter', jumpParam)
})
}
this.$store.dispatch('panel/setPanelInfo', data)
})
},

View File

@ -3,8 +3,8 @@
<div style="width: 100%;">
<el-dropdown trigger="click" @mouseup="handleMouseUp">
<slot name="icon" />
<el-dropdown-menu>
<el-dropdown-item v-if="curComponent&&editFilter.includes(curComponent.type)" icon="el-icon-edit-outline" @click.native="edit">{{ $t('panel.edit') }}</el-dropdown-item>
<el-dropdown-menu v-if="curComponent">
<el-dropdown-item v-if="editFilter.includes(curComponent.type)" icon="el-icon-edit-outline" @click.native="edit">{{ $t('panel.edit') }}</el-dropdown-item>
<el-dropdown-item icon="el-icon-document-copy" @click.native="copy">{{ $t('panel.copy') }}</el-dropdown-item>
<el-dropdown-item icon="el-icon-delete" @click.native="deleteComponent">{{ $t('panel.delete') }}</el-dropdown-item>
<el-dropdown-item icon="el-icon-upload2" @click.native="topComponent">{{ $t('panel.topComponent') }}</el-dropdown-item>
@ -13,6 +13,7 @@
<el-dropdown-item icon="el-icon-arrow-down" @click.native="downComponent">{{ $t('panel.downComponent') }}</el-dropdown-item>
<el-dropdown-item v-if="'view'===curComponent.type" icon="el-icon-link" @click.native="linkageSetting">{{ $t('panel.linkage_setting') }}</el-dropdown-item>
<el-dropdown-item v-if="'de-tabs'===curComponent.type" icon="el-icon-link" @click.native="addTab">{{ $t('panel.add_tab') }}</el-dropdown-item>
<el-dropdown-item v-if="'view'===curComponent.type" icon="el-icon-connection" @click.native="linkJumpSet">跳转设置</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@ -142,6 +143,10 @@ export default {
},
addTab() {
bus.$emit('add-new-tab')
},
//
linkJumpSet() {
this.$emit('linkJumpSet')
}
}
}

View File

@ -22,7 +22,8 @@ export default {
return {
i18n_map: {
drill: this.$t('panel.drill'),
linkage: this.$t('panel.linkage')
linkage: this.$t('panel.linkage'),
jump: this.$t('panel.jump')
}
}
},

View File

@ -5,7 +5,7 @@
:class="[
{
['edit']: isEdit ,
['parent_transform']:!chartDetailsVisible
['parent_transform']:!dialogVisible
}
]"
@mousedown="handleMouseDown"
@ -52,6 +52,7 @@
@elementMouseDown="containerMouseDown"
@amRemoveItem="removeItem(item._dragId)"
@amAddItme="addItemBox(item)"
@linkJumpSet="linkJumpSet(item)"
>
<!-- <span style="position:relative;left: 0px;top:0px">-->
<!-- item:x-{{ item.x }}y-{{ item.y }}top-{{ item.style.top }}-->
@ -152,6 +153,7 @@
width="70%"
class="dialog-css"
:destroy-on-close="true"
:show-close="true"
>
<span style="position: absolute;right: 70px;top:15px">
<el-button size="mini" @click="exportExcel">
@ -161,6 +163,17 @@
</span>
<UserViewDialog ref="userViewDialog" :chart="showChartInfo" :chart-table="showChartTableInfo" />
</el-dialog>
<el-dialog
:visible.sync="linkJumpSetVisible"
width="60%"
class="dialog-css"
:show-close="true"
:destroy-on-close="true"
:append-to-body="true"
>
<LinkJumpSet v-if="linkJumpSetVisible" :view-id="linkJumpSetViewId" @closeJumpSetDialog="closeJumpSetDialog" />
</el-dialog>
</div>
</template>
@ -185,6 +198,7 @@ import DeOutWidget from '@/components/dataease/DeOutWidget'
import CanvasOptBar from '@/components/canvas/components/Editor/CanvasOptBar'
import DragShadow from '@/components/DeDrag/shadow'
import bus from '@/utils/bus'
import LinkJumpSet from '@/views/panel/LinkJumpSet'
//
import _ from 'lodash'
@ -801,7 +815,7 @@ function getoPsitionBox() {
}
export default {
components: { Shape, ContextMenu, MarkLine, Area, Grid, PGrid, DeDrag, UserViewDialog, DeOutWidget, CanvasOptBar, DragShadow },
components: { Shape, ContextMenu, MarkLine, Area, Grid, PGrid, DeDrag, UserViewDialog, DeOutWidget, CanvasOptBar, DragShadow, LinkJumpSet },
props: {
isEdit: {
type: Boolean,
@ -920,11 +934,15 @@ export default {
maxCell: 0,
lastComponentDataLength: 0,
positionBoxInfoArray: [],
yourList: []
yourList: [],
linkJumpSetVisible: false,
linkJumpSetViewId: null
}
},
computed: {
dialogVisible() {
return this.chartDetailsVisible || this.linkJumpSetVisible
},
//
// positionBoxInfo() {
// return getoPsitionBox()
@ -1640,6 +1658,13 @@ export default {
infoBox.oldSizeX = moveInItemInfo.sizex
infoBox.oldSizeY = moveInItemInfo.sizey
}
},
linkJumpSet(item) {
this.linkJumpSetViewId = item.propValue.viewId
this.linkJumpSetVisible = true
},
closeJumpSetDialog() {
this.linkJumpSetVisible = false
}
}
}

View File

@ -120,6 +120,7 @@ import bus from '@/utils/bus'
import {
DEFAULT_COMMON_CANVAS_STYLE_STRING
} from '@/views/panel/panel'
import {queryPanelJumpInfo} from "@/api/panel/linkJump";
export default {
name: 'Toolbar',
@ -379,6 +380,10 @@ export default {
this.$store.commit('setNowPanelTrackInfo', rsp.data)
})
this.cancelLinkageSettingStatus()
//
queryPanelJumpInfo(this.$store.state.panel.panelInfo.id).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
})
})
},
cancelLinkage() {

View File

@ -0,0 +1,69 @@
<template>
<de-container style="height: 500px">
<de-aside-container>
this is test
</de-aside-container>
<de-main-container>
this is test2
</de-main-container>
</de-container>
</template>
<script>
import DeMainContainer from '@/components/dataease/DeMainContainer'
import DeContainer from '@/components/dataease/DeContainer'
import DeAsideContainer from '@/components/dataease/DeAsideContainer'
import { mapState } from 'vuex'
export default {
name: 'UserView',
components: { DeMainContainer, DeContainer, DeAsideContainer },
props: {
chart: {
type: Object,
default: null
},
chartTable: {
type: Object,
default: null
}
},
data() {
return {
refId: null
}
},
computed: {
...mapState([
'isClickComponent',
'curComponent',
'componentData',
'canvasStyleData'
])
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.ms-aside-container {
height: 50vh;
min-width: 400px;
max-width: 400px;
padding: 0 0;
}
.ms-main-container {
height: 50vh;
border: 1px solid #E6E6E6;
border-left: 0 solid;
}
.chart-class{
height: 100%;
}
.table-class{
height: 100%;
}
</style>

View File

@ -16,8 +16,8 @@
{{ $t('chart.chart_error_tips') }}
</div>
</div>
<chart-component v-if="httpRequest.status &&chart.type && !chart.type.includes('table') && !chart.type.includes('text') && renderComponent() === 'echarts'" :ref="element.propValue.id" class="chart-class" :chart="chart" :track-menu="trackMenu" @onChartClick="chartClick" />
<chart-component-g2 v-if="httpRequest.status &&chart.type && !chart.type.includes('table') && !chart.type.includes('text') && renderComponent() === 'antv'" :ref="element.propValue.id" class="chart-class" :chart="chart" :track-menu="trackMenu" @onChartClick="chartClick" />
<chart-component v-if="httpRequest.status &&chart.type && !chart.type.includes('table') && !chart.type.includes('text') && renderComponent() === 'echarts'" :ref="element.propValue.id" class="chart-class" :chart="chart" :track-menu="trackMenu" @onChartClick="chartClick" @onJumpClick="jumpClick" />
<chart-component-g2 v-if="httpRequest.status &&chart.type && !chart.type.includes('table') && !chart.type.includes('text') && renderComponent() === 'antv'" :ref="element.propValue.id" class="chart-class" :chart="chart" :track-menu="trackMenu" @onChartClick="chartClick" @onJumpClick="jumpClick" />
<!-- <chart-component :ref="element.propValue.id" class="chart-class" :chart="chart" :track-menu="trackMenu" @onChartClick="chartClick" />-->
<table-normal v-if="httpRequest.status &&chart.type && chart.type.includes('table')" :ref="element.propValue.id" :show-summary="chart.type === 'table-normal'" :chart="chart" class="table-class" />
<label-normal v-if="httpRequest.status && chart.type && chart.type.includes('text')" :ref="element.propValue.id" :chart="chart" class="table-class" />
@ -45,6 +45,7 @@ import { getToken, getLinkToken } from '@/utils/auth'
import DrillPath from '@/views/chart/view/DrillPath'
import { areaMapping } from '@/api/map/map'
import ChartComponentG2 from '@/views/chart/components/ChartComponentG2'
import { Base64 } from 'js-base64'
export default {
name: 'UserView',
components: { ChartComponent, TableNormal, LabelNormal, DrillPath, ChartComponentG2 },
@ -99,6 +100,9 @@ export default {
}
},
computed: {
panelInfo() {
return this.$store.state.panel.panelInfo
},
filter() {
const filter = {}
filter.filter = this.element.filters
@ -121,12 +125,21 @@ export default {
trackMenu() {
const trackMenuInfo = []
let linkageCount = 0
let jumpCount = 0
this.chart.data && this.chart.data.sourceFields && this.chart.data.sourceFields.forEach(item => {
const sourceInfo = this.chart.id + '#' + item.id
if (this.nowPanelTrackInfo[sourceInfo]) {
linkageCount++
}
})
this.chart.data && this.chart.data.sourceFields && this.chart.data.sourceFields.forEach(item => {
const sourceInfo = this.chart.id + '#' + item.id
// console.log('nowPanelJumpInfo=>' + JSON.stringify(this.nowPanelJumpInfo))
if (this.nowPanelJumpInfo[sourceInfo]) {
jumpCount++
}
})
jumpCount && trackMenuInfo.push('jump')
linkageCount && trackMenuInfo.push('linkage')
this.drillFields.length && trackMenuInfo.push('drill')
// console.log('trackMenuInfo' + JSON.stringify(trackMenuInfo))
@ -140,7 +153,8 @@ export default {
},
...mapState([
'canvasStyleData',
'nowPanelTrackInfo'
'nowPanelTrackInfo',
'nowPanelJumpInfo'
])
},
@ -324,6 +338,42 @@ export default {
}
},
jumpClick(param) {
const dimension = param.dimensionList[0]
param.sourcePanelId = this.panelInfo.id
param.sourceViewId = param.viewId
param.sourceFieldId = dimension.id
const sourceInfo = param.viewId + '#' + dimension.id
const jumpInfo = this.nowPanelJumpInfo[sourceInfo]
if (jumpInfo) {
//
if (jumpInfo.linkType === 'inner') {
if (jumpInfo.targetPanelId) {
const url = '#/preview/' + jumpInfo.targetPanelId
localStorage.setItem('jumpInfoParam', JSON.stringify(param))
window.open(url, '_blank')
} else {
this.$message({
type: 'warn',
message: '未指定跳转仪表板',
showClose: true
})
}
} else {
const url = jumpInfo.content
window.open(url, '_blank')
}
} else {
this.$message({
type: 'warn',
message: '未获取跳转信息',
showClose: true
})
}
// console.log('param=>' + JSON.stringify(param))
},
resetDrill() {
const length = this.drillClickDimensionList.length
this.drillClickDimensionList = []

View File

@ -1313,6 +1313,7 @@ export default {
save_and_close: 'Save',
drill: 'drill',
linkage: 'linkage',
jump: 'Jump',
cancel_linkage: 'Cancel Linkage',
remove_all_linkage: 'Remove All Linkage',
exit_un_march_linkage_field: 'Exit Un March Linkage Field',

View File

@ -1316,6 +1316,7 @@ export default {
save: '保存',
drill: '下鑽',
linkage: '聯動',
jump: '跳转',
cancel_linkage: '取消聯動',
remove_all_linkage: '清除所有聯動',
exit_un_march_linkage_field: '存在未匹配聯動關系的字段',

View File

@ -1237,7 +1237,7 @@ export default {
export_to_pdf: '导出为PDF',
preview: '预览',
fullscreen_preview: '全屏预览',
new_tab_preview: '新Tab页预览',
ta: '新Tab页预览',
select_panel_from_left: '请从左侧选择仪表板',
template_nale: '模板名称',
template: '模板',
@ -1321,6 +1321,7 @@ export default {
save: '保存',
drill: '下钻',
linkage: '联动',
jump: '跳转',
cancel_linkage: '取消联动',
remove_all_linkage: '清除所有联动',
exit_un_march_linkage_field: '存在未匹配联动关系的字段',

View File

@ -59,7 +59,12 @@ const data = {
// 和当前组件联动的目标组件
targetLinkageInfo: [],
// 当前仪表板联动 下钻 上卷等信息
nowPanelTrackInfo: {},
nowPanelTrackInfo: {}, // 当前仪表板联动 下钻 上卷等信息
nowPanelJumpInfo: {}, // 当前仪表板的跳转信息基础信息
nowPanelJumpInfoTargetPanel: {}, // 当前仪表板的跳转信息(只包括仪表板)
// 拖拽的组件信息
dragComponentInfo: null
},
@ -188,7 +193,12 @@ const data = {
// 添加联动 下钻 等过滤组件
addViewTrackFilter(state, data) {
const viewId = data.viewId
const trackInfo = state.nowPanelTrackInfo
let trackInfo
if (data.option === 'linkage') {
trackInfo = state.nowPanelTrackInfo
} else {
trackInfo = state.nowPanelJumpInfoTargetPanel
}
for (let index = 0; index < state.componentData.length; index++) {
const element = state.componentData[index]
if (!element.type || element.type !== 'view') continue
@ -263,6 +273,12 @@ const data = {
setNowPanelTrackInfo(state, trackInfo) {
state.nowPanelTrackInfo = trackInfo
},
setNowPanelJumpInfo(state, jumpInfo) {
state.nowPanelJumpInfo = jumpInfo.baseJumpInfoMap
},
setNowTargetPanelJumpInfo(state, jumpInfo) {
state.nowPanelJumpInfoTargetPanel = jumpInfo.baseJumpInfoPanelMap
},
clearPanelLinkageInfo(state) {
state.componentData.forEach(item => {
if (item.linkageFilters && item.linkageFilters.length > 0) {

View File

@ -248,6 +248,13 @@ export default {
return
}
const linkageParam = {
option: 'linkage',
viewId: this.chart.id,
dimensionList: this.pointParam.data.dimensionList,
quotaList: this.pointParam.data.quotaList
}
const jumpParam = {
option: 'jump',
viewId: this.chart.id,
dimensionList: this.pointParam.data.dimensionList,
quotaList: this.pointParam.data.quotaList
@ -259,6 +266,9 @@ export default {
case 'linkage':
this.$store.commit('addViewTrackFilter', linkageParam)
break
case 'jump':
this.$emit('onJumpClick', jumpParam)
break
default:
break
}

View File

@ -227,7 +227,8 @@ export default {
}
return
}
const linkageParam = {
const jumpParam = {
option: 'jump',
viewId: this.chart.id,
dimensionList: this.pointParam.data.dimensionList,
quotaList: this.pointParam.data.quotaList
@ -239,6 +240,9 @@ export default {
case 'linkage':
this.$store.commit('addViewTrackFilter', linkageParam)
break
case 'jump':
this.$emit('onJumpClick', jumpParam)
break
default:
break
}

View File

@ -9,6 +9,7 @@ import { loadResource } from '@/api/link'
import { uuid } from 'vue-uuid'
import Preview from '@/components/canvas/components/Editor/Preview'
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
import {queryPanelJumpInfo} from "@/api/panel/linkJump";
export default {
name: 'LinkView',
@ -38,6 +39,10 @@ export default {
this.$store.commit('setComponentData', this.resetID(JSON.parse(res.data.panelData)))
// this.$store.commit('setComponentData', JSON.parse(res.data.panelData))
this.$store.commit('setCanvasStyle', JSON.parse(res.data.panelStyle))
//
queryPanelJumpInfo(this.resourceId).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
})
this.show = true
})
},

View File

@ -0,0 +1,110 @@
<template xmlns:el-col="http://www.w3.org/1999/html">
<el-col>
<el-row style="margin-top: 5px">
<el-row>
<el-input
v-model="templateFilterText"
:placeholder="$t('panel.filter_keywords')"
size="mini"
clearable
prefix-icon="el-icon-search"
/>
</el-row>
<el-row style="margin-top: 5px">
<el-tree
ref="templateTree"
:default-expanded-keys="defaultExpandedKeys"
:data="templateList"
node-key="id"
:expand-on-click-node="true"
:filter-node-method="filterNode"
:highlight-current="true"
@node-click="nodeClick"
>
<span slot-scope="{ node, data }" class="custom-tree-node">
<span style="display: flex; flex: 1 1 0%; width: 0px;">
<span v-if="data.nodeType==='template'">
<svg-icon icon-class="panel" class="ds-icon-scene" />
</span>
<span v-if="data.nodeType==='folder'">
<i class="el-icon-folder" />
</span>
<span style="margin-left: 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{ data.name }}</span>
</span>
</span>
</el-tree>
</el-row>
</el-row>
</el-col>
</template>
<script>
import { findOne } from '@/api/system/template'
export default {
name: 'TemplateAllList',
components: { },
props: {
templateList: {
type: Array,
default: function() {
return []
}
}
},
data() {
return {
templateFilterText: '',
defaultExpandedKeys: [],
currentTemplateShowList: []
}
},
computed: {
},
watch: {
templateFilterText(val) {
this.$refs.templateTree.filter(val)
}
},
methods: {
clickMore(param) {
switch (param.type) {
case 'edit':
this.templateEdit(param.data)
break
case 'delete':
this.templateDelete(param.data)
break
}
},
beforeClickMore(type, data, node) {
return {
'type': type,
'data': data,
'node': node
}
},
filterNode(value, data) {
if (!value) return true
return data.label.indexOf(value) !== -1
},
nodeClick(data, node) {
findOne(data.id).then(res => {
this.$emit('showCurrentTemplateInfo', res.data)
})
}
}
}
</script>
<style scoped>
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
</style>

View File

@ -0,0 +1,451 @@
<template>
<el-row v-if="linkJump" v-loading="$store.getters.loadingMap[$store.getters.currentPath]" style="height: 430px">
<el-row>
<span style="font-weight:600;margin-right: 20px">跳转设置</span>
<el-checkbox v-model="linkJump.checked">启用跳转</el-checkbox>
</el-row>
<el-row v-loading="loading">
<el-row class="preview">
<el-col :span="8" style="height:100%;overflow-y: auto">
<el-row class="tree-head">
<span style="float: left;margin-left: 30px">字段名称</span>
<span style="float: right;margin-right: 10px">启用字段</span>
</el-row>
<el-tree
ref="linkJumpInfoTree"
:data="linkJumpInfoArray"
node-key="sourceFieldId"
highlight-current
:props="treeProp"
@node-click="nodeClick"
>
<span slot-scope="{ node, data }" class="custom-tree-node">
<span>
<span style="margin-left: 6px">{{ data.sourceFieldName }}</span>
</span>
<span @click.stop>
<div>
<span class="auth-span">
<el-checkbox v-model="data.checked" />
</span>
</div>
</span>
</span>
</el-tree>
</el-col>
<el-col :span="16" class="preview-show">
<el-row v-if="linkJumpInfo">
<!-- <el-row style="margin-top: 10px">-->
<!-- <el-col :span="4" class="custom-position">-->
<!-- 打开方式-->
<!-- </el-col>-->
<!-- <el-col :span="10">-->
<!-- <el-radio-group v-model="linkJumpInfo.jumpType" size="mini">-->
<!-- <el-radio label="self">当前页面</el-radio>-->
<!-- <el-radio label="_blank">新开页面</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row style="margin-top: 10px">
<el-col :span="4">
链接类型
</el-col>
<el-col :span="10">
<el-radio-group v-model="linkJumpInfo.linkType" size="mini">
<el-radio label="outer">外部链接</el-radio>
<el-radio label="inner">仪表板</el-radio>
</el-radio-group>
</el-col>
<el-col v-if="linkJumpInfo.linkType==='inner'" :span="10">
<treeselect
v-model="linkJumpInfo.targetPanelId"
:options="panelList"
:disable-branch-nodes="true"
:normalizer="normalizer"
:placeholder="'选择关联的仪表板'"
@select="panelNodeClick"
/>
</el-col>
</el-row>
<el-row v-if="linkJumpInfo.linkType==='inner'" style="margin-top: 5px;" class="top_border">
<el-row style="margin-top: 10px">
<el-col :span="11">
<div class="ellip">联动视图</div>
</el-col>
<el-col :span="11">
<div class="ellip">联动视图字段</div>
</el-col>
</el-row>
<el-row style="height: 180px;overflow-y: auto">
<el-row v-for="(targetViewInfo,index) in linkJumpInfo.targetViewInfoList" :key="index">
<el-col :span="11">
<div class="select-filed">
<el-select v-model="targetViewInfo.targetViewId" size="mini" placeholder="请选择" @change="viewInfoOnChange(targetViewInfo)">
<el-option
v-for="item in currentLinkPanelViewArray"
:key="item.id"
:label="item.name"
:value="item.id"
>
<span style="float: left; color: #8492a6; font-size: 12px">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="11">
<div class="select-filed">
<el-select v-model="targetViewInfo.targetFieldId" size="mini" placeholder="请选择">
<el-option
v-for="viewField in viewIdFieldArrayMap[targetViewInfo.targetViewId]"
:key="viewField.id"
:label="viewField.name"
:value="viewField.id"
>
<span style="float: left">
<svg-icon v-if="viewField.deType === 0" icon-class="field_text" class="field-icon-text" />
<svg-icon v-if="viewField.deType === 1" icon-class="field_time" class="field-icon-time" />
<svg-icon v-if="viewField.deType === 2 || viewField.value === 3" icon-class="field_value" class="field-icon-value" />
<svg-icon v-if="viewField.deType === 5" icon-class="field_location" class="field-icon-location" />
</span>
<span style="float: left; color: #8492a6; font-size: 12px">{{ viewField.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="2">
<div>
<el-button icon="el-icon-delete" type="text" size="small" style="float: left" @click="deleteLinkJumpField(index)" />
</div>
</el-col>
</el-row>
</el-row>
<el-row class="bottom">
<el-button size="mini" type="success" icon="el-icon-plus" round @click="addLinkJumpField">追加跳转联动依赖字段</el-button>
</el-row>
<!-- <el-button slot="reference">T</el-button>-->
<i slot="reference" class="icon iconfont icon-edit slot-class" />
</el-row>
<el-row v-if="linkJumpInfo.linkType==='outer'" style="height: 300px">
<el-input
v-model="linkJumpInfo.content"
:autosize="{ minRows: 14}"
type="textarea"
placeholder="请输入跳转连接"
/>
</el-row>
</el-row>
<el-row v-else style="height: 100%; background-color: var(--MainContentBG);" class="custom-position">
请选择维度...
</el-row>
</el-col>
</el-row>
</el-row>
<el-row class="root-class">
<el-button size="mini" @click="cancel()">{{ $t('commons.cancel') }}</el-button>
<el-button type="primary" size="mini" @click="save()">{{ $t('commons.confirm') }}</el-button>
</el-row>
</el-row>
</template>
<script>
import { queryPanelJumpInfo, queryWithViewId, updateJumpSet } from '@/api/panel/linkJump'
import { groupTree } from '@/api/panel/panel'
import { detailList } from '@/api/panel/panelView'
import { mapState } from 'vuex'
import { deepCopy } from '@/components/canvas/utils/utils'
export default {
components: { },
props: {
viewId: {
type: String,
required: true
}
},
data() {
return {
loading: false,
inputType: 'self',
fieldName: 'name',
tableRadio: null,
keyWordSearch: '',
columnLabel: this.$t('panel.belong_to_category'),
templateList: [],
importTemplateInfo: {
snapshot: ''
},
sourceViewFields: [],
treeProp: {
id: 'sourceFieldId',
label: 'sourceFieldName',
children: 'children'
},
linkJump: null,
linkJumpInfoArray: null,
mapJumpInfoArray: {},
panelList: [],
linkJumpInfo: null,
currentFiledTreeNode: null,
defaultLinkJumpInfo: {
linkType: 'inner',
jumpType: '_self',
targetViewInfoList: []
},
defaultTargetViewInfo: {
targetViewId: null,
targetFieldId: null
},
currentLinkPanelViewArray: [],
viewIdFieldArrayMap: {}
}
},
computed: {
classBackground() {
if (this.importTemplateInfo.snapshot) {
return {
background: `url(${this.importTemplateInfo.snapshot}) no-repeat`
}
} else {
return {}
}
},
panelInfo() {
return this.$store.state.panel.panelInfo
},
...mapState([
'componentData',
'canvasStyleData'
])
},
watch: {
},
created() {
},
mounted() {
this.init()
},
destroyed() {
},
methods: {
init() {
//
groupTree({}).then(rsp => {
this.panelList = rsp.data
})
//
queryWithViewId(this.panelInfo.id, this.viewId).then(rsp => {
this.linkJump = rsp.data
this.linkJumpInfoArray = this.linkJump.linkJumpInfoArray
this.linkJumpInfoArray.forEach(linkJumpInfo => {
this.mapJumpInfoArray[linkJumpInfo.sourceFieldId] = linkJumpInfo
})
const firstNode = this.linkJumpInfoArray[0]
// this.$nextTick(() => {
// this.$refs.linkJumpInfoTree.setCurrentKey(firstNode.sourceFieldId)
// this.nodeClick(firstNode)
// })
})
//
// getTableFieldWithViewId(this.viewId).then(rsp => {
// this.sourceViewFields = rsp.data
// })
},
handleExceed(file) {
},
cancel() {
this.$emit('closeJumpSetDialog')
},
save() {
updateJumpSet(this.linkJump).then(rsp => {
this.$message({
message: '保存成功',
type: 'success',
showClose: true
})
//
queryPanelJumpInfo(this.panelInfo.id).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
this.cancel()
})
})
},
nodeClick(data, node) {
this.linkJumpInfo = this.mapJumpInfoArray[data.sourceFieldId]
if (!this.linkJumpInfo.linkType) {
this.linkJumpInfo.linkType = 'inner'
}
if (!this.linkJumpInfo.jumpType) {
this.linkJumpInfo.jumpType = '_self'
}
if (!this.linkJumpInfo.content) {
this.linkJumpInfo.content = 'http://'
}
if (this.linkJumpInfo.linkType === 'inner' && this.linkJumpInfo.targetPanelId) {
this.getPanelViewList(this.linkJumpInfo.targetPanelId)
}
},
//
getPanelViewList(panelId) {
detailList(panelId).then(rsp => {
this.viewIdFieldArrayMap = {}
this.currentLinkPanelViewArray = rsp.data
if (this.currentLinkPanelViewArray) {
this.currentLinkPanelViewArray.forEach(view => {
this.viewIdFieldArrayMap[view.id] = view.tableFields
})
}
})
},
panelNodeClick(data, node) {
console.log('panelNodeClick:' + JSON.stringify(data))
this.linkJumpInfo.targetViewInfoList = []
this.getPanelViewList(data.id)
},
addLinkJumpField() {
this.linkJumpInfo.targetViewInfoList.push({
targetViewId: '',
targetFieldId: ''
})
},
deleteLinkJumpField(index) {
this.linkJumpInfo.targetViewInfoList.splice(index, 1)
},
normalizer(node) {
// children=null
if (node.children === null || node.children === 'null') {
delete node.children
}
},
viewInfoOnChange(targetViewInfo) {
targetViewInfo.targetFieldId = null
}
}
}
</script>
<style scoped>
.my_table >>> .el-table__row>td{
/* 去除表格线 */
border: none;
padding: 0 0;
}
.my_table >>> .el-table th.is-leaf {
/* 去除上边框 */
border: none;
}
.my_table >>> .el-table::before{
/* 去除下边框 */
height: 0;
}
.root-class {
margin: 15px 0px 5px;
text-align: center;
}
.preview {
margin-top: 5px;
border:1px solid #E6E6E6;
height:350px !important;
overflow:hidden;
background-size: 100% 100% !important;
}
.preview-show {
border-left:1px solid #E6E6E6;
height:350px;
background-size: 100% 100% !important;
}
.top_border {
border-top:1px solid #E6E6E6;
}
.slot-class{
color: white;
}
.bottom {
margin-top: 20px;
text-align: center;
}
.ellip{
/*width: 100%;*/
margin-left: 10px;
margin-right: 25px;
overflow: hidden;/*超出部分隐藏*/
white-space: nowrap;/*不换行*/
text-overflow:ellipsis;/*超出部分文字以...显示*/
text-align: center;
background-color: #f7f8fa;
color: #3d4d66;
font-size: 12px;
line-height: 24px;
height: 24px;
border-radius: 3px;
}
.select-filed{
/*width: 100%;*/
margin-left: 10px;
margin-right: 10px;
overflow: hidden;/*超出部分隐藏*/
white-space: nowrap;/*不换行*/
text-overflow:ellipsis;/*超出部分文字以...显示*/
color: #3d4d66;
font-size: 12px;
line-height: 35px;
height: 35px;
border-radius: 3px;
}
>>>.el-popover{
height: 200px;
overflow: auto;
}
.custom-position {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
flex-flow: row nowrap;
color: #9ea6b2;
}
.tree-style {
padding: 10px 15px;
height: 100%;
overflow-y: auto;
}
/deep/ .vue-treeselect__control{
height: 28px;
}
/deep/ .vue-treeselect__single-value{
color:#606266;
line-height: 28px!important;
}
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
}
.auth-span{
float: right;
width:30px;
margin-right: 5px
}
.tree-head{
height: 30px;
line-height: 30px;
border-bottom: 1px solid var(--TableBorderColor, #e6e6e6);
background-color: var(--SiderBG, #f7f8fa);
font-size: 12px;
color: var(--TableColor, #3d4d66) ;
}
</style>

View File

@ -218,6 +218,7 @@ import generateID from '@/components/canvas/utils/generateID'
import RectangleAttr from '@/components/canvas/components/RectangleAttr'
import TextAttr from '@/components/canvas/components/TextAttr'
import FilterTextAttr from '@/components/canvas/components/FilterTextAttr'
import {queryPanelJumpInfo} from "@/api/panel/linkJump";
export default {
name: 'PanelEdit',
@ -450,6 +451,10 @@ export default {
getPanelAllLinkageInfo(panelId).then(rsp => {
this.$store.commit('setNowPanelTrackInfo', rsp.data)
})
//
queryPanelJumpInfo(panelId).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
})
})
}
},

View File

@ -232,6 +232,7 @@ import bus from '@/utils/bus'
import EditPanel from './EditPanel'
import { addGroup, delGroup, groupTree, defaultTree, findOne, panelSave } from '@/api/panel/panel'
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
import { queryPanelJumpInfo } from '@/api/panel/linkJump'
import { mapState } from 'vuex'
import {
DEFAULT_COMMON_CANVAS_STYLE_STRING
@ -639,6 +640,11 @@ export default {
getPanelAllLinkageInfo(data.id).then(rsp => {
this.$store.commit('setNowPanelTrackInfo', rsp.data)
})
//
queryPanelJumpInfo(data.id).then(rsp => {
this.$store.commit('setNowPanelJumpInfo', rsp.data)
})
})
}
if (node.expanded) {