From b8727f9b5a28876410304e740fa0227f528ec6f7 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Fri, 22 Jul 2022 13:20:13 +0800
Subject: [PATCH 01/19] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?=
=?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E9=A2=84=E8=A7=88=E7=95=8C=E9=9D=A2?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=AA=E8=A1=A8=E6=9D=BF=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E5=BC=B9=E5=87=BA=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/panel/PanelGroupService.java | 6 ++
.../main/resources/db/migration/V38__1.13.sql | 4 +
frontend/src/api/panel/panel.js | 6 +-
frontend/src/api/panel/shareProxy.js | 6 +-
.../src/components/DeViewSelect/index.vue | 6 +-
frontend/src/lang/en.js | 17 ++--
frontend/src/lang/tw.js | 15 ++--
frontend/src/lang/zh.js | 17 ++--
frontend/src/views/link/view/index.vue | 6 +-
frontend/src/views/panel/list/PanelList.vue | 6 +-
.../src/views/panel/list/PanelViewShow.vue | 18 +++-
.../panel/list/common/PanelDetailInfo.vue | 84 +++++++++++++++++++
12 files changed, 157 insertions(+), 34 deletions(-)
create mode 100644 frontend/src/views/panel/list/common/PanelDetailInfo.vue
diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
index 35eb934abb..5832c13c90 100644
--- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
+++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java
@@ -134,6 +134,8 @@ public class PanelGroupService {
public String update(PanelGroupRequest request) {
String panelId = request.getId();
+ request.setUpdateTime(System.currentTimeMillis());
+ request.setUpdateBy(AuthUtils.getUser().getUsername());
panelViewService.syncPanelViews(request);
if ("toDefaultPanel".equals(request.getOptType())) { // 转存为默认仪表板
panelId = UUID.randomUUID().toString();
@@ -146,6 +148,7 @@ public class PanelGroupService {
newDefaultPanel.setLevel(0);
newDefaultPanel.setSource(request.getId());
newDefaultPanel.setCreateBy(AuthUtils.getUser().getUsername());
+ newDefaultPanel.setCreateTime(System.currentTimeMillis());
checkPanelName(newDefaultPanel.getName(), newDefaultPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, newDefaultPanel.getId(), newDefaultPanel.getNodeType());
panelGroupMapper.insertSelective(newDefaultPanel);
// 清理权限缓存
@@ -177,6 +180,8 @@ public class PanelGroupService {
record.setName(request.getName());
record.setId(request.getId());
record.setPid(request.getPid());
+ record.setUpdateTime(request.getUpdateTime());
+ record.setUpdateBy(request.getUpdateBy());
panelGroupMapper.updateByPrimaryKeySelective(record);
DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, sourceType, request.getId(), panelInfo.getPid(), request.getPid(), sourceType);
@@ -336,6 +341,7 @@ public class PanelGroupService {
newPanel.setName(request.getName());
newPanel.setId(newPanelId);
newPanel.setCreateBy(AuthUtils.getUser().getUsername());
+ newPanel.setCreateTime(System.currentTimeMillis());
//TODO copy panelView
extPanelViewMapper.copyFromPanel(newPanelId, sourcePanelId, copyId);
//TODO 复制视图 chart_view
diff --git a/backend/src/main/resources/db/migration/V38__1.13.sql b/backend/src/main/resources/db/migration/V38__1.13.sql
index 4d771988dd..6161690bbf 100644
--- a/backend/src/main/resources/db/migration/V38__1.13.sql
+++ b/backend/src/main/resources/db/migration/V38__1.13.sql
@@ -71,3 +71,7 @@ INSERT INTO `sys_menu` (`menu_id`, `pid`, `sub_count`, `type`, `title`, `name`,
INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALUES ('basic.templateAccessKey', 'dataease', 'text', NULL);
INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALUES ('basic.templateMarketUlr', 'https://dataease.io/templates', 'text', 4);
+
+ALTER TABLE `panel_group`
+ ADD COLUMN `update_by` varchar(255) NULL COMMENT '更新人' AFTER `status`,
+ADD COLUMN `update_time` bigint(13) NULL COMMENT '更新时间' AFTER `update_by`;
diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js
index d97c41b615..0827fa10b1 100644
--- a/frontend/src/api/panel/panel.js
+++ b/frontend/src/api/panel/panel.js
@@ -154,7 +154,11 @@ export function initPanelData(panelId, callback) {
name: response.data.name,
privileges: response.data.privileges,
sourcePanelName: response.data.sourcePanelName,
- status: response.data.status
+ status: response.data.status,
+ createBy: response.data.createBy,
+ createTime: response.data.createTime,
+ updateBy: response.data.updateBy,
+ updateTime: response.data.updateTime
})
// 刷新联动信息
getPanelAllLinkageInfo(panelId).then(rsp => {
diff --git a/frontend/src/api/panel/shareProxy.js b/frontend/src/api/panel/shareProxy.js
index c47d5b3fb4..f171f73429 100644
--- a/frontend/src/api/panel/shareProxy.js
+++ b/frontend/src/api/panel/shareProxy.js
@@ -13,7 +13,11 @@ export function proxyInitPanelData(panelId, proxy, callback) {
name: response.data.name,
privileges: response.data.privileges,
proxy: proxy.userId,
- status: response.data.status
+ status: response.data.status,
+ createBy: response.data.createBy,
+ createTime: response.data.createTime,
+ updateBy: response.data.updateBy,
+ updateTime: response.data.updateTime
})
// 刷新联动信息
getPanelAllLinkageInfo(panelId, proxy).then(rsp => {
diff --git a/frontend/src/components/DeViewSelect/index.vue b/frontend/src/components/DeViewSelect/index.vue
index 40160056f6..405419110e 100644
--- a/frontend/src/components/DeViewSelect/index.vue
+++ b/frontend/src/components/DeViewSelect/index.vue
@@ -133,7 +133,11 @@ export default {
name: response.data.name,
privileges: response.data.privileges,
sourcePanelName: response.data.sourcePanelName,
- status: response.data.status
+ status: response.data.status,
+ createBy: response.data.createBy,
+ createTime: response.data.createTime,
+ updateBy: response.data.updateBy,
+ updateTime: response.data.updateTime
}
this.$store.dispatch('panel/setPanelInfo', this.panelInfo)
panelDataPrepare(JSON.parse(response.data.panelData), JSON.parse(response.data.panelStyle), rsp => {
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index c6d407daaa..d75a96b062 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -132,7 +132,7 @@ export default {
},
commons: {
manage_member: 'Managing members',
- user_confirm_remove_cancel:'Are you sure you want to remove the user from the role?',
+ user_confirm_remove_cancel: 'Are you sure you want to remove the user from the role?',
confirm_remove_cancel: 'Are you sure to delete the role?',
default_value: 'Default Value',
params_value: 'Param Value',
@@ -623,12 +623,11 @@ export default {
can_not_move: `Can't be removed, keep at least one administrator`,
manage_can_not_move: 'Administrator is a preset role of the system. By default, he has all the permissions of system management and cannot be deleted',
manage_can_not_update: 'Administrator is a preset role of the system. By default, he has all the permissions of system management and cannot be edit',
- role_name: 'Role name',
role_description: 'Role description',
editer_role: 'Edit role',
add_role: 'Add role',
role_name_exist: 'The role name already exists',
- search_by_role: 'Search by role name',
+ search_by_role: 'Search by role name'
},
menu: {
parent_category: 'Parent Category',
@@ -667,7 +666,6 @@ export default {
member: 'member',
organization: 'organization',
add_user: 'Add user',
- search_by_name: 'Search by organization name',
sure_move_user: 'Are you sure to remove this user from the organization?',
move_success: 'Removed successfully',
user: 'user',
@@ -680,9 +678,8 @@ export default {
canot_delete: 'Cannot delete',
remove_user_first: 'Please remove all users in the organization before deleting the organization',
sure_delete_organization: 'Are you sure to delete this organization?',
- delete: 'delete',
add_child_org: 'Add sub organization',
- edite_organization: 'Edit organization',
+ edite_organization: 'Edit organization'
},
system_parameter_setting: {
mailbox_service_settings: 'Mail Settings',
@@ -1546,6 +1543,10 @@ export default {
sure_bt: 'Confirm'
},
panel: {
+ create_by: '创建人',
+ create_time: '创建时间',
+ update_by: '最近修改人',
+ update_time: '最近修改时间',
target_url: 'Target Url',
target_url_tips: 'You can click fields to splice URLs or parameters',
select_world: 'Select World',
@@ -1919,8 +1920,6 @@ export default {
column_permission: 'Column permission rule',
enable_column: 'Enable column permissions',
search_by_field: 'Search by field name',
- add_condition: 'Add condition',
- add_relationship: 'Add relationship',
filter_fields: 'Filter fields',
selct_filter_fields: 'Please select a filter field',
enter_keywords: 'Please enter keywords',
@@ -1934,7 +1933,7 @@ export default {
please_fill: 'Please fill in one line and add 500 at most. Duplicate options and added options will be automatically filtered when identifying and entering',
close: 'close',
add: 'add to',
- sure: 'determine',
+ sure: 'determine'
},
about: {
auth_to: 'Authorized to',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 49f37db3be..e5f2af74d9 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -624,12 +624,11 @@ export default {
can_not_move: '不可移除,至少保留一位管理員',
manage_can_not_move: '管理員是系統預置角色,默認擁有系統管理全部權限,無法刪除',
manage_can_not_update: '管理員是系統預置角色,默認擁有系統管理全部權限,無法編輯',
- role_name: '角色名稱',
role_description: '角色描述',
editer_role: '編輯角色',
add_role: '添加角色',
role_name_exist: '該角色名稱已存在',
- search_by_role: '通過角色名稱搜索',
+ search_by_role: '通過角色名稱搜索'
},
menu: {
parent_category: '上級目錄',
@@ -658,7 +657,6 @@ export default {
create_time: '創建日期',
create: '新建組織',
modify: '修改組織',
- delete: '刪除組織',
delete_confirm: '確定要刪除該組織嗎?',
input_name: '請輸入組織名稱',
select_organization: '請選擇組織',
@@ -668,7 +666,6 @@ export default {
member: '成員',
organization: '組織',
add_user: '添加用戶',
- search_by_name: '通過組織名稱搜索',
sure_move_user: '確定將該用戶從組織中移除嗎?',
move_success: '移除成功',
user: '用戶',
@@ -683,7 +680,7 @@ export default {
sure_delete_organization: '確定刪除該組織嗎?',
delete: '刪除',
add_child_org: '添加子組織',
- edite_organization: '編輯組織',
+ edite_organization: '編輯組織'
},
system_parameter_setting: {
mailbox_service_settings: '郵件設置',
@@ -1546,6 +1543,10 @@ export default {
sure_bt: '確定'
},
panel: {
+ create_by: '创建人',
+ create_time: '创建时间',
+ update_by: '最近修改人',
+ update_time: '最近修改时间',
target_url: '目标URL',
target_url_tips: '可以点击字段用来拼接URL或者参数',
select_world: '点击选择字段',
@@ -1930,8 +1931,6 @@ export default {
column_permission: '列權限規則',
enable_column: '啟用列權限',
search_by_field: '通過字段名稱搜索',
- add_condition: '添加條件',
- add_relationship: '添加關系',
filter_fields: '篩選字段',
selct_filter_fields: '請選擇篩選字段',
enter_keywords: '請輸關鍵字',
@@ -1945,7 +1944,7 @@ export default {
please_fill: '請一行填一個,最多添加500個,識別錄入時會自動過濾重復的選項和已經添加過的選項',
close: '關 閉',
add: '添 加',
- sure: '確 定',
+ sure: '確 定'
},
about: {
auth_to: '授權給',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 4a4e92425c..31cc4dd966 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -133,7 +133,7 @@ export default {
commons: {
manage_member: '管理成员',
confirm_remove_cancel: '确定删除该角色吗?',
- user_confirm_remove_cancel:'确定将该用户从角色中移除吗?',
+ user_confirm_remove_cancel: '确定将该用户从角色中移除吗?',
default_value: '默认值',
params_value: '参数值',
input_role_name: '请输入角色名称',
@@ -615,7 +615,6 @@ export default {
modify: '修改角色',
tips: '提示',
confirm_delete: '确认删除角色 ',
- role_name: '角色名称',
search_by_name: '按名称搜索',
pls_input_name: '请输入名称',
search_by_name_email: '通过姓名或邮箱搜索',
@@ -630,7 +629,7 @@ export default {
editer_role: '编辑角色',
add_role: '添加角色',
role_name_exist: '该角色名称已存在',
- search_by_role: '通过角色名称搜索',
+ search_by_role: '通过角色名称搜索'
},
menu: {
parent_category: '上级目录',
@@ -659,7 +658,6 @@ export default {
create_time: '创建日期',
create: '新建组织',
modify: '修改组织',
- delete: '删除组织',
delete_confirm: '确定要删除该组织吗?',
input_name: '请输入组织名称',
select_organization: '请选择组织',
@@ -669,7 +667,6 @@ export default {
member: '成员',
organization: '组织',
add_user: '添加用户',
- search_by_name: '通过组织名称搜索',
sure_move_user: '确定将该用户从组织中移除吗?',
move_success: '移除成功',
user: '用户',
@@ -684,7 +681,7 @@ export default {
sure_delete_organization: '确定删除该组织吗?',
delete: '删除',
add_child_org: '添加子组织',
- edite_organization: '编辑组织',
+ edite_organization: '编辑组织'
},
system_parameter_setting: {
mailbox_service_settings: '邮件设置',
@@ -1554,6 +1551,10 @@ export default {
sure_bt: '确定'
},
panel: {
+ create_by: '创建人',
+ create_time: '创建时间',
+ update_by: '最近修改人',
+ update_time: '最近修改时间',
target_url: '目标URL',
target_url_tips: '可以点击字段用来拼接URL或者参数',
select_world: '点击选择字段',
@@ -1931,8 +1932,6 @@ export default {
row_column: '行列权限设置',
row_permission: '行权限规则',
enable_row: '启用行权限',
- add_condition: '添加条件',
- add_relationship: '添加关系',
white_list: '白名单',
white_user_not: '以上权限规则对白名单用户不生效',
organization_or_role: '请选择组织或角色',
@@ -1954,7 +1953,7 @@ export default {
please_fill: '请一行填一个,最多添加500个,识别录入时会自动过滤重复的选项和已经添加过的选项',
close: '关 闭',
add: '添 加',
- sure: '确 定',
+ sure: '确 定'
},
about: {
auth_to: '授权给',
diff --git a/frontend/src/views/link/view/index.vue b/frontend/src/views/link/view/index.vue
index d4a041dc46..b6594b6714 100644
--- a/frontend/src/views/link/view/index.vue
+++ b/frontend/src/views/link/view/index.vue
@@ -57,7 +57,11 @@ export default {
id: res.data.id,
name: res.data.name,
privileges: res.data.privileges,
- status: res.data.status
+ status: res.data.status,
+ createBy: res.data.createBy,
+ createTime: res.data.createTime,
+ updateBy: res.data.updateBy,
+ updateTime: res.data.updateTime
}
this.$store.dispatch('panel/setPanelInfo', this.panelInfo)
diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue
index 34f34d36d7..0bfe88dfb4 100644
--- a/frontend/src/views/panel/list/PanelList.vue
+++ b/frontend/src/views/panel/list/PanelList.vue
@@ -721,7 +721,11 @@ export default {
name: data.name,
privileges: data.privileges,
sourcePanelName: data.sourcePanelName,
- status: data.status
+ status: data.status,
+ createBy: data.createBy,
+ createTime: data.createTime,
+ updateBy: data.updateBy,
+ updateTime: data.updateTime
})
bus.$emit('PanelSwitchComponent', { name: 'PanelEdit' })
},
diff --git a/frontend/src/views/panel/list/PanelViewShow.vue b/frontend/src/views/panel/list/PanelViewShow.vue
index 03076f4c60..623d570dfc 100644
--- a/frontend/src/views/panel/list/PanelViewShow.vue
+++ b/frontend/src/views/panel/list/PanelViewShow.vue
@@ -18,9 +18,20 @@
{{ panelInfo.name || '测试仪表板' }}
-
({{ $t('panel.default_panel_name') }}:{{ panelInfo.defaultPanelName }})
- ({{ $t('panel.source_panel_name') }}:{{ panelInfo.sourcePanelName }})
+ ({{ $t('panel.source_panel_name') }}:{{ panelInfo.sourcePanelName }})
+
+
+
+
@@ -157,10 +168,11 @@ import { initPanelData, updatePanelStatus } from '@/api/panel/panel'
import { proxyInitPanelData } from '@/api/panel/shareProxy'
import { dataURLToBlob } from '@/components/canvas/utils/utils'
import { findResourceAsBase64 } from '@/api/staticResource/staticResource'
+import PanelDetailInfo from "@/views/panel/list/common/PanelDetailInfo";
export default {
name: 'PanelViewShow',
- components: { Preview, SaveToTemplate, PDFPreExport, ShareHead },
+ components: {PanelDetailInfo, Preview, SaveToTemplate, PDFPreExport, ShareHead },
props: {
activeTab: {
type: String,
diff --git a/frontend/src/views/panel/list/common/PanelDetailInfo.vue b/frontend/src/views/panel/list/common/PanelDetailInfo.vue
new file mode 100644
index 0000000000..1b3d4a4dde
--- /dev/null
+++ b/frontend/src/views/panel/list/common/PanelDetailInfo.vue
@@ -0,0 +1,84 @@
+
+
+
+ {{ $t('panel.create_by') }}
+ {{ panelInfo.createBy }}
+
+
+ {{ $t('panel.create_time') }}
+ {{ panelInfo.createTime |timestampFormatDate }}
+
+
+ {{ $t('panel.update_by') }}
+ {{ panelInfo.updateBy || 'N/A' }}
+
+
+ {{ $t('panel.update_time') }}
+ {{ panelInfo.updateTime | timestampFormatDate }}
+ N/A
+
+
+
+
+
+
+
From f75d44cd135104bd474cbc56c06e179eaa421149 Mon Sep 17 00:00:00 2001
From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com>
Date: Fri, 22 Jul 2022 13:39:05 +0800
Subject: [PATCH 02/19] =?UTF-8?q?feat:=20API=E6=95=B0=E6=8D=AE=E6=BA=90?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/lang/en.js | 1 +
frontend/src/lang/tw.js | 1 +
frontend/src/lang/zh.js | 1 +
.../system/datasource/DsConfiguration.vue | 1441 ++++++++++++-----
frontend/src/views/system/user/userEditer.vue | 2 +-
5 files changed, 1018 insertions(+), 428 deletions(-)
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index 6cfe191bcb..90c8eb4b47 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1179,6 +1179,7 @@ export default {
remark_bg_color: 'Background Fill'
},
dataset: {
+ parse_filed: 'Parse Field',
field_rename: 'Rename Field',
params_work: 'Effective only when editing SQL',
sql_variable_limit_1: '1、SQL variables can only be used in where conditions',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 7d8a88d4c5..0174d7d61e 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1178,6 +1178,7 @@ export default {
remark_bg_color: '背景填充'
},
dataset: {
+ parse_filed: '解析字段',
field_rename: '字段重命名',
params_work: '僅在編輯 sql 時生效',
sql_variable_limit_1: '1、SQL變數只能在WHERE條件中使用',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index bb46e8a0a4..f6a75d3e85 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1180,6 +1180,7 @@ export default {
remark_bg_color: '背景填充'
},
dataset: {
+ parse_filed: '解析字段',
field_rename: '字段重命名',
params_work: '仅在编辑sql时生效',
select_year: '选择年',
diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue
index a63f32b8a6..deb9f97656 100644
--- a/frontend/src/views/system/datasource/DsConfiguration.vue
+++ b/frontend/src/views/system/datasource/DsConfiguration.vue
@@ -11,178 +11,135 @@
label-width="180px"
label-position="right"
>
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
- {{ $t('datasource.valid') }}
-
-
- {{ $t('datasource.invalid') }}
-
+
+ {{ $t("datasource.valid") }}
+
+
+ {{ $t("datasource.invalid") }}
+
-
-
-
+
+
-
-
-
-
-
-
-
-
- {{ $t('datasource.base_info') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ $t('datasource.req_param') }}
-
-
-
-
-
-
-
-
-
-
- {{ $t('datasource.column_info') }}
-
-
-
-
-
- {{ scope.row.originName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- {{ $t('dataset.data_preview') }}
-
-
-
-
-
-
-
-
- {{ field.name }}
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
- {{
- $t('datasource.oracle_sid')
- }}
+
+ {{ $t("datasource.oracle_sid") }}
-
- {{ $t('datasource.oracle_service_name') }}
+
+ {{ $t("datasource.oracle_service_name") }}
-
+
-
-
+
+
-
-
+
+
- {{ $t('datasource.kerbers_info') }}
+ {{ $t("datasource.kerbers_info") }}
-
-
+
-
+ v-if="
+ form.type !== 'es' &&
+ form.type !== 'api' &&
+ form.configuration.authMethod !== 'kerberos'
+ "
+ :label="$t('datasource.user_name')"
+ >
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ v-if="
+ form.type !== 'es' &&
+ form.type !== 'api' &&
+ form.configuration.authMethod !== 'kerberos'
+ "
+ :label="$t('datasource.password')"
+ >
+
- {{
- $t('datasource.get_schema')
- }}
+ v-if="form.type === 'es'"
+ :label="$t('datasource.user_name')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.get_schema") }}
-
-
+ v-if="
+ form.type == 'oracle' ||
+ form.type == 'sqlServer' ||
+ form.type == 'pg' ||
+ form.type == 'redshift' ||
+ form.type == 'db2'
+ "
+ :label="$t('datasource.schema')"
+ >
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.base_info") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.req_param") }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.column_info") }}
+
+
+
+
+
+
+ {{ scope.row.originName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+ {{ $t("dataset.data_preview") }}
+
+
+
+
+
+
+
+
+
+ {{ field.name }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/views/system/user/userEditer.vue b/frontend/src/views/system/user/userEditer.vue
index d416887bb0..8dfe9bed70 100644
--- a/frontend/src/views/system/user/userEditer.vue
+++ b/frontend/src/views/system/user/userEditer.vue
@@ -502,11 +502,11 @@ export default {
font-weight: 400;
line-height: 22px;
text-align: left;
- color: #1f2329;
}
.pwd {
margin: 0 8px;
+ color: #1f2329;
}
.btn-text {
From 0c4ff919039f4bdeba9841e4df056d2db2e5e95e Mon Sep 17 00:00:00 2001
From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com>
Date: Fri, 22 Jul 2022 13:39:05 +0800
Subject: [PATCH 03/19] =?UTF-8?q?feat:=20API=E6=95=B0=E6=8D=AE=E6=BA=90?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/lang/en.js | 1 +
frontend/src/lang/tw.js | 1 +
frontend/src/lang/zh.js | 1 +
.../system/datasource/DsConfiguration.vue | 1441 ++++++++++++-----
frontend/src/views/system/user/userEditer.vue | 2 +-
5 files changed, 1018 insertions(+), 428 deletions(-)
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index d75a96b062..e0e3fb7cd6 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1176,6 +1176,7 @@ export default {
remark_bg_color: 'Background Fill'
},
dataset: {
+ parse_filed: 'Parse Field',
field_rename: 'Rename Field',
params_work: 'Effective only when editing SQL',
sql_variable_limit_1: '1、SQL variables can only be used in where conditions',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index e5f2af74d9..1119087f3c 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1175,6 +1175,7 @@ export default {
remark_bg_color: '背景填充'
},
dataset: {
+ parse_filed: '解析字段',
field_rename: '字段重命名',
params_work: '僅在編輯 sql 時生效',
sql_variable_limit_1: '1、SQL變數只能在WHERE條件中使用',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 31cc4dd966..1767f03c2e 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1177,6 +1177,7 @@ export default {
remark_bg_color: '背景填充'
},
dataset: {
+ parse_filed: '解析字段',
field_rename: '字段重命名',
params_work: '仅在编辑sql时生效',
select_year: '选择年',
diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue
index a63f32b8a6..deb9f97656 100644
--- a/frontend/src/views/system/datasource/DsConfiguration.vue
+++ b/frontend/src/views/system/datasource/DsConfiguration.vue
@@ -11,178 +11,135 @@
label-width="180px"
label-position="right"
>
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
- {{ $t('datasource.valid') }}
-
-
- {{ $t('datasource.invalid') }}
-
+
+ {{ $t("datasource.valid") }}
+
+
+ {{ $t("datasource.invalid") }}
+
-
-
-
+
+
-
-
-
-
-
-
-
-
- {{ $t('datasource.base_info') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ $t('datasource.req_param') }}
-
-
-
-
-
-
-
-
-
-
- {{ $t('datasource.column_info') }}
-
-
-
-
-
- {{ scope.row.originName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- {{ $t('dataset.data_preview') }}
-
-
-
-
-
-
-
-
- {{ field.name }}
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
- {{
- $t('datasource.oracle_sid')
- }}
+
+ {{ $t("datasource.oracle_sid") }}
-
- {{ $t('datasource.oracle_service_name') }}
+
+ {{ $t("datasource.oracle_service_name") }}
-
+
-
-
+
+
-
-
+
+
- {{ $t('datasource.kerbers_info') }}
+ {{ $t("datasource.kerbers_info") }}
-
-
+
-
+ v-if="
+ form.type !== 'es' &&
+ form.type !== 'api' &&
+ form.configuration.authMethod !== 'kerberos'
+ "
+ :label="$t('datasource.user_name')"
+ >
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ v-if="
+ form.type !== 'es' &&
+ form.type !== 'api' &&
+ form.configuration.authMethod !== 'kerberos'
+ "
+ :label="$t('datasource.password')"
+ >
+
- {{
- $t('datasource.get_schema')
- }}
+ v-if="form.type === 'es'"
+ :label="$t('datasource.user_name')"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.get_schema") }}
-
-
+ v-if="
+ form.type == 'oracle' ||
+ form.type == 'sqlServer' ||
+ form.type == 'pg' ||
+ form.type == 'redshift' ||
+ form.type == 'db2'
+ "
+ :label="$t('datasource.schema')"
+ >
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.base_info") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.req_param") }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("datasource.column_info") }}
+
+
+
+
+
+
+ {{ scope.row.originName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+ {{ $t("dataset.data_preview") }}
+
+
+
+
+
+
+
+
+
+ {{ field.name }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/views/system/user/userEditer.vue b/frontend/src/views/system/user/userEditer.vue
index d416887bb0..8dfe9bed70 100644
--- a/frontend/src/views/system/user/userEditer.vue
+++ b/frontend/src/views/system/user/userEditer.vue
@@ -502,11 +502,11 @@ export default {
font-weight: 400;
line-height: 22px;
text-align: left;
- color: #1f2329;
}
.pwd {
margin: 0 8px;
+ color: #1f2329;
}
.btn-text {
From 1272119cbb5d10351ade61b7d9280ed895db93dc Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Fri, 22 Jul 2022 15:00:13 +0800
Subject: [PATCH 04/19] =?UTF-8?q?perf(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86?=
=?UTF-8?q?):=20=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A=E5=8F=91=E9=80=81?=
=?UTF-8?q?=E8=A7=86=E5=9B=BE=E6=95=B0=E6=8D=AE=E9=A1=B5=E9=9D=A2=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/DeViewSelect/index.bak.vue | 238 ++++++++++++++++++
.../src/components/DeViewSelect/index.vue | 138 +++++-----
.../chart/components/normal/LabelNormal.vue | 1 +
3 files changed, 307 insertions(+), 70 deletions(-)
create mode 100644 frontend/src/components/DeViewSelect/index.bak.vue
diff --git a/frontend/src/components/DeViewSelect/index.bak.vue b/frontend/src/components/DeViewSelect/index.bak.vue
new file mode 100644
index 0000000000..40160056f6
--- /dev/null
+++ b/frontend/src/components/DeViewSelect/index.bak.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/components/DeViewSelect/index.vue b/frontend/src/components/DeViewSelect/index.vue
index 40160056f6..909e17c2f2 100644
--- a/frontend/src/components/DeViewSelect/index.vue
+++ b/frontend/src/components/DeViewSelect/index.vue
@@ -3,7 +3,6 @@
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
From 32aad19c60bfc667c01fcebd62f540ac7b956291 Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Sun, 24 Jul 2022 23:00:36 +0800
Subject: [PATCH 13/19] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?=
=?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/resources/db/migration/V38__1.13.sql | 3 +
.../canvas/components/Editor/ContextMenu.vue | 7 +-
.../canvas/components/Editor/EditBar.vue | 6 +-
.../canvas/components/Editor/SettingMenu.vue | 5 +-
.../components/widget/DeWidget/DeButton.vue | 1 +
.../widget/DeWidget/SearchButton.vue | 29 +++++
.../serviceImpl/ButtonSureServiceImpl.js | 16 +--
frontend/src/styles/index.scss | 17 +++
frontend/src/views/panel/edit/index.vue | 72 ++++++++++++-
.../src/views/panel/filter/ButtonDialog.vue | 100 ++++++++++++++++++
frontend/src/views/panel/filter/index.vue | 6 +-
11 files changed, 249 insertions(+), 13 deletions(-)
create mode 100644 frontend/src/components/widget/DeWidget/SearchButton.vue
create mode 100644 frontend/src/views/panel/filter/ButtonDialog.vue
diff --git a/backend/src/main/resources/db/migration/V38__1.13.sql b/backend/src/main/resources/db/migration/V38__1.13.sql
index 6161690bbf..0817d25c1d 100644
--- a/backend/src/main/resources/db/migration/V38__1.13.sql
+++ b/backend/src/main/resources/db/migration/V38__1.13.sql
@@ -75,3 +75,6 @@ INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALU
ALTER TABLE `panel_group`
ADD COLUMN `update_by` varchar(255) NULL COMMENT '更新人' AFTER `status`,
ADD COLUMN `update_time` bigint(13) NULL COMMENT '更新时间' AFTER `update_by`;
+
+ALTER TABLE `sys_task_email`
+ADD COLUMN `view_ids` varchar(255) NULL COMMENT '视图ID结婚' AFTER `task_id`;
diff --git a/frontend/src/components/canvas/components/Editor/ContextMenu.vue b/frontend/src/components/canvas/components/Editor/ContextMenu.vue
index 04baa0f20d..79496f3a34 100644
--- a/frontend/src/components/canvas/components/Editor/ContextMenu.vue
+++ b/frontend/src/components/canvas/components/Editor/ContextMenu.vue
@@ -30,7 +30,8 @@ export default {
copyData: null,
editFilter: [
'view',
- 'custom'
+ 'custom',
+ 'custom-button'
]
}
},
@@ -56,6 +57,10 @@ export default {
bus.$emit('component-dialog-edit')
}
+ if (this.curComponent.type === 'custom-button') {
+ bus.$emit('button-dialog-edit')
+ }
+
// 编辑样式组件
if (this.curComponent.type === 'v-text' || this.curComponent.type === 'de-rich-text' || this.curComponent.type === 'rect-shape') {
diff --git a/frontend/src/components/canvas/components/Editor/EditBar.vue b/frontend/src/components/canvas/components/Editor/EditBar.vue
index 83ce3b216c..2ac224e3e1 100644
--- a/frontend/src/components/canvas/components/Editor/EditBar.vue
+++ b/frontend/src/components/canvas/components/Editor/EditBar.vue
@@ -82,7 +82,8 @@ export default {
linkageActiveStatus: false,
editFilter: [
'view',
- 'custom'
+ 'custom',
+ 'custom-button'
],
timer: null
}
@@ -216,6 +217,9 @@ export default {
edit() {
if (this.curComponent.type === 'custom') {
bus.$emit('component-dialog-edit', 'update')
+ }
+ else if (this.curComponent.type === 'custom-button') {
+ bus.$emit('button-dialog-edit')
} else if (this.curComponent.type === 'v-text' || this.curComponent.type === 'de-rich-text' || this.curComponent.type === 'rect-shape') {
bus.$emit('component-dialog-style')
} else { bus.$emit('change_panel_right_draw', true) }
diff --git a/frontend/src/components/canvas/components/Editor/SettingMenu.vue b/frontend/src/components/canvas/components/Editor/SettingMenu.vue
index 2fb4132f52..bb1dfb377c 100644
--- a/frontend/src/components/canvas/components/Editor/SettingMenu.vue
+++ b/frontend/src/components/canvas/components/Editor/SettingMenu.vue
@@ -60,7 +60,8 @@ export default {
hyperlinksSetVisible: false,
editFilter: [
'view',
- 'custom'
+ 'custom',
+ 'custom-button'
]
}
},
@@ -72,6 +73,8 @@ export default {
edit() {
if (this.curComponent.type === 'custom') {
bus.$emit('component-dialog-edit', 'update')
+ }else if (this.curComponent.type === 'custom-button') {
+ bus.$emit('button-dialog-edit')
} else if (this.curComponent.type === 'v-text' || this.curComponent.type === 'de-rich-text' || this.curComponent.type === 'rect-shape') {
bus.$emit('component-dialog-style')
} else { bus.$emit('change_panel_right_draw', true) }
diff --git a/frontend/src/components/widget/DeWidget/DeButton.vue b/frontend/src/components/widget/DeWidget/DeButton.vue
index 0ff872c515..e9a309cae9 100644
--- a/frontend/src/components/widget/DeWidget/DeButton.vue
+++ b/frontend/src/components/widget/DeWidget/DeButton.vue
@@ -4,6 +4,7 @@
v-if="options!== null && options.attrs!==null"
:type="options.attrs.type"
:round="options.attrs.round"
+ :plain="options.attrs.plain"
:size="size"
>
{{ options.value }}
diff --git a/frontend/src/components/widget/DeWidget/SearchButton.vue b/frontend/src/components/widget/DeWidget/SearchButton.vue
new file mode 100644
index 0000000000..f003d7d679
--- /dev/null
+++ b/frontend/src/components/widget/DeWidget/SearchButton.vue
@@ -0,0 +1,29 @@
+
+
+ {{text}}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/widget/serviceImpl/ButtonSureServiceImpl.js b/frontend/src/components/widget/serviceImpl/ButtonSureServiceImpl.js
index 5b0f627444..e107121d86 100644
--- a/frontend/src/components/widget/serviceImpl/ButtonSureServiceImpl.js
+++ b/frontend/src/components/widget/serviceImpl/ButtonSureServiceImpl.js
@@ -2,15 +2,15 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-chaxunsousuo',
- label: '确定',
+ label: '查询按钮',
defaultClass: 'time-filter'
}
const drawPanel = {
- type: 'custom',
+ type: 'custom-button',
style: {
- width: 300,
- height: 47,
+ width: 150,
+ height: 60,
fontSize: 14,
fontWeight: 500,
lineHeight: '',
@@ -21,9 +21,12 @@ const drawPanel = {
options: {
attrs: {
type: 'primary',
- round: true
+ round: false,
+ plain: true,
+ customRange: false,
+ filterIds: []
},
- value: '测试按钮'
+ value: '查询'
},
component: 'de-button',
miniSizex: 1,
@@ -35,6 +38,7 @@ class ButtonSureServiceImpl extends WidgetService {
Object.assign(options, { name: 'buttonSureWidget' })
super(options)
this.filterDialog = false
+ this.buttonDialog = true
this.showSwitch = false
}
diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss
index 45f0623dee..a75619b95b 100644
--- a/frontend/src/styles/index.scss
+++ b/frontend/src/styles/index.scss
@@ -110,6 +110,23 @@ div:focus {
}
}
+.de-button-dialog {
+ min-width: 250px !important;
+ width: 30% !important;
+
+ .el-dialog__header {
+ padding: 10px 20px !important;
+
+ .el-dialog__headerbtn {
+ top: 15px !important;
+ }
+ }
+
+ .el-dialog__body {
+ padding: 1px 15px !important;
+ }
+}
+
.de-style-dialog {
width: 600px !important;
diff --git a/frontend/src/views/panel/edit/index.vue b/frontend/src/views/panel/edit/index.vue
index 8d7b66e6d9..9ac46d8471 100644
--- a/frontend/src/views/panel/edit/index.vue
+++ b/frontend/src/views/panel/edit/index.vue
@@ -238,6 +238,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 默认关联全部过滤组件
+
+
+
+
+
+
+
+
+
+
+ 确定
+ 取消
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/views/panel/filter/index.vue b/frontend/src/views/panel/filter/index.vue
index 54cc505566..c10dbf2962 100644
--- a/frontend/src/views/panel/filter/index.vue
+++ b/frontend/src/views/panel/filter/index.vue
@@ -59,10 +59,10 @@ export default {
'numberSelectWidget',
'numberSelectGridWidget',
'numberRangeWidget'
+ ],
+ '按钮': [
+ 'buttonSureWidget'
]
- // '按钮': [
- // 'buttonSureWidget'
- // ]
}
}
},
From ef41583187d989915bd2135c59f2c25eb4aa6202 Mon Sep 17 00:00:00 2001
From: junjun
Date: Mon, 25 Jul 2022 10:07:33 +0800
Subject: [PATCH 14/19] =?UTF-8?q?feat(=E8=A7=86=E5=9B=BE):=20=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=A0=87=E9=A2=98=E5=A4=87=E6=B3=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../chart/components/ChartComponentG2.vue | 20 ++++-
.../chart/components/ChartComponentS2.vue | 20 ++++-
.../component-style/TitleSelectorAntV.vue | 84 +++++++++++++++++--
.../component-style/dialog/RemarkEditor.vue | 72 ++++++++++++++++
.../chart/components/normal/LabelNormal.vue | 29 +++++--
.../components/normal/LabelNormalText.vue | 28 +++++--
6 files changed, 224 insertions(+), 29 deletions(-)
create mode 100644 frontend/src/views/chart/components/component-style/dialog/RemarkEditor.vue
diff --git a/frontend/src/views/chart/components/ChartComponentG2.vue b/frontend/src/views/chart/components/ChartComponentG2.vue
index 1c22f98532..447faf672e 100644
--- a/frontend/src/views/chart/components/ChartComponentG2.vue
+++ b/frontend/src/views/chart/components/ChartComponentG2.vue
@@ -2,7 +2,10 @@
@@ -12,7 +15,7 @@
import { baseLiquid } from '@/views/chart/chart/liquid/liquid'
import { uuid } from 'vue-uuid'
import ViewTrackBar from '@/components/canvas/components/Editor/ViewTrackBar'
-import { hexColorToRGBA } from '@/views/chart/chart/util'
+import { getRemark, hexColorToRGBA } from '@/views/chart/chart/util'
import { baseBarOptionAntV, hBaseBarOptionAntV } from '@/views/chart/chart/bar/bar_antv'
import { baseAreaOptionAntV, baseLineOptionAntV } from '@/views/chart/chart/line/line_antv'
import { basePieOptionAntV, basePieRoseOptionAntV } from '@/views/chart/chart/pie/pie_antv'
@@ -23,10 +26,11 @@ import { baseTreemapOptionAntV } from '@/views/chart/chart/treemap/treemap_antv'
import { baseRadarOptionAntV } from '@/views/chart/chart/radar/radar_antv'
import { baseWaterfallOptionAntV } from '@/views/chart/chart/waterfall/waterfall'
import { baseWordCloudOptionAntV } from '@/views/chart/chart/wordCloud/word_cloud'
+import TitleRemark from '@/views/chart/view/TitleRemark'
export default {
name: 'ChartComponentG2',
- components: { ViewTrackBar },
+ components: { TitleRemark, ViewTrackBar },
props: {
chart: {
type: Object,
@@ -84,7 +88,11 @@ export default {
title_show: true,
antVRenderStatus: false,
linkageActiveParam: null,
- linkageActiveHistory: false
+ linkageActiveHistory: false,
+ remarkCfg: {
+ show: false,
+ content: ''
+ }
}
},
@@ -320,6 +328,7 @@ export default {
this.borderRadius = (customStyle.background.borderRadius || 0) + 'px'
}
}
+ this.initRemark()
},
calcHeightRightNow() {
@@ -337,6 +346,9 @@ export default {
setTimeout(() => {
this.calcHeightRightNow()
}, 100)
+ },
+ initRemark() {
+ this.remarkCfg = getRemark(this.chart)
}
}
}
diff --git a/frontend/src/views/chart/components/ChartComponentS2.vue b/frontend/src/views/chart/components/ChartComponentS2.vue
index 489f6b8f20..39426a84c6 100644
--- a/frontend/src/views/chart/components/ChartComponentS2.vue
+++ b/frontend/src/views/chart/components/ChartComponentS2.vue
@@ -2,7 +2,10 @@
- {{ chart.title }}
+
@@ -34,12 +37,13 @@
+
+
diff --git a/frontend/src/views/chart/components/normal/LabelNormal.vue b/frontend/src/views/chart/components/normal/LabelNormal.vue
index aa39b60651..f1707beeac 100644
--- a/frontend/src/views/chart/components/normal/LabelNormal.vue
+++ b/frontend/src/views/chart/components/normal/LabelNormal.vue
@@ -1,6 +1,11 @@
-
-
{{ chart.title }}
+
+
+
+
diff --git a/frontend/src/views/chart/components/normal/LabelNormalText.vue b/frontend/src/views/chart/components/normal/LabelNormalText.vue
index db542ec0a0..17fb477a6e 100644
--- a/frontend/src/views/chart/components/normal/LabelNormalText.vue
+++ b/frontend/src/views/chart/components/normal/LabelNormalText.vue
@@ -1,7 +1,12 @@
-
{{ chart.title }}
+
+
+
From f3d8eb3d745c2885afd4b0e745a3bb4218dfb31d Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Mon, 25 Jul 2022 10:36:25 +0800
Subject: [PATCH 15/19] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86)?=
=?UTF-8?q?:=20=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A=E5=8F=91=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E8=A7=86=E5=9B=BEId=E9=9B=86=E5=90=88=E6=B3=A8?=
=?UTF-8?q?=E9=87=8A=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/src/main/resources/db/migration/V38__1.13.sql | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/src/main/resources/db/migration/V38__1.13.sql b/backend/src/main/resources/db/migration/V38__1.13.sql
index 0817d25c1d..7ad0eab53f 100644
--- a/backend/src/main/resources/db/migration/V38__1.13.sql
+++ b/backend/src/main/resources/db/migration/V38__1.13.sql
@@ -77,4 +77,4 @@ ALTER TABLE `panel_group`
ADD COLUMN `update_time` bigint(13) NULL COMMENT '更新时间' AFTER `update_by`;
ALTER TABLE `sys_task_email`
-ADD COLUMN `view_ids` varchar(255) NULL COMMENT '视图ID结婚' AFTER `task_id`;
+ADD COLUMN `view_ids` varchar(255) NULL COMMENT '视图ID集合' AFTER `task_id`;
From 03e81d2205e1482540c299a5e411b3a95dfb4ee8 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Mon, 25 Jul 2022 11:57:49 +0800
Subject: [PATCH 16/19] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?=
=?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E7=9A=84=E5=A4=8D=E7=94=A8=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E5=A4=8D=E7=94=A8=E6=89=80=E6=9C=89=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/Editor/ComponentWrapper.vue | 4 +--
.../canvas/components/Editor/EditBar.vue | 27 ++++++++++++++++---
.../canvas/custom-component/UserView.vue | 2 +-
frontend/src/components/canvas/store/copy.js | 4 +--
.../src/components/widget/DeWidget/DeTabs.vue | 6 +++++
frontend/src/layout/components/Topbar.vue | 2 +-
frontend/src/permission.js | 3 ++-
7 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue b/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue
index 0c1bd92118..fdd949c3bc 100644
--- a/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue
+++ b/frontend/src/components/canvas/components/Editor/ComponentWrapper.vue
@@ -5,7 +5,7 @@
@click="handleClick"
@mousedown="elementMouseDown"
>
-
+
+
+
+
@@ -73,10 +76,16 @@ export default {
previewVisible: {
type: Boolean,
default: false
+ },
+ showPosition: {
+ type: String,
+ required: false,
+ default: 'NotProvided'
}
},
data() {
return {
+ multiplexingCheckModel: false,
barWidth: 24,
componentType: null,
linkageActiveStatus: false,
@@ -106,7 +115,6 @@ export default {
return 'bar-main-preview'
}
},
-
showJumpFlag() {
return this.curComponent && this.curComponent.hyperlinks && this.curComponent.hyperlinks.enable
},
@@ -120,7 +128,7 @@ export default {
},
// 编辑或预览区域显示
normalAreaShow() {
- return !this.linkageSettingStatus && !this.batchOptStatus
+ return !this.linkageSettingStatus && !this.batchOptStatus && !this.positionCheck('multiplexing')
},
existLinkage() {
let linkageFiltersCount = 0
@@ -166,6 +174,18 @@ export default {
beforeDestroy() {
},
methods: {
+ positionCheck(position) {
+ return this.showPosition.includes(position)
+ },
+ multiplexingCheck(val) {
+ if (val) {
+ // push
+ this.$store.commit('addCurMultiplexingComponent', { 'component': this.element, 'componentId': this.element.id })
+ } else {
+ // remove
+ this.$store.commit('removeCurMultiplexingComponentWithId', this.element.id )
+ }
+ },
closePreview() {
this.$emit('closePreview')
},
@@ -217,8 +237,7 @@ export default {
edit() {
if (this.curComponent.type === 'custom') {
bus.$emit('component-dialog-edit', 'update')
- }
- else if (this.curComponent.type === 'custom-button') {
+ } else if (this.curComponent.type === 'custom-button') {
bus.$emit('button-dialog-edit')
} else if (this.curComponent.type === 'v-text' || this.curComponent.type === 'de-rich-text' || this.curComponent.type === 'rect-shape') {
bus.$emit('component-dialog-style')
diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue
index 498a06a4cd..56b45d5e42 100644
--- a/frontend/src/components/canvas/custom-component/UserView.vue
+++ b/frontend/src/components/canvas/custom-component/UserView.vue
@@ -236,7 +236,7 @@ export default {
}
},
editBarViewShowFlag() {
- return (this.active && this.inTab && !this.mobileLayoutStatus) || this.showPosition.includes('multiplexing') || this.showPosition.includes('email-task')
+ return (this.active && this.inTab && !this.mobileLayoutStatus) && !this.showPosition.includes('multiplexing') || this.showPosition.includes('email-task')
},
charViewShowFlag() {
return this.httpRequest.status && this.chart.type && !this.chart.type.includes('table') && !this.chart.type.includes('text') && this.chart.type !== 'label' && this.renderComponent() === 'echarts'
diff --git a/frontend/src/components/canvas/store/copy.js b/frontend/src/components/canvas/store/copy.js
index 0771f09a48..1c5ded3c56 100644
--- a/frontend/src/components/canvas/store/copy.js
+++ b/frontend/src/components/canvas/store/copy.js
@@ -35,10 +35,10 @@ export default {
const canvasStyleData = state.canvasStyleData
const curCanvasScale = state.curCanvasScale
const componentGap = state.componentGap
- Object.keys(state.curMultiplexingComponents).forEach(function(viewId, index) {
+ Object.keys(state.curMultiplexingComponents).forEach(function(componentId, index) {
const component =
{
- ...deepCopy(state.curMultiplexingComponents[viewId]),
+ ...deepCopy(state.curMultiplexingComponents[componentId]),
...deepCopy(deepCopy(state.viewBase)),
'auxiliaryMatrix': canvasStyleData.auxiliaryMatrix
}
diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue
index a250968fff..97ed4dcb29 100644
--- a/frontend/src/components/widget/DeWidget/DeTabs.vue
+++ b/frontend/src/components/widget/DeWidget/DeTabs.vue
@@ -80,6 +80,7 @@
:filters="filterMap[item.content.propValue && item.content.propValue.viewId] || []"
:out-style="outStyle"
:canvas-style-data="canvasStyleData"
+ :show-position="showPosition"
/>
@@ -193,6 +194,11 @@ export default {
h: {
type: Number,
default: 200
+ },
+ showPosition: {
+ type: String,
+ required: false,
+ default: 'NotProvided'
}
},
data() {
diff --git a/frontend/src/layout/components/Topbar.vue b/frontend/src/layout/components/Topbar.vue
index 9459ee439d..5786652d3d 100644
--- a/frontend/src/layout/components/Topbar.vue
+++ b/frontend/src/layout/components/Topbar.vue
@@ -329,7 +329,7 @@ export default {
if (result !== 'success' && result !== 'fail') {
window.location.href = result
} else {
- this.$router.push(`/login?redirect=${this.$route.fullPath}`)
+ this.$router.push('/login')
}
},
loadUiInfo() {
diff --git a/frontend/src/permission.js b/frontend/src/permission.js
index e06dc31f53..a2898d8ab1 100644
--- a/frontend/src/permission.js
+++ b/frontend/src/permission.js
@@ -92,7 +92,8 @@ router.beforeEach(async(to, from, next) => {
next()
} else {
// other pages that do not have permission to access are redirected to the login page.
- next(`/login?redirect=${to.path}`)
+ // next(`/login?redirect=${to.path}`)
+ next('/login')
NProgress.done()
}
}
From 4607b80751e107768bf85e8c14fe7b3519ddbff9 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Mon, 25 Jul 2022 12:04:29 +0800
Subject: [PATCH 17/19] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?=
=?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E7=9A=84=E5=A4=8D=E7=94=A8=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E5=A4=8D=E7=94=A8=E6=89=80=E6=9C=89=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/components/canvas/store/copy.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/frontend/src/components/canvas/store/copy.js b/frontend/src/components/canvas/store/copy.js
index 1c5ded3c56..4eba66bfef 100644
--- a/frontend/src/components/canvas/store/copy.js
+++ b/frontend/src/components/canvas/store/copy.js
@@ -105,6 +105,7 @@ export default {
} else if (data.type === 'de-tabs') {
const sourceAndTargetIds = {}
const newCop = deepCopy(data)
+ newCop.id = uuid.v1()
newCop.options.tabList.forEach((item) => {
if (item.content && item.content.type === 'view') {
const newViewId = uuid.v1()
From b4c67fee500d0112613696b9c9b34f492a3dbb4c Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Mon, 25 Jul 2022 13:07:15 +0800
Subject: [PATCH 18/19] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86)?=
=?UTF-8?q?:=20=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A=E5=8F=91=E9=80=81?=
=?UTF-8?q?=E9=82=AE=E4=BB=B6=E9=99=84=E4=BB=B6=E5=90=8D=E7=A7=B0=E8=BF=87?=
=?UTF-8?q?=E9=95=BF=E5=AF=BC=E8=87=B4=E5=B1=95=E7=A4=BA=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/java/io/dataease/service/system/EmailService.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/backend/src/main/java/io/dataease/service/system/EmailService.java b/backend/src/main/java/io/dataease/service/system/EmailService.java
index ddf3ff2f06..483ddd4056 100644
--- a/backend/src/main/java/io/dataease/service/system/EmailService.java
+++ b/backend/src/main/java/io/dataease/service/system/EmailService.java
@@ -140,6 +140,7 @@ public class EmailService {
attach.setFileName(MimeUtility.encodeText(file.getName()));
multipart.addBodyPart(attach);
}
+ System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
multipart.setSubType("related");
return multipart;
}
From 07956353784fb1157a197faade08e27c426c42cf Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Mon, 25 Jul 2022 16:10:33 +0800
Subject: [PATCH 19/19] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?=
=?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E8=83=8C=E6=99=AF=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E7=9B=B4=E6=8E=A5=E9=87=8D=E6=96=B0=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/api/staticResource/staticResource.js | 10 +-
frontend/src/lang/en.js | 11 +-
frontend/src/lang/tw.js | 3 +
frontend/src/lang/zh.js | 3 +
frontend/src/views/background/index.vue | 2 +-
.../PanelStyle/BackgroundSelector.vue | 152 ++++++++++++------
6 files changed, 121 insertions(+), 60 deletions(-)
diff --git a/frontend/src/api/staticResource/staticResource.js b/frontend/src/api/staticResource/staticResource.js
index 40ee10055e..9af311c16d 100644
--- a/frontend/src/api/staticResource/staticResource.js
+++ b/frontend/src/api/staticResource/staticResource.js
@@ -2,9 +2,7 @@ import request from '@/utils/request'
import { uuid } from 'vue-uuid'
import store from '@/store'
-export function uploadFile(fileId, file) {
- const param = new FormData()
- param.append('file', file.file)
+export function uploadFile(fileId, param) {
return request({
url: '/static/resource/upload/' + fileId,
method: 'post',
@@ -16,10 +14,12 @@ export function uploadFile(fileId, file) {
export function uploadFileResult(file, callback) {
const fileId = uuid.v1()
- const fileName = file.file.name
+ const fileName = file.name
const newFileName = fileId + fileName.substr(fileName.lastIndexOf('.'), fileName.length)
const fileUrl = store.state.staticResourcePath + newFileName
- uploadFile(fileId, file).then(() => {
+ const param = new FormData()
+ param.append('file', file)
+ uploadFile(fileId, param).then(() => {
callback(fileUrl)
})
}
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index e0e3fb7cd6..429ffa0efa 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -1544,10 +1544,13 @@ export default {
sure_bt: 'Confirm'
},
panel: {
- create_by: '创建人',
- create_time: '创建时间',
- update_by: '最近修改人',
- update_time: '最近修改时间',
+ panel_background_item: 'Customize panel background',
+ panel_background_image_tips: 'Currently.Jpeg,.Jpg,.Png,.Gif files are supported, and the size should not exceed 15m',
+ reUpload: 'reUpload',
+ create_by: 'Create By',
+ create_time: 'Create Time',
+ update_by: 'Update By',
+ update_time: 'Update Time',
target_url: 'Target Url',
target_url_tips: 'You can click fields to splice URLs or parameters',
select_world: 'Select World',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 1119087f3c..82b5fa89e7 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -1544,6 +1544,9 @@ export default {
sure_bt: '確定'
},
panel: {
+ panel_background_item: '自定义仪表板背景',
+ panel_background_image_tips: '当前支持.jpeg,.jpg,.png,.gif文件,大小不要超过15M',
+ reUpload: '重新上传',
create_by: '创建人',
create_time: '创建时间',
update_by: '最近修改人',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 1767f03c2e..4bc67a27ac 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -1552,6 +1552,9 @@ export default {
sure_bt: '确定'
},
panel: {
+ panel_background_item: '自定义仪表板背景',
+ panel_background_image_tips: '当前支持.jpeg,.jpg,.png,.gif文件,大小不要超过15M',
+ reUpload: '重新上传',
create_by: '创建人',
create_time: '创建时间',
update_by: '最近修改人',
diff --git a/frontend/src/views/background/index.vue b/frontend/src/views/background/index.vue
index c1659f9d3b..df0ed3d101 100644
--- a/frontend/src/views/background/index.vue
+++ b/frontend/src/views/background/index.vue
@@ -213,7 +213,7 @@ export default {
},
upload(file) {
const _this = this
- uploadFileResult(file, (fileUrl) => {
+ uploadFileResult(file.file, (fileUrl) => {
_this.curComponent.commonBackground.outerImage = fileUrl
})
}
diff --git a/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue b/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue
index 9b672f2485..e4d73faa64 100644
--- a/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue
+++ b/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue
@@ -1,49 +1,47 @@
-
+
@@ -59,6 +57,7 @@ export default {
name: 'BackgroundSelector',
data() {
return {
+ maxImageSize: 15000000,
fileList: [],
dialogImageUrl: '',
dialogVisible: false,
@@ -82,6 +81,9 @@ export default {
}
},
methods: {
+ goFile() {
+ this.$refs.files.click()
+ },
commitStyle() {
const canvasStyleData = deepCopy(this.canvasStyleData)
canvasStyleData.panel = this.panel
@@ -103,11 +105,34 @@ export default {
},
upload(file) {
const _this = this
+ if (file.size > this.maxImageSize) {
+ this.sizeMessage()
+ }
+ uploadFileResult(file.file, (fileUrl) => {
+ _this.$store.state.styleChangeTimes++
+ _this.panel.imageUrl = fileUrl
+ _this.fileList = [{ url: this.panel.imageUrl }]
+ _this.commitStyle()
+ })
+ },
+ reUpload(e) {
+ const file = e.target.files[0]
+ const _this = this
+ if (file.size > this.maxImageSize) {
+ this.sizeMessage()
+ }
uploadFileResult(file, (fileUrl) => {
_this.$store.state.styleChangeTimes++
_this.panel.imageUrl = fileUrl
+ _this.fileList = [{ url: this.panel.imageUrl }]
_this.commitStyle()
})
+ },
+ sizeMessage() {
+ this.$notify({
+ message: '背景图片请不要大于15M',
+ position: 'top-left'
+ })
}
}
}
@@ -115,18 +140,22 @@ export default {