forked from github/dataease
Merge branch 'v1.9' of github.com:dataease/dataease into v1.9
This commit is contained in:
commit
77a5ba4baf
@ -45,4 +45,7 @@ public interface ExtChartViewMapper {
|
||||
|
||||
void copyCacheToView(@Param("viewIds") List<String> viewIds );
|
||||
|
||||
int updateToCache(@Param("viewId") String viewId );
|
||||
|
||||
void copyCache(@Param("sourceViewId") String sourceViewId,@Param("newViewId") String newViewId);
|
||||
}
|
||||
|
@ -89,6 +89,69 @@
|
||||
chart_view.id = #{id}
|
||||
</insert>
|
||||
|
||||
<insert id="copyCache">
|
||||
INSERT INTO chart_view_cache (
|
||||
id,
|
||||
`name`,
|
||||
title,
|
||||
scene_id,
|
||||
table_id,
|
||||
`type`,
|
||||
render,
|
||||
result_count,
|
||||
result_mode,
|
||||
create_by,
|
||||
create_time,
|
||||
update_time,
|
||||
style_priority,
|
||||
chart_type,
|
||||
is_plugin,
|
||||
x_axis,
|
||||
x_axis_ext,
|
||||
y_axis,
|
||||
y_axis_ext,
|
||||
ext_stack,
|
||||
ext_bubble,
|
||||
custom_attr,
|
||||
custom_style,
|
||||
custom_filter,
|
||||
drill_fields,
|
||||
senior,
|
||||
SNAPSHOT,
|
||||
data_from
|
||||
) SELECT
|
||||
#{newViewId} as id,
|
||||
`name`,
|
||||
title,
|
||||
scene_id,
|
||||
table_id,
|
||||
`type`,
|
||||
render,
|
||||
result_count,
|
||||
result_mode,
|
||||
create_by,
|
||||
create_time,
|
||||
update_time,
|
||||
style_priority,
|
||||
chart_type,
|
||||
is_plugin,
|
||||
x_axis,
|
||||
x_axis_ext,
|
||||
y_axis,
|
||||
y_axis_ext,
|
||||
ext_stack,
|
||||
ext_bubble,
|
||||
custom_attr,
|
||||
custom_style,
|
||||
custom_filter,
|
||||
drill_fields,
|
||||
senior,
|
||||
SNAPSHOT,
|
||||
data_from from chart_view_cache
|
||||
WHERE
|
||||
chart_view_cache.id = #{sourceViewId}
|
||||
</insert>
|
||||
|
||||
<!-- <select id="searchOne" resultMap="BaseResultMapDTO">-->
|
||||
<!-- select-->
|
||||
<!-- id, `name`, scene_id, table_id, `type`, title, create_by, create_time, update_time,-->
|
||||
@ -200,8 +263,8 @@
|
||||
`custom_filter`,
|
||||
`drill_fields`,
|
||||
`create_by`,
|
||||
`create_time`,
|
||||
`update_time`,
|
||||
unix_timestamp()*1000 as `create_time`,
|
||||
unix_timestamp()*1000 as `update_time`,
|
||||
`snapshot`,
|
||||
`style_priority`,
|
||||
`ext_stack`,
|
||||
@ -404,4 +467,37 @@
|
||||
#{viewId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updateToCache">
|
||||
UPDATE chart_view_cache cv,
|
||||
chart_view cve
|
||||
SET cv.`name` = cve.`name`,
|
||||
cv.title = cve.title,
|
||||
cv.scene_id = cve.scene_id,
|
||||
cv.table_id = cve.table_id,
|
||||
cv.`type` = cve.`type`,
|
||||
cv.render = cve.render,
|
||||
cv.result_count = cve.result_count,
|
||||
cv.result_mode = cve.result_mode,
|
||||
cv.create_by = cve.create_by,
|
||||
cv.create_time = cve.create_time,
|
||||
cv.update_time = cve.update_time,
|
||||
cv.style_priority = cve.style_priority,
|
||||
cv.chart_type = cve.chart_type,
|
||||
cv.is_plugin = cve.is_plugin,
|
||||
cv.x_axis = cve.x_axis,
|
||||
cv.x_axis_ext = cve.x_axis_ext,
|
||||
cv.y_axis = cve.y_axis,
|
||||
cv.y_axis_ext = cve.y_axis_ext,
|
||||
cv.ext_stack = cve.ext_stack,
|
||||
cv.ext_bubble = cve.ext_bubble,
|
||||
cv.custom_attr = cve.custom_attr,
|
||||
cv.custom_style = cve.custom_style,
|
||||
cv.custom_filter = cve.custom_filter,
|
||||
cv.drill_fields = cve.drill_fields,
|
||||
cv.senior = cve.senior,
|
||||
cv.SNAPSHOT = cve.SNAPSHOT,
|
||||
cv.data_from = cve.data_from
|
||||
where cve.id = cv.id and cv.id =#{viewId}
|
||||
</update>
|
||||
</mapper>
|
||||
|
@ -7,6 +7,6 @@ public interface ExtSysAuthMapper {
|
||||
|
||||
Boolean checkTreeNoManageCount(@Param("userId") Long userId, @Param("modelType") String modelType, @Param("nodeId") String nodeId);
|
||||
|
||||
|
||||
String copyAuth(@Param("authSource") String authSource, @Param("authSourceType") String authSourceType, @Param("authUser") String authUser);
|
||||
|
||||
}
|
||||
|
@ -14,4 +14,8 @@
|
||||
select if(CHECK_TREE_NO_MANAGE_PRIVILEGE(#{userId},#{modelType},#{nodeId})>0,1,0)
|
||||
</select>
|
||||
|
||||
<select id="copyAuth" resultType="String">
|
||||
select copy_auth(#{authSource},#{authSourceType},#{authUser})
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
@ -0,0 +1,16 @@
|
||||
package io.dataease.commons.constants;
|
||||
|
||||
/**
|
||||
* Author: wangjiahao
|
||||
* Date: 2022/4/2
|
||||
* Description:
|
||||
*/
|
||||
public class SysAuthConstants {
|
||||
|
||||
public final static String AUTH_SOURCE_TYPE_PANEL = "panel";
|
||||
|
||||
public final static String AUTH_SOURCE_TYPE_DATASET = "dataset";
|
||||
|
||||
public final static String AUTH_SOURCE_TYPE_DATASOURCE = "link";
|
||||
|
||||
}
|
@ -13,6 +13,7 @@ import io.dataease.controller.request.chart.ChartViewCacheRequest;
|
||||
import io.dataease.controller.request.chart.ChartViewRequest;
|
||||
import io.dataease.controller.response.ChartDetail;
|
||||
import io.dataease.dto.chart.ChartViewDTO;
|
||||
import io.dataease.service.chart.ChartViewCacheService;
|
||||
import io.dataease.service.chart.ChartViewService;
|
||||
import io.dataease.service.panel.PanelViewService;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -34,8 +35,9 @@ import java.util.List;
|
||||
public class ChartViewController {
|
||||
@Resource
|
||||
private ChartViewService chartViewService;
|
||||
|
||||
@Resource
|
||||
private PanelViewService panelViewService;
|
||||
private ChartViewCacheService chartViewCacheService;
|
||||
|
||||
@DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE)
|
||||
@ApiOperation("保存")
|
||||
@ -150,7 +152,7 @@ public class ChartViewController {
|
||||
@ApiOperation("重置视图缓存")
|
||||
@PostMapping("/resetViewCache/{id}/{panelId}")
|
||||
public void resetViewCache(@PathVariable String id, @PathVariable String panelId) {
|
||||
chartViewService.resetViewCache(id);
|
||||
chartViewCacheService.refreshCache(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
package io.dataease.service.chart;
|
||||
|
||||
import io.dataease.base.mapper.ChartViewCacheMapper;
|
||||
import io.dataease.base.mapper.ext.ExtChartViewMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* Author: wangjiahao
|
||||
* Date: 2022/4/2
|
||||
* Description:
|
||||
*/
|
||||
@Service
|
||||
public class ChartViewCacheService {
|
||||
|
||||
@Resource
|
||||
private ExtChartViewMapper extChartViewMapper;
|
||||
|
||||
@Transactional
|
||||
public void refreshCache(String viewId){
|
||||
if(extChartViewMapper.updateToCache(viewId)==0){
|
||||
extChartViewMapper.copyToCache(viewId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -97,6 +97,8 @@ public class ChartViewService {
|
||||
private PanelGroupExtendDataService extendDataService;
|
||||
@Resource
|
||||
private ExtPanelGroupExtendDataMapper extPanelGroupExtendDataMapper;
|
||||
@Resource
|
||||
private ChartViewCacheService chartViewCacheService;
|
||||
|
||||
|
||||
//默认使用非公平
|
||||
@ -130,7 +132,7 @@ public class ChartViewService {
|
||||
chartView.setUpdateTime(timestamp);
|
||||
chartViewMapper.insertSelective(chartView);
|
||||
// 新建的视图也存入缓存表中
|
||||
extChartViewMapper.copyToCache(chartView.getId());
|
||||
chartViewCacheService.refreshCache(chartView.getId());
|
||||
|
||||
PanelView newPanelView = new PanelView();
|
||||
newPanelView.setId(UUIDUtil.getUUIDAsString());
|
||||
@ -154,27 +156,6 @@ public class ChartViewService {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// // 直接保存统一到缓存表
|
||||
// public ChartViewWithBLOBs save(ChartViewRequest chartView) {
|
||||
// checkName(chartView);
|
||||
// long timestamp = System.currentTimeMillis();
|
||||
// chartView.setUpdateTime(timestamp);
|
||||
// if (ObjectUtils.isEmpty(chartView.getId())) {
|
||||
// chartView.setId(UUID.randomUUID().toString());
|
||||
// chartView.setCreateBy(AuthUtils.getUser().getUsername());
|
||||
// chartView.setCreateTime(timestamp);
|
||||
// chartView.setUpdateTime(timestamp);
|
||||
// chartViewMapper.insertSelective(chartView);
|
||||
// } else {
|
||||
// chartViewMapper.updateByPrimaryKeySelective(chartView);
|
||||
// }
|
||||
// Optional.ofNullable(chartView.getId()).ifPresent(id -> {
|
||||
// CacheUtils.remove(JdbcConstants.VIEW_CACHE_KEY, id);
|
||||
// });
|
||||
// return getOneWithPermission(chartView.getId());
|
||||
// }
|
||||
|
||||
public List<ChartViewDTO> list(ChartViewRequest chartViewRequest) {
|
||||
chartViewRequest.setUserId(String.valueOf(AuthUtils.getUser().getUserId()));
|
||||
return extChartViewMapper.search(chartViewRequest);
|
||||
@ -268,7 +249,7 @@ public class ChartViewService {
|
||||
//仪表板编辑页面 从缓存表中取数据 缓存表中没有数据则进行插入
|
||||
result = extChartViewMapper.searchOneFromCache(id);
|
||||
if (result == null) {
|
||||
extChartViewMapper.copyToCache(id);
|
||||
chartViewCacheService.refreshCache(id);
|
||||
result = extChartViewMapper.searchOneFromCache(id);
|
||||
}
|
||||
} else {
|
||||
@ -1047,8 +1028,9 @@ public class ChartViewService {
|
||||
public String chartCopy(String id, String panelId) {
|
||||
String newChartId = UUID.randomUUID().toString();
|
||||
extChartViewMapper.chartCopy(newChartId, id, panelId);
|
||||
extChartViewMapper.copyCache(id,newChartId);
|
||||
extPanelGroupExtendDataMapper.copyExtendData(id,newChartId,panelId);
|
||||
extChartViewMapper.copyToCache(newChartId);
|
||||
chartViewCacheService.refreshCache(id);
|
||||
return newChartId;
|
||||
}
|
||||
|
||||
@ -1082,9 +1064,4 @@ public class ChartViewService {
|
||||
extChartViewMapper.deleteCacheWithPanel(panelId);
|
||||
}
|
||||
|
||||
public void resetViewCache(String viewId) {
|
||||
extChartViewMapper.deleteViewCache(viewId);
|
||||
|
||||
extChartViewMapper.copyToCache(viewId);
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import io.dataease.base.mapper.DatasetGroupMapper;
|
||||
import io.dataease.base.mapper.ext.ExtDataSetGroupMapper;
|
||||
import io.dataease.commons.constants.AuthConstants;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.SysAuthConstants;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.commons.utils.BeanUtils;
|
||||
import io.dataease.commons.utils.TreeUtils;
|
||||
@ -54,8 +55,10 @@ public class DataSetGroupService {
|
||||
datasetGroup.setCreateBy(AuthUtils.getUser().getUsername());
|
||||
datasetGroup.setCreateTime(System.currentTimeMillis());
|
||||
datasetGroupMapper.insert(datasetGroup);
|
||||
String userName = AuthUtils.getUser().getUsername();
|
||||
// 清理权限缓存
|
||||
CacheUtils.removeAll(AuthConstants.USER_PERMISSION_CACHE_NAME);
|
||||
sysAuthService.copyAuth(datasetGroup.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET);
|
||||
} else {
|
||||
datasetGroupMapper.updateByPrimaryKeySelective(datasetGroup);
|
||||
}
|
||||
|
@ -33,6 +33,7 @@ import io.dataease.provider.datasource.JdbcProvider;
|
||||
import io.dataease.provider.DDLProvider;
|
||||
import io.dataease.provider.QueryProvider;
|
||||
import io.dataease.service.engine.EngineService;
|
||||
import io.dataease.service.sys.SysAuthService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -102,6 +103,8 @@ public class DataSetTableService {
|
||||
private PermissionService permissionService;
|
||||
@Resource
|
||||
private EngineService engineService;
|
||||
@Resource
|
||||
private SysAuthService sysAuthService;
|
||||
|
||||
private static boolean isUpdatingDatasetTableStatus = false;
|
||||
private static final String lastUpdateTime = "${__last_update_time__}";
|
||||
@ -261,6 +264,10 @@ public class DataSetTableService {
|
||||
datasetTable.setCreateBy(AuthUtils.getUser().getUsername());
|
||||
datasetTable.setCreateTime(System.currentTimeMillis());
|
||||
int insert = datasetTableMapper.insert(datasetTable);
|
||||
// 清理权限缓存
|
||||
CacheUtils.removeAll(AuthConstants.USER_PERMISSION_CACHE_NAME);
|
||||
sysAuthService.copyAuth(datasetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET);
|
||||
|
||||
// 添加表成功后,获取当前表字段和类型,抽象到dataease数据库
|
||||
if (insert == 1) {
|
||||
saveTableField(datasetTable);
|
||||
|
@ -11,6 +11,7 @@ import io.dataease.base.mapper.DatasourceMapper;
|
||||
import io.dataease.base.mapper.ext.ExtDataSourceMapper;
|
||||
import io.dataease.base.mapper.ext.query.GridExample;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.SysAuthConstants;
|
||||
import io.dataease.commons.exception.DEException;
|
||||
import io.dataease.commons.model.AuthURD;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
@ -34,6 +35,7 @@ import io.dataease.provider.datasource.ApiProvider;
|
||||
import io.dataease.provider.datasource.DatasourceProvider;
|
||||
import io.dataease.service.dataset.DataSetGroupService;
|
||||
import io.dataease.service.message.DeMsgutil;
|
||||
import io.dataease.service.sys.SysAuthService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -57,6 +59,8 @@ public class DatasourceService {
|
||||
private DataSetGroupService dataSetGroupService;
|
||||
@Resource
|
||||
private CommonThreadPool commonThreadPool;
|
||||
@Resource
|
||||
private SysAuthService sysAuthService;
|
||||
private static List<String> dsTypes = Arrays.asList("TiDB", "StarRocks", "excel", "mysql", "hive", "impala", "mariadb", "ds_doris", "pg", "sqlServer", "oracle", "mongo", "ck", "db2", "es", "redshift", "api");
|
||||
|
||||
@DeCleaner(DePermissionType.DATASOURCE)
|
||||
@ -73,6 +77,7 @@ public class DatasourceService {
|
||||
checkAndUpdateDatasourceStatus(datasource);
|
||||
datasourceMapper.insertSelective(datasource);
|
||||
handleConnectionPool(datasource, "add");
|
||||
sysAuthService.copyAuth(datasource.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASOURCE);
|
||||
return datasource;
|
||||
}
|
||||
|
||||
|
@ -6,10 +6,7 @@ import io.dataease.auth.annotation.DeCleaner;
|
||||
import io.dataease.base.domain.*;
|
||||
import io.dataease.base.mapper.*;
|
||||
import io.dataease.base.mapper.ext.*;
|
||||
import io.dataease.commons.constants.AuthConstants;
|
||||
import io.dataease.commons.constants.CommonConstants;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.PanelConstants;
|
||||
import io.dataease.commons.constants.*;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.commons.utils.LogUtil;
|
||||
import io.dataease.commons.utils.TreeUtils;
|
||||
@ -31,6 +28,7 @@ import io.dataease.service.dataset.DataSetTableService;
|
||||
import io.dataease.service.sys.SysAuthService;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.pentaho.di.core.util.UUIDUtil;
|
||||
import org.slf4j.Logger;
|
||||
@ -94,7 +92,6 @@ public class PanelGroupService {
|
||||
@Resource
|
||||
private ExtPanelGroupExtendDataMapper extPanelGroupExtendDataMapper;
|
||||
|
||||
|
||||
public List<PanelGroupDTO> tree(PanelGroupRequest panelGroupRequest) {
|
||||
String userId = String.valueOf(AuthUtils.getUser().getUserId());
|
||||
panelGroupRequest.setUserId(userId);
|
||||
@ -110,22 +107,21 @@ public class PanelGroupService {
|
||||
}
|
||||
|
||||
@DeCleaner(DePermissionType.PANEL)
|
||||
// @Transactional
|
||||
public PanelGroup saveOrUpdate(PanelGroupRequest request) {
|
||||
String userName = AuthUtils.getUser().getUsername();
|
||||
String panelId = request.getId();
|
||||
if(StringUtils.isNotEmpty(panelId)){
|
||||
panelViewService.syncPanelViews(request);
|
||||
}
|
||||
if (StringUtils.isEmpty(panelId)) {
|
||||
// 新建
|
||||
if (StringUtils.isEmpty(panelId)) { // 新建
|
||||
checkPanelName(request.getName(), request.getPid(), PanelConstants.OPT_TYPE_INSERT, null, request.getNodeType());
|
||||
panelId = newPanel(request);
|
||||
panelGroupMapper.insert(request);
|
||||
// 清理权限缓存
|
||||
clearPermissionCache();
|
||||
} else if ("toDefaultPanel".equals(request.getOptType())) {
|
||||
sysAuthService.copyAuth(panelId, SysAuthConstants.AUTH_SOURCE_TYPE_PANEL);
|
||||
} else if ("toDefaultPanel".equals(request.getOptType())) { // 转存为默认仪表板
|
||||
panelId = UUID.randomUUID().toString();
|
||||
// 转存为默认仪表板
|
||||
PanelGroupWithBLOBs newDefaultPanel = panelGroupMapper.selectByPrimaryKey(request.getId());
|
||||
newDefaultPanel.setPanelType(PanelConstants.PANEL_TYPE_SYSTEM);
|
||||
newDefaultPanel.setNodeType(PanelConstants.PANEL_NODE_TYPE_PANEL);
|
||||
@ -139,10 +135,12 @@ public class PanelGroupService {
|
||||
panelGroupMapper.insertSelective(newDefaultPanel);
|
||||
// 清理权限缓存
|
||||
clearPermissionCache();
|
||||
sysAuthService.copyAuth(panelId, SysAuthConstants.AUTH_SOURCE_TYPE_PANEL);
|
||||
} else if ("copy".equals(request.getOptType())) {
|
||||
panelId = this.panelGroupCopy(request, null, true);
|
||||
// 清理权限缓存
|
||||
clearPermissionCache();
|
||||
sysAuthService.copyAuth(panelId, SysAuthConstants.AUTH_SOURCE_TYPE_PANEL);
|
||||
} else if ("move".equals(request.getOptType())) {
|
||||
PanelGroupWithBLOBs panelInfo = panelGroupMapper.selectByPrimaryKey(request.getId());
|
||||
if (panelInfo.getPid().equalsIgnoreCase(request.getPid())) {
|
||||
@ -447,5 +445,4 @@ public class PanelGroupService {
|
||||
CacheUtils.removeAll(AuthConstants.DEPT_PANEL_NAME);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -20,4 +20,9 @@ public class SysAuthService {
|
||||
}
|
||||
}
|
||||
|
||||
public void copyAuth(String authSource,String authSourceType){
|
||||
String userName = AuthUtils.getUser().getUsername();
|
||||
extSysAuthMapper.copyAuth(authSource,authSourceType,userName);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -101,9 +101,7 @@ ADD COLUMN `copy_from` varchar(255) NULL COMMENT '复制来源' AFTER `update_ti
|
||||
ADD COLUMN `copy_id` varchar(255) NULL COMMENT '复制ID' AFTER `copy_from`;
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Function structure for copy_auth
|
||||
-- ----------------------------
|
||||
|
||||
DROP FUNCTION IF EXISTS `copy_auth`;
|
||||
delimiter ;;
|
||||
CREATE FUNCTION `copy_auth`(authSource varchar(255),authSourceType varchar(255),authUser varchar(255))
|
||||
@ -197,7 +195,7 @@ SELECT
|
||||
FROM
|
||||
sys_auth
|
||||
WHERE
|
||||
auth_source IN (
|
||||
auth_source = (
|
||||
SELECT
|
||||
pid
|
||||
FROM
|
||||
@ -206,7 +204,9 @@ WHERE
|
||||
id = authSource
|
||||
AND model_type = authSourceType
|
||||
)
|
||||
AND auth_source_type = authSourceType;
|
||||
AND auth_source_type = authSourceType
|
||||
and concat(auth_target,'-',auth_target_type) !=CONCAT(userId,'-','user');
|
||||
|
||||
INSERT INTO sys_auth_detail (
|
||||
id,
|
||||
auth_id,
|
||||
@ -250,6 +250,28 @@ END
|
||||
;;
|
||||
delimiter ;
|
||||
|
||||
-- ----------------------------
|
||||
-- Function structure for delete_auth_source
|
||||
-- ----------------------------
|
||||
DROP FUNCTION IF EXISTS `delete_auth_source`;
|
||||
delimiter ;;
|
||||
CREATE FUNCTION `delete_auth_source`(authSource varchar(255),authSourceType varchar(255))
|
||||
RETURNS varchar(255) CHARSET utf8mb4
|
||||
READS SQL DATA
|
||||
BEGIN
|
||||
|
||||
delete from sys_auth_detail where auth_id in (
|
||||
select id from sys_auth where sys_auth.auth_source=authSource and sys_auth.auth_source_type=authSourceType
|
||||
);
|
||||
|
||||
delete from sys_auth where sys_auth.auth_source=authSource and sys_auth.auth_source_type=authSourceType;
|
||||
|
||||
RETURN 'success';
|
||||
|
||||
END
|
||||
;;
|
||||
delimiter ;
|
||||
|
||||
INSERT INTO `my_plugin`(`plugin_id`, `name`, `store`, `free`, `cost`, `category`, `descript`, `version`, `install_type`, `creator`, `load_mybatis`, `release_time`, `install_time`, `module_name`, `icon`) VALUES (3, '选项卡插件', 'default', 0, 20000, 'panel', '选项卡插件', '1.0-SNAPSHOT', NULL, 'fit2cloud-chenyw', 0, NULL, NULL, 'dataease-extensions-tabs-backend', NULL);
|
||||
|
||||
ALTER TABLE `panel_link_jump_info`
|
||||
@ -336,3 +358,8 @@ CREATE TABLE `panel_outer_params_target_view_info` (
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
update `my_plugin` set `name` = 'X-Pack默认插件' where `plugin_id` = 1;
|
||||
update `my_plugin` set `module_name` = 'view-bubblemap-backend' where `plugin_id` = 2;
|
||||
|
||||
DROP TRIGGER `new_auth_panel`;
|
||||
DROP TRIGGER `new_auth_dataset_group`;
|
||||
DROP TRIGGER `new_auth_dataset_table`;
|
||||
DROP TRIGGER `new_auth_link`;
|
||||
|
@ -244,8 +244,6 @@ export default {
|
||||
'picture-add': [
|
||||
'borderStyle',
|
||||
'borderWidth',
|
||||
'borderRadius',
|
||||
'opacity',
|
||||
'borderColor',
|
||||
'hyperlinks'
|
||||
],
|
||||
@ -254,15 +252,12 @@ export default {
|
||||
'fontSize',
|
||||
'fontWeight',
|
||||
'letterSpacing',
|
||||
'color',
|
||||
'backgroundColor'
|
||||
'color'
|
||||
],
|
||||
// tab组件显示的属性
|
||||
'de-tabs': [
|
||||
'borderStyle',
|
||||
'borderWidth',
|
||||
'borderRadius',
|
||||
'opacity',
|
||||
'borderColor',
|
||||
'deTabStyle'
|
||||
],
|
||||
@ -270,20 +265,14 @@ export default {
|
||||
'rect-shape': [
|
||||
'borderStyle',
|
||||
'borderWidth',
|
||||
'borderRadius',
|
||||
'opacity',
|
||||
'borderColor',
|
||||
'backgroundColor'
|
||||
'borderColor'
|
||||
],
|
||||
// 时间组件显示的属性
|
||||
'de-show-date': [
|
||||
'textAlign',
|
||||
'fontSize',
|
||||
'fontWeight',
|
||||
'opacity',
|
||||
'borderRadius',
|
||||
'color',
|
||||
'backgroundColor',
|
||||
'date-format',
|
||||
'time_margin',
|
||||
'padding'
|
||||
@ -295,10 +284,7 @@ export default {
|
||||
'fontSize',
|
||||
'fontWeight',
|
||||
'letterSpacing',
|
||||
'opacity',
|
||||
'borderRadius',
|
||||
'color',
|
||||
'backgroundColor',
|
||||
'hyperlinks'
|
||||
],
|
||||
'de-video': [
|
||||
@ -405,9 +391,9 @@ export default {
|
||||
this.innerOpacity = this.styleInfo['opacity'] * 100
|
||||
}
|
||||
if (this.curComponent.type === 'v-text') {
|
||||
this.mainWidthOffset = 600
|
||||
this.mainWidthOffset = 400
|
||||
} else if (this.curComponent.type === 'de-show-date') {
|
||||
this.mainWidthOffset = 600
|
||||
this.mainWidthOffset = 350
|
||||
} else {
|
||||
this.mainWidthOffset = document.getElementById('main-attr').offsetWidth - 50
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ export default {
|
||||
return this.canvasStyleData.panel.resultCount
|
||||
},
|
||||
innerPadding() {
|
||||
return this.element.commonBackground.innerPadding || 0
|
||||
return this.element.commonBackground && this.element.commonBackground.innerPadding || 0
|
||||
},
|
||||
...mapState([
|
||||
'canvasStyleData',
|
||||
@ -758,9 +758,11 @@ export default {
|
||||
this.chart.customStyle = param.viewInfo.customStyle
|
||||
this.chart.senior = param.viewInfo.senior
|
||||
this.chart.title = param.viewInfo.title
|
||||
this.chart.stylePriority = param.viewInfo.stylePriority
|
||||
this.sourceCustomAttrStr = this.chart.customAttr
|
||||
this.sourceCustomStyleStr = this.chart.customStyle
|
||||
this.mergeScale()
|
||||
this.mergeStyle()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -208,9 +208,7 @@ const list = [
|
||||
letterSpacing: 0,
|
||||
textAlign: 'center',
|
||||
color: '#000000',
|
||||
verticalAlign: 'middle',
|
||||
backgroundColor: '#ffffff',
|
||||
borderRadius: 0
|
||||
verticalAlign: 'middle'
|
||||
},
|
||||
hyperlinks: HYPERLINKS,
|
||||
x: 1,
|
||||
@ -255,8 +253,7 @@ const list = [
|
||||
mobileStyle: BASE_MOBILE_STYLE,
|
||||
style: {
|
||||
width: 300,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
x: 1,
|
||||
y: 1,
|
||||
@ -296,9 +293,7 @@ const list = [
|
||||
height: 200,
|
||||
borderStyle: 'solid',
|
||||
borderWidth: 0,
|
||||
borderColor: '#000000',
|
||||
backgroundColor: '#ffffff',
|
||||
borderRadius: 0
|
||||
borderColor: '#000000'
|
||||
},
|
||||
x: 1,
|
||||
y: 1,
|
||||
@ -317,8 +312,7 @@ const list = [
|
||||
mobileStyle: BASE_MOBILE_STYLE,
|
||||
style: {
|
||||
width: 300,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
x: 1,
|
||||
y: 36,
|
||||
@ -341,9 +335,7 @@ const list = [
|
||||
height: 200,
|
||||
borderStyle: 'solid',
|
||||
borderWidth: 0,
|
||||
borderColor: '#000000',
|
||||
backgroundColor: '#ffffff',
|
||||
borderRadius: 0
|
||||
borderColor: '#000000'
|
||||
},
|
||||
options: {
|
||||
tabList: [{
|
||||
@ -377,10 +369,8 @@ const list = [
|
||||
textAlign: 'center',
|
||||
color: '#000000',
|
||||
verticalAlign: 'middle',
|
||||
backgroundColor: '#ffffff',
|
||||
borderStyle: 'solid',
|
||||
borderColor: '#000000',
|
||||
borderRadius: 0,
|
||||
time_margin: 0,
|
||||
padding: 10
|
||||
},
|
||||
@ -408,8 +398,7 @@ const list = [
|
||||
mobileStyle: BASE_MOBILE_STYLE,
|
||||
style: {
|
||||
width: 400,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
frameLinks: FRAMELINKS,
|
||||
x: 1,
|
||||
@ -430,8 +419,7 @@ const list = [
|
||||
hyperlinks: HYPERLINKS,
|
||||
style: {
|
||||
width: 400,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
x: 1,
|
||||
y: 1,
|
||||
@ -450,8 +438,7 @@ const list = [
|
||||
mobileStyle: BASE_MOBILE_STYLE,
|
||||
style: {
|
||||
width: 400,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
videoLinks: VIDEOLINKS,
|
||||
x: 1,
|
||||
@ -471,8 +458,7 @@ const list = [
|
||||
mobileStyle: BASE_MOBILE_STYLE,
|
||||
style: {
|
||||
width: 400,
|
||||
height: 200,
|
||||
borderRadius: ''
|
||||
height: 200
|
||||
},
|
||||
streamMediaLinks: STREAMMEDIALINKS,
|
||||
x: 1,
|
||||
|
@ -142,7 +142,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="chart.type" :label="$t('chart.space_split')" class="form-item">
|
||||
<el-input-number v-model="sizeForm.spaceSplit" min="0" size="mini" @change="changeBarSizeCase" />
|
||||
<el-input-number v-model="sizeForm.spaceSplit" :min="0" size="mini" @change="changeBarSizeCase" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
@ -168,7 +168,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="chart.type" :label="$t('chart.space_split')" class="form-item">
|
||||
<el-input-number v-model="sizeForm.spaceSplit" min="0" size="mini" @change="changeBarSizeCase" />
|
||||
<el-input-number v-model="sizeForm.spaceSplit" :min="0" size="mini" @change="changeBarSizeCase" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
@ -1749,6 +1749,7 @@ export default {
|
||||
view.customFilter = JSON.stringify(this.view.customFilter)
|
||||
view.senior = JSON.stringify(this.view.senior)
|
||||
view.title = this.view.title
|
||||
view.stylePriority = this.view.stylePriority
|
||||
// view.data = this.data
|
||||
this.chart = view
|
||||
|
||||
|
@ -46,7 +46,6 @@
|
||||
<svg-icon icon-class="panel" class="ds-icon-scene" />
|
||||
</span>
|
||||
<span v-else>
|
||||
<svg-icon :icon-class="data.modelInnerType" style="width: 14px;height: 14px" />
|
||||
<svg-icon :icon-class="data.isPlugin ? ('/api/pluginCommon/staticInfo/' + data.modelInnerType + '/svg') : data.modelInnerType" style="width: 14px;height: 14px" />
|
||||
</span>
|
||||
<span style="margin-left: 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" :title="data.name">{{ data.name }}</span>
|
||||
|
Loading…
Reference in New Issue
Block a user