Unverified 提交 3fa7f4cb authored 作者: 王嘉豪's avatar 王嘉豪 提交者: GitHub

Merge pull request #2181 from dataease/dev

Dev
...@@ -16,3 +16,148 @@ INSERT INTO `system_parameter`(`param_key`, `param_value`, `type`, `sort`) VALUE ...@@ -16,3 +16,148 @@ INSERT INTO `system_parameter`(`param_key`, `param_value`, `type`, `sort`) VALUE
ALTER TABLE `my_plugin` ADD COLUMN `ds_type` VARCHAR(45) NULL COMMENT '数据源类型' AFTER `icon`; ALTER TABLE `my_plugin` ADD COLUMN `ds_type` VARCHAR(45) NULL COMMENT '数据源类型' AFTER `icon`;
INSERT INTO `my_plugin` (`plugin_id`, `name`, `store`, `free`, `cost`, `category`, `descript`, `version`, `creator`, `load_mybatis`, `install_time`, `module_name`, `ds_type`) VALUES ('5', 'Maxcompute 数据源插件', 'default', '0', '0', 'datasource', 'Maxcompute 插件', '1.0-SNAPSHOT', 'DATAEASE', '0', '1650765903630', 'maxcompute-backend', 'maxcompute'); INSERT INTO `my_plugin` (`plugin_id`, `name`, `store`, `free`, `cost`, `category`, `descript`, `version`, `creator`, `load_mybatis`, `install_time`, `module_name`, `ds_type`) VALUES ('5', 'Maxcompute 数据源插件', 'default', '0', '0', 'datasource', 'Maxcompute 插件', '1.0-SNAPSHOT', 'DATAEASE', '0', '1650765903630', 'maxcompute-backend', 'maxcompute');
DROP FUNCTION IF EXISTS `copy_auth`;
delimiter ;;
CREATE FUNCTION `copy_auth`(authSource varchar(255),authSourceType varchar(255),authUser varchar(255))
RETURNS varchar(255) CHARSET utf8mb4
READS SQL DATA
BEGIN
DECLARE authId varchar(255);
DECLARE userId varchar(255);
DECLARE copyId varchar(255);
DECLARE selectPid varchar(255);
select uuid() into authId;
select uuid() into copyId;
select max(sys_user.user_id) into userId from sys_user where username= authUser;
SELECT pid into selectPid FROM v_auth_model WHERE id = authSource AND model_type = authSourceType;
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;
INSERT INTO sys_auth (
id,
auth_source,
auth_source_type,
auth_target,
auth_target_type,
auth_time,
auth_user
)
VALUES
(
authId,
authSource,
authSourceType,
userId,
'user',
unix_timestamp(
now())* 1000,'auto');
INSERT INTO sys_auth_detail (
id,
auth_id,
privilege_name,
privilege_type,
privilege_value,
privilege_extend,
remark,
create_user,
create_time
) SELECT
uuid() AS id,
authId AS auth_id,
sys_auth_detail.privilege_name,
sys_auth_detail.privilege_type,
1,
sys_auth_detail.privilege_extend,
sys_auth_detail.remark,
'auto' AS create_user,
unix_timestamp(now())* 1000 AS create_time
FROM
sys_auth_detail where auth_id =authSourceType;
/**继承第一父级权限**/
insert into sys_auth(
id,
auth_source,
auth_source_type,
auth_target,
auth_target_type,
auth_time,
auth_user,
copy_from,
copy_id
)
SELECT
uuid() as id,
authSource as auth_source,
authSourceType as auth_source_type,
auth_target,
auth_target_type,
NOW()* 1000 as auth_time,
'auto' as auth_user,
id as copy_from,
copyId as copy_id
FROM
sys_auth
WHERE
auth_source =selectPid
AND auth_source_type = authSourceType
and concat(auth_target,'-',auth_target_type) !=CONCAT(userId,'-','user');
INSERT INTO sys_auth_detail (
id,
auth_id,
privilege_name,
privilege_type,
privilege_value,
privilege_extend,
remark,
create_user,
create_time,
copy_from,
copy_id
) SELECT
uuid() AS id,
sa_copy.t_id AS auth_id,
sys_auth_detail.privilege_name,
sys_auth_detail.privilege_type,
sys_auth_detail.privilege_value,
sys_auth_detail.privilege_extend,
sys_auth_detail.remark,
'auto' AS create_user,
unix_timestamp(
now())* 1000 AS create_time,
id AS copy_from,
copyId AS copy_id
FROM
sys_auth_detail
INNER JOIN (
SELECT
id AS t_id,
copy_from AS s_id
FROM
sys_auth
WHERE
copy_id = copyId
) sa_copy ON sys_auth_detail.auth_id = sa_copy.s_id;
RETURN 'success';
END
;;
delimiter ;
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
{{ $t('chart.export') }}<i class="el-icon-download" /> {{ $t('chart.export') }}<i class="el-icon-download" />
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="exportExcel"><svg-icon icon-class="ds-excel" class="ds-icon-excel" />Excle</el-dropdown-item> <el-dropdown-item @click.native="exportExcel"><svg-icon icon-class="ds-excel" class="ds-icon-excel" />Excel</el-dropdown-item>
<el-dropdown-item v-if="showExportImgButton" icon="el-icon-picture-outline" @click.native="exportViewImg">{{ $t('chart.image') }}</el-dropdown-item> <el-dropdown-item v-if="showExportImgButton" icon="el-icon-picture-outline" @click.native="exportViewImg">{{ $t('chart.image') }}</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
{{ $t('chart.export') }}<i class="el-icon-download" /> {{ $t('chart.export') }}<i class="el-icon-download" />
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="exportExcel"><svg-icon icon-class="ds-excel" class="ds-icon-excel" />Excle</el-dropdown-item> <el-dropdown-item @click.native="exportExcel"><svg-icon icon-class="ds-excel" class="ds-icon-excel" />Excel</el-dropdown-item>
<el-dropdown-item v-if="showExportImgButton" icon="el-icon-picture-outline" @click.native="exportViewImg">{{ $t('chart.image') }}</el-dropdown-item> <el-dropdown-item v-if="showExportImgButton" icon="el-icon-picture-outline" @click.native="exportViewImg">{{ $t('chart.image') }}</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
......
...@@ -2,11 +2,15 @@ ...@@ -2,11 +2,15 @@
<el-row class="main-frame"> <el-row class="main-frame">
<div v-if="element.frameLinks.src" class="main-frame"> <div v-if="element.frameLinks.src" class="main-frame">
<iframe v-if="frameShow" id="iframe" :src="element.frameLinks.src" scrolling="auto" frameborder="0" class="main-frame" @load="loaded" @error="onError" /> <iframe v-if="frameShow" id="iframe" :src="element.frameLinks.src" scrolling="auto" frameborder="0" class="main-frame" @load="loaded" @error="onError" />
<div v-if="editMode==='edit'" class="frame-mask"> <div v-if="editMode==='edit'" class="frame-mask edit-mask">
<span style="opacity: 1;"> <span style="opacity: 1;">
<span style="font-weight: bold;color: lawngreen;">{{ $t('panel.edit_web_tips') }}</span> <span style="font-weight: bold;color: lawngreen;">{{ $t('panel.edit_web_tips') }}</span>
</span> </span>
</div> </div>
<!--Here are three 15px wide masks(left top right) for easy clicking on the display jump button-->
<div v-if="editMode!=='edit'" class="frame-mask preview-top-mask" />
<div v-if="editMode!=='edit'" class="frame-mask preview-right-mask" />
<div v-if="editMode!=='edit'" class="frame-mask preview-left-mask" />
<div v-if="screenShot" class="frame-mask" /> <div v-if="screenShot" class="frame-mask" />
</div> </div>
<div v-else class="info-class"> <div v-else class="info-class">
...@@ -100,17 +104,34 @@ export default { ...@@ -100,17 +104,34 @@ export default {
} }
.frame-mask { .frame-mask {
display: flex; display: flex;
height: 100%!important;
width: 100% !important;
background-color: #5c5e61;
opacity: 0.5; opacity: 0.5;
position:absolute; position:absolute;
top:0px; top:0px;
left: 0px; z-index: 1;
z-index: 2;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.edit-mask{
left: 0px;
background-color: #5c5e61;
height: 100%!important;
width: 100% !important;
}
.preview-top-mask{
left: 0px;
height: 15px!important;
width: 100% !important;
}
.preview-right-mask{
right: 0px;
height: 100%!important;
width: 15px !important;
}
.preview-left-mask{
left: 0px;
height: 100%!important;
width: 15px !important;
}
</style> </style>
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
computed: { computed: {
showChartCanvas() { showChartCanvas() {
return !this.chart.type.includes('table') return this.chart.type !== 'table-normal' && this.chart.type !== 'table-info'
}, },
customStyle() { customStyle() {
let style = { let style = {
......
...@@ -227,6 +227,7 @@ const list = [ ...@@ -227,6 +227,7 @@ const list = [
icon: 'wenben', icon: 'wenben',
type: 'v-text', type: 'v-text',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 400, width: 400,
height: 100, height: 100,
...@@ -238,7 +239,6 @@ const list = [ ...@@ -238,7 +239,6 @@ const list = [
color: '#000000', color: '#000000',
verticalAlign: 'middle' verticalAlign: 'middle'
}, },
hyperlinks: HYPERLINKS,
x: 1, x: 1,
y: 1, y: 1,
sizex: 10, sizex: 10,
...@@ -279,6 +279,7 @@ const list = [ ...@@ -279,6 +279,7 @@ const list = [
type: 'Picture', type: 'Picture',
propValue: require('@/components/canvas/assets/title.jpg'), propValue: require('@/components/canvas/assets/title.jpg'),
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 300, width: 300,
height: 200 height: 200
...@@ -298,6 +299,7 @@ const list = [ ...@@ -298,6 +299,7 @@ const list = [
type: 'Picture', type: 'Picture',
propValue: require('@/components/canvas/assets/bg-kj-1.jpg'), propValue: require('@/components/canvas/assets/bg-kj-1.jpg'),
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
borderStyle: 'solid', borderStyle: 'solid',
borderWidth: 0, borderWidth: 0,
...@@ -316,6 +318,7 @@ const list = [ ...@@ -316,6 +318,7 @@ const list = [
icon: 'juxing', icon: 'juxing',
type: 'rect-shape', type: 'rect-shape',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 300, width: 300,
height: 200, height: 200,
...@@ -338,6 +341,7 @@ const list = [ ...@@ -338,6 +341,7 @@ const list = [
icon: 'juxing', icon: 'juxing',
type: 'view', type: 'view',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 300, width: 300,
height: 200 height: 200
...@@ -358,6 +362,7 @@ const list = [ ...@@ -358,6 +362,7 @@ const list = [
icon: 'tabs', icon: 'tabs',
type: 'de-tabs', type: 'de-tabs',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 200, width: 200,
height: 200, height: 200,
...@@ -387,6 +392,7 @@ const list = [ ...@@ -387,6 +392,7 @@ const list = [
icon: 'shijian', icon: 'shijian',
type: 'de-show-date', type: 'de-show-date',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 250, width: 250,
height: 100, height: 100,
...@@ -424,6 +430,7 @@ const list = [ ...@@ -424,6 +430,7 @@ const list = [
icon: 'iconfont icon-iframe', icon: 'iconfont icon-iframe',
defaultClass: 'text-filter', defaultClass: 'text-filter',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 400, width: 400,
height: 200 height: 200
...@@ -464,6 +471,7 @@ const list = [ ...@@ -464,6 +471,7 @@ const list = [
icon: 'iconfont icon-picture', icon: 'iconfont icon-picture',
defaultClass: 'text-filter', defaultClass: 'text-filter',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 400, width: 400,
height: 200 height: 200
...@@ -484,6 +492,7 @@ const list = [ ...@@ -484,6 +492,7 @@ const list = [
icon: 'iconfont icon-picture', icon: 'iconfont icon-picture',
defaultClass: 'text-filter', defaultClass: 'text-filter',
mobileStyle: BASE_MOBILE_STYLE, mobileStyle: BASE_MOBILE_STYLE,
hyperlinks: HYPERLINKS,
style: { style: {
width: 400, width: 400,
height: 200 height: 200
......
...@@ -307,8 +307,8 @@ export default { ...@@ -307,8 +307,8 @@ export default {
this.dataLoading = false this.dataLoading = false
}, 300) }, 300)
}) })
}, 500) }, 1500)
}, 0) }, 500)
}, },
downloadAsPDF() { downloadAsPDF() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论