提交 7c429d96 authored 作者: taojinlong's avatar taojinlong

Merge branch 'main' of github.com:dataease/dataease into main

...@@ -7,12 +7,13 @@ import io.dataease.dto.panel.PanelSharePo; ...@@ -7,12 +7,13 @@ import io.dataease.dto.panel.PanelSharePo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
public interface ExtPanelShareMapper { public interface ExtPanelShareMapper {
int batchInsert(@Param("shares") List<PanelShare> shares); int batchInsert(@Param("shares") List<PanelShare> shares);
List<PanelSharePo> query(GridExample example); List<PanelSharePo> query(Map<String, Object> param);
List<PanelShare> queryWithResource(GridExample example); List<PanelShare> queryWithResource(GridExample example);
} }
...@@ -16,16 +16,17 @@ ...@@ -16,16 +16,17 @@
</foreach> </foreach>
</insert> </insert>
<select id="query" parameterType="io.dataease.base.mapper.ext.query.GridExample" resultMap="treeNodeMap"> <select id="query" resultMap="treeNodeMap">
select distinct s.panel_group_id as id, g.create_by as creator, g.name select distinct s.panel_group_id as id, g.create_by as creator, g.name
from panel_share s from panel_share s
left join panel_group g on g.id = s.panel_group_id left join panel_group g on g.id = s.panel_group_id
<if test="_parameter != null"> where
<include refid="io.dataease.base.mapper.ext.query.GridSql.gridCondition" /> ( s.target_id = #{userId} and s.type = 0 ) or
</if> ( s.target_id = #{deptId} and s.type = 1 ) or
<if test="orderByClause != null"> s.target_id in
order by ${orderByClause} <foreach collection="roleIds" item="roleId" open='(' separator=',' close=')'>
</if> #{roleId}
</foreach>
<if test="orderByClause == null"> <if test="orderByClause == null">
order by s.create_time desc order by s.create_time desc
</if> </if>
......
...@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; ...@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -92,7 +93,14 @@ public class ShareService { ...@@ -92,7 +93,14 @@ public class ShareService {
Long deptId = user.getDeptId(); Long deptId = user.getDeptId();
List<Long> roleIds = user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList()); List<Long> roleIds = user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList());
List<Long> targetIds = new ArrayList<>(); Map<String, Object> param = new HashMap<>();
param.put("userId", userId);
param.put("deptId", deptId);
param.put("roleIds", roleIds);
List<PanelSharePo> datas = extPanelShareMapper.query(param);
/*List<Long> targetIds = new ArrayList<>();
targetIds.add(userId); targetIds.add(userId);
targetIds.add(deptId); targetIds.add(deptId);
targetIds.addAll(roleIds); targetIds.addAll(roleIds);
...@@ -105,14 +113,15 @@ public class ShareService { ...@@ -105,14 +113,15 @@ public class ShareService {
request.setConditions(new ArrayList<ConditionEntity>(){{add(condition);}}); request.setConditions(new ArrayList<ConditionEntity>(){{add(condition);}});
GridExample example = request.convertExample(); GridExample example = request.convertExample();
List<PanelSharePo> datas = extPanelShareMapper.query(example); List<PanelSharePo> datas = extPanelShareMapper.query(example);*/
List<PanelShareDto> dtoLists = datas.stream().map(po -> BeanUtils.copyBean(new PanelShareDto(), po)).collect(Collectors.toList()); List<PanelShareDto> dtoLists = datas.stream().map(po -> BeanUtils.copyBean(new PanelShareDto(), po)).collect(Collectors.toList());
return convertTree(dtoLists); return convertTree(dtoLists);
} }
//List构建Tree //List构建Tree
private List<PanelShareDto> convertTree(List<PanelShareDto> datas){ private List<PanelShareDto> convertTree(List<PanelShareDto> datas){
Map<String, List<PanelShareDto>> map = datas.stream().filter(panelShareDto -> StringUtils.isNotEmpty(panelShareDto.getCreator())).collect(Collectors.groupingBy(PanelShareDto::getCreator)); String username = AuthUtils.getUser().getUsername();
Map<String, List<PanelShareDto>> map = datas.stream().filter(panelShareDto -> StringUtils.isNotEmpty(panelShareDto.getCreator()) && !StringUtils.equals(username, panelShareDto.getCreator())).collect(Collectors.groupingBy(PanelShareDto::getCreator));
return map.entrySet().stream().map(entry -> { return map.entrySet().stream().map(entry -> {
PanelShareDto panelShareDto = new PanelShareDto(); PanelShareDto panelShareDto = new PanelShareDto();
panelShareDto.setName(entry.getKey()); panelShareDto.setName(entry.getKey());
......
...@@ -119,11 +119,11 @@ export function fieldValues(fieldId) { ...@@ -119,11 +119,11 @@ export function fieldValues(fieldId) {
}) })
} }
export function isKettleRunning() { export function isKettleRunning(showLoading = true) {
return request({ return request({
url: '/dataset/group/isKettleRunning', url: '/dataset/group/isKettleRunning',
method: 'post', method: 'post',
loading: true loading: showLoading
}) })
} }
......
...@@ -158,7 +158,7 @@ export default { ...@@ -158,7 +158,7 @@ export default {
} }
</script> </script>
<style lang="css"> <style lang="css" scoped>
.cron { .cron {
text-align: left; text-align: left;
padding: 10px; padding: 10px;
......
...@@ -238,7 +238,9 @@ div:focus { ...@@ -238,7 +238,9 @@ div:focus {
color: #23beef; color: #23beef;
margin: 0 2px 0 0; margin: 0 2px 0 0;
} }
.el-popper{ .showRightPanel{
.el-popper{
position: fixed!important; position: fixed!important;
}
} }
...@@ -20,6 +20,7 @@ import Group from './group/Group' ...@@ -20,6 +20,7 @@ import Group from './group/Group'
import ChartHome from './data/ChartHome' import ChartHome from './data/ChartHome'
import ChartEdit from './view/ChartEdit' import ChartEdit from './view/ChartEdit'
import { removeClass } from '@/utils'
export default { export default {
name: 'Chart', name: 'Chart',
...@@ -30,6 +31,9 @@ export default { ...@@ -30,6 +31,9 @@ export default {
param: {} param: {}
} }
}, },
mounted() {
removeClass(document.body, 'showRightPanel')
},
methods: { methods: {
switchComponent(c) { switchComponent(c) {
this.param = c.param this.param = c.param
...@@ -49,7 +53,7 @@ export default { ...@@ -49,7 +53,7 @@ export default {
<style scoped> <style scoped>
.ms-aside-container { .ms-aside-container {
height: calc(100vh - 56px); height: calc(100vh - 56px);
padding: 15px; padding: 10px 15px;
min-width: 260px; min-width: 260px;
max-width: 460px; max-width: 460px;
} }
......
...@@ -188,7 +188,7 @@ export default { ...@@ -188,7 +188,7 @@ export default {
}, },
methods: { methods: {
kettleState() { kettleState() {
isKettleRunning().then(res => { isKettleRunning(false).then(res => {
this.kettleRunning = res.data this.kettleRunning = res.data
}) })
}, },
......
...@@ -25,6 +25,7 @@ import AddSQL from './add/AddSQL' ...@@ -25,6 +25,7 @@ import AddSQL from './add/AddSQL'
import AddExcel from './add/AddExcel' import AddExcel from './add/AddExcel'
import AddCustom from './add/AddCustom' import AddCustom from './add/AddCustom'
import FieldEdit from './data/FieldEdit' import FieldEdit from './data/FieldEdit'
import { removeClass } from '@/utils'
export default { export default {
name: 'DataSet', name: 'DataSet',
...@@ -35,6 +36,9 @@ export default { ...@@ -35,6 +36,9 @@ export default {
param: {} param: {}
} }
}, },
mounted() {
removeClass(document.body, 'showRightPanel')
},
methods: { methods: {
switchComponent(c) { switchComponent(c) {
this.param = c.param this.param = c.param
...@@ -69,14 +73,14 @@ export default { ...@@ -69,14 +73,14 @@ export default {
<style scoped> <style scoped>
.ms-aside-container { .ms-aside-container {
height: calc(100vh - 56px); height: calc(100vh - 56px);
padding: 15px; padding: 10px 15px;
min-width: 260px; min-width: 260px;
max-width: 460px; max-width: 460px;
} }
.ms-main-container { .ms-main-container {
height: calc(100vh - 56px); height: calc(100vh - 56px);
padding: 15px 15px 0 15px; padding: 10px 15px 0 15px;
} }
</style> </style>
<template xmlns:el-col="http://www.w3.org/1999/html"> <template xmlns:el-col="http://www.w3.org/1999/html">
<el-col style="padding: 0 10px 0 10px;"> <el-col style="padding: 0 5px 0 5px;">
<el-col> <el-col>
<el-row> <el-row>
<span class="header-title">{{ $t('panel.default_panel') }}</span> <span class="header-title">{{ $t('panel.default_panel') }}</span>
......
<template> <template>
<de-container> <de-container>
<de-aside-container> <de-aside-container style="padding: 0 10px;">
<el-tabs v-model="activeName" class="tab-panel" :stretch="true" @tab-click="handleClick"> <el-tabs v-model="activeName" class="tab-panel" :stretch="true" @tab-click="handleClick">
<el-tab-pane name="PanelList"> <el-tab-pane name="PanelList">
<span slot="label"><i class="el-icon-document" />{{ $t('panel.panel_list') }}</span> <span slot="label"><i class="el-icon-document" />{{ $t('panel.panel_list') }}</span>
...@@ -107,4 +107,8 @@ export default { ...@@ -107,4 +107,8 @@ export default {
.tab-panel>>>.el-tabs__nav-wrap::after { .tab-panel>>>.el-tabs__nav-wrap::after {
height: 1px; height: 1px;
} }
.tab-panel>>>.el-tabs__item{
/* width: 10px; */
padding: 0 10px;
}
</style> </style>
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<el-col v-if="panelInfo.name.length>0" class="panel-design"> <el-col v-if="panelInfo.name.length>0" class="panel-design">
<el-row class="panel-design-head"> <el-row class="panel-design-head">
<!--仪表板头部区域--> <!--仪表板头部区域-->
<div style="border-bottom: 1px solid #dfe4ed;height: 100%;">
<el-col :span="12" style="text-overflow:ellipsis;overflow: hidden;white-space: nowrap;font-size: 14px"> <el-col :span="12" style="text-overflow:ellipsis;overflow: hidden;white-space: nowrap;font-size: 14px">
<span>{{ panelInfo.name || '测试仪表板' }}</span> <span>{{ panelInfo.name || '测试仪表板' }}</span>
</el-col> </el-col>
...@@ -35,7 +36,7 @@ ...@@ -35,7 +36,7 @@
</el-tooltip> </el-tooltip>
</span> </span>
</el-col> </el-col>
</div>
</el-row> </el-row>
<!-- 仪表板预览区域--> <!-- 仪表板预览区域-->
<el-row class="panel-design-preview"> <el-row class="panel-design-preview">
...@@ -217,9 +218,8 @@ export default { ...@@ -217,9 +218,8 @@ export default {
.panel-design-head { .panel-design-head {
height: 40px; height: 40px;
background-color: white; background-color: white;
padding: 0 6px; padding: 0 10px;
line-height: 40px; line-height: 40px;
border-bottom: 1px solid #dfe4ed;
} }
.panel-design-preview { .panel-design-preview {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论