diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java
index 03e2496191..7edb03030e 100644
--- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java
+++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java
@@ -2,7 +2,6 @@ package io.dataease.controller.dataset;
import io.dataease.base.domain.DatasetTableTask;
import io.dataease.controller.request.dataset.DataSetTaskRequest;
-import io.dataease.service.dataset.DataSetTableService;
import io.dataease.service.dataset.DataSetTableTaskService;
import org.springframework.web.bind.annotation.*;
@@ -18,13 +17,10 @@ import java.util.List;
public class DataSetTableTaskController {
@Resource
private DataSetTableTaskService dataSetTableTaskService;
- @Resource
- private DataSetTableService dataSetTableService;
@PostMapping("save")
public DatasetTableTask save(@RequestBody DataSetTaskRequest dataSetTaskRequest) throws Exception {
- dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig());
- return dataSetTableTaskService.save(dataSetTaskRequest.getDatasetTableTask());
+ return dataSetTableTaskService.save(dataSetTaskRequest);
}
@PostMapping("delete/{id}")
diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
index c6b646cd58..d65d6fd833 100644
--- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
@@ -3,10 +3,13 @@ package io.dataease.service.dataset;
import io.dataease.base.domain.DatasetTableTask;
import io.dataease.base.domain.DatasetTableTaskExample;
import io.dataease.base.mapper.DatasetTableTaskMapper;
+import io.dataease.controller.request.dataset.DataSetTaskRequest;
import io.dataease.i18n.Translator;
import io.dataease.service.ScheduleService;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.CronExpression;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -27,14 +30,25 @@ public class DataSetTableTaskService {
private DataSetTableTaskLogService dataSetTableTaskLogService;
@Resource
private ScheduleService scheduleService;
+ @Resource
+ @Lazy
+ private DataSetTableService dataSetTableService;
- public DatasetTableTask save(DatasetTableTask datasetTableTask) throws Exception {
+ public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception {
+ dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig());
+ DatasetTableTask datasetTableTask = dataSetTaskRequest.getDatasetTableTask();
// check
if (StringUtils.isNotEmpty(datasetTableTask.getCron())) {
if (!CronExpression.isValidExpression(datasetTableTask.getCron())) {
throw new RuntimeException(Translator.get("i18n_cron_expression_error"));
}
}
+ // check start time and end time
+ if (ObjectUtils.isNotEmpty(datasetTableTask.getStartTime())
+ && ObjectUtils.isNotEmpty(datasetTableTask.getEndTime())
+ && datasetTableTask.getStartTime() > datasetTableTask.getEndTime()) {
+ throw new RuntimeException(Translator.get("i18n_cron_time_error"));
+ }
if (StringUtils.isEmpty(datasetTableTask.getId())) {
datasetTableTask.setId(UUID.randomUUID().toString());
datasetTableTask.setCreateTime(System.currentTimeMillis());
diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties
index 96319fa670..a6a890db51 100644
--- a/backend/src/main/resources/i18n/messages_en_US.properties
+++ b/backend/src/main/resources/i18n/messages_en_US.properties
@@ -184,7 +184,6 @@ automation_exec_info=There are no test steps to execute
authsource_name_already_exists=Authentication source name already exists
authsource_name_is_null=Authentication source name cannot be empty
authsource_configuration_is_null=Authentication source configuration cannot be empty
-
个人信息=Personal Information
仪表盘=Panel
修改密码=Change Password
@@ -239,3 +238,4 @@ i18n_panel_list=Panel
i18n_processing_data=Processing data now, Refresh later
i18n_union_already_exists=Union relation already exists
i18n_union_field_exists=The same field can't in two dataset
+i18n_cron_time_error=Start time can't greater then end time
diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties
index 219707047c..501627314e 100644
--- a/backend/src/main/resources/i18n/messages_zh_CN.properties
+++ b/backend/src/main/resources/i18n/messages_zh_CN.properties
@@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
i18n_processing_data=正在处理数据,稍后刷新
i18n_union_already_exists=关联关系已存在
i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段
+i18n_cron_time_error=开始时间不能大于结束时间
diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties
index 32c6eee747..3d035b3bbe 100644
--- a/backend/src/main/resources/i18n/messages_zh_TW.properties
+++ b/backend/src/main/resources/i18n/messages_zh_TW.properties
@@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
i18n_processing_data=正在處理數據,稍後刷新
i18n_union_already_exists=關聯關系已存在
i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段
+i18n_cron_time_error=開始時間不能大於結束時間
\ No newline at end of file
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js
index 5ce5dfb5ba..5e8218c9f4 100644
--- a/frontend/src/lang/en.js
+++ b/frontend/src/lang/en.js
@@ -277,7 +277,9 @@ export default {
select_module: 'Select Module',
default_module: 'Default Module'
},
- datasource: 'Datasource'
+ datasource: 'Datasource',
+ char_can_not_more_50: 'Name can not more 50 char',
+ share_success: 'Share Success'
},
documentation: {
documentation: 'Documentation',
diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js
index 8ce56d835c..f4217c1f0c 100644
--- a/frontend/src/lang/tw.js
+++ b/frontend/src/lang/tw.js
@@ -276,7 +276,9 @@ export default {
select_module: '選擇模块',
default_module: '默认模块'
},
- datasource: '數據源'
+ datasource: '數據源',
+ char_can_not_more_50: '名稱不能超過50字符',
+ share_success: '分享成功'
},
documentation: {
documentation: '文檔',
@@ -702,7 +704,7 @@ export default {
custom_data: '自助數據集',
pls_slc_tbl_left: '請從左側選擇表',
add_db_table: '添加數據庫表',
- pls_slc_data_source: '選擇數據源鏈接',
+ pls_slc_data_source: '請選擇數據源',
table: '表',
edit: '編輯',
create_view: '創建視圖',
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index 2039a2751e..bcba03acf6 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -277,8 +277,9 @@ export default {
select_module: '选择模块',
default_module: '默认模块'
},
- datasource: '数据连接',
- char_can_not_more_50: '名称不能超过50字符'
+ datasource: '数据源',
+ char_can_not_more_50: '名称不能超过50字符',
+ share_success: '分享成功'
},
documentation: {
documentation: '文档',
@@ -530,7 +531,7 @@ export default {
custom_data: '自助数据集',
pls_slc_tbl_left: '请从左侧选视图',
add_db_table: '添加数据库表',
- pls_slc_data_source: '请选择数据库连接',
+ pls_slc_data_source: '请选择数据源',
table: '表',
edit: '编辑',
create_view: '创建试图',
@@ -704,7 +705,7 @@ export default {
custom_data: '自助数据集',
pls_slc_tbl_left: '请从左侧选择表',
add_db_table: '添加数据库表',
- pls_slc_data_source: '请选择数据库连接',
+ pls_slc_data_source: '请选择数据源',
table: '表',
edit: '编辑',
create_view: '创建视图',
@@ -794,7 +795,7 @@ export default {
},
datasource: {
datasource: '数据源',
- create: '新建数据连接',
+ create: '新建数据源',
type: '类型',
please_choose_type: '请选择数据源类型',
data_base: '数据库名称',
@@ -807,7 +808,7 @@ export default {
please_input_password: '请输入密码',
please_input_host: '请输入主机',
please_input_port: '请输入端口',
- modify: '编辑数据连接',
+ modify: '编辑数据源',
validate_success: '校验成功',
validate: '校验',
search_by_name: '根据名称搜索',
diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss
index c7cae09c04..41d843c9bc 100644
--- a/frontend/src/styles/index.scss
+++ b/frontend/src/styles/index.scss
@@ -205,8 +205,9 @@ div:focus {
color: #37b4aa;
}
.ds-icon-scene{
- width: 14px;
- height: 14px;
+ width: 13px;
+ height: 13px;
+ margin-right: 5px;
color: #0a7be0;
}
.ds-icon-db{
diff --git a/frontend/src/views/panel/GrantAuth/dept/index.vue b/frontend/src/views/panel/GrantAuth/dept/index.vue
index dc2778b9fd..7aa798bee4 100644
--- a/frontend/src/views/panel/GrantAuth/dept/index.vue
+++ b/frontend/src/views/panel/GrantAuth/dept/index.vue
@@ -158,11 +158,11 @@ export default {
return roots
},
- save() {
+ save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
saveShare(request).then(res => {
- this.$success(this.$t('commons.save_success'))
+ this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)
diff --git a/frontend/src/views/panel/GrantAuth/index.vue b/frontend/src/views/panel/GrantAuth/index.vue
index 6cb0b32129..652f15e7ec 100644
--- a/frontend/src/views/panel/GrantAuth/index.vue
+++ b/frontend/src/views/panel/GrantAuth/index.vue
@@ -58,7 +58,7 @@ export default {
this.showSearchInput = false
},
save() {
- this.$refs[this.activeName].save()
+ this.$refs[this.activeName].save(this.$t('commons.share_success'))
this.$emit('close-grant', 0)
},
cancel() {
diff --git a/frontend/src/views/panel/GrantAuth/role/index.vue b/frontend/src/views/panel/GrantAuth/role/index.vue
index 3167339bda..5bc0429948 100644
--- a/frontend/src/views/panel/GrantAuth/role/index.vue
+++ b/frontend/src/views/panel/GrantAuth/role/index.vue
@@ -78,11 +78,11 @@ export default {
this.setCheckNodes()
})
},
- save() {
+ save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
saveShare(request).then(res => {
- this.$success(this.$t('commons.save_success'))
+ this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)
diff --git a/frontend/src/views/panel/GrantAuth/user/index.vue b/frontend/src/views/panel/GrantAuth/user/index.vue
index 7ee56ffa87..1329b36988 100644
--- a/frontend/src/views/panel/GrantAuth/user/index.vue
+++ b/frontend/src/views/panel/GrantAuth/user/index.vue
@@ -86,11 +86,11 @@ export default {
})
},
- save() {
+ save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
- saveShare(request).then(res => {
- this.$success(this.$t('commons.save_success'))
+ saveShare(request).then(response => {
+ this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)
diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue
index f628a2793c..6b61ff9d27 100644
--- a/frontend/src/views/panel/list/PanelList.vue
+++ b/frontend/src/views/panel/list/PanelList.vue
@@ -85,10 +85,12 @@
- {{ $t('panel.groupAdd') }}
+
+ {{ $t('panel.groupAdd') }}
- {{ $t('panel.panelAdd') }}
+
+ {{ $t('panel.panelAdd') }}
diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue
index 185287882e..46bf670826 100644
--- a/frontend/src/views/panel/list/PanelMain.vue
+++ b/frontend/src/views/panel/list/PanelMain.vue
@@ -1,7 +1,7 @@
-
+