From c15c58f63d8d64e3e717ff74e39e64befac57f46 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 24 Nov 2021 18:14:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E6=A8=A1=E5=9E=8B=E7=BB=9F=E4=B8=80=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=A7=86=E5=9B=BE=E4=BD=BF=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E6=A8=A1=E5=9E=8B=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/base/domain/VAuthModel.java | 2 + .../base/domain/VAuthModelExample.java | 60 ++ .../dataease/base/mapper/VAuthModelMapper.xml | 24 +- .../base/mapper/ext/ExtPanelGroupMapper.java | 3 - .../base/mapper/ext/ExtVAuthModelMapper.java | 13 + .../base/mapper/ext/ExtVAuthModelMapper.xml | 59 ++ .../authModel/VAuthModelController.java | 16 + .../request/authModel/VAuthModelRequest.java | 16 + .../dataease/dto/authModel/VAuthModelDTO.java | 12 +- .../service/authModel/VAuthModelService.java | 29 + .../src/main/resources/generatorConfig.xml | 2 +- frontend/src/api/authModel/authModel.js | 10 + frontend/src/api/chart/chart.js | 11 + frontend/src/views/chart/group/Group.vue | 369 +++++----- frontend/src/views/chart/view/ChartEdit.vue | 654 +++++++++++++----- frontend/src/views/panel/index.vue | 24 - 16 files changed, 892 insertions(+), 412 deletions(-) create mode 100644 backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.java create mode 100644 backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.xml create mode 100644 backend/src/main/java/io/dataease/controller/request/authModel/VAuthModelRequest.java create mode 100644 backend/src/main/java/io/dataease/service/authModel/VAuthModelService.java create mode 100644 frontend/src/api/authModel/authModel.js diff --git a/backend/src/main/java/io/dataease/base/domain/VAuthModel.java b/backend/src/main/java/io/dataease/base/domain/VAuthModel.java index 7205966be8..106b6a0a9d 100644 --- a/backend/src/main/java/io/dataease/base/domain/VAuthModel.java +++ b/backend/src/main/java/io/dataease/base/domain/VAuthModel.java @@ -19,5 +19,7 @@ public class VAuthModel implements Serializable { private String createBy; + private Long level; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java b/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java index 5948918233..7f5b1d023f 100644 --- a/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java +++ b/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java @@ -593,6 +593,66 @@ public class VAuthModelExample { addCriterion("create_by not between", value1, value2, "createBy"); return (Criteria) this; } + + public Criteria andLevelIsNull() { + addCriterion("`level` is null"); + return (Criteria) this; + } + + public Criteria andLevelIsNotNull() { + addCriterion("`level` is not null"); + return (Criteria) this; + } + + public Criteria andLevelEqualTo(Long value) { + addCriterion("`level` =", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotEqualTo(Long value) { + addCriterion("`level` <>", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelGreaterThan(Long value) { + addCriterion("`level` >", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelGreaterThanOrEqualTo(Long value) { + addCriterion("`level` >=", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelLessThan(Long value) { + addCriterion("`level` <", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelLessThanOrEqualTo(Long value) { + addCriterion("`level` <=", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelIn(List values) { + addCriterion("`level` in", values, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotIn(List values) { + addCriterion("`level` not in", values, "level"); + return (Criteria) this; + } + + public Criteria andLevelBetween(Long value1, Long value2) { + addCriterion("`level` between", value1, value2, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotBetween(Long value1, Long value2) { + addCriterion("`level` not between", value1, value2, "level"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/dataease/base/mapper/VAuthModelMapper.xml b/backend/src/main/java/io/dataease/base/mapper/VAuthModelMapper.xml index d98ac7744b..817d429b7c 100644 --- a/backend/src/main/java/io/dataease/base/mapper/VAuthModelMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/VAuthModelMapper.xml @@ -9,6 +9,7 @@ + @@ -73,7 +74,7 @@ - id, pid, node_type, model_type, model_inner_type, auth_type, create_by + id, pid, node_type, model_type, model_inner_type, auth_type, create_by, `level` `name`, `label` @@ -117,12 +118,12 @@ insert into v_auth_model (id, pid, node_type, model_type, model_inner_type, auth_type, - create_by, `name`, `label` - ) + create_by, `level`, `name`, + `label`) values (#{id,jdbcType=VARCHAR}, #{pid,jdbcType=VARCHAR}, #{nodeType,jdbcType=VARCHAR}, #{modelType,jdbcType=VARCHAR}, #{modelInnerType,jdbcType=VARCHAR}, #{authType,jdbcType=VARCHAR}, - #{createBy,jdbcType=VARCHAR}, #{name,jdbcType=LONGVARCHAR}, #{label,jdbcType=LONGVARCHAR} - ) + #{createBy,jdbcType=VARCHAR}, #{level,jdbcType=BIGINT}, #{name,jdbcType=LONGVARCHAR}, + #{label,jdbcType=LONGVARCHAR}) insert into v_auth_model @@ -148,6 +149,9 @@ create_by, + + `level`, + `name`, @@ -177,6 +181,9 @@ #{createBy,jdbcType=VARCHAR}, + + #{level,jdbcType=BIGINT}, + #{name,jdbcType=LONGVARCHAR}, @@ -215,6 +222,9 @@ create_by = #{record.createBy,jdbcType=VARCHAR}, + + `level` = #{record.level,jdbcType=BIGINT}, + `name` = #{record.name,jdbcType=LONGVARCHAR}, @@ -235,6 +245,7 @@ model_inner_type = #{record.modelInnerType,jdbcType=VARCHAR}, auth_type = #{record.authType,jdbcType=VARCHAR}, create_by = #{record.createBy,jdbcType=VARCHAR}, + `level` = #{record.level,jdbcType=BIGINT}, `name` = #{record.name,jdbcType=LONGVARCHAR}, `label` = #{record.label,jdbcType=LONGVARCHAR} @@ -249,7 +260,8 @@ model_type = #{record.modelType,jdbcType=VARCHAR}, model_inner_type = #{record.modelInnerType,jdbcType=VARCHAR}, auth_type = #{record.authType,jdbcType=VARCHAR}, - create_by = #{record.createBy,jdbcType=VARCHAR} + create_by = #{record.createBy,jdbcType=VARCHAR}, + `level` = #{record.level,jdbcType=BIGINT} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java index 6557ffc5f2..c9e9a9fe44 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java @@ -12,14 +12,11 @@ public interface ExtPanelGroupMapper { List panelGroupListDefault(PanelGroupRequest request); - - //会级联删除pid 下的所有数据 int deleteCircle(@Param("pid") String pid); PanelGroupDTO panelGroup(String id); - void copyPanelView(@Param("pid") String panelId); diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.java new file mode 100644 index 0000000000..dc8caec245 --- /dev/null +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.java @@ -0,0 +1,13 @@ +package io.dataease.base.mapper.ext; + +import io.dataease.controller.request.authModel.VAuthModelRequest; +import io.dataease.dto.authModel.VAuthModelDTO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ExtVAuthModelMapper { + + List queryAuthModel (@Param("request") VAuthModelRequest request); + +} diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.xml new file mode 100644 index 0000000000..4eb2628626 --- /dev/null +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtVAuthModelMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java b/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java index b6352ffa18..d2c0ef4cf8 100644 --- a/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java +++ b/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java @@ -1,10 +1,18 @@ package io.dataease.controller.authModel; import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.controller.request.authModel.VAuthModelRequest; +import io.dataease.dto.authModel.VAuthModelDTO; +import io.dataease.service.authModel.VAuthModelService; import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.List; + /** * Author: wangjiahao * Date: 2021/11/5 @@ -16,4 +24,12 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("authModel") public class VAuthModelController { + @Resource + private VAuthModelService vAuthModelService; + + @PostMapping("/queryAuthModel") + public List queryAuthModel(@RequestBody VAuthModelRequest request){ + return vAuthModelService.queryAuthModel(request); + } + } diff --git a/backend/src/main/java/io/dataease/controller/request/authModel/VAuthModelRequest.java b/backend/src/main/java/io/dataease/controller/request/authModel/VAuthModelRequest.java new file mode 100644 index 0000000000..618409b9f5 --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/request/authModel/VAuthModelRequest.java @@ -0,0 +1,16 @@ +package io.dataease.controller.request.authModel; + +import io.dataease.dto.authModel.VAuthModelDTO; +import lombok.Data; + +/** + * Author: wangjiahao + * Date: 2021/11/24 + * Description: + */ +@Data +public class VAuthModelRequest extends VAuthModelDTO { + + private String userId; + +} diff --git a/backend/src/main/java/io/dataease/dto/authModel/VAuthModelDTO.java b/backend/src/main/java/io/dataease/dto/authModel/VAuthModelDTO.java index 703649a885..6fbb6fe4a3 100644 --- a/backend/src/main/java/io/dataease/dto/authModel/VAuthModelDTO.java +++ b/backend/src/main/java/io/dataease/dto/authModel/VAuthModelDTO.java @@ -1,12 +1,20 @@ package io.dataease.dto.authModel; -import io.dataease.base.domain.VAuthModel; +import io.dataease.base.domain.VAuthModelWithBLOBs; +import io.dataease.commons.model.ITreeBase; +import lombok.Data; + +import java.util.List; /** * Author: wangjiahao * Date: 2021/11/5 * Description: */ -public class VAuthModelDTO extends VAuthModel { +@Data +public class VAuthModelDTO extends VAuthModelWithBLOBs implements ITreeBase { + private String privileges; + + private List children; } diff --git a/backend/src/main/java/io/dataease/service/authModel/VAuthModelService.java b/backend/src/main/java/io/dataease/service/authModel/VAuthModelService.java new file mode 100644 index 0000000000..7224451b34 --- /dev/null +++ b/backend/src/main/java/io/dataease/service/authModel/VAuthModelService.java @@ -0,0 +1,29 @@ +package io.dataease.service.authModel; + +import io.dataease.base.mapper.ext.ExtVAuthModelMapper; +import io.dataease.commons.utils.AuthUtils; +import io.dataease.commons.utils.TreeUtils; +import io.dataease.controller.request.authModel.VAuthModelRequest; +import io.dataease.dto.authModel.VAuthModelDTO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * Author: wangjiahao + * Date: 2021/11/24 + * Description: + */ +@Service +public class VAuthModelService { + + @Resource + private ExtVAuthModelMapper extVAuthModelMapper; + + public List queryAuthModel(VAuthModelRequest request){ + request.setUserId(String.valueOf(AuthUtils.getUser().getUserId())); + List result = extVAuthModelMapper.queryAuthModel(request); + return TreeUtils.mergeTree(result ); + } +} diff --git a/backend/src/main/resources/generatorConfig.xml b/backend/src/main/resources/generatorConfig.xml index f2ff9643f9..71a27e44df 100644 --- a/backend/src/main/resources/generatorConfig.xml +++ b/backend/src/main/resources/generatorConfig.xml @@ -65,7 +65,7 @@ - +
diff --git a/frontend/src/api/authModel/authModel.js b/frontend/src/api/authModel/authModel.js new file mode 100644 index 0000000000..48407397f5 --- /dev/null +++ b/frontend/src/api/authModel/authModel.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +export function queryAuthModel(data) { + return request({ + url: 'authModel/queryAuthModel', + method: 'post', + loading: true, + data + }) +} diff --git a/frontend/src/api/chart/chart.js b/frontend/src/api/chart/chart.js index 5c3f7821f7..f966b426d1 100644 --- a/frontend/src/api/chart/chart.js +++ b/frontend/src/api/chart/chart.js @@ -60,3 +60,14 @@ export function checkSameDataSet(viewIdSource, viewIdTarget) { loading: false }) } + +export function ajaxGetDataOnly(id, data) { + return request({ + url: '/chart/view/getData/' + id, + method: 'post', + loading: true, + hideMsg: true, + timeout: 30000, + data + }) +} diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index 302ecef8e8..9b77490991 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -1,7 +1,6 @@