Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
fe9d8a2d
提交
fe9d8a2d
authored
3月 08, 2021
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:仪表盘
上级
f4691239
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
228 行增加
和
69 行删除
+228
-69
ExtPanelGroupMapper.java
...java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java
+18
-0
ExtPanelGroupMapper.xml
.../java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml
+40
-0
PanelGroupController.java
...va/io/dataease/controller/panel/PanelGroupController.java
+32
-0
PanelGroupRequest.java
.../dataease/controller/request/panel/PanelGroupRequest.java
+21
-0
PanelGroupDTO.java
...nd/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java
+2
-16
PanelGroupService.java
...ain/java/io/dataease/service/panel/PanelGroupService.java
+49
-0
V12__panel_table.sql
backend/src/main/resources/db/migration/V12__panel_table.sql
+29
-2
panel.js
frontend/src/api/panel/panel.js
+29
-19
zh.js
frontend/src/lang/zh.js
+6
-30
Group.vue
frontend/src/views/panel/group/Group.vue
+0
-0
index.vue
frontend/src/views/panel/index.vue
+2
-2
PanelList.vue
frontend/src/views/panel/list/PanelList.vue
+0
-0
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.java
0 → 100644
浏览文件 @
fe9d8a2d
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.controller.request.panel.PanelGroupRequest
;
import
io.dataease.dto.panel.PanelGroupDTO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
ExtPanelGroupMapper
{
List
<
PanelGroupDTO
>
panelGroupList
(
PanelGroupRequest
request
);
//会级联删除pid 下的所有数据
int
deleteCircle
(
@Param
(
"pid"
)
String
pid
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml
0 → 100644
浏览文件 @
fe9d8a2d
<?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.ExtPanelGroupMapper"
>
<resultMap
id=
"BaseResultMapDTO"
type=
"io.dataease.dto.panel.PanelGroupDTO"
extends=
"io.dataease.base.mapper.PanelGroupMapper.BaseResultMap"
>
<result
column=
"label"
jdbcType=
"VARCHAR"
property=
"label"
/>
</resultMap>
<select
id=
"panelGroupList"
resultMap=
"BaseResultMapDTO"
>
select panel_group.*,panel_group.name as label from panel_group
<where>
<if
test=
"name != null"
>
and panel_group.name like CONCAT('%', #{name},'%')
</if>
<if
test=
"nodeType != null"
>
and panel_group.node_type = #{nodeType}
</if>
<if
test=
"panelType != null"
>
and panel_group.panel_type = #{panelType}
</if>
<if
test=
"id != null"
>
and panel_group.id = #{id}
</if>
<if
test=
"pid != null"
>
and panel_group.pid = #{pid}
</if>
<if
test=
"level != null"
>
and panel_group.level = #{level}
</if>
</where>
<if
test=
"sort != null"
>
order by ${sort}
</if>
</select>
<delete
id=
"deleteCircle"
>
delete from panel_group where FIND_IN_SET(panel_group.id,GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
</delete>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java
浏览文件 @
fe9d8a2d
package
io
.
dataease
.
controller
.
panel
;
package
io
.
dataease
.
controller
.
panel
;
import
io.dataease.base.domain.DatasetGroup
;
import
io.dataease.controller.request.dataset.DataSetGroupRequest
;
import
io.dataease.controller.request.panel.PanelGroupRequest
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
io.dataease.dto.panel.PanelGroupDTO
;
import
io.dataease.service.panel.PanelGroupService
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
/**
* Author: wangjiahao
* Author: wangjiahao
* Date: 2021-03-05
* Date: 2021-03-05
* Description:
* Description:
*/
*/
@RestController
@RequestMapping
(
"panel/group"
)
public
class
PanelGroupController
{
public
class
PanelGroupController
{
@Resource
private
PanelGroupService
panelGroupService
;
@PostMapping
(
"/tree"
)
public
List
<
PanelGroupDTO
>
tree
(
@RequestBody
PanelGroupRequest
request
)
{
request
.
setLevel
(
0
);
return
panelGroupService
.
tree
(
request
);
}
@PostMapping
(
"/defaultTree"
)
public
List
<
PanelGroupDTO
>
defaultTree
(
@RequestBody
PanelGroupRequest
request
)
{
return
panelGroupService
.
getDefaultTree
(
request
);
}
@PostMapping
(
"/save"
)
public
PanelGroupDTO
save
(
@RequestBody
PanelGroupRequest
request
)
{
return
panelGroupService
.
save
(
request
);
}
@PostMapping
(
"/deleteCircle/{id}"
)
public
void
deleteCircle
(
@PathVariable
String
id
)
{
panelGroupService
.
deleteCircle
(
id
);
}
}
}
backend/src/main/java/io/dataease/controller/request/panel/PanelGroupRequest.java
0 → 100644
浏览文件 @
fe9d8a2d
package
io
.
dataease
.
controller
.
request
.
panel
;
import
io.dataease.base.domain.PanelGroup
;
import
lombok.Data
;
/**
* Author: wangjiahao
* Date: 2021-03-05
* Description:
*/
@Data
public
class
PanelGroupRequest
extends
PanelGroup
{
private
String
sort
;
public
PanelGroupRequest
()
{
}
public
PanelGroupRequest
(
String
pid
)
{
super
.
setPid
(
pid
);
}
}
backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java
浏览文件 @
fe9d8a2d
...
@@ -2,6 +2,7 @@ package io.dataease.dto.panel;
...
@@ -2,6 +2,7 @@ package io.dataease.dto.panel;
import
io.dataease.base.domain.PanelGroup
;
import
io.dataease.base.domain.PanelGroup
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -10,25 +11,10 @@ import java.util.List;
...
@@ -10,25 +11,10 @@ import java.util.List;
* Date: 2021-03-05
* Date: 2021-03-05
* Description:
* Description:
*/
*/
@Data
public
class
PanelGroupDTO
extends
PanelGroup
{
public
class
PanelGroupDTO
extends
PanelGroup
{
private
String
label
;
private
String
label
;
private
List
<
PanelGroupDTO
>
children
;
private
List
<
PanelGroupDTO
>
children
;
public
String
getLabel
()
{
return
label
;
}
public
void
setLabel
(
String
label
)
{
this
.
label
=
label
;
}
public
List
<
PanelGroupDTO
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
PanelGroupDTO
>
children
)
{
this
.
children
=
children
;
}
}
}
backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
浏览文件 @
fe9d8a2d
package
io
.
dataease
.
service
.
panel
;
package
io
.
dataease
.
service
.
panel
;
import
io.dataease.base.domain.DatasetGroup
;
import
io.dataease.base.mapper.PanelGroupMapper
;
import
io.dataease.base.mapper.PanelGroupMapper
;
import
io.dataease.base.mapper.ext.ExtPanelGroupMapper
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.controller.request.panel.PanelGroupRequest
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
io.dataease.dto.panel.PanelGroupDTO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.Assert
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.UUID
;
/**
/**
* Author: wangjiahao
* Author: wangjiahao
...
@@ -15,9 +26,47 @@ public class PanelGroupService {
...
@@ -15,9 +26,47 @@ public class PanelGroupService {
@Resource
@Resource
private
PanelGroupMapper
panelGroupMapper
;
private
PanelGroupMapper
panelGroupMapper
;
@Resource
private
ExtPanelGroupMapper
extPanelGroupMapper
;
public
List
<
PanelGroupDTO
>
tree
(
PanelGroupRequest
panelGroupRequest
)
{
List
<
PanelGroupDTO
>
panelGroupDTOList
=
extPanelGroupMapper
.
panelGroupList
(
panelGroupRequest
);
getTreeChildren
(
panelGroupDTOList
);
return
panelGroupDTOList
;
}
public
void
getTreeChildren
(
List
<
PanelGroupDTO
>
parentPanelGroupDTO
){
Optional
.
ofNullable
(
parentPanelGroupDTO
).
ifPresent
(
parent
->
parent
.
forEach
(
panelGroupDTO
->
{
List
<
PanelGroupDTO
>
panelGroupDTOChildren
=
extPanelGroupMapper
.
panelGroupList
(
new
PanelGroupRequest
(
panelGroupDTO
.
getId
()));
panelGroupDTO
.
setChildren
(
panelGroupDTOChildren
);
getTreeChildren
(
panelGroupDTOChildren
);
}));
}
public
List
<
PanelGroupDTO
>
getDefaultTree
(
PanelGroupRequest
panelGroupRequest
){
return
extPanelGroupMapper
.
panelGroupList
(
panelGroupRequest
);
}
public
PanelGroupDTO
save
(
PanelGroupRequest
request
)
{
if
(
StringUtils
.
isEmpty
(
request
.
getId
()))
{
request
.
setId
(
UUID
.
randomUUID
().
toString
());
request
.
setCreateTime
(
System
.
currentTimeMillis
());
panelGroupMapper
.
insert
(
request
);
}
else
{
panelGroupMapper
.
updateByPrimaryKey
(
request
);
}
PanelGroupDTO
panelGroupDTO
=
new
PanelGroupDTO
();
BeanUtils
.
copyBean
(
panelGroupDTO
,
request
);
panelGroupDTO
.
setLabel
(
request
.
getName
());
return
panelGroupDTO
;
}
public
void
deleteCircle
(
String
id
){
Assert
.
notNull
(
id
,
"id cannot be null"
);
extPanelGroupMapper
.
deleteCircle
(
id
);
}
}
}
backend/src/main/resources/db/migration/V12__panel_table.sql
浏览文件 @
fe9d8a2d
...
@@ -32,4 +32,31 @@ CREATE TABLE `panel_view` (
...
@@ -32,4 +32,31 @@ CREATE TABLE `panel_view` (
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
;
SET
FOREIGN_KEY_CHECKS
=
1
;
SET
FOREIGN_KEY_CHECKS
=
1
;
\ No newline at end of file
CREATE
DEFINER
=
`root`
@
`%`
FUNCTION
`GET_PANEL_CHILDREN_CHILDREN`
(
parentId
varchar
(
8000
))
RETURNS
varchar
(
8000
)
CHARSET
utf8
BEGIN
DECLARE
oTemp
VARCHAR
(
8000
);
DECLARE
oTempChild
VARCHAR
(
8000
);
SET
oTemp
=
''
;
SET
oTempChild
=
CAST
(
parentId
AS
CHAR
);
WHILE
oTempChild
IS
NOT
NULL
DO
SET
oTemp
=
CONCAT
(
oTemp
,
','
,
oTempChild
);
SELECT
GROUP_CONCAT
(
id
)
INTO
oTempChild
FROM
panel_group
WHERE
FIND_IN_SET
(
pid
,
oTempChild
)
>
0
;
END
WHILE
;
RETURN
oTemp
;
END
\ No newline at end of file
frontend/src/api/panel/panel.js
浏览文件 @
fe9d8a2d
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
export
function
defaultTree
(
data
)
{
return
request
({
url
:
'/panel/group/defaultTree'
,
method
:
'post'
,
loading
:
true
,
data
})
}
export
function
groupTree
(
data
)
{
return
request
({
url
:
'/panel/group/tree'
,
method
:
'post'
,
loading
:
true
,
data
})
}
export
function
loadTable
(
data
)
{
export
function
loadTable
(
data
)
{
return
request
({
return
request
({
url
:
'/
dataset
/table/list'
,
url
:
'/
panel
/table/list'
,
method
:
'post'
,
method
:
'post'
,
data
data
})
})
...
@@ -10,14 +28,14 @@ export function loadTable(data) {
...
@@ -10,14 +28,14 @@ export function loadTable(data) {
export
function
getScene
(
sceneId
)
{
export
function
getScene
(
sceneId
)
{
return
request
({
return
request
({
url
:
'/
dataset
/group/getScene/'
+
sceneId
,
url
:
'/
panel
/group/getScene/'
+
sceneId
,
method
:
'post'
method
:
'post'
})
})
}
}
export
function
addGroup
(
data
)
{
export
function
addGroup
(
data
)
{
return
request
({
return
request
({
url
:
'/
dataset
/group/save'
,
url
:
'/
panel
/group/save'
,
method
:
'post'
,
method
:
'post'
,
data
data
})
})
...
@@ -25,14 +43,14 @@ export function addGroup(data) {
...
@@ -25,14 +43,14 @@ export function addGroup(data) {
export
function
delGroup
(
groupId
)
{
export
function
delGroup
(
groupId
)
{
return
request
({
return
request
({
url
:
'/
dataset/group/delet
e/'
+
groupId
,
url
:
'/
panel/group/deleteCircl
e/'
+
groupId
,
method
:
'post'
method
:
'post'
})
})
}
}
export
function
addTable
(
data
)
{
export
function
addTable
(
data
)
{
return
request
({
return
request
({
url
:
'/
dataset
/table/update'
,
url
:
'/
panel
/table/update'
,
method
:
'post'
,
method
:
'post'
,
data
data
})
})
...
@@ -40,19 +58,11 @@ export function addTable(data) {
...
@@ -40,19 +58,11 @@ export function addTable(data) {
export
function
delTable
(
tableId
)
{
export
function
delTable
(
tableId
)
{
return
request
({
return
request
({
url
:
'/
dataset
/table/delete/'
+
tableId
,
url
:
'/
panel
/table/delete/'
+
tableId
,
method
:
'post'
method
:
'post'
})
})
}
}
export
function
groupTree
(
data
)
{
return
request
({
url
:
'/dataset/group/tree'
,
method
:
'post'
,
data
})
}
export
function
listDatasource
()
{
export
function
listDatasource
()
{
return
request
({
return
request
({
url
:
'/datasource/list'
,
url
:
'/datasource/list'
,
...
@@ -62,14 +72,14 @@ export function listDatasource() {
...
@@ -62,14 +72,14 @@ export function listDatasource() {
export
function
getTable
(
id
)
{
export
function
getTable
(
id
)
{
return
request
({
return
request
({
url
:
'/
dataset
/table/get/'
+
id
,
url
:
'/
panel
/table/get/'
+
id
,
method
:
'post'
method
:
'post'
})
})
}
}
export
function
getPreviewData
(
data
)
{
export
function
getPreviewData
(
data
)
{
return
request
({
return
request
({
url
:
'/
dataset
/table/getPreviewData'
,
url
:
'/
panel
/table/getPreviewData'
,
method
:
'post'
,
method
:
'post'
,
data
data
})
})
...
@@ -77,14 +87,14 @@ export function getPreviewData(data) {
...
@@ -77,14 +87,14 @@ export function getPreviewData(data) {
export
function
fieldList
(
id
)
{
export
function
fieldList
(
id
)
{
return
request
({
return
request
({
url
:
'/
dataset
/field/list/'
+
id
,
url
:
'/
panel
/field/list/'
+
id
,
method
:
'post'
method
:
'post'
})
})
}
}
export
function
batchEdit
(
data
)
{
export
function
batchEdit
(
data
)
{
return
request
({
return
request
({
url
:
'/
dataset
/field/batchEdit'
,
url
:
'/
panel
/field/batchEdit'
,
method
:
'post'
,
method
:
'post'
,
data
data
})
})
...
@@ -98,4 +108,4 @@ export function post(url, data) {
...
@@ -98,4 +108,4 @@ export function post(url, data) {
})
})
}
}
export
default
{
loadTable
,
getScene
,
addGroup
,
delGroup
,
addTable
,
delTable
,
groupTree
}
export
default
{
loadTable
,
getScene
,
addGroup
,
delGroup
,
addTable
,
delTable
,
groupTree
,
defaultTree
}
frontend/src/lang/zh.js
浏览文件 @
fe9d8a2d
...
@@ -683,10 +683,10 @@ export default {
...
@@ -683,10 +683,10 @@ export default {
},
},
panel
:
{
panel
:
{
datalist
:
'视图列表'
,
datalist
:
'视图列表'
,
add_group
:
'添加分组
'
,
group
:
'目录
'
,
add_scene
:
'添加场景
'
,
panel
:
'仪表盘
'
,
group
:
'分组
'
,
group
Add
:
'新建目录
'
,
scene
:
'场景
'
,
panelAdd
:
'新建仪表盘
'
,
delete
:
'删除'
,
delete
:
'删除'
,
move_to
:
'移动到'
,
move_to
:
'移动到'
,
rename
:
'重命名'
,
rename
:
'重命名'
,
...
@@ -696,31 +696,7 @@ export default {
...
@@ -696,31 +696,7 @@ export default {
confirm
:
'确认'
,
confirm
:
'确认'
,
cancel
:
'取消'
,
cancel
:
'取消'
,
search
:
'搜索'
,
search
:
'搜索'
,
back
:
'返回'
,
back
:
'返回'
add_table
:
'添加表'
,
process
:
'进度'
,
add_chart
:
'添加视图'
,
db_data
:
'数据库表'
,
sql_data
:
'SQL数据集'
,
excel_data
:
'Excel数据集'
,
custom_data
:
'自助数据集'
,
pls_slc_tbl_left
:
'请从左侧选视图'
,
add_db_table
:
'添加数据库表'
,
pls_slc_data_source
:
'请选择数据库连接'
,
table
:
'表'
,
edit
:
'编辑'
,
create_view
:
'创建试图'
,
data_preview
:
'数据预览'
,
dimension
:
'维度'
,
quota
:
'指标'
,
title
:
'标题'
,
show
:
'显示'
,
chart_type
:
'图表类型'
,
shape_attr
:
'图形属性'
,
module_style
:
'组件样式'
,
result_filter
:
'结果过滤器'
,
x_axis
:
'横轴'
,
y_axis
:
'纵轴'
,
chart
:
'视图'
}
}
}
}
frontend/src/views/panel/group/Group.vue
deleted
100644 → 0
浏览文件 @
f4691239
差异被折叠。
点击展开。
frontend/src/views/panel/index.vue
浏览文件 @
fe9d8a2d
...
@@ -34,13 +34,13 @@
...
@@ -34,13 +34,13 @@
import
MsMainContainer
from
'@/metersphere/common/components/MsMainContainer'
import
MsMainContainer
from
'@/metersphere/common/components/MsMainContainer'
import
MsContainer
from
'@/metersphere/common/components/MsContainer'
import
MsContainer
from
'@/metersphere/common/components/MsContainer'
import
MsAsideContainer
from
'@/metersphere/common/components/MsAsideContainer'
import
MsAsideContainer
from
'@/metersphere/common/components/MsAsideContainer'
import
Group
from
'./group/Group'
//
import Group from './group/Group'
import
PanelList
from
'./list/PanelList'
import
PanelList
from
'./list/PanelList'
import
PanelView
from
'./list/PanelView'
import
PanelView
from
'./list/PanelView'
export
default
{
export
default
{
name
:
'Panel'
,
name
:
'Panel'
,
components
:
{
MsMainContainer
,
MsContainer
,
MsAsideContainer
,
Group
,
PanelList
,
PanelView
},
components
:
{
MsMainContainer
,
MsContainer
,
MsAsideContainer
,
PanelList
,
PanelView
},
data
()
{
data
()
{
return
{
return
{
component
:
PanelView
,
component
:
PanelView
,
...
...
frontend/src/views/panel/list/PanelList.vue
浏览文件 @
fe9d8a2d
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论